summaryrefslogtreecommitdiff
path: root/subprojects/gstreamer-sharp
diff options
context:
space:
mode:
authorThibault Saunier <tsaunier@igalia.com>2021-09-24 16:16:29 -0300
committerThibault Saunier <tsaunier@igalia.com>2021-09-24 16:16:29 -0300
commit9f659233ea9e59bd93c2497a241025e8073ac894 (patch)
treeb7de900f0319d454a0de1bc90e15feba58bbe6ca /subprojects/gstreamer-sharp
parentd274c90e92716841ea5f820516cf410a48eee4dc (diff)
Move files from gstreamer-sharp into the "subprojects/gstreamer-sharp/" subdir
Diffstat (limited to 'subprojects/gstreamer-sharp')
-rw-r--r--subprojects/gstreamer-sharp/.gitignore308
-rw-r--r--subprojects/gstreamer-sharp/.gitlab-ci.yml1
-rw-r--r--subprojects/gstreamer-sharp/AUTHORS0
-rw-r--r--subprojects/gstreamer-sharp/COPYING502
-rw-r--r--subprojects/gstreamer-sharp/ChangeLog0
-rw-r--r--subprojects/gstreamer-sharp/README.md90
-rw-r--r--subprojects/gstreamer-sharp/Tests/SdpTests.cs44
-rw-r--r--subprojects/gstreamer-sharp/Tests/TestBase.cs53
-rw-r--r--subprojects/gstreamer-sharp/Tests/meson.build53
-rwxr-xr-xsubprojects/gstreamer-sharp/Tests/test_abi.py28
-rw-r--r--subprojects/gstreamer-sharp/gacutil_install.py15
-rw-r--r--subprojects/gstreamer-sharp/generate_code.py99
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/Asset.cs1032
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/AssetAddedHandler.cs18
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/AssetLoadingHandler.cs18
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/AssetLoadingReturn.cs17
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/AssetRemovedHandler.cs18
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/AudioSource.cs103
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/AudioTestSource.cs129
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/AudioTrack.cs102
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/AudioTransition.cs102
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/AudioUriSource.cs113
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/BaseEffect.cs117
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/BaseEffectClip.cs95
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/BaseEffectTimeTranslationFunc.cs10
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/BaseTransitionClip.cs95
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/BaseXmlFormatter.cs126
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/ChildAddedHandler.cs18
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/ChildPropertyAddedHandler.cs24
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/ChildPropertyRemovedHandler.cs24
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/ChildRemovedHandler.cs18
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/ChildrenControlMode.cs19
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/Clip.cs368
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/ClipAddedHandler.cs18
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/ClipAsset.cs197
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/ClipRemovedHandler.cs18
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/CommandLineFormatter.cs89
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/Constants.cs35
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/Container.cs679
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/ControlBindingAddedHandler.cs18
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/ControlBindingRemovedHandler.cs18
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/CreateElementForGapFunc.cs10
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/CreateTrackElementFunc.cs10
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/CreateTrackElementsFunc.cs10
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/DeepNotifyHandler.cs24
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/Edge.cs32
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/EditMode.cs36
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/Effect.cs139
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/EffectAsset.cs39
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/EffectClip.cs132
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/Error.cs23
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/ExtractableAdapter.cs191
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/ExtractableCheckId.cs10
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/FillTrackElementFunc.cs10
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/Formatter.cs308
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/FormatterCanLoadURIMethod.cs10
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/FormatterLoadFromURIMethod.cs10
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/FormatterSaveToURIMethod.cs10
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/GESSharp.BaseEffectTimeTranslationFuncNative.cs96
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/GESSharp.CreateElementForGapFuncNative.cs96
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/GESSharp.CreateTrackElementFuncNative.cs96
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/GESSharp.CreateTrackElementsFuncNative.cs96
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/GESSharp.ExtractableCheckIdNative.cs101
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/GESSharp.FillTrackElementFuncNative.cs95
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/GESSharp.FormatterCanLoadURIMethodNative.cs100
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/GESSharp.FormatterLoadFromURIMethodNative.cs100
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/GESSharp.FormatterSaveToURIMethodNative.cs100
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/GESSharp.MetaForeachFuncNative.cs96
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/Global.cs153
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/Group.cs177
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/GroupAddedHandler.cs18
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/IExtractable.cs27
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/IMetaContainer.cs56
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/ImageSource.cs114
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/Layer.cs1091
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/LayerAddedHandler.cs18
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/LayerRemovedHandler.cs18
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/LoadedHandler.cs18
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/LoadingHandler.cs18
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/Marker.cs562
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/MarkerAddedHandler.cs24
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/MarkerList.cs312
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/MarkerMovedHandler.cs30
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/MarkerRemovedHandler.cs18
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/MetaContainerAdapter.cs537
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/MetaFlag.cs30
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/MetaForeachFunc.cs10
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/MultiFileSource.cs127
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/NotifyMetaHandler.cs24
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/Operation.cs95
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/OperationClip.cs95
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/OverlayClip.cs95
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/Pipeline.cs334
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/PipelineFlags.cs32
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/PitiviFormatter.cs102
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/Project.cs625
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/SelectElementTrackHandler.cs24
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/SnappingEndedHandler.cs30
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/SnappingStartedHandler.cs30
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/Source.cs95
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/SourceClip.cs102
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/SourceClipAsset.cs69
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/TestClip.cs213
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/TextHAlign.cs31
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/TextOverlay.cs225
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/TextOverlayClip.cs248
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/TextVAlign.cs32
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/Timeline.cs1539
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/TimelineElement.cs2629
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/TitleClip.cs278
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/TitleSource.cs237
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/Track.cs970
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/TrackAddedHandler.cs18
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/TrackElement.cs755
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/TrackElementAddedHandler.cs18
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/TrackElementAsset.cs188
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/TrackElementRemovedHandler.cs18
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/TrackRemovedHandler.cs18
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/TrackType.cs32
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/Transition.cs95
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/TransitionClip.cs161
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/UriClip.cs178
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/UriClipAsset.cs238
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/UriSource.cs34
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/UriSourceAsset.cs139
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/VideoSource.cs143
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/VideoStandardTransitionType.cs98
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/VideoTestPattern.cs44
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/VideoTestSource.cs112
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/VideoTrack.cs102
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/VideoTransition.cs184
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/VideoUriSource.cs113
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GES/XmlFormatter.cs95
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GLib/GLibSharp.AsyncReadyCallbackNative.cs92
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/GtkSharp/ObjectManager.cs71
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/gst-editing-services-abi.c261
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/gst-editing-services-abi.cs277
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/gst-editing-services-api.xml4419
-rw-r--r--subprojects/gstreamer-sharp/ges/generated/meson.build150
-rw-r--r--subprojects/gstreamer-sharp/ges/gst-editing-services-api.raw4435
-rw-r--r--subprojects/gstreamer-sharp/ges/gst-editing-services-sharp.dll.config6
-rw-r--r--subprojects/gstreamer-sharp/ges/gst-editing-services.metadata66
-rw-r--r--subprojects/gstreamer-sharp/ges/meson.build32
-rw-r--r--subprojects/gstreamer-sharp/girs/GES-1.0.gir22193
-rw-r--r--subprojects/gstreamer-sharp/girs/Gst-1.0.gir79314
-rw-r--r--subprojects/gstreamer-sharp/girs/GstApp-1.0.gir2538
-rw-r--r--subprojects/gstreamer-sharp/girs/GstAudio-1.0.gir15495
-rw-r--r--subprojects/gstreamer-sharp/girs/GstBase-1.0.gir18611
-rw-r--r--subprojects/gstreamer-sharp/girs/GstController-1.0.gir1604
-rw-r--r--subprojects/gstreamer-sharp/girs/GstNet-1.0.gir1290
-rw-r--r--subprojects/gstreamer-sharp/girs/GstPbutils-1.0.gir6836
-rw-r--r--subprojects/gstreamer-sharp/girs/GstRtp-1.0.gir8509
-rw-r--r--subprojects/gstreamer-sharp/girs/GstRtsp-1.0.gir7642
-rw-r--r--subprojects/gstreamer-sharp/girs/GstSdp-1.0.gir6619
-rw-r--r--subprojects/gstreamer-sharp/girs/GstTag-1.0.gir2639
-rw-r--r--subprojects/gstreamer-sharp/girs/GstVideo-1.0.gir25578
-rw-r--r--subprojects/gstreamer-sharp/girs/GstWebRTC-1.0.gir1742
-rw-r--r--subprojects/gstreamer-sharp/gstreamer-sharp-1.0.pc.in11
-rw-r--r--subprojects/gstreamer-sharp/gstreamer-sharp.csproj48
-rw-r--r--subprojects/gstreamer-sharp/gstreamer-sharp.sln20
-rw-r--r--subprojects/gstreamer-sharp/gstreamer-sharp.snkbin0 -> 596 bytes
-rw-r--r--subprojects/gstreamer-sharp/meson.build185
-rw-r--r--subprojects/gstreamer-sharp/meson_options.txt1
-rw-r--r--subprojects/gstreamer-sharp/nuget.py195
-rw-r--r--subprojects/gstreamer-sharp/samples/BasicTutorial1.cs30
-rw-r--r--subprojects/gstreamer-sharp/samples/BasicTutorial12.cs91
-rw-r--r--subprojects/gstreamer-sharp/samples/BasicTutorial13.cs121
-rw-r--r--subprojects/gstreamer-sharp/samples/BasicTutorial2.cs72
-rw-r--r--subprojects/gstreamer-sharp/samples/BasicTutorial3.cs125
-rw-r--r--subprojects/gstreamer-sharp/samples/BasicTutorial4.cs136
-rw-r--r--subprojects/gstreamer-sharp/samples/BasicTutorial5.cs367
-rw-r--r--subprojects/gstreamer-sharp/samples/BasicTutorial6.cs196
-rw-r--r--subprojects/gstreamer-sharp/samples/BasicTutorial7.cs80
-rw-r--r--subprojects/gstreamer-sharp/samples/BasicTutorial8.cs229
-rw-r--r--subprojects/gstreamer-sharp/samples/BasicTutorial9.cs180
-rw-r--r--subprojects/gstreamer-sharp/samples/ExampleVolume.cs115
-rw-r--r--subprojects/gstreamer-sharp/samples/GESExample.cs70
-rw-r--r--subprojects/gstreamer-sharp/samples/Playback.cs96
-rw-r--r--subprojects/gstreamer-sharp/samples/PlaybackTutorial1.cs186
-rw-r--r--subprojects/gstreamer-sharp/samples/PlaybackTutorial2.cs185
-rw-r--r--subprojects/gstreamer-sharp/samples/PlaybackTutorial3.cs153
-rw-r--r--subprojects/gstreamer-sharp/samples/PlaybackTutorial4.cs147
-rw-r--r--subprojects/gstreamer-sharp/samples/PlaybackTutorial5.cs126
-rw-r--r--subprojects/gstreamer-sharp/samples/PlaybackTutorial6.cs91
-rw-r--r--subprojects/gstreamer-sharp/samples/PlaybackTutorial7.cs61
-rw-r--r--subprojects/gstreamer-sharp/samples/VideoOverlay.cs274
-rw-r--r--subprojects/gstreamer-sharp/samples/meson.build42
-rw-r--r--subprojects/gstreamer-sharp/sources/AssemblyInfo.cs.in27
-rw-r--r--subprojects/gstreamer-sharp/sources/Gst-1.0-merged.metadata5
-rw-r--r--subprojects/gstreamer-sharp/sources/custom/Adapter.cs52
-rw-r--r--subprojects/gstreamer-sharp/sources/custom/AppSink.cs35
-rw-r--r--subprojects/gstreamer-sharp/sources/custom/AppSrc.cs35
-rw-r--r--subprojects/gstreamer-sharp/sources/custom/Application.cs100
-rw-r--r--subprojects/gstreamer-sharp/sources/custom/AudioFilter.cs37
-rw-r--r--subprojects/gstreamer-sharp/sources/custom/Bin.cs38
-rw-r--r--subprojects/gstreamer-sharp/sources/custom/Buffer.cs60
-rw-r--r--subprojects/gstreamer-sharp/sources/custom/Bus.cs31
-rw-r--r--subprojects/gstreamer-sharp/sources/custom/Caps.cs75
-rw-r--r--subprojects/gstreamer-sharp/sources/custom/DeviceProvider.cs87
-rw-r--r--subprojects/gstreamer-sharp/sources/custom/DynamicSignal.cs462
-rw-r--r--subprojects/gstreamer-sharp/sources/custom/Element.cs109
-rw-r--r--subprojects/gstreamer-sharp/sources/custom/FFTF32.cs48
-rw-r--r--subprojects/gstreamer-sharp/sources/custom/Global.cs40
-rw-r--r--subprojects/gstreamer-sharp/sources/custom/Iterator.cs115
-rw-r--r--subprojects/gstreamer-sharp/sources/custom/MapInfo.cs47
-rw-r--r--subprojects/gstreamer-sharp/sources/custom/Message.cs66
-rw-r--r--subprojects/gstreamer-sharp/sources/custom/MiniObject.cs58
-rw-r--r--subprojects/gstreamer-sharp/sources/custom/NavigationAdapter.cs49
-rw-r--r--subprojects/gstreamer-sharp/sources/custom/Object.cs118
-rw-r--r--subprojects/gstreamer-sharp/sources/custom/Pad.cs42
-rw-r--r--subprojects/gstreamer-sharp/sources/custom/Pipeline.cs28
-rw-r--r--subprojects/gstreamer-sharp/sources/custom/TagList.cs68
-rw-r--r--subprojects/gstreamer-sharp/sources/custom/Value.cs652
-rw-r--r--subprojects/gstreamer-sharp/sources/custom/Version.cs84
-rw-r--r--subprojects/gstreamer-sharp/sources/custom/VideoGLUploadMeta.cs29
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.App/AppSink.cs701
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.App/AppSinkCallbacks.cs49
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.App/AppSrc.cs929
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.App/AppSrcCallbacks.cs49
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.App/AppStreamType.cs29
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.App/Constants.cs16
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.App/EndOfStreamEventHandler.cs12
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.App/Global.cs16
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.App/NeedDataHandler.cs18
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.App/NewPrerollHandler.cs12
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.App/NewSampleHandler.cs12
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.App/PushBufferEventHandler.cs18
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.App/PushBufferListEventHandler.cs18
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.App/PushSampleEventHandler.cs18
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.App/SeekDataHandler.cs18
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.App/TryPullPrerollEventHandler.cs18
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.App/TryPullSampleEventHandler.cs18
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioBaseSink.cs527
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioBaseSinkCustomSlavingCallback.cs10
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioBaseSinkDiscontReason.cs32
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioBaseSinkSlaveMethod.cs30
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioBaseSrc.cs362
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioBaseSrcSlaveMethod.cs30
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioBuffer.cs145
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioCdSrc.cs414
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioCdSrcMode.cs28
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioCdSrcTrack.cs61
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioChannelMixer.cs70
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioChannelMixerFlags.cs32
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioChannelPosition.cs57
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioClippingMeta.cs59
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioClock.cs215
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioClockGetTimeFunc.cs10
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioConverter.cs207
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioConverterFlags.cs30
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioDecoder.cs1689
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioDitherMethod.cs30
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioDownmixMeta.cs61
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioEncoder.cs1727
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioFilter.cs177
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioFlags.cs29
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioFormat.cs72
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioFormatFlags.cs32
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioFormatInfo.cs68
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioFormatPack.cs10
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioFormatUnpack.cs10
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioInfo.cs331
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioLayout.cs28
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioMeta.cs74
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioNoiseShapingMethod.cs31
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioPackFlags.cs29
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioQuantize.cs66
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioQuantizeFlags.cs29
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioResampler.cs120
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioResamplerFilterInterpolation.cs29
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioResamplerFilterMode.cs29
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioResamplerFlags.cs31
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioResamplerMethod.cs31
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioRingBuffer.cs1537
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioRingBufferCallback.cs10
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioRingBufferFormatType.cs41
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioRingBufferSpec.cs268
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioRingBufferState.cs30
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioSink.cs735
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioSinkClassExtension.cs45
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioSrc.cs552
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioStreamAlign.cs207
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Audio/Constants.cs49
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Audio/Global.cs385
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Audio/Gst.AudioSharp.AudioBaseSinkCustomSlavingCallbackNative.cs92
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Audio/Gst.AudioSharp.AudioClockGetTimeFuncNative.cs96
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Audio/Gst.AudioSharp.AudioFormatPackNative.cs94
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Audio/Gst.AudioSharp.AudioFormatUnpackNative.cs94
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Audio/Gst.AudioSharp.AudioRingBufferCallbackNative.cs92
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Audio/IStreamVolume.cs27
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Audio/StreamVolumeAdapter.cs148
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Audio/StreamVolumeFormat.cs17
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Base/Adapter.cs303
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Base/Aggregator.cs1830
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Base/AggregatorPad.cs376
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Base/AggregatorStartTimeSelection.cs29
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Base/BaseParse.cs1139
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Base/BaseParseFrame.cs116
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Base/BaseParseFrameFlags.cs21
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Base/BaseSink.cs1990
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Base/BaseSrc.cs1947
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Base/BaseSrcFlags.cs18
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Base/BaseTransform.cs1844
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Base/BitReader.cs251
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Base/BitWriter.cs225
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Base/BufferConsumedHandler.cs18
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Base/ByteReader.cs110
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Base/ByteWriter.cs551
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Base/CollectData.cs75
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Base/CollectDataDestroyNotify.cs10
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Base/CollectPads.cs364
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Base/CollectPadsBufferFunction.cs10
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Base/CollectPadsClipFunction.cs10
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Base/CollectPadsCompareFunction.cs10
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Base/CollectPadsEventFunction.cs10
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Base/CollectPadsFlushFunction.cs10
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Base/CollectPadsFunction.cs10
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Base/CollectPadsQueryFunction.cs10
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Base/CollectPadsStateFlags.cs20
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Base/Constants.cs20
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Base/DataQueue.cs267
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Base/DataQueueCheckFullFunction.cs10
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Base/DataQueueEmptyCallback.cs10
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Base/DataQueueFullCallback.cs10
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Base/DataQueueItem.cs59
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Base/DataQueueSize.cs47
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Base/FlowCombiner.cs172
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Base/Global.cs142
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Base/Gst.BaseSharp.CollectDataDestroyNotifyNative.cs94
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Base/Gst.BaseSharp.CollectPadsBufferFunctionNative.cs99
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Base/Gst.BaseSharp.CollectPadsClipFunctionNative.cs105
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Base/Gst.BaseSharp.CollectPadsCompareFunctionNative.cs100
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Base/Gst.BaseSharp.CollectPadsEventFunctionNative.cs97
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Base/Gst.BaseSharp.CollectPadsFlushFunctionNative.cs92
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Base/Gst.BaseSharp.CollectPadsFunctionNative.cs96
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Base/Gst.BaseSharp.CollectPadsQueryFunctionNative.cs97
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Base/Gst.BaseSharp.DataQueueCheckFullFunctionNative.cs95
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Base/Gst.BaseSharp.DataQueueEmptyCallbackNative.cs92
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Base/Gst.BaseSharp.DataQueueFullCallbackNative.cs92
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Base/Gst.BaseSharp.TypeFindHelperGetRangeFunctionNative.cs102
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Base/PushSrc.cs285
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Base/QueueArray.cs45
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Base/SamplesSelectedHandler.cs42
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Base/TypeFindHelperGetRangeFunction.cs10
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Controller/ARGBControlBinding.cs224
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Controller/Constants.cs16
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Controller/ControlPoint.cs66
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Controller/DirectControlBinding.cs238
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Controller/DirectControlBindingConvertGValue.cs10
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Controller/DirectControlBindingConvertValue.cs10
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Controller/Global.cs23
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Controller/Gst.ControllerSharp.DirectControlBindingConvertGValueNative.cs94
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Controller/Gst.ControllerSharp.DirectControlBindingConvertValueNative.cs92
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Controller/InterpolationControlSource.cs117
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Controller/InterpolationMode.cs30
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Controller/LFOControlSource.cs185
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Controller/LFOWaveform.cs31
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Controller/ProxyControlBinding.cs120
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Controller/TimedValueControlSource.cs407
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Controller/TriggerControlSource.cs117
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Controller/ValueAddedHandler.cs18
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Controller/ValueChangedHandler.cs18
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Controller/ValueRemovedHandler.cs18
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.FFT/Constants.cs16
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.FFT/FFTF32.cs74
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.FFT/FFTF32Complex.cs46
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.FFT/FFTF64.cs90
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.FFT/FFTF64Complex.cs46
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.FFT/FFTS16.cs90
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.FFT/FFTS16Complex.cs46
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.FFT/FFTS32.cs90
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.FFT/FFTS32Complex.cs46
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.FFT/FFTWindow.cs19
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.FFT/Global.cs25
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Net/Constants.cs22
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Net/Global.cs174
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Net/Gst.NetSharp.PtpStatisticsCallbackNative.cs95
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Net/NetAddressMeta.cs65
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Net/NetClientClock.cs222
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Net/NetControlMessageMeta.cs65
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Net/NetTimePacket.cs121
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Net/NetTimeProvider.cs185
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Net/PtpClock.cs150
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Net/PtpStatisticsCallback.cs10
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/AudioVisualizer.cs367
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/AudioVisualizerShader.cs36
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/AudioVisualizerShaderFunc.cs10
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/Constants.cs25
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/DiscoveredHandler.cs24
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/Discoverer.cs458
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/DiscovererAudioInfo.cs116
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/DiscovererContainerInfo.cs50
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/DiscovererInfo.cs241
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/DiscovererResult.cs32
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/DiscovererSerializeFlags.cs32
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/DiscovererStreamInfo.cs135
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/DiscovererSubtitleInfo.cs50
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/DiscovererVideoInfo.cs160
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/EncodingAudioProfile.cs80
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/EncodingContainerProfile.cs113
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/EncodingProfile.cs345
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/EncodingTarget.cs185
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/EncodingVideoProfile.cs114
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/Global.cs508
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/Gst.PbUtilsSharp.AudioVisualizerShaderFuncNative.cs96
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/Gst.PbUtilsSharp.InstallPluginsResultFuncNative.cs92
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/InstallPluginsContext.cs134
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/InstallPluginsResultFunc.cs10
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/InstallPluginsReturn.cs37
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/SourceSetupHandler.cs18
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Rtp/Constants.cs66
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Rtp/Global.cs335
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Rtp/RTCPBuffer.cs191
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Rtp/RTCPFBType.cs40
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Rtp/RTCPPacket.cs970
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Rtp/RTCPSDESType.cs36
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Rtp/RTCPType.cs35
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Rtp/RTCPXRType.cs34
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Rtp/RTPBaseAudioPayload.cs274
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Rtp/RTPBaseDepayload.cs611
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Rtp/RTPBasePayload.cs1064
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Rtp/RTPBuffer.cs585
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Rtp/RTPBufferFlags.cs30
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Rtp/RTPBufferMapFlags.cs29
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Rtp/RTPPayload.cs52
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Rtp/RTPPayloadInfo.cs74
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Rtp/RTPProfile.cs31
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Rtp/RTPSourceMeta.cs111
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/Constants.cs17
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/Global.cs389
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/Gst.RtspSharp.RTSPConnectionAcceptCertificateFuncNative.cs95
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/IRTSPExtension.cs38
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPAuthCredential.cs71
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPAuthMethod.cs29
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPAuthParam.cs66
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPConnection.cs558
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPConnectionAcceptCertificateFunc.cs10
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPEvent.cs29
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPExtensionAdapter.cs413
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPFamily.cs29
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPHeaderField.cs116
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPLowerTrans.cs33
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPMessage.cs461
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPMethod.cs41
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPMsgType.cs32
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPProfile.cs32
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPRange.cs102
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPRangeUnit.cs31
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPResult.cs44
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPState.cs32
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPStatusCode.cs72
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPTime.cs46
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPTime2.cs48
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPTimeRange.cs49
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPTimeType.cs31
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPTransMode.cs30
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPTransport.cs167
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPUrl.cs160
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPVersion.cs30
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPWatch.cs140
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPWatchFuncs.cs55
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/SendEventHandler.cs24
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/Constants.cs23
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/Global.cs122
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/MIKEYCacheType.cs17
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/MIKEYDecryptInfo.cs34
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/MIKEYEncAlg.cs18
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/MIKEYEncryptInfo.cs34
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/MIKEYKVType.cs17
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/MIKEYKeyDataType.cs16
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/MIKEYMacAlg.cs16
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/MIKEYMapSRTP.cs47
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/MIKEYMapType.cs15
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/MIKEYMessage.cs484
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/MIKEYPRFFunc.cs15
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/MIKEYPayload.cs271
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/MIKEYPayloadKEMAC.cs60
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/MIKEYPayloadKeyData.cs63
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/MIKEYPayloadPKE.cs56
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/MIKEYPayloadRAND.cs55
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/MIKEYPayloadSP.cs60
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/MIKEYPayloadSPParam.cs47
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/MIKEYPayloadT.cs55
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/MIKEYPayloadType.cs29
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/MIKEYSecProto.cs15
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/MIKEYSecSRTP.cs28
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/MIKEYTSType.cs17
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/MIKEYType.cs22
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/SDPAttribute.cs85
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/SDPBandwidth.cs79
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/SDPConnection.cs86
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/SDPKey.cs46
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/SDPMedia.cs658
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/SDPMessage.cs947
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/SDPOrigin.cs50
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/SDPResult.cs16
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/SDPTime.cs91
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/SDPZone.cs81
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Tags/Constants.cs55
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Tags/Global.cs27
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Tags/ITagXmpWriter.cs24
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Tags/TagDemux.cs323
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Tags/TagDemuxResult.cs29
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Tags/TagImageType.cs46
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Tags/TagLicenseFlags.cs41
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Tags/TagMux.cs280
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Tags/TagXmpWriterAdapter.cs157
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/ColorBalanceAdapter.cs242
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/ColorBalanceChannel.cs223
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/ColorBalanceType.cs28
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/Constants.cs89
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/Global.cs1145
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/Gst.VideoSharp.VideoAffineTransformationGetMatrixNative.cs97
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/Gst.VideoSharp.VideoConvertSampleCallbackNative.cs92
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/Gst.VideoSharp.VideoFormatPackNative.cs94
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/Gst.VideoSharp.VideoFormatUnpackNative.cs94
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/Gst.VideoSharp.VideoGLTextureUploadNative.cs97
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/IColorBalance.cs30
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/INavigation.cs24
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/IVideoDirection.cs25
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/IVideoOrientation.cs34
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/IVideoOverlay.cs30
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/NavigationAdapter.cs373
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/NavigationCommand.cs41
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/NavigationEventType.cs34
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/NavigationMessageType.cs31
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/NavigationQueryType.cs29
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/ValueChangedEventHandler.cs24
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/ValueChangedHandler.cs18
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoAFDMeta.cs59
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoAFDSpec.cs29
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoAFDValue.cs37
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoAffineTransformationGetMatrix.cs10
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoAffineTransformationMeta.cs75
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoAggregator.cs371
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoAggregatorConvertPad.cs178
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoAggregatorPad.cs391
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoAlignment.cs66
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoAlphaMode.cs29
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoAncillary.cs51
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoAncillaryDID.cs38
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoAncillaryDID16.cs29
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoBarMeta.cs60
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoBufferFlags.cs37
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoBufferPool.cs85
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoCaptionMeta.cs68
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoCaptionType.cs31
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoChromaFlags.cs29
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoChromaMethod.cs28
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoChromaMode.cs30
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoChromaResample.cs55
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoChromaSite.cs36
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoCodecFrame.cs135
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoCodecFrameFlags.cs20
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoCodecState.cs132
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoColorMatrix.cs33
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoColorPrimaries.cs39
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoColorPrimariesInfo.cs53
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoColorRange.cs29
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoColorimetry.cs111
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoContentLightLevel.cs118
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoConvertSampleCallback.cs10
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoConverter.cs80
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoCropMeta.cs60
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoDecoder.cs1891
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoDecoderRequestSyncPointFlags.cs17
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoDirectionAdapter.cs120
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoDither.cs59
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoDitherFlags.cs30
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoDitherMethod.cs31
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoEncoder.cs1774
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoFieldOrder.cs29
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoFilter.cs349
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoFlags.cs30
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoFormat.cs125
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoFormatFlags.cs36
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoFormatInfo.cs102
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoFormatPack.cs10
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoFormatUnpack.cs10
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoFrame.cs143
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoFrameFlags.cs36
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoFrameMapFlags.cs29
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoGLTextureOrientation.cs18
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoGLTextureType.cs21
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoGLTextureUpload.cs10
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoGLTextureUploadMeta.cs76
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoGammaMode.cs28
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoInfo.cs645
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoInterlaceMode.cs31
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoMasteringDisplayInfo.cs135
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoMasteringDisplayInfoCoordinates.cs46
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoMatrixMode.cs30
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoMeta.cs156
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoMetaTransform.cs71
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoMultiviewFlags.cs35
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoMultiviewFlagsSet.cs44
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoMultiviewFramePacking.cs36
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoMultiviewMode.cs39
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoOrientationAdapter.cs342
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoOrientationMethod.cs36
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoOverlayAdapter.cs231
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoOverlayComposition.cs117
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoOverlayCompositionMeta.cs65
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoOverlayFormatFlags.cs30
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoOverlayProperties.cs34
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoOverlayRectangle.cs170
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoPackFlags.cs30
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoPrimariesMode.cs29
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoRectangle.cs48
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoRegionOfInterestMeta.cs96
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoResampler.cs83
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoResamplerFlags.cs29
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoResamplerMethod.cs31
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoScaler.cs101
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoScalerFlags.cs29
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoSink.cs237
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoTileMode.cs29
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoTileType.cs27
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoTimeCode.cs291
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoTimeCodeConfig.cs48
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoTimeCodeFlags.cs30
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoTimeCodeInterval.cs115
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoTimeCodeMeta.cs57
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoTransferFunction.cs43
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoVBIEncoder.cs102
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoVBIParser.cs105
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoVBIParserResult.cs29
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/Constants.cs16
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/Global.cs25
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/OnErrorEventHandler.cs18
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/OnErrorHandler.cs18
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/OnMessageDataEventHandler.cs18
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/OnMessageDataHandler.cs18
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/OnMessageStringEventHandler.cs18
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/OnMessageStringHandler.cs18
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/OnNewCandidateHandler.cs18
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/SendDataEventHandler.cs18
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/SendStringEventHandler.cs18
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/WebRTCBundlePolicy.cs30
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/WebRTCDTLSSetup.cs30
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/WebRTCDTLSTransport.cs139
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/WebRTCDTLSTransportState.cs31
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/WebRTCDataChannel.cs697
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/WebRTCDataChannelState.cs31
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/WebRTCFECType.cs28
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/WebRTCICEComponent.cs28
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/WebRTCICEConnectionState.cs33
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/WebRTCICEGatheringState.cs29
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/WebRTCICERole.cs28
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/WebRTCICETransport.cs219
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/WebRTCICETransportPolicy.cs28
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/WebRTCKind.cs29
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/WebRTCPeerConnectionState.cs32
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/WebRTCPriorityType.cs30
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/WebRTCRTPReceiver.cs79
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/WebRTCRTPSender.cs95
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/WebRTCRTPTransceiver.cs159
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/WebRTCRTPTransceiverDirection.cs31
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/WebRTCSCTPTransportState.cs30
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/WebRTCSDPType.cs30
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/WebRTCSessionDescription.cs84
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/WebRTCSignalingState.cs32
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/WebRTCStatsType.cs40
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/AllocationParams.cs110
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/Allocator.cs417
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/AllocatorFlags.cs29
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/Application.cs30
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/AtomicQueue.cs115
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/Bin.cs1245
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/BinFlags.cs30
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/Bitmask.cs45
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/Buffer.cs750
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/BufferCopyFlags.cs34
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/BufferFlags.cs41
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/BufferForeachMetaFunc.cs10
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/BufferList.cs159
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/BufferListFunc.cs10
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/BufferPool.cs1026
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/BufferPoolAcquireFlags.cs32
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/BufferPoolAcquireParams.cs50
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/BufferingMode.cs30
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/Bus.cs441
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/BusFlags.cs29
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/BusFunc.cs10
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/BusSyncHandler.cs10
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/BusSyncReply.cs29
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/Caps.cs485
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/CapsFeatures.cs271
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/CapsFilterMapFunc.cs10
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/CapsFlags.cs28
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/CapsForeachFunc.cs10
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/CapsIntersectMode.cs28
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/CapsMapFunc.cs10
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/ChildAddedEventHandler.cs24
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/ChildProxyAdapter.cs256
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/ChildRemovedEventHandler.cs24
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/Clock.cs878
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/ClockCallback.cs10
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/ClockEntry.cs321
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/ClockEntryType.cs28
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/ClockFlags.cs35
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/ClockReturn.cs34
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/ClockType.cs30
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/Constants.cs178
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/Context.cs153
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/ControlBinding.cs386
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/ControlBindingConvert.cs10
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/ControlSource.cs136
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/ControlSourceGetValue.cs10
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/ControlSourceGetValueArray.cs10
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/CoreError.cs41
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/CustomMeta.cs80
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/CustomMetaTransformFunction.cs10
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/DateTime.cs344
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/Debug.cs292
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/DebugCategory.cs76
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/DebugColorFlags.cs45
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/DebugColorMode.cs29
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/DebugFuncPtr.cs10
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/DebugGraphDetails.cs34
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/DebugLevel.cs36
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/DebugMessage.cs43
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/DeepElementAddedHandler.cs24
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/DeepElementRemovedHandler.cs24
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/DeepNotifyHandler.cs24
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/Device.cs384
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/DeviceMonitor.cs202
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/DeviceProvider.cs516
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/DeviceProviderFactory.cs174
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/DoLatencyHandler.cs12
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/DynamicTypeFactory.cs75
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/Element.cs2317
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/ElementAddedHandler.cs18
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/ElementCallAsyncFunc.cs10
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/ElementFactory.cs247
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/ElementFlags.cs34
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/ElementForeachPadFunc.cs10
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/ElementRemovedHandler.cs18
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/Event.cs791
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/EventType.cs58
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/EventTypeFlags.cs32
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/FeatureAddedHandler.cs18
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/FlagSet.cs54
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/FlowReturn.cs39
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/Format.cs32
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/FormatDefinition.cs48
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/GapFlags.cs28
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/GhostPad.cs209
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/Global.cs551
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.BufferForeachMetaFuncNative.cs103
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.BufferListFuncNative.cs102
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.BusFuncNative.cs95
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.BusSyncHandlerNative.cs96
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.CapsFilterMapFuncNative.cs97
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.CapsForeachFuncNative.cs97
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.CapsMapFuncNative.cs97
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.ClockCallbackNative.cs95
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.ControlBindingConvertNative.cs94
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.ControlSourceGetValueArrayNative.cs95
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.ControlSourceGetValueNative.cs95
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.CustomMetaTransformFunctionNative.cs97
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.DebugFuncPtrNative.cs92
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.ElementCallAsyncFuncNative.cs92
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.ElementForeachPadFuncNative.cs95
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.IteratorCopyFunctionNative.cs92
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.IteratorFoldFunctionNative.cs99
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.IteratorForeachFunctionNative.cs94
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.IteratorFreeFunctionNative.cs92
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.IteratorItemFunctionNative.cs98
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.IteratorNextFunctionNative.cs98
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.IteratorResyncFunctionNative.cs92
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.LogFunctionNative.cs98
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.MemoryCopyFunctionNative.cs96
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.MemoryIsSpanFunctionNative.cs95
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.MemoryMapFullFunctionNative.cs98
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.MemoryMapFunctionNative.cs96
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.MemoryShareFunctionNative.cs96
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.MemoryUnmapFullFunctionNative.cs94
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.MemoryUnmapFunctionNative.cs92
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.MetaFreeFunctionNative.cs94
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.MetaInitFunctionNative.cs97
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.MetaTransformFunctionNative.cs97
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.MiniObjectCopyFunctionNative.cs96
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.MiniObjectDisposeFunctionNative.cs95
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.MiniObjectFreeFunctionNative.cs92
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.MiniObjectNotifyNative.cs92
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.PadActivateFunctionNative.cs95
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.PadActivateModeFunctionNative.cs95
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.PadChainFunctionNative.cs97
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.PadChainListFunctionNative.cs97
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.PadEventFullFunctionNative.cs97
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.PadEventFunctionNative.cs96
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.PadForwardFunctionNative.cs95
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.PadGetRangeFunctionNative.cs96
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.PadIterIntLinkFunctionNative.cs96
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.PadLinkFunctionNative.cs96
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.PadProbeCallbackNative.cs98
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.PadQueryFunctionNative.cs95
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.PadStickyEventsForeachFunctionNative.cs95
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.PadUnlinkFunctionNative.cs92
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.PluginFeatureFilterNative.cs95
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.PluginFilterNative.cs95
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.PluginInitFullFuncNative.cs95
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.PluginInitFuncNative.cs95
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.PromiseChangeFuncNative.cs92
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.StructureFilterMapFuncNative.cs97
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.StructureForeachFuncNative.cs97
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.StructureMapFuncNative.cs97
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.TagForeachFuncNative.cs94
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.TagMergeFuncNative.cs96
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.TaskFunctionNative.cs92
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.TaskPoolFunctionNative.cs92
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.TaskThreadFuncNative.cs94
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.TypeFindFunctionNative.cs92
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.ValueCompareFuncNative.cs100
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.ValueDeserializeFuncNative.cs99
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.ValueDeserializeWithPSpecFuncNative.cs99
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.ValueSerializeFuncNative.cs98
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/IChildProxy.cs31
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/IPreset.cs41
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/ITagSetter.cs27
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/ITocSetter.cs22
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/IURIHandler.cs27
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/Int64Range.cs45
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/Iterator.cs406
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/IteratorCopyFunction.cs10
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/IteratorFoldFunction.cs10
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/IteratorForeachFunction.cs10
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/IteratorFreeFunction.cs10
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/IteratorItem.cs29
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/IteratorItemFunction.cs10
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/IteratorNextFunction.cs10
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/IteratorResult.cs30
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/IteratorResyncFunction.cs10
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/LibraryError.cs33
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/LinkedHandler.cs18
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/LockFlags.cs31
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/LogFunction.cs10
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/MapFlags.cs30
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/MapInfo.cs77
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/Memory.cs340
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/MemoryCopyFunction.cs10
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/MemoryFlags.cs34
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/MemoryIsSpanFunction.cs10
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/MemoryMapFullFunction.cs10
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/MemoryMapFunction.cs10
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/MemoryShareFunction.cs10
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/MemoryUnmapFullFunction.cs10
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/MemoryUnmapFunction.cs10
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/Message.cs1127
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/MessageHandler.cs18
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/MessageType.cs69
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/Meta.cs168
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/MetaFlags.cs32
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/MetaFreeFunction.cs10
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/MetaInfo.cs93
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/MetaInitFunction.cs10
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/MetaTransformCopy.cs63
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/MetaTransformFunction.cs10
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/MiniObject.cs340
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/MiniObjectCopyFunction.cs10
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/MiniObjectDisposeFunction.cs10
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/MiniObjectFlags.cs31
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/MiniObjectFreeFunction.cs10
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/MiniObjectNotify.cs10
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/Object.cs571
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/ObjectFlags.cs29
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/Pad.cs1754
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/PadActivateFunction.cs10
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/PadActivateModeFunction.cs10
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/PadAddedHandler.cs18
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/PadChainFunction.cs10
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/PadChainListFunction.cs10
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/PadCreatedEventHandler.cs18
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/PadDirection.cs29
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/PadEventFullFunction.cs10
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/PadEventFunction.cs10
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/PadFlags.cs41
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/PadForwardFunction.cs10
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/PadGetRangeFunction.cs10
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/PadIterIntLinkFunction.cs10
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/PadLinkCheck.cs33
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/PadLinkFunction.cs10
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/PadLinkReturn.cs33
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/PadMode.cs29
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/PadPresence.cs29
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/PadProbeCallback.cs10
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/PadProbeInfo.cs122
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/PadProbeReturn.cs31
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/PadProbeType.cs49
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/PadQueryFunction.cs10
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/PadRemovedHandler.cs18
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/PadStickyEventsForeachFunction.cs10
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/PadTemplate.cs414
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/PadTemplateFlags.cs28
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/PadUnlinkFunction.cs10
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/ParamArray.cs45
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/ParamFraction.cs45
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/ParentBufferMeta.cs65
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/Parse.cs119
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/ParseContext.cs87
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/ParseError.cs34
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/ParseFlags.cs31
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/Pipeline.cs251
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/PipelineFlags.cs29
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/Plugin.cs312
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/PluginAPIFlags.cs28
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/PluginAddedHandler.cs18
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/PluginDependencyFlags.cs33
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/PluginDesc.cs62
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/PluginError.cs29
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/PluginFeature.cs157
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/PluginFeatureFilter.cs10
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/PluginFilter.cs10
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/PluginFlags.cs29
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/PluginInitFullFunc.cs10
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/PluginInitFunc.cs10
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/Poll.cs230
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/PollFD.cs62
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/PresetAdapter.cs409
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/ProgressType.cs31
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/Promise.cs114
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/PromiseChangeFunc.cs10
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/PromiseResult.cs30
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/ProtectionMeta.cs54
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/ProviderHiddenHandler.cs18
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/ProviderUnhiddenHandler.cs18
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/ProxyPad.cs145
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/QOSType.cs29
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/Query.cs863
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/QueryType.cs46
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/QueryTypeFlags.cs30
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/Rank.cs30
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/ReferenceTimestampMeta.cs67
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/Registry.cs389
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/ResourceError.cs42
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/Sample.cs174
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/SchedulingFlags.cs30
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/SearchMode.cs29
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/SeekFlags.cs41
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/SeekType.cs29
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/Segment.cs300
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/SegmentFlags.cs35
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/SharedTaskPool.cs114
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/StackTraceFlags.cs29
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/State.cs31
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/StateChange.cs36
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/StateChangeReturn.cs30
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/StaticCaps.cs85
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/StaticPadTemplate.cs81
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/Stream.cs208
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/StreamCollection.cs228
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/StreamError.cs40
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/StreamFlags.cs31
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/StreamNotifyHandler.cs24
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/StreamStatusType.cs33
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/StreamType.cs32
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/Structure.cs688
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/StructureChangeType.cs28
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/StructureFilterMapFunc.cs10
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/StructureForeachFunc.cs10
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/StructureMapFunc.cs10
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/SyncMessageHandler.cs18
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/SyncedHandler.cs18
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/SystemClock.cs123
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/Tag.cs540
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/TagFlag.cs31
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/TagForeachFunc.cs10
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/TagList.cs540
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/TagMergeFunc.cs10
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/TagMergeMode.cs34
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/TagScope.cs28
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/TagSetterAdapter.cs158
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/Task.cs379
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/TaskFunction.cs10
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/TaskPool.cs469
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/TaskPoolFunction.cs10
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/TaskState.cs29
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/TaskThreadFunc.cs10
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/TimedValue.cs46
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/Toc.cs188
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/TocEntry.cs289
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/TocEntryType.cs33
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/TocLoopType.cs30
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/TocScope.cs28
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/TocSetterAdapter.cs131
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/Tracer.cs120
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/TracerFactory.cs86
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/TracerRecord.cs64
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/TracerValueFlags.cs30
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/TracerValueScope.cs30
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/TypeFind.cs134
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/TypeFindFactory.cs104
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/TypeFindFunction.cs10
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/TypeFindProbability.cs32
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/URIError.cs30
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/URIHandlerAdapter.cs188
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/URIType.cs29
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/UnlinkedHandler.cs18
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/Uri.cs786
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/Util.cs445
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/Value.cs581
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/ValueArray.cs111
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/ValueCompareFunc.cs10
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/ValueDeserializeFunc.cs10
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/ValueDeserializeWithPSpecFunc.cs10
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/ValueList.cs143
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/ValueSerializeFunc.cs10
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/Gst/ValueTable.cs71
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/GtkSharp/ObjectManager.cs83
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/gstreamer-sharp-abi.c985
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/gstreamer-sharp-abi.cs980
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/gstreamer-sharp-api.xml31491
-rw-r--r--subprojects/gstreamer-sharp/sources/generated/meson.build823
-rw-r--r--subprojects/gstreamer-sharp/sources/gstreamer-sharp-api.raw31880
-rw-r--r--subprojects/gstreamer-sharp/sources/gstreamer-sharp.dll.config38
-rw-r--r--subprojects/gstreamer-sharp/sources/gstreamer-sharp.metadata406
-rw-r--r--subprojects/gstreamer-sharp/sources/meson.build62
-rw-r--r--subprojects/gstreamer-sharp/subprojects/bindinator.wrap4
-rw-r--r--subprojects/gstreamer-sharp/subprojects/gtk-sharp.wrap4
-rw-r--r--subprojects/gstreamer-sharp/update_sources.py47
1021 files changed, 409157 insertions, 0 deletions
diff --git a/subprojects/gstreamer-sharp/.gitignore b/subprojects/gstreamer-sharp/.gitignore
new file mode 100644
index 0000000000..8225bffb8f
--- /dev/null
+++ b/subprojects/gstreamer-sharp/.gitignore
@@ -0,0 +1,308 @@
+build/
+subprojects/
+
+## Ignore Visual Studio temporary files, build results, and
+## files generated by popular Visual Studio add-ons.
+##
+## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
+
+# User-specific files
+*.suo
+*.user
+*.userosscache
+*.sln.docstates
+
+# User-specific files (MonoDevelop/Xamarin Studio)
+*.userprefs
+
+# Build results
+[Dd]ebug/
+[Dd]ebugPublic/
+[Rr]elease/
+[Rr]eleases/
+x64/
+x86/
+bld/
+[Bb]in/
+[Oo]bj/
+[Ll]og/
+
+# Visual Studio 2015 cache/options directory
+.vs/
+# Uncomment if you have tasks that create the project's static files in wwwroot
+#wwwroot/
+
+# MSTest test Results
+[Tt]est[Rr]esult*/
+[Bb]uild[Ll]og.*
+
+# NUNIT
+*.VisualState.xml
+TestResult.xml
+
+# Build Results of an ATL Project
+[Dd]ebugPS/
+[Rr]eleasePS/
+dlldata.c
+
+# Benchmark Results
+BenchmarkDotNet.Artifacts/
+
+# .NET Core
+project.lock.json
+project.fragment.lock.json
+artifacts/
+**/Properties/launchSettings.json
+
+*_i.c
+*_p.c
+*_i.h
+*.ilk
+*.meta
+*.obj
+*.pch
+*.pdb
+*.pgc
+*.pgd
+*.rsp
+*.sbr
+*.tlb
+*.tli
+*.tlh
+*.tmp
+*.tmp_proj
+*.log
+*.vspscc
+*.vssscc
+.builds
+*.pidb
+*.svclog
+*.scc
+
+# Chutzpah Test files
+_Chutzpah*
+
+# Visual C++ cache files
+ipch/
+*.aps
+*.ncb
+*.opendb
+*.opensdf
+*.sdf
+*.cachefile
+*.VC.db
+*.VC.VC.opendb
+
+# Visual Studio profiler
+*.psess
+*.vsp
+*.vspx
+*.sap
+
+# Visual Studio Trace Files
+*.e2e
+
+# TFS 2012 Local Workspace
+$tf/
+
+# Guidance Automation Toolkit
+*.gpState
+
+# ReSharper is a .NET coding add-in
+_ReSharper*/
+*.[Rr]e[Ss]harper
+*.DotSettings.user
+
+# JustCode is a .NET coding add-in
+.JustCode
+
+# TeamCity is a build add-in
+_TeamCity*
+
+# DotCover is a Code Coverage Tool
+*.dotCover
+
+# AxoCover is a Code Coverage Tool
+.axoCover/*
+!.axoCover/settings.json
+
+# Visual Studio code coverage results
+*.coverage
+*.coveragexml
+
+# NCrunch
+_NCrunch_*
+.*crunch*.local.xml
+nCrunchTemp_*
+
+# MightyMoose
+*.mm.*
+AutoTest.Net/
+
+# Web workbench (sass)
+.sass-cache/
+
+# Installshield output folder
+[Ee]xpress/
+
+# DocProject is a documentation generator add-in
+DocProject/buildhelp/
+DocProject/Help/*.HxT
+DocProject/Help/*.HxC
+DocProject/Help/*.hhc
+DocProject/Help/*.hhk
+DocProject/Help/*.hhp
+DocProject/Help/Html2
+DocProject/Help/html
+
+# Click-Once directory
+publish/
+
+# Publish Web Output
+*.[Pp]ublish.xml
+*.azurePubxml
+# Note: Comment the next line if you want to checkin your web deploy settings,
+# but database connection strings (with potential passwords) will be unencrypted
+*.pubxml
+*.publishproj
+
+# Microsoft Azure Web App publish settings. Comment the next line if you want to
+# checkin your Azure Web App publish settings, but sensitive information contained
+# in these scripts will be unencrypted
+PublishScripts/
+
+# NuGet Packages
+*.nupkg
+# The packages folder can be ignored because of Package Restore
+**/packages/*
+# except build/, which is used as an MSBuild target.
+!**/packages/build/
+# Uncomment if necessary however generally it will be regenerated when needed
+#!**/packages/repositories.config
+# NuGet v3's project.json files produces more ignorable files
+*.nuget.props
+*.nuget.targets
+
+# Microsoft Azure Build Output
+csx/
+*.build.csdef
+
+# Microsoft Azure Emulator
+ecf/
+rcf/
+
+# Windows Store app package directories and files
+AppPackages/
+BundleArtifacts/
+Package.StoreAssociation.xml
+_pkginfo.txt
+*.appx
+
+# Visual Studio cache files
+# files ending in .cache can be ignored
+*.[Cc]ache
+# but keep track of directories ending in .cache
+!*.[Cc]ache/
+
+# Others
+ClientBin/
+~$*
+*~
+*.dbmdl
+*.dbproj.schemaview
+*.jfm
+*.pfx
+*.publishsettings
+orleans.codegen.cs
+
+# Since there are multiple workflows, uncomment next line to ignore bower_components
+# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
+#bower_components/
+
+# RIA/Silverlight projects
+Generated_Code/
+
+# Backup & report files from converting an old project file
+# to a newer Visual Studio version. Backup files are not needed,
+# because we have git ;-)
+_UpgradeReport_Files/
+Backup*/
+UpgradeLog*.XML
+UpgradeLog*.htm
+
+# SQL Server files
+*.mdf
+*.ldf
+*.ndf
+
+# Business Intelligence projects
+*.rdl.data
+*.bim.layout
+*.bim_*.settings
+
+# Microsoft Fakes
+FakesAssemblies/
+
+# GhostDoc plugin setting file
+*.GhostDoc.xml
+
+# Node.js Tools for Visual Studio
+.ntvs_analysis.dat
+node_modules/
+
+# Typescript v1 declaration files
+typings/
+
+# Visual Studio 6 build log
+*.plg
+
+# Visual Studio 6 workspace options file
+*.opt
+
+# Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
+*.vbw
+
+# Visual Studio LightSwitch build output
+**/*.HTMLClient/GeneratedArtifacts
+**/*.DesktopClient/GeneratedArtifacts
+**/*.DesktopClient/ModelManifest.xml
+**/*.Server/GeneratedArtifacts
+**/*.Server/ModelManifest.xml
+_Pvt_Extensions
+
+# Paket dependency manager
+.paket/paket.exe
+paket-files/
+
+# FAKE - F# Make
+.fake/
+
+# JetBrains Rider
+.idea/
+*.sln.iml
+
+# CodeRush
+.cr/
+
+# Python Tools for Visual Studio (PTVS)
+__pycache__/
+*.pyc
+
+# Cake - Uncomment if you are using it
+# tools/**
+# !tools/packages.config
+
+# Tabs Studio
+*.tss
+
+# Telerik's JustMock configuration file
+*.jmconfig
+
+# BizTalk build output
+*.btp.cs
+*.btm.cs
+*.odx.cs
+*.xsd.cs
+
+# OpenCover UI analysis results
+OpenCover/
diff --git a/subprojects/gstreamer-sharp/.gitlab-ci.yml b/subprojects/gstreamer-sharp/.gitlab-ci.yml
new file mode 100644
index 0000000000..c61aa7a529
--- /dev/null
+++ b/subprojects/gstreamer-sharp/.gitlab-ci.yml
@@ -0,0 +1 @@
+include: "https://gitlab.freedesktop.org/gstreamer/gst-ci/raw/master/gitlab/ci_template.yml"
diff --git a/subprojects/gstreamer-sharp/AUTHORS b/subprojects/gstreamer-sharp/AUTHORS
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/subprojects/gstreamer-sharp/AUTHORS
diff --git a/subprojects/gstreamer-sharp/COPYING b/subprojects/gstreamer-sharp/COPYING
new file mode 100644
index 0000000000..e5ab03e123
--- /dev/null
+++ b/subprojects/gstreamer-sharp/COPYING
@@ -0,0 +1,502 @@
+ GNU LESSER GENERAL PUBLIC LICENSE
+ Version 2.1, February 1999
+
+ Copyright (C) 1991, 1999 Free Software Foundation, Inc.
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+[This is the first released version of the Lesser GPL. It also counts
+ as the successor of the GNU Library Public License, version 2, hence
+ the version number 2.1.]
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+Licenses are intended to guarantee your freedom to share and change
+free software--to make sure the software is free for all its users.
+
+ This license, the Lesser General Public License, applies to some
+specially designated software packages--typically libraries--of the
+Free Software Foundation and other authors who decide to use it. You
+can use it too, but we suggest you first think carefully about whether
+this license or the ordinary General Public License is the better
+strategy to use in any particular case, based on the explanations below.
+
+ When we speak of free software, we are referring to freedom of use,
+not price. Our General Public Licenses are designed to make sure that
+you have the freedom to distribute copies of free software (and charge
+for this service if you wish); that you receive source code or can get
+it if you want it; that you can change the software and use pieces of
+it in new free programs; and that you are informed that you can do
+these things.
+
+ To protect your rights, we need to make restrictions that forbid
+distributors to deny you these rights or to ask you to surrender these
+rights. These restrictions translate to certain responsibilities for
+you if you distribute copies of the library or if you modify it.
+
+ For example, if you distribute copies of the library, whether gratis
+or for a fee, you must give the recipients all the rights that we gave
+you. You must make sure that they, too, receive or can get the source
+code. If you link other code with the library, you must provide
+complete object files to the recipients, so that they can relink them
+with the library after making changes to the library and recompiling
+it. And you must show them these terms so they know their rights.
+
+ We protect your rights with a two-step method: (1) we copyright the
+library, and (2) we offer you this license, which gives you legal
+permission to copy, distribute and/or modify the library.
+
+ To protect each distributor, we want to make it very clear that
+there is no warranty for the free library. Also, if the library is
+modified by someone else and passed on, the recipients should know
+that what they have is not the original version, so that the original
+author's reputation will not be affected by problems that might be
+introduced by others.
+
+ Finally, software patents pose a constant threat to the existence of
+any free program. We wish to make sure that a company cannot
+effectively restrict the users of a free program by obtaining a
+restrictive license from a patent holder. Therefore, we insist that
+any patent license obtained for a version of the library must be
+consistent with the full freedom of use specified in this license.
+
+ Most GNU software, including some libraries, is covered by the
+ordinary GNU General Public License. This license, the GNU Lesser
+General Public License, applies to certain designated libraries, and
+is quite different from the ordinary General Public License. We use
+this license for certain libraries in order to permit linking those
+libraries into non-free programs.
+
+ When a program is linked with a library, whether statically or using
+a shared library, the combination of the two is legally speaking a
+combined work, a derivative of the original library. The ordinary
+General Public License therefore permits such linking only if the
+entire combination fits its criteria of freedom. The Lesser General
+Public License permits more lax criteria for linking other code with
+the library.
+
+ We call this license the "Lesser" General Public License because it
+does Less to protect the user's freedom than the ordinary General
+Public License. It also provides other free software developers Less
+of an advantage over competing non-free programs. These disadvantages
+are the reason we use the ordinary General Public License for many
+libraries. However, the Lesser license provides advantages in certain
+special circumstances.
+
+ For example, on rare occasions, there may be a special need to
+encourage the widest possible use of a certain library, so that it becomes
+a de-facto standard. To achieve this, non-free programs must be
+allowed to use the library. A more frequent case is that a free
+library does the same job as widely used non-free libraries. In this
+case, there is little to gain by limiting the free library to free
+software only, so we use the Lesser General Public License.
+
+ In other cases, permission to use a particular library in non-free
+programs enables a greater number of people to use a large body of
+free software. For example, permission to use the GNU C Library in
+non-free programs enables many more people to use the whole GNU
+operating system, as well as its variant, the GNU/Linux operating
+system.
+
+ Although the Lesser General Public License is Less protective of the
+users' freedom, it does ensure that the user of a program that is
+linked with the Library has the freedom and the wherewithal to run
+that program using a modified version of the Library.
+
+ The precise terms and conditions for copying, distribution and
+modification follow. Pay close attention to the difference between a
+"work based on the library" and a "work that uses the library". The
+former contains code derived from the library, whereas the latter must
+be combined with the library in order to run.
+
+ GNU LESSER GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License Agreement applies to any software library or other
+program which contains a notice placed by the copyright holder or
+other authorized party saying it may be distributed under the terms of
+this Lesser General Public License (also called "this License").
+Each licensee is addressed as "you".
+
+ A "library" means a collection of software functions and/or data
+prepared so as to be conveniently linked with application programs
+(which use some of those functions and data) to form executables.
+
+ The "Library", below, refers to any such software library or work
+which has been distributed under these terms. A "work based on the
+Library" means either the Library or any derivative work under
+copyright law: that is to say, a work containing the Library or a
+portion of it, either verbatim or with modifications and/or translated
+straightforwardly into another language. (Hereinafter, translation is
+included without limitation in the term "modification".)
+
+ "Source code" for a work means the preferred form of the work for
+making modifications to it. For a library, complete source code means
+all the source code for all modules it contains, plus any associated
+interface definition files, plus the scripts used to control compilation
+and installation of the library.
+
+ Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running a program using the Library is not restricted, and output from
+such a program is covered only if its contents constitute a work based
+on the Library (independent of the use of the Library in a tool for
+writing it). Whether that is true depends on what the Library does
+and what the program that uses the Library does.
+
+ 1. You may copy and distribute verbatim copies of the Library's
+complete source code as you receive it, in any medium, provided that
+you conspicuously and appropriately publish on each copy an
+appropriate copyright notice and disclaimer of warranty; keep intact
+all the notices that refer to this License and to the absence of any
+warranty; and distribute a copy of this License along with the
+Library.
+
+ You may charge a fee for the physical act of transferring a copy,
+and you may at your option offer warranty protection in exchange for a
+fee.
+
+ 2. You may modify your copy or copies of the Library or any portion
+of it, thus forming a work based on the Library, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) The modified work must itself be a software library.
+
+ b) You must cause the files modified to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ c) You must cause the whole of the work to be licensed at no
+ charge to all third parties under the terms of this License.
+
+ d) If a facility in the modified Library refers to a function or a
+ table of data to be supplied by an application program that uses
+ the facility, other than as an argument passed when the facility
+ is invoked, then you must make a good faith effort to ensure that,
+ in the event an application does not supply such function or
+ table, the facility still operates, and performs whatever part of
+ its purpose remains meaningful.
+
+ (For example, a function in a library to compute square roots has
+ a purpose that is entirely well-defined independent of the
+ application. Therefore, Subsection 2d requires that any
+ application-supplied function or table used by this function must
+ be optional: if the application does not supply it, the square
+ root function must still compute square roots.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Library,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Library, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote
+it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Library.
+
+In addition, mere aggregation of another work not based on the Library
+with the Library (or with a work based on the Library) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may opt to apply the terms of the ordinary GNU General Public
+License instead of this License to a given copy of the Library. To do
+this, you must alter all the notices that refer to this License, so
+that they refer to the ordinary GNU General Public License, version 2,
+instead of to this License. (If a newer version than version 2 of the
+ordinary GNU General Public License has appeared, then you can specify
+that version instead if you wish.) Do not make any other change in
+these notices.
+
+ Once this change is made in a given copy, it is irreversible for
+that copy, so the ordinary GNU General Public License applies to all
+subsequent copies and derivative works made from that copy.
+
+ This option is useful when you wish to copy part of the code of
+the Library into a program that is not a library.
+
+ 4. You may copy and distribute the Library (or a portion or
+derivative of it, under Section 2) in object code or executable form
+under the terms of Sections 1 and 2 above provided that you accompany
+it with the complete corresponding machine-readable source code, which
+must be distributed under the terms of Sections 1 and 2 above on a
+medium customarily used for software interchange.
+
+ If distribution of object code is made by offering access to copy
+from a designated place, then offering equivalent access to copy the
+source code from the same place satisfies the requirement to
+distribute the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 5. A program that contains no derivative of any portion of the
+Library, but is designed to work with the Library by being compiled or
+linked with it, is called a "work that uses the Library". Such a
+work, in isolation, is not a derivative work of the Library, and
+therefore falls outside the scope of this License.
+
+ However, linking a "work that uses the Library" with the Library
+creates an executable that is a derivative of the Library (because it
+contains portions of the Library), rather than a "work that uses the
+library". The executable is therefore covered by this License.
+Section 6 states terms for distribution of such executables.
+
+ When a "work that uses the Library" uses material from a header file
+that is part of the Library, the object code for the work may be a
+derivative work of the Library even though the source code is not.
+Whether this is true is especially significant if the work can be
+linked without the Library, or if the work is itself a library. The
+threshold for this to be true is not precisely defined by law.
+
+ If such an object file uses only numerical parameters, data
+structure layouts and accessors, and small macros and small inline
+functions (ten lines or less in length), then the use of the object
+file is unrestricted, regardless of whether it is legally a derivative
+work. (Executables containing this object code plus portions of the
+Library will still fall under Section 6.)
+
+ Otherwise, if the work is a derivative of the Library, you may
+distribute the object code for the work under the terms of Section 6.
+Any executables containing that work also fall under Section 6,
+whether or not they are linked directly with the Library itself.
+
+ 6. As an exception to the Sections above, you may also combine or
+link a "work that uses the Library" with the Library to produce a
+work containing portions of the Library, and distribute that work
+under terms of your choice, provided that the terms permit
+modification of the work for the customer's own use and reverse
+engineering for debugging such modifications.
+
+ You must give prominent notice with each copy of the work that the
+Library is used in it and that the Library and its use are covered by
+this License. You must supply a copy of this License. If the work
+during execution displays copyright notices, you must include the
+copyright notice for the Library among them, as well as a reference
+directing the user to the copy of this License. Also, you must do one
+of these things:
+
+ a) Accompany the work with the complete corresponding
+ machine-readable source code for the Library including whatever
+ changes were used in the work (which must be distributed under
+ Sections 1 and 2 above); and, if the work is an executable linked
+ with the Library, with the complete machine-readable "work that
+ uses the Library", as object code and/or source code, so that the
+ user can modify the Library and then relink to produce a modified
+ executable containing the modified Library. (It is understood
+ that the user who changes the contents of definitions files in the
+ Library will not necessarily be able to recompile the application
+ to use the modified definitions.)
+
+ b) Use a suitable shared library mechanism for linking with the
+ Library. A suitable mechanism is one that (1) uses at run time a
+ copy of the library already present on the user's computer system,
+ rather than copying library functions into the executable, and (2)
+ will operate properly with a modified version of the library, if
+ the user installs one, as long as the modified version is
+ interface-compatible with the version that the work was made with.
+
+ c) Accompany the work with a written offer, valid for at
+ least three years, to give the same user the materials
+ specified in Subsection 6a, above, for a charge no more
+ than the cost of performing this distribution.
+
+ d) If distribution of the work is made by offering access to copy
+ from a designated place, offer equivalent access to copy the above
+ specified materials from the same place.
+
+ e) Verify that the user has already received a copy of these
+ materials or that you have already sent this user a copy.
+
+ For an executable, the required form of the "work that uses the
+Library" must include any data and utility programs needed for
+reproducing the executable from it. However, as a special exception,
+the materials to be distributed need not include anything that is
+normally distributed (in either source or binary form) with the major
+components (compiler, kernel, and so on) of the operating system on
+which the executable runs, unless that component itself accompanies
+the executable.
+
+ It may happen that this requirement contradicts the license
+restrictions of other proprietary libraries that do not normally
+accompany the operating system. Such a contradiction means you cannot
+use both them and the Library together in an executable that you
+distribute.
+
+ 7. You may place library facilities that are a work based on the
+Library side-by-side in a single library together with other library
+facilities not covered by this License, and distribute such a combined
+library, provided that the separate distribution of the work based on
+the Library and of the other library facilities is otherwise
+permitted, and provided that you do these two things:
+
+ a) Accompany the combined library with a copy of the same work
+ based on the Library, uncombined with any other library
+ facilities. This must be distributed under the terms of the
+ Sections above.
+
+ b) Give prominent notice with the combined library of the fact
+ that part of it is a work based on the Library, and explaining
+ where to find the accompanying uncombined form of the same work.
+
+ 8. You may not copy, modify, sublicense, link with, or distribute
+the Library except as expressly provided under this License. Any
+attempt otherwise to copy, modify, sublicense, link with, or
+distribute the Library is void, and will automatically terminate your
+rights under this License. However, parties who have received copies,
+or rights, from you under this License will not have their licenses
+terminated so long as such parties remain in full compliance.
+
+ 9. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Library or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Library (or any work based on the
+Library), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Library or works based on it.
+
+ 10. Each time you redistribute the Library (or any work based on the
+Library), the recipient automatically receives a license from the
+original licensor to copy, distribute, link with or modify the Library
+subject to these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties with
+this License.
+
+ 11. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Library at all. For example, if a patent
+license would not permit royalty-free redistribution of the Library by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Library.
+
+If any portion of this section is held invalid or unenforceable under any
+particular circumstance, the balance of the section is intended to apply,
+and the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 12. If the distribution and/or use of the Library is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Library under this License may add
+an explicit geographical distribution limitation excluding those countries,
+so that distribution is permitted only in or among countries not thus
+excluded. In such case, this License incorporates the limitation as if
+written in the body of this License.
+
+ 13. The Free Software Foundation may publish revised and/or new
+versions of the Lesser General Public License from time to time.
+Such new versions will be similar in spirit to the present version,
+but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Library
+specifies a version number of this License which applies to it and
+"any later version", you have the option of following the terms and
+conditions either of that version or of any later version published by
+the Free Software Foundation. If the Library does not specify a
+license version number, you may choose any version ever published by
+the Free Software Foundation.
+
+ 14. If you wish to incorporate parts of the Library into other free
+programs whose distribution conditions are incompatible with these,
+write to the author to ask for permission. For software which is
+copyrighted by the Free Software Foundation, write to the Free
+Software Foundation; we sometimes make exceptions for this. Our
+decision will be guided by the two goals of preserving the free status
+of all derivatives of our free software and of promoting the sharing
+and reuse of software generally.
+
+ NO WARRANTY
+
+ 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
+WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
+OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
+LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+ 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
+AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
+LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
+FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Libraries
+
+ If you develop a new library, and you want it to be of the greatest
+possible use to the public, we recommend making it free software that
+everyone can redistribute and change. You can do so by permitting
+redistribution under these terms (or, alternatively, under the terms of the
+ordinary General Public License).
+
+ To apply these terms, attach the following notices to the library. It is
+safest to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least the
+"copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the library's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+
+Also add information on how to contact you by electronic and paper mail.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the library, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the
+ library `Frob' (a library for tweaking knobs) written by James Random Hacker.
+
+ <signature of Ty Coon>, 1 April 1990
+ Ty Coon, President of Vice
+
+That's all there is to it!
diff --git a/subprojects/gstreamer-sharp/ChangeLog b/subprojects/gstreamer-sharp/ChangeLog
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ChangeLog
diff --git a/subprojects/gstreamer-sharp/README.md b/subprojects/gstreamer-sharp/README.md
new file mode 100644
index 0000000000..864f069ef0
--- /dev/null
+++ b/subprojects/gstreamer-sharp/README.md
@@ -0,0 +1,90 @@
+gstreamer-sharp
+=========
+
+gstreamer-sharp is a .NET/mono binding for Gstreamer
+generated from gobject-introspection data using the [bindinator].
+gstreamer-sharp currently wraps the API exposed by Gstreamer 1.12
+and is compatible with newer gstreamer versions. It was developed
+under GSoC 2014 for the mono organization. gstreamer-sharp covers
+the core and base gstreamer libraries.
+
+Prerequisites
+----
+These libraries are needed for gstreamer-sharp to compile:
+* gstreamer core, base and good 1.14 or higher
+* [gtk-sharp] 3.22.0 or higher - *NOTE: This can be built as a meson subproject.*
+
+You will also need various .NET/mono bits (mcs and al). On debian-based distros
+you can install these with:
+
+ sudo apt-get install mono-mcs mono-devel
+
+Building
+----
+
+ meson build && ninja -C build/
+
+Installing
+----
+
+This package is not installed as part of the system. It should either
+be built into a Nuget or used as a subproject like this. For example,
+with meson, one would use it like this:
+
+
+ subproject('gstreamer-sharp', default_options: ['install=false'])
+ gst_sharp = subproject('gstreamer-sharp')
+ gst_sharp_dep = gst_sharp.get_variable('gst_sharp_dep')
+
+
+HACKING
+-------
+
+While hacking on the code generator or the `.metadata` files, you will
+need to force code regeneration with `ninja update-code`, a full rebuild
+is triggered right after.
+
+Updating to new GStreamer version
+--------------------------------
+
+Make sure you are in an environement where latest `.gir` files are available (either installed
+or through the `$GI_TYPELIB_PATH` env var), those files are automatically copied to `girs/`.
+
+ ninja -C build update-all
+
+or if using gst-build, start gst-env and then run
+
+ ninja -C build gstreamer-sharp@@update-all
+
+* Verify newly copied gir files in `girs/` and `git add` them
+* Verify newly generated code and `git add` files in `sources/generated/` and `ges/generated`
+* Commit
+
+Supported Platforms
+----
+* Linux
+* Mac OS X
+
+Quick Start
+----
+gstreamer-sharp provides ports of all samples from gst-docs in the samples folder.
+
+Documentation
+----
+
+Since this is a gobject-introspection binding the recommended documentation is
+the native [gstreamer] documentation. A monodoc generated documentation will be installed.
+
+Roadmap
+----
+* Add an easy way to compile on Windows
+* iOS and Android support
+* Provide binaries for these platforms
+
+License
+----
+gstreamer-sharp is licensed under the [LGPL 2.1](https://www.gnu.org/licenses/lgpl-2.1.html)
+
+[bindinator]:https://github.com/GLibSharp/bindinator
+[gtk-sharp]:https://github.com/GLibSharp/GtkSharp
+[gstreamer]: http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/
diff --git a/subprojects/gstreamer-sharp/Tests/SdpTests.cs b/subprojects/gstreamer-sharp/Tests/SdpTests.cs
new file mode 100644
index 0000000000..675e8b3b19
--- /dev/null
+++ b/subprojects/gstreamer-sharp/Tests/SdpTests.cs
@@ -0,0 +1,44 @@
+// Copyright (C) 2018 Thibault Saunier <tsaunier@igalia.com>
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+// 02110-1301 USA
+
+using NUnit.Framework;
+using System;
+using Gst;
+using Gst.Sdp;
+
+namespace GstSharp.Tests
+{
+ [TestFixture]
+ public class SdpTests : TestBase
+ {
+ [Test]
+ public void TesSdpMessage()
+ {
+ Gst.Application.Init();
+ Gst.Sdp.SDPMessage msg;
+ var res = Gst.Sdp.SDPMessage.New(out msg);
+
+ Assert.AreEqual(res, Gst.Sdp.SDPResult.Ok);
+
+ var uri = "udp://nothing.com";
+ msg.SetUri(uri);
+ Assert.AreEqual(msg.Uri, uri);
+ }
+
+ }
+}
+
diff --git a/subprojects/gstreamer-sharp/Tests/TestBase.cs b/subprojects/gstreamer-sharp/Tests/TestBase.cs
new file mode 100644
index 0000000000..e0cabcc635
--- /dev/null
+++ b/subprojects/gstreamer-sharp/Tests/TestBase.cs
@@ -0,0 +1,53 @@
+// Copyright (C) 2018 Collabora Ltd.
+// Author: Justin Kim <justin.kim@collabora.com>
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+// 02110-1301 USA
+
+using Gst;
+using System.Threading;
+using NUnit.Framework;
+
+namespace GstSharp.Tests
+{
+ [TestFixture]
+ public abstract class TestBase
+ {
+ GLib.MainLoop mainLoop;
+ Thread thread;
+
+ void Run(object o)
+ {
+ GLib.MainContext context = new GLib.MainContext();
+ mainLoop = new GLib.MainLoop(context);
+ }
+
+ [SetUp]
+ public void BaseSetUp()
+ {
+ Assert.IsTrue(Application.InitCheck());
+
+ thread = new Thread(Run);
+ thread.Start();
+ }
+
+ [TearDown]
+ public void BaseTearDown()
+ {
+ mainLoop.Quit();
+ thread.Join();
+ }
+ }
+}
diff --git a/subprojects/gstreamer-sharp/Tests/meson.build b/subprojects/gstreamer-sharp/Tests/meson.build
new file mode 100644
index 0000000000..a7052bcf7a
--- /dev/null
+++ b/subprojects/gstreamer-sharp/Tests/meson.build
@@ -0,0 +1,53 @@
+nunit_console = find_program('nunit-console', 'nunitlite-runner', required: get_option('tests'))
+
+if nunit_console.found()
+ nunit_tests_env = environment()
+ # FIXME: port this to macOS and Windows
+ nunit_tests_env.prepend('LD_LIBRARY_PATH', testsenv_ld_library_path)
+
+ nunit_version = '3.10.1'
+ get_nunit_res = run_command(nuget, 'get',
+ '--builddir=NUnit',
+ '--nuget-name=NUnit',
+ '--nuget-version', nunit_version,
+ '--csharp-version=net45',
+ '--current-builddir', meson.current_build_dir(),
+ '--builddir', meson.build_root(),
+ )
+
+
+ nunit_mono_path = []
+ nunit_dep = dependency('mono-nunit', required: false, version: ['>=2.6', '< 2.7'])
+ if not nunit_dep.found()
+ if get_nunit_res.returncode() != 0
+ message('Failed to get NUnit: ' + get_nunit_res.stderr())
+ else
+ foreach path: get_nunit_res.stdout().split()
+ nunit_mono_path += [join_paths(meson.build_root(), path.strip('-r:'), '..')]
+ endforeach
+
+ nunit_dep = declare_dependency(link_args: get_nunit_res.stdout().split(),
+ version: nunit_version)
+ endif
+ endif
+
+ if nunit_mono_path.length() > 0
+ nunit_tests_env.prepend('MONO_PATH', nunit_mono_path + mono_path)
+ else
+ nunit_tests_env.prepend('MONO_PATH', mono_path)
+ endif
+
+ if nunit_dep.found()
+ foreach test: [
+ # 'PipelineTests',
+ 'SdpTests'
+ ]
+ lib = shared_library(test, test + '.cs', 'TestBase.cs',
+ cs_args: ['-nowarn:169', '-nowarn:108', '-nowarn:114'],
+ dependencies: [gst_sharp_dep, nunit_dep])
+ test(test, nunit_console, args: [lib.full_path()], env: nunit_tests_env)
+ endforeach
+ endif
+else
+ message('Could not find nunit-console, can\'t run unitests')
+endif \ No newline at end of file
diff --git a/subprojects/gstreamer-sharp/Tests/test_abi.py b/subprojects/gstreamer-sharp/Tests/test_abi.py
new file mode 100755
index 0000000000..838801cab6
--- /dev/null
+++ b/subprojects/gstreamer-sharp/Tests/test_abi.py
@@ -0,0 +1,28 @@
+#!/usr/bin/env python3
+
+import difflib
+import sys
+import shutil
+import subprocess
+
+reference_abi = subprocess.check_output(sys.argv[1]).decode().split("\n")
+launcher = []
+if shutil.which("mono"):
+ launcher = ["mono", "--debug"]
+csharp_abi = subprocess.check_output(launcher + [sys.argv[2]]).decode().split("\n")
+print("Comparing output of %s and %s" % (sys.argv[1], sys.argv[2]))
+
+res = 0
+for line in difflib.unified_diff(reference_abi, csharp_abi):
+ res = 1
+ print(line)
+
+if res:
+ files = [(sys.argv[1] + ".res", reference_abi),
+ (sys.argv[2] + 'res', csharp_abi)]
+
+ for f, vals in files:
+ with open(f, "w") as _f:
+ print("Outputing results in " + f)
+ _f.write("\n".join(vals))
+sys.exit(res)
diff --git a/subprojects/gstreamer-sharp/gacutil_install.py b/subprojects/gstreamer-sharp/gacutil_install.py
new file mode 100644
index 0000000000..48ef320b24
--- /dev/null
+++ b/subprojects/gstreamer-sharp/gacutil_install.py
@@ -0,0 +1,15 @@
+#!/usr/bin/env python3
+
+import os
+import sys
+import subprocess
+
+outdir = os.path.join(os.environ['MESON_INSTALL_DESTDIR_PREFIX'], 'lib')
+builddir = os.environ['MESON_BUILD_ROOT']
+
+for i in range(1, len(sys.argv), 2):
+ assembly_name, fname = sys.argv[i], os.path.join(builddir, sys.argv[i + 1])
+
+ cmd = ['gacutil', '/i', fname, '/f', '/package', assembly_name, '/root', outdir]
+ print('(%s) Running %s' % (os.path.abspath(os.path.curdir), ' '.join(cmd)))
+ subprocess.check_call(cmd)
diff --git a/subprojects/gstreamer-sharp/generate_code.py b/subprojects/gstreamer-sharp/generate_code.py
new file mode 100644
index 0000000000..df9c395b3e
--- /dev/null
+++ b/subprojects/gstreamer-sharp/generate_code.py
@@ -0,0 +1,99 @@
+#!/usr/bin/env python3
+
+import argparse
+import glob
+import os
+import re
+import shutil
+import subprocess
+
+
+if __name__ == "__main__":
+ parser = argparse.ArgumentParser()
+ parser.add_argument("--api-raw")
+ parser.add_argument("--gapi-fixup")
+ parser.add_argument("--metadata")
+ parser.add_argument("--gapi-codegen")
+ parser.add_argument("--abi-includes", default="")
+ parser.add_argument("--abi-cs-usings", default="")
+ parser.add_argument("--assembly-name")
+ parser.add_argument("--extra-includes", action='append', default=[])
+ parser.add_argument("--out")
+ parser.add_argument("--files")
+ parser.add_argument("--symbols")
+ parser.add_argument("--schema")
+ parser.add_argument("--fake", action='store_true')
+
+ opts = parser.parse_args()
+ if opts.fake:
+ exit(0)
+
+ api_xml = os.path.join(opts.out, os.path.basename(
+ opts.api_raw).replace('.raw', '.xml'))
+
+ shutil.copyfile(opts.api_raw, api_xml)
+
+ if shutil.which('mono'):
+ launcher = ['mono', '--debug']
+ else:
+ launcher = []
+
+ cmd = [opts.gapi_fixup, "--api=" + api_xml]
+ if opts.metadata:
+ cmd += ["--metadata=" + opts.metadata]
+ if opts.symbols:
+ cmd.extend(['--symbols=' + opts.symbols])
+ subprocess.check_call(launcher + cmd)
+
+ cmd = [
+ opts.gapi_codegen, '--generate', api_xml,
+ '--outdir=' + opts.out,
+ '--assembly-name=' + opts.assembly_name,
+ '--glue-includes=' + opts.abi_includes,
+ '--abi-c-filename=' +
+ os.path.join(opts.out, opts.assembly_name + "-abi.c"),
+ '--abi-cs-filename=' +
+ os.path.join(opts.out, opts.assembly_name + "-abi.cs"),
+ ]
+
+ if opts.schema:
+ cmd += ['--schema=' + opts.schema]
+
+ if opts.abi_cs_usings:
+ cmd += ['--abi-cs-usings=' + opts.abi_cs_usings]
+
+ cmd += ['-I' + i for i in opts.extra_includes]
+
+ subprocess.check_call(launcher + cmd)
+
+ # WORKAROUND: Moving files into the out directory with special names
+ # as meson doesn't like path separator in output names.
+ regex = re.compile('_')
+ dirs = set()
+ expected_files = set(opts.files.split(';'))
+ for _f in expected_files:
+ dirs.add(os.path.dirname(_f))
+
+ generated = set(glob.glob(os.path.join('*/*.cs')))
+ rcode = 0
+ not_listed = generated - expected_files
+ if not_listed:
+ print("Following files were generated but not listed:\n %s" %
+ '\n '.join(["'%s/%s'," % (m.split(os.path.sep)[-2], m.split(os.path.sep)[-1])
+ for m in not_listed]))
+ rcode = 1
+
+ not_generated = expected_files - generated
+ if not_generated:
+ print("Following files were generated but not listed:\n %s" %
+ '\n '.join(["'%s/%s'," % (m.split(os.path.sep)[-2], m.split(os.path.sep)[-1])
+ for m in not_generated]))
+ rcode = 1
+
+ if rcode == 1:
+ generated = sorted(list(generated))
+ print("List of files to use in `meson.build`:\n %s" %
+ '\n '.join(["'%s/%s'," % (m.split(os.path.sep)[-2], m.split(os.path.sep)[-1])
+ for m in generated]))
+
+ exit(rcode)
diff --git a/subprojects/gstreamer-sharp/ges/generated/GES/Asset.cs b/subprojects/gstreamer-sharp/ges/generated/GES/Asset.cs
new file mode 100644
index 0000000000..69860a5ac7
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/Asset.cs
@@ -0,0 +1,1032 @@
+// 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;
+ }
+ }
+
+ 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;
+ }
+
+ public static bool NeedsReload(GLib.GType extractable_type) {
+ return NeedsReload (extractable_type, null);
+ }
+
+ [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) {
+ RequestAsync (extractable_type, null, 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, out int flags, out IntPtr type);
+
+ public bool CheckMetaRegistered(string meta_item, out GES.MetaFlag flags, out GLib.GType type) {
+ IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+ int native_flags;
+ IntPtr native_type;
+ bool raw_ret = ges_meta_container_check_meta_registered(Handle, native_meta_item, out native_flags, out native_type);
+ bool ret = raw_ret;
+ GLib.Marshaller.Free (native_meta_item);
+ flags = (GES.MetaFlag) native_flags;
+ type = new GLib.GType(native_type);
+ 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_marker_list(IntPtr raw, IntPtr key);
+
+ public GES.MarkerList GetMarkerList(string key) {
+ IntPtr native_key = GLib.Marshaller.StringToPtrGStrdup (key);
+ IntPtr raw_ret = ges_meta_container_get_marker_list(Handle, native_key);
+ GES.MarkerList ret = GLib.Object.GetObject(raw_ret, true) as GES.MarkerList;
+ GLib.Marshaller.Free (native_key);
+ 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;
+ }
+
+ [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;
+ }
+
+ [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_register_static_meta(IntPtr raw, int flags, IntPtr meta_item, IntPtr type);
+
+ public bool RegisterStaticMeta(GES.MetaFlag flags, string meta_item, GLib.GType type) {
+ IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+ bool raw_ret = ges_meta_container_register_static_meta(Handle, (int) flags, native_meta_item, type.Val);
+ 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_marker_list(IntPtr raw, IntPtr meta_item, IntPtr list);
+
+ public bool SetMarkerList(string meta_item, GES.MarkerList list) {
+ IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+ bool raw_ret = ges_meta_container_set_marker_list(Handle, native_meta_item, list == null ? IntPtr.Zero : list.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_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 key, IntPtr value);
+
+ static void NotifyMeta_cb (IntPtr inst, IntPtr key, IntPtr value)
+ {
+ try {
+ GES.Asset __obj = GLib.Object.GetObject (inst, false) as GES.Asset;
+ __obj.OnNotifyMeta (GLib.Marshaller.Utf8PtrToString (key), (GLib.Value) Marshal.PtrToStructure (value, typeof (GLib.Value)));
+ } catch (Exception e) {
+ GLib.ExceptionManager.RaiseUnhandledException (e, false);
+ }
+ }
+
+ [GLib.DefaultSignalHandler(Type=typeof(GES.Asset), ConnectionMethod="OverrideNotifyMeta")]
+ protected virtual void OnNotifyMeta (string key, GLib.Value value)
+ {
+ InternalNotifyMeta (key, value);
+ }
+
+ private void InternalNotifyMeta (string key, GLib.Value value)
+ {
+ 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 (key);
+ inst_and_params.Append (vals [1]);
+ vals [2] = new GLib.Value (value);
+ 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("gio-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("gio-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("gio-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/subprojects/gstreamer-sharp/ges/generated/GES/AssetAddedHandler.cs b/subprojects/gstreamer-sharp/ges/generated/GES/AssetAddedHandler.cs
new file mode 100644
index 0000000000..bebc548661
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/AssetAddedHandler.cs
@@ -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/subprojects/gstreamer-sharp/ges/generated/GES/AssetLoadingHandler.cs b/subprojects/gstreamer-sharp/ges/generated/GES/AssetLoadingHandler.cs
new file mode 100644
index 0000000000..61f8ad7645
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/AssetLoadingHandler.cs
@@ -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/subprojects/gstreamer-sharp/ges/generated/GES/AssetLoadingReturn.cs b/subprojects/gstreamer-sharp/ges/generated/GES/AssetLoadingReturn.cs
new file mode 100644
index 0000000000..71d0ff5fc9
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/AssetLoadingReturn.cs
@@ -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/subprojects/gstreamer-sharp/ges/generated/GES/AssetRemovedHandler.cs b/subprojects/gstreamer-sharp/ges/generated/GES/AssetRemovedHandler.cs
new file mode 100644
index 0000000000..b3c02775e3
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/AssetRemovedHandler.cs
@@ -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/subprojects/gstreamer-sharp/ges/generated/GES/AudioSource.cs b/subprojects/gstreamer-sharp/ges/generated/GES/AudioSource.cs
new file mode 100644
index 0000000000..c564906e0d
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/AudioSource.cs
@@ -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/subprojects/gstreamer-sharp/ges/generated/GES/AudioTestSource.cs b/subprojects/gstreamer-sharp/ges/generated/GES/AudioTestSource.cs
new file mode 100644
index 0000000000..3b58e63d18
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/AudioTestSource.cs
@@ -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/subprojects/gstreamer-sharp/ges/generated/GES/AudioTrack.cs b/subprojects/gstreamer-sharp/ges/generated/GES/AudioTrack.cs
new file mode 100644
index 0000000000..3ed84c52a6
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/AudioTrack.cs
@@ -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/subprojects/gstreamer-sharp/ges/generated/GES/AudioTransition.cs b/subprojects/gstreamer-sharp/ges/generated/GES/AudioTransition.cs
new file mode 100644
index 0000000000..bdef0fb249
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/AudioTransition.cs
@@ -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/subprojects/gstreamer-sharp/ges/generated/GES/AudioUriSource.cs b/subprojects/gstreamer-sharp/ges/generated/GES/AudioUriSource.cs
new file mode 100644
index 0000000000..050b6b4590
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/AudioUriSource.cs
@@ -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/subprojects/gstreamer-sharp/ges/generated/GES/BaseEffect.cs b/subprojects/gstreamer-sharp/ges/generated/GES/BaseEffect.cs
new file mode 100644
index 0000000000..d3bf948d4e
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/BaseEffect.cs
@@ -0,0 +1,117 @@
+// 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;
+ }
+ }
+
+ [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool ges_base_effect_is_time_effect(IntPtr raw);
+
+ public bool IsTimeEffect {
+ get {
+ bool raw_ret = ges_base_effect_is_time_effect(Handle);
+ bool ret = raw_ret;
+ return ret;
+ }
+ }
+
+ [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool ges_base_effect_register_time_property(IntPtr raw, IntPtr child_property_name);
+
+ public bool RegisterTimeProperty(string child_property_name) {
+ IntPtr native_child_property_name = GLib.Marshaller.StringToPtrGStrdup (child_property_name);
+ bool raw_ret = ges_base_effect_register_time_property(Handle, native_child_property_name);
+ bool ret = raw_ret;
+ GLib.Marshaller.Free (native_child_property_name);
+ 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/subprojects/gstreamer-sharp/ges/generated/GES/BaseEffectClip.cs b/subprojects/gstreamer-sharp/ges/generated/GES/BaseEffectClip.cs
new file mode 100644
index 0000000000..dded25483f
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/BaseEffectClip.cs
@@ -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/subprojects/gstreamer-sharp/ges/generated/GES/BaseEffectTimeTranslationFunc.cs b/subprojects/gstreamer-sharp/ges/generated/GES/BaseEffectTimeTranslationFunc.cs
new file mode 100644
index 0000000000..7ab5f205fe
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/BaseEffectTimeTranslationFunc.cs
@@ -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 ulong BaseEffectTimeTranslationFunc(GES.BaseEffect effect, ulong time, System.IntPtr time_property_values);
+
+}
diff --git a/subprojects/gstreamer-sharp/ges/generated/GES/BaseTransitionClip.cs b/subprojects/gstreamer-sharp/ges/generated/GES/BaseTransitionClip.cs
new file mode 100644
index 0000000000..b955112aca
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/BaseTransitionClip.cs
@@ -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/subprojects/gstreamer-sharp/ges/generated/GES/BaseXmlFormatter.cs b/subprojects/gstreamer-sharp/ges/generated/GES/BaseXmlFormatter.cs
new file mode 100644
index 0000000000..4734fa537c
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/BaseXmlFormatter.cs
@@ -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 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
+ , "xmlcontent"
+ , (uint) Marshal.SizeOf(typeof(IntPtr))
+ , 0
+ ),
+ new GLib.AbiField("xmlcontent"
+ , -1
+ , (uint) Marshal.SizeOf(typeof(IntPtr)) // xmlcontent
+ , "priv"
+ , "_ges_reserved"
+ , (uint) Marshal.SizeOf(typeof(IntPtr))
+ , 0
+ ),
+ new GLib.AbiField("_ges_reserved"
+ , -1
+ , (uint) Marshal.SizeOf(typeof(IntPtr)) * 3 // _ges_reserved
+ , "xmlcontent"
+ , null
+ , (uint) Marshal.SizeOf(typeof(IntPtr))
+ , 0
+ ),
+ });
+
+ return _abi_info;
+ }
+ }
+
+
+ // End of the ABI representation.
+
+#endregion
+ }
+}
diff --git a/subprojects/gstreamer-sharp/ges/generated/GES/ChildAddedHandler.cs b/subprojects/gstreamer-sharp/ges/generated/GES/ChildAddedHandler.cs
new file mode 100644
index 0000000000..58aef20697
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/ChildAddedHandler.cs
@@ -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/subprojects/gstreamer-sharp/ges/generated/GES/ChildPropertyAddedHandler.cs b/subprojects/gstreamer-sharp/ges/generated/GES/ChildPropertyAddedHandler.cs
new file mode 100644
index 0000000000..daa442c998
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/ChildPropertyAddedHandler.cs
@@ -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 ChildPropertyAddedHandler(object o, ChildPropertyAddedArgs args);
+
+ public class ChildPropertyAddedArgs : GLib.SignalArgs {
+ public GLib.Object PropObject{
+ get {
+ return (GLib.Object) Args [0];
+ }
+ }
+
+ public IntPtr Prop{
+ get {
+ return (IntPtr) Args [1];
+ }
+ }
+
+ }
+}
diff --git a/subprojects/gstreamer-sharp/ges/generated/GES/ChildPropertyRemovedHandler.cs b/subprojects/gstreamer-sharp/ges/generated/GES/ChildPropertyRemovedHandler.cs
new file mode 100644
index 0000000000..a1eb1081bf
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/ChildPropertyRemovedHandler.cs
@@ -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 ChildPropertyRemovedHandler(object o, ChildPropertyRemovedArgs args);
+
+ public class ChildPropertyRemovedArgs : GLib.SignalArgs {
+ public GLib.Object PropObject{
+ get {
+ return (GLib.Object) Args [0];
+ }
+ }
+
+ public IntPtr Prop{
+ get {
+ return (IntPtr) Args [1];
+ }
+ }
+
+ }
+}
diff --git a/subprojects/gstreamer-sharp/ges/generated/GES/ChildRemovedHandler.cs b/subprojects/gstreamer-sharp/ges/generated/GES/ChildRemovedHandler.cs
new file mode 100644
index 0000000000..a5e9a05312
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/ChildRemovedHandler.cs
@@ -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/subprojects/gstreamer-sharp/ges/generated/GES/ChildrenControlMode.cs b/subprojects/gstreamer-sharp/ges/generated/GES/ChildrenControlMode.cs
new file mode 100644
index 0000000000..387b6d32d8
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/ChildrenControlMode.cs
@@ -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/subprojects/gstreamer-sharp/ges/generated/GES/Clip.cs b/subprojects/gstreamer-sharp/ges/generated/GES/Clip.cs
new file mode 100644
index 0000000000..a8bba4d5fe
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/Clip.cs
@@ -0,0 +1,368 @@
+// 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 ulong ges_clip_get_duration_limit(IntPtr raw);
+
+ [GLib.Property ("duration-limit")]
+ public ulong DurationLimit {
+ get {
+ ulong raw_ret = ges_clip_get_duration_limit(Handle);
+ ulong ret = raw_ret;
+ return ret;
+ }
+ }
+
+ [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"
+ , "ABI"
+ , (uint) Marshal.SizeOf(typeof(IntPtr))
+ , 0
+ ),
+ // union struct ABI.abi
+ // End ABI.abi
+
+ // union struct ABI
+ new GLib.AbiField("ABI._gst_reserved"
+ , -1
+ , (uint) Marshal.SizeOf(typeof(IntPtr)) * 20 // ABI._gst_reserved
+ , "create_track_elements"
+ , null
+ , (uint) Marshal.SizeOf(typeof(IntPtr))
+ , 0
+ ),
+ // End ABI
+
+ new GLib.AbiField("ABI"
+ , -1
+ , new List<List<string>>() { // union ABI
+ new List<string>() {},
+ new List<string>() {"ABI._gst_reserved"}
+ }
+ , "create_track_elements"
+ , null
+ , 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 unsafe IntPtr ges_clip_add_child_to_track(IntPtr raw, IntPtr child, IntPtr track, out IntPtr error);
+
+ public unsafe GES.TrackElement AddChildToTrack(GES.TrackElement child, GES.Track track) {
+ IntPtr error = IntPtr.Zero;
+ IntPtr raw_ret = ges_clip_add_child_to_track(Handle, child == null ? IntPtr.Zero : child.Handle, track == null ? IntPtr.Zero : track.Handle, out error);
+ GES.TrackElement ret = GLib.Object.GetObject(raw_ret) as GES.TrackElement;
+ if (error != IntPtr.Zero) throw new GLib.GException (error);
+ return ret;
+ }
+
+ [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+ static extern unsafe bool ges_clip_add_top_effect(IntPtr raw, IntPtr effect, int index, out IntPtr error);
+
+ public unsafe bool AddTopEffect(GES.BaseEffect effect, int index) {
+ IntPtr error = IntPtr.Zero;
+ bool raw_ret = ges_clip_add_top_effect(Handle, effect == null ? IntPtr.Zero : effect.Handle, index, 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 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 unsafe ulong ges_clip_get_internal_time_from_timeline_time(IntPtr raw, IntPtr child, ulong timeline_time, out IntPtr error);
+
+ public unsafe ulong GetInternalTimeFromTimelineTime(GES.TrackElement child, ulong timeline_time) {
+ IntPtr error = IntPtr.Zero;
+ ulong raw_ret = ges_clip_get_internal_time_from_timeline_time(Handle, child == null ? IntPtr.Zero : child.Handle, timeline_time, out error);
+ ulong ret = raw_ret;
+ if (error != IntPtr.Zero) throw new GLib.GException (error);
+ return ret;
+ }
+
+ [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+ static extern unsafe ulong ges_clip_get_timeline_time_from_internal_time(IntPtr raw, IntPtr child, ulong internal_time, out IntPtr error);
+
+ public unsafe ulong GetTimelineTimeFromInternalTime(GES.TrackElement child, ulong internal_time) {
+ IntPtr error = IntPtr.Zero;
+ ulong raw_ret = ges_clip_get_timeline_time_from_internal_time(Handle, child == null ? IntPtr.Zero : child.Handle, internal_time, out error);
+ ulong ret = raw_ret;
+ if (error != IntPtr.Zero) throw new GLib.GException (error);
+ return ret;
+ }
+
+ [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+ static extern unsafe ulong ges_clip_get_timeline_time_from_source_frame(IntPtr raw, long frame_number, out IntPtr error);
+
+ public unsafe ulong GetTimelineTimeFromSourceFrame(long frame_number) {
+ IntPtr error = IntPtr.Zero;
+ ulong raw_ret = ges_clip_get_timeline_time_from_source_frame(Handle, frame_number, out error);
+ ulong ret = raw_ret;
+ if (error != IntPtr.Zero) throw new GLib.GException (error);
+ return ret;
+ }
+
+ [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 unsafe bool ges_clip_move_to_layer_full(IntPtr raw, IntPtr layer, out IntPtr error);
+
+ public unsafe bool MoveToLayerFull(GES.Layer layer) {
+ IntPtr error = IntPtr.Zero;
+ bool raw_ret = ges_clip_move_to_layer_full(Handle, layer == null ? IntPtr.Zero : layer.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 unsafe bool ges_clip_remove_top_effect(IntPtr raw, IntPtr effect, out IntPtr error);
+
+ public unsafe bool RemoveTopEffect(GES.BaseEffect effect) {
+ IntPtr error = IntPtr.Zero;
+ bool raw_ret = ges_clip_remove_top_effect(Handle, effect == null ? IntPtr.Zero : effect.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_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 unsafe bool ges_clip_set_top_effect_index_full(IntPtr raw, IntPtr effect, uint newindex, out IntPtr error);
+
+ public unsafe bool SetTopEffectIndexFull(GES.BaseEffect effect, uint newindex) {
+ IntPtr error = IntPtr.Zero;
+ bool raw_ret = ges_clip_set_top_effect_index_full(Handle, effect == null ? IntPtr.Zero : effect.Handle, newindex, 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_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;
+ }
+
+ [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+ static extern unsafe IntPtr ges_clip_split_full(IntPtr raw, ulong position, out IntPtr error);
+
+ public unsafe GES.Clip SplitFull(ulong position) {
+ IntPtr error = IntPtr.Zero;
+ IntPtr raw_ret = ges_clip_split_full(Handle, position, out error);
+ GES.Clip ret = GLib.Object.GetObject(raw_ret) as GES.Clip;
+ if (error != IntPtr.Zero) throw new GLib.GException (error);
+ 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/subprojects/gstreamer-sharp/ges/generated/GES/ClipAddedHandler.cs b/subprojects/gstreamer-sharp/ges/generated/GES/ClipAddedHandler.cs
new file mode 100644
index 0000000000..194c382f74
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/ClipAddedHandler.cs
@@ -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/subprojects/gstreamer-sharp/ges/generated/GES/ClipAsset.cs b/subprojects/gstreamer-sharp/ges/generated/GES/ClipAsset.cs
new file mode 100644
index 0000000000..2db2d626fb
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/ClipAsset.cs
@@ -0,0 +1,197 @@
+// 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);
+ }
+ }
+
+ static GetNaturalFramerateNativeDelegate GetNaturalFramerate_cb_delegate;
+ static GetNaturalFramerateNativeDelegate GetNaturalFramerateVMCallback {
+ get {
+ if (GetNaturalFramerate_cb_delegate == null)
+ GetNaturalFramerate_cb_delegate = new GetNaturalFramerateNativeDelegate (GetNaturalFramerate_cb);
+ return GetNaturalFramerate_cb_delegate;
+ }
+ }
+
+ static void OverrideGetNaturalFramerate (GLib.GType gtype)
+ {
+ OverrideGetNaturalFramerate (gtype, GetNaturalFramerateVMCallback);
+ }
+
+ static void OverrideGetNaturalFramerate (GLib.GType gtype, GetNaturalFramerateNativeDelegate callback)
+ {
+ unsafe {
+ IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("get_natural_framerate"));
+ *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+ }
+ }
+
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ delegate bool GetNaturalFramerateNativeDelegate (IntPtr inst, int framerate_n, int framerate_d);
+
+ static bool GetNaturalFramerate_cb (IntPtr inst, int framerate_n, int framerate_d)
+ {
+ try {
+ ClipAsset __obj = GLib.Object.GetObject (inst, false) as ClipAsset;
+ bool __result;
+ __result = __obj.OnGetNaturalFramerate (framerate_n, framerate_d);
+ return __result;
+ } catch (Exception e) {
+ GLib.ExceptionManager.RaiseUnhandledException (e, true);
+ // NOTREACHED: above call does not return.
+ throw e;
+ }
+ }
+
+ [GLib.DefaultSignalHandler(Type=typeof(GES.ClipAsset), ConnectionMethod="OverrideGetNaturalFramerate")]
+ protected virtual bool OnGetNaturalFramerate (int framerate_n, int framerate_d)
+ {
+ return InternalGetNaturalFramerate (framerate_n, framerate_d);
+ }
+
+ private bool InternalGetNaturalFramerate (int framerate_n, int framerate_d)
+ {
+ GetNaturalFramerateNativeDelegate unmanaged = null;
+ unsafe {
+ IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("get_natural_framerate"));
+ unmanaged = (GetNaturalFramerateNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(GetNaturalFramerateNativeDelegate));
+ }
+ if (unmanaged == null) return false;
+
+ bool __result = unmanaged (this.Handle, framerate_n, framerate_d);
+ 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_natural_framerate"
+ , GES.Asset.class_abi.Fields
+ , (uint) Marshal.SizeOf(typeof(IntPtr)) // get_natural_framerate
+ , null
+ , "_ges_reserved"
+ , (uint) Marshal.SizeOf(typeof(IntPtr))
+ , 0
+ ),
+ new GLib.AbiField("_ges_reserved"
+ , -1
+ , (uint) Marshal.SizeOf(typeof(IntPtr)) * 3 // _ges_reserved
+ , "get_natural_framerate"
+ , 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;
+ }
+ }
+
+ [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+ static extern ulong ges_clip_asset_get_frame_time(IntPtr raw, long frame_number);
+
+ public ulong GetFrameTime(long frame_number) {
+ ulong raw_ret = ges_clip_asset_get_frame_time(Handle, frame_number);
+ ulong ret = raw_ret;
+ return ret;
+ }
+
+ [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool ges_clip_asset_get_natural_framerate(IntPtr raw, int framerate_n, int framerate_d);
+
+ public bool GetNaturalFramerate(int framerate_n, int framerate_d) {
+ bool raw_ret = ges_clip_asset_get_natural_framerate(Handle, framerate_n, framerate_d);
+ bool ret = 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/subprojects/gstreamer-sharp/ges/generated/GES/ClipRemovedHandler.cs b/subprojects/gstreamer-sharp/ges/generated/GES/ClipRemovedHandler.cs
new file mode 100644
index 0000000000..77253bbc1b
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/ClipRemovedHandler.cs
@@ -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/subprojects/gstreamer-sharp/ges/generated/GES/CommandLineFormatter.cs b/subprojects/gstreamer-sharp/ges/generated/GES/CommandLineFormatter.cs
new file mode 100644
index 0000000000..409e04f6f6
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/CommandLineFormatter.cs
@@ -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/subprojects/gstreamer-sharp/ges/generated/GES/Constants.cs b/subprojects/gstreamer-sharp/ges/generated/GES/Constants.cs
new file mode 100644
index 0000000000..41937b61cc
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/Constants.cs
@@ -0,0 +1,35 @@
+// 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 long FRAME_NUMBER_NONE = 9223372036854775807;
+ 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_MARKER_COLOR = @"marker-color";
+ 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;
+ public const uint TIMELINE_ELEMENT_NO_LAYER_PRIORITY = 4294967295;
+ public const int VERSION_MAJOR = 1;
+ public const int VERSION_MICRO = 0;
+ public const int VERSION_MINOR = 19;
+ public const int VERSION_NANO = 1;
+#endregion
+ }
+}
diff --git a/subprojects/gstreamer-sharp/ges/generated/GES/Container.cs b/subprojects/gstreamer-sharp/ges/generated/GES/Container.cs
new file mode 100644
index 0000000000..23b46c94f1
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/Container.cs
@@ -0,0 +1,679 @@
+// 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);
+
+ [Obsolete]
+ 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;
+ }
+
+ public bool Edit(int new_layer_priority, GES.EditMode mode, GES.Edge edge, ulong position) {
+ return Edit (null, new_layer_priority, mode, edge, position);
+ }
+
+ [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/subprojects/gstreamer-sharp/ges/generated/GES/ControlBindingAddedHandler.cs b/subprojects/gstreamer-sharp/ges/generated/GES/ControlBindingAddedHandler.cs
new file mode 100644
index 0000000000..2e2579361a
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/ControlBindingAddedHandler.cs
@@ -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/subprojects/gstreamer-sharp/ges/generated/GES/ControlBindingRemovedHandler.cs b/subprojects/gstreamer-sharp/ges/generated/GES/ControlBindingRemovedHandler.cs
new file mode 100644
index 0000000000..c94381a250
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/ControlBindingRemovedHandler.cs
@@ -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/subprojects/gstreamer-sharp/ges/generated/GES/CreateElementForGapFunc.cs b/subprojects/gstreamer-sharp/ges/generated/GES/CreateElementForGapFunc.cs
new file mode 100644
index 0000000000..4b5a90365a
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/CreateElementForGapFunc.cs
@@ -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/subprojects/gstreamer-sharp/ges/generated/GES/CreateTrackElementFunc.cs b/subprojects/gstreamer-sharp/ges/generated/GES/CreateTrackElementFunc.cs
new file mode 100644
index 0000000000..0de1565b01
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/CreateTrackElementFunc.cs
@@ -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/subprojects/gstreamer-sharp/ges/generated/GES/CreateTrackElementsFunc.cs b/subprojects/gstreamer-sharp/ges/generated/GES/CreateTrackElementsFunc.cs
new file mode 100644
index 0000000000..815fd49c70
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/CreateTrackElementsFunc.cs
@@ -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[] CreateTrackElementsFunc(GES.Clip clip, GES.TrackType type);
+
+}
diff --git a/subprojects/gstreamer-sharp/ges/generated/GES/DeepNotifyHandler.cs b/subprojects/gstreamer-sharp/ges/generated/GES/DeepNotifyHandler.cs
new file mode 100644
index 0000000000..81f48b5bc4
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/DeepNotifyHandler.cs
@@ -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/subprojects/gstreamer-sharp/ges/generated/GES/Edge.cs b/subprojects/gstreamer-sharp/ges/generated/GES/Edge.cs
new file mode 100644
index 0000000000..ae38f5e513
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/Edge.cs
@@ -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.EdgeGType))]
+ public enum Edge {
+
+ EdgeStart = 0,
+ Start = 0,
+ EdgeEnd = 1,
+ End = 1,
+ EdgeNone = 2,
+ None = 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/subprojects/gstreamer-sharp/ges/generated/GES/EditMode.cs b/subprojects/gstreamer-sharp/ges/generated/GES/EditMode.cs
new file mode 100644
index 0000000000..ceac9e5b5b
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/EditMode.cs
@@ -0,0 +1,36 @@
+// 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,
+ Normal = 0,
+ EditRipple = 1,
+ Ripple = 1,
+ EditRoll = 2,
+ Roll = 2,
+ EditTrim = 3,
+ Trim = 3,
+ EditSlide = 4,
+ Slide = 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/subprojects/gstreamer-sharp/ges/generated/GES/Effect.cs b/subprojects/gstreamer-sharp/ges/generated/GES/Effect.cs
new file mode 100644
index 0000000000..9d0a225107
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/Effect.cs
@@ -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/subprojects/gstreamer-sharp/ges/generated/GES/EffectAsset.cs b/subprojects/gstreamer-sharp/ges/generated/GES/EffectAsset.cs
new file mode 100644
index 0000000000..4aa0a5b712
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/EffectAsset.cs
@@ -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/subprojects/gstreamer-sharp/ges/generated/GES/EffectClip.cs b/subprojects/gstreamer-sharp/ges/generated/GES/EffectClip.cs
new file mode 100644
index 0000000000..6c254a2079
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/EffectClip.cs
@@ -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/subprojects/gstreamer-sharp/ges/generated/GES/Error.cs b/subprojects/gstreamer-sharp/ges/generated/GES/Error.cs
new file mode 100644
index 0000000000..179c56331d
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/Error.cs
@@ -0,0 +1,23 @@
+// 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,
+ InvalidFrameNumber = 3,
+ NegativeLayer = 4,
+ NegativeTime = 5,
+ NotEnoughInternalContent = 6,
+ InvalidOverlapInTrack = 7,
+ InvalidEffectBinDescription = 8,
+ }
+#endregion
+}
diff --git a/subprojects/gstreamer-sharp/ges/generated/GES/ExtractableAdapter.cs b/subprojects/gstreamer-sharp/ges/generated/GES/ExtractableAdapter.cs
new file mode 100644
index 0000000000..62838aa116
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/ExtractableAdapter.cs
@@ -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/subprojects/gstreamer-sharp/ges/generated/GES/ExtractableCheckId.cs b/subprojects/gstreamer-sharp/ges/generated/GES/ExtractableCheckId.cs
new file mode 100644
index 0000000000..59529e4be5
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/ExtractableCheckId.cs
@@ -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/subprojects/gstreamer-sharp/ges/generated/GES/FillTrackElementFunc.cs b/subprojects/gstreamer-sharp/ges/generated/GES/FillTrackElementFunc.cs
new file mode 100644
index 0000000000..bfa123715c
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/FillTrackElementFunc.cs
@@ -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/subprojects/gstreamer-sharp/ges/generated/GES/Formatter.cs b/subprojects/gstreamer-sharp/ges/generated/GES/Formatter.cs
new file mode 100644
index 0000000000..7ad6778c1f
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/Formatter.cs
@@ -0,0 +1,308 @@
+// 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 extensions, IntPtr caps, double version, int rank);
+
+ public static void RegisterMetas(string name, string description, string extensions, string caps, double version, Gst.Rank rank) {
+ IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
+ IntPtr native_description = GLib.Marshaller.StringToPtrGStrdup (description);
+ IntPtr native_extensions = GLib.Marshaller.StringToPtrGStrdup (extensions);
+ IntPtr native_caps = GLib.Marshaller.StringToPtrGStrdup (caps);
+ ges_formatter_class_register_metas(native_name, native_description, native_extensions, native_caps, version, (int) rank);
+ GLib.Marshaller.Free (native_name);
+ GLib.Marshaller.Free (native_description);
+ GLib.Marshaller.Free (native_extensions);
+ GLib.Marshaller.Free (native_caps);
+ }
+
+ [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);
+
+ [Obsolete]
+ 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);
+
+ [Obsolete]
+ 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/subprojects/gstreamer-sharp/ges/generated/GES/FormatterCanLoadURIMethod.cs b/subprojects/gstreamer-sharp/ges/generated/GES/FormatterCanLoadURIMethod.cs
new file mode 100644
index 0000000000..617d104baf
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/FormatterCanLoadURIMethod.cs
@@ -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/subprojects/gstreamer-sharp/ges/generated/GES/FormatterLoadFromURIMethod.cs b/subprojects/gstreamer-sharp/ges/generated/GES/FormatterLoadFromURIMethod.cs
new file mode 100644
index 0000000000..ef142af052
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/FormatterLoadFromURIMethod.cs
@@ -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/subprojects/gstreamer-sharp/ges/generated/GES/FormatterSaveToURIMethod.cs b/subprojects/gstreamer-sharp/ges/generated/GES/FormatterSaveToURIMethod.cs
new file mode 100644
index 0000000000..8601227116
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/FormatterSaveToURIMethod.cs
@@ -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/subprojects/gstreamer-sharp/ges/generated/GES/GESSharp.BaseEffectTimeTranslationFuncNative.cs b/subprojects/gstreamer-sharp/ges/generated/GES/GESSharp.BaseEffectTimeTranslationFuncNative.cs
new file mode 100644
index 0000000000..e3a81987cd
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/GESSharp.BaseEffectTimeTranslationFuncNative.cs
@@ -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 ulong BaseEffectTimeTranslationFuncNative(IntPtr effect, ulong time, System.IntPtr time_property_values, IntPtr user_data);
+
+ internal class BaseEffectTimeTranslationFuncInvoker {
+
+ BaseEffectTimeTranslationFuncNative native_cb;
+ IntPtr __data;
+ GLib.DestroyNotify __notify;
+
+ ~BaseEffectTimeTranslationFuncInvoker ()
+ {
+ if (__notify == null)
+ return;
+ __notify (__data);
+ }
+
+ internal BaseEffectTimeTranslationFuncInvoker (BaseEffectTimeTranslationFuncNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+ internal BaseEffectTimeTranslationFuncInvoker (BaseEffectTimeTranslationFuncNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+ internal BaseEffectTimeTranslationFuncInvoker (BaseEffectTimeTranslationFuncNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+ {
+ this.native_cb = native_cb;
+ __data = data;
+ __notify = notify;
+ }
+
+ internal GES.BaseEffectTimeTranslationFunc Handler {
+ get {
+ return new GES.BaseEffectTimeTranslationFunc(InvokeNative);
+ }
+ }
+
+ ulong InvokeNative (GES.BaseEffect effect, ulong time, System.IntPtr time_property_values)
+ {
+ ulong __result = native_cb (effect == null ? IntPtr.Zero : effect.Handle, time, time_property_values, __data);
+ return __result;
+ }
+ }
+
+ internal class BaseEffectTimeTranslationFuncWrapper {
+
+ public ulong NativeCallback (IntPtr effect, ulong time, System.IntPtr time_property_values, IntPtr user_data)
+ {
+ try {
+ ulong __ret = managed (GLib.Object.GetObject(effect) as GES.BaseEffect, time, time_property_values);
+ 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 BaseEffectTimeTranslationFuncNative NativeDelegate;
+ GES.BaseEffectTimeTranslationFunc managed;
+
+ public BaseEffectTimeTranslationFuncWrapper (GES.BaseEffectTimeTranslationFunc managed)
+ {
+ this.managed = managed;
+ if (managed != null)
+ NativeDelegate = new BaseEffectTimeTranslationFuncNative (NativeCallback);
+ }
+
+ public static GES.BaseEffectTimeTranslationFunc GetManagedDelegate (BaseEffectTimeTranslationFuncNative native)
+ {
+ if (native == null)
+ return null;
+ BaseEffectTimeTranslationFuncWrapper wrapper = (BaseEffectTimeTranslationFuncWrapper) native.Target;
+ if (wrapper == null)
+ return null;
+ return wrapper.managed;
+ }
+ }
+#endregion
+}
diff --git a/subprojects/gstreamer-sharp/ges/generated/GES/GESSharp.CreateElementForGapFuncNative.cs b/subprojects/gstreamer-sharp/ges/generated/GES/GESSharp.CreateElementForGapFuncNative.cs
new file mode 100644
index 0000000000..5e6613fc82
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/GESSharp.CreateElementForGapFuncNative.cs
@@ -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/subprojects/gstreamer-sharp/ges/generated/GES/GESSharp.CreateTrackElementFuncNative.cs b/subprojects/gstreamer-sharp/ges/generated/GES/GESSharp.CreateTrackElementFuncNative.cs
new file mode 100644
index 0000000000..650be8d63c
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/GESSharp.CreateTrackElementFuncNative.cs
@@ -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/subprojects/gstreamer-sharp/ges/generated/GES/GESSharp.CreateTrackElementsFuncNative.cs b/subprojects/gstreamer-sharp/ges/generated/GES/GESSharp.CreateTrackElementsFuncNative.cs
new file mode 100644
index 0000000000..579cd178f2
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/GESSharp.CreateTrackElementsFuncNative.cs
@@ -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);
+ }
+ }
+
+ GES.TrackElement[] InvokeNative (GES.Clip clip, GES.TrackType type)
+ {
+ GES.TrackElement[] __result = (GES.TrackElement[]) GLib.Marshaller.ListPtrToArray (native_cb (clip == null ? IntPtr.Zero : clip.Handle, (int) type), typeof(GLib.List), false, true, typeof(GES.TrackElement));
+ return __result;
+ }
+ }
+
+ internal class CreateTrackElementsFuncWrapper {
+
+ 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 new GLib.List(__ret, typeof (GES.TrackElement), false, true) == null ? IntPtr.Zero : new GLib.List(__ret, typeof (GES.TrackElement), false, true).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/subprojects/gstreamer-sharp/ges/generated/GES/GESSharp.ExtractableCheckIdNative.cs b/subprojects/gstreamer-sharp/ges/generated/GES/GESSharp.ExtractableCheckIdNative.cs
new file mode 100644
index 0000000000..1fa166731f
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/GESSharp.ExtractableCheckIdNative.cs
@@ -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/subprojects/gstreamer-sharp/ges/generated/GES/GESSharp.FillTrackElementFuncNative.cs b/subprojects/gstreamer-sharp/ges/generated/GES/GESSharp.FillTrackElementFuncNative.cs
new file mode 100644
index 0000000000..575df8e4ff
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/GESSharp.FillTrackElementFuncNative.cs
@@ -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/subprojects/gstreamer-sharp/ges/generated/GES/GESSharp.FormatterCanLoadURIMethodNative.cs b/subprojects/gstreamer-sharp/ges/generated/GES/GESSharp.FormatterCanLoadURIMethodNative.cs
new file mode 100644
index 0000000000..659458d443
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/GESSharp.FormatterCanLoadURIMethodNative.cs
@@ -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/subprojects/gstreamer-sharp/ges/generated/GES/GESSharp.FormatterLoadFromURIMethodNative.cs b/subprojects/gstreamer-sharp/ges/generated/GES/GESSharp.FormatterLoadFromURIMethodNative.cs
new file mode 100644
index 0000000000..61b19dcdca
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/GESSharp.FormatterLoadFromURIMethodNative.cs
@@ -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/subprojects/gstreamer-sharp/ges/generated/GES/GESSharp.FormatterSaveToURIMethodNative.cs b/subprojects/gstreamer-sharp/ges/generated/GES/GESSharp.FormatterSaveToURIMethodNative.cs
new file mode 100644
index 0000000000..3d85392c6a
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/GESSharp.FormatterSaveToURIMethodNative.cs
@@ -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/subprojects/gstreamer-sharp/ges/generated/GES/GESSharp.MetaForeachFuncNative.cs b/subprojects/gstreamer-sharp/ges/generated/GES/GESSharp.MetaForeachFuncNative.cs
new file mode 100644
index 0000000000..b13ca17455
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/GESSharp.MetaForeachFuncNative.cs
@@ -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/subprojects/gstreamer-sharp/ges/generated/GES/Global.cs b/subprojects/gstreamer-sharp/ges/generated/GES/Global.cs
new file mode 100644
index 0000000000..1ed283c8e3
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/Global.cs
@@ -0,0 +1,153 @@
+// 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 IntPtr ges_edge_name(int edge);
+
+ public static string EdgeName(GES.Edge edge) {
+ IntPtr raw_ret = ges_edge_name((int) edge);
+ string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+ return ret;
+ }
+
+ [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr ges_edit_mode_name(int mode);
+
+ public static string EditModeName(GES.EditMode mode) {
+ IntPtr raw_ret = ges_edit_mode_name((int) mode);
+ string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+ return ret;
+ }
+
+ [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr ges_find_formatter_for_uri(IntPtr uri);
+
+ public static GES.Asset FindFormatterForUri(string uri) {
+ IntPtr native_uri = GLib.Marshaller.StringToPtrGStrdup (uri);
+ IntPtr raw_ret = ges_find_formatter_for_uri(native_uri);
+ GES.Asset ret = GLib.Object.GetObject(raw_ret) as GES.Asset;
+ GLib.Marshaller.Free (native_uri);
+ return ret;
+ }
+
+ [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 bool ges_is_initialized();
+
+ public static bool IsInitialized {
+ get {
+ bool raw_ret = ges_is_initialized();
+ 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);
+
+ [Obsolete]
+ 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/subprojects/gstreamer-sharp/ges/generated/GES/Group.cs b/subprojects/gstreamer-sharp/ges/generated/GES/Group.cs
new file mode 100644
index 0000000000..723bc77fca
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/Group.cs
@@ -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/subprojects/gstreamer-sharp/ges/generated/GES/GroupAddedHandler.cs b/subprojects/gstreamer-sharp/ges/generated/GES/GroupAddedHandler.cs
new file mode 100644
index 0000000000..da0c424085
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/GroupAddedHandler.cs
@@ -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/subprojects/gstreamer-sharp/ges/generated/GES/IExtractable.cs b/subprojects/gstreamer-sharp/ges/generated/GES/IExtractable.cs
new file mode 100644
index 0000000000..ad6e0d03bf
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/IExtractable.cs
@@ -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/subprojects/gstreamer-sharp/ges/generated/GES/IMetaContainer.cs b/subprojects/gstreamer-sharp/ges/generated/GES/IMetaContainer.cs
new file mode 100644
index 0000000000..fd545f163b
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/IMetaContainer.cs
@@ -0,0 +1,56 @@
+// 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, out GES.MetaFlag flags, out 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);
+ GES.MarkerList GetMarkerList(string key);
+ 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 RegisterStaticMeta(GES.MetaFlag flags, string meta_item, GLib.GType type);
+ 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 SetMarkerList(string meta_item, GES.MarkerList list);
+ 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/subprojects/gstreamer-sharp/ges/generated/GES/ImageSource.cs b/subprojects/gstreamer-sharp/ges/generated/GES/ImageSource.cs
new file mode 100644
index 0000000000..e423bbea09
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/ImageSource.cs
@@ -0,0 +1,114 @@
+// 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
+ [Obsolete]
+ 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/subprojects/gstreamer-sharp/ges/generated/GES/Layer.cs b/subprojects/gstreamer-sharp/ges/generated/GES/Layer.cs
new file mode 100644
index 0000000000..667037013f
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/Layer.cs
@@ -0,0 +1,1091 @@
+// 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);
+
+ [Obsolete]
+ [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-removed")]
+ public event GES.ClipRemovedHandler ClipRemoved {
+ add {
+ this.AddSignalHandler ("clip-removed", value, typeof (GES.ClipRemovedArgs));
+ }
+ remove {
+ this.RemoveSignalHandler ("clip-removed", value);
+ }
+ }
+
+ [GLib.Signal("clip-added")]
+ public event GES.ClipAddedHandler ClipAdded {
+ add {
+ this.AddSignalHandler ("clip-added", value, typeof (GES.ClipAddedArgs));
+ }
+ remove {
+ this.RemoveSignalHandler ("clip-added", 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 unsafe IntPtr ges_layer_add_asset_full(IntPtr raw, IntPtr asset, ulong start, ulong inpoint, ulong duration, int track_types, out IntPtr error);
+
+ public unsafe GES.Clip AddAssetFull(GES.Asset asset, ulong start, ulong inpoint, ulong duration, GES.TrackType track_types) {
+ IntPtr error = IntPtr.Zero;
+ IntPtr raw_ret = ges_layer_add_asset_full(Handle, asset == null ? IntPtr.Zero : asset.Handle, start, inpoint, duration, (int) track_types, out error);
+ GES.Clip ret = GLib.Object.GetObject(raw_ret) as GES.Clip;
+ if (error != IntPtr.Zero) throw new GLib.GException (error);
+ 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.Handle);
+ bool ret = raw_ret;
+ return ret;
+ }
+
+ [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+ static extern unsafe bool ges_layer_add_clip_full(IntPtr raw, IntPtr clip, out IntPtr error);
+
+ public unsafe bool AddClipFull(GES.Clip clip) {
+ IntPtr error = IntPtr.Zero;
+ bool raw_ret = ges_layer_add_clip_full(Handle, clip == null ? IntPtr.Zero : clip.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_layer_get_active_for_track(IntPtr raw, IntPtr track);
+
+ public bool GetActiveForTrack(GES.Track track) {
+ bool raw_ret = ges_layer_get_active_for_track(Handle, track == null ? IntPtr.Zero : track.Handle);
+ 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 bool ges_layer_set_active_for_tracks(IntPtr raw, bool active, IntPtr tracks);
+
+ public bool SetActiveForTracks(bool active, GLib.List tracks) {
+ bool raw_ret = ges_layer_set_active_for_tracks(Handle, active, tracks == null ? IntPtr.Zero : tracks.Handle);
+ bool ret = raw_ret;
+ return ret;
+ }
+
+ public bool SetActiveForTracks(bool active) {
+ return SetActiveForTracks (active, null);
+ }
+
+ [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, out int flags, out IntPtr type);
+
+ public bool CheckMetaRegistered(string meta_item, out GES.MetaFlag flags, out GLib.GType type) {
+ IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+ int native_flags;
+ IntPtr native_type;
+ bool raw_ret = ges_meta_container_check_meta_registered(Handle, native_meta_item, out native_flags, out native_type);
+ bool ret = raw_ret;
+ GLib.Marshaller.Free (native_meta_item);
+ flags = (GES.MetaFlag) native_flags;
+ type = new GLib.GType(native_type);
+ 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_marker_list(IntPtr raw, IntPtr key);
+
+ public GES.MarkerList GetMarkerList(string key) {
+ IntPtr native_key = GLib.Marshaller.StringToPtrGStrdup (key);
+ IntPtr raw_ret = ges_meta_container_get_marker_list(Handle, native_key);
+ GES.MarkerList ret = GLib.Object.GetObject(raw_ret, true) as GES.MarkerList;
+ GLib.Marshaller.Free (native_key);
+ 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;
+ }
+
+ [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;
+ }
+
+ [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_register_static_meta(IntPtr raw, int flags, IntPtr meta_item, IntPtr type);
+
+ public bool RegisterStaticMeta(GES.MetaFlag flags, string meta_item, GLib.GType type) {
+ IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+ bool raw_ret = ges_meta_container_register_static_meta(Handle, (int) flags, native_meta_item, type.Val);
+ 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_marker_list(IntPtr raw, IntPtr meta_item, IntPtr list);
+
+ public bool SetMarkerList(string meta_item, GES.MarkerList list) {
+ IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+ bool raw_ret = ges_meta_container_set_marker_list(Handle, native_meta_item, list == null ? IntPtr.Zero : list.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_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 key, IntPtr value);
+
+ static void NotifyMeta_cb (IntPtr inst, IntPtr key, IntPtr value)
+ {
+ try {
+ GES.Layer __obj = GLib.Object.GetObject (inst, false) as GES.Layer;
+ __obj.OnNotifyMeta (GLib.Marshaller.Utf8PtrToString (key), (GLib.Value) Marshal.PtrToStructure (value, typeof (GLib.Value)));
+ } catch (Exception e) {
+ GLib.ExceptionManager.RaiseUnhandledException (e, false);
+ }
+ }
+
+ [GLib.DefaultSignalHandler(Type=typeof(GES.Layer), ConnectionMethod="OverrideNotifyMeta")]
+ protected virtual void OnNotifyMeta (string key, GLib.Value value)
+ {
+ InternalNotifyMeta (key, value);
+ }
+
+ private void InternalNotifyMeta (string key, GLib.Value value)
+ {
+ 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 (key);
+ inst_and_params.Append (vals [1]);
+ vals [2] = new GLib.Value (value);
+ 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/subprojects/gstreamer-sharp/ges/generated/GES/LayerAddedHandler.cs b/subprojects/gstreamer-sharp/ges/generated/GES/LayerAddedHandler.cs
new file mode 100644
index 0000000000..d324cd1ba7
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/LayerAddedHandler.cs
@@ -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/subprojects/gstreamer-sharp/ges/generated/GES/LayerRemovedHandler.cs b/subprojects/gstreamer-sharp/ges/generated/GES/LayerRemovedHandler.cs
new file mode 100644
index 0000000000..a190710fbc
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/LayerRemovedHandler.cs
@@ -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/subprojects/gstreamer-sharp/ges/generated/GES/LoadedHandler.cs b/subprojects/gstreamer-sharp/ges/generated/GES/LoadedHandler.cs
new file mode 100644
index 0000000000..15b56b1f71
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/LoadedHandler.cs
@@ -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/subprojects/gstreamer-sharp/ges/generated/GES/LoadingHandler.cs b/subprojects/gstreamer-sharp/ges/generated/GES/LoadingHandler.cs
new file mode 100644
index 0000000000..df6e204209
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/LoadingHandler.cs
@@ -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 LoadingHandler(object o, LoadingArgs args);
+
+ public class LoadingArgs : GLib.SignalArgs {
+ public GES.Timeline Timeline{
+ get {
+ return (GES.Timeline) Args [0];
+ }
+ }
+
+ }
+}
diff --git a/subprojects/gstreamer-sharp/ges/generated/GES/Marker.cs b/subprojects/gstreamer-sharp/ges/generated/GES/Marker.cs
new file mode 100644
index 0000000000..6505fb628a
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/Marker.cs
@@ -0,0 +1,562 @@
+// 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 Marker : GLib.Object, GES.IMetaContainer {
+
+ public Marker (IntPtr raw) : base(raw) {}
+
+ protected Marker() : base(IntPtr.Zero)
+ {
+ CreateNativeObject (new string [0], new GLib.Value [0]);
+ }
+
+ [GLib.Property ("position")]
+ public ulong Position {
+ get {
+ GLib.Value val = GetProperty ("position");
+ 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 (GLib.Object.class_abi.Fields);
+
+ return _class_abi;
+ }
+ }
+
+
+ // End of the ABI representation.
+
+ [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr ges_marker_get_type();
+
+ public static new GLib.GType GType {
+ get {
+ IntPtr raw_ret = ges_marker_get_type();
+ GLib.GType ret = new GLib.GType(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, out int flags, out IntPtr type);
+
+ public bool CheckMetaRegistered(string meta_item, out GES.MetaFlag flags, out GLib.GType type) {
+ IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+ int native_flags;
+ IntPtr native_type;
+ bool raw_ret = ges_meta_container_check_meta_registered(Handle, native_meta_item, out native_flags, out native_type);
+ bool ret = raw_ret;
+ GLib.Marshaller.Free (native_meta_item);
+ flags = (GES.MetaFlag) native_flags;
+ type = new GLib.GType(native_type);
+ 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_marker_list(IntPtr raw, IntPtr key);
+
+ public GES.MarkerList GetMarkerList(string key) {
+ IntPtr native_key = GLib.Marshaller.StringToPtrGStrdup (key);
+ IntPtr raw_ret = ges_meta_container_get_marker_list(Handle, native_key);
+ GES.MarkerList ret = GLib.Object.GetObject(raw_ret, true) as GES.MarkerList;
+ GLib.Marshaller.Free (native_key);
+ 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;
+ }
+
+ [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;
+ }
+
+ [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_register_static_meta(IntPtr raw, int flags, IntPtr meta_item, IntPtr type);
+
+ public bool RegisterStaticMeta(GES.MetaFlag flags, string meta_item, GLib.GType type) {
+ IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+ bool raw_ret = ges_meta_container_register_static_meta(Handle, (int) flags, native_meta_item, type.Val);
+ 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_marker_list(IntPtr raw, IntPtr meta_item, IntPtr list);
+
+ public bool SetMarkerList(string meta_item, GES.MarkerList list) {
+ IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+ bool raw_ret = ges_meta_container_set_marker_list(Handle, native_meta_item, list == null ? IntPtr.Zero : list.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_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 key, IntPtr value);
+
+ static void NotifyMeta_cb (IntPtr inst, IntPtr key, IntPtr value)
+ {
+ try {
+ GES.Marker __obj = GLib.Object.GetObject (inst, false) as GES.Marker;
+ __obj.OnNotifyMeta (GLib.Marshaller.Utf8PtrToString (key), (GLib.Value) Marshal.PtrToStructure (value, typeof (GLib.Value)));
+ } catch (Exception e) {
+ GLib.ExceptionManager.RaiseUnhandledException (e, false);
+ }
+ }
+
+ [GLib.DefaultSignalHandler(Type=typeof(GES.Marker), ConnectionMethod="OverrideNotifyMeta")]
+ protected virtual void OnNotifyMeta (string key, GLib.Value value)
+ {
+ InternalNotifyMeta (key, value);
+ }
+
+ private void InternalNotifyMeta (string key, GLib.Value value)
+ {
+ 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 (key);
+ inst_and_params.Append (vals [1]);
+ vals [2] = new GLib.Value (value);
+ 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 Marker ()
+ {
+ 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 (GLib.Object.abi_info.Fields);
+
+ return _abi_info;
+ }
+ }
+
+
+ // End of the ABI representation.
+
+#endregion
+ }
+}
diff --git a/subprojects/gstreamer-sharp/ges/generated/GES/MarkerAddedHandler.cs b/subprojects/gstreamer-sharp/ges/generated/GES/MarkerAddedHandler.cs
new file mode 100644
index 0000000000..ec1bc99300
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/MarkerAddedHandler.cs
@@ -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 MarkerAddedHandler(object o, MarkerAddedArgs args);
+
+ public class MarkerAddedArgs : GLib.SignalArgs {
+ public ulong Position{
+ get {
+ return (ulong) Args [0];
+ }
+ }
+
+ public GES.Marker Marker{
+ get {
+ return (GES.Marker) Args [1];
+ }
+ }
+
+ }
+}
diff --git a/subprojects/gstreamer-sharp/ges/generated/GES/MarkerList.cs b/subprojects/gstreamer-sharp/ges/generated/GES/MarkerList.cs
new file mode 100644
index 0000000000..8e396b943e
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/MarkerList.cs
@@ -0,0 +1,312 @@
+// 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 MarkerList : GLib.Object {
+
+ public MarkerList (IntPtr raw) : base(raw) {}
+
+ [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr ges_marker_list_new();
+
+ public MarkerList () : base (IntPtr.Zero)
+ {
+ if (GetType () != typeof (MarkerList)) {
+ CreateNativeObject (new string [0], new GLib.Value[0]);
+ return;
+ }
+ Raw = ges_marker_list_new();
+ }
+
+ [GLib.Signal("marker-added")]
+ public event GES.MarkerAddedHandler MarkerAdded {
+ add {
+ this.AddSignalHandler ("marker-added", value, typeof (GES.MarkerAddedArgs));
+ }
+ remove {
+ this.RemoveSignalHandler ("marker-added", value);
+ }
+ }
+
+ [GLib.Signal("marker-moved")]
+ public event GES.MarkerMovedHandler MarkerMoved {
+ add {
+ this.AddSignalHandler ("marker-moved", value, typeof (GES.MarkerMovedArgs));
+ }
+ remove {
+ this.RemoveSignalHandler ("marker-moved", value);
+ }
+ }
+
+ [GLib.Signal("marker-removed")]
+ public event GES.MarkerRemovedHandler MarkerRemoved {
+ add {
+ this.AddSignalHandler ("marker-removed", value, typeof (GES.MarkerRemovedArgs));
+ }
+ remove {
+ this.RemoveSignalHandler ("marker-removed", value);
+ }
+ }
+
+ static MarkerAddedNativeDelegate MarkerAdded_cb_delegate;
+ static MarkerAddedNativeDelegate MarkerAddedVMCallback {
+ get {
+ if (MarkerAdded_cb_delegate == null)
+ MarkerAdded_cb_delegate = new MarkerAddedNativeDelegate (MarkerAdded_cb);
+ return MarkerAdded_cb_delegate;
+ }
+ }
+
+ static void OverrideMarkerAdded (GLib.GType gtype)
+ {
+ OverrideMarkerAdded (gtype, MarkerAddedVMCallback);
+ }
+
+ static void OverrideMarkerAdded (GLib.GType gtype, MarkerAddedNativeDelegate callback)
+ {
+ OverrideVirtualMethod (gtype, "marker-added", callback);
+ }
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ delegate void MarkerAddedNativeDelegate (IntPtr inst, ulong position, IntPtr marker);
+
+ static void MarkerAdded_cb (IntPtr inst, ulong position, IntPtr marker)
+ {
+ try {
+ MarkerList __obj = GLib.Object.GetObject (inst, false) as MarkerList;
+ __obj.OnMarkerAdded (position, GLib.Object.GetObject(marker) as GES.Marker);
+ } catch (Exception e) {
+ GLib.ExceptionManager.RaiseUnhandledException (e, false);
+ }
+ }
+
+ [GLib.DefaultSignalHandler(Type=typeof(GES.MarkerList), ConnectionMethod="OverrideMarkerAdded")]
+ protected virtual void OnMarkerAdded (ulong position, GES.Marker marker)
+ {
+ InternalMarkerAdded (position, marker);
+ }
+
+ private void InternalMarkerAdded (ulong position, GES.Marker marker)
+ {
+ 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 (position);
+ inst_and_params.Append (vals [1]);
+ vals [2] = new GLib.Value (marker);
+ 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 MarkerMovedNativeDelegate MarkerMoved_cb_delegate;
+ static MarkerMovedNativeDelegate MarkerMovedVMCallback {
+ get {
+ if (MarkerMoved_cb_delegate == null)
+ MarkerMoved_cb_delegate = new MarkerMovedNativeDelegate (MarkerMoved_cb);
+ return MarkerMoved_cb_delegate;
+ }
+ }
+
+ static void OverrideMarkerMoved (GLib.GType gtype)
+ {
+ OverrideMarkerMoved (gtype, MarkerMovedVMCallback);
+ }
+
+ static void OverrideMarkerMoved (GLib.GType gtype, MarkerMovedNativeDelegate callback)
+ {
+ OverrideVirtualMethod (gtype, "marker-moved", callback);
+ }
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ delegate void MarkerMovedNativeDelegate (IntPtr inst, ulong previous_position, ulong new_position, IntPtr marker);
+
+ static void MarkerMoved_cb (IntPtr inst, ulong previous_position, ulong new_position, IntPtr marker)
+ {
+ try {
+ MarkerList __obj = GLib.Object.GetObject (inst, false) as MarkerList;
+ __obj.OnMarkerMoved (previous_position, new_position, GLib.Object.GetObject(marker) as GES.Marker);
+ } catch (Exception e) {
+ GLib.ExceptionManager.RaiseUnhandledException (e, false);
+ }
+ }
+
+ [GLib.DefaultSignalHandler(Type=typeof(GES.MarkerList), ConnectionMethod="OverrideMarkerMoved")]
+ protected virtual void OnMarkerMoved (ulong previous_position, ulong new_position, GES.Marker marker)
+ {
+ InternalMarkerMoved (previous_position, new_position, marker);
+ }
+
+ private void InternalMarkerMoved (ulong previous_position, ulong new_position, GES.Marker marker)
+ {
+ 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 (previous_position);
+ inst_and_params.Append (vals [1]);
+ vals [2] = new GLib.Value (new_position);
+ inst_and_params.Append (vals [2]);
+ vals [3] = new GLib.Value (marker);
+ 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 MarkerRemovedNativeDelegate MarkerRemoved_cb_delegate;
+ static MarkerRemovedNativeDelegate MarkerRemovedVMCallback {
+ get {
+ if (MarkerRemoved_cb_delegate == null)
+ MarkerRemoved_cb_delegate = new MarkerRemovedNativeDelegate (MarkerRemoved_cb);
+ return MarkerRemoved_cb_delegate;
+ }
+ }
+
+ static void OverrideMarkerRemoved (GLib.GType gtype)
+ {
+ OverrideMarkerRemoved (gtype, MarkerRemovedVMCallback);
+ }
+
+ static void OverrideMarkerRemoved (GLib.GType gtype, MarkerRemovedNativeDelegate callback)
+ {
+ OverrideVirtualMethod (gtype, "marker-removed", callback);
+ }
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ delegate void MarkerRemovedNativeDelegate (IntPtr inst, IntPtr marker);
+
+ static void MarkerRemoved_cb (IntPtr inst, IntPtr marker)
+ {
+ try {
+ MarkerList __obj = GLib.Object.GetObject (inst, false) as MarkerList;
+ __obj.OnMarkerRemoved (GLib.Object.GetObject(marker) as GES.Marker);
+ } catch (Exception e) {
+ GLib.ExceptionManager.RaiseUnhandledException (e, false);
+ }
+ }
+
+ [GLib.DefaultSignalHandler(Type=typeof(GES.MarkerList), ConnectionMethod="OverrideMarkerRemoved")]
+ protected virtual void OnMarkerRemoved (GES.Marker marker)
+ {
+ InternalMarkerRemoved (marker);
+ }
+
+ private void InternalMarkerRemoved (GES.Marker marker)
+ {
+ 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 (marker);
+ 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 (GLib.Object.class_abi.Fields);
+
+ return _class_abi;
+ }
+ }
+
+
+ // End of the ABI representation.
+
+ [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr ges_marker_list_get_type();
+
+ public static new GLib.GType GType {
+ get {
+ IntPtr raw_ret = ges_marker_list_get_type();
+ GLib.GType ret = new GLib.GType(raw_ret);
+ return ret;
+ }
+ }
+
+ [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr ges_marker_list_add(IntPtr raw, ulong position);
+
+ public GES.Marker Add(ulong position) {
+ IntPtr raw_ret = ges_marker_list_add(Handle, position);
+ GES.Marker ret = GLib.Object.GetObject(raw_ret) as GES.Marker;
+ return ret;
+ }
+
+ [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr ges_marker_list_get_markers(IntPtr raw);
+
+ public GES.Marker[] Markers {
+ get {
+ IntPtr raw_ret = ges_marker_list_get_markers(Handle);
+ GES.Marker[] ret = (GES.Marker[]) GLib.Marshaller.ListPtrToArray (raw_ret, typeof(GLib.List), true, true, typeof(GES.Marker));
+ return ret;
+ }
+ }
+
+ [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool ges_marker_list_move(IntPtr raw, IntPtr marker, ulong position);
+
+ public bool Move(GES.Marker marker, ulong position) {
+ bool raw_ret = ges_marker_list_move(Handle, marker == null ? IntPtr.Zero : marker.Handle, position);
+ bool ret = raw_ret;
+ return ret;
+ }
+
+ [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool ges_marker_list_remove(IntPtr raw, IntPtr marker);
+
+ public bool Remove(GES.Marker marker) {
+ bool raw_ret = ges_marker_list_remove(Handle, marker == null ? IntPtr.Zero : marker.Handle);
+ bool ret = raw_ret;
+ return ret;
+ }
+
+ [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+ static extern uint ges_marker_list_size(IntPtr raw);
+
+ public uint Size() {
+ uint raw_ret = ges_marker_list_size(Handle);
+ uint ret = raw_ret;
+ return ret;
+ }
+
+
+ static MarkerList ()
+ {
+ 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 (GLib.Object.abi_info.Fields);
+
+ return _abi_info;
+ }
+ }
+
+
+ // End of the ABI representation.
+
+#endregion
+ }
+}
diff --git a/subprojects/gstreamer-sharp/ges/generated/GES/MarkerMovedHandler.cs b/subprojects/gstreamer-sharp/ges/generated/GES/MarkerMovedHandler.cs
new file mode 100644
index 0000000000..8b582d2c7a
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/MarkerMovedHandler.cs
@@ -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 MarkerMovedHandler(object o, MarkerMovedArgs args);
+
+ public class MarkerMovedArgs : GLib.SignalArgs {
+ public ulong PreviousPosition{
+ get {
+ return (ulong) Args [0];
+ }
+ }
+
+ public ulong NewPosition{
+ get {
+ return (ulong) Args [1];
+ }
+ }
+
+ public GES.Marker Marker{
+ get {
+ return (GES.Marker) Args [2];
+ }
+ }
+
+ }
+}
diff --git a/subprojects/gstreamer-sharp/ges/generated/GES/MarkerRemovedHandler.cs b/subprojects/gstreamer-sharp/ges/generated/GES/MarkerRemovedHandler.cs
new file mode 100644
index 0000000000..b91edaeba0
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/MarkerRemovedHandler.cs
@@ -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 MarkerRemovedHandler(object o, MarkerRemovedArgs args);
+
+ public class MarkerRemovedArgs : GLib.SignalArgs {
+ public GES.Marker Marker{
+ get {
+ return (GES.Marker) Args [0];
+ }
+ }
+
+ }
+}
diff --git a/subprojects/gstreamer-sharp/ges/generated/GES/MetaContainerAdapter.cs b/subprojects/gstreamer-sharp/ges/generated/GES/MetaContainerAdapter.cs
new file mode 100644
index 0000000000..9ec9688c6e
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/MetaContainerAdapter.cs
@@ -0,0 +1,537 @@
+// 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, out int flags, out IntPtr type);
+
+ public bool CheckMetaRegistered(string meta_item, out GES.MetaFlag flags, out GLib.GType type) {
+ IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+ int native_flags;
+ IntPtr native_type;
+ bool raw_ret = ges_meta_container_check_meta_registered(Handle, native_meta_item, out native_flags, out native_type);
+ bool ret = raw_ret;
+ GLib.Marshaller.Free (native_meta_item);
+ flags = (GES.MetaFlag) native_flags;
+ type = new GLib.GType(native_type);
+ 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_marker_list(IntPtr raw, IntPtr key);
+
+ public GES.MarkerList GetMarkerList(string key) {
+ IntPtr native_key = GLib.Marshaller.StringToPtrGStrdup (key);
+ IntPtr raw_ret = ges_meta_container_get_marker_list(Handle, native_key);
+ GES.MarkerList ret = GLib.Object.GetObject(raw_ret, true) as GES.MarkerList;
+ GLib.Marshaller.Free (native_key);
+ 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;
+ }
+
+ [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;
+ }
+
+ [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_register_static_meta(IntPtr raw, int flags, IntPtr meta_item, IntPtr type);
+
+ public bool RegisterStaticMeta(GES.MetaFlag flags, string meta_item, GLib.GType type) {
+ IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+ bool raw_ret = ges_meta_container_register_static_meta(Handle, (int) flags, native_meta_item, type.Val);
+ 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_marker_list(IntPtr raw, IntPtr meta_item, IntPtr list);
+
+ public bool SetMarkerList(string meta_item, GES.MarkerList list) {
+ IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+ bool raw_ret = ges_meta_container_set_marker_list(Handle, native_meta_item, list == null ? IntPtr.Zero : list.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_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/subprojects/gstreamer-sharp/ges/generated/GES/MetaFlag.cs b/subprojects/gstreamer-sharp/ges/generated/GES/MetaFlag.cs
new file mode 100644
index 0000000000..a2bc960e1c
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/MetaFlag.cs
@@ -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 : uint {
+
+ 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/subprojects/gstreamer-sharp/ges/generated/GES/MetaForeachFunc.cs b/subprojects/gstreamer-sharp/ges/generated/GES/MetaForeachFunc.cs
new file mode 100644
index 0000000000..aa1ae5b07c
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/MetaForeachFunc.cs
@@ -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/subprojects/gstreamer-sharp/ges/generated/GES/MultiFileSource.cs b/subprojects/gstreamer-sharp/ges/generated/GES/MultiFileSource.cs
new file mode 100644
index 0000000000..b45f943a50
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/MultiFileSource.cs
@@ -0,0 +1,127 @@
+// 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
+ [Obsolete]
+ 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/subprojects/gstreamer-sharp/ges/generated/GES/NotifyMetaHandler.cs b/subprojects/gstreamer-sharp/ges/generated/GES/NotifyMetaHandler.cs
new file mode 100644
index 0000000000..5612a84efa
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/NotifyMetaHandler.cs
@@ -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 Key{
+ get {
+ return (string) Args [0];
+ }
+ }
+
+ public GLib.Value Value{
+ get {
+ return (GLib.Value) Args [1];
+ }
+ }
+
+ }
+}
diff --git a/subprojects/gstreamer-sharp/ges/generated/GES/Operation.cs b/subprojects/gstreamer-sharp/ges/generated/GES/Operation.cs
new file mode 100644
index 0000000000..cd00ac36bf
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/Operation.cs
@@ -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/subprojects/gstreamer-sharp/ges/generated/GES/OperationClip.cs b/subprojects/gstreamer-sharp/ges/generated/GES/OperationClip.cs
new file mode 100644
index 0000000000..869d836976
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/OperationClip.cs
@@ -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/subprojects/gstreamer-sharp/ges/generated/GES/OverlayClip.cs b/subprojects/gstreamer-sharp/ges/generated/GES/OverlayClip.cs
new file mode 100644
index 0000000000..3e94c8138f
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/OverlayClip.cs
@@ -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/subprojects/gstreamer-sharp/ges/generated/GES/Pipeline.cs b/subprojects/gstreamer-sharp/ges/generated/GES/Pipeline.cs
new file mode 100644
index 0000000000..ad81eafa1c
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/Pipeline.cs
@@ -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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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/subprojects/gstreamer-sharp/ges/generated/GES/PipelineFlags.cs b/subprojects/gstreamer-sharp/ges/generated/GES/PipelineFlags.cs
new file mode 100644
index 0000000000..0cbf0dbce1
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/PipelineFlags.cs
@@ -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 : uint {
+
+ 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/subprojects/gstreamer-sharp/ges/generated/GES/PitiviFormatter.cs b/subprojects/gstreamer-sharp/ges/generated/GES/PitiviFormatter.cs
new file mode 100644
index 0000000000..a1b2c13070
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/PitiviFormatter.cs
@@ -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/subprojects/gstreamer-sharp/ges/generated/GES/Project.cs b/subprojects/gstreamer-sharp/ges/generated/GES/Project.cs
new file mode 100644
index 0000000000..732355e17f
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/Project.cs
@@ -0,0 +1,625 @@
+// 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("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-removed")]
+ public event GES.AssetRemovedHandler AssetRemoved {
+ add {
+ this.AddSignalHandler ("asset-removed", value, typeof (GES.AssetRemovedArgs));
+ }
+ remove {
+ this.RemoveSignalHandler ("asset-removed", value);
+ }
+ }
+
+ [GLib.Signal("loading")]
+ public event GES.LoadingHandler Loading {
+ add {
+ this.AddSignalHandler ("loading", value, typeof (GES.LoadingArgs));
+ }
+ remove {
+ this.RemoveSignalHandler ("loading", 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);
+ }
+
+ static LoadingNativeDelegate Loading_cb_delegate;
+ static LoadingNativeDelegate LoadingVMCallback {
+ get {
+ if (Loading_cb_delegate == null)
+ Loading_cb_delegate = new LoadingNativeDelegate (Loading_cb);
+ return Loading_cb_delegate;
+ }
+ }
+
+ static void OverrideLoading (GLib.GType gtype)
+ {
+ OverrideLoading (gtype, LoadingVMCallback);
+ }
+
+ static void OverrideLoading (GLib.GType gtype, LoadingNativeDelegate callback)
+ {
+ unsafe {
+ IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("loading"));
+ *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+ }
+ }
+
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ delegate void LoadingNativeDelegate (IntPtr inst, IntPtr timeline);
+
+ static void Loading_cb (IntPtr inst, IntPtr timeline)
+ {
+ try {
+ Project __obj = GLib.Object.GetObject (inst, false) as Project;
+ __obj.OnLoading (GLib.Object.GetObject(timeline) as GES.Timeline);
+ } catch (Exception e) {
+ GLib.ExceptionManager.RaiseUnhandledException (e, false);
+ }
+ }
+
+ [GLib.DefaultSignalHandler(Type=typeof(GES.Project), ConnectionMethod="OverrideLoading")]
+ protected virtual void OnLoading (GES.Timeline timeline)
+ {
+ InternalLoading (timeline);
+ }
+
+ private void InternalLoading (GES.Timeline timeline)
+ {
+ LoadingNativeDelegate unmanaged = null;
+ unsafe {
+ IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("loading"));
+ unmanaged = (LoadingNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(LoadingNativeDelegate));
+ }
+ 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"
+ , "loading"
+ , (uint) Marshal.SizeOf(typeof(IntPtr))
+ , 0
+ ),
+ new GLib.AbiField("loading"
+ , -1
+ , (uint) Marshal.SizeOf(typeof(IntPtr)) // loading
+ , "loaded"
+ , "_ges_reserved"
+ , (uint) Marshal.SizeOf(typeof(IntPtr))
+ , 0
+ ),
+ new GLib.AbiField("_ges_reserved"
+ , -1
+ , (uint) Marshal.SizeOf(typeof(IntPtr)) * 3 // _ges_reserved
+ , "loading"
+ , 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 void ges_project_add_formatter(IntPtr raw, IntPtr formatter);
+
+ public void AddFormatter(GES.Formatter formatter) {
+ ges_project_add_formatter(Handle, formatter == null ? IntPtr.Zero : formatter.Handle);
+ }
+
+ [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 IntPtr ges_project_list_encoding_profiles(IntPtr raw);
+
+ public Gst.PbUtils.EncodingProfile[] ListEncodingProfiles() {
+ IntPtr raw_ret = ges_project_list_encoding_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("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.OwnedHandle, 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/subprojects/gstreamer-sharp/ges/generated/GES/SelectElementTrackHandler.cs b/subprojects/gstreamer-sharp/ges/generated/GES/SelectElementTrackHandler.cs
new file mode 100644
index 0000000000..c4e7afae69
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/SelectElementTrackHandler.cs
@@ -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 SelectElementTrackHandler(object o, SelectElementTrackArgs args);
+
+ public class SelectElementTrackArgs : GLib.SignalArgs {
+ public GES.Clip Clip{
+ get {
+ return (GES.Clip) Args [0];
+ }
+ }
+
+ public GES.TrackElement TrackElement{
+ get {
+ return (GES.TrackElement) Args [1];
+ }
+ }
+
+ }
+}
diff --git a/subprojects/gstreamer-sharp/ges/generated/GES/SnappingEndedHandler.cs b/subprojects/gstreamer-sharp/ges/generated/GES/SnappingEndedHandler.cs
new file mode 100644
index 0000000000..ad053790ce
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/SnappingEndedHandler.cs
@@ -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 Obj1{
+ get {
+ return (GES.TrackElement) Args [0];
+ }
+ }
+
+ public GES.TrackElement Obj2{
+ get {
+ return (GES.TrackElement) Args [1];
+ }
+ }
+
+ public ulong Position{
+ get {
+ return (ulong) Args [2];
+ }
+ }
+
+ }
+}
diff --git a/subprojects/gstreamer-sharp/ges/generated/GES/SnappingStartedHandler.cs b/subprojects/gstreamer-sharp/ges/generated/GES/SnappingStartedHandler.cs
new file mode 100644
index 0000000000..202e4f2003
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/SnappingStartedHandler.cs
@@ -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 Obj1{
+ get {
+ return (GES.TrackElement) Args [0];
+ }
+ }
+
+ public GES.TrackElement Obj2{
+ get {
+ return (GES.TrackElement) Args [1];
+ }
+ }
+
+ public ulong Position{
+ get {
+ return (ulong) Args [2];
+ }
+ }
+
+ }
+}
diff --git a/subprojects/gstreamer-sharp/ges/generated/GES/Source.cs b/subprojects/gstreamer-sharp/ges/generated/GES/Source.cs
new file mode 100644
index 0000000000..732e8a1d75
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/Source.cs
@@ -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/subprojects/gstreamer-sharp/ges/generated/GES/SourceClip.cs b/subprojects/gstreamer-sharp/ges/generated/GES/SourceClip.cs
new file mode 100644
index 0000000000..ac43c4c506
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/SourceClip.cs
@@ -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 SourceClip : GES.Clip {
+
+ public SourceClip (IntPtr raw) : base(raw) {}
+
+ [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr ges_source_clip_new_time_overlay();
+
+ public SourceClip () : base (IntPtr.Zero)
+ {
+ if (GetType () != typeof (SourceClip)) {
+ CreateNativeObject (new string [0], new GLib.Value[0]);
+ return;
+ }
+ Raw = ges_source_clip_new_time_overlay();
+ }
+
+
+ // 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/subprojects/gstreamer-sharp/ges/generated/GES/SourceClipAsset.cs b/subprojects/gstreamer-sharp/ges/generated/GES/SourceClipAsset.cs
new file mode 100644
index 0000000000..e0ebb59e32
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/SourceClipAsset.cs
@@ -0,0 +1,69 @@
+// 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 SourceClipAsset : GES.ClipAsset {
+
+ public SourceClipAsset (IntPtr raw) : base(raw) {}
+
+ protected SourceClipAsset() : 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.ClipAsset.class_abi.Fields);
+
+ return _class_abi;
+ }
+ }
+
+
+ // End of the ABI representation.
+
+ [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr ges_source_clip_asset_get_type();
+
+ public static new GLib.GType GType {
+ get {
+ IntPtr raw_ret = ges_source_clip_asset_get_type();
+ GLib.GType ret = new GLib.GType(raw_ret);
+ return ret;
+ }
+ }
+
+
+ static SourceClipAsset ()
+ {
+ 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 (GES.ClipAsset.abi_info.Fields);
+
+ return _abi_info;
+ }
+ }
+
+
+ // End of the ABI representation.
+
+#endregion
+ }
+}
diff --git a/subprojects/gstreamer-sharp/ges/generated/GES/TestClip.cs b/subprojects/gstreamer-sharp/ges/generated/GES/TestClip.cs
new file mode 100644
index 0000000000..5160b8aad5
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/TestClip.cs
@@ -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/subprojects/gstreamer-sharp/ges/generated/GES/TextHAlign.cs b/subprojects/gstreamer-sharp/ges/generated/GES/TextHAlign.cs
new file mode 100644
index 0000000000..d7ac22e01c
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/TextHAlign.cs
@@ -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/subprojects/gstreamer-sharp/ges/generated/GES/TextOverlay.cs b/subprojects/gstreamer-sharp/ges/generated/GES/TextOverlay.cs
new file mode 100644
index 0000000000..91a013f8d8
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/TextOverlay.cs
@@ -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/subprojects/gstreamer-sharp/ges/generated/GES/TextOverlayClip.cs b/subprojects/gstreamer-sharp/ges/generated/GES/TextOverlayClip.cs
new file mode 100644
index 0000000000..c1e0f4fa1b
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/TextOverlayClip.cs
@@ -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/subprojects/gstreamer-sharp/ges/generated/GES/TextVAlign.cs b/subprojects/gstreamer-sharp/ges/generated/GES/TextVAlign.cs
new file mode 100644
index 0000000000..fb709b8be9
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/TextVAlign.cs
@@ -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/subprojects/gstreamer-sharp/ges/generated/GES/Timeline.cs b/subprojects/gstreamer-sharp/ges/generated/GES/Timeline.cs
new file mode 100644
index 0000000000..f209c6da84
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/Timeline.cs
@@ -0,0 +1,1539 @@
+// 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("track-added")]
+ public event GES.TrackAddedHandler TrackAdded {
+ add {
+ this.AddSignalHandler ("track-added", value, typeof (GES.TrackAddedArgs));
+ }
+ remove {
+ this.RemoveSignalHandler ("track-added", value);
+ }
+ }
+
+ [GLib.Signal("commited")]
+ public event System.EventHandler Commited {
+ add {
+ this.AddSignalHandler ("commited", value);
+ }
+ remove {
+ this.RemoveSignalHandler ("commited", 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("layer-removed")]
+ public event GES.LayerRemovedHandler LayerRemoved {
+ add {
+ this.AddSignalHandler ("layer-removed", value, typeof (GES.LayerRemovedArgs));
+ }
+ remove {
+ this.RemoveSignalHandler ("layer-removed", value);
+ }
+ }
+
+ [GLib.Signal("select-element-track")]
+ public event GES.SelectElementTrackHandler SelectElementTrack {
+ add {
+ this.AddSignalHandler ("select-element-track", value, typeof (GES.SelectElementTrackArgs));
+ }
+ remove {
+ this.RemoveSignalHandler ("select-element-track", 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);
+ }
+ }
+
+ [GLib.Signal("snapping-ended")]
+ public event GES.SnappingEndedHandler SnappingEnded {
+ add {
+ this.AddSignalHandler ("snapping-ended", value, typeof (GES.SnappingEndedArgs));
+ }
+ remove {
+ this.RemoveSignalHandler ("snapping-ended", 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 SelectElementTrackNativeDelegate SelectElementTrack_cb_delegate;
+ static SelectElementTrackNativeDelegate SelectElementTrackVMCallback {
+ get {
+ if (SelectElementTrack_cb_delegate == null)
+ SelectElementTrack_cb_delegate = new SelectElementTrackNativeDelegate (SelectElementTrack_cb);
+ return SelectElementTrack_cb_delegate;
+ }
+ }
+
+ static void OverrideSelectElementTrack (GLib.GType gtype)
+ {
+ OverrideSelectElementTrack (gtype, SelectElementTrackVMCallback);
+ }
+
+ static void OverrideSelectElementTrack (GLib.GType gtype, SelectElementTrackNativeDelegate callback)
+ {
+ OverrideVirtualMethod (gtype, "select-element-track", callback);
+ }
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ delegate IntPtr SelectElementTrackNativeDelegate (IntPtr inst, IntPtr clip, IntPtr track_element);
+
+ static IntPtr SelectElementTrack_cb (IntPtr inst, IntPtr clip, IntPtr track_element)
+ {
+ try {
+ Timeline __obj = GLib.Object.GetObject (inst, false) as Timeline;
+ GES.Track __result;
+ __result = __obj.OnSelectElementTrack (GLib.Object.GetObject(clip) as GES.Clip, GLib.Object.GetObject(track_element) as GES.TrackElement);
+ 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(GES.Timeline), ConnectionMethod="OverrideSelectElementTrack")]
+ protected virtual GES.Track OnSelectElementTrack (GES.Clip clip, GES.TrackElement track_element)
+ {
+ return InternalSelectElementTrack (clip, track_element);
+ }
+
+ private GES.Track InternalSelectElementTrack (GES.Clip clip, GES.TrackElement track_element)
+ {
+ GLib.Value ret = new GLib.Value (GLib.GType.Object);
+ 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 (clip);
+ inst_and_params.Append (vals [1]);
+ vals [2] = new GLib.Value (track_element);
+ 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 ();
+ GES.Track result = (GES.Track) ret;
+ ret.Dispose ();
+ return result;
+ }
+
+ 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 obj1, IntPtr obj2, ulong position);
+
+ static void SnappingEnded_cb (IntPtr inst, IntPtr obj1, IntPtr obj2, ulong position)
+ {
+ try {
+ Timeline __obj = GLib.Object.GetObject (inst, false) as Timeline;
+ __obj.OnSnappingEnded (GLib.Object.GetObject(obj1) as GES.TrackElement, GLib.Object.GetObject(obj2) as GES.TrackElement, position);
+ } catch (Exception e) {
+ GLib.ExceptionManager.RaiseUnhandledException (e, false);
+ }
+ }
+
+ [GLib.DefaultSignalHandler(Type=typeof(GES.Timeline), ConnectionMethod="OverrideSnappingEnded")]
+ protected virtual void OnSnappingEnded (GES.TrackElement obj1, GES.TrackElement obj2, ulong position)
+ {
+ InternalSnappingEnded (obj1, obj2, position);
+ }
+
+ private void InternalSnappingEnded (GES.TrackElement obj1, GES.TrackElement obj2, ulong position)
+ {
+ 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 (obj1);
+ inst_and_params.Append (vals [1]);
+ vals [2] = new GLib.Value (obj2);
+ inst_and_params.Append (vals [2]);
+ vals [3] = new GLib.Value (position);
+ 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 obj1, IntPtr obj2, ulong position);
+
+ static void SnappingStarted_cb (IntPtr inst, IntPtr obj1, IntPtr obj2, ulong position)
+ {
+ try {
+ Timeline __obj = GLib.Object.GetObject (inst, false) as Timeline;
+ __obj.OnSnappingStarted (GLib.Object.GetObject(obj1) as GES.TrackElement, GLib.Object.GetObject(obj2) as GES.TrackElement, position);
+ } catch (Exception e) {
+ GLib.ExceptionManager.RaiseUnhandledException (e, false);
+ }
+ }
+
+ [GLib.DefaultSignalHandler(Type=typeof(GES.Timeline), ConnectionMethod="OverrideSnappingStarted")]
+ protected virtual void OnSnappingStarted (GES.TrackElement obj1, GES.TrackElement obj2, ulong position)
+ {
+ InternalSnappingStarted (obj1, obj2, position);
+ }
+
+ private void InternalSnappingStarted (GES.TrackElement obj1, GES.TrackElement obj2, ulong position)
+ {
+ 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 (obj1);
+ inst_and_params.Append (vals [1]);
+ vals [2] = new GLib.Value (obj2);
+ inst_and_params.Append (vals [2]);
+ vals [3] = new GLib.Value (position);
+ 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);
+
+ [Obsolete]
+ public bool AddLayer(GES.Layer layer) {
+ bool raw_ret = ges_timeline_add_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_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 long ges_timeline_get_frame_at(IntPtr raw, ulong timestamp);
+
+ public long GetFrameAt(ulong timestamp) {
+ long raw_ret = ges_timeline_get_frame_at(Handle, timestamp);
+ long ret = raw_ret;
+ return ret;
+ }
+
+ [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+ static extern ulong ges_timeline_get_frame_time(IntPtr raw, long frame_number);
+
+ public ulong GetFrameTime(long frame_number) {
+ ulong raw_ret = ges_timeline_get_frame_time(Handle, frame_number);
+ ulong ret = raw_ret;
+ 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_move_layer(IntPtr raw, IntPtr layer, uint new_layer_priority);
+
+ public bool MoveLayer(GES.Layer layer, uint new_layer_priority) {
+ bool raw_ret = ges_timeline_move_layer(Handle, layer == null ? IntPtr.Zero : layer.Handle, new_layer_priority);
+ bool ret = raw_ret;
+ return ret;
+ }
+
+ [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr ges_timeline_paste_element(IntPtr raw, IntPtr element, ulong position, int layer_priority);
+
+ public GES.TimelineElement PasteElement(GES.TimelineElement element, ulong position, int layer_priority) {
+ IntPtr raw_ret = ges_timeline_paste_element(Handle, element == null ? IntPtr.Zero : element.Handle, position, layer_priority);
+ GES.TimelineElement ret = GLib.Object.GetObject(raw_ret, true) as GES.TimelineElement;
+ 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, out int flags, out IntPtr type);
+
+ public bool CheckMetaRegistered(string meta_item, out GES.MetaFlag flags, out GLib.GType type) {
+ IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+ int native_flags;
+ IntPtr native_type;
+ bool raw_ret = ges_meta_container_check_meta_registered(Handle, native_meta_item, out native_flags, out native_type);
+ bool ret = raw_ret;
+ GLib.Marshaller.Free (native_meta_item);
+ flags = (GES.MetaFlag) native_flags;
+ type = new GLib.GType(native_type);
+ 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_marker_list(IntPtr raw, IntPtr key);
+
+ public GES.MarkerList GetMarkerList(string key) {
+ IntPtr native_key = GLib.Marshaller.StringToPtrGStrdup (key);
+ IntPtr raw_ret = ges_meta_container_get_marker_list(Handle, native_key);
+ GES.MarkerList ret = GLib.Object.GetObject(raw_ret, true) as GES.MarkerList;
+ GLib.Marshaller.Free (native_key);
+ 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;
+ }
+
+ [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;
+ }
+
+ [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_register_static_meta(IntPtr raw, int flags, IntPtr meta_item, IntPtr type);
+
+ public bool RegisterStaticMeta(GES.MetaFlag flags, string meta_item, GLib.GType type) {
+ IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+ bool raw_ret = ges_meta_container_register_static_meta(Handle, (int) flags, native_meta_item, type.Val);
+ 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_marker_list(IntPtr raw, IntPtr meta_item, IntPtr list);
+
+ public bool SetMarkerList(string meta_item, GES.MarkerList list) {
+ IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+ bool raw_ret = ges_meta_container_set_marker_list(Handle, native_meta_item, list == null ? IntPtr.Zero : list.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_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 key, IntPtr value);
+
+ static void NotifyMeta_cb (IntPtr inst, IntPtr key, IntPtr value)
+ {
+ try {
+ GES.Timeline __obj = GLib.Object.GetObject (inst, false) as GES.Timeline;
+ __obj.OnNotifyMeta (GLib.Marshaller.Utf8PtrToString (key), (GLib.Value) Marshal.PtrToStructure (value, typeof (GLib.Value)));
+ } catch (Exception e) {
+ GLib.ExceptionManager.RaiseUnhandledException (e, false);
+ }
+ }
+
+ [GLib.DefaultSignalHandler(Type=typeof(GES.Timeline), ConnectionMethod="OverrideNotifyMeta")]
+ protected virtual void OnNotifyMeta (string key, GLib.Value value)
+ {
+ InternalNotifyMeta (key, value);
+ }
+
+ private void InternalNotifyMeta (string key, GLib.Value value)
+ {
+ 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 (key);
+ inst_and_params.Append (vals [1]);
+ vals [2] = new GLib.Value (value);
+ 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/subprojects/gstreamer-sharp/ges/generated/GES/TimelineElement.cs b/subprojects/gstreamer-sharp/ges/generated/GES/TimelineElement.cs
new file mode 100644
index 0000000000..c7db68b19e
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/TimelineElement.cs
@@ -0,0 +1,2629 @@
+// 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);
+
+ [GLib.Property ("duration")]
+ public ulong Duration {
+ get {
+ ulong raw_ret = ges_timeline_element_get_duration(Handle);
+ ulong ret = raw_ret;
+ return ret;
+ }
+ set {
+ GLib.Value val = new GLib.Value(value);
+ SetProperty("duration", val);
+ val.Dispose ();
+ }
+ }
+
+ [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);
+
+ [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 {
+ GLib.Value val = new GLib.Value(value);
+ SetProperty("max-duration", val);
+ val.Dispose ();
+ }
+ }
+
+ [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);
+
+ [Obsolete]
+ [GLib.Property ("priority")]
+ public uint Priority {
+ get {
+ uint raw_ret = ges_timeline_element_get_priority(Handle);
+ uint ret = raw_ret;
+ return ret;
+ }
+ set {
+ GLib.Value val = new GLib.Value(value);
+ SetProperty("priority", val);
+ val.Dispose ();
+ }
+ }
+
+ [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);
+
+ [GLib.Property ("start")]
+ public ulong Start {
+ get {
+ ulong raw_ret = ges_timeline_element_get_start(Handle);
+ ulong ret = raw_ret;
+ return ret;
+ }
+ set {
+ GLib.Value val = new GLib.Value(value);
+ SetProperty("start", val);
+ val.Dispose ();
+ }
+ }
+
+ [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);
+
+ public ulong Inpoint {
+ get {
+ ulong raw_ret = ges_timeline_element_get_inpoint(Handle);
+ ulong ret = raw_ret;
+ return ret;
+ }
+ }
+
+ 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("child-property-removed")]
+ public event GES.ChildPropertyRemovedHandler ChildPropertyRemoved {
+ add {
+ this.AddSignalHandler ("child-property-removed", value, typeof (GES.ChildPropertyRemovedArgs));
+ }
+ remove {
+ this.RemoveSignalHandler ("child-property-removed", value);
+ }
+ }
+
+ [GLib.Signal("deep-notify")]
+ public event GES.DeepNotifyHandler DeepNotify {
+ add {
+ this.AddSignalHandler ("deep-notify", value, typeof (GES.DeepNotifyArgs));
+ }
+ remove {
+ this.RemoveSignalHandler ("deep-notify", value);
+ }
+ }
+
+ [GLib.Signal("child-property-added")]
+ public event GES.ChildPropertyAddedHandler ChildPropertyAdded {
+ add {
+ this.AddSignalHandler ("child-property-added", value, typeof (GES.ChildPropertyAddedArgs));
+ }
+ remove {
+ this.RemoveSignalHandler ("child-property-added", value);
+ }
+ }
+
+ static ChildPropertyAddedNativeDelegate ChildPropertyAdded_cb_delegate;
+ static ChildPropertyAddedNativeDelegate ChildPropertyAddedVMCallback {
+ get {
+ if (ChildPropertyAdded_cb_delegate == null)
+ ChildPropertyAdded_cb_delegate = new ChildPropertyAddedNativeDelegate (ChildPropertyAdded_cb);
+ return ChildPropertyAdded_cb_delegate;
+ }
+ }
+
+ static void OverrideChildPropertyAdded (GLib.GType gtype)
+ {
+ OverrideChildPropertyAdded (gtype, ChildPropertyAddedVMCallback);
+ }
+
+ static void OverrideChildPropertyAdded (GLib.GType gtype, ChildPropertyAddedNativeDelegate callback)
+ {
+ OverrideVirtualMethod (gtype, "child-property-added", callback);
+ }
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ delegate void ChildPropertyAddedNativeDelegate (IntPtr inst, IntPtr prop_object, IntPtr prop);
+
+ static void ChildPropertyAdded_cb (IntPtr inst, IntPtr prop_object, IntPtr prop)
+ {
+ try {
+ TimelineElement __obj = GLib.Object.GetObject (inst, false) as TimelineElement;
+ __obj.OnChildPropertyAdded (GLib.Object.GetObject (prop_object), prop);
+ } catch (Exception e) {
+ GLib.ExceptionManager.RaiseUnhandledException (e, false);
+ }
+ }
+
+ [GLib.DefaultSignalHandler(Type=typeof(GES.TimelineElement), ConnectionMethod="OverrideChildPropertyAdded")]
+ protected virtual void OnChildPropertyAdded (GLib.Object prop_object, IntPtr prop)
+ {
+ InternalChildPropertyAdded (prop_object, prop);
+ }
+
+ private void InternalChildPropertyAdded (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 ChildPropertyRemovedNativeDelegate ChildPropertyRemoved_cb_delegate;
+ static ChildPropertyRemovedNativeDelegate ChildPropertyRemovedVMCallback {
+ get {
+ if (ChildPropertyRemoved_cb_delegate == null)
+ ChildPropertyRemoved_cb_delegate = new ChildPropertyRemovedNativeDelegate (ChildPropertyRemoved_cb);
+ return ChildPropertyRemoved_cb_delegate;
+ }
+ }
+
+ static void OverrideChildPropertyRemoved (GLib.GType gtype)
+ {
+ OverrideChildPropertyRemoved (gtype, ChildPropertyRemovedVMCallback);
+ }
+
+ static void OverrideChildPropertyRemoved (GLib.GType gtype, ChildPropertyRemovedNativeDelegate callback)
+ {
+ OverrideVirtualMethod (gtype, "child-property-removed", callback);
+ }
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ delegate void ChildPropertyRemovedNativeDelegate (IntPtr inst, IntPtr prop_object, IntPtr prop);
+
+ static void ChildPropertyRemoved_cb (IntPtr inst, IntPtr prop_object, IntPtr prop)
+ {
+ try {
+ TimelineElement __obj = GLib.Object.GetObject (inst, false) as TimelineElement;
+ __obj.OnChildPropertyRemoved (GLib.Object.GetObject (prop_object), prop);
+ } catch (Exception e) {
+ GLib.ExceptionManager.RaiseUnhandledException (e, false);
+ }
+ }
+
+ [GLib.DefaultSignalHandler(Type=typeof(GES.TimelineElement), ConnectionMethod="OverrideChildPropertyRemoved")]
+ protected virtual void OnChildPropertyRemoved (GLib.Object prop_object, IntPtr prop)
+ {
+ InternalChildPropertyRemoved (prop_object, prop);
+ }
+
+ private void InternalChildPropertyRemoved (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 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;
+ }
+
+ static SetChildPropertyNativeDelegate SetChildProperty_cb_delegate;
+ static SetChildPropertyNativeDelegate SetChildPropertyVMCallback {
+ get {
+ if (SetChildProperty_cb_delegate == null)
+ SetChildProperty_cb_delegate = new SetChildPropertyNativeDelegate (SetChildProperty_cb);
+ return SetChildProperty_cb_delegate;
+ }
+ }
+
+ static void OverrideSetChildProperty (GLib.GType gtype)
+ {
+ OverrideSetChildProperty (gtype, SetChildPropertyVMCallback);
+ }
+
+ static void OverrideSetChildProperty (GLib.GType gtype, SetChildPropertyNativeDelegate callback)
+ {
+ unsafe {
+ IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("set_child_property"));
+ *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+ }
+ }
+
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ delegate void SetChildPropertyNativeDelegate (IntPtr inst, IntPtr child, IntPtr pspec, IntPtr value);
+
+ static void SetChildProperty_cb (IntPtr inst, IntPtr child, IntPtr pspec, IntPtr value)
+ {
+ try {
+ TimelineElement __obj = GLib.Object.GetObject (inst, false) as TimelineElement;
+ __obj.OnSetChildProperty (GLib.Object.GetObject (child), pspec, (GLib.Value) Marshal.PtrToStructure (value, typeof (GLib.Value)));
+ } catch (Exception e) {
+ GLib.ExceptionManager.RaiseUnhandledException (e, false);
+ }
+ }
+
+ [GLib.DefaultSignalHandler(Type=typeof(GES.TimelineElement), ConnectionMethod="OverrideSetChildProperty")]
+ protected virtual void OnSetChildProperty (GLib.Object child, IntPtr pspec, GLib.Value value)
+ {
+ InternalSetChildProperty (child, pspec, value);
+ }
+
+ private void InternalSetChildProperty (GLib.Object child, IntPtr pspec, GLib.Value value)
+ {
+ SetChildPropertyNativeDelegate unmanaged = null;
+ unsafe {
+ IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("set_child_property"));
+ unmanaged = (SetChildPropertyNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(SetChildPropertyNativeDelegate));
+ }
+ if (unmanaged == null) return;
+
+ IntPtr native_value = GLib.Marshaller.StructureToPtrAlloc (value);
+ unmanaged (this.Handle, child == null ? IntPtr.Zero : child.Handle, pspec, native_value);
+ Marshal.FreeHGlobal (native_value);
+ }
+
+ static GetLayerPriorityNativeDelegate GetLayerPriority_cb_delegate;
+ static GetLayerPriorityNativeDelegate GetLayerPriorityVMCallback {
+ get {
+ if (GetLayerPriority_cb_delegate == null)
+ GetLayerPriority_cb_delegate = new GetLayerPriorityNativeDelegate (GetLayerPriority_cb);
+ return GetLayerPriority_cb_delegate;
+ }
+ }
+
+ static void OverrideGetLayerPriority (GLib.GType gtype)
+ {
+ OverrideGetLayerPriority (gtype, GetLayerPriorityVMCallback);
+ }
+
+ static void OverrideGetLayerPriority (GLib.GType gtype, GetLayerPriorityNativeDelegate callback)
+ {
+ unsafe {
+ IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("get_layer_priority"));
+ *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+ }
+ }
+
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ delegate uint GetLayerPriorityNativeDelegate (IntPtr inst);
+
+ static uint GetLayerPriority_cb (IntPtr inst)
+ {
+ try {
+ TimelineElement __obj = GLib.Object.GetObject (inst, false) as TimelineElement;
+ uint __result;
+ __result = __obj.OnGetLayerPriority ();
+ 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="OverrideGetLayerPriority")]
+ protected virtual uint OnGetLayerPriority ()
+ {
+ return InternalGetLayerPriority ();
+ }
+
+ private uint InternalGetLayerPriority ()
+ {
+ GetLayerPriorityNativeDelegate unmanaged = null;
+ unsafe {
+ IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("get_layer_priority"));
+ unmanaged = (GetLayerPriorityNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(GetLayerPriorityNativeDelegate));
+ }
+ if (unmanaged == null) return 0;
+
+ uint __result = unmanaged (this.Handle);
+ return __result;
+ }
+
+ static GetNaturalFramerateNativeDelegate GetNaturalFramerate_cb_delegate;
+ static GetNaturalFramerateNativeDelegate GetNaturalFramerateVMCallback {
+ get {
+ if (GetNaturalFramerate_cb_delegate == null)
+ GetNaturalFramerate_cb_delegate = new GetNaturalFramerateNativeDelegate (GetNaturalFramerate_cb);
+ return GetNaturalFramerate_cb_delegate;
+ }
+ }
+
+ static void OverrideGetNaturalFramerate (GLib.GType gtype)
+ {
+ OverrideGetNaturalFramerate (gtype, GetNaturalFramerateVMCallback);
+ }
+
+ static void OverrideGetNaturalFramerate (GLib.GType gtype, GetNaturalFramerateNativeDelegate callback)
+ {
+ unsafe {
+ IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("get_natural_framerate"));
+ *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+ }
+ }
+
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ delegate bool GetNaturalFramerateNativeDelegate (IntPtr inst, out int framerate_n, out int framerate_d);
+
+ static bool GetNaturalFramerate_cb (IntPtr inst, out int framerate_n, out int framerate_d)
+ {
+ try {
+ TimelineElement __obj = GLib.Object.GetObject (inst, false) as TimelineElement;
+ bool __result;
+ __result = __obj.OnGetNaturalFramerate (out framerate_n, out framerate_d);
+ 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="OverrideGetNaturalFramerate")]
+ protected virtual bool OnGetNaturalFramerate (out int framerate_n, out int framerate_d)
+ {
+ return InternalGetNaturalFramerate (out framerate_n, out framerate_d);
+ }
+
+ private bool InternalGetNaturalFramerate (out int framerate_n, out int framerate_d)
+ {
+ GetNaturalFramerateNativeDelegate unmanaged = null;
+ unsafe {
+ IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("get_natural_framerate"));
+ unmanaged = (GetNaturalFramerateNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(GetNaturalFramerateNativeDelegate));
+ }
+ if (unmanaged == null) throw new InvalidOperationException ("No base method to invoke");
+
+ bool __result = unmanaged (this.Handle, out framerate_n, out framerate_d);
+ return __result;
+ }
+
+ static SetChildPropertyFullNativeDelegate SetChildPropertyFull_cb_delegate;
+ static SetChildPropertyFullNativeDelegate SetChildPropertyFullVMCallback {
+ get {
+ if (SetChildPropertyFull_cb_delegate == null)
+ SetChildPropertyFull_cb_delegate = new SetChildPropertyFullNativeDelegate (SetChildPropertyFull_cb);
+ return SetChildPropertyFull_cb_delegate;
+ }
+ }
+
+ static void OverrideSetChildPropertyFull (GLib.GType gtype)
+ {
+ OverrideSetChildPropertyFull (gtype, SetChildPropertyFullVMCallback);
+ }
+
+ static void OverrideSetChildPropertyFull (GLib.GType gtype, SetChildPropertyFullNativeDelegate callback)
+ {
+ unsafe {
+ IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("set_child_property_full"));
+ *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+ }
+ }
+
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ delegate bool SetChildPropertyFullNativeDelegate (IntPtr inst, IntPtr child, IntPtr pspec, IntPtr value, out IntPtr error);
+
+ static bool SetChildPropertyFull_cb (IntPtr inst, IntPtr child, IntPtr pspec, IntPtr value, out IntPtr error)
+ {
+ error = IntPtr.Zero;
+
+ try {
+ TimelineElement __obj = GLib.Object.GetObject (inst, false) as TimelineElement;
+ bool __result;
+ __result = __obj.OnSetChildPropertyFull (GLib.Object.GetObject (child), pspec, (GLib.Value) Marshal.PtrToStructure (value, typeof (GLib.Value)));
+ 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="OverrideSetChildPropertyFull")]
+ protected virtual bool OnSetChildPropertyFull (GLib.Object child, IntPtr pspec, GLib.Value value)
+ {
+ return InternalSetChildPropertyFull (child, pspec, value);
+ }
+
+ private bool InternalSetChildPropertyFull (GLib.Object child, IntPtr pspec, GLib.Value value)
+ {
+ SetChildPropertyFullNativeDelegate unmanaged = null;
+ unsafe {
+ IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("set_child_property_full"));
+ unmanaged = (SetChildPropertyFullNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(SetChildPropertyFullNativeDelegate));
+ }
+ if (unmanaged == null) throw new InvalidOperationException ("No base method to invoke");
+
+ IntPtr native_value = GLib.Marshaller.StructureToPtrAlloc (value);
+ IntPtr error = IntPtr.Zero;
+ bool __result = unmanaged (this.Handle, child == null ? IntPtr.Zero : child.Handle, pspec, native_value, out error);
+ Marshal.FreeHGlobal (native_value);
+ 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("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"
+ , "set_child_property"
+ , (uint) Marshal.SizeOf(typeof(IntPtr))
+ , 0
+ ),
+ new GLib.AbiField("set_child_property"
+ , -1
+ , (uint) Marshal.SizeOf(typeof(IntPtr)) // set_child_property
+ , "get_track_types"
+ , "get_layer_priority"
+ , (uint) Marshal.SizeOf(typeof(IntPtr))
+ , 0
+ ),
+ new GLib.AbiField("get_layer_priority"
+ , -1
+ , (uint) Marshal.SizeOf(typeof(IntPtr)) // get_layer_priority
+ , "set_child_property"
+ , "get_natural_framerate"
+ , (uint) Marshal.SizeOf(typeof(IntPtr))
+ , 0
+ ),
+ new GLib.AbiField("get_natural_framerate"
+ , -1
+ , (uint) Marshal.SizeOf(typeof(IntPtr)) // get_natural_framerate
+ , "get_layer_priority"
+ , "set_child_property_full"
+ , (uint) Marshal.SizeOf(typeof(IntPtr))
+ , 0
+ ),
+ new GLib.AbiField("set_child_property_full"
+ , -1
+ , (uint) Marshal.SizeOf(typeof(IntPtr)) // set_child_property_full
+ , "get_natural_framerate"
+ , "_ges_reserved"
+ , (uint) Marshal.SizeOf(typeof(IntPtr))
+ , 0
+ ),
+ new GLib.AbiField("_ges_reserved"
+ , -1
+ , (uint) Marshal.SizeOf(typeof(IntPtr)) * 14 // _ges_reserved
+ , "set_child_property_full"
+ , 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_edit(IntPtr raw, IntPtr layers, long new_layer_priority, int mode, int edge, ulong position);
+
+ public bool Edit(GLib.List layers, long new_layer_priority, GES.EditMode mode, GES.Edge edge, ulong position) {
+ bool raw_ret = ges_timeline_element_edit(Handle, layers == null ? IntPtr.Zero : layers.Handle, new_layer_priority, (int) mode, (int) edge, position);
+ bool ret = raw_ret;
+ return ret;
+ }
+
+ public bool Edit(long new_layer_priority, GES.EditMode mode, GES.Edge edge, ulong position) {
+ return Edit (null, new_layer_priority, mode, edge, position);
+ }
+
+ [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+ static extern unsafe bool ges_timeline_element_edit_full(IntPtr raw, long new_layer_priority, int mode, int edge, ulong position, out IntPtr error);
+
+ public unsafe bool EditFull(long new_layer_priority, GES.EditMode mode, GES.Edge edge, ulong position) {
+ IntPtr error = IntPtr.Zero;
+ bool raw_ret = ges_timeline_element_edit_full(Handle, new_layer_priority, (int) mode, (int) edge, position, 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_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 uint ges_timeline_element_get_layer_priority(IntPtr raw);
+
+ public uint LayerPriority {
+ get {
+ uint raw_ret = ges_timeline_element_get_layer_priority(Handle);
+ uint ret = raw_ret;
+ return ret;
+ }
+ }
+
+ [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool ges_timeline_element_get_natural_framerate(IntPtr raw, out int framerate_n, out int framerate_d);
+
+ public bool GetNaturalFramerate(out int framerate_n, out int framerate_d) {
+ bool raw_ret = ges_timeline_element_get_natural_framerate(Handle, out framerate_n, out framerate_d);
+ bool ret = raw_ret;
+ return ret;
+ }
+
+ [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, true) 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 unsafe bool ges_timeline_element_set_child_property_full(IntPtr raw, IntPtr property_name, IntPtr value, out IntPtr error);
+
+ public unsafe bool SetChildPropertyFull(string property_name, GLib.Value value) {
+ IntPtr native_property_name = GLib.Marshaller.StringToPtrGStrdup (property_name);
+ IntPtr native_value = GLib.Marshaller.StructureToPtrAlloc (value);
+ IntPtr error = IntPtr.Zero;
+ bool raw_ret = ges_timeline_element_set_child_property_full(Handle, native_property_name, native_value, out error);
+ bool ret = raw_ret;
+ GLib.Marshaller.Free (native_property_name);
+ Marshal.FreeHGlobal (native_value);
+ if (error != IntPtr.Zero) throw new GLib.GException (error);
+ return ret;
+ }
+
+ [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool ges_timeline_element_set_duration(IntPtr raw, ulong duration);
+
+ public bool SetDuration(ulong duration) {
+ bool raw_ret = ges_timeline_element_set_duration(Handle, duration);
+ bool ret = raw_ret;
+ return ret;
+ }
+
+ [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool ges_timeline_element_set_inpoint(IntPtr raw, ulong inpoint);
+
+ public bool SetInpoint(ulong inpoint) {
+ bool raw_ret = ges_timeline_element_set_inpoint(Handle, inpoint);
+ bool ret = raw_ret;
+ return ret;
+ }
+
+ [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool ges_timeline_element_set_max_duration(IntPtr raw, ulong maxduration);
+
+ public bool SetMaxDuration(ulong maxduration) {
+ bool raw_ret = ges_timeline_element_set_max_duration(Handle, maxduration);
+ bool ret = raw_ret;
+ return ret;
+ }
+
+ [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_priority(IntPtr raw, uint priority);
+
+ [Obsolete]
+ public bool SetPriority(uint priority) {
+ bool raw_ret = ges_timeline_element_set_priority(Handle, priority);
+ bool ret = raw_ret;
+ return ret;
+ }
+
+ [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool ges_timeline_element_set_start(IntPtr raw, ulong start);
+
+ public bool SetStart(ulong start) {
+ bool raw_ret = ges_timeline_element_set_start(Handle, start);
+ 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, out int flags, out IntPtr type);
+
+ public bool CheckMetaRegistered(string meta_item, out GES.MetaFlag flags, out GLib.GType type) {
+ IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+ int native_flags;
+ IntPtr native_type;
+ bool raw_ret = ges_meta_container_check_meta_registered(Handle, native_meta_item, out native_flags, out native_type);
+ bool ret = raw_ret;
+ GLib.Marshaller.Free (native_meta_item);
+ flags = (GES.MetaFlag) native_flags;
+ type = new GLib.GType(native_type);
+ 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_marker_list(IntPtr raw, IntPtr key);
+
+ public GES.MarkerList GetMarkerList(string key) {
+ IntPtr native_key = GLib.Marshaller.StringToPtrGStrdup (key);
+ IntPtr raw_ret = ges_meta_container_get_marker_list(Handle, native_key);
+ GES.MarkerList ret = GLib.Object.GetObject(raw_ret, true) as GES.MarkerList;
+ GLib.Marshaller.Free (native_key);
+ 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;
+ }
+
+ [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;
+ }
+
+ [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_register_static_meta(IntPtr raw, int flags, IntPtr meta_item, IntPtr type);
+
+ public bool RegisterStaticMeta(GES.MetaFlag flags, string meta_item, GLib.GType type) {
+ IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+ bool raw_ret = ges_meta_container_register_static_meta(Handle, (int) flags, native_meta_item, type.Val);
+ 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_marker_list(IntPtr raw, IntPtr meta_item, IntPtr list);
+
+ public bool SetMarkerList(string meta_item, GES.MarkerList list) {
+ IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+ bool raw_ret = ges_meta_container_set_marker_list(Handle, native_meta_item, list == null ? IntPtr.Zero : list.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_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 key, IntPtr value);
+
+ static void NotifyMeta_cb (IntPtr inst, IntPtr key, IntPtr value)
+ {
+ try {
+ GES.TimelineElement __obj = GLib.Object.GetObject (inst, false) as GES.TimelineElement;
+ __obj.OnNotifyMeta (GLib.Marshaller.Utf8PtrToString (key), (GLib.Value) Marshal.PtrToStructure (value, typeof (GLib.Value)));
+ } catch (Exception e) {
+ GLib.ExceptionManager.RaiseUnhandledException (e, false);
+ }
+ }
+
+ [GLib.DefaultSignalHandler(Type=typeof(GES.TimelineElement), ConnectionMethod="OverrideNotifyMeta")]
+ protected virtual void OnNotifyMeta (string key, GLib.Value value)
+ {
+ InternalNotifyMeta (key, value);
+ }
+
+ private void InternalNotifyMeta (string key, GLib.Value value)
+ {
+ 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 (key);
+ inst_and_params.Append (vals [1]);
+ vals [2] = new GLib.Value (value);
+ 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/subprojects/gstreamer-sharp/ges/generated/GES/TitleClip.cs b/subprojects/gstreamer-sharp/ges/generated/GES/TitleClip.cs
new file mode 100644
index 0000000000..dc301a75e9
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/TitleClip.cs
@@ -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/subprojects/gstreamer-sharp/ges/generated/GES/TitleSource.cs b/subprojects/gstreamer-sharp/ges/generated/GES/TitleSource.cs
new file mode 100644
index 0000000000..e2a36e2864
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/TitleSource.cs
@@ -0,0 +1,237 @@
+// 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);
+
+ [Obsolete]
+ public string FontDesc {
+ get {
+ IntPtr raw_ret = ges_title_source_get_font_desc(Handle);
+ string ret = GLib.Marshaller.PtrToStringGFree(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);
+
+ [Obsolete]
+ public string Text {
+ get {
+ IntPtr raw_ret = ges_title_source_get_text(Handle);
+ string ret = GLib.Marshaller.PtrToStringGFree(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/subprojects/gstreamer-sharp/ges/generated/GES/Track.cs b/subprojects/gstreamer-sharp/ges/generated/GES/Track.cs
new file mode 100644
index 0000000000..d7f0fc1cf3
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/Track.cs
@@ -0,0 +1,970 @@
+// 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;
+ }
+ }
+
+ [GLib.Property ("id")]
+ public string Id {
+ get {
+ GLib.Value val = GetProperty ("id");
+ string ret = (string) val;
+ val.Dispose ();
+ return ret;
+ }
+ set {
+ GLib.Value val = new GLib.Value(value);
+ SetProperty("id", val);
+ val.Dispose ();
+ }
+ }
+
+ [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 IntPtr ges_track_get_restriction_caps(IntPtr raw);
+
+ [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 {
+ IntPtr raw_ret = ges_track_get_restriction_caps(Handle);
+ Gst.Caps ret = raw_ret == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Caps), true);
+ 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.Handle);
+ bool ret = raw_ret;
+ return ret;
+ }
+
+ [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+ static extern unsafe bool ges_track_add_element_full(IntPtr raw, IntPtr _object, out IntPtr error);
+
+ public unsafe bool AddElementFull(GES.TrackElement _object) {
+ IntPtr error = IntPtr.Zero;
+ bool raw_ret = ges_track_add_element_full(Handle, _object == null ? IntPtr.Zero : _object.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_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 unsafe bool ges_track_remove_element_full(IntPtr raw, IntPtr _object, out IntPtr error);
+
+ public unsafe bool RemoveElementFull(GES.TrackElement _object) {
+ IntPtr error = IntPtr.Zero;
+ bool raw_ret = ges_track_remove_element_full(Handle, _object == null ? IntPtr.Zero : _object.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 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, out int flags, out IntPtr type);
+
+ public bool CheckMetaRegistered(string meta_item, out GES.MetaFlag flags, out GLib.GType type) {
+ IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+ int native_flags;
+ IntPtr native_type;
+ bool raw_ret = ges_meta_container_check_meta_registered(Handle, native_meta_item, out native_flags, out native_type);
+ bool ret = raw_ret;
+ GLib.Marshaller.Free (native_meta_item);
+ flags = (GES.MetaFlag) native_flags;
+ type = new GLib.GType(native_type);
+ 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_marker_list(IntPtr raw, IntPtr key);
+
+ public GES.MarkerList GetMarkerList(string key) {
+ IntPtr native_key = GLib.Marshaller.StringToPtrGStrdup (key);
+ IntPtr raw_ret = ges_meta_container_get_marker_list(Handle, native_key);
+ GES.MarkerList ret = GLib.Object.GetObject(raw_ret, true) as GES.MarkerList;
+ GLib.Marshaller.Free (native_key);
+ 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;
+ }
+
+ [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;
+ }
+
+ [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_register_static_meta(IntPtr raw, int flags, IntPtr meta_item, IntPtr type);
+
+ public bool RegisterStaticMeta(GES.MetaFlag flags, string meta_item, GLib.GType type) {
+ IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+ bool raw_ret = ges_meta_container_register_static_meta(Handle, (int) flags, native_meta_item, type.Val);
+ 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_marker_list(IntPtr raw, IntPtr meta_item, IntPtr list);
+
+ public bool SetMarkerList(string meta_item, GES.MarkerList list) {
+ IntPtr native_meta_item = GLib.Marshaller.StringToPtrGStrdup (meta_item);
+ bool raw_ret = ges_meta_container_set_marker_list(Handle, native_meta_item, list == null ? IntPtr.Zero : list.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_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 key, IntPtr value);
+
+ static void NotifyMeta_cb (IntPtr inst, IntPtr key, IntPtr value)
+ {
+ try {
+ GES.Track __obj = GLib.Object.GetObject (inst, false) as GES.Track;
+ __obj.OnNotifyMeta (GLib.Marshaller.Utf8PtrToString (key), (GLib.Value) Marshal.PtrToStructure (value, typeof (GLib.Value)));
+ } catch (Exception e) {
+ GLib.ExceptionManager.RaiseUnhandledException (e, false);
+ }
+ }
+
+ [GLib.DefaultSignalHandler(Type=typeof(GES.Track), ConnectionMethod="OverrideNotifyMeta")]
+ protected virtual void OnNotifyMeta (string key, GLib.Value value)
+ {
+ InternalNotifyMeta (key, value);
+ }
+
+ private void InternalNotifyMeta (string key, GLib.Value value)
+ {
+ 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 (key);
+ inst_and_params.Append (vals [1]);
+ vals [2] = new GLib.Value (value);
+ 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/subprojects/gstreamer-sharp/ges/generated/GES/TrackAddedHandler.cs b/subprojects/gstreamer-sharp/ges/generated/GES/TrackAddedHandler.cs
new file mode 100644
index 0000000000..f8a6c1d599
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/TrackAddedHandler.cs
@@ -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/subprojects/gstreamer-sharp/ges/generated/GES/TrackElement.cs b/subprojects/gstreamer-sharp/ges/generated/GES/TrackElement.cs
new file mode 100644
index 0000000000..2f3732604e
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/TrackElement.cs
@@ -0,0 +1,755 @@
+// 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 bool ges_track_element_get_auto_clamp_control_sources(IntPtr raw);
+
+ [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+ static extern void ges_track_element_set_auto_clamp_control_sources(IntPtr raw, bool auto_clamp);
+
+ [GLib.Property ("auto-clamp-control-sources")]
+ public bool AutoClampControlSources {
+ get {
+ bool raw_ret = ges_track_element_get_auto_clamp_control_sources(Handle);
+ bool ret = raw_ret;
+ return ret;
+ }
+ set {
+ ges_track_element_set_auto_clamp_control_sources(Handle, value);
+ }
+ }
+
+ [GLib.Property ("has-internal-source")]
+ public bool HasInternalSourceProp
+ {
+ get {
+ GLib.Value val = GetProperty ("has-internal-source");
+ bool ret = (bool) val;
+ val.Dispose ();
+ return ret;
+ }
+ set {
+ GLib.Value val = new GLib.Value(value);
+ SetProperty("has-internal-source", 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-added")]
+ public event GES.ControlBindingAddedHandler ControlBindingAdded {
+ add {
+ this.AddSignalHandler ("control-binding-added", value, typeof (GES.ControlBindingAddedArgs));
+ }
+ remove {
+ this.RemoveSignalHandler ("control-binding-added", 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);
+ }
+ }
+
+ 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"
+ , "ABI"
+ , (uint) Marshal.SizeOf(typeof(IntPtr))
+ , 0
+ ),
+ // union struct ABI.abi
+ // End ABI.abi
+
+ // union struct ABI
+ new GLib.AbiField("ABI._gst_reserved"
+ , -1
+ , (uint) Marshal.SizeOf(typeof(IntPtr)) * 20 // ABI._gst_reserved
+ , "lookup_child"
+ , null
+ , (uint) Marshal.SizeOf(typeof(IntPtr))
+ , 0
+ ),
+ // End ABI
+
+ new GLib.AbiField("ABI"
+ , -1
+ , new List<List<string>>() { // union ABI
+ new List<string>() {},
+ new List<string>() {"ABI._gst_reserved"}
+ }
+ , "lookup_child"
+ , null
+ , 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);
+ }
+
+ public void AddChildrenProps(Gst.Element element) {
+ AddChildrenProps (element, null, null, null);
+ }
+
+ [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+ static extern void ges_track_element_clamp_control_source(IntPtr raw, IntPtr property_name);
+
+ public void ClampControlSource(string property_name) {
+ IntPtr native_property_name = GLib.Marshaller.StringToPtrGStrdup (property_name);
+ ges_track_element_clamp_control_source(Handle, native_property_name);
+ GLib.Marshaller.Free (native_property_name);
+ }
+
+ [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool ges_track_element_edit(IntPtr raw, IntPtr layers, int mode, int edge, ulong position);
+
+ [Obsolete]
+ 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;
+ }
+
+ public bool Edit(GES.EditMode mode, GES.Edge edge, ulong position) {
+ return Edit (null, mode, edge, position);
+ }
+
+ [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_has_internal_source(IntPtr raw);
+
+ public bool HasInternalSource {
+ get {
+ bool raw_ret = ges_track_element_has_internal_source(Handle);
+ bool ret = raw_ret;
+ 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_is_core(IntPtr raw);
+
+ public bool IsCore {
+ get {
+ bool raw_ret = ges_track_element_is_core(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;
+ }
+
+ [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool ges_track_element_set_has_internal_source(IntPtr raw, bool has_internal_source);
+
+ public bool SetHasInternalSource(bool has_internal_source) {
+ bool raw_ret = ges_track_element_set_has_internal_source(Handle, has_internal_source);
+ bool ret = raw_ret;
+ 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/subprojects/gstreamer-sharp/ges/generated/GES/TrackElementAddedHandler.cs b/subprojects/gstreamer-sharp/ges/generated/GES/TrackElementAddedHandler.cs
new file mode 100644
index 0000000000..92246c62a3
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/TrackElementAddedHandler.cs
@@ -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/subprojects/gstreamer-sharp/ges/generated/GES/TrackElementAsset.cs b/subprojects/gstreamer-sharp/ges/generated/GES/TrackElementAsset.cs
new file mode 100644
index 0000000000..5d638bbf68
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/TrackElementAsset.cs
@@ -0,0 +1,188 @@
+// 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);
+ }
+ }
+
+ static GetNaturalFramerateNativeDelegate GetNaturalFramerate_cb_delegate;
+ static GetNaturalFramerateNativeDelegate GetNaturalFramerateVMCallback {
+ get {
+ if (GetNaturalFramerate_cb_delegate == null)
+ GetNaturalFramerate_cb_delegate = new GetNaturalFramerateNativeDelegate (GetNaturalFramerate_cb);
+ return GetNaturalFramerate_cb_delegate;
+ }
+ }
+
+ static void OverrideGetNaturalFramerate (GLib.GType gtype)
+ {
+ OverrideGetNaturalFramerate (gtype, GetNaturalFramerateVMCallback);
+ }
+
+ static void OverrideGetNaturalFramerate (GLib.GType gtype, GetNaturalFramerateNativeDelegate callback)
+ {
+ unsafe {
+ IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("get_natural_framerate"));
+ *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+ }
+ }
+
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ delegate bool GetNaturalFramerateNativeDelegate (IntPtr inst, int framerate_n, int framerate_d);
+
+ static bool GetNaturalFramerate_cb (IntPtr inst, int framerate_n, int framerate_d)
+ {
+ try {
+ TrackElementAsset __obj = GLib.Object.GetObject (inst, false) as TrackElementAsset;
+ bool __result;
+ __result = __obj.OnGetNaturalFramerate (framerate_n, framerate_d);
+ return __result;
+ } catch (Exception e) {
+ GLib.ExceptionManager.RaiseUnhandledException (e, true);
+ // NOTREACHED: above call does not return.
+ throw e;
+ }
+ }
+
+ [GLib.DefaultSignalHandler(Type=typeof(GES.TrackElementAsset), ConnectionMethod="OverrideGetNaturalFramerate")]
+ protected virtual bool OnGetNaturalFramerate (int framerate_n, int framerate_d)
+ {
+ return InternalGetNaturalFramerate (framerate_n, framerate_d);
+ }
+
+ private bool InternalGetNaturalFramerate (int framerate_n, int framerate_d)
+ {
+ GetNaturalFramerateNativeDelegate unmanaged = null;
+ unsafe {
+ IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("get_natural_framerate"));
+ unmanaged = (GetNaturalFramerateNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(GetNaturalFramerateNativeDelegate));
+ }
+ if (unmanaged == null) return false;
+
+ bool __result = unmanaged (this.Handle, framerate_n, framerate_d);
+ 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_natural_framerate"
+ , GES.Asset.class_abi.Fields
+ , (uint) Marshal.SizeOf(typeof(IntPtr)) // get_natural_framerate
+ , null
+ , "_ges_reserved"
+ , (uint) Marshal.SizeOf(typeof(IntPtr))
+ , 0
+ ),
+ new GLib.AbiField("_ges_reserved"
+ , -1
+ , (uint) Marshal.SizeOf(typeof(IntPtr)) * 3 // _ges_reserved
+ , "get_natural_framerate"
+ , 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;
+ }
+ }
+
+ [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool ges_track_element_asset_get_natural_framerate(IntPtr raw, int framerate_n, int framerate_d);
+
+ public bool GetNaturalFramerate(int framerate_n, int framerate_d) {
+ bool raw_ret = ges_track_element_asset_get_natural_framerate(Handle, framerate_n, framerate_d);
+ bool ret = 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/subprojects/gstreamer-sharp/ges/generated/GES/TrackElementRemovedHandler.cs b/subprojects/gstreamer-sharp/ges/generated/GES/TrackElementRemovedHandler.cs
new file mode 100644
index 0000000000..224d61b592
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/TrackElementRemovedHandler.cs
@@ -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/subprojects/gstreamer-sharp/ges/generated/GES/TrackRemovedHandler.cs b/subprojects/gstreamer-sharp/ges/generated/GES/TrackRemovedHandler.cs
new file mode 100644
index 0000000000..e796d94822
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/TrackRemovedHandler.cs
@@ -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/subprojects/gstreamer-sharp/ges/generated/GES/TrackType.cs b/subprojects/gstreamer-sharp/ges/generated/GES/TrackType.cs
new file mode 100644
index 0000000000..4150043caa
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/TrackType.cs
@@ -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 : uint {
+
+ 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/subprojects/gstreamer-sharp/ges/generated/GES/Transition.cs b/subprojects/gstreamer-sharp/ges/generated/GES/Transition.cs
new file mode 100644
index 0000000000..8f92f50677
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/Transition.cs
@@ -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/subprojects/gstreamer-sharp/ges/generated/GES/TransitionClip.cs b/subprojects/gstreamer-sharp/ges/generated/GES/TransitionClip.cs
new file mode 100644
index 0000000000..0b7c583903
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/TransitionClip.cs
@@ -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/subprojects/gstreamer-sharp/ges/generated/GES/UriClip.cs b/subprojects/gstreamer-sharp/ges/generated/GES/UriClip.cs
new file mode 100644
index 0000000000..39052a9829
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/UriClip.cs
@@ -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/subprojects/gstreamer-sharp/ges/generated/GES/UriClipAsset.cs b/subprojects/gstreamer-sharp/ges/generated/GES/UriClipAsset.cs
new file mode 100644
index 0000000000..4808988bd5
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/UriClipAsset.cs
@@ -0,0 +1,238 @@
+// 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.SourceClipAsset {
+
+ 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 ();
+ }
+ }
+
+ [GLib.Property ("is-nested-timeline")]
+ public bool IsNestedTimeline {
+ get {
+ GLib.Value val = GetProperty ("is-nested-timeline");
+ bool ret = (bool) 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("discoverer"
+ , GES.SourceClipAsset.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"
+ , "discovered"
+ , (uint) Marshal.SizeOf(typeof(IntPtr))
+ , 0
+ ),
+ new GLib.AbiField("discovered"
+ , -1
+ , (uint) Marshal.SizeOf(typeof(IntPtr)) // discovered
+ , "sync_discoverer"
+ , "_ges_reserved"
+ , (uint) Marshal.SizeOf(typeof(IntPtr))
+ , 0
+ ),
+ new GLib.AbiField("_ges_reserved"
+ , -1
+ , (uint) Marshal.SizeOf(typeof(IntPtr)) * 3 // _ges_reserved
+ , "discovered"
+ , 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 unsafe IntPtr ges_uri_clip_asset_finish(IntPtr res, out IntPtr error);
+
+ public static unsafe GES.UriClipAsset Finish(GLib.IAsyncResult res) {
+ IntPtr error = IntPtr.Zero;
+ IntPtr raw_ret = ges_uri_clip_asset_finish(res == null ? IntPtr.Zero : ((res is GLib.Object) ? (res as GLib.Object).Handle : (res as GLib.AsyncResultAdapter).Handle), out error);
+ GES.UriClipAsset ret = GLib.Object.GetObject(raw_ret, true) as GES.UriClipAsset;
+ if (error != IntPtr.Zero) throw new GLib.GException (error);
+ 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, true) 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 ulong ges_uri_clip_asset_get_max_duration(IntPtr raw);
+
+ public ulong MaxDuration {
+ get {
+ ulong raw_ret = ges_uri_clip_asset_get_max_duration(Handle);
+ ulong ret = raw_ret;
+ return ret;
+ }
+ }
+
+ [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr ges_uri_clip_asset_get_stream_assets(IntPtr raw);
+
+ public GES.UriSourceAsset[] StreamAssets {
+ get {
+ IntPtr raw_ret = ges_uri_clip_asset_get_stream_assets(Handle);
+ GES.UriSourceAsset[] ret = (GES.UriSourceAsset[]) GLib.Marshaller.ListPtrToArray (raw_ret, typeof(GLib.List), false, false, typeof(GES.UriSourceAsset));
+ 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.SourceClipAsset.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/subprojects/gstreamer-sharp/ges/generated/GES/UriSource.cs b/subprojects/gstreamer-sharp/ges/generated/GES/UriSource.cs
new file mode 100644
index 0000000000..0bff57dc4d
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/UriSource.cs
@@ -0,0 +1,34 @@
+// 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 UriSource : GLib.Opaque {
+
+ public UriSource(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/subprojects/gstreamer-sharp/ges/generated/GES/UriSourceAsset.cs b/subprojects/gstreamer-sharp/ges/generated/GES/UriSourceAsset.cs
new file mode 100644
index 0000000000..ca3eeefc27
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/UriSourceAsset.cs
@@ -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 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;
+ }
+ }
+
+ [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool ges_uri_source_asset_is_image(IntPtr raw);
+
+ public bool IsImage {
+ get {
+ bool raw_ret = ges_uri_source_asset_is_image(Handle);
+ bool ret = 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/subprojects/gstreamer-sharp/ges/generated/GES/VideoSource.cs b/subprojects/gstreamer-sharp/ges/generated/GES/VideoSource.cs
new file mode 100644
index 0000000000..0438b1c75a
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/VideoSource.cs
@@ -0,0 +1,143 @@
+// 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;
+ }
+ }
+
+ [DllImport("ges-1.0", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool ges_video_source_get_natural_size(IntPtr raw, out int width, out int height);
+
+ public bool GetNaturalSize(out int width, out int height) {
+ bool raw_ret = ges_video_source_get_natural_size(Handle, out width, out height);
+ bool ret = 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/subprojects/gstreamer-sharp/ges/generated/GES/VideoStandardTransitionType.cs b/subprojects/gstreamer-sharp/ges/generated/GES/VideoStandardTransitionType.cs
new file mode 100644
index 0000000000..8311998e1e
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/VideoStandardTransitionType.cs
@@ -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/subprojects/gstreamer-sharp/ges/generated/GES/VideoTestPattern.cs b/subprojects/gstreamer-sharp/ges/generated/GES/VideoTestPattern.cs
new file mode 100644
index 0000000000..323c9b0a9a
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/VideoTestPattern.cs
@@ -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/subprojects/gstreamer-sharp/ges/generated/GES/VideoTestSource.cs b/subprojects/gstreamer-sharp/ges/generated/GES/VideoTestSource.cs
new file mode 100644
index 0000000000..b0e7ccc6cb
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/VideoTestSource.cs
@@ -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/subprojects/gstreamer-sharp/ges/generated/GES/VideoTrack.cs b/subprojects/gstreamer-sharp/ges/generated/GES/VideoTrack.cs
new file mode 100644
index 0000000000..b7e2b2c9ed
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/VideoTrack.cs
@@ -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/subprojects/gstreamer-sharp/ges/generated/GES/VideoTransition.cs b/subprojects/gstreamer-sharp/ges/generated/GES/VideoTransition.cs
new file mode 100644
index 0000000000..fa5c37331c
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/VideoTransition.cs
@@ -0,0 +1,184 @@
+// 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);
+
+ [Obsolete]
+ [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 ();
+ }
+ }
+
+ [Obsolete]
+ [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);
+
+ [Obsolete]
+ 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);
+
+ [Obsolete]
+ 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/subprojects/gstreamer-sharp/ges/generated/GES/VideoUriSource.cs b/subprojects/gstreamer-sharp/ges/generated/GES/VideoUriSource.cs
new file mode 100644
index 0000000000..55607cda63
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/VideoUriSource.cs
@@ -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/subprojects/gstreamer-sharp/ges/generated/GES/XmlFormatter.cs b/subprojects/gstreamer-sharp/ges/generated/GES/XmlFormatter.cs
new file mode 100644
index 0000000000..6676167b72
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GES/XmlFormatter.cs
@@ -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/subprojects/gstreamer-sharp/ges/generated/GLib/GLibSharp.AsyncReadyCallbackNative.cs b/subprojects/gstreamer-sharp/ges/generated/GLib/GLibSharp.AsyncReadyCallbackNative.cs
new file mode 100644
index 0000000000..b0e77b7371
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GLib/GLibSharp.AsyncReadyCallbackNative.cs
@@ -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/subprojects/gstreamer-sharp/ges/generated/GtkSharp/ObjectManager.cs b/subprojects/gstreamer-sharp/ges/generated/GtkSharp/ObjectManager.cs
new file mode 100644
index 0000000000..38fa7148d1
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/GtkSharp/ObjectManager.cs
@@ -0,0 +1,71 @@
+// 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.Marker.GType, typeof (GES.Marker));
+ GLib.GType.Register (GES.MarkerList.GType, typeof (GES.MarkerList));
+ 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.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.SourceClipAsset.GType, typeof (GES.SourceClipAsset));
+ 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/subprojects/gstreamer-sharp/ges/generated/gst-editing-services-abi.c b/subprojects/gstreamer-sharp/ges/generated/gst-editing-services-abi.c
new file mode 100644
index 0000000000..3d3604dcab
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/gst-editing-services-abi.c
@@ -0,0 +1,261 @@
+// 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("\"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("\"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("\"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("\"sizeof(GESAudioTestSourceClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESAudioTestSourceClass));
+ 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("\"sizeof(GESAudioTrackClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESAudioTrackClass));
+ 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("\"sizeof(GESAudioTransitionClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESAudioTransitionClass));
+ 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("\"sizeof(GESAudioUriSourceClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESAudioUriSourceClass));
+ 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("\"sizeof(GESBaseEffectClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESBaseEffectClass));
+ 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("\"sizeof(GESBaseEffectClipClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESBaseEffectClipClass));
+ 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("\"sizeof(GESBaseTransitionClipClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESBaseTransitionClipClass));
+ 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("\"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("\"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.xmlcontent\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESBaseXmlFormatter, xmlcontent));
+ 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("\"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("\"sizeof(GESClipAssetClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESClipAssetClass));
+ g_print("\"GESClipAssetClass.get_natural_framerate\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESClipAssetClass, get_natural_framerate));
+ 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("\"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("\"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("\"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("\"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("\"sizeof(GESEffectClipClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESEffectClipClass));
+ 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("\"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("\"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("\"sizeof(GESGroupClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESGroupClass));
+ 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("\"sizeof(GESImageSourceClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESImageSourceClass));
+ 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("\"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("\"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("\"sizeof(GESMultiFileSourceClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESMultiFileSourceClass));
+ 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("\"sizeof(GESOperationClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESOperationClass));
+ 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("\"sizeof(GESOperationClipClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESOperationClipClass));
+ 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("\"sizeof(GESOverlayClipClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESOverlayClipClass));
+ 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("\"sizeof(GESPipelineClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESPipelineClass));
+ 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("\"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.loading\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESProjectClass, loading));
+ 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("\"sizeof(GESSourceClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESSourceClass));
+ 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("\"sizeof(GESSourceClipClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESSourceClipClass));
+ 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("\"sizeof(GESTestClipClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESTestClipClass));
+ 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("\"sizeof(GESTextOverlayClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESTextOverlayClass));
+ 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("\"sizeof(GESTextOverlayClipClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESTextOverlayClipClass));
+ 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("\"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("\"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("\"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.set_child_property\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESTimelineElementClass, set_child_property));
+ g_print("\"GESTimelineElementClass.get_layer_priority\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESTimelineElementClass, get_layer_priority));
+ g_print("\"GESTimelineElementClass.get_natural_framerate\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESTimelineElementClass, get_natural_framerate));
+ g_print("\"GESTimelineElementClass.set_child_property_full\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESTimelineElementClass, set_child_property_full));
+ 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("\"sizeof(GESTitleClipClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESTitleClipClass));
+ 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("\"sizeof(GESTitleSourceClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESTitleSourceClass));
+ 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("\"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("\"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("\"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("\"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("\"sizeof(GESTrackElementAssetClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESTrackElementAssetClass));
+ g_print("\"GESTrackElementAssetClass.get_natural_framerate\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESTrackElementAssetClass, get_natural_framerate));
+ 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("\"sizeof(GESTransitionClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESTransitionClass));
+ 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("\"sizeof(GESTransitionClipClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESTransitionClipClass));
+ 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("\"sizeof(GESUriClipClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESUriClipClass));
+ 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("\"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.discovered\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GESUriClipAssetClass, discovered));
+ 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("\"sizeof(GESUriSourceAssetClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESUriSourceAssetClass));
+ 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("\"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("\"sizeof(GESVideoTestSourceClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESVideoTestSourceClass));
+ 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("\"sizeof(GESVideoTrackClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESVideoTrackClass));
+ 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("\"sizeof(GESVideoTransitionClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESVideoTransitionClass));
+ 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("\"sizeof(GESVideoUriSourceClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESVideoUriSourceClass));
+ 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("\"sizeof(GESXmlFormatterClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GESXmlFormatterClass));
+ 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));
+ return 0;
+}
diff --git a/subprojects/gstreamer-sharp/ges/generated/gst-editing-services-abi.cs b/subprojects/gstreamer-sharp/ges/generated/gst-editing-services-abi.cs
new file mode 100644
index 0000000000..ba08cb4290
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/gst-editing-services-abi.cs
@@ -0,0 +1,277 @@
+// 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("\"sizeof(GESAsset)\": \"" + GES.Asset.abi_info.Size + "\"");
+ Console.WriteLine("\"GESAsset.priv\": \"" + GES.Asset.abi_info.GetFieldOffset("priv") + "\"");
+ Console.WriteLine("\"sizeof(GESAudioSourceClass)\": \"" + GES.AudioSource.class_abi.Size + "\"");
+ Console.WriteLine("\"GESAudioSourceClass.create_source\": \"" + GES.AudioSource.class_abi.GetFieldOffset("create_source") + "\"");
+ Console.WriteLine("\"sizeof(GESAudioSource)\": \"" + GES.AudioSource.abi_info.Size + "\"");
+ Console.WriteLine("\"GESAudioSource.priv\": \"" + GES.AudioSource.abi_info.GetFieldOffset("priv") + "\"");
+ Console.WriteLine("\"sizeof(GESAudioTestSourceClass)\": \"" + GES.AudioTestSource.class_abi.Size + "\"");
+ Console.WriteLine("\"sizeof(GESAudioTestSource)\": \"" + GES.AudioTestSource.abi_info.Size + "\"");
+ Console.WriteLine("\"GESAudioTestSource.priv\": \"" + GES.AudioTestSource.abi_info.GetFieldOffset("priv") + "\"");
+ Console.WriteLine("\"sizeof(GESAudioTrackClass)\": \"" + GES.AudioTrack.class_abi.Size + "\"");
+ Console.WriteLine("\"sizeof(GESAudioTrack)\": \"" + GES.AudioTrack.abi_info.Size + "\"");
+ Console.WriteLine("\"GESAudioTrack.priv\": \"" + GES.AudioTrack.abi_info.GetFieldOffset("priv") + "\"");
+ Console.WriteLine("\"sizeof(GESAudioTransitionClass)\": \"" + GES.AudioTransition.class_abi.Size + "\"");
+ Console.WriteLine("\"sizeof(GESAudioTransition)\": \"" + GES.AudioTransition.abi_info.Size + "\"");
+ Console.WriteLine("\"GESAudioTransition.priv\": \"" + GES.AudioTransition.abi_info.GetFieldOffset("priv") + "\"");
+ Console.WriteLine("\"sizeof(GESAudioUriSourceClass)\": \"" + GES.AudioUriSource.class_abi.Size + "\"");
+ 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("\"sizeof(GESBaseEffectClass)\": \"" + GES.BaseEffect.class_abi.Size + "\"");
+ Console.WriteLine("\"sizeof(GESBaseEffect)\": \"" + GES.BaseEffect.abi_info.Size + "\"");
+ Console.WriteLine("\"GESBaseEffect.priv\": \"" + GES.BaseEffect.abi_info.GetFieldOffset("priv") + "\"");
+ Console.WriteLine("\"sizeof(GESBaseEffectClipClass)\": \"" + GES.BaseEffectClip.class_abi.Size + "\"");
+ Console.WriteLine("\"sizeof(GESBaseEffectClip)\": \"" + GES.BaseEffectClip.abi_info.Size + "\"");
+ Console.WriteLine("\"GESBaseEffectClip.priv\": \"" + GES.BaseEffectClip.abi_info.GetFieldOffset("priv") + "\"");
+ Console.WriteLine("\"sizeof(GESBaseTransitionClipClass)\": \"" + GES.BaseTransitionClip.class_abi.Size + "\"");
+ Console.WriteLine("\"sizeof(GESBaseTransitionClip)\": \"" + GES.BaseTransitionClip.abi_info.Size + "\"");
+ Console.WriteLine("\"GESBaseTransitionClip.priv\": \"" + GES.BaseTransitionClip.abi_info.GetFieldOffset("priv") + "\"");
+ 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("\"sizeof(GESBaseXmlFormatter)\": \"" + GES.BaseXmlFormatter.abi_info.Size + "\"");
+ Console.WriteLine("\"GESBaseXmlFormatter.priv\": \"" + GES.BaseXmlFormatter.abi_info.GetFieldOffset("priv") + "\"");
+ Console.WriteLine("\"GESBaseXmlFormatter.xmlcontent\": \"" + GES.BaseXmlFormatter.abi_info.GetFieldOffset("xmlcontent") + "\"");
+ 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("\"sizeof(GESClip)\": \"" + GES.Clip.abi_info.Size + "\"");
+ Console.WriteLine("\"GESClip.priv\": \"" + GES.Clip.abi_info.GetFieldOffset("priv") + "\"");
+ Console.WriteLine("\"sizeof(GESClipAssetClass)\": \"" + GES.ClipAsset.class_abi.Size + "\"");
+ Console.WriteLine("\"GESClipAssetClass.get_natural_framerate\": \"" + GES.ClipAsset.class_abi.GetFieldOffset("get_natural_framerate") + "\"");
+ Console.WriteLine("\"sizeof(GESClipAsset)\": \"" + GES.ClipAsset.abi_info.Size + "\"");
+ Console.WriteLine("\"GESClipAsset.priv\": \"" + GES.ClipAsset.abi_info.GetFieldOffset("priv") + "\"");
+ 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("\"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("\"sizeof(GESEffectClass)\": \"" + GES.Effect.class_abi.Size + "\"");
+ Console.WriteLine("\"GESEffectClass.rate_properties\": \"" + GES.Effect.class_abi.GetFieldOffset("rate_properties") + "\"");
+ Console.WriteLine("\"sizeof(GESEffect)\": \"" + GES.Effect.abi_info.Size + "\"");
+ Console.WriteLine("\"GESEffect.priv\": \"" + GES.Effect.abi_info.GetFieldOffset("priv") + "\"");
+ Console.WriteLine("\"sizeof(GESEffectClipClass)\": \"" + GES.EffectClip.class_abi.Size + "\"");
+ Console.WriteLine("\"sizeof(GESEffectClip)\": \"" + GES.EffectClip.abi_info.Size + "\"");
+ Console.WriteLine("\"GESEffectClip.priv\": \"" + GES.EffectClip.abi_info.GetFieldOffset("priv") + "\"");
+ 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("\"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("\"sizeof(GESGroupClass)\": \"" + GES.Group.class_abi.Size + "\"");
+ Console.WriteLine("\"sizeof(GESGroup)\": \"" + GES.Group.abi_info.Size + "\"");
+ Console.WriteLine("\"GESGroup.priv\": \"" + GES.Group.abi_info.GetFieldOffset("priv") + "\"");
+ Console.WriteLine("\"sizeof(GESImageSourceClass)\": \"" + GES.ImageSource.class_abi.Size + "\"");
+ 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("\"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("\"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("\"sizeof(GESMultiFileSourceClass)\": \"" + GES.MultiFileSource.class_abi.Size + "\"");
+ 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("\"sizeof(GESOperationClass)\": \"" + GES.Operation.class_abi.Size + "\"");
+ Console.WriteLine("\"sizeof(GESOperation)\": \"" + GES.Operation.abi_info.Size + "\"");
+ Console.WriteLine("\"GESOperation.priv\": \"" + GES.Operation.abi_info.GetFieldOffset("priv") + "\"");
+ Console.WriteLine("\"sizeof(GESOperationClipClass)\": \"" + GES.OperationClip.class_abi.Size + "\"");
+ Console.WriteLine("\"sizeof(GESOperationClip)\": \"" + GES.OperationClip.abi_info.Size + "\"");
+ Console.WriteLine("\"GESOperationClip.priv\": \"" + GES.OperationClip.abi_info.GetFieldOffset("priv") + "\"");
+ Console.WriteLine("\"sizeof(GESOverlayClipClass)\": \"" + GES.OverlayClip.class_abi.Size + "\"");
+ Console.WriteLine("\"sizeof(GESOverlayClip)\": \"" + GES.OverlayClip.abi_info.Size + "\"");
+ Console.WriteLine("\"GESOverlayClip.priv\": \"" + GES.OverlayClip.abi_info.GetFieldOffset("priv") + "\"");
+ Console.WriteLine("\"sizeof(GESPipelineClass)\": \"" + GES.Pipeline.class_abi.Size + "\"");
+ Console.WriteLine("\"sizeof(GESPipeline)\": \"" + GES.Pipeline.abi_info.Size + "\"");
+ Console.WriteLine("\"GESPipeline.priv\": \"" + GES.Pipeline.abi_info.GetFieldOffset("priv") + "\"");
+ 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.loading\": \"" + GES.Project.class_abi.GetFieldOffset("loading") + "\"");
+ Console.WriteLine("\"sizeof(GESProject)\": \"" + GES.Project.abi_info.Size + "\"");
+ Console.WriteLine("\"GESProject.priv\": \"" + GES.Project.abi_info.GetFieldOffset("priv") + "\"");
+ Console.WriteLine("\"sizeof(GESSourceClass)\": \"" + GES.Source.class_abi.Size + "\"");
+ Console.WriteLine("\"sizeof(GESSource)\": \"" + GES.Source.abi_info.Size + "\"");
+ Console.WriteLine("\"GESSource.priv\": \"" + GES.Source.abi_info.GetFieldOffset("priv") + "\"");
+ Console.WriteLine("\"sizeof(GESSourceClipClass)\": \"" + GES.SourceClip.class_abi.Size + "\"");
+ Console.WriteLine("\"sizeof(GESSourceClip)\": \"" + GES.SourceClip.abi_info.Size + "\"");
+ Console.WriteLine("\"GESSourceClip.priv\": \"" + GES.SourceClip.abi_info.GetFieldOffset("priv") + "\"");
+ Console.WriteLine("\"sizeof(GESTestClipClass)\": \"" + GES.TestClip.class_abi.Size + "\"");
+ Console.WriteLine("\"sizeof(GESTestClip)\": \"" + GES.TestClip.abi_info.Size + "\"");
+ Console.WriteLine("\"GESTestClip.priv\": \"" + GES.TestClip.abi_info.GetFieldOffset("priv") + "\"");
+ Console.WriteLine("\"sizeof(GESTextOverlayClass)\": \"" + GES.TextOverlay.class_abi.Size + "\"");
+ Console.WriteLine("\"sizeof(GESTextOverlay)\": \"" + GES.TextOverlay.abi_info.Size + "\"");
+ Console.WriteLine("\"GESTextOverlay.priv\": \"" + GES.TextOverlay.abi_info.GetFieldOffset("priv") + "\"");
+ Console.WriteLine("\"sizeof(GESTextOverlayClipClass)\": \"" + GES.TextOverlayClip.class_abi.Size + "\"");
+ Console.WriteLine("\"sizeof(GESTextOverlayClip)\": \"" + GES.TextOverlayClip.abi_info.Size + "\"");
+ Console.WriteLine("\"GESTextOverlayClip.priv\": \"" + GES.TextOverlayClip.abi_info.GetFieldOffset("priv") + "\"");
+ 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("\"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("\"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.set_child_property\": \"" + GES.TimelineElement.class_abi.GetFieldOffset("set_child_property") + "\"");
+ Console.WriteLine("\"GESTimelineElementClass.get_layer_priority\": \"" + GES.TimelineElement.class_abi.GetFieldOffset("get_layer_priority") + "\"");
+ Console.WriteLine("\"GESTimelineElementClass.get_natural_framerate\": \"" + GES.TimelineElement.class_abi.GetFieldOffset("get_natural_framerate") + "\"");
+ Console.WriteLine("\"GESTimelineElementClass.set_child_property_full\": \"" + GES.TimelineElement.class_abi.GetFieldOffset("set_child_property_full") + "\"");
+ 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("\"sizeof(GESTitleClipClass)\": \"" + GES.TitleClip.class_abi.Size + "\"");
+ Console.WriteLine("\"sizeof(GESTitleClip)\": \"" + GES.TitleClip.abi_info.Size + "\"");
+ Console.WriteLine("\"GESTitleClip.priv\": \"" + GES.TitleClip.abi_info.GetFieldOffset("priv") + "\"");
+ Console.WriteLine("\"sizeof(GESTitleSourceClass)\": \"" + GES.TitleSource.class_abi.Size + "\"");
+ Console.WriteLine("\"sizeof(GESTitleSource)\": \"" + GES.TitleSource.abi_info.Size + "\"");
+ Console.WriteLine("\"GESTitleSource.priv\": \"" + GES.TitleSource.abi_info.GetFieldOffset("priv") + "\"");
+ 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("\"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("\"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("\"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("\"sizeof(GESTrackElementAssetClass)\": \"" + GES.TrackElementAsset.class_abi.Size + "\"");
+ Console.WriteLine("\"GESTrackElementAssetClass.get_natural_framerate\": \"" + GES.TrackElementAsset.class_abi.GetFieldOffset("get_natural_framerate") + "\"");
+ Console.WriteLine("\"sizeof(GESTrackElementAsset)\": \"" + GES.TrackElementAsset.abi_info.Size + "\"");
+ Console.WriteLine("\"GESTrackElementAsset.priv\": \"" + GES.TrackElementAsset.abi_info.GetFieldOffset("priv") + "\"");
+ Console.WriteLine("\"sizeof(GESTransitionClass)\": \"" + GES.Transition.class_abi.Size + "\"");
+ Console.WriteLine("\"sizeof(GESTransition)\": \"" + GES.Transition.abi_info.Size + "\"");
+ Console.WriteLine("\"GESTransition.priv\": \"" + GES.Transition.abi_info.GetFieldOffset("priv") + "\"");
+ Console.WriteLine("\"sizeof(GESTransitionClipClass)\": \"" + GES.TransitionClip.class_abi.Size + "\"");
+ 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("\"sizeof(GESUriClipClass)\": \"" + GES.UriClip.class_abi.Size + "\"");
+ Console.WriteLine("\"sizeof(GESUriClip)\": \"" + GES.UriClip.abi_info.Size + "\"");
+ Console.WriteLine("\"GESUriClip.priv\": \"" + GES.UriClip.abi_info.GetFieldOffset("priv") + "\"");
+ 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.discovered\": \"" + GES.UriClipAsset.class_abi.GetFieldOffset("discovered") + "\"");
+ Console.WriteLine("\"sizeof(GESUriClipAsset)\": \"" + GES.UriClipAsset.abi_info.Size + "\"");
+ Console.WriteLine("\"GESUriClipAsset.priv\": \"" + GES.UriClipAsset.abi_info.GetFieldOffset("priv") + "\"");
+ Console.WriteLine("\"sizeof(GESUriSourceAssetClass)\": \"" + GES.UriSourceAsset.class_abi.Size + "\"");
+ Console.WriteLine("\"sizeof(GESUriSourceAsset)\": \"" + GES.UriSourceAsset.abi_info.Size + "\"");
+ Console.WriteLine("\"GESUriSourceAsset.priv\": \"" + GES.UriSourceAsset.abi_info.GetFieldOffset("priv") + "\"");
+ 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("\"sizeof(GESVideoTestSourceClass)\": \"" + GES.VideoTestSource.class_abi.Size + "\"");
+ Console.WriteLine("\"sizeof(GESVideoTestSource)\": \"" + GES.VideoTestSource.abi_info.Size + "\"");
+ Console.WriteLine("\"GESVideoTestSource.priv\": \"" + GES.VideoTestSource.abi_info.GetFieldOffset("priv") + "\"");
+ Console.WriteLine("\"sizeof(GESVideoTrackClass)\": \"" + GES.VideoTrack.class_abi.Size + "\"");
+ Console.WriteLine("\"sizeof(GESVideoTrack)\": \"" + GES.VideoTrack.abi_info.Size + "\"");
+ Console.WriteLine("\"GESVideoTrack.priv\": \"" + GES.VideoTrack.abi_info.GetFieldOffset("priv") + "\"");
+ Console.WriteLine("\"sizeof(GESVideoTransitionClass)\": \"" + GES.VideoTransition.class_abi.Size + "\"");
+ Console.WriteLine("\"sizeof(GESVideoTransition)\": \"" + GES.VideoTransition.abi_info.Size + "\"");
+ Console.WriteLine("\"GESVideoTransition.priv\": \"" + GES.VideoTransition.abi_info.GetFieldOffset("priv") + "\"");
+ Console.WriteLine("\"sizeof(GESVideoUriSourceClass)\": \"" + GES.VideoUriSource.class_abi.Size + "\"");
+ 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("\"sizeof(GESXmlFormatterClass)\": \"" + GES.XmlFormatter.class_abi.Size + "\"");
+ Console.WriteLine("\"sizeof(GESXmlFormatter)\": \"" + GES.XmlFormatter.abi_info.Size + "\"");
+ Console.WriteLine("\"GESXmlFormatter.priv\": \"" + GES.XmlFormatter.abi_info.GetFieldOffset("priv") + "\"");
+ }
+ }
+}
diff --git a/subprojects/gstreamer-sharp/ges/generated/gst-editing-services-api.xml b/subprojects/gstreamer-sharp/ges/generated/gst-editing-services-api.xml
new file mode 100644
index 0000000000..5e4a0cdb0d
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/gst-editing-services-api.xml
@@ -0,0 +1,4419 @@
+<?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_START" name="Start" value="0" />
+ <member cname="GES_EDGE_END" name="EdgeEnd" value="1" />
+ <member cname="GES_EDGE_END" name="End" value="1" />
+ <member cname="GES_EDGE_NONE" name="EdgeNone" value="2" />
+ <member cname="GES_EDGE_NONE" name="None" 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_NORMAL" name="Normal" value="0" />
+ <member cname="GES_EDIT_MODE_RIPPLE" name="EditRipple" value="1" />
+ <member cname="GES_EDIT_MODE_RIPPLE" name="Ripple" value="1" />
+ <member cname="GES_EDIT_MODE_ROLL" name="EditRoll" value="2" />
+ <member cname="GES_EDIT_MODE_ROLL" name="Roll" value="2" />
+ <member cname="GES_EDIT_MODE_TRIM" name="EditTrim" value="3" />
+ <member cname="GES_EDIT_MODE_TRIM" name="Trim" value="3" />
+ <member cname="GES_EDIT_MODE_SLIDE" name="EditSlide" value="4" />
+ <member cname="GES_EDIT_MODE_SLIDE" name="Slide" 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" />
+ <member cname="GES_ERROR_INVALID_FRAME_NUMBER" name="InvalidFrameNumber" value="3" />
+ <member cname="GES_ERROR_NEGATIVE_LAYER" name="NegativeLayer" value="4" />
+ <member cname="GES_ERROR_NEGATIVE_TIME" name="NegativeTime" value="5" />
+ <member cname="GES_ERROR_NOT_ENOUGH_INTERNAL_CONTENT" name="NotEnoughInternalContent" value="6" />
+ <member cname="GES_ERROR_INVALID_OVERLAP_IN_TRACK" name="InvalidOverlapInTrack" value="7" />
+ <member cname="GES_ERROR_INVALID_EFFECT_BIN_DESCRIPTION" name="InvalidEffectBinDescription" value="8" />
+ </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 name="BaseEffectTimeTranslationFunc" cname="GESBaseEffectTimeTranslationFunc" version="1.18">
+ <return-type type="guint64" />
+ <parameters>
+ <parameter name="effect" type="GESBaseEffect*" />
+ <parameter name="time" type="guint64" />
+ <parameter name="time_property_values" type="GHashTable*" element_type="const-gchar*" />
+ <parameter allow-none="1" closure="3" name="user_data" type="gpointer" />
+ </parameters>
+ </callback>
+ <callback hidden="0" name="CreateElementForGapFunc" cname="GESCreateElementForGapFunc">
+ <return-type type="GstElement*" />
+ <parameters>
+ <parameter name="track" type="GESTrack*" />
+ </parameters>
+ </callback>
+ <callback name="CreateTrackElementFunc" cname="GESCreateTrackElementFunc">
+ <return-type type="GESTrackElement*" />
+ <parameters>
+ <parameter name="clip" type="GESClip*" />
+ <parameter name="type" type="GESTrackType" />
+ </parameters>
+ </callback>
+ <callback name="CreateTrackElementsFunc" cname="GESCreateTrackElementsFunc">
+ <return-type type="GList*" element_type="GESTrackElement*" elements_owned="true" />
+ <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" deprecated="true" deprecated-version="1.18">
+ <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" is_callback="false" name="Parent" type="GTypeInterface">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="asset_type" access="public" writeable="false" readable="true" is_callback="false" name="AssetType" type="GType" />
+ <field cname="check_id" access="public" writeable="false" readable="true" is_callback="false" name="CheckId" type="GESExtractableCheckId" />
+ <field cname="can_update_asset" access="public" writeable="false" readable="true" is_callback="false" 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" is_callback="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" padding="true" />
+ </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" is_callback="false" name="ParentIface" type="GTypeInterface">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="public" writeable="false" readable="true" is_callback="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" padding="true" />
+ </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" owned="true" pass_as="out" />
+ <parameter name="type" type="GType*" owned="true" pass_as="out" />
+ </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="GetMarkerList" cname="ges_meta_container_get_marker_list" version="1.18">
+ <return-type type="GESMarkerList*" owned="true" />
+ <parameters>
+ <parameter name="key" type="const-gchar*" />
+ </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 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 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 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="RegisterStaticMeta" cname="ges_meta_container_register_static_meta" version="1.18">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter name="flags" type="GESMetaFlag" />
+ <parameter name="meta_item" type="const-gchar*" />
+ <parameter name="type" type="GType" />
+ </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="SetMarkerList" cname="ges_meta_container_set_marker_list" version="1.18">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter name="meta_item" type="const-gchar*" />
+ <parameter name="list" type="GESMarkerList*" />
+ </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="key" type="const-gchar*" />
+ <parameter allow-none="1" name="value" 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" is_callback="false" 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" is_callback="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" padding="true" />
+ </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 allow-none="1" 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 allow-none="1" 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="false" construct="false" construct-only="false" />
+ <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GObject*" />
+ <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GESAssetPrivate*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" padding="true" />
+ </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" is_callback="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" is_callback="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" padding="true" />
+ </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" is_callback="false" name="Parent" type="GESSource*" />
+ <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GESAudioSourcePrivate*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" padding="true" />
+ </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" is_callback="false" name="ParentClass" type="GESAudioSourceClass">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" padding="true" />
+ </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" is_callback="false" name="Parent" type="GESAudioSource*" />
+ <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GESAudioTestSourcePrivate*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" padding="true" />
+ </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" is_callback="false" name="ParentClass" type="GESTrackClass">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="public" writeable="false" readable="true" is_callback="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" padding="true" />
+ </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" is_callback="false" name="ParentInstance" type="GESTrack*" />
+ <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GESAudioTrackPrivate*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" padding="true" />
+ </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" is_callback="false" name="ParentClass" type="GESTransitionClass">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="public" writeable="false" readable="true" is_callback="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" padding="true" />
+ </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="" deprecated="true" deprecated-version="1.18" />
+ <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GESTransition*" />
+ <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GESAudioTransitionPrivate*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" padding="true" />
+ </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" is_callback="false" name="ParentClass" type="GESAudioSourceClass">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" padding="true" />
+ </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" is_callback="false" name="Parent" type="GESAudioSource*" />
+ <field cname="uri" access="private" writeable="false" readable="false" is_callback="false" name="UriField" type="gchar*" />
+ <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GESUriSource*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" padding="true" />
+ </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" is_callback="false" name="ParentClass" type="GESOperationClass">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" padding="true" />
+ </class_struct>
+ <method name="GetType" cname="ges_base_effect_get_type" shared="true">
+ <return-type type="GType" />
+ </method>
+ <method name="IsTimeEffect" cname="ges_base_effect_is_time_effect" version="1.18">
+ <return-type type="gboolean" />
+ <parameters />
+ </method>
+ <method name="RegisterTimeProperty" cname="ges_base_effect_register_time_property" version="1.18">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter name="child_property_name" type="const-gchar*" />
+ </parameters>
+ </method>
+ <method name="SetTimeTranslationFuncs" cname="ges_base_effect_set_time_translation_funcs" version="1.18">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter scope="notified" allow-none="1" name="source_to_sink_func" type="GESBaseEffectTimeTranslationFunc" />
+ <parameter closure="2" destroy="3" scope="notified" allow-none="1" name="sink_to_source_func" type="GESBaseEffectTimeTranslationFunc" />
+ <parameter scope="notified" allow-none="1" name="user_data" type="gpointer" />
+ <parameter destroy="2" scope="async" allow-none="1" name="destroy" type="GLib.DestroyNotify" />
+ </parameters>
+ </method>
+ <field cname="parent" access="private" writeable="false" readable="false" is_callback="false" name="Parent" type="GESOperation*" />
+ <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GESBaseEffectPrivate*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" padding="true" />
+ </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" is_callback="false" name="ParentClass" type="GESOperationClipClass">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" padding="true" />
+ </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" is_callback="false" name="Parent" type="GESOperationClip*" />
+ <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GESBaseEffectClipPrivate*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" padding="true" />
+ </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" is_callback="false" name="ParentClass" type="GESOperationClipClass">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" padding="true" />
+ </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" is_callback="false" name="Parent" type="GESOperationClip*" />
+ <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GESBaseTransitionClipPrivate*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" padding="true" />
+ </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" is_callback="false" name="Parent" type="GESFormatterClass">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="content_parser" access="public" writeable="false" readable="true" is_callback="false" name="ContentParser" type="GMarkupParser" />
+ <method vm="save" />
+ <field cname="_ges_reserved" access="public" writeable="false" readable="true" is_callback="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" padding="true" />
+ </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" is_callback="false" name="Parent" type="GESFormatter*" />
+ <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GESBaseXmlFormatterPrivate*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="xmlcontent" access="private" writeable="false" readable="false" is_callback="false" name="Xmlcontent" type="gchar*" />
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gesGesReserved" type="gpointer" array="true" array_len="3" padding="true" />
+ </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" is_callback="false" name="ParentClass" type="GESContainerClass">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="create_track_element" access="public" writeable="false" readable="true" is_callback="false" name="CreateTrackElement" type="GESCreateTrackElementFunc" />
+ <field cname="create_track_elements" access="public" writeable="false" readable="true" is_callback="false" name="CreateTrackElements" type="GESCreateTrackElementsFunc" />
+ <union name="ABI" cname="ABI">
+ <struct name="abi" cname="abi" opaque="false" hidden="false" />
+ <field cname="_gst_reserved" access="private" writeable="false" readable="false" name="_gstGstReserved" type="gpointer" array="true" array_len="20" />
+ </union>
+ </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">
+ <return-type type="GESTrackElement*" />
+ <parameters>
+ <parameter name="type" type="GESTrackType" />
+ </parameters>
+ </virtual_method>
+ <virtual_method name="CreateTrackElements" cname="create_track_elements">
+ <return-type type="GList*" element_type="GESTrackElement*" elements_owned="true" />
+ <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="AddChildToTrack" cname="ges_clip_add_child_to_track" version="1.18">
+ <return-type type="GESTrackElement*" />
+ <parameters throws="1">
+ <parameter name="child" type="GESTrackElement*" />
+ <parameter name="track" type="GESTrack*" />
+ <parameter name="error" type="GError**" />
+ </parameters>
+ </method>
+ <method name="AddTopEffect" cname="ges_clip_add_top_effect" version="1.18">
+ <return-type type="gboolean" />
+ <parameters throws="1">
+ <parameter name="effect" type="GESBaseEffect*" />
+ <parameter name="index" type="gint" />
+ <parameter name="error" type="GError**" />
+ </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="GetDurationLimit" cname="ges_clip_get_duration_limit" version="1.18">
+ <return-type type="guint64" />
+ <parameters />
+ </method>
+ <method name="GetInternalTimeFromTimelineTime" cname="ges_clip_get_internal_time_from_timeline_time" version="1.18">
+ <return-type type="guint64" />
+ <parameters throws="1">
+ <parameter name="child" type="GESTrackElement*" />
+ <parameter name="timeline_time" type="guint64" />
+ <parameter name="error" type="GError**" />
+ </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="GetTimelineTimeFromInternalTime" cname="ges_clip_get_timeline_time_from_internal_time" version="1.18">
+ <return-type type="guint64" />
+ <parameters throws="1">
+ <parameter name="child" type="GESTrackElement*" />
+ <parameter name="internal_time" type="guint64" />
+ <parameter name="error" type="GError**" />
+ </parameters>
+ </method>
+ <method name="GetTimelineTimeFromSourceFrame" cname="ges_clip_get_timeline_time_from_source_frame" version="1.18">
+ <return-type type="guint64" />
+ <parameters throws="1">
+ <parameter name="frame_number" type="gint64" />
+ <parameter name="error" type="GError**" />
+ </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="MoveToLayerFull" cname="ges_clip_move_to_layer_full" version="1.18">
+ <return-type type="gboolean" />
+ <parameters throws="1">
+ <parameter name="layer" type="GESLayer*" />
+ <parameter name="error" type="GError**" />
+ </parameters>
+ </method>
+ <method name="RemoveTopEffect" cname="ges_clip_remove_top_effect" version="1.18">
+ <return-type type="gboolean" />
+ <parameters throws="1">
+ <parameter name="effect" type="GESBaseEffect*" />
+ <parameter name="error" type="GError**" />
+ </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="SetTopEffectIndexFull" cname="ges_clip_set_top_effect_index_full" version="1.18">
+ <return-type type="gboolean" />
+ <parameters throws="1">
+ <parameter name="effect" type="GESBaseEffect*" />
+ <parameter name="newindex" type="guint" />
+ <parameter name="error" type="GError**" />
+ </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>
+ <method name="SplitFull" cname="ges_clip_split_full" version="1.18">
+ <return-type type="GESClip*" />
+ <parameters throws="1">
+ <parameter name="position" type="guint64" />
+ <parameter name="error" type="GError**" />
+ </parameters>
+ </method>
+ <property name="DurationLimit" cname="duration-limit" type="guint64" readable="true" writeable="false" construct="false" construct-only="false" version="1.18" />
+ <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" is_callback="false" name="Parent" type="GESContainer*" />
+ <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GESClipPrivate*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gesGesReserved" type="gpointer" array="true" array_len="20" padding="true" />
+ </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" is_callback="false" name="Parent" type="GESAssetClass">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <method vm="get_natural_framerate" />
+ <field cname="_ges_reserved" access="public" writeable="false" readable="true" is_callback="false" name="_gesGesReserved" type="gpointer" array="true" array_len="3" padding="true" />
+ </class_struct>
+ <method name="GetType" cname="ges_clip_asset_get_type" shared="true">
+ <return-type type="GType" />
+ </method>
+ <virtual_method name="GetNaturalFramerate" cname="get_natural_framerate" version="1.18">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter name="framerate_n" type="gint" />
+ <parameter name="framerate_d" type="gint" />
+ </parameters>
+ </virtual_method>
+ <method name="GetFrameTime" cname="ges_clip_asset_get_frame_time" version="1.18">
+ <return-type type="guint64" />
+ <parameters>
+ <parameter name="frame_number" type="gint64" />
+ </parameters>
+ </method>
+ <method name="GetNaturalFramerate" cname="ges_clip_asset_get_natural_framerate" version="1.18">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter name="framerate_n" type="gint" />
+ <parameter name="framerate_d" type="gint" />
+ </parameters>
+ </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" is_callback="false" name="Parent" type="GESAsset*" />
+ <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GESClipAssetPrivate*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" padding="true" />
+ </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" is_callback="false" 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" is_callback="false" name="ParentInstance" type="GESFormatter*" />
+ <field cname="priv" access="public" writeable="false" readable="true" is_callback="false" 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" is_callback="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" is_callback="false" name="GroupingPriority" type="guint" />
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gesGesReserved" type="gpointer" array="true" array_len="20" padding="true" />
+ </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" deprecated="true" deprecated-version="1.18">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter allow-none="1" 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" deprecated="true" deprecated-version="1.18">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter allow-none="1" 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" is_callback="false" name="Parent" type="GESTimelineElement*" />
+ <field cname="children" access="public" writeable="false" readable="true" is_callback="false" name="Children" type="GList*" element_type="GESTimelineElement*" />
+ <field cname="height" access="public" writeable="false" readable="true" is_callback="false" name="HeightField" type="guint32" />
+ <field cname="children_control_mode" access="public" writeable="false" readable="true" is_callback="false" name="ChildrenControlMode" type="GESChildrenControlMode" />
+ <field cname="initiated_move" access="public" writeable="false" readable="true" is_callback="false" name="InitiatedMove" type="GESTimelineElement*" />
+ <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GESContainerPrivate*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gesGesReserved" type="gpointer" array="true" array_len="20" padding="true" />
+ <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="last" 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" is_callback="false" name="ParentClass" type="GESBaseEffectClass">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="rate_properties" access="private" writeable="false" readable="false" is_callback="false" name="RateProperties" type="GList*" element_type="gpointer" />
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" padding="true" />
+ </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" is_callback="false" name="Parent" type="GESBaseEffect*" />
+ <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GESEffectPrivate*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" padding="true" />
+ </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" is_callback="false" name="ParentClass" type="GESTrackElementAssetClass">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="public" writeable="false" readable="true" is_callback="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" padding="true" />
+ </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" is_callback="false" name="ParentInstance" type="GESTrackElementAsset*" />
+ <field cname="priv" access="public" writeable="false" readable="true" is_callback="false" name="Priv" type="GESEffectAssetPrivate*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="public" writeable="false" readable="true" is_callback="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" padding="true" />
+ </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" is_callback="false" name="ParentClass" type="GESBaseEffectClipClass">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" padding="true" />
+ </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" is_callback="false" name="Parent" type="GESBaseEffectClip*" />
+ <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GESEffectClipPrivate*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" padding="true" />
+ </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" is_callback="false" name="ParentClass" type="GInitiallyUnownedClass">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="can_load_uri" access="public" writeable="false" readable="true" is_callback="false" name="CanLoadUri" type="GESFormatterCanLoadURIMethod" />
+ <field cname="load_from_uri" access="public" writeable="false" readable="true" is_callback="false" name="LoadFromUri" type="GESFormatterLoadFromURIMethod" />
+ <field cname="save_to_uri" access="public" writeable="false" readable="true" is_callback="false" name="SaveToUri" type="GESFormatterSaveToURIMethod" />
+ <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*" />
+ <field cname="extension" access="private" writeable="false" readable="false" is_callback="false" name="Extension" type="gchar*" />
+ <field cname="mimetype" access="private" writeable="false" readable="false" is_callback="false" name="Mimetype" type="gchar*" />
+ <field cname="version" access="private" writeable="false" readable="false" is_callback="false" name="Version" type="gdouble" />
+ <field cname="rank" access="private" writeable="false" readable="false" is_callback="false" name="Rank" type="GstRank" />
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" padding="true" />
+ </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="extensions" type="const-gchar*" />
+ <parameter name="caps" 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" deprecated="true" deprecated-version="1.18">
+ <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" deprecated="true" deprecated-version="1.18">
+ <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" deprecated="true" deprecated-version="1.18">
+ <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" deprecated="true" deprecated-version="1.18">
+ <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" is_callback="false" name="Parent" type="GInitiallyUnowned*" />
+ <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GESFormatterPrivate*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="project" access="private" writeable="false" readable="false" is_callback="false" name="Project" type="GESProject*" />
+ <field cname="timeline" access="private" writeable="false" readable="false" is_callback="false" name="Timeline" type="GESTimeline*" />
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" padding="true" />
+ </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" is_callback="false" name="ParentClass" type="GESContainerClass">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="public" writeable="false" readable="true" is_callback="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" padding="true" />
+ </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" is_callback="false" name="Parent" type="GESContainer*" />
+ <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GESGroupPrivate*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" padding="true" />
+ </object>
+ <object name="ImageSource" cname="GESImageSource" opaque="false" hidden="false" parent="GESVideoSource" deprecated="true" deprecated-version="1.18">
+ <implements>
+ <interface cname="GESExtractable" />
+ <interface cname="GESMetaContainer" />
+ </implements>
+ <class_struct cname="GESImageSourceClass">
+ <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GESVideoSourceClass">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="public" writeable="false" readable="true" is_callback="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" padding="true" />
+ </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" is_callback="false" name="Parent" type="GESVideoSource*" />
+ <field cname="uri" access="private" writeable="false" readable="false" is_callback="false" name="UriField" type="gchar*" />
+ <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GESImageSourcePrivate*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" padding="true" />
+ </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" is_callback="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" is_callback="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" padding="true" />
+ </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="AddAssetFull" cname="ges_layer_add_asset_full" version="1.18">
+ <return-type type="GESClip*" />
+ <parameters throws="1">
+ <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" />
+ <parameter name="error" type="GError**" />
+ </parameters>
+ </method>
+ <method name="AddClip" cname="ges_layer_add_clip">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter name="clip" type="GESClip*" />
+ </parameters>
+ </method>
+ <method name="AddClipFull" cname="ges_layer_add_clip_full" version="1.18">
+ <return-type type="gboolean" />
+ <parameters throws="1">
+ <parameter name="clip" type="GESClip*" />
+ <parameter name="error" type="GError**" />
+ </parameters>
+ </method>
+ <method name="GetActiveForTrack" cname="ges_layer_get_active_for_track" version="1.18">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter name="track" type="GESTrack*" />
+ </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="SetActiveForTracks" cname="ges_layer_set_active_for_tracks" version="1.18">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter name="active" type="gboolean" />
+ <parameter allow-none="1" name="tracks" type="GList*" element_type="GESTrack*" />
+ </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" deprecated="true" deprecated-version="1.16.0">
+ <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" deprecated="true" deprecated-version="1.16.0" />
+ <field cname="parent" access="private" writeable="false" readable="true" is_callback="false" name="Parent" type="GInitiallyUnowned*" />
+ <field cname="timeline" access="public" writeable="false" readable="true" is_callback="false" name="Timeline" type="GESTimeline*" />
+ <field cname="min_nle_priority" access="public" writeable="false" readable="true" is_callback="false" name="MinNlePriority" type="guint32" />
+ <field cname="max_nle_priority" access="public" writeable="false" readable="true" is_callback="false" name="MaxNlePriority" type="guint32" />
+ <field cname="priv" access="public" writeable="false" readable="true" is_callback="false" name="Priv" type="GESLayerPrivate*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="public" writeable="false" readable="true" is_callback="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" padding="true" />
+ <signal name="ActiveChanged" cname="active-changed" when="first" version="1.18">
+ <return-type type="void" />
+ <parameters>
+ <parameter name="active" type="gboolean" />
+ <parameter name="tracks" type="" array="true" null_term_array="true" />
+ </parameters>
+ </signal>
+ <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="Marker" cname="GESMarker" opaque="false" hidden="false" parent="GObject" version="1.18">
+ <implements>
+ <interface cname="GESMetaContainer" />
+ </implements>
+ <class_struct cname="GESMarkerClass">
+ <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GObjectClass">
+ <warning>missing glib:type-name</warning>
+ </field>
+ </class_struct>
+ <method name="GetType" cname="ges_marker_get_type" shared="true">
+ <return-type type="GType" />
+ </method>
+ <property name="Position" cname="position" type="guint64" readable="true" writeable="false" construct="false" construct-only="false" version="1.18" />
+ </object>
+ <object name="MarkerList" cname="GESMarkerList" opaque="false" hidden="false" parent="GObject" version="1.18">
+ <class_struct cname="GESMarkerListClass">
+ <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GObjectClass">
+ <warning>missing glib:type-name</warning>
+ </field>
+ </class_struct>
+ <method name="GetType" cname="ges_marker_list_get_type" shared="true">
+ <return-type type="GType" />
+ </method>
+ <constructor cname="ges_marker_list_new" disable_void_ctor="" version="1.18" />
+ <method name="Add" cname="ges_marker_list_add" version="1.18">
+ <return-type type="GESMarker*" />
+ <parameters>
+ <parameter name="position" type="guint64" />
+ </parameters>
+ </method>
+ <method name="GetMarkers" cname="ges_marker_list_get_markers" version="1.18">
+ <return-type type="GList*" element_type="GESMarker*" elements_owned="true" owned="true" />
+ <parameters />
+ </method>
+ <method name="Move" cname="ges_marker_list_move" version="1.18">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter name="marker" type="GESMarker*" />
+ <parameter name="position" type="guint64" />
+ </parameters>
+ </method>
+ <method name="Remove" cname="ges_marker_list_remove" version="1.18">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter name="marker" type="GESMarker*" />
+ </parameters>
+ </method>
+ <method name="Size" cname="ges_marker_list_size" version="1.18">
+ <return-type type="guint" />
+ <parameters />
+ </method>
+ <signal name="MarkerAdded" cname="marker-added" when="first" version="1.18">
+ <return-type type="void" />
+ <parameters>
+ <parameter name="position" type="guint64" />
+ <parameter name="marker" type="GESMarker*" />
+ </parameters>
+ </signal>
+ <signal name="MarkerMoved" cname="marker-moved" when="first" version="1.18">
+ <return-type type="void" />
+ <parameters>
+ <parameter name="previous_position" type="guint64" />
+ <parameter name="new_position" type="guint64" />
+ <parameter name="marker" type="GESMarker*" />
+ </parameters>
+ </signal>
+ <signal name="MarkerRemoved" cname="marker-removed" when="first" version="1.18">
+ <return-type type="void" />
+ <parameters>
+ <parameter name="marker" type="GESMarker*" />
+ </parameters>
+ </signal>
+ </object>
+ <object name="MultiFileSource" cname="GESMultiFileSource" opaque="false" hidden="false" parent="GESVideoSource" deprecated="true" deprecated-version="1.18">
+ <implements>
+ <interface cname="GESExtractable" />
+ <interface cname="GESMetaContainer" />
+ </implements>
+ <class_struct cname="GESMultiFileSourceClass">
+ <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GESVideoSourceClass">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="public" writeable="false" readable="true" is_callback="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" padding="true" />
+ </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" is_callback="false" name="Parent" type="GESVideoSource*" />
+ <field cname="uri" access="private" writeable="false" readable="false" is_callback="false" name="UriField" type="gchar*" />
+ <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GESMultiFileSourcePrivate*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" padding="true" />
+ </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" is_callback="false" name="ParentClass" type="GESTrackElementClass">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" padding="true" />
+ </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" is_callback="false" name="Parent" type="GESTrackElement*" />
+ <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GESOperationPrivate*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" padding="true" />
+ </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" is_callback="false" name="ParentClass" type="GESClipClass">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" padding="true" />
+ </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" is_callback="false" name="Parent" type="GESClip*" />
+ <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GESOperationClipPrivate*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" padding="true" />
+ </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" is_callback="false" name="ParentClass" type="GESOperationClipClass">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" padding="true" />
+ </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" is_callback="false" name="Parent" type="GESOperationClip*" />
+ <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GESOverlayClipPrivate*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" padding="true" />
+ </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" is_callback="false" name="ParentClass" type="GstPipelineClass">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" padding="true" />
+ </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" version="1.6.0" />
+ <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" version="1.6.0" />
+ <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" is_callback="false" name="Parent" type="GstPipeline*" />
+ <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GESPipelinePrivate*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" padding="true" />
+ </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" is_callback="false" 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" />
+ <method signal_vm="loading" />
+ <field cname="_ges_reserved" access="public" writeable="false" readable="true" is_callback="false" name="_gesGesReserved" type="gpointer" array="true" array_len="3" padding="true" />
+ </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="AddFormatter" cname="ges_project_add_formatter" version="1.18">
+ <return-type type="void" />
+ <parameters>
+ <parameter name="formatter" type="GESFormatter*" />
+ </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*" owned="true" />
+ <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" is_callback="false" name="Parent" type="GESAsset*" />
+ <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GESProjectPrivate*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="__ges_reserved" access="private" writeable="false" readable="false" is_callback="false" name="__gesGesReserved" type="gpointer" array="true" array_len="20" padding="true" />
+ <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="ErrorLoading" cname="error-loading" when="last" version="1.18">
+ <return-type type="void" />
+ <parameters>
+ <parameter name="timeline" type="GESTimeline*" />
+ <parameter name="error" type="GLib.Error" />
+ </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="Loading" cname="loading" when="first" field_name="loading" version="1.18">
+ <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" is_callback="false" name="ParentClass" type="GESTrackElementClass">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" padding="true" />
+ </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" is_callback="false" name="Parent" type="GESTrackElement*" />
+ <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GESSourcePrivate*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" padding="true" />
+ </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" is_callback="false" name="ParentClass" type="GESClipClass">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" padding="true" />
+ </class_struct>
+ <method name="GetType" cname="ges_source_clip_get_type" shared="true">
+ <return-type type="GType" />
+ </method>
+ <constructor cname="ges_source_clip_new_time_overlay" disable_void_ctor="" version="1.18" />
+ <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GESClip*" />
+ <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GESSourceClipPrivate*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" padding="true" />
+ </object>
+ <object name="SourceClipAsset" cname="GESSourceClipAsset" opaque="false" hidden="false" parent="GESClipAsset" version="1.18">
+ <implements>
+ <interface cname="GESMetaContainer" />
+ <interface cname="GAsyncInitable" />
+ <interface cname="GInitable" />
+ </implements>
+ <class_struct cname="GESSourceClipAssetClass">
+ <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GESClipAssetClass">
+ <warning>missing glib:type-name</warning>
+ </field>
+ </class_struct>
+ <method name="GetType" cname="ges_source_clip_asset_get_type" shared="true">
+ <return-type type="GType" />
+ </method>
+ <field cname="parent_instance" access="public" writeable="false" readable="true" is_callback="false" name="ParentInstance" type="GESClipAsset*" />
+ </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" is_callback="false" name="ParentClass" type="GESSourceClipClass">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" padding="true" />
+ </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" is_callback="false" name="Parent" type="GESSourceClip*" />
+ <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GESTestClipPrivate*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" padding="true" />
+ </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" is_callback="false" name="ParentClass" type="GESOperationClass">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" padding="true" />
+ </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="" deprecated="true" deprecated-version="1.18" />
+ <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" is_callback="false" name="Parent" type="GESOperation*" />
+ <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GESTextOverlayPrivate*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" padding="true" />
+ </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" is_callback="false" name="ParentClass" type="GESOverlayClipClass">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" padding="true" />
+ </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" is_callback="false" name="Parent" type="GESOverlayClip*" />
+ <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GESTextOverlayClipPrivate*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" padding="true" />
+ </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" is_callback="false" 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" is_callback="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" padding="true" />
+ </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" deprecated="true" deprecated-version="1.18">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter name="layer" type="GESLayer*" />
+ </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="GetFrameAt" cname="ges_timeline_get_frame_at" version="1.18">
+ <return-type type="gint64" />
+ <parameters>
+ <parameter name="timestamp" type="guint64" />
+ </parameters>
+ </method>
+ <method name="GetFrameTime" cname="ges_timeline_get_frame_time" version="1.18">
+ <return-type type="guint64" />
+ <parameters>
+ <parameter name="frame_number" type="gint64" />
+ </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="MoveLayer" cname="ges_timeline_move_layer" version="1.16">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter name="layer" type="GESLayer*" />
+ <parameter name="new_layer_priority" type="guint" />
+ </parameters>
+ </method>
+ <method name="PasteElement" cname="ges_timeline_paste_element">
+ <return-type type="GESTimelineElement*" owned="true" />
+ <parameters>
+ <parameter name="element" type="GESTimelineElement*" />
+ <parameter name="position" type="guint64" />
+ <parameter name="layer_priority" type="gint" />
+ </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" is_callback="false" name="Parent" type="GstBin*" />
+ <field cname="layers" access="public" writeable="false" readable="true" is_callback="false" name="Layers" type="GList*" element_type="GESLayer*" />
+ <field cname="tracks" access="public" writeable="false" readable="true" is_callback="false" name="Tracks" type="GList*" element_type="gpointer" />
+ <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GESTimelinePrivate*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" padding="true" />
+ <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="SelectElementTrack" cname="select-element-track" when="last" version="1.18">
+ <return-type type="GESTrack*" owned="true" />
+ <parameters>
+ <parameter name="clip" type="GESClip*" />
+ <parameter name="track_element" type="GESTrackElement*" />
+ </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="obj1" type="GESTrackElement*" />
+ <parameter name="obj2" type="GESTrackElement*" />
+ <parameter name="position" type="guint64" />
+ </parameters>
+ </signal>
+ <signal name="SnappingStarted" cname="snapping-started" when="last">
+ <return-type type="void" />
+ <parameters>
+ <parameter name="obj1" type="GESTrackElement*" />
+ <parameter name="obj2" type="GESTrackElement*" />
+ <parameter name="position" 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" is_callback="false" 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" />
+ <method vm="set_child_property" />
+ <method vm="get_layer_priority" />
+ <method vm="get_natural_framerate" />
+ <method vm="set_child_property_full" />
+ <field cname="_ges_reserved" access="public" writeable="false" readable="true" is_callback="false" name="_gesGesReserved" type="gpointer" array="true" array_len="14" padding="true" />
+ </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="GetLayerPriority" cname="get_layer_priority" version="1.16">
+ <return-type type="guint32" />
+ <parameters />
+ </virtual_method>
+ <virtual_method name="GetNaturalFramerate" cname="get_natural_framerate" version="1.18">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter name="framerate_n" type="gint*" owned="true" pass_as="out" />
+ <parameter name="framerate_d" type="gint*" owned="true" pass_as="out" />
+ </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="SetChildProperty" cname="set_child_property" version="1.16">
+ <return-type type="void" />
+ <parameters>
+ <parameter name="child" type="GObject*" />
+ <parameter name="pspec" type="GParamSpec*" />
+ <parameter name="value" type="GValue*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </parameters>
+ </virtual_method>
+ <virtual_method name="SetChildPropertyFull" cname="set_child_property_full" version="1.18">
+ <return-type type="gboolean" />
+ <parameters throws="1">
+ <parameter name="child" type="GObject*" />
+ <parameter name="pspec" type="GParamSpec*" />
+ <parameter name="value" type="GValue*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ <parameter name="error" type="GError**" />
+ </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" deprecated="true" deprecated-version="1.10">
+ <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="Edit" cname="ges_timeline_element_edit" version="1.18">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter allow-none="1" name="layers" type="GList*" element_type="GESLayer*" />
+ <parameter name="new_layer_priority" type="gint64" />
+ <parameter name="mode" type="GESEditMode" />
+ <parameter name="edge" type="GESEdge" />
+ <parameter name="position" type="guint64" />
+ </parameters>
+ </method>
+ <method name="EditFull" cname="ges_timeline_element_edit_full" version="1.18">
+ <return-type type="gboolean" />
+ <parameters throws="1">
+ <parameter name="new_layer_priority" type="gint64" />
+ <parameter name="mode" type="GESEditMode" />
+ <parameter name="edge" type="GESEdge" />
+ <parameter name="position" type="guint64" />
+ <parameter name="error" type="GError**" />
+ </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="GetLayerPriority" cname="ges_timeline_element_get_layer_priority" version="1.16">
+ <return-type type="guint32" />
+ <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="GetNaturalFramerate" cname="ges_timeline_element_get_natural_framerate" version="1.18">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter name="framerate_n" type="gint*" owned="true" pass_as="out" />
+ <parameter name="framerate_d" type="gint*" owned="true" pass_as="out" />
+ </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*" owned="true" />
+ <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="SetChildPropertyFull" cname="ges_timeline_element_set_child_property_full" version="1.18">
+ <return-type type="gboolean" />
+ <parameters throws="1">
+ <parameter name="property_name" type="const-gchar*" />
+ <parameter name="value" type="GValue*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ <parameter name="error" type="GError**" />
+ </parameters>
+ </method>
+ <method name="SetDuration" cname="ges_timeline_element_set_duration">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter name="duration" type="guint64" />
+ </parameters>
+ </method>
+ <method name="SetInpoint" cname="ges_timeline_element_set_inpoint">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter name="inpoint" type="guint64" />
+ </parameters>
+ </method>
+ <method name="SetMaxDuration" cname="ges_timeline_element_set_max_duration">
+ <return-type type="gboolean" />
+ <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" deprecated-version="1.10">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter name="priority" type="guint32" />
+ </parameters>
+ </method>
+ <method name="SetStart" cname="ges_timeline_element_set_start">
+ <return-type type="gboolean" />
+ <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" deprecated="true" deprecated-version="1.10" />
+ <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" is_callback="false" name="ParentInstance" type="GInitiallyUnowned*" />
+ <field cname="parent" access="private" writeable="false" readable="true" is_callback="false" name="ParentField" type="GESTimelineElement*" />
+ <field cname="asset" access="public" writeable="false" readable="true" is_callback="false" name="Asset" type="GESAsset*" hidden="true" />
+ <field cname="start" access="public" writeable="false" readable="true" is_callback="false" name="StartField" type="guint64" />
+ <field cname="inpoint" access="public" writeable="false" readable="true" is_callback="false" name="Inpoint" type="guint64" />
+ <field cname="duration" access="public" writeable="false" readable="true" is_callback="false" name="DurationField" type="guint64" />
+ <field cname="maxduration" access="public" writeable="false" readable="true" is_callback="false" name="Maxduration" type="guint64" />
+ <field cname="priority" access="public" writeable="false" readable="true" is_callback="false" name="PriorityField" type="guint32" />
+ <field cname="timeline" access="public" writeable="false" readable="true" is_callback="false" name="TimelineField" type="GESTimeline*" />
+ <field cname="name" access="public" writeable="false" readable="true" is_callback="false" name="NameField" type="gchar*" />
+ <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GESTimelineElementPrivate*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gesGesReserved" type="gpointer" array="true" array_len="20" padding="true" />
+ <signal name="ChildPropertyAdded" cname="child-property-added" when="first" version="1.18">
+ <return-type type="void" />
+ <parameters>
+ <parameter name="prop_object" type="GObject*" />
+ <parameter name="prop" type="GParamSpec*" />
+ </parameters>
+ </signal>
+ <signal name="ChildPropertyRemoved" cname="child-property-removed" when="first" version="1.18">
+ <return-type type="void" />
+ <parameters>
+ <parameter name="prop_object" type="GObject*" />
+ <parameter name="prop" type="GParamSpec*" />
+ </parameters>
+ </signal>
+ <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" is_callback="false" name="ParentClass" type="GESSourceClipClass">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" padding="true" />
+ </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" deprecated-version="1.6">
+ <return-type type="guint32" />
+ <parameters />
+ </method>
+ <method name="GetFontDesc" cname="ges_title_clip_get_font_desc" deprecated="true" deprecated-version="1.6">
+ <return-type type="const-gchar*" />
+ <parameters />
+ </method>
+ <method name="GetHalignment" cname="ges_title_clip_get_halignment" deprecated="true" deprecated-version="1.6">
+ <return-type type="GESTextHAlign" />
+ <parameters />
+ </method>
+ <method name="GetText" cname="ges_title_clip_get_text" deprecated="true" deprecated-version="1.6">
+ <return-type type="const-gchar*" />
+ <parameters />
+ </method>
+ <method name="GetTextColor" cname="ges_title_clip_get_text_color" deprecated="true" deprecated-version="1.6">
+ <return-type type="guint32" />
+ <parameters />
+ </method>
+ <method name="GetValignment" cname="ges_title_clip_get_valignment" deprecated="true" deprecated-version="1.6">
+ <return-type type="GESTextVAlign" />
+ <parameters />
+ </method>
+ <method name="GetXpos" cname="ges_title_clip_get_xpos" deprecated="true" deprecated-version="1.6">
+ <return-type type="gdouble" />
+ <parameters />
+ </method>
+ <method name="GetYpos" cname="ges_title_clip_get_ypos" deprecated="true" deprecated-version="1.6">
+ <return-type type="gdouble" />
+ <parameters />
+ </method>
+ <method name="SetBackground" cname="ges_title_clip_set_background" deprecated="true" deprecated-version="1.6">
+ <return-type type="void" />
+ <parameters>
+ <parameter name="background" type="guint32" />
+ </parameters>
+ </method>
+ <method name="SetColor" cname="ges_title_clip_set_color" deprecated="true" deprecated-version="1.6">
+ <return-type type="void" />
+ <parameters>
+ <parameter name="color" type="guint32" />
+ </parameters>
+ </method>
+ <method name="SetFontDesc" cname="ges_title_clip_set_font_desc" deprecated="true" deprecated-version="1.6">
+ <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" deprecated-version="1.6">
+ <return-type type="void" />
+ <parameters>
+ <parameter name="halign" type="GESTextHAlign" />
+ </parameters>
+ </method>
+ <method name="SetText" cname="ges_title_clip_set_text" deprecated="true" deprecated-version="1.6">
+ <return-type type="void" />
+ <parameters>
+ <parameter name="text" type="const-gchar*" />
+ </parameters>
+ </method>
+ <method name="SetValignment" cname="ges_title_clip_set_valignment" deprecated="true" deprecated-version="1.6">
+ <return-type type="void" />
+ <parameters>
+ <parameter name="valign" type="GESTextVAlign" />
+ </parameters>
+ </method>
+ <method name="SetXpos" cname="ges_title_clip_set_xpos" deprecated="true" deprecated-version="1.6">
+ <return-type type="void" />
+ <parameters>
+ <parameter name="position" type="gdouble" />
+ </parameters>
+ </method>
+ <method name="SetYpos" cname="ges_title_clip_set_ypos" deprecated="true" deprecated-version="1.6">
+ <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" deprecated-version="1.6" />
+ <property name="Color" cname="color" type="guint" readable="true" writeable="true" construct="true" construct-only="false" deprecated="true" deprecated-version="1.6" />
+ <property name="FontDesc" cname="font-desc" type="gchar*" readable="true" writeable="true" construct="true" construct-only="false" deprecated="true" deprecated-version="1.6" />
+ <property name="Halignment" cname="halignment" type="GESTextHAlign" readable="true" writeable="true" construct="true" construct-only="false" deprecated="true" deprecated-version="1.6" />
+ <property name="Text" cname="text" type="gchar*" readable="true" writeable="true" construct="true" construct-only="false" deprecated="true" deprecated-version="1.6" />
+ <property name="Valignment" cname="valignment" type="GESTextVAlign" readable="true" writeable="true" construct="true" construct-only="false" deprecated="true" deprecated-version="1.6" />
+ <property name="Xpos" cname="xpos" type="gdouble" readable="true" writeable="true" construct="true" construct-only="false" deprecated="true" deprecated-version="1.6" />
+ <property name="Ypos" cname="ypos" type="gdouble" readable="true" writeable="true" construct="true" construct-only="false" deprecated="true" deprecated-version="1.6" />
+ <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GESSourceClip*" />
+ <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GESTitleClipPrivate*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" padding="true" />
+ </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" is_callback="false" name="ParentClass" type="GESVideoSourceClass">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gesGesReserved" type="gpointer" array="true" array_len="3" padding="true" />
+ </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" deprecated="true" deprecated-version="1.16">
+ <return-type type="gchar*" owned="true" />
+ <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" deprecated="true" deprecated-version="1.16">
+ <return-type type="gchar*" owned="true" />
+ <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" is_callback="false" name="Parent" type="GESVideoSource*" />
+ <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GESTitleSourcePrivate*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" padding="true" />
+ </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" is_callback="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" is_callback="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" padding="true" />
+ </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*" />
+ </parameters>
+ </method>
+ <method name="AddElementFull" cname="ges_track_add_element_full" version="1.18">
+ <return-type type="gboolean" />
+ <parameters throws="1">
+ <parameter name="_object" type="GESTrackElement*" />
+ <parameter name="error" type="GError**" />
+ </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="GetRestrictionCaps" cname="ges_track_get_restriction_caps" version="1.18">
+ <return-type type="GstCaps*" owned="true">
+ <warning>missing glib:type-name</warning>
+ </return-type>
+ <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="RemoveElementFull" cname="ges_track_remove_element_full" version="1.18">
+ <return-type type="gboolean" />
+ <parameters throws="1">
+ <parameter name="_object" type="GESTrackElement*" />
+ <parameter name="error" type="GError**" />
+ </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="Id" cname="id" type="gchar*" readable="true" writeable="true" construct="false" construct-only="false" version="1.18" />
+ <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" is_callback="false" name="Parent" type="GstBin*" />
+ <field cname="type" access="public" writeable="false" readable="true" is_callback="false" name="Type" type="GESTrackType" />
+ <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GESTrackPrivate*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" padding="true" />
+ <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" is_callback="false" name="ParentClass" type="GESTimelineElementClass">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="nleobject_factorytype" access="public" writeable="false" readable="true" is_callback="false" 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" />
+ <union name="ABI" cname="ABI">
+ <struct name="abi" cname="abi" opaque="false" hidden="false" />
+ <field cname="_gst_reserved" access="private" writeable="false" readable="false" name="_gstGstReserved" type="gpointer" array="true" array_len="20" />
+ </union>
+ </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="ClampControlSource" cname="ges_track_element_clamp_control_source" version="1.18">
+ <return-type type="void" />
+ <parameters>
+ <parameter name="property_name" type="const-gchar*" />
+ </parameters>
+ </method>
+ <method name="Edit" cname="ges_track_element_edit" deprecated="true" deprecated-version="1.18">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter allow-none="1" 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="GetAutoClampControlSources" cname="ges_track_element_get_auto_clamp_control_sources" version="1.18">
+ <return-type type="gboolean" />
+ <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="HasInternalSource" cname="ges_track_element_has_internal_source" version="1.18">
+ <return-type type="gboolean" />
+ <parameters />
+ </method>
+ <method name="IsActive" cname="ges_track_element_is_active">
+ <return-type type="gboolean" />
+ <parameters />
+ </method>
+ <method name="IsCore" cname="ges_track_element_is_core" version="1.18">
+ <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="SetAutoClampControlSources" cname="ges_track_element_set_auto_clamp_control_sources" version="1.18">
+ <return-type type="void" />
+ <parameters>
+ <parameter name="auto_clamp" 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="SetHasInternalSource" cname="ges_track_element_set_has_internal_source" version="1.18">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter name="has_internal_source" type="gboolean" />
+ </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="AutoClampControlSources" cname="auto-clamp-control-sources" type="gboolean" readable="true" writeable="true" construct="false" construct-only="false" version="1.18" />
+ <property name="HasInternalSourceProp&#xA; " cname="has-internal-source" type="gboolean" readable="true" writeable="true" construct="false" construct-only="false" version="1.18" />
+ <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" is_callback="false" name="Parent" type="GESTimelineElement*" />
+ <field cname="active" access="private" writeable="false" readable="false" is_callback="false" name="ActiveField" type="gboolean" />
+ <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GESTrackElementPrivate*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="asset" access="private" writeable="false" readable="false" is_callback="false" name="Asset" type="GESAsset*" />
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gesGesReserved" type="gpointer" array="true" array_len="20" padding="true" />
+ <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" is_callback="false" name="ParentClass" type="GESAssetClass">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <method vm="get_natural_framerate" />
+ <field cname="_ges_reserved" access="public" writeable="false" readable="true" is_callback="false" name="_gesGesReserved" type="gpointer" array="true" array_len="3" padding="true" />
+ </class_struct>
+ <method name="GetType" cname="ges_track_element_asset_get_type" shared="true">
+ <return-type type="GType" />
+ </method>
+ <virtual_method name="GetNaturalFramerate" cname="get_natural_framerate" version="1.18">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter name="framerate_n" type="gint" />
+ <parameter name="framerate_d" type="gint" />
+ </parameters>
+ </virtual_method>
+ <method name="GetNaturalFramerate" cname="ges_track_element_asset_get_natural_framerate" version="1.18">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter name="framerate_n" type="gint" />
+ <parameter name="framerate_d" type="gint" />
+ </parameters>
+ </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" is_callback="false" name="Parent" type="GESAsset*" />
+ <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GESTrackElementAssetPrivate*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="__ges_reserved" access="private" writeable="false" readable="false" is_callback="false" name="__gesGesReserved" type="gpointer" array="true" array_len="4" padding="true" />
+ </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" is_callback="false" name="ParentClass" type="GESOperationClass">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" padding="true" />
+ </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" is_callback="false" name="Parent" type="GESOperation*" />
+ <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GESTransitionPrivate*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" padding="true" />
+ </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" is_callback="false" name="ParentClass" type="GESBaseTransitionClipClass">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" padding="true" />
+ </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" is_callback="false" name="Parent" type="GESBaseTransitionClip*" />
+ <field cname="vtype" access="public" writeable="false" readable="true" is_callback="false" name="VtypeField" type="GESVideoStandardTransitionType" />
+ <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GESTransitionClipPrivate*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" padding="true" />
+ </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" is_callback="false" name="ParentClass" type="GESSourceClipClass">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" padding="true" />
+ </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" is_callback="false" name="Parent" type="GESSourceClip*" />
+ <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GESUriClipPrivate*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" padding="true" />
+ </object>
+ <object name="UriClipAsset" cname="GESUriClipAsset" opaque="false" hidden="false" parent="GESSourceClipAsset">
+ <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" is_callback="false" name="ParentClass" type="GESSourceClipAssetClass">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="discoverer" access="private" writeable="false" readable="false" is_callback="false" name="Discoverer" type="GstDiscoverer*" />
+ <field cname="sync_discoverer" access="private" writeable="false" readable="false" is_callback="false" name="SyncDiscoverer" type="GstDiscoverer*" />
+ <method vm="discovered" />
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gesGesReserved" type="gpointer" array="true" array_len="3" padding="true" />
+ </class_struct>
+ <virtual_method name="Discovered" cname="discovered" shared="true">
+ <return-type type="void" />
+ <parameters>
+ <parameter name="discoverer" type="GstDiscoverer*" />
+ <parameter name="info" type="GstDiscovererInfo*" />
+ <parameter name="err" type="GLib.Error" />
+ <parameter closure="3" allow-none="1" name="user_data" type="gpointer" />
+ </parameters>
+ </virtual_method>
+ <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="Finish" cname="ges_uri_clip_asset_finish" shared="true" version="1.16">
+ <return-type type="GESUriClipAsset*" owned="true" />
+ <parameters throws="1">
+ <parameter name="res" type="GAsyncResult*" />
+ <parameter name="error" type="GError**" />
+ </parameters>
+ </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*" owned="true" />
+ <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="GetMaxDuration" cname="ges_uri_clip_asset_get_max_duration" version="1.18">
+ <return-type type="guint64" />
+ <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" version="1.18">
+ <return-type type="gboolean" />
+ <parameters />
+ </method>
+ <property name="Duration" cname="duration" type="guint64" readable="true" writeable="true" construct="false" construct-only="false" />
+ <property name="IsNestedTimeline" cname="is-nested-timeline" type="gboolean" readable="true" writeable="false" construct="false" construct-only="false" version="1.18" />
+ <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GESSourceClipAsset*" />
+ <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GESUriClipAssetPrivate*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="__ges_reserved" access="private" writeable="false" readable="false" is_callback="false" name="__gesGesReserved" type="gpointer" array="true" array_len="4" padding="true" />
+ </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" is_callback="false" name="ParentClass" type="GESTrackElementAssetClass">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="public" writeable="false" readable="true" is_callback="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" padding="true" />
+ </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>
+ <method name="IsImage" cname="ges_uri_source_asset_is_image" version="1.18">
+ <return-type type="gboolean" />
+ <parameters />
+ </method>
+ <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GESTrackElementAsset*" />
+ <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GESUriSourceAssetPrivate*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="__ges_reserved" access="private" writeable="false" readable="false" is_callback="false" name="__gesGesReserved" type="gpointer" array="true" array_len="4" padding="true" />
+ </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" is_callback="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>
+ <method name="GetNaturalSize" cname="ges_video_source_get_natural_size" version="1.18">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter name="width" type="gint*" owned="true" pass_as="out" />
+ <parameter name="height" type="gint*" owned="true" pass_as="out" />
+ </parameters>
+ </method>
+ <field cname="parent" access="private" writeable="false" readable="false" is_callback="false" name="Parent" type="GESSource*" />
+ <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GESVideoSourcePrivate*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" padding="true" />
+ </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" is_callback="false" name="ParentClass" type="GESVideoSourceClass">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="public" writeable="false" readable="true" is_callback="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" padding="true" />
+ </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" is_callback="false" name="Parent" type="GESVideoSource*" />
+ <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GESVideoTestSourcePrivate*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" padding="true" />
+ </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" is_callback="false" name="ParentClass" type="GESTrackClass">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="public" writeable="false" readable="true" is_callback="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" padding="true" />
+ </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" is_callback="false" name="ParentInstance" type="GESTrack*" />
+ <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GESVideoTrackPrivate*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" padding="true" />
+ </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" is_callback="false" name="ParentClass" type="GESTransitionClass">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" padding="true" />
+ </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" deprecated="true" deprecated-version="1.20">
+ <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" deprecated="true" deprecated-version="1.20">
+ <return-type type="gboolean" />
+ <parameters />
+ </method>
+ <method name="SetBorder" cname="ges_video_transition_set_border" deprecated="true" deprecated-version="1.20">
+ <return-type type="void" />
+ <parameters>
+ <parameter name="value" type="guint" />
+ </parameters>
+ </method>
+ <method name="SetInverted" cname="ges_video_transition_set_inverted" deprecated="true" deprecated-version="1.20">
+ <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" deprecated="true" deprecated-version="1.20" />
+ <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" is_callback="false" name="Parent" type="GESTransition*" />
+ <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GESVideoTransitionPrivate*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" padding="true" />
+ </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" is_callback="false" name="ParentClass" type="GESVideoSourceClass">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" padding="true" />
+ </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" is_callback="false" name="Parent" type="GESVideoSource*" />
+ <field cname="uri" access="private" writeable="false" readable="false" is_callback="false" name="UriField" type="gchar*" />
+ <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GESUriSource*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" padding="true" />
+ </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" is_callback="false" name="Parent" type="GESBaseXmlFormatterClass">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="public" writeable="false" readable="true" is_callback="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" padding="true" />
+ </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" is_callback="false" name="Parent" type="GESBaseXmlFormatter*" />
+ <field cname="priv" access="public" writeable="false" readable="true" is_callback="false" name="Priv" type="GESXmlFormatterPrivate*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="public" writeable="false" readable="true" is_callback="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4" padding="true" />
+ </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="UriSource" cname="GESUriSource" opaque="true" hidden="false" />
+ <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="EdgeName" cname="ges_edge_name" shared="true" version="1.16">
+ <return-type type="const-gchar*" />
+ <parameters>
+ <parameter name="edge" type="GESEdge" />
+ </parameters>
+ </method>
+ <method name="EditModeName" cname="ges_edit_mode_name" shared="true" version="1.18">
+ <return-type type="const-gchar*" />
+ <parameters>
+ <parameter name="mode" type="GESEditMode" />
+ </parameters>
+ </method>
+ <method name="FindFormatterForUri" cname="ges_find_formatter_for_uri" shared="true" version="1.18">
+ <return-type type="GESAsset*" />
+ <parameters>
+ <parameter name="uri" type="const-gchar*" />
+ </parameters>
+ </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="IsInitialized" cname="ges_is_initialized" shared="true" version="1.16">
+ <return-type type="gboolean" />
+ </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" deprecated="true" deprecated-version="1.18">
+ <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="9223372036854775807" ctype="gint64" gtype="gint64" name="FRAME_NUMBER_NONE" />
+ <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="marker-color" ctype="gchar*" gtype="gchar*" name="META_MARKER_COLOR" />
+ <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" />
+ <constant value="4294967295" ctype="guint32" gtype="guint32" name="TIMELINE_ELEMENT_NO_LAYER_PRIORITY" />
+ <constant value="1" ctype="gint" gtype="gint" name="VERSION_MAJOR" />
+ <constant value="0" ctype="gint" gtype="gint" name="VERSION_MICRO" />
+ <constant value="19" ctype="gint" gtype="gint" name="VERSION_MINOR" />
+ <constant value="1" ctype="gint" gtype="gint" name="VERSION_NANO" />
+ </object>
+ </namespace>
+</api> \ No newline at end of file
diff --git a/subprojects/gstreamer-sharp/ges/generated/meson.build b/subprojects/gstreamer-sharp/ges/generated/meson.build
new file mode 100644
index 0000000000..e2999b5a33
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/generated/meson.build
@@ -0,0 +1,150 @@
+generated_sources = [
+ 'GES/Asset.cs',
+ 'GES/AssetAddedHandler.cs',
+ 'GES/AssetLoadingHandler.cs',
+ 'GES/AssetLoadingReturn.cs',
+ 'GES/AssetRemovedHandler.cs',
+ 'GES/AudioSource.cs',
+ 'GES/AudioTestSource.cs',
+ 'GES/AudioTrack.cs',
+ 'GES/AudioTransition.cs',
+ 'GES/AudioUriSource.cs',
+ 'GES/BaseEffect.cs',
+ 'GES/BaseEffectClip.cs',
+ 'GES/BaseEffectTimeTranslationFunc.cs',
+ 'GES/BaseTransitionClip.cs',
+ 'GES/BaseXmlFormatter.cs',
+ 'GES/ChildAddedHandler.cs',
+ 'GES/ChildPropertyAddedHandler.cs',
+ 'GES/ChildPropertyRemovedHandler.cs',
+ 'GES/ChildRemovedHandler.cs',
+ 'GES/ChildrenControlMode.cs',
+ 'GES/Clip.cs',
+ 'GES/ClipAddedHandler.cs',
+ 'GES/ClipAsset.cs',
+ 'GES/ClipRemovedHandler.cs',
+ 'GES/CommandLineFormatter.cs',
+ 'GES/Constants.cs',
+ 'GES/Container.cs',
+ 'GES/ControlBindingAddedHandler.cs',
+ 'GES/ControlBindingRemovedHandler.cs',
+ 'GES/CreateElementForGapFunc.cs',
+ 'GES/CreateTrackElementFunc.cs',
+ 'GES/CreateTrackElementsFunc.cs',
+ 'GES/DeepNotifyHandler.cs',
+ 'GES/Edge.cs',
+ 'GES/EditMode.cs',
+ 'GES/Effect.cs',
+ 'GES/EffectAsset.cs',
+ 'GES/EffectClip.cs',
+ 'GES/Error.cs',
+ 'GES/ExtractableAdapter.cs',
+ 'GES/ExtractableCheckId.cs',
+ 'GES/FillTrackElementFunc.cs',
+ 'GES/Formatter.cs',
+ 'GES/FormatterCanLoadURIMethod.cs',
+ 'GES/FormatterLoadFromURIMethod.cs',
+ 'GES/FormatterSaveToURIMethod.cs',
+ 'GES/GESSharp.BaseEffectTimeTranslationFuncNative.cs',
+ 'GES/GESSharp.CreateElementForGapFuncNative.cs',
+ 'GES/GESSharp.CreateTrackElementFuncNative.cs',
+ 'GES/GESSharp.CreateTrackElementsFuncNative.cs',
+ 'GES/GESSharp.ExtractableCheckIdNative.cs',
+ 'GES/GESSharp.FillTrackElementFuncNative.cs',
+ 'GES/GESSharp.FormatterCanLoadURIMethodNative.cs',
+ 'GES/GESSharp.FormatterLoadFromURIMethodNative.cs',
+ 'GES/GESSharp.FormatterSaveToURIMethodNative.cs',
+ 'GES/GESSharp.MetaForeachFuncNative.cs',
+ 'GES/Global.cs',
+ 'GES/Group.cs',
+ 'GES/GroupAddedHandler.cs',
+ 'GES/IExtractable.cs',
+ 'GES/IMetaContainer.cs',
+ 'GES/ImageSource.cs',
+ 'GES/Layer.cs',
+ 'GES/LayerAddedHandler.cs',
+ 'GES/LayerRemovedHandler.cs',
+ 'GES/LoadedHandler.cs',
+ 'GES/LoadingHandler.cs',
+ 'GES/Marker.cs',
+ 'GES/MarkerAddedHandler.cs',
+ 'GES/MarkerList.cs',
+ 'GES/MarkerMovedHandler.cs',
+ 'GES/MarkerRemovedHandler.cs',
+ 'GES/MetaContainerAdapter.cs',
+ 'GES/MetaFlag.cs',
+ 'GES/MetaForeachFunc.cs',
+ 'GES/MultiFileSource.cs',
+ 'GES/NotifyMetaHandler.cs',
+ 'GES/Operation.cs',
+ 'GES/OperationClip.cs',
+ 'GES/OverlayClip.cs',
+ 'GES/Pipeline.cs',
+ 'GES/PipelineFlags.cs',
+ 'GES/PitiviFormatter.cs',
+ 'GES/Project.cs',
+ 'GES/SelectElementTrackHandler.cs',
+ 'GES/SnappingEndedHandler.cs',
+ 'GES/SnappingStartedHandler.cs',
+ 'GES/Source.cs',
+ 'GES/SourceClip.cs',
+ 'GES/SourceClipAsset.cs',
+ 'GES/TestClip.cs',
+ 'GES/TextHAlign.cs',
+ 'GES/TextOverlay.cs',
+ 'GES/TextOverlayClip.cs',
+ 'GES/TextVAlign.cs',
+ 'GES/Timeline.cs',
+ 'GES/TimelineElement.cs',
+ 'GES/TitleClip.cs',
+ 'GES/TitleSource.cs',
+ 'GES/Track.cs',
+ 'GES/TrackAddedHandler.cs',
+ 'GES/TrackElement.cs',
+ 'GES/TrackElementAddedHandler.cs',
+ 'GES/TrackElementAsset.cs',
+ 'GES/TrackElementRemovedHandler.cs',
+ 'GES/TrackRemovedHandler.cs',
+ 'GES/TrackType.cs',
+ 'GES/Transition.cs',
+ 'GES/TransitionClip.cs',
+ 'GES/UriClip.cs',
+ 'GES/UriClipAsset.cs',
+ 'GES/UriSource.cs',
+ 'GES/UriSourceAsset.cs',
+ 'GES/VideoSource.cs',
+ 'GES/VideoStandardTransitionType.cs',
+ 'GES/VideoTestPattern.cs',
+ 'GES/VideoTestSource.cs',
+ 'GES/VideoTrack.cs',
+ 'GES/VideoTransition.cs',
+ 'GES/VideoUriSource.cs',
+ 'GES/XmlFormatter.cs',
+ 'GLib/GLibSharp.AsyncReadyCallbackNative.cs',
+ 'GtkSharp/ObjectManager.cs',
+]
+
+run_target('update_ges_code',
+ command: [
+ 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,
+ '--extra-includes=' + gst_api_includes,
+ '--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',
+ ],
+)
+
+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 = []
diff --git a/subprojects/gstreamer-sharp/ges/gst-editing-services-api.raw b/subprojects/gstreamer-sharp/ges/gst-editing-services-api.raw
new file mode 100644
index 0000000000..fa8186d3db
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/gst-editing-services-api.raw
@@ -0,0 +1,4435 @@
+<?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_START" name="Start" value="0"/>
+ <member cname="GES_EDGE_END" name="EdgeEnd" value="1"/>
+ <member cname="GES_EDGE_END" name="End" value="1"/>
+ <member cname="GES_EDGE_NONE" name="EdgeNone" value="2"/>
+ <member cname="GES_EDGE_NONE" name="None" 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_NORMAL" name="Normal" value="0"/>
+ <member cname="GES_EDIT_MODE_RIPPLE" name="EditRipple" value="1"/>
+ <member cname="GES_EDIT_MODE_RIPPLE" name="Ripple" value="1"/>
+ <member cname="GES_EDIT_MODE_ROLL" name="EditRoll" value="2"/>
+ <member cname="GES_EDIT_MODE_ROLL" name="Roll" value="2"/>
+ <member cname="GES_EDIT_MODE_TRIM" name="EditTrim" value="3"/>
+ <member cname="GES_EDIT_MODE_TRIM" name="Trim" value="3"/>
+ <member cname="GES_EDIT_MODE_SLIDE" name="EditSlide" value="4"/>
+ <member cname="GES_EDIT_MODE_SLIDE" name="Slide" 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"/>
+ <member cname="GES_ERROR_INVALID_FRAME_NUMBER" name="InvalidFrameNumber" value="3"/>
+ <member cname="GES_ERROR_NEGATIVE_LAYER" name="NegativeLayer" value="4"/>
+ <member cname="GES_ERROR_NEGATIVE_TIME" name="NegativeTime" value="5"/>
+ <member cname="GES_ERROR_NOT_ENOUGH_INTERNAL_CONTENT" name="NotEnoughInternalContent" value="6"/>
+ <member cname="GES_ERROR_INVALID_OVERLAP_IN_TRACK" name="InvalidOverlapInTrack" value="7"/>
+ <member cname="GES_ERROR_INVALID_EFFECT_BIN_DESCRIPTION" name="InvalidEffectBinDescription" value="8"/>
+ </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 name="BaseEffectTimeTranslationFunc" cname="GESBaseEffectTimeTranslationFunc" version="1.18">
+ <return-type type="guint64"/>
+ <parameters>
+ <parameter name="effect" type="GESBaseEffect*"/>
+ <parameter name="time" type="guint64"/>
+ <parameter name="time_property_values" type="GHashTable*" element_type="const-gchar*"/>
+ <parameter allow-none="1" closure="3" name="user_data" type="gpointer"/>
+ </parameters>
+ </callback>
+ <callback hidden="0" name="CreateElementForGapFunc" cname="GESCreateElementForGapFunc">
+ <return-type type="GstElement*"/>
+ <parameters>
+ <parameter name="track" type="GESTrack*"/>
+ </parameters>
+ </callback>
+ <callback name="CreateTrackElementFunc" cname="GESCreateTrackElementFunc">
+ <return-type type="GESTrackElement*"/>
+ <parameters>
+ <parameter name="clip" type="GESClip*"/>
+ <parameter name="type" type="GESTrackType"/>
+ </parameters>
+ </callback>
+ <callback name="CreateTrackElementsFunc" cname="GESCreateTrackElementsFunc">
+ <return-type type="GList*" element_type="GESTrackElement*" elements_owned="true"/>
+ <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" deprecated="true" deprecated-version="1.18">
+ <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" is_callback="false" name="Parent" type="GTypeInterface">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="asset_type" access="public" writeable="false" readable="true" is_callback="false" name="AssetType" type="GType"/>
+ <field cname="check_id" access="public" writeable="false" readable="true" is_callback="false" name="CheckId" type="GESExtractableCheckId"/>
+ <field cname="can_update_asset" access="public" writeable="false" readable="true" is_callback="false" 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" is_callback="false" 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" is_callback="false" name="ParentIface" type="GTypeInterface">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="public" writeable="false" readable="true" is_callback="false" 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" owned="true" pass_as="out"/>
+ <parameter name="type" type="GType*" owned="true" pass_as="out"/>
+ </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="GetMarkerList" cname="ges_meta_container_get_marker_list" version="1.18">
+ <return-type type="GESMarkerList*" owned="true"/>
+ <parameters>
+ <parameter name="key" type="const-gchar*"/>
+ </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 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 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 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="RegisterStaticMeta" cname="ges_meta_container_register_static_meta" version="1.18">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="flags" type="GESMetaFlag"/>
+ <parameter name="meta_item" type="const-gchar*"/>
+ <parameter name="type" type="GType"/>
+ </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="SetMarkerList" cname="ges_meta_container_set_marker_list" version="1.18">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="meta_item" type="const-gchar*"/>
+ <parameter name="list" type="GESMarkerList*"/>
+ </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="key" type="const-gchar*"/>
+ <parameter allow-none="1" name="value" 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" is_callback="false" 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" is_callback="false" 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 allow-none="1" 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 allow-none="1" 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="false" construct="false" construct-only="false"/>
+ <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GObject*"/>
+ <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GESAssetPrivate*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="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" is_callback="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" is_callback="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" is_callback="false" name="Parent" type="GESSource*"/>
+ <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GESAudioSourcePrivate*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="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" is_callback="false" name="ParentClass" type="GESAudioSourceClass">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="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" is_callback="false" name="Parent" type="GESAudioSource*"/>
+ <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GESAudioTestSourcePrivate*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="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" is_callback="false" name="ParentClass" type="GESTrackClass">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="public" writeable="false" readable="true" is_callback="false" 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" is_callback="false" name="ParentInstance" type="GESTrack*"/>
+ <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GESAudioTrackPrivate*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="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" is_callback="false" name="ParentClass" type="GESTransitionClass">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="public" writeable="false" readable="true" is_callback="false" 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="" deprecated="true" deprecated-version="1.18"/>
+ <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GESTransition*"/>
+ <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GESAudioTransitionPrivate*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="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" is_callback="false" name="ParentClass" type="GESAudioSourceClass">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="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" is_callback="false" name="Parent" type="GESAudioSource*"/>
+ <field cname="uri" access="private" writeable="false" readable="false" is_callback="false" name="UriField" type="gchar*"/>
+ <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GESUriSource*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="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" is_callback="false" name="ParentClass" type="GESOperationClass">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="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>
+ <method name="IsTimeEffect" cname="ges_base_effect_is_time_effect" version="1.18">
+ <return-type type="gboolean"/>
+ <parameters/>
+ </method>
+ <method name="RegisterTimeProperty" cname="ges_base_effect_register_time_property" version="1.18">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="child_property_name" type="const-gchar*"/>
+ </parameters>
+ </method>
+ <method name="SetTimeTranslationFuncs" cname="ges_base_effect_set_time_translation_funcs" version="1.18">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter scope="notified" allow-none="1" name="source_to_sink_func" type="GESBaseEffectTimeTranslationFunc"/>
+ <parameter closure="2" destroy="3" scope="notified" allow-none="1" name="sink_to_source_func" type="GESBaseEffectTimeTranslationFunc"/>
+ <parameter scope="notified" allow-none="1" name="user_data" type="gpointer"/>
+ <parameter destroy="2" scope="async" allow-none="1" name="destroy" type="GLib.DestroyNotify"/>
+ </parameters>
+ </method>
+ <field cname="parent" access="private" writeable="false" readable="false" is_callback="false" name="Parent" type="GESOperation*"/>
+ <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GESBaseEffectPrivate*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="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" is_callback="false" name="ParentClass" type="GESOperationClipClass">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="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" is_callback="false" name="Parent" type="GESOperationClip*"/>
+ <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GESBaseEffectClipPrivate*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="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" is_callback="false" name="ParentClass" type="GESOperationClipClass">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="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" is_callback="false" name="Parent" type="GESOperationClip*"/>
+ <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GESBaseTransitionClipPrivate*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="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" is_callback="false" name="Parent" type="GESFormatterClass">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="content_parser" access="public" writeable="false" readable="true" is_callback="false" name="ContentParser" type="GLib.MarkupParser"/>
+ <method vm="save"/>
+ <field cname="_ges_reserved" access="public" writeable="false" readable="true" is_callback="false" 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" is_callback="false" name="Parent" type="GESFormatter*"/>
+ <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GESBaseXmlFormatterPrivate*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="xmlcontent" access="private" writeable="false" readable="false" is_callback="false" name="Xmlcontent" type="gchar*"/>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gesGesReserved" type="gpointer" array="true" array_len="3"/>
+ </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" is_callback="false" name="ParentClass" type="GESContainerClass">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="create_track_element" access="public" writeable="false" readable="true" is_callback="false" name="CreateTrackElement" type="GESCreateTrackElementFunc"/>
+ <field cname="create_track_elements" access="public" writeable="false" readable="true" is_callback="false" name="CreateTrackElements" type="GESCreateTrackElementsFunc"/>
+ </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">
+ <return-type type="GESTrackElement*"/>
+ <parameters>
+ <parameter name="type" type="GESTrackType"/>
+ </parameters>
+ </virtual_method>
+ <virtual_method name="CreateTrackElements" cname="create_track_elements">
+ <return-type type="GList*" element_type="GESTrackElement*" elements_owned="true"/>
+ <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="AddChildToTrack" cname="ges_clip_add_child_to_track" version="1.18">
+ <return-type type="GESTrackElement*"/>
+ <parameters throws="1">
+ <parameter name="child" type="GESTrackElement*"/>
+ <parameter name="track" type="GESTrack*"/>
+ <parameter name="error" type="GError**"/>
+ </parameters>
+ </method>
+ <method name="AddTopEffect" cname="ges_clip_add_top_effect" version="1.18">
+ <return-type type="gboolean"/>
+ <parameters throws="1">
+ <parameter name="effect" type="GESBaseEffect*"/>
+ <parameter name="index" type="gint"/>
+ <parameter name="error" type="GError**"/>
+ </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="GetDurationLimit" cname="ges_clip_get_duration_limit" version="1.18">
+ <return-type type="guint64"/>
+ <parameters/>
+ </method>
+ <method name="GetInternalTimeFromTimelineTime" cname="ges_clip_get_internal_time_from_timeline_time" version="1.18">
+ <return-type type="guint64"/>
+ <parameters throws="1">
+ <parameter name="child" type="GESTrackElement*"/>
+ <parameter name="timeline_time" type="guint64"/>
+ <parameter name="error" type="GError**"/>
+ </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="GetTimelineTimeFromInternalTime" cname="ges_clip_get_timeline_time_from_internal_time" version="1.18">
+ <return-type type="guint64"/>
+ <parameters throws="1">
+ <parameter name="child" type="GESTrackElement*"/>
+ <parameter name="internal_time" type="guint64"/>
+ <parameter name="error" type="GError**"/>
+ </parameters>
+ </method>
+ <method name="GetTimelineTimeFromSourceFrame" cname="ges_clip_get_timeline_time_from_source_frame" version="1.18">
+ <return-type type="guint64"/>
+ <parameters throws="1">
+ <parameter name="frame_number" type="gint64"/>
+ <parameter name="error" type="GError**"/>
+ </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="MoveToLayerFull" cname="ges_clip_move_to_layer_full" version="1.18">
+ <return-type type="gboolean"/>
+ <parameters throws="1">
+ <parameter name="layer" type="GESLayer*"/>
+ <parameter name="error" type="GError**"/>
+ </parameters>
+ </method>
+ <method name="RemoveTopEffect" cname="ges_clip_remove_top_effect" version="1.18">
+ <return-type type="gboolean"/>
+ <parameters throws="1">
+ <parameter name="effect" type="GESBaseEffect*"/>
+ <parameter name="error" type="GError**"/>
+ </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="SetTopEffectIndexFull" cname="ges_clip_set_top_effect_index_full" version="1.18">
+ <return-type type="gboolean"/>
+ <parameters throws="1">
+ <parameter name="effect" type="GESBaseEffect*"/>
+ <parameter name="newindex" type="guint"/>
+ <parameter name="error" type="GError**"/>
+ </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>
+ <method name="SplitFull" cname="ges_clip_split_full" version="1.18">
+ <return-type type="GESClip*"/>
+ <parameters throws="1">
+ <parameter name="position" type="guint64"/>
+ <parameter name="error" type="GError**"/>
+ </parameters>
+ </method>
+ <property name="DurationLimit" cname="duration-limit" type="guint64" readable="true" writeable="false" construct="false" construct-only="false" version="1.18"/>
+ <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" is_callback="false" name="Parent" type="GESContainer*"/>
+ <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GESClipPrivate*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="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" is_callback="false" name="Parent" type="GESAssetClass">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <method vm="get_natural_framerate"/>
+ <field cname="_ges_reserved" access="public" writeable="false" readable="true" is_callback="false" name="_gesGesReserved" type="gpointer" array="true" array_len="3"/>
+ </class_struct>
+ <method name="GetType" cname="ges_clip_asset_get_type" shared="true">
+ <return-type type="GType"/>
+ </method>
+ <virtual_method name="GetNaturalFramerate" cname="get_natural_framerate" version="1.18">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="framerate_n" type="gint"/>
+ <parameter name="framerate_d" type="gint"/>
+ </parameters>
+ </virtual_method>
+ <method name="GetFrameTime" cname="ges_clip_asset_get_frame_time" version="1.18">
+ <return-type type="guint64"/>
+ <parameters>
+ <parameter name="frame_number" type="gint64"/>
+ </parameters>
+ </method>
+ <method name="GetNaturalFramerate" cname="ges_clip_asset_get_natural_framerate" version="1.18">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="framerate_n" type="gint"/>
+ <parameter name="framerate_d" type="gint"/>
+ </parameters>
+ </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" is_callback="false" name="Parent" type="GESAsset*"/>
+ <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GESClipAssetPrivate*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="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" is_callback="false" 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" is_callback="false" name="ParentInstance" type="GESFormatter*"/>
+ <field cname="priv" access="public" writeable="false" readable="true" is_callback="false" 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" is_callback="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" is_callback="false" name="GroupingPriority" type="guint"/>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="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" deprecated="true" deprecated-version="1.18">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter allow-none="1" 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" deprecated="true" deprecated-version="1.18">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter allow-none="1" 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" is_callback="false" name="Parent" type="GESTimelineElement*"/>
+ <field cname="children" access="public" writeable="false" readable="true" is_callback="false" name="Children" type="GList*" element_type="GESTimelineElement*"/>
+ <field cname="height" access="public" writeable="false" readable="true" is_callback="false" name="HeightField" type="guint32"/>
+ <field cname="children_control_mode" access="public" writeable="false" readable="true" is_callback="false" name="ChildrenControlMode" type="GESChildrenControlMode"/>
+ <field cname="initiated_move" access="public" writeable="false" readable="true" is_callback="false" name="InitiatedMove" type="GESTimelineElement*"/>
+ <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GESContainerPrivate*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="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="last" 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" is_callback="false" name="ParentClass" type="GESBaseEffectClass">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="rate_properties" access="private" writeable="false" readable="false" is_callback="false" name="RateProperties" type="GList*" element_type="gpointer"/>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="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" is_callback="false" name="Parent" type="GESBaseEffect*"/>
+ <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GESEffectPrivate*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="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">
+ <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GESTrackElementAssetClass">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="public" writeable="false" readable="true" is_callback="false" 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" is_callback="false" name="ParentInstance" type="GESTrackElementAsset*"/>
+ <field cname="priv" access="public" writeable="false" readable="true" is_callback="false" name="Priv" type="GESEffectAssetPrivate*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="public" writeable="false" readable="true" is_callback="false" 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" is_callback="false" name="ParentClass" type="GESBaseEffectClipClass">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="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" is_callback="false" name="Parent" type="GESBaseEffectClip*"/>
+ <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GESEffectClipPrivate*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="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" is_callback="false" name="ParentClass" type="GInitiallyUnownedClass">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="can_load_uri" access="public" writeable="false" readable="true" is_callback="false" name="CanLoadUri" type="GESFormatterCanLoadURIMethod"/>
+ <field cname="load_from_uri" access="public" writeable="false" readable="true" is_callback="false" name="LoadFromUri" type="GESFormatterLoadFromURIMethod"/>
+ <field cname="save_to_uri" access="public" writeable="false" readable="true" is_callback="false" name="SaveToUri" type="GESFormatterSaveToURIMethod"/>
+ <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*"/>
+ <field cname="extension" access="private" writeable="false" readable="false" is_callback="false" name="Extension" type="gchar*"/>
+ <field cname="mimetype" access="private" writeable="false" readable="false" is_callback="false" name="Mimetype" type="gchar*"/>
+ <field cname="version" access="private" writeable="false" readable="false" is_callback="false" name="Version" type="gdouble"/>
+ <field cname="rank" access="private" writeable="false" readable="false" is_callback="false" name="Rank" type="GstRank"/>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="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="extensions" type="const-gchar*"/>
+ <parameter name="caps" 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" deprecated="true" deprecated-version="1.18">
+ <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" deprecated="true" deprecated-version="1.18">
+ <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" deprecated="true" deprecated-version="1.18">
+ <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" deprecated="true" deprecated-version="1.18">
+ <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="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GInitiallyUnowned*"/>
+ <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GESFormatterPrivate*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="project" access="private" writeable="false" readable="false" is_callback="false" name="Project" type="GESProject*"/>
+ <field cname="timeline" access="private" writeable="false" readable="false" is_callback="false" name="Timeline" type="GESTimeline*"/>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="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" is_callback="false" name="ParentClass" type="GESContainerClass">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="public" writeable="false" readable="true" is_callback="false" 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" is_callback="false" name="Parent" type="GESContainer*"/>
+ <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GESGroupPrivate*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4"/>
+ </object>
+ <object name="ImageSource" cname="GESImageSource" opaque="false" hidden="false" parent="GESVideoSource" deprecated="true" deprecated-version="1.18">
+ <implements>
+ <interface cname="GESExtractable"/>
+ <interface cname="GESMetaContainer"/>
+ </implements>
+ <class_struct cname="GESImageSourceClass">
+ <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GESVideoSourceClass">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="public" writeable="false" readable="true" is_callback="false" 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" is_callback="false" name="Parent" type="GESVideoSource*"/>
+ <field cname="uri" access="private" writeable="false" readable="false" is_callback="false" name="UriField" type="gchar*"/>
+ <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GESImageSourcePrivate*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="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" is_callback="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" is_callback="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="AddAssetFull" cname="ges_layer_add_asset_full" version="1.18">
+ <return-type type="GESClip*"/>
+ <parameters throws="1">
+ <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"/>
+ <parameter name="error" type="GError**"/>
+ </parameters>
+ </method>
+ <method name="AddClip" cname="ges_layer_add_clip">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="clip" type="GESClip*"/>
+ </parameters>
+ </method>
+ <method name="AddClipFull" cname="ges_layer_add_clip_full" version="1.18">
+ <return-type type="gboolean"/>
+ <parameters throws="1">
+ <parameter name="clip" type="GESClip*"/>
+ <parameter name="error" type="GError**"/>
+ </parameters>
+ </method>
+ <method name="GetActiveForTrack" cname="ges_layer_get_active_for_track" version="1.18">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="track" type="GESTrack*"/>
+ </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="SetActiveForTracks" cname="ges_layer_set_active_for_tracks" version="1.18">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="active" type="gboolean"/>
+ <parameter allow-none="1" name="tracks" type="GList*" element_type="GESTrack*"/>
+ </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" deprecated="true" deprecated-version="1.16.0">
+ <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" deprecated="true" deprecated-version="1.16.0"/>
+ <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GInitiallyUnowned*"/>
+ <field cname="timeline" access="public" writeable="false" readable="true" is_callback="false" name="Timeline" type="GESTimeline*"/>
+ <field cname="min_nle_priority" access="public" writeable="false" readable="true" is_callback="false" name="MinNlePriority" type="guint32"/>
+ <field cname="max_nle_priority" access="public" writeable="false" readable="true" is_callback="false" name="MaxNlePriority" type="guint32"/>
+ <field cname="priv" access="public" writeable="false" readable="true" is_callback="false" name="Priv" type="GESLayerPrivate*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="public" writeable="false" readable="true" is_callback="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4"/>
+ <signal name="ActiveChanged" cname="active-changed" when="first" version="1.18">
+ <return-type type="void"/>
+ <parameters>
+ <parameter name="active" type="gboolean"/>
+ <parameter name="tracks" type="" array="true" null_term_array="true"/>
+ </parameters>
+ </signal>
+ <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="Marker" cname="GESMarker" opaque="false" hidden="false" parent="GObject" version="1.18">
+ <implements>
+ <interface cname="GESMetaContainer"/>
+ </implements>
+ <class_struct cname="GESMarkerClass">
+ <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GObjectClass">
+ <warning>missing glib:type-name</warning>
+ </field>
+ </class_struct>
+ <method name="GetType" cname="ges_marker_get_type" shared="true">
+ <return-type type="GType"/>
+ </method>
+ <property name="Position" cname="position" type="guint64" readable="true" writeable="false" construct="false" construct-only="false" version="1.18"/>
+ </object>
+ <object name="MarkerList" cname="GESMarkerList" opaque="false" hidden="false" parent="GObject" version="1.18">
+ <class_struct cname="GESMarkerListClass">
+ <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GObjectClass">
+ <warning>missing glib:type-name</warning>
+ </field>
+ </class_struct>
+ <method name="GetType" cname="ges_marker_list_get_type" shared="true">
+ <return-type type="GType"/>
+ </method>
+ <constructor cname="ges_marker_list_new" disable_void_ctor="" version="1.18"/>
+ <method name="Add" cname="ges_marker_list_add" version="1.18">
+ <return-type type="GESMarker*"/>
+ <parameters>
+ <parameter name="position" type="guint64"/>
+ </parameters>
+ </method>
+ <method name="GetMarkers" cname="ges_marker_list_get_markers" version="1.18">
+ <return-type type="GList*" element_type="GESMarker*" elements_owned="true" owned="true"/>
+ <parameters/>
+ </method>
+ <method name="Move" cname="ges_marker_list_move" version="1.18">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="marker" type="GESMarker*"/>
+ <parameter name="position" type="guint64"/>
+ </parameters>
+ </method>
+ <method name="Remove" cname="ges_marker_list_remove" version="1.18">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="marker" type="GESMarker*"/>
+ </parameters>
+ </method>
+ <method name="Size" cname="ges_marker_list_size" version="1.18">
+ <return-type type="guint"/>
+ <parameters/>
+ </method>
+ <signal name="MarkerAdded" cname="marker-added" when="first" version="1.18">
+ <return-type type="void"/>
+ <parameters>
+ <parameter name="position" type="guint64"/>
+ <parameter name="marker" type="GESMarker*"/>
+ </parameters>
+ </signal>
+ <signal name="MarkerMoved" cname="marker-moved" when="first" version="1.18">
+ <return-type type="void"/>
+ <parameters>
+ <parameter name="previous_position" type="guint64"/>
+ <parameter name="new_position" type="guint64"/>
+ <parameter name="marker" type="GESMarker*"/>
+ </parameters>
+ </signal>
+ <signal name="MarkerRemoved" cname="marker-removed" when="first" version="1.18">
+ <return-type type="void"/>
+ <parameters>
+ <parameter name="marker" type="GESMarker*"/>
+ </parameters>
+ </signal>
+ </object>
+ <object name="MultiFileSource" cname="GESMultiFileSource" opaque="false" hidden="false" parent="GESVideoSource" deprecated="true" deprecated-version="1.18">
+ <implements>
+ <interface cname="GESExtractable"/>
+ <interface cname="GESMetaContainer"/>
+ </implements>
+ <class_struct cname="GESMultiFileSourceClass">
+ <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GESVideoSourceClass">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="public" writeable="false" readable="true" is_callback="false" 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" is_callback="false" name="Parent" type="GESVideoSource*"/>
+ <field cname="uri" access="private" writeable="false" readable="false" is_callback="false" name="UriField" type="gchar*"/>
+ <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GESMultiFileSourcePrivate*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="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" is_callback="false" name="ParentClass" type="GESTrackElementClass">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="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" is_callback="false" name="Parent" type="GESTrackElement*"/>
+ <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GESOperationPrivate*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="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" is_callback="false" name="ParentClass" type="GESClipClass">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="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" is_callback="false" name="Parent" type="GESClip*"/>
+ <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GESOperationClipPrivate*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="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" is_callback="false" name="ParentClass" type="GESOperationClipClass">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="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" is_callback="false" name="Parent" type="GESOperationClip*"/>
+ <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GESOverlayClipPrivate*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="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" is_callback="false" name="ParentClass" type="GstPipelineClass">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="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" version="1.6.0"/>
+ <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" version="1.6.0"/>
+ <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" is_callback="false" name="Parent" type="GstPipeline*"/>
+ <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GESPipelinePrivate*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4"/>
+ </object>
+ <object name="PitiviFormatter" cname="GESPitiviFormatter" opaque="false" hidden="false" parent="GESFormatter" deprecated="true" deprecated-version="1.0">
+ <implements>
+ <interface cname="GESExtractable"/>
+ </implements>
+ <class_struct cname="GESPitiviFormatterClass">
+ <field cname="parent_class" access="private" writeable="false" readable="false" is_callback="false" name="ParentClass" type="GESFormatterClass">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="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" is_callback="false" name="Parent" type="GESFormatter*"/>
+ <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GESPitiviFormatterPrivate*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="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" is_callback="false" 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"/>
+ <method signal_vm="loading"/>
+ <field cname="_ges_reserved" access="public" writeable="false" readable="true" is_callback="false" name="_gesGesReserved" type="gpointer" array="true" array_len="3"/>
+ </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="AddFormatter" cname="ges_project_add_formatter" version="1.18">
+ <return-type type="void"/>
+ <parameters>
+ <parameter name="formatter" type="GESFormatter*"/>
+ </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*" owned="true"/>
+ <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" is_callback="false" name="Parent" type="GESAsset*"/>
+ <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GESProjectPrivate*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="__ges_reserved" access="private" writeable="false" readable="false" is_callback="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="ErrorLoading" cname="error-loading" when="last" version="1.18">
+ <return-type type="void"/>
+ <parameters>
+ <parameter name="timeline" type="GESTimeline*"/>
+ <parameter name="error" type="GLib.Error"/>
+ </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="Loading" cname="loading" when="first" field_name="loading" version="1.18">
+ <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" is_callback="false" name="ParentClass" type="GESTrackElementClass">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="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" is_callback="false" name="Parent" type="GESTrackElement*"/>
+ <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GESSourcePrivate*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="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" is_callback="false" name="ParentClass" type="GESClipClass">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="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>
+ <constructor cname="ges_source_clip_new_time_overlay" disable_void_ctor="" version="1.18"/>
+ <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GESClip*"/>
+ <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GESSourceClipPrivate*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4"/>
+ </object>
+ <object name="SourceClipAsset" cname="GESSourceClipAsset" opaque="false" hidden="false" parent="GESClipAsset" version="1.18">
+ <implements>
+ <interface cname="GESMetaContainer"/>
+ <interface cname="GAsyncInitable"/>
+ <interface cname="GInitable"/>
+ </implements>
+ <class_struct cname="GESSourceClipAssetClass">
+ <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GESClipAssetClass">
+ <warning>missing glib:type-name</warning>
+ </field>
+ </class_struct>
+ <method name="GetType" cname="ges_source_clip_asset_get_type" shared="true">
+ <return-type type="GType"/>
+ </method>
+ <field cname="parent_instance" access="public" writeable="false" readable="true" is_callback="false" name="ParentInstance" type="GESClipAsset*"/>
+ </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" is_callback="false" name="ParentClass" type="GESSourceClipClass">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="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" is_callback="false" name="Parent" type="GESSourceClip*"/>
+ <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GESTestClipPrivate*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="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" is_callback="false" name="ParentClass" type="GESOperationClass">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="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="" deprecated="true" deprecated-version="1.18"/>
+ <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" is_callback="false" name="Parent" type="GESOperation*"/>
+ <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GESTextOverlayPrivate*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="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" is_callback="false" name="ParentClass" type="GESOverlayClipClass">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="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" is_callback="false" name="Parent" type="GESOverlayClip*"/>
+ <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GESTextOverlayClipPrivate*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="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" is_callback="false" 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" is_callback="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" deprecated="true" deprecated-version="1.18">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="layer" type="GESLayer*"/>
+ </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="GetFrameAt" cname="ges_timeline_get_frame_at" version="1.18">
+ <return-type type="gint64"/>
+ <parameters>
+ <parameter name="timestamp" type="guint64"/>
+ </parameters>
+ </method>
+ <method name="GetFrameTime" cname="ges_timeline_get_frame_time" version="1.18">
+ <return-type type="guint64"/>
+ <parameters>
+ <parameter name="frame_number" type="gint64"/>
+ </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="MoveLayer" cname="ges_timeline_move_layer" version="1.16">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="layer" type="GESLayer*"/>
+ <parameter name="new_layer_priority" type="guint"/>
+ </parameters>
+ </method>
+ <method name="PasteElement" cname="ges_timeline_paste_element">
+ <return-type type="GESTimelineElement*" owned="true"/>
+ <parameters>
+ <parameter name="element" type="GESTimelineElement*"/>
+ <parameter name="position" type="guint64"/>
+ <parameter name="layer_priority" type="gint"/>
+ </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" is_callback="false" name="Parent" type="GstBin*"/>
+ <field cname="layers" access="public" writeable="false" readable="true" is_callback="false" name="Layers" type="GList*" element_type="GESLayer*"/>
+ <field cname="tracks" access="public" writeable="false" readable="true" is_callback="false" name="Tracks" type="GList*" element_type="gpointer"/>
+ <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GESTimelinePrivate*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="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="SelectElementTrack" cname="select-element-track" when="last" version="1.18">
+ <return-type type="GESTrack*" owned="true"/>
+ <parameters>
+ <parameter name="clip" type="GESClip*"/>
+ <parameter name="track_element" type="GESTrackElement*"/>
+ </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="obj1" type="GESTrackElement*"/>
+ <parameter name="obj2" type="GESTrackElement*"/>
+ <parameter name="position" type="guint64"/>
+ </parameters>
+ </signal>
+ <signal name="SnappingStarted" cname="snapping-started" when="last">
+ <return-type type="void"/>
+ <parameters>
+ <parameter name="obj1" type="GESTrackElement*"/>
+ <parameter name="obj2" type="GESTrackElement*"/>
+ <parameter name="position" 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" is_callback="false" 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"/>
+ <method vm="set_child_property"/>
+ <method vm="get_layer_priority"/>
+ <method vm="get_natural_framerate"/>
+ <method vm="set_child_property_full"/>
+ <field cname="_ges_reserved" access="public" writeable="false" readable="true" is_callback="false" name="_gesGesReserved" type="gpointer" array="true" array_len="14"/>
+ </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="GetLayerPriority" cname="get_layer_priority" version="1.16">
+ <return-type type="guint32"/>
+ <parameters/>
+ </virtual_method>
+ <virtual_method name="GetNaturalFramerate" cname="get_natural_framerate" version="1.18">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="framerate_n" type="gint*" owned="true" pass_as="out"/>
+ <parameter name="framerate_d" type="gint*" owned="true" pass_as="out"/>
+ </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="SetChildProperty" cname="set_child_property" version="1.16">
+ <return-type type="void"/>
+ <parameters>
+ <parameter name="child" type="GObject*"/>
+ <parameter name="pspec" type="GParamSpec*"/>
+ <parameter name="value" type="GValue*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </parameters>
+ </virtual_method>
+ <virtual_method name="SetChildPropertyFull" cname="set_child_property_full" version="1.18">
+ <return-type type="gboolean"/>
+ <parameters throws="1">
+ <parameter name="child" type="GObject*"/>
+ <parameter name="pspec" type="GParamSpec*"/>
+ <parameter name="value" type="GValue*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ <parameter name="error" type="GError**"/>
+ </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" deprecated="true" deprecated-version="1.10">
+ <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="Edit" cname="ges_timeline_element_edit" version="1.18">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter allow-none="1" name="layers" type="GList*" element_type="GESLayer*"/>
+ <parameter name="new_layer_priority" type="gint64"/>
+ <parameter name="mode" type="GESEditMode"/>
+ <parameter name="edge" type="GESEdge"/>
+ <parameter name="position" type="guint64"/>
+ </parameters>
+ </method>
+ <method name="EditFull" cname="ges_timeline_element_edit_full" version="1.18">
+ <return-type type="gboolean"/>
+ <parameters throws="1">
+ <parameter name="new_layer_priority" type="gint64"/>
+ <parameter name="mode" type="GESEditMode"/>
+ <parameter name="edge" type="GESEdge"/>
+ <parameter name="position" type="guint64"/>
+ <parameter name="error" type="GError**"/>
+ </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="GetLayerPriority" cname="ges_timeline_element_get_layer_priority" version="1.16">
+ <return-type type="guint32"/>
+ <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="GetNaturalFramerate" cname="ges_timeline_element_get_natural_framerate" version="1.18">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="framerate_n" type="gint*" owned="true" pass_as="out"/>
+ <parameter name="framerate_d" type="gint*" owned="true" pass_as="out"/>
+ </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*" owned="true"/>
+ <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="SetChildPropertyFull" cname="ges_timeline_element_set_child_property_full" version="1.18">
+ <return-type type="gboolean"/>
+ <parameters throws="1">
+ <parameter name="property_name" type="const-gchar*"/>
+ <parameter name="value" type="GValue*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ <parameter name="error" type="GError**"/>
+ </parameters>
+ </method>
+ <method name="SetDuration" cname="ges_timeline_element_set_duration">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="duration" type="guint64"/>
+ </parameters>
+ </method>
+ <method name="SetInpoint" cname="ges_timeline_element_set_inpoint">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="inpoint" type="guint64"/>
+ </parameters>
+ </method>
+ <method name="SetMaxDuration" cname="ges_timeline_element_set_max_duration">
+ <return-type type="gboolean"/>
+ <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" deprecated-version="1.10">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="priority" type="guint32"/>
+ </parameters>
+ </method>
+ <method name="SetStart" cname="ges_timeline_element_set_start">
+ <return-type type="gboolean"/>
+ <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" deprecated="true" deprecated-version="1.10"/>
+ <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="public" writeable="false" readable="true" is_callback="false" name="ParentInstance" type="GInitiallyUnowned*"/>
+ <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="ParentField" type="GESTimelineElement*"/>
+ <field cname="asset" access="public" writeable="false" readable="true" is_callback="false" name="Asset" type="GESAsset*"/>
+ <field cname="start" access="public" writeable="false" readable="true" is_callback="false" name="StartField" type="guint64"/>
+ <field cname="inpoint" access="public" writeable="false" readable="true" is_callback="false" name="Inpoint" type="guint64"/>
+ <field cname="duration" access="public" writeable="false" readable="true" is_callback="false" name="DurationField" type="guint64"/>
+ <field cname="maxduration" access="public" writeable="false" readable="true" is_callback="false" name="Maxduration" type="guint64"/>
+ <field cname="priority" access="public" writeable="false" readable="true" is_callback="false" name="PriorityField" type="guint32"/>
+ <field cname="timeline" access="public" writeable="false" readable="true" is_callback="false" name="TimelineField" type="GESTimeline*"/>
+ <field cname="name" access="public" writeable="false" readable="true" is_callback="false" name="NameField" type="gchar*"/>
+ <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GESTimelineElementPrivate*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gesGesReserved" type="gpointer" array="true" array_len="20"/>
+ <signal name="ChildPropertyAdded" cname="child-property-added" when="first" version="1.18">
+ <return-type type="void"/>
+ <parameters>
+ <parameter name="prop_object" type="GObject*"/>
+ <parameter name="prop" type="GParamSpec*"/>
+ </parameters>
+ </signal>
+ <signal name="ChildPropertyRemoved" cname="child-property-removed" when="first" version="1.18">
+ <return-type type="void"/>
+ <parameters>
+ <parameter name="prop_object" type="GObject*"/>
+ <parameter name="prop" type="GParamSpec*"/>
+ </parameters>
+ </signal>
+ <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" is_callback="false" name="ParentClass" type="GESSourceClipClass">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="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" deprecated-version="1.6">
+ <return-type type="guint32"/>
+ <parameters/>
+ </method>
+ <method name="GetFontDesc" cname="ges_title_clip_get_font_desc" deprecated="true" deprecated-version="1.6">
+ <return-type type="const-gchar*"/>
+ <parameters/>
+ </method>
+ <method name="GetHalignment" cname="ges_title_clip_get_halignment" deprecated="true" deprecated-version="1.6">
+ <return-type type="GESTextHAlign"/>
+ <parameters/>
+ </method>
+ <method name="GetText" cname="ges_title_clip_get_text" deprecated="true" deprecated-version="1.6">
+ <return-type type="const-gchar*"/>
+ <parameters/>
+ </method>
+ <method name="GetTextColor" cname="ges_title_clip_get_text_color" deprecated="true" deprecated-version="1.6">
+ <return-type type="guint32"/>
+ <parameters/>
+ </method>
+ <method name="GetValignment" cname="ges_title_clip_get_valignment" deprecated="true" deprecated-version="1.6">
+ <return-type type="GESTextVAlign"/>
+ <parameters/>
+ </method>
+ <method name="GetXpos" cname="ges_title_clip_get_xpos" deprecated="true" deprecated-version="1.6">
+ <return-type type="gdouble"/>
+ <parameters/>
+ </method>
+ <method name="GetYpos" cname="ges_title_clip_get_ypos" deprecated="true" deprecated-version="1.6">
+ <return-type type="gdouble"/>
+ <parameters/>
+ </method>
+ <method name="SetBackground" cname="ges_title_clip_set_background" deprecated="true" deprecated-version="1.6">
+ <return-type type="void"/>
+ <parameters>
+ <parameter name="background" type="guint32"/>
+ </parameters>
+ </method>
+ <method name="SetColor" cname="ges_title_clip_set_color" deprecated="true" deprecated-version="1.6">
+ <return-type type="void"/>
+ <parameters>
+ <parameter name="color" type="guint32"/>
+ </parameters>
+ </method>
+ <method name="SetFontDesc" cname="ges_title_clip_set_font_desc" deprecated="true" deprecated-version="1.6">
+ <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" deprecated-version="1.6">
+ <return-type type="void"/>
+ <parameters>
+ <parameter name="halign" type="GESTextHAlign"/>
+ </parameters>
+ </method>
+ <method name="SetText" cname="ges_title_clip_set_text" deprecated="true" deprecated-version="1.6">
+ <return-type type="void"/>
+ <parameters>
+ <parameter name="text" type="const-gchar*"/>
+ </parameters>
+ </method>
+ <method name="SetValignment" cname="ges_title_clip_set_valignment" deprecated="true" deprecated-version="1.6">
+ <return-type type="void"/>
+ <parameters>
+ <parameter name="valign" type="GESTextVAlign"/>
+ </parameters>
+ </method>
+ <method name="SetXpos" cname="ges_title_clip_set_xpos" deprecated="true" deprecated-version="1.6">
+ <return-type type="void"/>
+ <parameters>
+ <parameter name="position" type="gdouble"/>
+ </parameters>
+ </method>
+ <method name="SetYpos" cname="ges_title_clip_set_ypos" deprecated="true" deprecated-version="1.6">
+ <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" deprecated-version="1.6"/>
+ <property name="Color" cname="color" type="guint" readable="true" writeable="true" construct="true" construct-only="false" deprecated="true" deprecated-version="1.6"/>
+ <property name="FontDesc" cname="font-desc" type="gchar*" readable="true" writeable="true" construct="true" construct-only="false" deprecated="true" deprecated-version="1.6"/>
+ <property name="Halignment" cname="halignment" type="GESTextHAlign" readable="true" writeable="true" construct="true" construct-only="false" deprecated="true" deprecated-version="1.6"/>
+ <property name="Text" cname="text" type="gchar*" readable="true" writeable="true" construct="true" construct-only="false" deprecated="true" deprecated-version="1.6"/>
+ <property name="Valignment" cname="valignment" type="GESTextVAlign" readable="true" writeable="true" construct="true" construct-only="false" deprecated="true" deprecated-version="1.6"/>
+ <property name="Xpos" cname="xpos" type="gdouble" readable="true" writeable="true" construct="true" construct-only="false" deprecated="true" deprecated-version="1.6"/>
+ <property name="Ypos" cname="ypos" type="gdouble" readable="true" writeable="true" construct="true" construct-only="false" deprecated="true" deprecated-version="1.6"/>
+ <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GESSourceClip*"/>
+ <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GESTitleClipPrivate*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="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" is_callback="false" name="ParentClass" type="GESVideoSourceClass">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="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" deprecated="true" deprecated-version="1.16">
+ <return-type type="gchar*" owned="true"/>
+ <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" deprecated="true" deprecated-version="1.16">
+ <return-type type="gchar*" owned="true"/>
+ <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" is_callback="false" name="Parent" type="GESVideoSource*"/>
+ <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GESTitleSourcePrivate*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="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" is_callback="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" is_callback="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*"/>
+ </parameters>
+ </method>
+ <method name="AddElementFull" cname="ges_track_add_element_full" version="1.18">
+ <return-type type="gboolean"/>
+ <parameters throws="1">
+ <parameter name="_object" type="GESTrackElement*"/>
+ <parameter name="error" type="GError**"/>
+ </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="GetRestrictionCaps" cname="ges_track_get_restriction_caps" version="1.18">
+ <return-type type="GstCaps*" owned="true">
+ <warning>missing glib:type-name</warning>
+ </return-type>
+ <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="RemoveElementFull" cname="ges_track_remove_element_full" version="1.18">
+ <return-type type="gboolean"/>
+ <parameters throws="1">
+ <parameter name="_object" type="GESTrackElement*"/>
+ <parameter name="error" type="GError**"/>
+ </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="Id" cname="id" type="gchar*" readable="true" writeable="true" construct="false" construct-only="false" version="1.18"/>
+ <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" is_callback="false" name="Parent" type="GstBin*"/>
+ <field cname="type" access="public" writeable="false" readable="true" is_callback="false" name="Type" type="GESTrackType"/>
+ <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GESTrackPrivate*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="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" is_callback="false" name="ParentClass" type="GESTimelineElementClass">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="nleobject_factorytype" access="public" writeable="false" readable="true" is_callback="false" 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"/>
+ </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="ClampControlSource" cname="ges_track_element_clamp_control_source" version="1.18">
+ <return-type type="void"/>
+ <parameters>
+ <parameter name="property_name" type="const-gchar*"/>
+ </parameters>
+ </method>
+ <method name="Edit" cname="ges_track_element_edit" deprecated="true" deprecated-version="1.18">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter allow-none="1" 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="GetAutoClampControlSources" cname="ges_track_element_get_auto_clamp_control_sources" version="1.18">
+ <return-type type="gboolean"/>
+ <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="HasInternalSource" cname="ges_track_element_has_internal_source" version="1.18">
+ <return-type type="gboolean"/>
+ <parameters/>
+ </method>
+ <method name="IsActive" cname="ges_track_element_is_active">
+ <return-type type="gboolean"/>
+ <parameters/>
+ </method>
+ <method name="IsCore" cname="ges_track_element_is_core" version="1.18">
+ <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="SetAutoClampControlSources" cname="ges_track_element_set_auto_clamp_control_sources" version="1.18">
+ <return-type type="void"/>
+ <parameters>
+ <parameter name="auto_clamp" 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="SetHasInternalSource" cname="ges_track_element_set_has_internal_source" version="1.18">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="has_internal_source" type="gboolean"/>
+ </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="AutoClampControlSources" cname="auto-clamp-control-sources" type="gboolean" readable="true" writeable="true" construct="false" construct-only="false" version="1.18"/>
+ <property name="HasInternalSourceProp&#10;&#9;&#9;&#9;&#9;&#9;&#9;" cname="has-internal-source" type="gboolean" readable="true" writeable="true" construct="false" construct-only="false" version="1.18"/>
+ <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" is_callback="false" name="Parent" type="GESTimelineElement*"/>
+ <field cname="active" access="private" writeable="false" readable="false" is_callback="false" name="ActiveField" type="gboolean"/>
+ <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GESTrackElementPrivate*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="asset" access="private" writeable="false" readable="false" is_callback="false" name="Asset" type="GESAsset*"/>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="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" is_callback="false" name="ParentClass" type="GESAssetClass">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <method vm="get_natural_framerate"/>
+ <field cname="_ges_reserved" access="public" writeable="false" readable="true" is_callback="false" name="_gesGesReserved" type="gpointer" array="true" array_len="3"/>
+ </class_struct>
+ <method name="GetType" cname="ges_track_element_asset_get_type" shared="true">
+ <return-type type="GType"/>
+ </method>
+ <virtual_method name="GetNaturalFramerate" cname="get_natural_framerate" version="1.18">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="framerate_n" type="gint"/>
+ <parameter name="framerate_d" type="gint"/>
+ </parameters>
+ </virtual_method>
+ <method name="GetNaturalFramerate" cname="ges_track_element_asset_get_natural_framerate" version="1.18">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="framerate_n" type="gint"/>
+ <parameter name="framerate_d" type="gint"/>
+ </parameters>
+ </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" is_callback="false" name="Parent" type="GESAsset*"/>
+ <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GESTrackElementAssetPrivate*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="__ges_reserved" access="private" writeable="false" readable="false" is_callback="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" is_callback="false" name="ParentClass" type="GESOperationClass">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="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" is_callback="false" name="Parent" type="GESOperation*"/>
+ <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GESTransitionPrivate*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="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" is_callback="false" name="ParentClass" type="GESBaseTransitionClipClass">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="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" is_callback="false" name="Parent" type="GESBaseTransitionClip*"/>
+ <field cname="vtype" access="public" writeable="false" readable="true" is_callback="false" name="VtypeField" type="GESVideoStandardTransitionType"/>
+ <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GESTransitionClipPrivate*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="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" is_callback="false" name="ParentClass" type="GESSourceClipClass">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="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="IsImage" cname="ges_uri_clip_is_image">
+ <return-type type="gboolean"/>
+ <parameters/>
+ </method>
+ <method name="IsMuted" cname="ges_uri_clip_is_muted">
+ <return-type type="gboolean"/>
+ <parameters/>
+ </method>
+ <method name="SetIsImage" cname="ges_uri_clip_set_is_image">
+ <return-type type="void"/>
+ <parameters>
+ <parameter name="is_image" 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&#10;&#9;&#9;&#9;&#9;&#9;&#9;" 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" is_callback="false" name="Parent" type="GESSourceClip*"/>
+ <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GESUriClipPrivate*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gesGesReserved" type="gpointer" array="true" array_len="4"/>
+ </object>
+ <object name="UriClipAsset" cname="GESUriClipAsset" opaque="false" hidden="false" parent="GESSourceClipAsset">
+ <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" is_callback="false" name="ParentClass" type="GESSourceClipAssetClass">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="discoverer" access="private" writeable="false" readable="false" is_callback="false" name="Discoverer" type="GstDiscoverer*"/>
+ <field cname="sync_discoverer" access="private" writeable="false" readable="false" is_callback="false" name="SyncDiscoverer" type="GstDiscoverer*"/>
+ <method vm="discovered"/>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gesGesReserved" type="gpointer" array="true" array_len="3"/>
+ </class_struct>
+ <virtual_method name="Discovered" cname="discovered" shared="true">
+ <return-type type="void"/>
+ <parameters>
+ <parameter name="discoverer" type="GstDiscoverer*"/>
+ <parameter name="info" type="GstDiscovererInfo*"/>
+ <parameter name="err" type="GLib.Error"/>
+ <parameter closure="3" allow-none="1" name="user_data" type="gpointer"/>
+ </parameters>
+ </virtual_method>
+ <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="Finish" cname="ges_uri_clip_asset_finish" shared="true" version="1.16">
+ <return-type type="GESUriClipAsset*" owned="true"/>
+ <parameters throws="1">
+ <parameter name="res" type="GAsyncResult*"/>
+ <parameter name="error" type="GError**"/>
+ </parameters>
+ </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*" owned="true"/>
+ <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="GetMaxDuration" cname="ges_uri_clip_asset_get_max_duration" version="1.18">
+ <return-type type="guint64"/>
+ <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" version="1.18">
+ <return-type type="gboolean"/>
+ <parameters/>
+ </method>
+ <property name="Duration" cname="duration" type="guint64" readable="true" writeable="true" construct="false" construct-only="false"/>
+ <property name="IsNestedTimeline" cname="is-nested-timeline" type="gboolean" readable="true" writeable="false" construct="false" construct-only="false" version="1.18"/>
+ <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GESSourceClipAsset*"/>
+ <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GESUriClipAssetPrivate*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="__ges_reserved" access="private" writeable="false" readable="false" is_callback="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" is_callback="false" name="ParentClass" type="GESTrackElementAssetClass">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="public" writeable="false" readable="true" is_callback="false" 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>
+ <method name="IsImage" cname="ges_uri_source_asset_is_image" version="1.18">
+ <return-type type="gboolean"/>
+ <parameters/>
+ </method>
+ <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GESTrackElementAsset*"/>
+ <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GESUriSourceAssetPrivate*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="__ges_reserved" access="private" writeable="false" readable="false" is_callback="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" is_callback="false" name="ParentClass" type="GESSourceClass">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <method vm="create_source"/>
+ </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>
+ <method name="GetNaturalSize" cname="ges_video_source_get_natural_size" version="1.18">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="width" type="gint*" owned="true" pass_as="out"/>
+ <parameter name="height" type="gint*" owned="true" pass_as="out"/>
+ </parameters>
+ </method>
+ <field cname="parent" access="private" writeable="false" readable="false" is_callback="false" name="Parent" type="GESSource*"/>
+ <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GESVideoSourcePrivate*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="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" is_callback="false" name="ParentClass" type="GESVideoSourceClass">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="public" writeable="false" readable="true" is_callback="false" 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" is_callback="false" name="Parent" type="GESVideoSource*"/>
+ <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GESVideoTestSourcePrivate*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="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" is_callback="false" name="ParentClass" type="GESTrackClass">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="public" writeable="false" readable="true" is_callback="false" 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" is_callback="false" name="ParentInstance" type="GESTrack*"/>
+ <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GESVideoTrackPrivate*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="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" is_callback="false" name="ParentClass" type="GESTransitionClass">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="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" deprecated="true" deprecated-version="1.20">
+ <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" deprecated="true" deprecated-version="1.20">
+ <return-type type="gboolean"/>
+ <parameters/>
+ </method>
+ <method name="SetBorder" cname="ges_video_transition_set_border" deprecated="true" deprecated-version="1.20">
+ <return-type type="void"/>
+ <parameters>
+ <parameter name="value" type="guint"/>
+ </parameters>
+ </method>
+ <method name="SetInverted" cname="ges_video_transition_set_inverted" deprecated="true" deprecated-version="1.20">
+ <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" deprecated="true" deprecated-version="1.20"/>
+ <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" is_callback="false" name="Parent" type="GESTransition*"/>
+ <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GESVideoTransitionPrivate*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="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" is_callback="false" name="ParentClass" type="GESVideoSourceClass">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="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" is_callback="false" name="Parent" type="GESVideoSource*"/>
+ <field cname="uri" access="private" writeable="false" readable="false" is_callback="false" name="UriField" type="gchar*"/>
+ <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GESUriSource*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="private" writeable="false" readable="false" is_callback="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" is_callback="false" name="Parent" type="GESBaseXmlFormatterClass">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="public" writeable="false" readable="true" is_callback="false" 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" is_callback="false" name="Parent" type="GESBaseXmlFormatter*"/>
+ <field cname="priv" access="public" writeable="false" readable="true" is_callback="false" name="Priv" type="GESXmlFormatterPrivate*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="_ges_reserved" access="public" writeable="false" readable="true" is_callback="false" 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="UriSource" cname="GESUriSource" opaque="true" hidden="false"/>
+ <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="EdgeName" cname="ges_edge_name" shared="true" version="1.16">
+ <return-type type="const-gchar*"/>
+ <parameters>
+ <parameter name="edge" type="GESEdge"/>
+ </parameters>
+ </method>
+ <method name="EditModeName" cname="ges_edit_mode_name" shared="true" version="1.18">
+ <return-type type="const-gchar*"/>
+ <parameters>
+ <parameter name="mode" type="GESEditMode"/>
+ </parameters>
+ </method>
+ <method name="FindFormatterForUri" cname="ges_find_formatter_for_uri" shared="true" version="1.18">
+ <return-type type="GESAsset*"/>
+ <parameters>
+ <parameter name="uri" type="const-gchar*"/>
+ </parameters>
+ </method>
+ <method name="Init" cname="ges_init" shared="true">
+ <return-type type="gboolean"/>
+ </method>
+ <method name="InitCheck" cname="ges_init_check" shared="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="IsInitialized" cname="ges_is_initialized" shared="true" version="1.16">
+ <return-type type="gboolean"/>
+ </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" deprecated="true" deprecated-version="1.18">
+ <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="9223372036854775807" ctype="gint64" gtype="gint64" name="FRAME_NUMBER_NONE"/>
+ <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="marker-color" ctype="gchar*" gtype="gchar*" name="META_MARKER_COLOR"/>
+ <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"/>
+ <constant value="4294967295" ctype="guint32" gtype="guint32" name="TIMELINE_ELEMENT_NO_LAYER_PRIORITY"/>
+ <constant value="1" ctype="gint" gtype="gint" name="VERSION_MAJOR"/>
+ <constant value="0" ctype="gint" gtype="gint" name="VERSION_MICRO"/>
+ <constant value="19" ctype="gint" gtype="gint" name="VERSION_MINOR"/>
+ <constant value="1" ctype="gint" gtype="gint" name="VERSION_NANO"/>
+ </object>
+ </namespace>
+</api>
diff --git a/subprojects/gstreamer-sharp/ges/gst-editing-services-sharp.dll.config b/subprojects/gstreamer-sharp/ges/gst-editing-services-sharp.dll.config
new file mode 100644
index 0000000000..20acb97cc7
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/gst-editing-services-sharp.dll.config
@@ -0,0 +1,6 @@
+<configuration>
+ <!-- Linux -->
+ <dllmap dll="ges-1.0-0.dll" target="libges-1.0.so" os="linux"/>
+ <!-- Mac OS X -->
+ <dllmap dll="ges-1.0-0.dll" target="libges-1.0.dylib" os="osx"/>
+</configuration>
diff --git a/subprojects/gstreamer-sharp/ges/gst-editing-services.metadata b/subprojects/gstreamer-sharp/ges/gst-editing-services.metadata
new file mode 100644
index 0000000000..ec1a68c444
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/gst-editing-services.metadata
@@ -0,0 +1,66 @@
+<?xml version="1.0"?>
+
+<!--
+Copyright (C) 2013 Stephan Sundermann <stephansundermann@gmail.com>
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version.
+
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA
+-->
+<metadata>
+ <remove-node path="/api/namespace/object[@cname='GESSmartAdder']"/>
+ <remove-node path="/api/namespace/object[@cname='GESPitiviFormatter']"/>
+ <remove-node path="/api/namespace/object/method[@cname='ges_uri_clip_is_image']"/>
+ <remove-node path="/api/namespace/object/method[@cname='ges_uri_clip_set_is_image']"/>
+ <!--FIXME- This fix should not be needed (ie. bindinator is messing with us).-->
+ <attr path="/api/namespace/object[@parent='GObject.InitiallyUnowned']" name="parent">GInitiallyUnowned</attr>
+ <attr path="/api/namespace/object[@parent='GObject.Object']" name="parent">GObject</attr>
+
+ <attr path="/api/namespace/object[@cname='GESGlobal']/method[@cname='ges_init_check']" name="hidden">true</attr>
+ <attr path="/api/namespace/object[@name='TimelineElement']/field[@cname='asset']" name="hidden">true</attr>
+ <attr path="/api/namespace/object[@name='TimelineElement']/field[@cname='parent']" name="access">private</attr>
+ <attr path="/api/namespace/object[@name='TimelineElement']/field[@cname='parent_instance']" name="access">private</attr>
+ <attr path="/api/namespace/object[@name='Layer']/field[@cname='parent']" name="access">private</attr>
+ <attr path="/api/namespace/object[@name='Formatter']/field[@cname='parent']" name="access">private</attr>
+ <attr path="/api/namespace/object/class_struct[@cname='GESBaseXmlFormatterClass']/field[@cname='content_parser']" name="type">GMarkupParser</attr>
+
+ <attr path="/api/namespace/object/class_struct[@cname='GESEffectAssetClass']" name="private">true</attr>
+ <add-node path="/api/namespace/object/class_struct[@cname='GESVideoSourceClass']">
+ <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>
+ </add-node>
+
+ <add-node path="/api/namespace/object/class_struct[@cname='GESTrackElementClass']">
+ <union name="ABI" cname="ABI">
+ <struct name="abi" cname="abi" opaque="false" hidden="false">
+ </struct>
+ <field cname="_gst_reserved" access="private" writeable="false" readable="false" name="_gstGstReserved" type="gpointer" array="true" array_len="20"/>
+ </union>
+ </add-node>
+
+ <add-node path="/api/namespace/object/class_struct[@cname='GESClipClass']">
+ <union name="ABI" cname="ABI">
+ <struct name="abi" cname="abi" opaque="false" hidden="false">
+ </struct>
+ <field cname="_gst_reserved" access="private" writeable="false" readable="false" name="_gstGstReserved" type="gpointer" array="true" array_len="20"/>
+ </union>
+ </add-node>
+
+ <!-- Mark reserved fields as padding -->
+ <attr path="//*[contains(@cname, 'ges_reserved')]" name="padding">true</attr>
+</metadata>
diff --git a/subprojects/gstreamer-sharp/ges/meson.build b/subprojects/gstreamer-sharp/ges/meson.build
new file mode 100644
index 0000000000..77606fb9d8
--- /dev/null
+++ b/subprojects/gstreamer-sharp/ges/meson.build
@@ -0,0 +1,32 @@
+pkg = 'gst-editing-services'
+raw_api_fname = join_paths(meson.current_source_dir(), pkg + '-api.raw')
+metadata = files(pkg + '.metadata')
+
+subdir('generated')
+
+ges_sharp = shared_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])
+
+ges_sharp_dep = declare_dependency(dependencies: [glib_sharp_dep, gio_sharp_dep, gst_sharp_dep], link_with: ges_sharp)
+
+configure_file(
+ input: pkg + '-sharp.dll.config',
+ output: pkg + '-sharp.dll.config',
+ copy: true)
+
+if add_languages('c', required: get_option('tests')) and csc.get_id() == 'mono'
+ c_abi_exe = executable(pkg + '_c_abi', c_abi,
+ c_args: ['-Wno-deprecated', '-Wno-deprecated-declarations'],
+ dependencies: [gst_deps, ges_dep])
+
+ cs_abi_exe = executable(pkg + '_cs_abi', cs_abi,
+ cs_args: ['-nowarn:169', '-nowarn:108', '-nowarn:114', '-nowarn:0618', '-unsafe'],
+ dependencies: [ges_sharp_dep])
+
+ test(pkg + 'abi', diff, args: [c_abi_exe.full_path(), cs_abi_exe.full_path()],
+ env: testsenv)
+else
+ message('Not running tests ' + csc.get_id())
+endif
diff --git a/subprojects/gstreamer-sharp/girs/GES-1.0.gir b/subprojects/gstreamer-sharp/girs/GES-1.0.gir
new file mode 100644
index 0000000000..60fb24a257
--- /dev/null
+++ b/subprojects/gstreamer-sharp/girs/GES-1.0.gir
@@ -0,0 +1,22193 @@
+<?xml version="1.0"?>
+<!-- This file was automatically generated from C sources - DO NOT EDIT!
+To affect the contents of this file, edit the original C definitions,
+and/or use gtk-doc annotations. -->
+<repository version="1.2"
+ xmlns="http://www.gtk.org/introspection/core/1.0"
+ xmlns:c="http://www.gtk.org/introspection/c/1.0"
+ xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
+ <include name="GObject" version="2.0"/>
+ <include name="Gio" version="2.0"/>
+ <include name="Gst" version="1.0"/>
+ <include name="GstPbutils" version="1.0"/>
+ <include name="GstVideo" version="1.0"/>
+ <package name="gst-editing-services-1.0"/>
+ <c:include name="ges/ges.h"/>
+ <namespace name="GES"
+ version="1.0"
+ shared-library="libges-1.0.so.0"
+ c:identifier-prefixes="GES"
+ c:symbol-prefixes="ges">
+ <alias name="FrameNumber" c:type="GESFrameNumber">
+ <doc xml:space="preserve"
+ filename="ges/ges-types.h"
+ line="46">A datatype to hold a frame number.</doc>
+ <source-position filename="ges/ges-types.h" line="51"/>
+ <type name="gint64" c:type="gint64"/>
+ </alias>
+ <class name="Asset"
+ c:symbol-prefix="asset"
+ c:type="GESAsset"
+ parent="GObject.Object"
+ glib:type-name="GESAsset"
+ glib:get-type="ges_asset_get_type"
+ glib:type-struct="AssetClass">
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="21">A #GESAsset in the GStreamer Editing Services represents a resources
+that can be used. In particular, any class that implements the
+#GESExtractable interface may have some associated assets with a
+corresponding #GESAsset:extractable-type, from which its objects can be
+extracted using ges_asset_extract(). Some examples would be
+#GESClip, #GESFormatter and #GESTrackElement.
+
+All assets that are created within GES are stored in a cache; one per
+each #GESAsset:id and #GESAsset:extractable-type pair. These assets can
+be fetched, and initialized if they do not yet exist in the cache,
+using ges_asset_request().
+
+``` c
+GESAsset *effect_asset;
+GESEffect *effect;
+
+// You create an asset for an effect
+effect_asset = ges_asset_request (GES_TYPE_EFFECT, "agingtv", NULL);
+
+// And now you can extract an instance of GESEffect from that asset
+effect = GES_EFFECT (ges_asset_extract (effect_asset));
+
+```
+
+The advantage of using assets, rather than simply creating the object
+directly, is that the currently loaded resources can be listed with
+ges_list_assets() and displayed to an end user. For example, to show
+which media files have been loaded, and a standard list of effects. In
+fact, the GES library already creates assets for #GESTransitionClip and
+#GESFormatter, which you can use to list all the available transition
+types and supported formats.
+
+The other advantage is that #GESAsset implements #GESMetaContainer, so
+metadata can be set on the asset, with some subclasses automatically
+creating this metadata on initiation.
+
+For example, to display information about the supported formats, you
+could do the following:
+|[
+ GList *formatter_assets, *tmp;
+
+ // List all the transitions
+ formatter_assets = ges_list_assets (GES_TYPE_FORMATTER);
+
+ // Print some infos about the formatter GESAsset
+ for (tmp = formatter_assets; tmp; tmp = tmp-&gt;next) {
+ g_print ("Name of the formatter: %s, file extension it produces: %s",
+ ges_meta_container_get_string (
+ GES_META_CONTAINER (tmp-&gt;data), GES_META_FORMATTER_NAME),
+ ges_meta_container_get_string (
+ GES_META_CONTAINER (tmp-&gt;data), GES_META_FORMATTER_EXTENSION));
+ }
+
+ g_list_free (transition_assets);
+
+]|
+
+## ID
+
+Each asset is uniquely defined in the cache by its
+#GESAsset:extractable-type and #GESAsset:id. Depending on the
+#GESAsset:extractable-type, the #GESAsset:id can be used to parametrise
+the creation of the object upon extraction. By default, a class that
+implements #GESExtractable will only have a single associated asset,
+with an #GESAsset:id set to the type name of its objects. However, this
+is overwritten by some implementations, which allow a class to have
+multiple associated assets. For example, for #GESTransitionClip the
+#GESAsset:id will be a nickname of the #GESTransitionClip:vtype. You
+should check the documentation for each extractable type to see if they
+differ from the default.
+
+Moreover, each #GESAsset:extractable-type may also associate itself
+with a specific asset subclass. In such cases, when their asset is
+requested, an asset of this subclass will be returned instead.
+
+## Managing
+
+You can use a #GESProject to easily manage the assets of a
+#GESTimeline.
+
+## Proxies
+
+Some assets can (temporarily) act as the #GESAsset:proxy of another
+asset. When the original asset is requested from the cache, the proxy
+will be returned in its place. This can be useful if, say, you want
+to substitute a #GESUriClipAsset corresponding to a high resolution
+media file with the asset of a lower resolution stand in.
+
+An asset may even have several proxies, the first of which will act as
+its default and be returned on requests, but the others will be ordered
+to take its place once it is removed. You can add a proxy to an asset,
+or set its default, using ges_asset_set_proxy(), and you can remove
+them with ges_asset_unproxy().</doc>
+ <source-position filename="ges/ges-asset.h" line="104"/>
+ <implements name="MetaContainer"/>
+ <implements name="Gio.AsyncInitable"/>
+ <implements name="Gio.Initable"/>
+ <function name="needs_reload" c:identifier="ges_asset_needs_reload">
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="1480">Indicate that an existing #GESAsset in the cache should be reloaded
+upon the next request. This can be used when some condition has
+changed, which may require that an existing asset should be updated.
+For example, if an external resource has changed or now become
+available.
+
+Note, the asset is not immediately changed, but will only actually
+reload on the next call to ges_asset_request() or
+ges_asset_request_async().</doc>
+ <source-position filename="ges/ges-asset.h" line="143"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="1497">%TRUE if the specified asset exists in the cache and could be
+marked for reloading.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="extractable_type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="1482">The #GESAsset:extractable-type of the asset that
+needs reloading</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ <parameter name="id"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="1484">The #GESAsset:id of the asset asset that needs
+reloading</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="request" c:identifier="ges_asset_request" throws="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="1196">Returns an asset with the given properties. If such an asset already
+exists in the cache (it has been previously created in GES), then a
+reference to the existing asset is returned. Otherwise, a newly created
+asset is returned, and also added to the cache.
+
+If the requested asset has been loaded with an error, then @error is
+set, if given, and %NULL will be returned instead.
+
+Note that the given @id may not be exactly the #GESAsset:id that is
+set on the returned asset. For instance, it may be adjusted into a
+standard format. Or, if a #GESExtractable type does not have its
+extraction parametrised, as is the case by default, then the given @id
+may be ignored entirely and the #GESAsset:id set to some standard, in
+which case a %NULL @id can be given.
+
+Similarly, the given @extractable_type may not be exactly the
+#GESAsset:extractable-type that is set on the returned asset. Instead,
+the actual extractable type may correspond to a subclass of the given
+@extractable_type, depending on the given @id.
+
+Moreover, depending on the given @extractable_type, the returned asset
+may belong to a subclass of #GESAsset.
+
+Finally, if the requested asset has a #GESAsset:proxy, then the proxy
+that is found at the end of the chain of proxies is returned (a proxy's
+proxy will take its place, and so on, unless it has no proxy).
+
+Some asset subclasses only support asynchronous construction of its
+assets, such as #GESUriClip. For such assets this method will fail, and
+you should use ges_asset_request_async() instead. In the case of
+#GESUriClip, you can use ges_uri_clip_asset_request_sync() if you only
+want to wait for the request to finish.</doc>
+ <source-position filename="ges/ges-asset.h" line="115"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="1236">A reference to the requested
+asset, or %NULL if an error occurred.</doc>
+ <type name="Asset" c:type="GESAsset*"/>
+ </return-value>
+ <parameters>
+ <parameter name="extractable_type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="1198">The #GESAsset:extractable-type of the asset</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ <parameter name="id"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="1199">The #GESAsset:id of the asset</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="request_async" c:identifier="ges_asset_request_async">
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="1336">Requests an asset with the given properties asynchronously (see
+ges_asset_request()). When the asset has been initialized or fetched
+from the cache, the given callback function will be called. The
+asset can then be retrieved in the callback using the
+ges_asset_request_finish() method on the given #GAsyncResult.
+
+Note that the source object passed to the callback will be the
+#GESAsset corresponding to the request, but it may not have loaded
+correctly and therefore can not be used as is. Instead,
+ges_asset_request_finish() should be used to fetch a usable asset, or
+indicate that an error occurred in the asset's creation.
+
+Note that the callback will be called in the #GMainLoop running under
+the same #GMainContext that ges_init() was called in. So, if you wish
+the callback to be invoked outside the default #GMainContext, you can
+call g_main_context_push_thread_default() in a new thread before
+calling ges_init().
+
+Example of an asynchronous asset request:
+``` c
+// The request callback
+static void
+asset_loaded_cb (GESAsset * source, GAsyncResult * res, gpointer user_data)
+{
+ GESAsset *asset;
+ GError *error = NULL;
+
+ asset = ges_asset_request_finish (res, &amp;error);
+ if (asset) {
+ g_print ("The file: %s is usable as a GESUriClip",
+ ges_asset_get_id (asset));
+ } else {
+ g_print ("The file: %s is *not* usable as a GESUriClip because: %s",
+ ges_asset_get_id (source), error-&gt;message);
+ }
+
+ gst_object_unref (asset);
+}
+
+// The request:
+ges_asset_request_async (GES_TYPE_URI_CLIP, some_uri, NULL,
+ (GAsyncReadyCallback) asset_loaded_cb, user_data);
+```</doc>
+ <source-position filename="ges/ges-asset.h" line="109"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="extractable_type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="1338">The #GESAsset:extractable-type of the asset</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ <parameter name="id"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="1339">The #GESAsset:id of the asset</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="cancellable"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="1340">An object to allow cancellation of the
+asset request, or %NULL to ignore</doc>
+ <type name="Gio.Cancellable" c:type="GCancellable*"/>
+ </parameter>
+ <parameter name="callback"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1"
+ scope="async"
+ closure="4">
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="1342">A function to call when the initialization is finished</doc>
+ <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="1343">Data to be passed to @callback</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="request_finish"
+ c:identifier="ges_asset_request_finish"
+ throws="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="1585">Fetches an asset requested by ges_asset_request_async(), which
+finalises the request.</doc>
+ <source-position filename="ges/ges-asset.h" line="121"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="1594">The requested asset, or %NULL if an error
+occurred.</doc>
+ <type name="Asset" c:type="GESAsset*"/>
+ </return-value>
+ <parameters>
+ <parameter name="res" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="1587">The task result to fetch the asset from</doc>
+ <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <virtual-method name="extract" invoker="extract" throws="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="1551">Extracts a new #GESAsset:extractable-type object from the asset. The
+#GESAsset:id of the asset may determine the properties and state of the
+newly created object.</doc>
+ <source-position filename="ges/ges-asset.h" line="88"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="1561">A newly created object, or %NULL if an
+error occurred.</doc>
+ <type name="Extractable" c:type="GESExtractable*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="1553">The #GESAsset to extract an object from</doc>
+ <type name="Asset" c:type="GESAsset*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="inform_proxy">
+ <source-position filename="ges/ges-asset.h" line="91"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <type name="Asset" c:type="GESAsset*"/>
+ </instance-parameter>
+ <parameter name="proxy_id" transfer-ownership="none">
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="proxied">
+ <source-position filename="ges/ges-asset.h" line="94"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <type name="Asset" c:type="GESAsset*"/>
+ </instance-parameter>
+ <parameter name="proxy" transfer-ownership="none">
+ <type name="Asset" c:type="GESAsset*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="request_id_update">
+ <source-position filename="ges/ges-asset.h" line="100"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <type name="Asset" c:type="GESAsset*"/>
+ </instance-parameter>
+ <parameter name="proposed_new_id" transfer-ownership="none">
+ <type name="utf8" c:type="gchar**"/>
+ </parameter>
+ <parameter name="error" transfer-ownership="none">
+ <type name="GLib.Error" c:type="GError*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="start_loading" throws="1">
+ <source-position filename="ges/ges-asset.h" line="86"/>
+ <return-value transfer-ownership="none">
+ <type name="AssetLoadingReturn" c:type="GESAssetLoadingReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <type name="Asset" c:type="GESAsset*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <method name="extract" c:identifier="ges_asset_extract" throws="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="1551">Extracts a new #GESAsset:extractable-type object from the asset. The
+#GESAsset:id of the asset may determine the properties and state of the
+newly created object.</doc>
+ <source-position filename="ges/ges-asset.h" line="126"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="1561">A newly created object, or %NULL if an
+error occurred.</doc>
+ <type name="Extractable" c:type="GESExtractable*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="1553">The #GESAsset to extract an object from</doc>
+ <type name="Asset" c:type="GESAsset*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_error"
+ c:identifier="ges_asset_get_error"
+ version="1.8">
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="1661">Retrieve the error that was set on the asset when it was loaded.</doc>
+ <source-position filename="ges/ges-asset.h" line="124"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="1667">The error set on @asset, or
+%NULL if no error occurred when @asset was loaded.</doc>
+ <type name="GLib.Error" c:type="GError*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="1663">A #GESAsset</doc>
+ <type name="Asset" c:type="GESAsset*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_extractable_type"
+ c:identifier="ges_asset_get_extractable_type">
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="1180">Gets the #GESAsset:extractable-type of the asset.</doc>
+ <source-position filename="ges/ges-asset.h" line="107"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="1186">The extractable type of @self.</doc>
+ <type name="GType" c:type="GType"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="1182">The #GESAsset</doc>
+ <type name="Asset" c:type="GESAsset*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_id" c:identifier="ges_asset_get_id">
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="1535">Gets the #GESAsset:id of the asset.</doc>
+ <source-position filename="ges/ges-asset.h" line="119"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="1541">The ID of @self.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="1537">A #GESAsset</doc>
+ <type name="Asset" c:type="GESAsset*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_proxy" c:identifier="ges_asset_get_proxy">
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="1068">Gets the default #GESAsset:proxy of the asset.</doc>
+ <source-position filename="ges/ges-asset.h" line="141"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="1074">The default proxy of @asset.</doc>
+ <type name="Asset" c:type="GESAsset*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="asset" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="1070">A #GESAsset</doc>
+ <type name="Asset" c:type="GESAsset*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_proxy_target"
+ c:identifier="ges_asset_get_proxy_target">
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="1088">Gets the #GESAsset:proxy-target of the asset.
+
+Note that the proxy target may have loaded with an error, so you should
+call ges_asset_get_error() on the returned target.</doc>
+ <source-position filename="ges/ges-asset.h" line="139"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="1097">The asset that @proxy is a proxy
+of.</doc>
+ <type name="Asset" c:type="GESAsset*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="proxy" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="1090">A #GESAsset</doc>
+ <type name="Asset" c:type="GESAsset*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="list_proxies" c:identifier="ges_asset_list_proxies">
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="1049">Get all the proxies that the asset has. The first item of the list will
+be the default #GESAsset:proxy. The second will be the proxy that is
+'next in line' to be default, and so on.</doc>
+ <source-position filename="ges/ges-asset.h" line="137"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="1057">The list of proxies
+that @asset has.</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="Asset"/>
+ </type>
+ </return-value>
+ <parameters>
+ <instance-parameter name="asset" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="1051">A #GESAsset</doc>
+ <type name="Asset" c:type="GESAsset*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="set_proxy" c:identifier="ges_asset_set_proxy">
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="898">Sets the #GESAsset:proxy for the asset.
+
+If @proxy is among the existing proxies of the asset (see
+ges_asset_list_proxies()) it will be moved to become the default
+proxy. Otherwise, if @proxy is not %NULL, it will be added to the list
+of proxies, as the new default. The previous default proxy will become
+'next in line' for if the new one is removed, and so on. As such, this
+will **not** actually remove the previous default proxy (use
+ges_asset_unproxy() for that).
+
+Note that an asset can only act as a proxy for one other asset.
+
+As a special case, if @proxy is %NULL, then this method will actually
+remove **all** proxies from the asset.</doc>
+ <source-position filename="ges/ges-asset.h" line="133"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="918">%TRUE if @proxy was successfully set as the default for
+@asset.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="asset" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="900">The #GESAsset to proxy</doc>
+ <type name="Asset" c:type="GESAsset*"/>
+ </instance-parameter>
+ <parameter name="proxy"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="901">A new default proxy for @asset</doc>
+ <type name="Asset" c:type="GESAsset*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="unproxy" c:identifier="ges_asset_unproxy">
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="996">Removes the proxy from the available list of proxies for the asset. If
+the given proxy is the default proxy of the list, then the next proxy
+in the available list (see ges_asset_list_proxies()) will become the
+default. If there are no other proxies, then the asset will no longer
+have a default #GESAsset:proxy.</doc>
+ <source-position filename="ges/ges-asset.h" line="135"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="1007">%TRUE if @proxy was successfully removed from @asset's proxy
+list.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="asset" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="998">The #GESAsset to no longer proxy with @proxy</doc>
+ <type name="Asset" c:type="GESAsset*"/>
+ </instance-parameter>
+ <parameter name="proxy" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="999">An existing proxy of @asset</doc>
+ <type name="Asset" c:type="GESAsset*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="extractable-type"
+ writable="1"
+ construct-only="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="480">The #GESExtractable object type that can be extracted from the asset.</doc>
+ <type name="GType" c:type="GType"/>
+ </property>
+ <property name="id"
+ writable="1"
+ construct-only="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="490">The ID of the asset. This should be unique amongst all assets with
+the same #GESAsset:extractable-type. Depending on the associated
+#GESExtractable implementation, this id may convey some information
+about the #GObject that should be extracted. Note that, as such, the
+ID will have an expected format, and you can not choose this value
+arbitrarily. By default, this will be set to the type name of the
+#GESAsset:extractable-type, but you should check the documentation
+of the extractable type to see whether they differ from the
+default behaviour.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </property>
+ <property name="proxy" writable="1" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="508">The default proxy for this asset, or %NULL if it has no proxy. A
+proxy will act as a substitute for the original asset when the
+original is requested (see ges_asset_request()).
+
+Setting this property will not usually remove the existing proxy, but
+will replace it as the default (see ges_asset_set_proxy()).</doc>
+ <type name="Asset"/>
+ </property>
+ <property name="proxy-target" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="522">The asset that this asset is a proxy for, or %NULL if it is not a
+proxy for another asset.
+
+Note that even if this asset is acting as a proxy for another asset,
+but this asset is not the default #GESAsset:proxy, then @proxy-target
+will *still* point to this other asset. So you should check the
+#GESAsset:proxy property of @target-proxy before assuming it is the
+current default proxy for the target.
+
+Note that the #GObject::notify for this property is emitted after
+the #GESAsset:proxy #GObject::notify for the corresponding (if any)
+asset it is now the proxy of/no longer the proxy of.</doc>
+ <type name="Asset"/>
+ </property>
+ <field name="parent">
+ <type name="GObject.Object" c:type="GObject"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="AssetPrivate" c:type="GESAssetPrivate*"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="AssetClass"
+ c:type="GESAssetClass"
+ glib:is-gtype-struct-for="Asset">
+ <source-position filename="ges/ges-asset.h" line="104"/>
+ <field name="parent">
+ <type name="GObject.ObjectClass" c:type="GObjectClass"/>
+ </field>
+ <field name="start_loading">
+ <callback name="start_loading" throws="1">
+ <source-position filename="ges/ges-asset.h" line="86"/>
+ <return-value transfer-ownership="none">
+ <type name="AssetLoadingReturn" c:type="GESAssetLoadingReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <type name="Asset" c:type="GESAsset*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="extract">
+ <callback name="extract" throws="1">
+ <source-position filename="ges/ges-asset.h" line="88"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="1561">A newly created object, or %NULL if an
+error occurred.</doc>
+ <type name="Extractable" c:type="GESExtractable*"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="1553">The #GESAsset to extract an object from</doc>
+ <type name="Asset" c:type="GESAsset*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="inform_proxy">
+ <callback name="inform_proxy">
+ <source-position filename="ges/ges-asset.h" line="91"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <type name="Asset" c:type="GESAsset*"/>
+ </parameter>
+ <parameter name="proxy_id" transfer-ownership="none">
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="proxied">
+ <callback name="proxied">
+ <source-position filename="ges/ges-asset.h" line="94"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <type name="Asset" c:type="GESAsset*"/>
+ </parameter>
+ <parameter name="proxy" transfer-ownership="none">
+ <type name="Asset" c:type="GESAsset*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="request_id_update">
+ <callback name="request_id_update">
+ <source-position filename="ges/ges-asset.h" line="100"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <type name="Asset" c:type="GESAsset*"/>
+ </parameter>
+ <parameter name="proposed_new_id" transfer-ownership="none">
+ <type name="utf8" c:type="gchar**"/>
+ </parameter>
+ <parameter name="error" transfer-ownership="none">
+ <type name="GLib.Error" c:type="GError*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_ges_reserved">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <enumeration name="AssetLoadingReturn" c:type="GESAssetLoadingReturn">
+ <source-position filename="ges/ges-asset.h" line="48"/>
+ <member name="error" value="0" c:identifier="GES_ASSET_LOADING_ERROR">
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.h"
+ line="37">Indicates that an error occurred</doc>
+ </member>
+ <member name="async" value="1" c:identifier="GES_ASSET_LOADING_ASYNC">
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.h"
+ line="38">Indicates that the loading is being performed
+asynchronously</doc>
+ </member>
+ <member name="ok" value="2" c:identifier="GES_ASSET_LOADING_OK">
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.h"
+ line="40">Indicates that the loading is complete, without
+error</doc>
+ </member>
+ </enumeration>
+ <record name="AssetPrivate" c:type="GESAssetPrivate" disguised="1">
+ <source-position filename="ges/ges-asset.h" line="33"/>
+ </record>
+ <class name="AudioSource"
+ c:symbol-prefix="audio_source"
+ c:type="GESAudioSource"
+ parent="Source"
+ abstract="1"
+ glib:type-name="GESAudioSource"
+ glib:get-type="ges_audio_source_get_type"
+ glib:type-struct="AudioSourceClass">
+ <doc xml:space="preserve"
+ filename="ges/ges-audio-source.c"
+ line="21">## Children Properties
+
+You can use the following children properties through the
+#ges_track_element_set_child_property and alike set of methods:
+
+- #gdouble `volume`: volume factor, 1.0=100%.
+- #gboolean `mute`: mute channel.</doc>
+ <source-position filename="ges/ges-audio-source.h" line="67"/>
+ <implements name="Extractable"/>
+ <implements name="MetaContainer"/>
+ <field name="parent" readable="0" private="1">
+ <type name="Source" c:type="GESSource"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="AudioSourcePrivate" c:type="GESAudioSourcePrivate*"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="AudioSourceClass"
+ c:type="GESAudioSourceClass"
+ glib:is-gtype-struct-for="AudioSource">
+ <source-position filename="ges/ges-audio-source.h" line="67"/>
+ <field name="parent_class" readable="0" private="1">
+ <type name="SourceClass" c:type="GESSourceClass"/>
+ </field>
+ <field name="create_source" introspectable="0">
+ <callback name="create_source" introspectable="0">
+ <source-position filename="ges/ges-audio-source.h" line="62"/>
+ <return-value>
+ <type name="Gst.Element" c:type="GstElement*"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="AudioSourcePrivate"
+ c:type="GESAudioSourcePrivate"
+ disguised="1">
+ <source-position filename="ges/ges-audio-source.h" line="32"/>
+ </record>
+ <class name="AudioTestSource"
+ c:symbol-prefix="audio_test_source"
+ c:type="GESAudioTestSource"
+ parent="AudioSource"
+ glib:type-name="GESAudioTestSource"
+ glib:get-type="ges_audio_test_source_get_type"
+ glib:type-struct="AudioTestSourceClass">
+ <doc xml:space="preserve"
+ filename="ges/ges-audio-test-source.c"
+ line="21">Outputs a test audio stream using audiotestsrc. The default property values
+output silence. Useful for testing pipelines, or to fill gaps in an audio
+track.</doc>
+ <source-position filename="ges/ges-audio-test-source.h" line="56"/>
+ <implements name="Extractable"/>
+ <implements name="MetaContainer"/>
+ <method name="get_freq" c:identifier="ges_audio_test_source_get_freq">
+ <doc xml:space="preserve"
+ filename="ges/ges-audio-test-source.c"
+ line="167">Get the current frequency of @self.</doc>
+ <source-position filename="ges/ges-audio-test-source.h" line="67"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-audio-test-source.c"
+ line="173">The current frequency of @self.</doc>
+ <type name="gdouble" c:type="double"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-audio-test-source.c"
+ line="169">a #GESAudioTestSource</doc>
+ <type name="AudioTestSource" c:type="GESAudioTestSource*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_volume"
+ c:identifier="ges_audio_test_source_get_volume">
+ <doc xml:space="preserve"
+ filename="ges/ges-audio-test-source.c"
+ line="184">Get the current volume of @self.</doc>
+ <source-position filename="ges/ges-audio-test-source.h" line="69"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-audio-test-source.c"
+ line="190">The current volume of @self</doc>
+ <type name="gdouble" c:type="double"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-audio-test-source.c"
+ line="186">a #GESAudioTestSource</doc>
+ <type name="AudioTestSource" c:type="GESAudioTestSource*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="set_freq" c:identifier="ges_audio_test_source_set_freq">
+ <doc xml:space="preserve"
+ filename="ges/ges-audio-test-source.c"
+ line="119">Lets you set the frequency applied on the track element</doc>
+ <source-position filename="ges/ges-audio-test-source.h" line="59"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-audio-test-source.c"
+ line="121">a #GESAudioTestSource</doc>
+ <type name="AudioTestSource" c:type="GESAudioTestSource*"/>
+ </instance-parameter>
+ <parameter name="freq" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-audio-test-source.c"
+ line="122">The frequency you want to apply on @self</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_volume"
+ c:identifier="ges_audio_test_source_set_volume">
+ <doc xml:space="preserve"
+ filename="ges/ges-audio-test-source.c"
+ line="143">Sets the volume of the test audio signal.</doc>
+ <source-position filename="ges/ges-audio-test-source.h" line="63"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-audio-test-source.c"
+ line="145">a #GESAudioTestSource</doc>
+ <type name="AudioTestSource" c:type="GESAudioTestSource*"/>
+ </instance-parameter>
+ <parameter name="volume" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-audio-test-source.c"
+ line="146">The volume you want to apply on @self</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </parameter>
+ </parameters>
+ </method>
+ <field name="parent">
+ <type name="AudioSource" c:type="GESAudioSource"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="AudioTestSourcePrivate"
+ c:type="GESAudioTestSourcePrivate*"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="AudioTestSourceClass"
+ c:type="GESAudioTestSourceClass"
+ glib:is-gtype-struct-for="AudioTestSource">
+ <source-position filename="ges/ges-audio-test-source.h" line="56"/>
+ <field name="parent_class" readable="0" private="1">
+ <type name="AudioSourceClass" c:type="GESAudioSourceClass"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="AudioTestSourcePrivate"
+ c:type="GESAudioTestSourcePrivate"
+ disguised="1">
+ <source-position filename="ges/ges-audio-test-source.h" line="30"/>
+ </record>
+ <class name="AudioTrack"
+ c:symbol-prefix="audio_track"
+ c:type="GESAudioTrack"
+ parent="Track"
+ glib:type-name="GESAudioTrack"
+ glib:get-type="ges_audio_track_get_type"
+ glib:type-struct="AudioTrackClass">
+ <doc xml:space="preserve"
+ filename="ges/ges-audio-track.c"
+ line="20">A #GESAudioTrack is a default audio #GESTrack, with a
+#GES_TRACK_TYPE_AUDIO #GESTrack:track-type and "audio/x-raw(ANY)"
+#GESTrack:caps.
+
+By default, an audio track will have its #GESTrack:restriction-caps
+set to "audio/x-raw" with the following properties:
+
+- format: "S32LE"
+- channels: 2
+- rate: 44100
+- layout: "interleaved"
+
+These fields are needed for negotiation purposes, but you can change
+their values if you wish. It is advised that you do so using
+ges_track_update_restriction_caps() with new values for the fields you
+wish to change, and any additional fields you may want to add. Unlike
+using ges_track_set_restriction_caps(), this will ensure that these
+default fields will at least have some value set.</doc>
+ <source-position filename="ges/ges-audio-track.h" line="39"/>
+ <implements name="MetaContainer"/>
+ <implements name="Gst.ChildProxy"/>
+ <constructor name="new" c:identifier="ges_audio_track_new">
+ <doc xml:space="preserve"
+ filename="ges/ges-audio-track.c"
+ line="117">Creates a new audio track, with a #GES_TRACK_TYPE_AUDIO
+#GESTrack:track-type, "audio/x-raw(ANY)" #GESTrack:caps, and
+"audio/x-raw" #GESTrack:restriction-caps with the properties:
+
+- format: "S32LE"
+- channels: 2
+- rate: 44100
+- layout: "interleaved"
+
+You should use ges_track_update_restriction_caps() if you wish to
+modify these fields, or add additional ones.</doc>
+ <source-position filename="ges/ges-audio-track.h" line="52"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-audio-track.c"
+ line="132">The newly created audio track.</doc>
+ <type name="AudioTrack" c:type="GESAudioTrack*"/>
+ </return-value>
+ </constructor>
+ <field name="parent_instance">
+ <type name="Track" c:type="GESTrack"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="AudioTrackPrivate" c:type="GESAudioTrackPrivate*"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="AudioTrackClass"
+ c:type="GESAudioTrackClass"
+ glib:is-gtype-struct-for="AudioTrack">
+ <source-position filename="ges/ges-audio-track.h" line="39"/>
+ <field name="parent_class">
+ <type name="TrackClass" c:type="GESTrackClass"/>
+ </field>
+ <field name="_ges_reserved">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="AudioTrackPrivate"
+ c:type="GESAudioTrackPrivate"
+ disguised="1">
+ <source-position filename="ges/ges-audio-track.h" line="30"/>
+ </record>
+ <class name="AudioTransition"
+ c:symbol-prefix="audio_transition"
+ c:type="GESAudioTransition"
+ parent="Transition"
+ glib:type-name="GESAudioTransition"
+ glib:get-type="ges_audio_transition_get_type"
+ glib:type-struct="AudioTransitionClass">
+ <source-position filename="ges/ges-audio-transition.h" line="52"/>
+ <implements name="Extractable"/>
+ <implements name="MetaContainer"/>
+ <constructor name="new"
+ c:identifier="ges_audio_transition_new"
+ deprecated="1"
+ deprecated-version="1.18">
+ <doc xml:space="preserve"
+ filename="ges/ges-audio-transition.c"
+ line="287">Creates a new #GESAudioTransition.</doc>
+ <doc-deprecated xml:space="preserve">This should never be called by applications as this will
+be created by clips.</doc-deprecated>
+ <source-position filename="ges/ges-audio-transition.h" line="55"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-audio-transition.c"
+ line="292">The newly created #GESAudioTransition.</doc>
+ <type name="AudioTransition" c:type="GESAudioTransition*"/>
+ </return-value>
+ </constructor>
+ <field name="parent">
+ <type name="Transition" c:type="GESTransition"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="AudioTransitionPrivate"
+ c:type="GESAudioTransitionPrivate*"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="AudioTransitionClass"
+ c:type="GESAudioTransitionClass"
+ glib:is-gtype-struct-for="AudioTransition">
+ <source-position filename="ges/ges-audio-transition.h" line="52"/>
+ <field name="parent_class">
+ <type name="TransitionClass" c:type="GESTransitionClass"/>
+ </field>
+ <field name="_ges_reserved">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="AudioTransitionPrivate"
+ c:type="GESAudioTransitionPrivate"
+ disguised="1">
+ <source-position filename="ges/ges-audio-transition.h" line="30"/>
+ </record>
+ <class name="AudioUriSource"
+ c:symbol-prefix="audio_uri_source"
+ c:type="GESAudioUriSource"
+ parent="AudioSource"
+ glib:type-name="GESAudioUriSource"
+ glib:get-type="ges_audio_uri_source_get_type"
+ glib:type-struct="AudioUriSourceClass">
+ <doc xml:space="preserve"
+ filename="ges/ges-audio-uri-source.h"
+ line="32">### Children Properties
+
+ {{ libs/GESVideoUriSource-children-props.md }}</doc>
+ <source-position filename="ges/ges-audio-uri-source.h" line="57"/>
+ <implements name="Extractable"/>
+ <implements name="MetaContainer"/>
+ <property name="uri"
+ writable="1"
+ construct-only="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-audio-uri-source.c"
+ line="183">The location of the file/resource to use.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </property>
+ <field name="parent" readable="0" private="1">
+ <type name="AudioSource" c:type="GESAudioSource"/>
+ </field>
+ <field name="uri" readable="0" private="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="AudioUriSourcePrivate" c:type="GESAudioUriSourcePrivate*"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="AudioUriSourceClass"
+ c:type="GESAudioUriSourceClass"
+ glib:is-gtype-struct-for="AudioUriSource">
+ <source-position filename="ges/ges-audio-uri-source.h" line="57"/>
+ <field name="parent_class" readable="0" private="1">
+ <type name="AudioSourceClass" c:type="GESAudioSourceClass"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="AudioUriSourcePrivate"
+ c:type="GESAudioUriSourcePrivate"
+ disguised="1">
+ <source-position filename="ges/ges-audio-uri-source.h" line="30"/>
+ </record>
+ <class name="BaseEffect"
+ c:symbol-prefix="base_effect"
+ c:type="GESBaseEffect"
+ parent="Operation"
+ abstract="1"
+ glib:type-name="GESBaseEffect"
+ glib:get-type="ges_base_effect_get_type"
+ glib:type-struct="BaseEffectClass">
+ <doc xml:space="preserve"
+ filename="ges/ges-base-effect.c"
+ line="20">A #GESBaseEffect is some operation that applies an effect to the data
+it receives.
+
+## Time Effects
+
+Some operations will change the timing of the stream data they receive
+in some way. In particular, the #GstElement that they wrap could alter
+the times of the segment they receive in a #GST_EVENT_SEGMENT event,
+or the times of a seek they receive in a #GST_EVENT_SEEK event. Such
+operations would be considered time effects since they translate the
+times they receive on their source to different times at their sink,
+and vis versa. This introduces two sets of time coordinates for the
+event: (internal) sink coordinates and (internal) source coordinates,
+where segment times are translated from the sink coordinates to the
+source coordinates, and seek times are translated from the source
+coordinates to the sink coordinates.
+
+If you use such an effect in GES, you will need to inform GES of the
+properties that control the timing with
+ges_base_effect_register_time_property(), and the effect's timing
+behaviour using ges_base_effect_set_time_translation_funcs().
+
+Note that a time effect should not have its
+#GESTrackElement:has-internal-source set to %TRUE.
+
+In addition, note that GES only *fully* supports time effects whose
+mapping from the source to sink coordinates (those applied to seeks)
+obeys:
+
++ Maps the time `0` to `0`. So initial time-shifting effects are
+ excluded.
++ Is monotonically increasing. So reversing effects, and effects that
+ jump backwards in the stream are excluded.
++ Can handle a reasonable #GstClockTime, relative to the project. So
+ this would exclude a time effect with an extremely large speed-up
+ that would cause the converted #GstClockTime seeks to overflow.
++ Is 'continuously reversible'. This essentially means that for every
+ time in the sink coordinates, we can, to 'good enough' accuracy,
+ calculate the corresponding time in the source coordinates. Moreover,
+ this should correspond to how segment times are translated from
+ sink to source.
++ Only depends on the registered time properties, rather than the
+ state of the #GstElement or the data it receives. This would exclude,
+ say, an effect that would speedup if there is more red in the image
+ it receives.
+
+Note that a constant-rate-change effect that is not extremely fast or
+slow would satisfy these conditions. For such effects, you may wish to
+use ges_effect_class_register_rate_property().</doc>
+ <source-position filename="ges/ges-base-effect.h" line="57"/>
+ <implements name="Extractable"/>
+ <implements name="MetaContainer"/>
+ <method name="is_time_effect"
+ c:identifier="ges_base_effect_is_time_effect"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="ges/ges-base-effect.c"
+ line="327">Get whether the effect is considered a time effect or not. An effect
+with registered time properties or set translation functions is
+considered a time effect.</doc>
+ <source-position filename="ges/ges-base-effect.h" line="92"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-base-effect.c"
+ line="335">%TRUE if @effect is considered a time effect.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="effect" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-base-effect.c"
+ line="329">A #GESBaseEffect</doc>
+ <type name="BaseEffect" c:type="GESBaseEffect*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="register_time_property"
+ c:identifier="ges_base_effect_register_time_property"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="ges/ges-base-effect.c"
+ line="187">Register a child property of the effect as a property that, when set,
+can change the timing of its input data. The child property should be
+specified as in ges_timeline_element_lookup_child().
+
+You should also set the corresponding time translation using
+ges_base_effect_set_time_translation_funcs().
+
+Note that @effect must not be part of a clip, nor can it have
+#GESTrackElement:has-internal-source set to %TRUE.</doc>
+ <source-position filename="ges/ges-base-effect.h" line="83"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-base-effect.c"
+ line="203">%TRUE if the child property was found and newly registered.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="effect" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-base-effect.c"
+ line="189">A #GESBaseEffect</doc>
+ <type name="BaseEffect" c:type="GESBaseEffect*"/>
+ </instance-parameter>
+ <parameter name="child_property_name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-base-effect.c"
+ line="190">The name of the child property to register as
+a time property</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_time_translation_funcs"
+ c:identifier="ges_base_effect_set_time_translation_funcs"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="ges/ges-base-effect.c"
+ line="257">Set the time translation query functions for the time effect. If an
+effect is a time effect, it will have two sets of coordinates: one
+at its sink and one at its source. The given functions should be able
+to translate between these two sets of coordinates. More specifically,
+@source_to_sink_func should *emulate* how the corresponding #GstElement
+would translate the #GstSegment @time field, and @sink_to_source_func
+should emulate how the corresponding #GstElement would translate the
+seek query @start and @stop values, as used in gst_element_seek(). As
+such, @sink_to_source_func should act as an approximate reverse of
+@source_to_sink_func.
+
+Note, these functions will be passed a table of time properties, as
+registered in ges_base_effect_register_time_property(), and their
+values. The functions should emulate what the translation *would* be
+*if* the time properties were set to the given values. They should not
+use the currently set values.
+
+Note that @effect must not be part of a clip, nor can it have
+#GESTrackElement:has-internal-source set to %TRUE.</doc>
+ <source-position filename="ges/ges-base-effect.h" line="86"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-base-effect.c"
+ line="291">%TRUE if the translation functions were set.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="effect" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-base-effect.c"
+ line="259">A #GESBaseEffect</doc>
+ <type name="BaseEffect" c:type="GESBaseEffect*"/>
+ </instance-parameter>
+ <parameter name="source_to_sink_func"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1"
+ scope="notified">
+ <doc xml:space="preserve"
+ filename="ges/ges-base-effect.c"
+ line="260">The function to use
+for querying how a time is translated from the source coordinates to
+the sink coordinates of @effect</doc>
+ <type name="BaseEffectTimeTranslationFunc"
+ c:type="GESBaseEffectTimeTranslationFunc"/>
+ </parameter>
+ <parameter name="sink_to_source_func"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1"
+ scope="notified"
+ closure="2"
+ destroy="3">
+ <doc xml:space="preserve"
+ filename="ges/ges-base-effect.c"
+ line="263">The function to use
+for querying how a time is translated from the sink coordinates to the
+source coordinates of @effect</doc>
+ <type name="BaseEffectTimeTranslationFunc"
+ c:type="GESBaseEffectTimeTranslationFunc"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1"
+ scope="notified">
+ <doc xml:space="preserve"
+ filename="ges/ges-base-effect.c"
+ line="266">Data to pass to both @source_to_sink_func and
+@sink_to_source_func</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="destroy"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1"
+ scope="async"
+ destroy="2">
+ <doc xml:space="preserve"
+ filename="ges/ges-base-effect.c"
+ line="268">Method to call to destroy
+@user_data, or %NULL</doc>
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </parameter>
+ </parameters>
+ </method>
+ <field name="parent" readable="0" private="1">
+ <type name="Operation" c:type="GESOperation"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="BaseEffectPrivate" c:type="GESBaseEffectPrivate*"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="BaseEffectClass"
+ c:type="GESBaseEffectClass"
+ glib:is-gtype-struct-for="BaseEffect">
+ <source-position filename="ges/ges-base-effect.h" line="57"/>
+ <field name="parent_class" readable="0" private="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-base-effect.h"
+ line="46">parent class</doc>
+ <type name="OperationClass" c:type="GESOperationClass"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <class name="BaseEffectClip"
+ c:symbol-prefix="base_effect_clip"
+ c:type="GESBaseEffectClip"
+ parent="OperationClip"
+ abstract="1"
+ glib:type-name="GESBaseEffectClip"
+ glib:get-type="ges_base_effect_clip_get_type"
+ glib:type-struct="BaseEffectClipClass">
+ <doc xml:space="preserve"
+ filename="ges/ges-base-effect-clip.c"
+ line="20">#GESBaseEffectClip-s are clips whose core elements are
+#GESBaseEffect-s.
+
+## Effects
+
+#GESBaseEffectClip-s can have **additional** #GESBaseEffect-s added as
+non-core elements. These additional effects are applied to the output
+of the core effects of the clip that they share a #GESTrack with. See
+#GESClip for how to add and move these effects from the clip.
+
+Note that you cannot add time effects to #GESBaseEffectClip, neither
+as core children, nor as additional effects.</doc>
+ <source-position filename="ges/ges-base-effect-clip.h" line="54"/>
+ <implements name="Extractable"/>
+ <implements name="MetaContainer"/>
+ <field name="parent" readable="0" private="1">
+ <type name="OperationClip" c:type="GESOperationClip"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="BaseEffectClipPrivate" c:type="GESBaseEffectClipPrivate*"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="BaseEffectClipClass"
+ c:type="GESBaseEffectClipClass"
+ glib:is-gtype-struct-for="BaseEffectClip">
+ <source-position filename="ges/ges-base-effect-clip.h" line="54"/>
+ <field name="parent_class" readable="0" private="1">
+ <type name="OperationClipClass" c:type="GESOperationClipClass"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="BaseEffectClipPrivate"
+ c:type="GESBaseEffectClipPrivate"
+ disguised="1">
+ <source-position filename="ges/ges-base-effect-clip.h" line="28"/>
+ </record>
+ <record name="BaseEffectPrivate"
+ c:type="GESBaseEffectPrivate"
+ disguised="1">
+ <source-position filename="ges/ges-base-effect.h" line="29"/>
+ </record>
+ <callback name="BaseEffectTimeTranslationFunc"
+ c:type="GESBaseEffectTimeTranslationFunc"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="ges/ges-base-effect.h"
+ line="59">A function for querying how an effect would translate a time if it had
+the given child property values set. The keys for @time_properties will
+be the same string that was passed to
+ges_base_effect_register_time_property(), the values will be #GValue*
+values of the corresponding child properties. You should always use the
+values given in @time_properties before using the currently set values.</doc>
+ <source-position filename="ges/ges-base-effect.h" line="77"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-base-effect.h"
+ line="74">The translated time.</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ <parameters>
+ <parameter name="effect" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-base-effect.h"
+ line="61">The #GESBaseEffect that is doing the time translation</doc>
+ <type name="BaseEffect" c:type="GESBaseEffect*"/>
+ </parameter>
+ <parameter name="time" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-base-effect.h"
+ line="62">The #GstClockTime to translation</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="time_property_values" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-base-effect.h"
+ line="63">A table of child
+property name/value pairs</doc>
+ <type name="GLib.HashTable" c:type="GHashTable*">
+ <type name="utf8"/>
+ <type name="GObject.Value"/>
+ </type>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1"
+ closure="3">
+ <doc xml:space="preserve"
+ filename="ges/ges-base-effect.h"
+ line="65">Data passed to ges_base_effect_set_time_translation_funcs()</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <class name="BaseTransitionClip"
+ c:symbol-prefix="base_transition_clip"
+ c:type="GESBaseTransitionClip"
+ parent="OperationClip"
+ abstract="1"
+ glib:type-name="GESBaseTransitionClip"
+ glib:get-type="ges_base_transition_clip_get_type"
+ glib:type-struct="BaseTransitionClipClass">
+ <source-position filename="ges/ges-base-transition-clip.h" line="58"/>
+ <implements name="Extractable"/>
+ <implements name="MetaContainer"/>
+ <field name="parent" readable="0" private="1">
+ <type name="OperationClip" c:type="GESOperationClip"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="BaseTransitionClipPrivate"
+ c:type="GESBaseTransitionClipPrivate*"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="BaseTransitionClipClass"
+ c:type="GESBaseTransitionClipClass"
+ glib:is-gtype-struct-for="BaseTransitionClip">
+ <source-position filename="ges/ges-base-transition-clip.h" line="58"/>
+ <field name="parent_class" readable="0" private="1">
+ <type name="OperationClipClass" c:type="GESOperationClipClass"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="BaseTransitionClipPrivate"
+ c:type="GESBaseTransitionClipPrivate"
+ disguised="1">
+ <source-position filename="ges/ges-base-transition-clip.h" line="31"/>
+ </record>
+ <class name="BaseXmlFormatter"
+ c:symbol-prefix="base_xml_formatter"
+ c:type="GESBaseXmlFormatter"
+ parent="Formatter"
+ abstract="1"
+ glib:type-name="GESBaseXmlFormatter"
+ glib:get-type="ges_base_xml_formatter_get_type"
+ glib:type-struct="BaseXmlFormatterClass">
+ <source-position filename="ges/ges-base-xml-formatter.h" line="60"/>
+ <implements name="Extractable"/>
+ <field name="parent">
+ <type name="Formatter" c:type="GESFormatter"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="BaseXmlFormatterPrivate"
+ c:type="GESBaseXmlFormatterPrivate*"/>
+ </field>
+ <field name="xmlcontent" readable="0" private="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="3">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="BaseXmlFormatterClass"
+ c:type="GESBaseXmlFormatterClass"
+ glib:is-gtype-struct-for="BaseXmlFormatter">
+ <source-position filename="ges/ges-base-xml-formatter.h" line="60"/>
+ <field name="parent">
+ <type name="FormatterClass" c:type="GESFormatterClass"/>
+ </field>
+ <field name="content_parser">
+ <type name="GLib.MarkupParser" c:type="GMarkupParser"/>
+ </field>
+ <field name="save">
+ <callback name="save" throws="1">
+ <source-position filename="ges/ges-base-xml-formatter.h" line="57"/>
+ <return-value transfer-ownership="full">
+ <type name="GLib.String" c:type="GString*"/>
+ </return-value>
+ <parameters>
+ <parameter name="formatter" transfer-ownership="none">
+ <type name="Formatter" c:type="GESFormatter*"/>
+ </parameter>
+ <parameter name="timeline" transfer-ownership="none">
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_ges_reserved">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="BaseXmlFormatterPrivate"
+ c:type="GESBaseXmlFormatterPrivate"
+ disguised="1">
+ <source-position filename="ges/ges-base-xml-formatter.h" line="30"/>
+ </record>
+ <function-macro name="CLIP_CLASS_CAN_ADD_EFFECTS"
+ c:identifier="GES_CLIP_CLASS_CAN_ADD_EFFECTS"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.h"
+ line="35">Whether the class allows for the user to add additional non-core
+#GESBaseEffect-s to clips from this class.</doc>
+ <source-position filename="ges/ges-clip.h" line="42"/>
+ <parameters>
+ <parameter name="klass">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.h"
+ line="37">A #GESClipClass</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="CONTAINER_CHILDREN"
+ c:identifier="GES_CONTAINER_CHILDREN"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="ges/ges-container.h"
+ line="57">The #GList containing the children of @obj.</doc>
+ <source-position filename="ges/ges-container.h" line="63"/>
+ <parameters>
+ <parameter name="obj">
+ <doc xml:space="preserve"
+ filename="ges/ges-container.h"
+ line="59">a #GESContainer</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="CONTAINER_HEIGHT"
+ c:identifier="GES_CONTAINER_HEIGHT"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="ges/ges-container.h"
+ line="49">The #GESContainer:height of @obj.</doc>
+ <source-position filename="ges/ges-container.h" line="55"/>
+ <parameters>
+ <parameter name="obj">
+ <doc xml:space="preserve"
+ filename="ges/ges-container.h"
+ line="51">a #GESContainer</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <enumeration name="ChildrenControlMode" c:type="GESChildrenControlMode">
+ <doc xml:space="preserve"
+ filename="ges/ges-container.h"
+ line="34">To be used by subclasses only. This indicate how to handle a change in
+a child.</doc>
+ <source-position filename="ges/ges-container.h" line="47"/>
+ <member name="update" value="0" c:identifier="GES_CHILDREN_UPDATE">
+ </member>
+ <member name="ignore_notifies"
+ value="1"
+ c:identifier="GES_CHILDREN_IGNORE_NOTIFIES">
+ </member>
+ <member name="update_offsets"
+ value="2"
+ c:identifier="GES_CHILDREN_UPDATE_OFFSETS">
+ </member>
+ <member name="update_all_values"
+ value="3"
+ c:identifier="GES_CHILDREN_UPDATE_ALL_VALUES">
+ </member>
+ <member name="last" value="4" c:identifier="GES_CHILDREN_LAST">
+ </member>
+ </enumeration>
+ <class name="Clip"
+ c:symbol-prefix="clip"
+ c:type="GESClip"
+ parent="Container"
+ abstract="1"
+ glib:type-name="GESClip"
+ glib:get-type="ges_clip_get_type"
+ glib:type-struct="ClipClass">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="23">#GESClip-s are the core objects of a #GESLayer. Each clip may exist in
+a single layer but may control several #GESTrackElement-s that span
+several #GESTrack-s. A clip will ensure that all its children share the
+same #GESTimelineElement:start and #GESTimelineElement:duration in
+their tracks, which will match the #GESTimelineElement:start and
+#GESTimelineElement:duration of the clip itself. Therefore, changing
+the timing of the clip will change the timing of the children, and a
+change in the timing of a child will change the timing of the clip and
+subsequently all its siblings. As such, a clip can be treated as a
+singular object in its layer.
+
+For most uses of a #GESTimeline, it is often sufficient to only
+interact with #GESClip-s directly, which will take care of creating and
+organising the elements of the timeline's tracks.
+
+## Core Children
+
+In more detail, clips will usually have some *core* #GESTrackElement
+children, which are created by the clip when it is added to a layer in
+a timeline. The type and form of these core children will depend on the
+clip's subclass. You can use ges_track_element_is_core() to determine
+whether a track element is considered such a core track element. Note,
+if a core track element is part of a clip, it will always be treated as
+a core *child* of the clip. You can connect to the
+#GESContainer::child-added signal to be notified of their creation.
+
+When a child is added to a clip, the timeline will select its tracks
+using #GESTimeline::select-tracks-for-object. Note that it may be the
+case that the child will still have no set #GESTrackElement:track
+after this process. For example, if the timeline does not have a track
+of the corresponding #GESTrack:track-type. A clip can safely contain
+such children, which may have their track set later, although they will
+play no functioning role in the timeline in the meantime.
+
+If a clip may create track elements with various
+#GESTrackElement:track-type(s), such as a #GESUriClip, but you only
+want it to create a subset of these types, you should set the
+#GESClip:supported-formats of the clip to the subset of types. This
+should be done *before* adding the clip to a layer.
+
+If a clip will produce several core elements of the same
+#GESTrackElement:track-type, you should connect to the timeline's
+#GESTimeline::select-tracks-for-object signal to coordinate which
+tracks each element should land in. Note, no two core children within a
+clip can share the same #GESTrack, so you should not select the same
+track for two separate core children. Provided you stick to this rule,
+it is still safe to select several tracks for the same core child, the
+core child will be copied into the additional tracks. You can manually
+add the child to more tracks later using ges_clip_add_child_to_track().
+If you do not wish to use a core child, you can always select no track.
+
+The #GESTimelineElement:in-point of the clip will control the
+#GESTimelineElement:in-point of its core children to be the same
+value if their #GESTrackElement:has-internal-source is set to %TRUE.
+
+The #GESTimelineElement:max-duration of the clip is the minimum
+#GESTimelineElement:max-duration of its core children. If you set its
+value to anything other than its current value, this will also set the
+#GESTimelineElement:max-duration of all its core children to the same
+value if their #GESTrackElement:has-internal-source is set to %TRUE.
+As a special case, whilst a clip does not yet have any core children,
+its #GESTimelineElement:max-duration may be set to indicate what its
+value will be once they are created.
+
+## Effects
+
+Some subclasses (#GESSourceClip and #GESBaseEffectClip) may also allow
+their objects to have additional non-core #GESBaseEffect-s elements as
+children. These are additional effects that are applied to the output
+data of the core elements. They can be added to the clip using
+ges_clip_add_top_effect(), which will take care of adding the effect to
+the timeline's tracks. The new effect will be placed between the clip's
+core track elements and its other effects. As such, the newly added
+effect will be applied to any source data **before** the other existing
+effects. You can change the ordering of effects using
+ges_clip_set_top_effect_index().
+
+Tracks are selected for top effects in the same way as core children.
+If you add a top effect to a clip before it is part of a timeline, and
+later add the clip to a timeline, the track selection for the top
+effects will occur just after the track selection for the core
+children. If you add a top effect to a clip that is already part of a
+timeline, the track selection will occur immediately. Since a top
+effect must be applied on top of a core child, if you use
+#GESTimeline::select-tracks-for-object, you should ensure that the
+added effects are destined for a #GESTrack that already contains a core
+child.
+
+In addition, if the core child in the track is not
+#GESTrackElement:active, then neither can any of its effects be
+#GESTrackElement:active. Therefore, if a core child is made in-active,
+all of the additional effects in the same track will also become
+in-active. Similarly, if an effect is set to be active, then the core
+child will also become active, but other effects will be left alone.
+Finally, if an active effect is added to the track of an in-active core
+child, it will become in-active as well. Note, in contrast, setting a
+core child to be active, or an effect to be in-active will *not* change
+the other children in the same track.
+
+### Time Effects
+
+Some effects also change the timing of their data (see #GESBaseEffect
+for what counts as a time effect). Note that a #GESBaseEffectClip will
+refuse time effects, but a #GESSource will allow them.
+
+When added to a clip, time effects may adjust the timing of other
+children in the same track. Similarly, when changing the order of
+effects, making them (in)-active, setting their time property values
+or removing time effects. These can cause the #GESClip:duration-limit
+to change in value. However, if such an operation would ever cause the
+#GESTimelineElement:duration to shrink such that a clip's #GESSource is
+totally overlapped in the timeline, the operation would be prevented.
+Note that the same can happen when adding non-time effects with a
+finite #GESTimelineElement:max-duration.
+
+Therefore, when working with time effects, you should -- more so than
+usual -- not assume that setting the properties of the clip's children
+will succeed. In particular, you should use
+ges_timeline_element_set_child_property_full() when setting the time
+properties.
+
+If you wish to preserve the *internal* duration of a source in a clip
+during these time effect operations, you can do something like the
+following.
+
+```c
+void
+do_time_effect_change (GESClip * clip)
+{
+ GList *tmp, *children;
+ GESTrackElement *source;
+ GstClockTime source_outpoint;
+ GstClockTime new_end;
+ GError *error = NULL;
+
+ // choose some active source in a track to preserve the internal
+ // duration of
+ source = ges_clip_get_track_element (clip, NULL, GES_TYPE_SOURCE);
+
+ // note its current internal end time
+ source_outpoint = ges_clip_get_internal_time_from_timeline_time (
+ clip, source, GES_TIMELINE_ELEMENT_END (clip), NULL);
+
+ // handle invalid out-point
+
+ // stop the children's control sources from clamping when their
+ // out-point changes with a change in the time effects
+ children = ges_container_get_children (GES_CONTAINER (clip), FALSE);
+
+ for (tmp = children; tmp; tmp = tmp-&gt;next)
+ ges_track_element_set_auto_clamp_control_source (tmp-&gt;data, FALSE);
+
+ // add time effect, or set their children properties, or move them around
+ ...
+ // user can make sure that if a time effect changes one source, we should
+ // also change the time effect for another source. E.g. if
+ // "GstVideorate::rate" is set to 2.0, we also set "GstPitch::rate" to
+ // 2.0
+
+ // Note the duration of the clip may have already changed if the
+ // duration-limit of the clip dropped below its current value
+
+ new_end = ges_clip_get_timeline_time_from_internal_time (
+ clip, source, source_outpoint, &amp;error);
+ // handle error
+
+ if (!ges_timeline_elemnet_edit_full (GES_TIMELINE_ELEMENT (clip),
+ -1, GES_EDIT_MODE_TRIM, GES_EDGE_END, new_end, &amp;error))
+ // handle error
+
+ for (tmp = children; tmp; tmp = tmp-&gt;next)
+ ges_track_element_set_auto_clamp_control_source (tmp-&gt;data, TRUE);
+
+ g_list_free_full (children, gst_object_unref);
+ gst_object_unref (source);
+}
+```</doc>
+ <source-position filename="ges/ges-clip.h" line="140"/>
+ <implements name="Extractable"/>
+ <implements name="MetaContainer"/>
+ <virtual-method name="create_track_element">
+ <source-position filename="ges/ges-clip.h" line="78"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.h"
+ line="74">The #GESTrackElement created
+by @clip, or %NULL if @clip can not provide a track element for the
+given @type or an error occurred.</doc>
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="clip" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.h"
+ line="65">A #GESClip</doc>
+ <type name="Clip" c:type="GESClip*"/>
+ </instance-parameter>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.h"
+ line="66">A #GESTrackType to create a #GESTrackElement for</doc>
+ <type name="TrackType" c:type="GESTrackType"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="create_track_elements">
+ <source-position filename="ges/ges-clip.h" line="92"/>
+ <return-value transfer-ownership="container">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.h"
+ line="88">A list of
+the #GESTrackElement-s created by @clip for the given @type, or %NULL
+if no track elements are created or an error occurred.</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="TrackElement"/>
+ </type>
+ </return-value>
+ <parameters>
+ <instance-parameter name="clip" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.h"
+ line="82">A #GESClip</doc>
+ <type name="Clip" c:type="GESClip*"/>
+ </instance-parameter>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.h"
+ line="83">A #GESTrackType to create #GESTrackElement-s for</doc>
+ <type name="TrackType" c:type="GESTrackType"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <method name="add_asset" c:identifier="ges_clip_add_asset">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="3588">Extracts a #GESTrackElement from an asset and adds it to the clip.
+This can be used to add effects that derive from the asset to the
+clip, but this method is not intended to be used to create the core
+elements of the clip.</doc>
+ <source-position filename="ges/ges-clip.h" line="151"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="3599">The newly created element, or
+%NULL if an error occurred.</doc>
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="clip" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="3590">A #GESClip</doc>
+ <type name="Clip" c:type="GESClip*"/>
+ </instance-parameter>
+ <parameter name="asset" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="3591">An asset with #GES_TYPE_TRACK_ELEMENT as its
+#GESAsset:extractable-type</doc>
+ <type name="Asset" c:type="GESAsset*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_child_to_track"
+ c:identifier="ges_clip_add_child_to_track"
+ throws="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="4389">Adds the track element child of the clip to a specific track.
+
+If the given child is already in another track, this will create a copy
+of the child, add it to the clip, and add this copy to the track.
+
+You should only call this whilst a clip is part of a #GESTimeline, and
+for tracks that are in the same timeline.
+
+This method is an alternative to using the
+#GESTimeline::select-tracks-for-object signal, but can be used to
+complement it when, say, you wish to copy a clip's children from one
+track into a new one.
+
+When the child is a core child, it must be added to a track that does
+not already contain another core child of the same clip. If it is not a
+core child (an additional effect), then it must be added to a track
+that already contains one of the core children of the same clip.
+
+This method can also fail if the adding the track element to the track
+would break a configuration rule of the corresponding #GESTimeline,
+such as causing three sources to overlap at a single time, or causing
+a source to completely overlap another in the same track.</doc>
+ <source-position filename="ges/ges-clip.h" line="164"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="4419">The element that was added to @track, either
+@child or a copy of child, or %NULL if the element could not be added.</doc>
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="clip" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="4391">A #GESClip</doc>
+ <type name="Clip" c:type="GESClip*"/>
+ </instance-parameter>
+ <parameter name="child" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="4392">A child of @clip</doc>
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </parameter>
+ <parameter name="track" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="4393">The track to add @child to</doc>
+ <type name="Track" c:type="GESTrack*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_top_effect"
+ c:identifier="ges_clip_add_top_effect"
+ version="1.18"
+ throws="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="2997">Add a top effect to a clip at the given index.
+
+Unlike using ges_container_add(), this allows you to set the index
+in advance. It will also check that no error occurred during the track
+selection for the effect.
+
+Note, only subclasses of #GESClipClass that have
+#GES_CLIP_CLASS_CAN_ADD_EFFECTS set to %TRUE (such as #GESSourceClip
+and #GESBaseEffectClip) can have additional top effects added.
+
+Note, if the effect is a time effect, this may be refused if the clip
+would not be able to adapt itself once the effect is added.</doc>
+ <source-position filename="ges/ges-clip.h" line="186"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="3017">%TRUE if @effect was successfully added to @clip at @index.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="clip" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="2999">A #GESClip</doc>
+ <type name="Clip" c:type="GESClip*"/>
+ </instance-parameter>
+ <parameter name="effect" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="3000">A top effect to add</doc>
+ <type name="BaseEffect" c:type="GESBaseEffect*"/>
+ </parameter>
+ <parameter name="index" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="3001">The index to add @effect at, or -1 to add at the highest</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="find_track_element"
+ c:identifier="ges_clip_find_track_element">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="2899">Finds an element controlled by the clip. If @track is given,
+then only the track elements in @track are searched for. If @type is
+given, then this function searches for a track element of the given
+@type.
+
+Note, if multiple track elements in the clip match the given criteria,
+this will return the element amongst them with the highest
+#GESTimelineElement:priority (numerically, the smallest). See
+ges_clip_find_track_elements() if you wish to find all such elements.</doc>
+ <source-position filename="ges/ges-clip.h" line="154"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="2917">The element controlled by
+@clip, in @track, and of the given @type, or %NULL if no such element
+could be found.</doc>
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="clip" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="2901">A #GESClip</doc>
+ <type name="Clip" c:type="GESClip*"/>
+ </instance-parameter>
+ <parameter name="track"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="2902">The track to search in, or %NULL to search in
+all tracks</doc>
+ <type name="Track" c:type="GESTrack*"/>
+ </parameter>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="2904">The type of track element to search for, or `G_TYPE_NONE` to
+match any type</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="find_track_elements"
+ c:identifier="ges_clip_find_track_elements">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="3622">Finds the #GESTrackElement-s controlled by the clip that match the
+given criteria. If @track is given as %NULL and @track_type is given as
+#GES_TRACK_TYPE_UNKNOWN, then the search will match all elements in any
+track, including those with no track, and of any
+#GESTrackElement:track-type. Otherwise, if @track is not %NULL, but
+@track_type is #GES_TRACK_TYPE_UNKNOWN, then only the track elements in
+@track are searched for. Otherwise, if @track_type is not
+#GES_TRACK_TYPE_UNKNOWN, but @track is %NULL, then only the track
+elements whose #GESTrackElement:track-type matches @track_type are
+searched for. Otherwise, when both are given, the track elements that
+match **either** criteria are searched for. Therefore, if you wish to
+only find elements in a specific track, you should give the track as
+@track, but you should not give the track's #GESTrack:track-type as
+@track_type because this would also select elements from other tracks
+of the same type.
+
+You may also give @type to _further_ restrict the search to track
+elements of the given @type.</doc>
+ <source-position filename="ges/ges-clip.h" line="158"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="3651">A list of all
+the #GESTrackElement-s controlled by @clip, in @track or of the given
+@track_type, and of the given @type.</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="TrackElement"/>
+ </type>
+ </return-value>
+ <parameters>
+ <instance-parameter name="clip" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="3624">A #GESClip</doc>
+ <type name="Clip" c:type="GESClip*"/>
+ </instance-parameter>
+ <parameter name="track"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="3625">The track to search in, or %NULL to search in
+all tracks</doc>
+ <type name="Track" c:type="GESTrack*"/>
+ </parameter>
+ <parameter name="track_type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="3627">The track-type of the track element to search for, or
+#GES_TRACK_TYPE_UNKNOWN to match any track type</doc>
+ <type name="TrackType" c:type="GESTrackType"/>
+ </parameter>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="3629">The type of track element to search for, or %G_TYPE_NONE to
+match any type</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_duration_limit"
+ c:identifier="ges_clip_get_duration_limit"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="2969">Gets the #GESClip:duration-limit of the clip.</doc>
+ <source-position filename="ges/ges-clip.h" line="243"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="2975">The duration-limit of @clip.</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="clip" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="2971">A #GESClip</doc>
+ <type name="Clip" c:type="GESClip*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_internal_time_from_timeline_time"
+ c:identifier="ges_clip_get_internal_time_from_timeline_time"
+ version="1.18"
+ throws="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="4102">Convert the timeline time to an internal source time of the child.
+This will take any time effects placed on the clip into account (see
+#GESBaseEffect for what time effects are supported, and how to
+declare them in GES).
+
+When @timeline_time is above the #GESTimelineElement:start of @clip,
+this will return the internal time at which the content that appears at
+@timeline_time in the output of the timeline is created in @child. For
+example, if @timeline_time corresponds to the current seek position,
+this would let you know which part of a media file is being read.
+
+This will be done assuming the clip has an indefinite end, so the
+internal time may be beyond the current out-point of the child, or even
+its #GESTimelineElement:max-duration.
+
+If, instead, @timeline_time is below the current
+#GESTimelineElement:start of @clip, this will return what you would
+need to set the #GESTimelineElement:in-point of @child to if you set
+the #GESTimelineElement:start of @clip to @timeline_time and wanted
+to keep the content of @child currently found at the current
+#GESTimelineElement:start of @clip at the same timeline position. If
+this would be negative, the conversion fails. This is useful for
+determining what #GESTimelineElement:in-point would result from a
+#GES_EDIT_MODE_TRIM to @timeline_time.
+
+Note that whilst a clip has no time effects, this second return is
+equivalent to finding the internal time at which the content that
+appears at @timeline_time in the timeline can be found in @child if it
+had indefinite extent in both directions. However, with non-linear time
+effects this second return will be more distinct.
+
+In either case, the returned time would be appropriate to use for the
+#GESTimelineElement:in-point or #GESTimelineElement:max-duration of the
+child.
+
+See ges_clip_get_timeline_time_from_internal_time(), which performs the
+reverse.</doc>
+ <source-position filename="ges/ges-clip.h" line="228"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="4148">The time in the internal coordinates of @child corresponding
+to @timeline_time, or #GST_CLOCK_TIME_NONE if the conversion could not
+be performed.</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="clip" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="4104">A #GESClip</doc>
+ <type name="Clip" c:type="GESClip*"/>
+ </instance-parameter>
+ <parameter name="child" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="4105">An #GESTrackElement:active child of @clip with a
+#GESTrackElement:track</doc>
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </parameter>
+ <parameter name="timeline_time" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="4107">A time in the timeline time coordinates</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_layer" c:identifier="ges_clip_get_layer">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="2949">Gets the #GESClip:layer of the clip.</doc>
+ <source-position filename="ges/ges-clip.h" line="173"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="2955">The layer @clip is in, or %NULL if
+@clip is not in any layer.</doc>
+ <type name="Layer" c:type="GESLayer*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="clip" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="2951">A #GESClip</doc>
+ <type name="Clip" c:type="GESClip*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_supported_formats"
+ c:identifier="ges_clip_get_supported_formats">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="3572">Gets the #GESClip:supported-formats of the clip.</doc>
+ <source-position filename="ges/ges-clip.h" line="146"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="3578">The #GESTrackType-s supported by @clip.</doc>
+ <type name="TrackType" c:type="GESTrackType"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="clip" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="3574">A #GESClip</doc>
+ <type name="Clip" c:type="GESClip*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_timeline_time_from_internal_time"
+ c:identifier="ges_clip_get_timeline_time_from_internal_time"
+ throws="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="3951">Convert the internal source time from the child to a timeline time.
+This will take any time effects placed on the clip into account (see
+#GESBaseEffect for what time effects are supported, and how to
+declare them in GES).
+
+When @internal_time is above the #GESTimelineElement:in-point of
+@child, this will return the timeline time at which the internal
+content found at @internal_time appears in the output of the timeline's
+track. For example, this would let you know where in the timeline a
+particular scene in a media file would appear.
+
+This will be done assuming the clip has an indefinite end, so the
+timeline time may be beyond the end of the clip, or even breaking its
+#GESClip:duration-limit.
+
+If, instead, @internal_time is below the current
+#GESTimelineElement:in-point of @child, this will return what you would
+need to set the #GESTimelineElement:start of @clip to if you set the
+#GESTimelineElement:in-point of @child to @internal_time and wanted to
+keep the content of @child currently found at the current
+#GESTimelineElement:start of @clip at the same timeline position. If
+this would be negative, the conversion fails. This is useful for
+determining what position to use in a #GES_EDIT_MODE_TRIM if you wish
+to trim to a specific point in the internal content, such as a
+particular scene in a media file.
+
+Note that whilst a clip has no time effects, this second return is
+equivalent to finding the timeline time at which the content of @child
+at @internal_time would be found in the timeline if it had indefinite
+extent in both directions. However, with non-linear time effects this
+second return will be more distinct.
+
+In either case, the returned time would be appropriate to use in
+ges_timeline_element_edit() for #GES_EDIT_MODE_TRIM, and similar, if
+you wish to use a particular internal point as a reference. For
+example, you could choose to end a clip at a certain internal
+'out-point', similar to the #GESTimelineElement:in-point, by
+translating the desired end time into the timeline coordinates, and
+using this position to trim the end of a clip.
+
+See ges_clip_get_internal_time_from_timeline_time(), which performs the
+reverse, or ges_clip_get_timeline_time_from_source_frame() which does
+the same conversion, but using frame numbers.</doc>
+ <source-position filename="ges/ges-clip.h" line="233"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="4003">The time in the timeline coordinates corresponding to
+@internal_time, or #GST_CLOCK_TIME_NONE if the conversion could not be
+performed.</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="clip" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="3953">A #GESClip</doc>
+ <type name="Clip" c:type="GESClip*"/>
+ </instance-parameter>
+ <parameter name="child" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="3954">An #GESTrackElement:active child of @clip with a
+#GESTrackElement:track</doc>
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </parameter>
+ <parameter name="internal_time" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="3956">A time in the internal time coordinates of @child</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_timeline_time_from_source_frame"
+ c:identifier="ges_clip_get_timeline_time_from_source_frame"
+ version="1.18"
+ throws="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="4335">Convert the source frame number to a timeline time. This acts the same
+as ges_clip_get_timeline_time_from_internal_time() using the core
+children of the clip and using the frame number to specify the internal
+position, rather than a timestamp.
+
+The returned timeline time can be used to seek or edit to a specific
+frame.
+
+Note that you can get the frame timestamp of a particular clip asset
+with ges_clip_asset_get_frame_time().</doc>
+ <source-position filename="ges/ges-clip.h" line="238"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="4353">The timestamp corresponding to @frame_number in the core
+children of @clip, in the timeline coordinates, or #GST_CLOCK_TIME_NONE
+if the conversion could not be performed.</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="clip" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="4337">A #GESClip</doc>
+ <type name="Clip" c:type="GESClip*"/>
+ </instance-parameter>
+ <parameter name="frame_number" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="4338">The frame number to get the corresponding timestamp of
+in the timeline coordinates</doc>
+ <type name="FrameNumber" c:type="GESFrameNumber"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_top_effect_index"
+ c:identifier="ges_clip_get_top_effect_index">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="3167">Gets the internal index of an effect in the clip. The index of effects
+in a clip will run from 0 to n-1, where n is the total number of
+effects. If two effects share the same #GESTrackElement:track, the
+effect with the numerically lower index will be applied to the source
+data **after** the other effect, i.e. output data will always flow from
+a higher index effect to a lower index effect.</doc>
+ <source-position filename="ges/ges-clip.h" line="200"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="3179">The index of @effect in @clip, or -1 if something went wrong.</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="clip" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="3169">A #GESClip</doc>
+ <type name="Clip" c:type="GESClip*"/>
+ </instance-parameter>
+ <parameter name="effect" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="3170">The effect we want to get the index of</doc>
+ <type name="BaseEffect" c:type="GESBaseEffect*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_top_effect_position"
+ c:identifier="ges_clip_get_top_effect_position">
+ <source-position filename="ges/ges-clip.h" line="197"/>
+ <return-value transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="clip" transfer-ownership="none">
+ <type name="Clip" c:type="GESClip*"/>
+ </instance-parameter>
+ <parameter name="effect" transfer-ownership="none">
+ <type name="BaseEffect" c:type="GESBaseEffect*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_top_effects" c:identifier="ges_clip_get_top_effects">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="3136">Gets the #GESBaseEffect-s that have been added to the clip. The
+returned list is ordered by their internal index in the clip. See
+ges_clip_get_top_effect_index().</doc>
+ <source-position filename="ges/ges-clip.h" line="195"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="3144">A list of all
+#GESBaseEffect-s that have been added to @clip.</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="TrackElement"/>
+ </type>
+ </return-value>
+ <parameters>
+ <instance-parameter name="clip" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="3138">A #GESClip</doc>
+ <type name="Clip" c:type="GESClip*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="move_to_layer" c:identifier="ges_clip_move_to_layer">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="2884">See ges_clip_move_to_layer_full(), which also gives an error.</doc>
+ <source-position filename="ges/ges-clip.h" line="175"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="2891">%TRUE if @clip was successfully moved to @layer.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="clip" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="2886">A #GESClip</doc>
+ <type name="Clip" c:type="GESClip*"/>
+ </instance-parameter>
+ <parameter name="layer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="2887">The new layer</doc>
+ <type name="Layer" c:type="GESLayer*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="move_to_layer_full"
+ c:identifier="ges_clip_move_to_layer_full"
+ version="1.18"
+ throws="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="2800">Moves a clip to a new layer. If the clip already exists in a layer, it
+is first removed from its current layer before being added to the new
+layer.</doc>
+ <source-position filename="ges/ges-clip.h" line="178"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="2810">%TRUE if @clip was successfully moved to @layer.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="clip" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="2802">A #GESClip</doc>
+ <type name="Clip" c:type="GESClip*"/>
+ </instance-parameter>
+ <parameter name="layer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="2803">The new layer</doc>
+ <type name="Layer" c:type="GESLayer*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="remove_top_effect"
+ c:identifier="ges_clip_remove_top_effect"
+ version="1.18"
+ throws="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="3101">Remove a top effect from the clip.
+
+Note, if the effect is a time effect, this may be refused if the clip
+would not be able to adapt itself once the effect is removed.</doc>
+ <source-position filename="ges/ges-clip.h" line="191"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="3112">%TRUE if @effect was successfully added to @clip at @index.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="clip" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="3103">A #GESClip</doc>
+ <type name="Clip" c:type="GESClip*"/>
+ </instance-parameter>
+ <parameter name="effect" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="3104">The top effect to remove</doc>
+ <type name="BaseEffect" c:type="GESBaseEffect*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_supported_formats"
+ c:identifier="ges_clip_set_supported_formats">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="3555">Sets the #GESClip:supported-formats of the clip. This should normally
+only be called by subclasses, which should be responsible for updating
+its value, rather than the user.</doc>
+ <source-position filename="ges/ges-clip.h" line="148"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="clip" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="3557">A #GESClip</doc>
+ <type name="Clip" c:type="GESClip*"/>
+ </instance-parameter>
+ <parameter name="supportedformats" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="3558">The #GESTrackType-s supported by @clip</doc>
+ <type name="TrackType" c:type="GESTrackType"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_top_effect_index"
+ c:identifier="ges_clip_set_top_effect_index">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="3321">See ges_clip_set_top_effect_index_full(), which also gives an error.</doc>
+ <source-position filename="ges/ges-clip.h" line="207"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="3329">%TRUE if @effect was successfully moved to @newindex.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="clip" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="3323">A #GESClip</doc>
+ <type name="Clip" c:type="GESClip*"/>
+ </instance-parameter>
+ <parameter name="effect" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="3324">An effect within @clip to move</doc>
+ <type name="BaseEffect" c:type="GESBaseEffect*"/>
+ </parameter>
+ <parameter name="newindex" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="3325">The index for @effect in @clip</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_top_effect_index_full"
+ c:identifier="ges_clip_set_top_effect_index_full"
+ version="1.18"
+ throws="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="3214">Set the index of an effect within the clip. See
+ges_clip_get_top_effect_index(). The new index must be an existing
+index of the clip. The effect is moved to the new index, and the other
+effects may be shifted in index accordingly to otherwise maintain the
+ordering.</doc>
+ <source-position filename="ges/ges-clip.h" line="211"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="3227">%TRUE if @effect was successfully moved to @newindex.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="clip" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="3216">A #GESClip</doc>
+ <type name="Clip" c:type="GESClip*"/>
+ </instance-parameter>
+ <parameter name="effect" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="3217">An effect within @clip to move</doc>
+ <type name="BaseEffect" c:type="GESBaseEffect*"/>
+ </parameter>
+ <parameter name="newindex" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="3218">The index for @effect in @clip</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_top_effect_priority"
+ c:identifier="ges_clip_set_top_effect_priority">
+ <source-position filename="ges/ges-clip.h" line="203"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="clip" transfer-ownership="none">
+ <type name="Clip" c:type="GESClip*"/>
+ </instance-parameter>
+ <parameter name="effect" transfer-ownership="none">
+ <type name="BaseEffect" c:type="GESBaseEffect*"/>
+ </parameter>
+ <parameter name="newpriority" transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="split" c:identifier="ges_clip_split">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="3539">See ges_clip_split_full(), which also gives an error.</doc>
+ <source-position filename="ges/ges-clip.h" line="220"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="3546">The newly created clip resulting
+from the splitting @clip, or %NULL if @clip can't be split.</doc>
+ <type name="Clip" c:type="GESClip*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="clip" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="3541">The #GESClip to split</doc>
+ <type name="Clip" c:type="GESClip*"/>
+ </instance-parameter>
+ <parameter name="position" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="3542">The timeline position at which to perform the split</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="split_full"
+ c:identifier="ges_clip_split_full"
+ version="1.18"
+ throws="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="3338">Splits a clip at the given timeline position into two clips. The clip
+must already have a #GESClip:layer.
+
+The original clip's #GESTimelineElement:duration is reduced such that
+its end point matches the split position. Then a new clip is created in
+the same layer, whose #GESTimelineElement:start matches the split
+position and #GESTimelineElement:duration will be set such that its end
+point matches the old end point of the original clip. Thus, the two
+clips together will occupy the same positions in the timeline as the
+original clip did.
+
+The children of the new clip will be new copies of the original clip's
+children, so it will share the same sources and use the same
+operations.
+
+The new clip will also have its #GESTimelineElement:in-point set so
+that any internal data will appear in the timeline at the same time.
+Thus, when the timeline is played, the playback of data should
+appear the same. This may be complicated by any additional
+#GESEffect-s that have been placed on the original clip that depend on
+the playback time or change the data consumption rate of sources. This
+method will attempt to translate these effects such that the playback
+appears the same. In such complex situations, you may get a better
+result if you place the clip in a separate sub #GESProject, which only
+contains this clip (and its effects), and in the original layer
+create two neighbouring #GESUriClip-s that reference this sub-project,
+but at a different #GESTimelineElement:in-point.</doc>
+ <source-position filename="ges/ges-clip.h" line="223"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="3373">The newly created clip resulting
+from the splitting @clip, or %NULL if @clip can't be split.</doc>
+ <type name="Clip" c:type="GESClip*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="clip" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="3340">The #GESClip to split</doc>
+ <type name="Clip" c:type="GESClip*"/>
+ </instance-parameter>
+ <parameter name="position" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="3341">The timeline position at which to perform the split, between
+the start and end of the clip</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="duration-limit" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="2576">The maximum #GESTimelineElement:duration that can be *currently* set
+for the clip, taking into account the #GESTimelineElement:in-point,
+#GESTimelineElement:max-duration, #GESTrackElement:active, and
+#GESTrackElement:track properties of its children, as well as any
+time effects. If there is no limit, this will be set to
+#GST_CLOCK_TIME_NONE.
+
+Note that whilst a clip has no children in any tracks, the limit will
+be unknown, and similarly set to #GST_CLOCK_TIME_NONE.
+
+If the duration-limit would ever go below the current
+#GESTimelineElement:duration of the clip due to a change in the above
+variables, its #GESTimelineElement:duration will be set to the new
+limit.</doc>
+ <type name="guint64" c:type="guint64"/>
+ </property>
+ <property name="layer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="2561">The layer this clip lies in.
+
+If you want to connect to this property's #GObject::notify signal,
+you should connect to it with g_signal_connect_after() since the
+signal emission may be stopped internally.</doc>
+ <type name="Layer"/>
+ </property>
+ <property name="supported-formats"
+ writable="1"
+ construct="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.c"
+ line="2545">The #GESTrackType-s that the clip supports, which it can create
+#GESTrackElement-s for. Note that this can be a combination of
+#GESTrackType flags to indicate support for several
+#GESTrackElement:track-type elements.</doc>
+ <type name="TrackType"/>
+ </property>
+ <field name="parent">
+ <type name="Container" c:type="GESContainer"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="ClipPrivate" c:type="GESClipPrivate*"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="20">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <class name="ClipAsset"
+ c:symbol-prefix="clip_asset"
+ c:type="GESClipAsset"
+ parent="Asset"
+ glib:type-name="GESClipAsset"
+ glib:get-type="ges_clip_asset_get_type"
+ glib:type-struct="ClipAssetClass">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip-asset.c"
+ line="20">The #GESUriClipAsset is a special #GESAsset specilized in #GESClip.
+it is mostly used to get information about the #GESTrackType-s the objects extracted
+from it can potentialy create #GESTrackElement for.</doc>
+ <source-position filename="ges/ges-clip-asset.h" line="51"/>
+ <implements name="MetaContainer"/>
+ <implements name="Gio.AsyncInitable"/>
+ <implements name="Gio.Initable"/>
+ <virtual-method name="get_natural_framerate"
+ invoker="get_natural_framerate">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip-asset.c"
+ line="178">Result: %TRUE if @self has a natural framerate %FALSE otherwise</doc>
+ <source-position filename="ges/ges-clip-asset.h" line="48"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip-asset.c"
+ line="180">The object from which to retrieve the natural framerate</doc>
+ <type name="ClipAsset" c:type="GESClipAsset*"/>
+ </instance-parameter>
+ <parameter name="framerate_n" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip-asset.c"
+ line="181">The framerate numerator</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ <parameter name="framerate_d" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip-asset.c"
+ line="182">The framerate denominator</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <method name="get_frame_time"
+ c:identifier="ges_clip_asset_get_frame_time">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip-asset.c"
+ line="205">Converts the given frame number into a timestamp, using the "natural" frame
+rate of the asset.
+
+You can use this to reference a specific frame in a media file and use this
+as, for example, the `in-point` or `max-duration` of a #GESClip.</doc>
+ <source-position filename="ges/ges-clip-asset.h" line="61"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip-asset.c"
+ line="216">The timestamp corresponding to @frame_number in the element source, given
+in internal time coordinates, or #GST_CLOCK_TIME_NONE if the clip asset does not have a
+natural frame rate.</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip-asset.c"
+ line="207">The object for which to compute timestamp for specifed frame</doc>
+ <type name="ClipAsset" c:type="GESClipAsset*"/>
+ </instance-parameter>
+ <parameter name="frame_number" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip-asset.c"
+ line="208">The frame number we want the internal time coordinate timestamp of</doc>
+ <type name="FrameNumber" c:type="GESFrameNumber"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_natural_framerate"
+ c:identifier="ges_clip_asset_get_natural_framerate">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip-asset.c"
+ line="178">Result: %TRUE if @self has a natural framerate %FALSE otherwise</doc>
+ <source-position filename="ges/ges-clip-asset.h" line="59"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip-asset.c"
+ line="180">The object from which to retrieve the natural framerate</doc>
+ <type name="ClipAsset" c:type="GESClipAsset*"/>
+ </instance-parameter>
+ <parameter name="framerate_n" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip-asset.c"
+ line="181">The framerate numerator</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ <parameter name="framerate_d" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip-asset.c"
+ line="182">The framerate denominator</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_supported_formats"
+ c:identifier="ges_clip_asset_get_supported_formats">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip-asset.c"
+ line="161">Gets track types for which objects extracted from @self can create #GESTrackElement</doc>
+ <source-position filename="ges/ges-clip-asset.h" line="57"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip-asset.c"
+ line="167">The track types on which @self will create TrackElement when added to
+a layer</doc>
+ <type name="TrackType" c:type="GESTrackType"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip-asset.c"
+ line="163">a #GESClipAsset</doc>
+ <type name="ClipAsset" c:type="GESClipAsset*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="set_supported_formats"
+ c:identifier="ges_clip_asset_set_supported_formats">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip-asset.c"
+ line="145">Sets track types for which objects extracted from @self can create #GESTrackElement</doc>
+ <source-position filename="ges/ges-clip-asset.h" line="54"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip-asset.c"
+ line="147">a #GESClipAsset</doc>
+ <type name="ClipAsset" c:type="GESClipAsset*"/>
+ </instance-parameter>
+ <parameter name="supportedformats" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip-asset.c"
+ line="148">The track types supported by the GESClipAsset</doc>
+ <type name="TrackType" c:type="GESTrackType"/>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="supported-formats"
+ writable="1"
+ construct="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip-asset.c"
+ line="126">The formats supported by the asset.</doc>
+ <type name="TrackType"/>
+ </property>
+ <field name="parent">
+ <type name="Asset" c:type="GESAsset"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="ClipAssetPrivate" c:type="GESClipAssetPrivate*"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="ClipAssetClass"
+ c:type="GESClipAssetClass"
+ glib:is-gtype-struct-for="ClipAsset">
+ <source-position filename="ges/ges-clip-asset.h" line="51"/>
+ <field name="parent">
+ <type name="AssetClass" c:type="GESAssetClass"/>
+ </field>
+ <field name="get_natural_framerate">
+ <callback name="get_natural_framerate">
+ <source-position filename="ges/ges-clip-asset.h" line="48"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip-asset.c"
+ line="180">The object from which to retrieve the natural framerate</doc>
+ <type name="ClipAsset" c:type="GESClipAsset*"/>
+ </parameter>
+ <parameter name="framerate_n" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip-asset.c"
+ line="181">The framerate numerator</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ <parameter name="framerate_d" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip-asset.c"
+ line="182">The framerate denominator</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_ges_reserved">
+ <array zero-terminated="0" fixed-size="3">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="ClipAssetPrivate" c:type="GESClipAssetPrivate" disguised="1">
+ <source-position filename="ges/ges-clip-asset.h" line="32"/>
+ </record>
+ <record name="ClipClass"
+ c:type="GESClipClass"
+ glib:is-gtype-struct-for="Clip">
+ <source-position filename="ges/ges-clip.h" line="140"/>
+ <field name="parent_class" readable="0" private="1">
+ <type name="ContainerClass" c:type="GESContainerClass"/>
+ </field>
+ <field name="create_track_element">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.h"
+ line="110">Method to create the core #GESTrackElement of
+a clip of this class. If a clip of this class may create several track
+elements per track type, this should be left as %NULL, and
+create_track_elements() should be used instead. Otherwise, you should
+implement this class method and leave create_track_elements() as the
+default implementation</doc>
+ <type name="CreateTrackElementFunc"
+ c:type="GESCreateTrackElementFunc"/>
+ </field>
+ <field name="create_track_elements">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.h"
+ line="116">Method to create the (multiple) core
+#GESTrackElement-s of a clip of this class. If create_track_element()
+is implemented, this should be kept as the default implementation</doc>
+ <type name="CreateTrackElementsFunc"
+ c:type="GESCreateTrackElementsFunc"/>
+ </field>
+ <union name="ABI" c:type="ABI">
+ <source-position filename="ges/ges-clip.h" line="139"/>
+ <field name="_ges_reserved" writable="1">
+ <array zero-terminated="0" fixed-size="20">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <record name="abi" c:type="abi">
+ <source-position filename="ges/ges-clip.h" line="138"/>
+ <field name="can_add_effects" writable="1">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ </record>
+ </union>
+ </record>
+ <record name="ClipPrivate" c:type="GESClipPrivate" disguised="1">
+ <source-position filename="ges/ges-clip.h" line="33"/>
+ </record>
+ <class name="CommandLineFormatter"
+ c:symbol-prefix="command_line_formatter"
+ c:type="GESCommandLineFormatter"
+ parent="Formatter"
+ glib:type-name="GESCommandLineFormatter"
+ glib:get-type="ges_command_line_formatter_get_type"
+ glib:type-struct="CommandLineFormatterClass">
+ <source-position filename="ges/ges-command-line-formatter.h" line="37"/>
+ <implements name="Extractable"/>
+ <function name="get_help"
+ c:identifier="ges_command_line_formatter_get_help">
+ <source-position filename="ges/ges-command-line-formatter.h"
+ line="47"/>
+ <return-value transfer-ownership="full">
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="nargs" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="commands" transfer-ownership="none">
+ <type name="utf8" c:type="gchar**"/>
+ </parameter>
+ </parameters>
+ </function>
+ <field name="parent_instance">
+ <type name="Formatter" c:type="GESFormatter"/>
+ </field>
+ <field name="priv">
+ <type name="CommandLineFormatterPrivate"
+ c:type="GESCommandLineFormatterPrivate*"/>
+ </field>
+ </class>
+ <record name="CommandLineFormatterClass"
+ c:type="GESCommandLineFormatterClass"
+ glib:is-gtype-struct-for="CommandLineFormatter">
+ <source-position filename="ges/ges-command-line-formatter.h" line="37"/>
+ <field name="parent_class">
+ <type name="FormatterClass" c:type="GESFormatterClass"/>
+ </field>
+ </record>
+ <record name="CommandLineFormatterPrivate"
+ c:type="GESCommandLineFormatterPrivate"
+ disguised="1">
+ <source-position filename="ges/ges-command-line-formatter.h" line="32"/>
+ </record>
+ <class name="Container"
+ c:symbol-prefix="container"
+ c:type="GESContainer"
+ parent="TimelineElement"
+ abstract="1"
+ glib:type-name="GESContainer"
+ glib:get-type="ges_container_get_type"
+ glib:type-struct="ContainerClass">
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="21">A #GESContainer is a timeline element that controls other
+#GESTimelineElement-s, which are its children. In particular, it is
+responsible for maintaining the relative #GESTimelineElement:start and
+#GESTimelineElement:duration times of its children. Therefore, if a
+container is temporally adjusted or moved to a new layer, it may
+accordingly adjust and move its children. Similarly, a change in one of
+its children may prompt the parent to correspondingly change its
+siblings.</doc>
+ <source-position filename="ges/ges-container.h" line="137"/>
+ <implements name="Extractable"/>
+ <implements name="MetaContainer"/>
+ <function name="group" c:identifier="ges_container_group">
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="987">Groups the containers into a single container by merging them. The
+containers must all belong to the same #GESTimelineElement:timeline.
+
+If the elements are all #GESClip-s then this method will attempt to
+combine them all into a single #GESClip. This should succeed if they:
+share the same #GESTimelineElement:start, #GESTimelineElement:duration
+and #GESTimelineElement:in-point; exist in the same layer; and all of
+the sources share the same #GESAsset. If this fails, or one of the
+elements is not a #GESClip, this method will try to create a #GESGroup
+instead.</doc>
+ <source-position filename="ges/ges-container.h" line="149"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="1003">The container created by merging
+@containers, or %NULL if they could not be merged into a single
+container.</doc>
+ <type name="Container" c:type="GESContainer*"/>
+ </return-value>
+ <parameters>
+ <parameter name="containers"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="989">
+The #GESContainer-s to group</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="Container"/>
+ </type>
+ </parameter>
+ </parameters>
+ </function>
+ <virtual-method name="add_child">
+ <source-position filename="ges/ges-container.h" line="118"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="container" transfer-ownership="none">
+ <type name="Container" c:type="GESContainer*"/>
+ </instance-parameter>
+ <parameter name="element" transfer-ownership="none">
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="child_added">
+ <source-position filename="ges/ges-container.h" line="116"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="container" transfer-ownership="none">
+ <type name="Container" c:type="GESContainer*"/>
+ </instance-parameter>
+ <parameter name="element" transfer-ownership="none">
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="child_removed">
+ <source-position filename="ges/ges-container.h" line="117"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="container" transfer-ownership="none">
+ <type name="Container" c:type="GESContainer*"/>
+ </instance-parameter>
+ <parameter name="element" transfer-ownership="none">
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="edit"
+ invoker="edit"
+ deprecated="1"
+ deprecated-version="1.18">
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="1062">Edits the container within its timeline.</doc>
+ <doc-deprecated xml:space="preserve">use #ges_timeline_element_edit instead.</doc-deprecated>
+ <source-position filename="ges/ges-container.h" line="124"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="1077">%TRUE if the edit of @container completed, %FALSE on failure.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="container" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="1064">The #GESContainer to edit</doc>
+ <type name="Container" c:type="GESContainer*"/>
+ </instance-parameter>
+ <parameter name="layers"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="1065">A whitelist of layers
+where the edit can be performed, %NULL allows all layers in the
+timeline</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="Layer"/>
+ </type>
+ </parameter>
+ <parameter name="new_layer_priority" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="1068">The priority/index of the layer @container should
+be moved to. -1 means no move</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="mode" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="1070">The edit mode</doc>
+ <type name="EditMode" c:type="GESEditMode"/>
+ </parameter>
+ <parameter name="edge" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="1071">The edge of @container where the edit should occur</doc>
+ <type name="Edge" c:type="GESEdge"/>
+ </parameter>
+ <parameter name="position" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="1072">The edit position: a new location for the edge of @container
+(in nanoseconds)</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="remove_child">
+ <source-position filename="ges/ges-container.h" line="119"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="container" transfer-ownership="none">
+ <type name="Container" c:type="GESContainer*"/>
+ </instance-parameter>
+ <parameter name="element" transfer-ownership="none">
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="ungroup" invoker="ungroup">
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="948">Ungroups the container by splitting it into several containers
+containing various children of the original. The rules for how the
+container splits depends on the subclass. A #GESGroup will simply split
+into its children. A #GESClip will split into one #GESClip per
+#GESTrackType it overlaps with (so an audio-video clip will split into
+an audio clip and a video clip), where each clip contains all the
+#GESTrackElement-s from the original clip with a matching
+#GESTrackElement:track-type.
+
+If @recursive is %TRUE, and the container contains other containers as
+children, then they will also be ungrouped, and so on.</doc>
+ <source-position filename="ges/ges-container.h" line="120"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="965">The list of
+new #GESContainer-s created from the splitting of @container.</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="Container"/>
+ </type>
+ </return-value>
+ <parameters>
+ <instance-parameter name="container" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="950">The container to ungroup</doc>
+ <type name="Container" c:type="GESContainer*"/>
+ </instance-parameter>
+ <parameter name="recursive" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="951">Whether to recursively ungroup @container</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <method name="add" c:identifier="ges_container_add">
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="706">Adds a timeline element to the container. The element will now be a
+child of the container (and the container will be the
+#GESTimelineElement:parent of the added element), which means that it
+is now controlled by the container. This may change the properties of
+the child or the container, depending on the subclass.
+
+Additionally, the children properties of the newly added element will
+be shared with the container, meaning they can also be read and set
+using ges_timeline_element_get_child_property() and
+ges_timeline_element_set_child_property() on the container.</doc>
+ <source-position filename="ges/ges-container.h" line="143"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="722">%TRUE if @child was successfully added to @container.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="container" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="708">A #GESContainer</doc>
+ <type name="Container" c:type="GESContainer*"/>
+ </instance-parameter>
+ <parameter name="child" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="709">The element to add as a child</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="edit"
+ c:identifier="ges_container_edit"
+ deprecated="1"
+ deprecated-version="1.18">
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="1062">Edits the container within its timeline.</doc>
+ <doc-deprecated xml:space="preserve">use #ges_timeline_element_edit instead.</doc-deprecated>
+ <source-position filename="ges/ges-container.h" line="152"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="1077">%TRUE if the edit of @container completed, %FALSE on failure.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="container" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="1064">The #GESContainer to edit</doc>
+ <type name="Container" c:type="GESContainer*"/>
+ </instance-parameter>
+ <parameter name="layers"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="1065">A whitelist of layers
+where the edit can be performed, %NULL allows all layers in the
+timeline</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="Layer"/>
+ </type>
+ </parameter>
+ <parameter name="new_layer_priority" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="1068">The priority/index of the layer @container should
+be moved to. -1 means no move</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="mode" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="1070">The edit mode</doc>
+ <type name="EditMode" c:type="GESEditMode"/>
+ </parameter>
+ <parameter name="edge" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="1071">The edge of @container where the edit should occur</doc>
+ <type name="Edge" c:type="GESEdge"/>
+ </parameter>
+ <parameter name="position" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="1072">The edit position: a new location for the edge of @container
+(in nanoseconds)</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_children" c:identifier="ges_container_get_children">
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="920">Get the list of timeline elements contained in the container. If
+@recursive is %TRUE, and the container contains other containers as
+children, then their children will be added to the list, in addition to
+themselves, and so on.</doc>
+ <source-position filename="ges/ges-container.h" line="141"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="930">The list of
+#GESTimelineElement-s contained in @container.</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="TimelineElement"/>
+ </type>
+ </return-value>
+ <parameters>
+ <instance-parameter name="container" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="922">A #GESContainer</doc>
+ <type name="Container" c:type="GESContainer*"/>
+ </instance-parameter>
+ <parameter name="recursive" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="923">Whether to recursively get children in @container</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="remove" c:identifier="ges_container_remove">
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="818">Removes a timeline element from the container. The element will no
+longer be controlled by the container.</doc>
+ <source-position filename="ges/ges-container.h" line="145"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="826">%TRUE if @child was successfully removed from @container.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="container" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="820">A #GESContainer</doc>
+ <type name="Container" c:type="GESContainer*"/>
+ </instance-parameter>
+ <parameter name="child" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="821">The child to remove</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="ungroup" c:identifier="ges_container_ungroup">
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="948">Ungroups the container by splitting it into several containers
+containing various children of the original. The rules for how the
+container splits depends on the subclass. A #GESGroup will simply split
+into its children. A #GESClip will split into one #GESClip per
+#GESTrackType it overlaps with (so an audio-video clip will split into
+an audio clip and a video clip), where each clip contains all the
+#GESTrackElement-s from the original clip with a matching
+#GESTrackElement:track-type.
+
+If @recursive is %TRUE, and the container contains other containers as
+children, then they will also be ungrouped, and so on.</doc>
+ <source-position filename="ges/ges-container.h" line="147"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="965">The list of
+new #GESContainer-s created from the splitting of @container.</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="Container"/>
+ </type>
+ </return-value>
+ <parameters>
+ <instance-parameter name="container" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="950">The container to ungroup</doc>
+ <type name="Container" c:type="GESContainer*"/>
+ </instance-parameter>
+ <parameter name="recursive" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="951">Whether to recursively ungroup @container</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="height" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="472">The span of the container's children's #GESTimelineElement:priority
+values, which is the number of integers that lie between (inclusive)
+the minimum and maximum priorities found amongst the container's
+children (maximum - minimum + 1).</doc>
+ <type name="guint" c:type="guint"/>
+ </property>
+ <field name="parent">
+ <type name="TimelineElement" c:type="GESTimelineElement"/>
+ </field>
+ <field name="children">
+ <doc xml:space="preserve"
+ filename="ges/ges-container.h"
+ line="67">The list of
+#GESTimelineElement-s controlled by this Container</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="TimelineElement"/>
+ </type>
+ </field>
+ <field name="height">
+ <doc xml:space="preserve"
+ filename="ges/ges-container.h"
+ line="69">The #GESContainer:height of @obj</doc>
+ <type name="guint32" c:type="guint32"/>
+ </field>
+ <field name="children_control_mode">
+ <type name="ChildrenControlMode" c:type="GESChildrenControlMode"/>
+ </field>
+ <field name="initiated_move">
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="ContainerPrivate" c:type="GESContainerPrivate*"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="20">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <glib:signal name="child-added" when="first">
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="486">Will be emitted after a child is added to the container. Usually,
+you should connect with g_signal_connect_after() since the signal
+may be stopped internally.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="489">The child that was added</doc>
+ <type name="TimelineElement"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="child-removed" when="last">
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="500">Will be emitted after a child is removed from the container.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="503">The child that was removed</doc>
+ <type name="TimelineElement"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ </class>
+ <record name="ContainerClass"
+ c:type="GESContainerClass"
+ glib:is-gtype-struct-for="Container">
+ <source-position filename="ges/ges-container.h" line="137"/>
+ <field name="parent_class" readable="0" private="1">
+ <type name="TimelineElementClass" c:type="GESTimelineElementClass"/>
+ </field>
+ <field name="child_added">
+ <callback name="child_added">
+ <source-position filename="ges/ges-container.h" line="116"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="container" transfer-ownership="none">
+ <type name="Container" c:type="GESContainer*"/>
+ </parameter>
+ <parameter name="element" transfer-ownership="none">
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="child_removed">
+ <callback name="child_removed">
+ <source-position filename="ges/ges-container.h" line="117"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="container" transfer-ownership="none">
+ <type name="Container" c:type="GESContainer*"/>
+ </parameter>
+ <parameter name="element" transfer-ownership="none">
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="add_child">
+ <callback name="add_child">
+ <source-position filename="ges/ges-container.h" line="118"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="container" transfer-ownership="none">
+ <type name="Container" c:type="GESContainer*"/>
+ </parameter>
+ <parameter name="element" transfer-ownership="none">
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="remove_child">
+ <callback name="remove_child">
+ <source-position filename="ges/ges-container.h" line="119"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="container" transfer-ownership="none">
+ <type name="Container" c:type="GESContainer*"/>
+ </parameter>
+ <parameter name="element" transfer-ownership="none">
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="ungroup">
+ <callback name="ungroup">
+ <source-position filename="ges/ges-container.h" line="120"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="965">The list of
+new #GESContainer-s created from the splitting of @container.</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="Container"/>
+ </type>
+ </return-value>
+ <parameters>
+ <parameter name="container" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="950">The container to ungroup</doc>
+ <type name="Container" c:type="GESContainer*"/>
+ </parameter>
+ <parameter name="recursive" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="951">Whether to recursively ungroup @container</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="group" introspectable="0">
+ <callback name="group" introspectable="0">
+ <source-position filename="ges/ges-container.h" line="121"/>
+ <return-value>
+ <type name="Container" c:type="GESContainer*"/>
+ </return-value>
+ <parameters>
+ <parameter name="containers" transfer-ownership="none">
+ <type name="GLib.List" c:type="GList*">
+ <type name="gpointer" c:type="gpointer"/>
+ </type>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="edit">
+ <callback name="edit">
+ <source-position filename="ges/ges-container.h" line="124"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="1077">%TRUE if the edit of @container completed, %FALSE on failure.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="container" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="1064">The #GESContainer to edit</doc>
+ <type name="Container" c:type="GESContainer*"/>
+ </parameter>
+ <parameter name="layers"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="1065">A whitelist of layers
+where the edit can be performed, %NULL allows all layers in the
+timeline</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="Layer"/>
+ </type>
+ </parameter>
+ <parameter name="new_layer_priority" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="1068">The priority/index of the layer @container should
+be moved to. -1 means no move</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="mode" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="1070">The edit mode</doc>
+ <type name="EditMode" c:type="GESEditMode"/>
+ </parameter>
+ <parameter name="edge" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="1071">The edge of @container where the edit should occur</doc>
+ <type name="Edge" c:type="GESEdge"/>
+ </parameter>
+ <parameter name="position" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-container.c"
+ line="1072">The edit position: a new location for the edge of @container
+(in nanoseconds)</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="grouping_priority" readable="0" private="1">
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="20">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="ContainerPrivate" c:type="GESContainerPrivate" disguised="1">
+ <source-position filename="ges/ges-container.h" line="32"/>
+ </record>
+ <callback name="CreateElementForGapFunc"
+ c:type="GESCreateElementForGapFunc"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="ges/ges-track.h"
+ line="33">A function that creates a #GstElement that can be used as a source to
+fill the gaps of the track. A gap is a timeline region where the track
+has no #GESTrackElement sources.</doc>
+ <source-position filename="ges/ges-track.h" line="43"/>
+ <return-value>
+ <doc xml:space="preserve"
+ filename="ges/ges-track.h"
+ line="41">A source #GstElement to fill gaps in @track.</doc>
+ <type name="Gst.Element" c:type="GstElement*"/>
+ </return-value>
+ <parameters>
+ <parameter name="track" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track.h"
+ line="35">The #GESTrack</doc>
+ <type name="Track" c:type="GESTrack*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <callback name="CreateTrackElementFunc" c:type="GESCreateTrackElementFunc">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.h"
+ line="63">A method for creating the core #GESTrackElement of a clip, to be added
+to a #GESTrack of the given track type.
+
+If a clip may produce several track elements per track type,
+#GESCreateTrackElementsFunc is more appropriate.</doc>
+ <source-position filename="ges/ges-clip.h" line="78"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.h"
+ line="74">The #GESTrackElement created
+by @clip, or %NULL if @clip can not provide a track element for the
+given @type or an error occurred.</doc>
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </return-value>
+ <parameters>
+ <parameter name="clip" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.h"
+ line="65">A #GESClip</doc>
+ <type name="Clip" c:type="GESClip*"/>
+ </parameter>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.h"
+ line="66">A #GESTrackType to create a #GESTrackElement for</doc>
+ <type name="TrackType" c:type="GESTrackType"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <callback name="CreateTrackElementsFunc"
+ c:type="GESCreateTrackElementsFunc">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.h"
+ line="80">A method for creating the core #GESTrackElement-s of a clip, to be
+added to #GESTrack-s of the given track type.</doc>
+ <source-position filename="ges/ges-clip.h" line="92"/>
+ <return-value transfer-ownership="container">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.h"
+ line="88">A list of
+the #GESTrackElement-s created by @clip for the given @type, or %NULL
+if no track elements are created or an error occurred.</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="TrackElement"/>
+ </type>
+ </return-value>
+ <parameters>
+ <parameter name="clip" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.h"
+ line="82">A #GESClip</doc>
+ <type name="Clip" c:type="GESClip*"/>
+ </parameter>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.h"
+ line="83">A #GESTrackType to create #GESTrackElement-s for</doc>
+ <type name="TrackType" c:type="GESTrackType"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <function-macro name="DECLARE_TYPE"
+ c:identifier="GES_DECLARE_TYPE"
+ introspectable="0">
+ <attribute name="doc.skip" value="true"/>
+ <source-position filename="ges/ges-types.h" line="237"/>
+ <parameters>
+ <parameter name="ObjName">
+ </parameter>
+ <parameter name="obj_name">
+ </parameter>
+ <parameter name="OBJ_NAME">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="DEPRECATED_FOR"
+ c:identifier="GES_DEPRECATED_FOR"
+ introspectable="0">
+ <source-position filename="ges/ges-prelude.h" line="35"/>
+ <parameters>
+ <parameter name="f">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="EXTRACTABLE_GET_INTERFACE"
+ c:identifier="GES_EXTRACTABLE_GET_INTERFACE"
+ introspectable="0">
+ <source-position filename="ges/ges-extractable.h" line="35"/>
+ <parameters>
+ <parameter name="inst">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <enumeration name="Edge"
+ glib:type-name="GESEdge"
+ glib:get-type="ges_edge_get_type"
+ c:type="GESEdge">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="542">The edges of an object contain in a #GESTimeline or #GESTrack</doc>
+ <member name="edge_start"
+ value="0"
+ c:identifier="GES_EDGE_START"
+ glib:nick="edge_start">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="544">Represents the start of an object.</doc>
+ </member>
+ <member name="start"
+ value="0"
+ c:identifier="GES_EDGE_START"
+ glib:nick="start">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="544">Represents the start of an object.</doc>
+ </member>
+ <member name="edge_end"
+ value="1"
+ c:identifier="GES_EDGE_END"
+ glib:nick="edge_end">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="545">Represents the end of an object.</doc>
+ </member>
+ <member name="end" value="1" c:identifier="GES_EDGE_END" glib:nick="end">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="545">Represents the end of an object.</doc>
+ </member>
+ <member name="edge_none"
+ value="2"
+ c:identifier="GES_EDGE_NONE"
+ glib:nick="edge_none">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="546">Represent the fact we are not working with any edge of an
+ object.</doc>
+ </member>
+ <member name="none"
+ value="2"
+ c:identifier="GES_EDGE_NONE"
+ glib:nick="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="546">Represent the fact we are not working with any edge of an
+ object.</doc>
+ </member>
+ <function name="name" c:identifier="ges_edge_name">
+ <source-position filename="ges/ges-enums.h" line="558"/>
+ <return-value transfer-ownership="none">
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="edge" transfer-ownership="none">
+ <type name="Edge" c:type="GESEdge"/>
+ </parameter>
+ </parameters>
+ </function>
+ </enumeration>
+ <enumeration name="EditMode"
+ glib:type-name="GESEditMode"
+ glib:get-type="ges_edit_mode_get_type"
+ c:type="GESEditMode">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="365">When a single timeline element is edited within its timeline at some
+position, using ges_timeline_element_edit(), depending on the edit
+mode, its #GESTimelineElement:start, #GESTimelineElement:duration or
+#GESTimelineElement:in-point will be adjusted accordingly. In addition,
+any clips may change #GESClip:layer.
+
+Each edit can be broken down into a combination of three basic edits:
+
++ MOVE: This moves the start of the element to the edit position.
++ START-TRIM: This cuts or grows the start of the element, whilst
+ maintaining the time at which its internal content appears in the
+ timeline data output. If the element is made shorter, the data that
+ appeared at the edit position will still appear in the timeline at
+ the same time. If the element is made longer, the data that appeared
+ at the previous start of the element will still appear in the
+ timeline at the same time.
++ END-TRIM: Similar to START-TRIM, but the end of the element is cut or
+ grown.
+
+In particular, when editing a #GESClip:
+
++ MOVE: This will set the #GESTimelineElement:start of the clip to the
+ edit position.
++ START-TRIM: This will set the #GESTimelineElement:start of the clip
+ to the edit position. To keep the end time the same, the
+ #GESTimelineElement:duration of the clip will be adjusted in the
+ opposite direction. In addition, the #GESTimelineElement:in-point of
+ the clip will be shifted such that the content that appeared at the
+ new or previous start time, whichever is latest, still appears at the
+ same timeline time. For example, if a frame appeared at the start of
+ the clip, and the start of the clip is reduced, the in-point of the
+ clip will also reduce such that the frame will appear later within
+ the clip, but at the same timeline position.
++ END-TRIM: This will set the #GESTimelineElement:duration of the clip
+ such that its end time will match the edit position.
+
+When editing a #GESGroup:
+
++ MOVE: This will set the #GESGroup:start of the clip to the edit
+ position by shifting all of its children by the same amount. So each
+ child will maintain their relative positions.
++ START-TRIM: If the group is made shorter, this will START-TRIM any
+ clips under the group that start after the edit position to the same
+ edit position. If the group is made longer, this will START-TRIM any
+ clip under the group whose start matches the start of the group to
+ the same edit position.
++ END-TRIM: If the group is made shorter, this will END-TRIM any clips
+ under the group that end after the edit position to the same edit
+ position. If the group is made longer, this will END-TRIM any clip
+ under the group whose end matches the end of the group to the same
+ edit position.
+
+When editing a #GESTrackElement, if it has a #GESClip parent, this
+will be edited instead. Otherwise it is edited in the same way as a
+#GESClip.
+
+The layer priority of a #GESGroup is the lowest layer priority of any
+#GESClip underneath it. When a group is edited to a new layer
+priority, it will shift all clips underneath it by the same amount,
+such that their relative layers stay the same.
+
+If the #GESTimeline has a #GESTimeline:snapping-distance, then snapping
+may occur for some of the edges of the **main** edited element:
+
++ MOVE: The start or end edge of *any* #GESSource under the element may
+ be snapped.
++ START-TRIM: The start edge of a #GESSource whose start edge touches
+ the start edge of the element may snap.
++ END-TRIM: The end edge of a #GESSource whose end edge touches the end
+ edge of the element may snap.
+
+These edges may snap with either the start or end edge of *any* other
+#GESSource in the timeline that is not also being moved by the element,
+including those in different layers, if they are within the
+#GESTimeline:snapping-distance. During an edit, only up to one snap can
+occur. This will shift the edit position such that the snapped edges
+will touch once the edit has completed.
+
+Note that snapping can cause an edit to fail where it would have
+otherwise succeeded because it may push the edit position such that the
+edit would result in an unsupported timeline configuration. Similarly,
+snapping can cause an edit to succeed where it would have otherwise
+failed.
+
+For example, in #GES_EDIT_MODE_RIPPLE acting on #GES_EDGE_NONE, the
+main element is the MOVED toplevel of the edited element. Any source
+under the main MOVED toplevel may have its start or end edge snapped.
+Note, these sources cannot snap with each other. The edit may also
+push other elements, but any sources under these elements cannot snap,
+nor can they be snapped with. If a snap does occur, the MOVE of the
+toplevel *and* all other elements pushed by the ripple will be shifted
+by the same amount such that the snapped edges will touch.
+
+You can also find more explanation about the behaviour of those modes at:
+[trim, ripple and roll](http://pitivi.org/manual/trimming.html)
+and [clip management](http://pitivi.org/manual/usingclips.html).</doc>
+ <member name="edit_normal"
+ value="0"
+ c:identifier="GES_EDIT_MODE_NORMAL"
+ glib:nick="edit_normal">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="367">The element is edited the normal way (default).
+ If acting on the element as a whole (#GES_EDGE_NONE), this will MOVE
+ the element by MOVING its toplevel. When acting on the start of the
+ element (#GES_EDGE_START), this will only MOVE the element, but not
+ its toplevel parent. This can allow you to move a #GESClip or
+ #GESGroup to a new start time or layer within its container group,
+ without effecting other members of the group. When acting on the end
+ of the element (#GES_EDGE_END), this will END-TRIM the element,
+ leaving its toplevel unchanged.</doc>
+ </member>
+ <member name="normal"
+ value="0"
+ c:identifier="GES_EDIT_MODE_NORMAL"
+ glib:nick="normal">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="367">The element is edited the normal way (default).
+ If acting on the element as a whole (#GES_EDGE_NONE), this will MOVE
+ the element by MOVING its toplevel. When acting on the start of the
+ element (#GES_EDGE_START), this will only MOVE the element, but not
+ its toplevel parent. This can allow you to move a #GESClip or
+ #GESGroup to a new start time or layer within its container group,
+ without effecting other members of the group. When acting on the end
+ of the element (#GES_EDGE_END), this will END-TRIM the element,
+ leaving its toplevel unchanged.</doc>
+ </member>
+ <member name="edit_ripple"
+ value="1"
+ c:identifier="GES_EDIT_MODE_RIPPLE"
+ glib:nick="edit_ripple">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="376">The element is edited in ripple mode: moving
+ itself as well as later elements, keeping their relative times. This
+ edits the element the same as #GES_EDIT_MODE_NORMAL. In addition, if
+ acting on the element as a whole, or the start of the element, any
+ toplevel element in the same timeline (including different layers)
+ whose start time is later than the *current* start time of the MOVED
+ element will also be MOVED by the same shift as the edited element.
+ If acting on the end of the element, any toplevel element whose start
+ time is later than the *current* end time of the edited element will
+ also be MOVED by the same shift as the change in the end of the
+ edited element. These additional elements will also be shifted by
+ the same shift in layers as the edited element.</doc>
+ </member>
+ <member name="ripple"
+ value="1"
+ c:identifier="GES_EDIT_MODE_RIPPLE"
+ glib:nick="ripple">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="376">The element is edited in ripple mode: moving
+ itself as well as later elements, keeping their relative times. This
+ edits the element the same as #GES_EDIT_MODE_NORMAL. In addition, if
+ acting on the element as a whole, or the start of the element, any
+ toplevel element in the same timeline (including different layers)
+ whose start time is later than the *current* start time of the MOVED
+ element will also be MOVED by the same shift as the edited element.
+ If acting on the end of the element, any toplevel element whose start
+ time is later than the *current* end time of the edited element will
+ also be MOVED by the same shift as the change in the end of the
+ edited element. These additional elements will also be shifted by
+ the same shift in layers as the edited element.</doc>
+ </member>
+ <member name="edit_roll"
+ value="2"
+ c:identifier="GES_EDIT_MODE_ROLL"
+ glib:nick="edit_roll">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="388">The element is edited in roll mode: swapping its
+ content for its neighbour's, or vis versa, in the timeline output.
+ This edits the element the same as #GES_EDIT_MODE_TRIM. In addition,
+ any neighbours are also TRIMMED at their opposite edge to the same
+ timeline position. When acting on the start of the element, a
+ neighbour is any earlier element in the timeline whose end time
+ matches the *current* start time of the edited element. When acting on
+ the end of the element, a neighbour is any later element in the
+ timeline whose start time matches the *current* start time of the
+ edited element. In addition, a neighbour have a #GESSource at its
+ end/start edge that shares a track with a #GESSource at the start/end
+ edge of the edited element. Basically, a neighbour is an element that
+ can be extended, or cut, to have its content replace, or be replaced
+ by, the content of the edited element. Acting on the element as a
+ whole (#GES_EDGE_NONE) is not defined. The element can not shift
+ layers under this mode.</doc>
+ </member>
+ <member name="roll"
+ value="2"
+ c:identifier="GES_EDIT_MODE_ROLL"
+ glib:nick="roll">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="388">The element is edited in roll mode: swapping its
+ content for its neighbour's, or vis versa, in the timeline output.
+ This edits the element the same as #GES_EDIT_MODE_TRIM. In addition,
+ any neighbours are also TRIMMED at their opposite edge to the same
+ timeline position. When acting on the start of the element, a
+ neighbour is any earlier element in the timeline whose end time
+ matches the *current* start time of the edited element. When acting on
+ the end of the element, a neighbour is any later element in the
+ timeline whose start time matches the *current* start time of the
+ edited element. In addition, a neighbour have a #GESSource at its
+ end/start edge that shares a track with a #GESSource at the start/end
+ edge of the edited element. Basically, a neighbour is an element that
+ can be extended, or cut, to have its content replace, or be replaced
+ by, the content of the edited element. Acting on the element as a
+ whole (#GES_EDGE_NONE) is not defined. The element can not shift
+ layers under this mode.</doc>
+ </member>
+ <member name="edit_trim"
+ value="3"
+ c:identifier="GES_EDIT_MODE_TRIM"
+ glib:nick="edit_trim">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="404">The element is edited in trim mode. When acting
+ on the start of the element, this will START-TRIM it. When acting on
+ the end of the element, this will END-TRIM it. Acting on the element
+ as a whole (#GES_EDGE_NONE) is not defined.</doc>
+ </member>
+ <member name="trim"
+ value="3"
+ c:identifier="GES_EDIT_MODE_TRIM"
+ glib:nick="trim">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="404">The element is edited in trim mode. When acting
+ on the start of the element, this will START-TRIM it. When acting on
+ the end of the element, this will END-TRIM it. Acting on the element
+ as a whole (#GES_EDGE_NONE) is not defined.</doc>
+ </member>
+ <member name="edit_slide"
+ value="4"
+ c:identifier="GES_EDIT_MODE_SLIDE"
+ glib:nick="edit_slide">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="408">The element is edited in slide mode (not yet
+ implemented): moving the element replacing or consuming content on
+ each end. When acting on the element as a whole, this will MOVE the
+ element, and TRIM any neighbours on either side. A neighbour is
+ defined in the same way as in #GES_EDIT_MODE_ROLL, but they may be on
+ either side of the edited elements. Elements at the end with be
+ START-TRIMMED to the new end position of the edited element. Elements
+ at the start will be END-TRIMMED to the new start position of the
+ edited element. Acting on the start or end of the element
+ (#GES_EDGE_START and #GES_EDGE_END) is not defined. The element can
+ not shift layers under this mode.</doc>
+ </member>
+ <member name="slide"
+ value="4"
+ c:identifier="GES_EDIT_MODE_SLIDE"
+ glib:nick="slide">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="408">The element is edited in slide mode (not yet
+ implemented): moving the element replacing or consuming content on
+ each end. When acting on the element as a whole, this will MOVE the
+ element, and TRIM any neighbours on either side. A neighbour is
+ defined in the same way as in #GES_EDIT_MODE_ROLL, but they may be on
+ either side of the edited elements. Elements at the end with be
+ START-TRIMMED to the new end position of the edited element. Elements
+ at the start will be END-TRIMMED to the new start position of the
+ edited element. Acting on the start or end of the element
+ (#GES_EDGE_START and #GES_EDGE_END) is not defined. The element can
+ not shift layers under this mode.</doc>
+ </member>
+ <function name="name" c:identifier="ges_edit_mode_name" version="1.18">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="525">Return a string representation of @mode.</doc>
+ <source-position filename="ges/ges-enums.h" line="535"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="531">a string representation of @mode.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="mode" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="527">a #GESEditMode</doc>
+ <type name="EditMode" c:type="GESEditMode"/>
+ </parameter>
+ </parameters>
+ </function>
+ </enumeration>
+ <class name="Effect"
+ c:symbol-prefix="effect"
+ c:type="GESEffect"
+ parent="BaseEffect"
+ glib:type-name="GESEffect"
+ glib:get-type="ges_effect_get_type"
+ glib:type-struct="EffectClass">
+ <doc xml:space="preserve"
+ filename="ges/ges-effect.c"
+ line="20">Currently we only support effects with N sinkpads and one single srcpad.
+Apart from `gesaudiomixer` and `gescompositor` which can be used as effects
+and where sinkpads will be requested as needed based on the timeline topology
+GES will always request at most one sinkpad per effect (when required).
+
+&gt; Note: GES always adds converters (`audioconvert ! audioresample !
+&gt; audioconvert` for audio effects and `videoconvert` for video effects) to
+&gt; make it simpler for end users.</doc>
+ <source-position filename="ges/ges-effect.h" line="59"/>
+ <implements name="Extractable"/>
+ <implements name="MetaContainer"/>
+ <constructor name="new" c:identifier="ges_effect_new">
+ <doc xml:space="preserve"
+ filename="ges/ges-effect.c"
+ line="353">Creates a new #GESEffect from the description of the bin. It should be
+possible to determine the type of the effect through the element
+'klass' metadata of the GstElements that will be created.
+In that corner case, you should use:
+#ges_asset_request (GES_TYPE_EFFECT, "audio your ! bin ! description", NULL);
+and extract that asset to be in full control.</doc>
+ <source-position filename="ges/ges-effect.h" line="62"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-effect.c"
+ line="364">a newly created #GESEffect, or %NULL if something went
+wrong.</doc>
+ <type name="Effect" c:type="GESEffect*"/>
+ </return-value>
+ <parameters>
+ <parameter name="bin_description" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-effect.c"
+ line="355">The gst-launch like bin description of the effect</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <property name="bin-description"
+ writable="1"
+ construct-only="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-effect.c"
+ line="191">The description of the effect bin with a gst-launch-style
+pipeline description.
+
+Example: "videobalance saturation=1.5 hue=+0.5"</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </property>
+ <field name="parent" readable="0" private="1">
+ <type name="BaseEffect" c:type="GESBaseEffect"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="EffectPrivate" c:type="GESEffectPrivate*"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <class name="EffectAsset"
+ c:symbol-prefix="effect_asset"
+ c:type="GESEffectAsset"
+ parent="TrackElementAsset"
+ glib:type-name="GESEffectAsset"
+ glib:get-type="ges_effect_asset_get_type"
+ glib:type-struct="EffectAssetClass">
+ <doc xml:space="preserve"
+ filename="ges/ges-effect-asset.c"
+ line="21">This asset has a GStreamer bin-description as ID and is able to determine
+to what track type the effect should be used in.</doc>
+ <source-position filename="ges/ges-effect-asset.h" line="36"/>
+ <implements name="MetaContainer"/>
+ <implements name="Gio.AsyncInitable"/>
+ <implements name="Gio.Initable"/>
+ <field name="parent_instance">
+ <type name="TrackElementAsset" c:type="GESTrackElementAsset"/>
+ </field>
+ <field name="priv">
+ <type name="EffectAssetPrivate" c:type="GESEffectAssetPrivate*"/>
+ </field>
+ <field name="_ges_reserved">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="EffectAssetClass"
+ c:type="GESEffectAssetClass"
+ glib:is-gtype-struct-for="EffectAsset">
+ <source-position filename="ges/ges-effect-asset.h" line="36"/>
+ <field name="parent_class">
+ <type name="TrackElementAssetClass"
+ c:type="GESTrackElementAssetClass"/>
+ </field>
+ <field name="_ges_reserved">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="EffectAssetPrivate"
+ c:type="GESEffectAssetPrivate"
+ disguised="1">
+ <source-position filename="ges/ges-effect-asset.h" line="29"/>
+ </record>
+ <record name="EffectClass"
+ c:type="GESEffectClass"
+ glib:is-gtype-struct-for="Effect">
+ <source-position filename="ges/ges-effect.h" line="59"/>
+ <field name="parent_class" readable="0" private="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-effect.h"
+ line="46">parent class</doc>
+ <type name="BaseEffectClass" c:type="GESBaseEffectClass"/>
+ </field>
+ <field name="rate_properties" readable="0" private="1">
+ <type name="GLib.List" c:type="GList*">
+ <type name="gpointer" c:type="gpointer"/>
+ </type>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <method name="register_rate_property"
+ c:identifier="ges_effect_class_register_rate_property">
+ <doc xml:space="preserve"
+ filename="ges/ges-effect.c"
+ line="383">Register an element that can change the rate at which media is playing.
+The property type must be float or double, and must be a factor of the
+rate, i.e. a value of 2.0 must mean that the media plays twice as fast.
+Several properties may be registered for a single element type,
+provided they all contribute to the rate as independent factors. For
+example, this is true for the "GstPitch::rate" and "GstPitch::tempo"
+properties. These are already registered by default in GES, along with
+#videorate:rate for #videorate and #scaletempo:rate for #scaletempo.
+
+If such a rate property becomes a child property of a #GESEffect upon
+its creation (the element is part of its #GESEffect:bin-description),
+it will be automatically registered as a time property (see
+ges_base_effect_register_time_property()) and will have its time
+translation functions set (see
+ges_base_effect_set_time_translation_funcs()) to use the overall rate
+of the rate properties. Note that if an effect contains a rate
+property as well as a non-rate time property, you should ensure to set
+the time translation functions to some other methods using
+ges_base_effect_set_time_translation_funcs().
+
+Note, you can obtain a reference to the GESEffectClass using
+
+```
+ GES_EFFECT_CLASS (g_type_class_ref (GES_TYPE_EFFECT));
+```</doc>
+ <source-position filename="ges/ges-effect.h" line="65"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-effect.c"
+ line="416">%TRUE if the rate property was successfully registered. When
+this method returns %FALSE, a warning is emitted with more information.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="klass" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-effect.c"
+ line="385">Instance of the GESEffectClass</doc>
+ <type name="EffectClass" c:type="GESEffectClass*"/>
+ </instance-parameter>
+ <parameter name="element_name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-effect.c"
+ line="386">The #GstElementFactory name of the element that changes
+the rate</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="property_name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-effect.c"
+ line="388">The name of the property that changes the rate</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ </record>
+ <class name="EffectClip"
+ c:symbol-prefix="effect_clip"
+ c:type="GESEffectClip"
+ parent="BaseEffectClip"
+ glib:type-name="GESEffectClip"
+ glib:get-type="ges_effect_clip_get_type"
+ glib:type-struct="EffectClipClass">
+ <doc xml:space="preserve"
+ filename="ges/ges-effect-clip.c"
+ line="20">The effect will be applied on the sources that have lower priorities
+(higher number) between the inpoint and the end of it.
+
+The asset ID of an effect clip is in the form:
+
+```
+ "audio ! bin ! description || video ! bin ! description"
+```</doc>
+ <source-position filename="ges/ges-effect-clip.h" line="54"/>
+ <implements name="Extractable"/>
+ <implements name="MetaContainer"/>
+ <constructor name="new" c:identifier="ges_effect_clip_new">
+ <doc xml:space="preserve"
+ filename="ges/ges-effect-clip.c"
+ line="252">Creates a new #GESEffectClip from the description of the bin.</doc>
+ <source-position filename="ges/ges-effect-clip.h" line="57"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-effect-clip.c"
+ line="259">a newly created #GESEffectClip, or
+%NULL if something went wrong.</doc>
+ <type name="EffectClip" c:type="GESEffectClip*"/>
+ </return-value>
+ <parameters>
+ <parameter name="video_bin_description" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-effect-clip.c"
+ line="254">The gst-launch like bin description of the effect</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="audio_bin_description" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-effect-clip.c"
+ line="255">The gst-launch like bin description of the effect</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <property name="audio-bin-description"
+ writable="1"
+ construct-only="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-effect-clip.c"
+ line="210">The description of the audio track of the effect bin with a gst-launch-style
+pipeline description. This should be used for test purposes.
+
+Example: "audiopanorama panorama=1.0"</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </property>
+ <property name="video-bin-description"
+ writable="1"
+ construct-only="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-effect-clip.c"
+ line="196">The description of the video track of the effect bin with a gst-launch-style
+pipeline description. This should be used for test purposes.
+
+Example: "videobalance saturation=1.5 hue=+0.5"</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </property>
+ <field name="parent" readable="0" private="1">
+ <type name="BaseEffectClip" c:type="GESBaseEffectClip"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="EffectClipPrivate" c:type="GESEffectClipPrivate*"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="EffectClipClass"
+ c:type="GESEffectClipClass"
+ glib:is-gtype-struct-for="EffectClip">
+ <source-position filename="ges/ges-effect-clip.h" line="54"/>
+ <field name="parent_class" readable="0" private="1">
+ <type name="BaseEffectClipClass" c:type="GESBaseEffectClipClass"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="EffectClipPrivate"
+ c:type="GESEffectClipPrivate"
+ disguised="1">
+ <source-position filename="ges/ges-effect-clip.h" line="28"/>
+ </record>
+ <record name="EffectPrivate" c:type="GESEffectPrivate" disguised="1">
+ <source-position filename="ges/ges-effect.h" line="28"/>
+ </record>
+ <enumeration name="Error" c:type="GESError">
+ <source-position filename="ges/ges-gerror.h" line="64"/>
+ <member name="asset_wrong_id"
+ value="0"
+ c:identifier="GES_ERROR_ASSET_WRONG_ID">
+ <doc xml:space="preserve"
+ filename="ges/ges-gerror.h"
+ line="38">The ID passed is malformed</doc>
+ </member>
+ <member name="asset_loading"
+ value="1"
+ c:identifier="GES_ERROR_ASSET_LOADING">
+ <doc xml:space="preserve"
+ filename="ges/ges-gerror.h"
+ line="39">An error happened while loading the asset</doc>
+ </member>
+ <member name="formatter_malformed_input_file"
+ value="2"
+ c:identifier="GES_ERROR_FORMATTER_MALFORMED_INPUT_FILE">
+ <doc xml:space="preserve"
+ filename="ges/ges-gerror.h"
+ line="40">The formatted files was malformed</doc>
+ </member>
+ <member name="invalid_frame_number"
+ value="3"
+ c:identifier="GES_ERROR_INVALID_FRAME_NUMBER">
+ <doc xml:space="preserve"
+ filename="ges/ges-gerror.h"
+ line="41">The frame number is invalid</doc>
+ </member>
+ <member name="negative_layer"
+ value="4"
+ c:identifier="GES_ERROR_NEGATIVE_LAYER">
+ <doc xml:space="preserve"
+ filename="ges/ges-gerror.h"
+ line="42">The operation would lead to a negative
+#GES_TIMELINE_ELEMENT_LAYER_PRIORITY. (Since: 1.18)</doc>
+ </member>
+ <member name="negative_time"
+ value="5"
+ c:identifier="GES_ERROR_NEGATIVE_TIME">
+ <doc xml:space="preserve"
+ filename="ges/ges-gerror.h"
+ line="44">The operation would lead to a negative time.
+E.g. for the #GESTimelineElement:start #GESTimelineElement:duration or
+#GESTimelineElement:in-point. (Since: 1.18)</doc>
+ </member>
+ <member name="not_enough_internal_content"
+ value="6"
+ c:identifier="GES_ERROR_NOT_ENOUGH_INTERNAL_CONTENT">
+ <doc xml:space="preserve"
+ filename="ges/ges-gerror.h"
+ line="47">Some #GESTimelineElement does
+not have a large enough #GESTimelineElement:max-duration to cover the
+desired operation. (Since: 1.18)</doc>
+ </member>
+ <member name="invalid_overlap_in_track"
+ value="7"
+ c:identifier="GES_ERROR_INVALID_OVERLAP_IN_TRACK">
+ <doc xml:space="preserve"
+ filename="ges/ges-gerror.h"
+ line="50">The operation would break one of
+the overlap conditions for the #GESTimeline. (Since: 1.18)</doc>
+ </member>
+ <member name="invalid_effect_bin_description"
+ value="8"
+ c:identifier="GES_ERROR_INVALID_EFFECT_BIN_DESCRIPTION">
+ </member>
+ </enumeration>
+ <interface name="Extractable"
+ c:symbol-prefix="extractable"
+ c:type="GESExtractable"
+ glib:type-name="GESExtractable"
+ glib:get-type="ges_extractable_get_type"
+ glib:type-struct="ExtractableInterface">
+ <doc xml:space="preserve"
+ filename="ges/ges-extractable.c"
+ line="21">A #GObject that implements the #GESExtractable interface can be
+extracted from a #GESAsset using ges_asset_extract().
+
+Each extractable type will have its own way of interpreting the
+#GESAsset:id of an asset (or, if it is associated with a specific
+subclass of #GESAsset, the asset subclass may handle the
+interpretation of the #GESAsset:id). By default, the requested asset
+#GESAsset:id will be ignored by a #GESExtractable and will be set to
+the type name of the extractable instead. Also by default, when the
+requested asset is extracted, the returned object will simply be a
+newly created default object of that extractable type. You should check
+the documentation for each extractable type to see if they differ from
+the default.
+
+After the object is extracted, it will have a reference to the asset it
+came from, which you can retrieve using ges_extractable_get_asset().</doc>
+ <source-position filename="ges/ges-extractable.h" line="138"/>
+ <prerequisite name="GObject.InitiallyUnowned"/>
+ <virtual-method name="get_id" invoker="get_id">
+ <doc xml:space="preserve"
+ filename="ges/ges-extractable.c"
+ line="186">Gets the #GESAsset:id of some associated asset. It may be the case
+that the object has no set asset, or even that such an asset does not
+yet exist in the GES cache. Instead, this will return the asset
+#GESAsset:id that is _compatible_ with the current state of the object,
+as determined by the #GESExtractable implementer. If it was indeed
+extracted from an asset, this should return the same as its
+corresponding asset #GESAsset:id.</doc>
+ <source-position filename="ges/ges-extractable.h" line="128"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="ges/ges-extractable.c"
+ line="198">The #GESAsset:id of some associated #GESAsset
+that is compatible with @self's current state.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-extractable.c"
+ line="188">A #GESExtractable</doc>
+ <type name="Extractable" c:type="GESExtractable*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="set_asset">
+ <source-position filename="ges/ges-extractable.h" line="119"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <type name="Extractable" c:type="GESExtractable*"/>
+ </instance-parameter>
+ <parameter name="asset" transfer-ownership="none">
+ <type name="Asset" c:type="GESAsset*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="set_asset_full">
+ <source-position filename="ges/ges-extractable.h" line="122"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <type name="Extractable" c:type="GESExtractable*"/>
+ </instance-parameter>
+ <parameter name="asset" transfer-ownership="none">
+ <type name="Asset" c:type="GESAsset*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <method name="get_asset" c:identifier="ges_extractable_get_asset">
+ <doc xml:space="preserve"
+ filename="ges/ges-extractable.c"
+ line="108">Get the asset that has been set on the extractable object.</doc>
+ <source-position filename="ges/ges-extractable.h" line="142"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-extractable.c"
+ line="114">The asset set on @self, or %NULL
+if no asset has been set.</doc>
+ <type name="Asset" c:type="GESAsset*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-extractable.c"
+ line="110">A #GESExtractable</doc>
+ <type name="Extractable" c:type="GESExtractable*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_id" c:identifier="ges_extractable_get_id">
+ <doc xml:space="preserve"
+ filename="ges/ges-extractable.c"
+ line="186">Gets the #GESAsset:id of some associated asset. It may be the case
+that the object has no set asset, or even that such an asset does not
+yet exist in the GES cache. Instead, this will return the asset
+#GESAsset:id that is _compatible_ with the current state of the object,
+as determined by the #GESExtractable implementer. If it was indeed
+extracted from an asset, this should return the same as its
+corresponding asset #GESAsset:id.</doc>
+ <source-position filename="ges/ges-extractable.h" line="148"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="ges/ges-extractable.c"
+ line="198">The #GESAsset:id of some associated #GESAsset
+that is compatible with @self's current state.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-extractable.c"
+ line="188">A #GESExtractable</doc>
+ <type name="Extractable" c:type="GESExtractable*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="set_asset" c:identifier="ges_extractable_set_asset">
+ <doc xml:space="preserve"
+ filename="ges/ges-extractable.c"
+ line="125">Sets the asset for this extractable object.
+
+When an object is extracted from an asset using ges_asset_extract() its
+asset will be automatically set. Note that many classes that implement
+#GESExtractable will automatically create their objects using assets
+when you call their @new methods. However, you can use this method to
+associate an object with a compatible asset if it was created by other
+means and does not yet have an asset. Or, for some implementations of
+#GESExtractable, you can use this to change the asset of the given
+extractable object, which will lead to a change in its state to
+match the new asset #GESAsset:id.</doc>
+ <source-position filename="ges/ges-extractable.h" line="144"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-extractable.c"
+ line="142">%TRUE if @asset could be successfully set on @self.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-extractable.c"
+ line="127">A #GESExtractable</doc>
+ <type name="Extractable" c:type="GESExtractable*"/>
+ </instance-parameter>
+ <parameter name="asset" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-extractable.c"
+ line="128">The asset to set</doc>
+ <type name="Asset" c:type="GESAsset*"/>
+ </parameter>
+ </parameters>
+ </method>
+ </interface>
+ <callback name="ExtractableCheckId"
+ c:type="GESExtractableCheckId"
+ throws="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-extractable.h"
+ line="39">Method for checking that an ID is valid for the given #GESExtractable
+type. If the given ID is considered valid, it can be adjusted into some
+standard and returned to prevent the creation of separate #GESAsset-s,
+with different #GESAsset:id, that would otherwise act the same.
+
+Returns (transfer full) (nullable): The actual #GESAsset:id to set on
+any corresponding assets, based on @id, or %NULL if @id is not valid.</doc>
+ <source-position filename="ges/ges-extractable.h" line="54"/>
+ <return-value transfer-ownership="full">
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-extractable.h"
+ line="41">The #GESExtractable type to check @id for</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ <parameter name="id" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-extractable.h"
+ line="42">The ID to check</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <record name="ExtractableInterface"
+ c:type="GESExtractableInterface"
+ glib:is-gtype-struct-for="Extractable">
+ <source-position filename="ges/ges-extractable.h" line="138"/>
+ <field name="parent">
+ <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
+ </field>
+ <field name="asset_type">
+ <doc xml:space="preserve"
+ filename="ges/ges-extractable.h"
+ line="59">The subclass type of #GESAsset that should be created when
+an asset with the corresponding #GESAsset:extractable-type is
+requested.</doc>
+ <type name="GType" c:type="GType"/>
+ </field>
+ <field name="check_id">
+ <doc xml:space="preserve"
+ filename="ges/ges-extractable.h"
+ line="62">The method to call to check whether a given ID is valid as
+an asset #GESAsset:id for the given #GESAsset:extractable-type. The
+returned ID is the actual #GESAsset:id that is set on the asset. The
+default implementation will simply always return the type name of the
+#GESAsset:extractable-type, even if the received ID is %NULL. As such,
+any given ID is considered valid (or is ignored), but only one is
+actually ever set on an asset, which means the given
+#GESAsset:extractable-type can only have one associated asset.</doc>
+ <type name="ExtractableCheckId" c:type="GESExtractableCheckId"/>
+ </field>
+ <field name="can_update_asset">
+ <doc xml:space="preserve"
+ filename="ges/ges-extractable.h"
+ line="70">Whether an object of this class can have its
+#GESAsset change over its lifetime. This should be set to %TRUE if one
+of the object's parameters that is associated with its ID can change
+after construction, which would require an asset with a new ID. Note
+that the subclass is required to handle the requesting and setting of
+the new asset on the object.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="set_asset">
+ <callback name="set_asset">
+ <source-position filename="ges/ges-extractable.h" line="119"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <type name="Extractable" c:type="GESExtractable*"/>
+ </parameter>
+ <parameter name="asset" transfer-ownership="none">
+ <type name="Asset" c:type="GESAsset*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="set_asset_full">
+ <callback name="set_asset_full">
+ <source-position filename="ges/ges-extractable.h" line="122"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <type name="Extractable" c:type="GESExtractable*"/>
+ </parameter>
+ <parameter name="asset" transfer-ownership="none">
+ <type name="Asset" c:type="GESAsset*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="get_parameters_from_id" introspectable="0">
+ <callback name="get_parameters_from_id" introspectable="0">
+ <source-position filename="ges/ges-extractable.h" line="125"/>
+ <return-value>
+ <type name="GObject.Parameter" c:type="GParameter*"/>
+ </return-value>
+ <parameters>
+ <parameter name="id" transfer-ownership="none">
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="n_params" transfer-ownership="none">
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="get_id">
+ <callback name="get_id">
+ <source-position filename="ges/ges-extractable.h" line="128"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="ges/ges-extractable.c"
+ line="198">The #GESAsset:id of some associated #GESAsset
+that is compatible with @self's current state.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-extractable.c"
+ line="188">A #GESExtractable</doc>
+ <type name="Extractable" c:type="GESExtractable*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="get_real_extractable_type">
+ <callback name="get_real_extractable_type">
+ <source-position filename="ges/ges-extractable.h" line="130"/>
+ <return-value transfer-ownership="none">
+ <type name="GType" c:type="GType"/>
+ </return-value>
+ <parameters>
+ <parameter name="wanted_type" transfer-ownership="none">
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ <parameter name="id" transfer-ownership="none">
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="register_metas">
+ <callback name="register_metas">
+ <source-position filename="ges/ges-extractable.h" line="133"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <type name="ExtractableInterface"
+ c:type="GESExtractableInterface*"/>
+ </parameter>
+ <parameter name="klass" transfer-ownership="none">
+ <type name="GObject.ObjectClass" c:type="GObjectClass*"/>
+ </parameter>
+ <parameter name="asset" transfer-ownership="none">
+ <type name="Asset" c:type="GESAsset*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_ges_reserved">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <function-macro name="FRAME_NUMBER_IS_VALID"
+ c:identifier="GES_FRAME_NUMBER_IS_VALID"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="ges/ges-types.h"
+ line="60">Tests if a given GESFrameNumber represents a valid frame</doc>
+ <source-position filename="ges/ges-types.h" line="64"/>
+ <parameters>
+ <parameter name="frames">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <constant name="FRAME_NUMBER_NONE"
+ value="9223372036854775807"
+ c:type="GES_FRAME_NUMBER_NONE">
+ <doc xml:space="preserve"
+ filename="ges/ges-types.h"
+ line="53">Constant to define an undefined frame number</doc>
+ <source-position filename="ges/ges-types.h" line="58"/>
+ <type name="gint64" c:type="gint64"/>
+ </constant>
+ <callback name="FillTrackElementFunc"
+ c:type="GESFillTrackElementFunc"
+ deprecated="1"
+ deprecated-version="1.18">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.h"
+ line="44">A function that will be called when the nleobject of a corresponding
+track element needs to be filled.
+
+The implementer of this function shall add the proper #GstElement to @nleobj
+using gst_bin_add().</doc>
+ <doc-deprecated xml:space="preserve">This method type is no longer used.</doc-deprecated>
+ <source-position filename="ges/ges-clip.h" line="60"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.h"
+ line="58">%TRUE if the implementer successfully filled the @nleobj.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="clip" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.h"
+ line="46">The #GESClip controlling the track elements</doc>
+ <type name="Clip" c:type="GESClip*"/>
+ </parameter>
+ <parameter name="track_element" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.h"
+ line="47">The #GESTrackElement</doc>
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </parameter>
+ <parameter name="nleobj" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-clip.h"
+ line="48">The nleobject that needs to be filled</doc>
+ <type name="Gst.Element" c:type="GstElement*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <class name="Formatter"
+ c:symbol-prefix="formatter"
+ c:type="GESFormatter"
+ parent="GObject.InitiallyUnowned"
+ abstract="1"
+ glib:type-name="GESFormatter"
+ glib:get-type="ges_formatter_get_type"
+ glib:type-struct="FormatterClass">
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.h"
+ line="31">Base class for timeline data serialization and deserialization.</doc>
+ <source-position filename="ges/ges-formatter.h" line="123"/>
+ <implements name="Extractable"/>
+ <function name="can_load_uri"
+ c:identifier="ges_formatter_can_load_uri"
+ throws="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.c"
+ line="221">Checks if there is a #GESFormatter available which can load a #GESTimeline
+from the given URI.</doc>
+ <source-position filename="ges/ges-formatter.h" line="135"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.c"
+ line="229">TRUE if there is a #GESFormatter that can support the given uri
+or FALSE if not.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="uri" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.c"
+ line="223">a #gchar * pointing to the URI</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="can_save_uri"
+ c:identifier="ges_formatter_can_save_uri"
+ throws="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.c"
+ line="292">Returns TRUE if there is a #GESFormatter available which can save a
+#GESTimeline to the given URI.</doc>
+ <source-position filename="ges/ges-formatter.h" line="137"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.c"
+ line="300">TRUE if the given @uri is supported, else FALSE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="uri" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.c"
+ line="294">a #gchar * pointing to a URI</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="get_default" c:identifier="ges_formatter_get_default">
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.c"
+ line="446">Get the default #GESAsset to use as formatter. It will return
+the asset for the #GESFormatter that has the highest @rank</doc>
+ <source-position filename="ges/ges-formatter.h" line="153"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.c"
+ line="452">The #GESAsset for the formatter with highest @rank</doc>
+ <type name="Asset" c:type="GESAsset*"/>
+ </return-value>
+ </function>
+ <virtual-method name="can_load_uri" throws="1">
+ <source-position filename="ges/ges-formatter.h" line="52"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="dummy_instance" transfer-ownership="none">
+ <type name="Formatter" c:type="GESFormatter*"/>
+ </instance-parameter>
+ <parameter name="uri" transfer-ownership="none">
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="load_from_uri"
+ invoker="load_from_uri"
+ deprecated="1"
+ deprecated-version="1.18"
+ throws="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.c"
+ line="371">Load data from the given URI into timeline.</doc>
+ <doc-deprecated xml:space="preserve">Use @ges_timeline_load_from_uri</doc-deprecated>
+ <source-position filename="ges/ges-formatter.h" line="68"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.c"
+ line="380">TRUE if the timeline data was successfully loaded from the URI,
+else FALSE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="formatter" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.c"
+ line="373">a #GESFormatter</doc>
+ <type name="Formatter" c:type="GESFormatter*"/>
+ </instance-parameter>
+ <parameter name="timeline" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.c"
+ line="374">a #GESTimeline</doc>
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </parameter>
+ <parameter name="uri" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.c"
+ line="375">a #gchar * pointing to a URI</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="save_to_uri"
+ invoker="save_to_uri"
+ deprecated="1"
+ deprecated-version="1.18"
+ throws="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.c"
+ line="404">Save data from timeline to the given URI.</doc>
+ <doc-deprecated xml:space="preserve">Use @ges_timeline_save_to_uri</doc-deprecated>
+ <source-position filename="ges/ges-formatter.h" line="88"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.c"
+ line="414">TRUE if the timeline data was successfully saved to the URI
+else FALSE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="formatter" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.c"
+ line="406">a #GESFormatter</doc>
+ <type name="Formatter" c:type="GESFormatter*"/>
+ </instance-parameter>
+ <parameter name="timeline" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.c"
+ line="407">a #GESTimeline</doc>
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </parameter>
+ <parameter name="uri" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.c"
+ line="408">a #gchar * pointing to a URI</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="overwrite" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.c"
+ line="409">%TRUE to overwrite file if it exists</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <method name="load_from_uri"
+ c:identifier="ges_formatter_load_from_uri"
+ deprecated="1"
+ deprecated-version="1.18"
+ throws="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.c"
+ line="371">Load data from the given URI into timeline.</doc>
+ <doc-deprecated xml:space="preserve">Use @ges_timeline_load_from_uri</doc-deprecated>
+ <source-position filename="ges/ges-formatter.h" line="140"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.c"
+ line="380">TRUE if the timeline data was successfully loaded from the URI,
+else FALSE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="formatter" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.c"
+ line="373">a #GESFormatter</doc>
+ <type name="Formatter" c:type="GESFormatter*"/>
+ </instance-parameter>
+ <parameter name="timeline" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.c"
+ line="374">a #GESTimeline</doc>
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </parameter>
+ <parameter name="uri" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.c"
+ line="375">a #gchar * pointing to a URI</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="save_to_uri"
+ c:identifier="ges_formatter_save_to_uri"
+ deprecated="1"
+ deprecated-version="1.18"
+ throws="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.c"
+ line="404">Save data from timeline to the given URI.</doc>
+ <doc-deprecated xml:space="preserve">Use @ges_timeline_save_to_uri</doc-deprecated>
+ <source-position filename="ges/ges-formatter.h" line="146"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.c"
+ line="414">TRUE if the timeline data was successfully saved to the URI
+else FALSE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="formatter" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.c"
+ line="406">a #GESFormatter</doc>
+ <type name="Formatter" c:type="GESFormatter*"/>
+ </instance-parameter>
+ <parameter name="timeline" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.c"
+ line="407">a #GESTimeline</doc>
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </parameter>
+ <parameter name="uri" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.c"
+ line="408">a #gchar * pointing to a URI</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="overwrite" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.c"
+ line="409">%TRUE to overwrite file if it exists</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <field name="parent">
+ <type name="GObject.InitiallyUnowned" c:type="GInitiallyUnowned"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="FormatterPrivate" c:type="GESFormatterPrivate*"/>
+ </field>
+ <field name="project" readable="0" private="1">
+ <type name="Project" c:type="GESProject*"/>
+ </field>
+ <field name="timeline" readable="0" private="1">
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <callback name="FormatterCanLoadURIMethod"
+ c:type="GESFormatterCanLoadURIMethod"
+ throws="1">
+ <source-position filename="ges/ges-formatter.h" line="52"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="dummy_instance" transfer-ownership="none">
+ <type name="Formatter" c:type="GESFormatter*"/>
+ </parameter>
+ <parameter name="uri" transfer-ownership="none">
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <record name="FormatterClass"
+ c:type="GESFormatterClass"
+ glib:is-gtype-struct-for="Formatter">
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.h"
+ line="92">GES Formatter class. Override the vmethods to implement the formatter functionnality.</doc>
+ <source-position filename="ges/ges-formatter.h" line="123"/>
+ <field name="parent_class">
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.h"
+ line="94">the parent class structure</doc>
+ <type name="GObject.InitiallyUnownedClass"
+ c:type="GInitiallyUnownedClass"/>
+ </field>
+ <field name="can_load_uri">
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.h"
+ line="95">Whether the URI can be loaded</doc>
+ <type name="FormatterCanLoadURIMethod"
+ c:type="GESFormatterCanLoadURIMethod"/>
+ </field>
+ <field name="load_from_uri">
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.h"
+ line="96">class method to deserialize data from a URI</doc>
+ <type name="FormatterLoadFromURIMethod"
+ c:type="GESFormatterLoadFromURIMethod"/>
+ </field>
+ <field name="save_to_uri">
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.h"
+ line="97">class method to serialize data to a URI</doc>
+ <type name="FormatterSaveToURIMethod"
+ c:type="GESFormatterSaveToURIMethod"/>
+ </field>
+ <field name="name" readable="0" private="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="description" readable="0" private="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="extension" readable="0" private="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="mimetype" readable="0" private="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="version" readable="0" private="1">
+ <type name="gdouble" c:type="gdouble"/>
+ </field>
+ <field name="rank" readable="0" private="1">
+ <type name="Gst.Rank" c:type="GstRank"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <method name="register_metas"
+ c:identifier="ges_formatter_class_register_metas">
+ <source-position filename="ges/ges-formatter.h" line="126"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="klass" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.c"
+ line="479">The class to register metas on</doc>
+ <type name="FormatterClass" c:type="GESFormatterClass*"/>
+ </instance-parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.c"
+ line="480">The name of the formatter</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="description" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.c"
+ line="481">The formatter description</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="extensions" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.c"
+ line="482">A list of coma separated file extensions handled
+by the formatter. The order of the extensions should match the
+list of the structures inside @caps</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.c"
+ line="485">The caps the formatter handled, they should match what
+gstreamer typefind mechanism will report for the files the formatter
+handles.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="version" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.c"
+ line="488">The version of the formatter</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </parameter>
+ <parameter name="rank" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.c"
+ line="489">The rank of the formatter</doc>
+ <type name="Gst.Rank" c:type="GstRank"/>
+ </parameter>
+ </parameters>
+ </method>
+ </record>
+ <callback name="FormatterLoadFromURIMethod"
+ c:type="GESFormatterLoadFromURIMethod"
+ throws="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.h"
+ line="54">Virtual method for loading a timeline from a given URI.
+
+Every #GESFormatter subclass needs to implement this method.</doc>
+ <source-position filename="ges/ges-formatter.h" line="68"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.c"
+ line="380">TRUE if the timeline data was successfully loaded from the URI,
+else FALSE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="formatter" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.c"
+ line="373">a #GESFormatter</doc>
+ <type name="Formatter" c:type="GESFormatter*"/>
+ </parameter>
+ <parameter name="timeline" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.c"
+ line="374">a #GESTimeline</doc>
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </parameter>
+ <parameter name="uri" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.c"
+ line="375">a #gchar * pointing to a URI</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <record name="FormatterPrivate" c:type="GESFormatterPrivate" disguised="1">
+ <source-position filename="ges/ges-formatter.h" line="29"/>
+ </record>
+ <callback name="FormatterSaveToURIMethod"
+ c:type="GESFormatterSaveToURIMethod"
+ throws="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.h"
+ line="73">Virtual method for saving a timeline to a uri.
+
+Every #GESFormatter subclass needs to implement this method.</doc>
+ <source-position filename="ges/ges-formatter.h" line="88"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.c"
+ line="414">TRUE if the timeline data was successfully saved to the URI
+else FALSE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="formatter" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.c"
+ line="406">a #GESFormatter</doc>
+ <type name="Formatter" c:type="GESFormatter*"/>
+ </parameter>
+ <parameter name="timeline" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.c"
+ line="407">a #GESTimeline</doc>
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </parameter>
+ <parameter name="uri" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.c"
+ line="408">a #gchar * pointing to a URI</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="overwrite" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.c"
+ line="409">%TRUE to overwrite file if it exists</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <class name="Group"
+ c:symbol-prefix="group"
+ c:type="GESGroup"
+ parent="Container"
+ glib:type-name="GESGroup"
+ glib:get-type="ges_group_get_type"
+ glib:type-struct="GroupClass">
+ <doc xml:space="preserve"
+ filename="ges/ges-group.c"
+ line="20">A #GESGroup controls one or more #GESContainer-s (usually #GESClip-s,
+but it can also control other #GESGroup-s). Its children must share
+the same #GESTimeline, but can otherwise lie in separate #GESLayer-s
+and have different timings.
+
+To initialise a group, you may want to use ges_container_group(),
+and similarly use ges_container_ungroup() to dispose of it.
+
+A group will maintain the relative #GESTimelineElement:start times of
+its children, as well as their relative layer #GESLayer:priority.
+Therefore, if one of its children has its #GESTimelineElement:start
+set, all other children will have their #GESTimelineElement:start
+shifted by the same amount. Similarly, if one of its children moves to
+a new layer, the other children will also change layers to maintain the
+difference in their layer priorities. For example, if a child moves
+from a layer with #GESLayer:priority 1 to a layer with priority 3, then
+another child that was in a layer with priority 0 will move to the
+layer with priority 2.
+
+The #GESGroup:start of a group refers to the earliest start
+time of its children. If the group's #GESGroup:start is set, all the
+children will be shifted equally such that the earliest start time
+will match the set value. The #GESGroup:duration of a group is the
+difference between the earliest start time and latest end time of its
+children. If the group's #GESGroup:duration is increased, the children
+whose end time matches the end of the group will be extended
+accordingly. If it is decreased, then any child whose end time exceeds
+the new end time will also have their duration decreased accordingly.
+
+A group may span several layers, but for methods such as
+ges_timeline_element_get_layer_priority() and
+ges_timeline_element_edit() a group is considered to have a layer
+priority that is the highest #GESLayer:priority (numerically, the
+smallest) of all the layers it spans.</doc>
+ <source-position filename="ges/ges-group.h" line="45"/>
+ <implements name="Extractable"/>
+ <implements name="MetaContainer"/>
+ <constructor name="new" c:identifier="ges_group_new">
+ <doc xml:space="preserve"
+ filename="ges/ges-group.c"
+ line="667">Created a new empty group. You may wish to use
+ges_container_group() instead, which can return a different
+#GESContainer subclass if possible.</doc>
+ <source-position filename="ges/ges-group.h" line="48"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-group.c"
+ line="674">The new empty group.</doc>
+ <type name="Group" c:type="GESGroup*"/>
+ </return-value>
+ </constructor>
+ <property name="duration" writable="1" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-group.c"
+ line="598">An overwrite of the #GESTimelineElement:duration property. For a
+#GESGroup, this is the difference between the earliest
+#GESTimelineElement:start time and the latest end time (given by
+#GESTimelineElement:start + #GESTimelineElement:duration) amongst
+its children.</doc>
+ <type name="guint64" c:type="guint64"/>
+ </property>
+ <property name="in-point" writable="1" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-group.c"
+ line="588">An overwrite of the #GESTimelineElement:in-point property. This has
+no meaning for a group and should not be set.</doc>
+ <type name="guint64" c:type="guint64"/>
+ </property>
+ <property name="max-duration"
+ writable="1"
+ construct="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-group.c"
+ line="612">An overwrite of the #GESTimelineElement:max-duration property. This
+has no meaning for a group and should not be set.</doc>
+ <type name="guint64" c:type="guint64"/>
+ </property>
+ <property name="priority" writable="1" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-group.c"
+ line="623">An overwrite of the #GESTimelineElement:priority property.
+Setting #GESTimelineElement priorities is deprecated as all priority
+management is now done by GES itself.</doc>
+ <type name="guint" c:type="guint"/>
+ </property>
+ <property name="start" writable="1" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-group.c"
+ line="577">An overwrite of the #GESTimelineElement:start property. For a
+#GESGroup, this is the earliest #GESTimelineElement:start time
+amongst its children.</doc>
+ <type name="guint64" c:type="guint64"/>
+ </property>
+ <field name="parent">
+ <type name="Container" c:type="GESContainer"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="GroupPrivate" c:type="GESGroupPrivate*"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="GroupClass"
+ c:type="GESGroupClass"
+ glib:is-gtype-struct-for="Group">
+ <source-position filename="ges/ges-group.h" line="45"/>
+ <field name="parent_class">
+ <type name="ContainerClass" c:type="GESContainerClass"/>
+ </field>
+ <field name="_ges_reserved">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="GroupPrivate" c:type="GESGroupPrivate" disguised="1">
+ <source-position filename="ges/ges-group.h" line="30"/>
+ </record>
+ <class name="ImageSource"
+ c:symbol-prefix="image_source"
+ c:type="GESImageSource"
+ deprecated="1"
+ deprecated-version="1.18"
+ parent="VideoSource"
+ glib:type-name="GESImageSource"
+ glib:get-type="ges_image_source_get_type"
+ glib:type-struct="ImageSourceClass">
+ <doc xml:space="preserve"
+ filename="ges/ges-image-source.c"
+ line="21">Outputs the video stream from a given file as a still frame. The frame chosen
+will be determined by the in-point property on the track element. For image
+files, do not set the in-point property.</doc>
+ <doc-deprecated xml:space="preserve">This won't be used anymore and has been replaced by
+#GESUriSource instead which now plugs an `imagefreeze` element when
+#ges_uri_source_asset_is_image returns %TRUE.</doc-deprecated>
+ <source-position filename="ges/ges-image-source.h" line="52"/>
+ <implements name="Extractable"/>
+ <implements name="MetaContainer"/>
+ <property name="uri"
+ writable="1"
+ construct-only="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-image-source.c"
+ line="167">The location of the file/resource to use.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </property>
+ <field name="parent" readable="0" private="1">
+ <type name="VideoSource" c:type="GESVideoSource"/>
+ </field>
+ <field name="uri" readable="0" private="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="ImageSourcePrivate" c:type="GESImageSourcePrivate*"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="ImageSourceClass"
+ c:type="GESImageSourceClass"
+ glib:is-gtype-struct-for="ImageSource">
+ <source-position filename="ges/ges-image-source.h" line="52"/>
+ <field name="parent_class">
+ <type name="VideoSourceClass" c:type="GESVideoSourceClass"/>
+ </field>
+ <field name="_ges_reserved">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="ImageSourcePrivate"
+ c:type="GESImageSourcePrivate"
+ disguised="1">
+ <source-position filename="ges/ges-image-source.h" line="30"/>
+ </record>
+ <class name="Layer"
+ c:symbol-prefix="layer"
+ c:type="GESLayer"
+ parent="GObject.InitiallyUnowned"
+ glib:type-name="GESLayer"
+ glib:get-type="ges_layer_get_type"
+ glib:type-struct="LayerClass">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="23">#GESLayer-s are responsible for collecting and ordering #GESClip-s.
+
+A layer within a timeline will have an associated priority,
+corresponding to their index within the timeline. A layer with the
+index/priority 0 will have the highest priority and the layer with the
+largest index will have the lowest priority (the order of priorities,
+in this sense, is the _reverse_ of the numerical ordering of the
+indices). ges_timeline_move_layer() should be used if you wish to
+change how layers are prioritised in a timeline.
+
+Layers with higher priorities will have their content priorities
+over content from lower priority layers, similar to how layers are
+used in image editing. For example, if two separate layers both
+display video content, then the layer with the higher priority will
+have its images shown first. The other layer will only have its image
+shown if the higher priority layer has no content at the given
+playtime, or is transparent in some way. Audio content in separate
+layers will simply play in addition.</doc>
+ <source-position filename="ges/ges-layer.h" line="73"/>
+ <implements name="Extractable"/>
+ <implements name="MetaContainer"/>
+ <constructor name="new" c:identifier="ges_layer_new">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="929">Creates a new layer.</doc>
+ <source-position filename="ges/ges-layer.h" line="76"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="934">A new layer.</doc>
+ <type name="Layer" c:type="GESLayer*"/>
+ </return-value>
+ </constructor>
+ <virtual-method name="get_objects" introspectable="0">
+ <source-position filename="ges/ges-layer.h" line="64"/>
+ <return-value>
+ <type name="GLib.List" c:type="GList*">
+ <type name="gpointer" c:type="gpointer"/>
+ </type>
+ </return-value>
+ <parameters>
+ <instance-parameter name="layer" transfer-ownership="none">
+ <type name="Layer" c:type="GESLayer*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="object_added">
+ <source-position filename="ges/ges-layer.h" line="68"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="layer" transfer-ownership="none">
+ <type name="Layer" c:type="GESLayer*"/>
+ </instance-parameter>
+ <parameter name="object" transfer-ownership="none">
+ <type name="Clip" c:type="GESClip*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="object_removed">
+ <source-position filename="ges/ges-layer.h" line="69"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="layer" transfer-ownership="none">
+ <type name="Layer" c:type="GESLayer*"/>
+ </instance-parameter>
+ <parameter name="object" transfer-ownership="none">
+ <type name="Clip" c:type="GESClip*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <method name="add_asset" c:identifier="ges_layer_add_asset">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="902">See ges_layer_add_asset_full(), which also gives an error.</doc>
+ <source-position filename="ges/ges-layer.h" line="92"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="918">The newly created clip.</doc>
+ <type name="Clip" c:type="GESClip*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="layer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="904">The #GESLayer</doc>
+ <type name="Layer" c:type="GESLayer*"/>
+ </instance-parameter>
+ <parameter name="asset" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="905">The asset to extract the new clip from</doc>
+ <type name="Asset" c:type="GESAsset*"/>
+ </parameter>
+ <parameter name="start" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="906">The #GESTimelineElement:start value to set on the new clip
+If `start == #GST_CLOCK_TIME_NONE`, it will be added to the end
+of @layer, i.e. it will be set to @layer's duration</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="inpoint" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="909">The #GESTimelineElement:in-point value to set on the new
+clip</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="duration" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="911">The #GESTimelineElement:duration value to set on the new
+clip</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="track_types" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="913">The #GESClip:supported-formats to set on the the new
+clip, or #GES_TRACK_TYPE_UNKNOWN to use the default</doc>
+ <type name="TrackType" c:type="GESTrackType"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_asset_full"
+ c:identifier="ges_layer_add_asset_full"
+ version="1.18"
+ throws="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="836">Extracts a new clip from an asset and adds it to the layer with
+the given properties.</doc>
+ <source-position filename="ges/ges-layer.h" line="99"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="854">The newly created clip.</doc>
+ <type name="Clip" c:type="GESClip*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="layer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="838">The #GESLayer</doc>
+ <type name="Layer" c:type="GESLayer*"/>
+ </instance-parameter>
+ <parameter name="asset" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="839">The asset to extract the new clip from</doc>
+ <type name="Asset" c:type="GESAsset*"/>
+ </parameter>
+ <parameter name="start" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="840">The #GESTimelineElement:start value to set on the new clip
+If `start == #GST_CLOCK_TIME_NONE`, it will be added to the end
+of @layer, i.e. it will be set to @layer's duration</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="inpoint" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="843">The #GESTimelineElement:in-point value to set on the new
+clip</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="duration" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="845">The #GESTimelineElement:duration value to set on the new
+clip</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="track_types" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="847">The #GESClip:supported-formats to set on the the new
+clip, or #GES_TRACK_TYPE_UNKNOWN to use the default</doc>
+ <type name="TrackType" c:type="GESTrackType"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_clip" c:identifier="ges_layer_add_clip">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="820">See ges_layer_add_clip_full(), which also gives an error.</doc>
+ <source-position filename="ges/ges-layer.h" line="85"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="827">%TRUE if @clip was properly added to @layer, or %FALSE
+if @layer refused to add @clip.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="layer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="822">The #GESLayer</doc>
+ <type name="Layer" c:type="GESLayer*"/>
+ </instance-parameter>
+ <parameter name="clip" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="823">The clip to add</doc>
+ <type name="Clip" c:type="GESClip*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_clip_full"
+ c:identifier="ges_layer_add_clip_full"
+ version="1.18"
+ throws="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="653">Adds the given clip to the layer. If the method succeeds, the layer
+will take ownership of the clip.
+
+This method will fail and return %FALSE if @clip already resides in
+some layer. It can also fail if the additional clip breaks some
+compositional rules (see #GESTimelineElement).</doc>
+ <source-position filename="ges/ges-layer.h" line="88"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="666">%TRUE if @clip was properly added to @layer, or %FALSE
+if @layer refused to add @clip.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="layer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="655">The #GESLayer</doc>
+ <type name="Layer" c:type="GESLayer*"/>
+ </instance-parameter>
+ <parameter name="clip" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="656">The clip to add</doc>
+ <type name="Clip" c:type="GESClip*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_active_for_track"
+ c:identifier="ges_layer_get_active_for_track">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="1020">Gets whether the layer is active for the given track. See
+ges_layer_set_active_for_tracks().</doc>
+ <source-position filename="ges/ges-layer.h" line="143"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="1028">%TRUE if @layer is active for @track, or %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="layer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="1022">The #GESLayer</doc>
+ <type name="Layer" c:type="GESLayer*"/>
+ </instance-parameter>
+ <parameter name="track" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="1023">The #GESTrack to check if @layer is currently active for</doc>
+ <type name="Track" c:type="GESTrack*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_auto_transition"
+ c:identifier="ges_layer_get_auto_transition">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="548">Gets the #GESLayer:auto-transition of the layer.</doc>
+ <source-position filename="ges/ges-layer.h" line="127"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="554">%TRUE if transitions are automatically added to @layer.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="layer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="550">The #GESLayer</doc>
+ <type name="Layer" c:type="GESLayer*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_clips" c:identifier="ges_layer_get_clips">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="607">Get the #GESClip-s contained in this layer.</doc>
+ <source-position filename="ges/ges-layer.h" line="134"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="613">A list of clips in
+@layer.</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="Clip"/>
+ </type>
+ </return-value>
+ <parameters>
+ <instance-parameter name="layer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="609">The #GESLayer</doc>
+ <type name="Layer" c:type="GESLayer*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_clips_in_interval"
+ c:identifier="ges_layer_get_clips_in_interval">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="976">Gets the clips within the layer that appear between @start and @end.</doc>
+ <source-position filename="ges/ges-layer.h" line="119"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="984">A list of #GESClip-s
+that intersect the interval `[start, end)` in @layer.</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="Clip"/>
+ </type>
+ </return-value>
+ <parameters>
+ <instance-parameter name="layer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="978">The #GESLayer</doc>
+ <type name="Layer" c:type="GESLayer*"/>
+ </instance-parameter>
+ <parameter name="start" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="979">Start of the interval</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="end" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="980">End of the interval</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_duration" c:identifier="ges_layer_get_duration">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="438">Retrieves the duration of the layer, which is the difference
+between the start of the layer (always time 0) and the end (which will
+be the end time of the final clip).</doc>
+ <source-position filename="ges/ges-layer.h" line="136"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="446">The duration of @layer.</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="layer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="440">The layer to get the duration from</doc>
+ <type name="Layer" c:type="GESLayer*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_priority" c:identifier="ges_layer_get_priority">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="590">Get the priority of the layer. When inside a timeline, this is its
+index in the timeline. See ges_timeline_move_layer().</doc>
+ <source-position filename="ges/ges-layer.h" line="124"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="597">The priority of @layer within its timeline.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="layer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="592">The #GESLayer</doc>
+ <type name="Layer" c:type="GESLayer*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_timeline" c:identifier="ges_layer_get_timeline">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="942">Gets the timeline that the layer is a part of.</doc>
+ <source-position filename="ges/ges-layer.h" line="82"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="948">The timeline that @layer
+is currently part of, or %NULL if it is not associated with any
+timeline.</doc>
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="layer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="944">The #GESLayer</doc>
+ <type name="Layer" c:type="GESLayer*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="is_empty" c:identifier="ges_layer_is_empty">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="635">Convenience method to check if the layer is empty (doesn't contain
+any #GESClip), or not.</doc>
+ <source-position filename="ges/ges-layer.h" line="116"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="642">%TRUE if @layer is empty, %FALSE if it contains at least
+one clip.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="layer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="637">The #GESLayer to check</doc>
+ <type name="Layer" c:type="GESLayer*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="remove_clip" c:identifier="ges_layer_remove_clip">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="508">Removes the given clip from the layer.</doc>
+ <source-position filename="ges/ges-layer.h" line="108"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="515">%TRUE if @clip was removed from @layer, or %FALSE if the
+operation failed.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="layer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="510">The #GESLayer</doc>
+ <type name="Layer" c:type="GESLayer*"/>
+ </instance-parameter>
+ <parameter name="clip" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="511">The clip to remove</doc>
+ <type name="Clip" c:type="GESClip*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_active_for_tracks"
+ c:identifier="ges_layer_set_active_for_tracks">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="1045">Activate or deactivate track elements in @tracks (or in all tracks if @tracks
+is %NULL).
+
+When a layer is deactivated for a track, all the #GESTrackElement-s in
+the track that belong to a #GESClip in the layer will no longer be
+active in the track, regardless of their individual
+#GESTrackElement:active value.
+
+Note that by default a layer will be active for all of its
+timeline's tracks.</doc>
+ <source-position filename="ges/ges-layer.h" line="138"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="1064">%TRUE if the operation worked %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="layer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="1047">The #GESLayer</doc>
+ <type name="Layer" c:type="GESLayer*"/>
+ </instance-parameter>
+ <parameter name="active" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="1048">Whether elements in @tracks should be active or not</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ <parameter name="tracks"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="1049">The list of
+tracks @layer should be (de-)active in, or %NULL to include all the tracks
+in the @layer's timeline</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="Track"/>
+ </type>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_auto_transition"
+ c:identifier="ges_layer_set_auto_transition">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="564">Sets #GESLayer:auto-transition for the layer. Use
+ges_timeline_set_auto_transition() if you want all layers within a
+#GESTimeline to have #GESLayer:auto-transition set to %TRUE. Use this
+method if you want different values for different layers (and make sure
+to keep #GESTimeline:auto-transition as %FALSE for the corresponding
+timeline).</doc>
+ <source-position filename="ges/ges-layer.h" line="130"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="layer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="566">The #GESLayer</doc>
+ <type name="Layer" c:type="GESLayer*"/>
+ </instance-parameter>
+ <parameter name="auto_transition" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="567">Whether transitions should be automatically added to
+the layer</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_priority"
+ c:identifier="ges_layer_set_priority"
+ deprecated="1"
+ deprecated-version="1.16.0">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="527">Sets the layer to the given priority. See #GESLayer:priority.</doc>
+ <doc-deprecated xml:space="preserve">use #ges_timeline_move_layer instead. This deprecation means
+that you will not need to handle layer priorities at all yourself, GES
+will make sure there is never 'gaps' between layer priorities.</doc-deprecated>
+ <source-position filename="ges/ges-layer.h" line="112"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="layer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="529">The #GESLayer</doc>
+ <type name="Layer" c:type="GESLayer*"/>
+ </instance-parameter>
+ <parameter name="priority" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="530">The priority to set</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_timeline" c:identifier="ges_layer_set_timeline">
+ <source-position filename="ges/ges-layer.h" line="79"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="layer" transfer-ownership="none">
+ <type name="Layer" c:type="GESLayer*"/>
+ </instance-parameter>
+ <parameter name="timeline" transfer-ownership="none">
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="auto-transition" writable="1" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="236">Whether to automatically create a #GESTransitionClip whenever two
+#GESSource-s that both belong to a #GESClip in the layer overlap.
+See #GESTimeline for what counts as an overlap.
+
+When a layer is added to a #GESTimeline, if this property is left as
+%FALSE, but the timeline's #GESTimeline:auto-transition is %TRUE, it
+will be set to %TRUE as well.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </property>
+ <property name="priority"
+ deprecated="1"
+ deprecated-version="1.16.0"
+ writable="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="217">The priority of the layer in the #GESTimeline. 0 is the highest
+priority. Conceptually, a timeline is a stack of layers,
+and the priority of the layer represents its position in the stack. Two
+layers should not have the same priority within a given GESTimeline.
+
+Note that the timeline needs to be committed (with #ges_timeline_commit)
+for the change to be taken into account.</doc>
+ <doc-deprecated xml:space="preserve">use #ges_timeline_move_layer instead. This deprecation means
+that you will not need to handle layer priorities at all yourself, GES
+will make sure there is never 'gaps' between layer priorities.</doc-deprecated>
+ <type name="guint" c:type="guint"/>
+ </property>
+ <field name="parent">
+ <type name="GObject.InitiallyUnowned" c:type="GInitiallyUnowned"/>
+ </field>
+ <field name="timeline">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.h"
+ line="33">the #GESTimeline where this layer is being used.</doc>
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </field>
+ <field name="min_nle_priority">
+ <type name="guint32" c:type="guint32"/>
+ </field>
+ <field name="max_nle_priority">
+ <type name="guint32" c:type="guint32"/>
+ </field>
+ <field name="priv">
+ <type name="LayerPrivate" c:type="GESLayerPrivate*"/>
+ </field>
+ <field name="_ges_reserved">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <glib:signal name="active-changed" when="first">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="275">Will be emitted whenever the layer is activated or deactivated
+for some #GESTrack. See ges_layer_set_active_for_tracks().</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="active" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="278">Whether @layer has been made active or de-active in the @tracks</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ <parameter name="tracks" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="279">A list of #GESTrack
+which have been activated or deactivated</doc>
+ <array name="GLib.PtrArray">
+ <type name="Track"/>
+ </array>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="clip-added" when="first">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="251">Will be emitted after the clip is added to the layer.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="clip" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="254">The clip that was added</doc>
+ <type name="Clip"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="clip-removed" when="first">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="263">Will be emitted after the clip is removed from the layer.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="clip" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.c"
+ line="266">The clip that was removed</doc>
+ <type name="Clip"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ </class>
+ <record name="LayerClass"
+ c:type="GESLayerClass"
+ glib:is-gtype-struct-for="Layer">
+ <doc xml:space="preserve"
+ filename="ges/ges-layer.h"
+ line="51">Subclasses can override the @get_objects if they can provide a more
+efficient way of providing the list of contained #GESClip-s.</doc>
+ <source-position filename="ges/ges-layer.h" line="73"/>
+ <field name="parent_class" readable="0" private="1">
+ <type name="GObject.InitiallyUnownedClass"
+ c:type="GInitiallyUnownedClass"/>
+ </field>
+ <field name="get_objects" introspectable="0">
+ <callback name="get_objects" introspectable="0">
+ <source-position filename="ges/ges-layer.h" line="64"/>
+ <return-value>
+ <type name="GLib.List" c:type="GList*">
+ <type name="gpointer" c:type="gpointer"/>
+ </type>
+ </return-value>
+ <parameters>
+ <parameter name="layer" transfer-ownership="none">
+ <type name="Layer" c:type="GESLayer*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="object_added">
+ <callback name="object_added">
+ <source-position filename="ges/ges-layer.h" line="68"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="layer" transfer-ownership="none">
+ <type name="Layer" c:type="GESLayer*"/>
+ </parameter>
+ <parameter name="object" transfer-ownership="none">
+ <type name="Clip" c:type="GESClip*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="object_removed">
+ <callback name="object_removed">
+ <source-position filename="ges/ges-layer.h" line="69"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="layer" transfer-ownership="none">
+ <type name="Layer" c:type="GESLayer*"/>
+ </parameter>
+ <parameter name="object" transfer-ownership="none">
+ <type name="Clip" c:type="GESClip*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="LayerPrivate" c:type="GESLayerPrivate" disguised="1">
+ <source-position filename="ges/ges-layer.h" line="29"/>
+ </record>
+ <constant name="META_DESCRIPTION"
+ value="description"
+ c:type="GES_META_DESCRIPTION">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.h"
+ line="41">The description of the object, to be used in various contexts (string).</doc>
+ <source-position filename="ges/ges-meta-container.h" line="46"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="META_FORMATTER_EXTENSION"
+ value="extension"
+ c:type="GES_META_FORMATTER_EXTENSION">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.h"
+ line="55">The file extension of files produced by a #GESFormatter (string).</doc>
+ <source-position filename="ges/ges-meta-container.h" line="60"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="META_FORMATTER_MIMETYPE"
+ value="mimetype"
+ c:type="GES_META_FORMATTER_MIMETYPE">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.h"
+ line="48">The mimetype used for the file produced by a #GESFormatter (string).</doc>
+ <source-position filename="ges/ges-meta-container.h" line="53"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="META_FORMATTER_NAME"
+ value="name"
+ c:type="GES_META_FORMATTER_NAME">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.h"
+ line="33">The name of a formatter, used as the #GESAsset:id for #GESFormatter
+assets (string).</doc>
+ <source-position filename="ges/ges-meta-container.h" line="39"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="META_FORMATTER_RANK"
+ value="rank"
+ c:type="GES_META_FORMATTER_RANK">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.h"
+ line="69">The rank of a #GESFormatter (a #GstRank).</doc>
+ <source-position filename="ges/ges-meta-container.h" line="74"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="META_FORMATTER_VERSION"
+ value="version"
+ c:type="GES_META_FORMATTER_VERSION">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.h"
+ line="62">The version of a #GESFormatter (double).</doc>
+ <source-position filename="ges/ges-meta-container.h" line="67"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="META_FORMAT_VERSION"
+ value="format-version"
+ c:type="GES_META_FORMAT_VERSION">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.h"
+ line="90">The version of the format in which a project is serialized (string).</doc>
+ <source-position filename="ges/ges-meta-container.h" line="95"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="META_MARKER_COLOR"
+ value="marker-color"
+ c:type="GES_META_MARKER_COLOR">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.h"
+ line="97">The ARGB color of a #GESMarker (an AARRGGBB hex as a uint).</doc>
+ <source-position filename="ges/ges-meta-container.h" line="102"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="META_VOLUME" value="volume" c:type="GES_META_VOLUME">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.h"
+ line="76">The volume for a #GESTrack or a #GESLayer (float).</doc>
+ <source-position filename="ges/ges-meta-container.h" line="81"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="META_VOLUME_DEFAULT"
+ value="1.000000"
+ c:type="GES_META_VOLUME_DEFAULT">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.h"
+ line="83">The default volume for a #GESTrack or a #GESLayer as a float.</doc>
+ <source-position filename="ges/ges-meta-container.h" line="88"/>
+ <type name="gdouble" c:type="gdouble"/>
+ </constant>
+ <constant name="MULTI_FILE_URI_PREFIX"
+ value="multifile://"
+ c:type="GES_MULTI_FILE_URI_PREFIX">
+ <source-position filename="ges/ges-multi-file-source.h" line="57"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <class name="Marker"
+ c:symbol-prefix="marker"
+ c:type="GESMarker"
+ parent="GObject.Object"
+ glib:type-name="GESMarker"
+ glib:get-type="ges_marker_get_type"
+ glib:type-struct="MarkerClass">
+ <source-position filename="ges/ges-marker-list.h" line="31"/>
+ <implements name="MetaContainer"/>
+ <property name="position" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-marker-list.c"
+ line="95">Current position (in nanoseconds) of the #GESMarker</doc>
+ <type name="guint64" c:type="guint64"/>
+ </property>
+ </class>
+ <record name="MarkerClass"
+ c:type="GESMarkerClass"
+ glib:is-gtype-struct-for="Marker">
+ <source-position filename="ges/ges-marker-list.h" line="31"/>
+ <field name="parent_class">
+ <type name="GObject.ObjectClass" c:type="GObjectClass"/>
+ </field>
+ </record>
+ <class name="MarkerList"
+ c:symbol-prefix="marker_list"
+ c:type="GESMarkerList"
+ version="1.18"
+ parent="GObject.Object"
+ glib:type-name="GESMarkerList"
+ glib:get-type="ges_marker_list_get_type"
+ glib:type-struct="MarkerListClass">
+ <doc xml:space="preserve"
+ filename="ges/ges-marker-list.c"
+ line="21">A #GESMarker can be colored by setting the #GES_META_MARKER_COLOR meta.</doc>
+ <source-position filename="ges/ges-marker-list.h" line="36"/>
+ <constructor name="new"
+ c:identifier="ges_marker_list_new"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="ges/ges-marker-list.c"
+ line="225">Creates a new #GESMarkerList.</doc>
+ <source-position filename="ges/ges-marker-list.h" line="39"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="ges/ges-marker-list.c"
+ line="230">A new #GESMarkerList</doc>
+ <type name="MarkerList" c:type="GESMarkerList*"/>
+ </return-value>
+ </constructor>
+ <method name="add" c:identifier="ges_marker_list_add" version="1.18">
+ <source-position filename="ges/ges-marker-list.h" line="42"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-marker-list.c"
+ line="247">The newly-added marker, the list keeps ownership
+of the marker</doc>
+ <type name="Marker" c:type="GESMarker*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="list" transfer-ownership="none">
+ <type name="MarkerList" c:type="GESMarkerList*"/>
+ </instance-parameter>
+ <parameter name="position" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-marker-list.c"
+ line="245">The position of the new marker</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_markers"
+ c:identifier="ges_marker_list_get_markers"
+ version="1.18">
+ <source-position filename="ges/ges-marker-list.h" line="52"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="ges/ges-marker-list.c"
+ line="324">a #GList
+of the #GESMarker within the GESMarkerList. The user will have
+to unref each #GESMarker and free the #GList.</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="Marker"/>
+ </type>
+ </return-value>
+ <parameters>
+ <instance-parameter name="list" transfer-ownership="none">
+ <type name="MarkerList" c:type="GESMarkerList*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="move" c:identifier="ges_marker_list_move" version="1.18">
+ <doc xml:space="preserve"
+ filename="ges/ges-marker-list.c"
+ line="351">Moves a @marker in a @list to a new @position</doc>
+ <source-position filename="ges/ges-marker-list.h" line="55"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-marker-list.c"
+ line="356">%TRUE if the marker could be moved, %FALSE otherwise
+ (if the marker was not present in the list for example)</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="list" transfer-ownership="none">
+ <type name="MarkerList" c:type="GESMarkerList*"/>
+ </instance-parameter>
+ <parameter name="marker" transfer-ownership="none">
+ <type name="Marker" c:type="GESMarker*"/>
+ </parameter>
+ <parameter name="position" transfer-ownership="none">
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="remove"
+ c:identifier="ges_marker_list_remove"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="ges/ges-marker-list.c"
+ line="286">Removes @marker from @list, this decreases the refcount of the
+marker by 1.</doc>
+ <source-position filename="ges/ges-marker-list.h" line="45"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-marker-list.c"
+ line="292">%TRUE if the marker could be removed, %FALSE otherwise
+ (if the marker was not present in the list for example)</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="list" transfer-ownership="none">
+ <type name="MarkerList" c:type="GESMarkerList*"/>
+ </instance-parameter>
+ <parameter name="marker" transfer-ownership="none">
+ <type name="Marker" c:type="GESMarker*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="size" c:identifier="ges_marker_list_size" version="1.18">
+ <source-position filename="ges/ges-marker-list.h" line="48"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-marker-list.c"
+ line="275">The number of markers in @list</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="list" transfer-ownership="none">
+ <type name="MarkerList" c:type="GESMarkerList*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <glib:signal name="marker-added" when="first" version="1.18">
+ <doc xml:space="preserve"
+ filename="ges/ges-marker-list.c"
+ line="169">Will be emitted after the marker was added to the marker-list.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="position" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-marker-list.c"
+ line="172">the position of the added marker</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ <parameter name="marker" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-marker-list.c"
+ line="173">the #GESMarker that was added.</doc>
+ <type name="Marker"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="marker-moved" when="first" version="1.18">
+ <doc xml:space="preserve"
+ filename="ges/ges-marker-list.c"
+ line="195">Will be emitted after the marker was moved to.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="previous_position" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-marker-list.c"
+ line="198">the previous position of the marker</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ <parameter name="new_position" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-marker-list.c"
+ line="199">the new position of the marker</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ <parameter name="marker" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-marker-list.c"
+ line="200">the #GESMarker that was moved.</doc>
+ <type name="Marker"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="marker-removed" when="first" version="1.18">
+ <doc xml:space="preserve"
+ filename="ges/ges-marker-list.c"
+ line="183">Will be emitted after the marker was removed the marker-list.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="marker" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-marker-list.c"
+ line="186">the #GESMarker that was removed.</doc>
+ <type name="Marker"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ </class>
+ <record name="MarkerListClass"
+ c:type="GESMarkerListClass"
+ glib:is-gtype-struct-for="MarkerList">
+ <source-position filename="ges/ges-marker-list.h" line="36"/>
+ <field name="parent_class">
+ <type name="GObject.ObjectClass" c:type="GObjectClass"/>
+ </field>
+ </record>
+ <interface name="MetaContainer"
+ c:symbol-prefix="meta_container"
+ c:type="GESMetaContainer"
+ glib:type-name="GESMetaContainer"
+ glib:get-type="ges_meta_container_get_type"
+ glib:type-struct="MetaContainerInterface">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="30">A #GObject that implements #GESMetaContainer can have metadata set on
+it, that is data that is unimportant to its function within GES, but
+may hold some useful information. In particular,
+ges_meta_container_set_meta() can be used to store any #GValue under
+any generic field (specified by a string key). The same method can also
+be used to remove the field by passing %NULL. A number of convenience
+methods are also provided to make it easier to set common value types.
+The metadata can then be read with ges_meta_container_get_meta() and
+similar convenience methods.
+
+## Registered Fields
+
+By default, any #GValue can be set for a metadata field. However, you
+can register some fields as static, that is they only allow values of a
+specific type to be set under them, using
+ges_meta_container_register_meta() or
+ges_meta_container_register_static_meta(). The set #GESMetaFlag will
+determine whether the value can be changed, but even if it can be
+changed, it must be changed to a value of the same type.
+
+Internally, some GES objects will be initialized with static metadata
+fields. These will correspond to some standard keys, such as
+#GES_META_VOLUME.</doc>
+ <source-position filename="ges/ges-meta-container.h" line="111"/>
+ <method name="add_metas_from_string"
+ c:identifier="ges_meta_container_add_metas_from_string">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="541">Deserializes the given string, and adds and sets the found fields and
+their values on the container. The string should be the return of
+ges_meta_container_metas_to_string().</doc>
+ <source-position filename="ges/ges-meta-container.h" line="331"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="550">%TRUE if the fields in @str was successfully deserialized
+and added to @container.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="container" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="543">A #GESMetaContainer</doc>
+ <type name="MetaContainer" c:type="GESMetaContainer*"/>
+ </instance-parameter>
+ <parameter name="str" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="544">A string to deserialize and add to @container</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="check_meta_registered"
+ c:identifier="ges_meta_container_check_meta_registered">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="871">Checks whether the specified field has been registered as static, and
+gets the registered type and flags of the field, as used in
+ges_meta_container_register_meta() and
+ges_meta_container_register_static_meta().</doc>
+ <source-position filename="ges/ges-meta-container.h" line="246"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="885">%TRUE if the @meta_item field has been registered on
+@container.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="container" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="873">A #GESMetaContainer</doc>
+ <type name="MetaContainer" c:type="GESMetaContainer*"/>
+ </instance-parameter>
+ <parameter name="meta_item" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="874">The key for the @container field to check</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="flags"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ nullable="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="875">A destination to get the registered flags of
+the field, or %NULL to ignore</doc>
+ <type name="MetaFlag" c:type="GESMetaFlag*"/>
+ </parameter>
+ <parameter name="type"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ nullable="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="877">A destination to get the registered type of
+the field, or %NULL to ignore</doc>
+ <type name="GType" c:type="GType*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="foreach" c:identifier="ges_meta_container_foreach">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="172">Calls the given function on each of the meta container's set metadata
+fields.</doc>
+ <source-position filename="ges/ges-meta-container.h" line="323"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="container" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="174">A #GESMetaContainer</doc>
+ <type name="MetaContainer" c:type="GESMetaContainer*"/>
+ </instance-parameter>
+ <parameter name="func"
+ transfer-ownership="none"
+ scope="call"
+ closure="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="175">A function to call on each of @container's set
+metadata fields</doc>
+ <type name="MetaForeachFunc" c:type="GESMetaForeachFunc"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="177">User data to send to @func</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_boolean" c:identifier="ges_meta_container_get_boolean">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="935">Gets the current boolean value of the specified field of the meta
+container. If the field does not have a set value, or it is of the
+wrong type, the method will fail.</doc>
+ <source-position filename="ges/ges-meta-container.h" line="252"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="946">%TRUE if the boolean value under @meta_item was copied
+to @dest.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="container" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="937">A #GESMetaContainer</doc>
+ <type name="MetaContainer" c:type="GESMetaContainer*"/>
+ </instance-parameter>
+ <parameter name="meta_item" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="938">The key for the @container field to get</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="dest"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="939">Destination into which the value under @meta_item
+should be copied.</doc>
+ <type name="gboolean" c:type="gboolean*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_date" c:identifier="ges_meta_container_get_date">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="1190">Gets the current date value of the specified field of the meta
+container. If the field does not have a set value, or it is of the
+wrong type, the method will fail.</doc>
+ <source-position filename="ges/ges-meta-container.h" line="287"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="1201">%TRUE if the date value under @meta_item was copied
+to @dest.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="container" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="1192">A #GESMetaContainer</doc>
+ <type name="MetaContainer" c:type="GESMetaContainer*"/>
+ </instance-parameter>
+ <parameter name="meta_item" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="1193">The key for the @container field to get</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="dest"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="1194">Destination into which the value under @meta_item
+should be copied.</doc>
+ <type name="GLib.Date" c:type="GDate**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_date_time"
+ c:identifier="ges_meta_container_get_date_time">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="1206">Gets the current date time value of the specified field of the meta
+container. If the field does not have a set value, or it is of the
+wrong type, the method will fail.</doc>
+ <source-position filename="ges/ges-meta-container.h" line="292"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="1217">%TRUE if the date time value under @meta_item was copied
+to @dest.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="container" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="1208">A #GESMetaContainer</doc>
+ <type name="MetaContainer" c:type="GESMetaContainer*"/>
+ </instance-parameter>
+ <parameter name="meta_item" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="1209">The key for the @container field to get</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="dest"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="1210">Destination into which the value under @meta_item
+should be copied.</doc>
+ <type name="Gst.DateTime" c:type="GstDateTime**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_double" c:identifier="ges_meta_container_get_double">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="983">Gets the current double value of the specified field of the meta
+container. If the field does not have a set value, or it is of the
+wrong type, the method will fail.</doc>
+ <source-position filename="ges/ges-meta-container.h" line="282"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="994">%TRUE if the double value under @meta_item was copied
+to @dest.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="container" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="985">A #GESMetaContainer</doc>
+ <type name="MetaContainer" c:type="GESMetaContainer*"/>
+ </instance-parameter>
+ <parameter name="meta_item" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="986">The key for the @container field to get</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="dest"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="987">Destination into which the value under @meta_item
+should be copied.</doc>
+ <type name="gdouble" c:type="gdouble*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_float" c:identifier="ges_meta_container_get_float">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="1071">Gets the current float value of the specified field of the meta
+container. If the field does not have a set value, or it is of the
+wrong type, the method will fail.</doc>
+ <source-position filename="ges/ges-meta-container.h" line="277"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="1082">%TRUE if the float value under @meta_item was copied
+to @dest.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="container" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="1073">A #GESMetaContainer</doc>
+ <type name="MetaContainer" c:type="GESMetaContainer*"/>
+ </instance-parameter>
+ <parameter name="meta_item" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="1074">The key for the @container field to get</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="dest"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="1075">Destination into which the value under @meta_item
+should be copied.</doc>
+ <type name="gfloat" c:type="gfloat*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_int" c:identifier="ges_meta_container_get_int">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="951">Gets the current int value of the specified field of the meta
+container. If the field does not have a set value, or it is of the
+wrong type, the method will fail.</doc>
+ <source-position filename="ges/ges-meta-container.h" line="257"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="962">%TRUE if the int value under @meta_item was copied
+to @dest.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="container" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="953">A #GESMetaContainer</doc>
+ <type name="MetaContainer" c:type="GESMetaContainer*"/>
+ </instance-parameter>
+ <parameter name="meta_item" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="954">The key for the @container field to get</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="dest"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="955">Destination into which the value under @meta_item
+should be copied.</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_int64" c:identifier="ges_meta_container_get_int64">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="999">Gets the current int64 value of the specified field of the meta
+container. If the field does not have a set value, or it is of the
+wrong type, the method will fail.</doc>
+ <source-position filename="ges/ges-meta-container.h" line="267"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="1010">%TRUE if the int64 value under @meta_item was copied
+to @dest.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="container" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="1001">A #GESMetaContainer</doc>
+ <type name="MetaContainer" c:type="GESMetaContainer*"/>
+ </instance-parameter>
+ <parameter name="meta_item" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="1002">The key for the @container field to get</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="dest"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="1003">Destination into which the value under @meta_item
+should be copied.</doc>
+ <type name="gint64" c:type="gint64*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_marker_list"
+ c:identifier="ges_meta_container_get_marker_list"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="1156">Gets the current marker list value of the specified field of the meta
+container. If the field does not have a set value, or it is of the
+wrong type, the method will fail.</doc>
+ <source-position filename="ges/ges-meta-container.h" line="301"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="1165">A copy of the marker list value under @key,
+or %NULL if it could not be fetched.</doc>
+ <type name="MarkerList" c:type="GESMarkerList*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="container" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="1158">A #GESMetaContainer</doc>
+ <type name="MetaContainer" c:type="GESMetaContainer*"/>
+ </instance-parameter>
+ <parameter name="key" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="1159">The key for the @container field to get</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_meta" c:identifier="ges_meta_container_get_meta">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="1133">Gets the current value of the specified field of the meta container.</doc>
+ <source-position filename="ges/ges-meta-container.h" line="305"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="1140">The value under @key, or %NULL if @container
+does not have the field set.</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="container" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="1135">A #GESMetaContainer</doc>
+ <type name="MetaContainer" c:type="GESMetaContainer*"/>
+ </instance-parameter>
+ <parameter name="key" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="1136">The key for the @container field to get</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_string" c:identifier="ges_meta_container_get_string">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="1107">Gets the current string value of the specified field of the meta
+container. If the field does not have a set value, or it is of the
+wrong type, the method will fail.</doc>
+ <source-position filename="ges/ges-meta-container.h" line="297"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="1116">The string value under @meta_item, or %NULL
+if it could not be fetched.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="container" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="1109">A #GESMetaContainer</doc>
+ <type name="MetaContainer" c:type="GESMetaContainer*"/>
+ </instance-parameter>
+ <parameter name="meta_item" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="1110">The key for the @container field to get</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_uint" c:identifier="ges_meta_container_get_uint">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="967">Gets the current uint value of the specified field of the meta
+container. If the field does not have a set value, or it is of the
+wrong type, the method will fail.</doc>
+ <source-position filename="ges/ges-meta-container.h" line="262"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="978">%TRUE if the uint value under @meta_item was copied
+to @dest.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="container" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="969">A #GESMetaContainer</doc>
+ <type name="MetaContainer" c:type="GESMetaContainer*"/>
+ </instance-parameter>
+ <parameter name="meta_item" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="970">The key for the @container field to get</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="dest"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="971">Destination into which the value under @meta_item
+should be copied.</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_uint64" c:identifier="ges_meta_container_get_uint64">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="1035">Gets the current uint64 value of the specified field of the meta
+container. If the field does not have a set value, or it is of the
+wrong type, the method will fail.</doc>
+ <source-position filename="ges/ges-meta-container.h" line="272"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="1046">%TRUE if the uint64 value under @meta_item was copied
+to @dest.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="container" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="1037">A #GESMetaContainer</doc>
+ <type name="MetaContainer" c:type="GESMetaContainer*"/>
+ </instance-parameter>
+ <parameter name="meta_item" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="1038">The key for the @container field to get</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="dest"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="1039">Destination into which the value under @meta_item
+should be copied.</doc>
+ <type name="guint64" c:type="guint64*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="metas_to_string"
+ c:identifier="ges_meta_container_metas_to_string">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="520">Serializes the set metadata fields of the meta container to a string.</doc>
+ <source-position filename="ges/ges-meta-container.h" line="328"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="526">A serialized @container, or %NULL if an error
+occurred.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="container" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="522">A #GESMetaContainer</doc>
+ <type name="MetaContainer" c:type="GESMetaContainer*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="register_meta"
+ c:identifier="ges_meta_container_register_meta">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="841">Sets the value of the specified field of the meta container to the
+given value, and registers the field to only hold a value of the
+same type. After calling this, only values of the same type as @value
+can be set for this field. The given flags can be set to make this
+field only readable after calling this method.</doc>
+ <source-position filename="ges/ges-meta-container.h" line="240"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="854">%TRUE if the @meta_item field was successfully registered on
+@container to only hold @value types, with the given @flags, and the
+field was successfully set to @value.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="container" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="843">A #GESMetaContainer</doc>
+ <type name="MetaContainer" c:type="GESMetaContainer*"/>
+ </instance-parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="844">Flags to be used for the registered field</doc>
+ <type name="MetaFlag" c:type="GESMetaFlag"/>
+ </parameter>
+ <parameter name="meta_item" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="845">The key for the @container field to register</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="846">The value to set for the registered field</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="register_meta_boolean"
+ c:identifier="ges_meta_container_register_meta_boolean">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="650">Sets the value of the specified field of the meta container to the
+given boolean value, and registers the field to only hold a boolean
+typed value. After calling this, only boolean values can be set for
+this field. The given flags can be set to make this field only
+readable after calling this method.</doc>
+ <source-position filename="ges/ges-meta-container.h" line="180"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="663">%TRUE if the @meta_item field was successfully registered on
+@container to only hold boolean typed values, with the given @flags,
+and the field was successfully set to @value.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="container" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="652">A #GESMetaContainer</doc>
+ <type name="MetaContainer" c:type="GESMetaContainer*"/>
+ </instance-parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="653">Flags to be used for the registered field</doc>
+ <type name="MetaFlag" c:type="GESMetaFlag"/>
+ </parameter>
+ <parameter name="meta_item" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="654">The key for the @container field to register</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="655">The value to set for the registered field</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="register_meta_date"
+ c:identifier="ges_meta_container_register_meta_date">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="783">Sets the value of the specified field of the meta container to the
+given date value, and registers the field to only hold a date
+typed value. After calling this, only date values can be set for
+this field. The given flags can be set to make this field only
+readable after calling this method.</doc>
+ <source-position filename="ges/ges-meta-container.h" line="222"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="796">%TRUE if the @meta_item field was successfully registered on
+@container to only hold date typed values, with the given @flags,
+and the field was successfully set to @value.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="container" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="785">A #GESMetaContainer</doc>
+ <type name="MetaContainer" c:type="GESMetaContainer*"/>
+ </instance-parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="786">Flags to be used for the registered field</doc>
+ <type name="MetaFlag" c:type="GESMetaFlag"/>
+ </parameter>
+ <parameter name="meta_item" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="787">The key for the @container field to register</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="788">The value to set for the registered field</doc>
+ <type name="GLib.Date" c:type="const GDate*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="register_meta_date_time"
+ c:identifier="ges_meta_container_register_meta_date_time">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="802">Sets the value of the specified field of the meta container to the
+given date time value, and registers the field to only hold a date time
+typed value. After calling this, only date time values can be set for
+this field. The given flags can be set to make this field only
+readable after calling this method.</doc>
+ <source-position filename="ges/ges-meta-container.h" line="228"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="815">%TRUE if the @meta_item field was successfully registered on
+@container to only hold date time typed values, with the given @flags,
+and the field was successfully set to @value.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="container" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="804">A #GESMetaContainer</doc>
+ <type name="MetaContainer" c:type="GESMetaContainer*"/>
+ </instance-parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="805">Flags to be used for the registered field</doc>
+ <type name="MetaFlag" c:type="GESMetaFlag"/>
+ </parameter>
+ <parameter name="meta_item" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="806">The key for the @container field to register</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="807">The value to set for the registered field</doc>
+ <type name="Gst.DateTime" c:type="const GstDateTime*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="register_meta_double"
+ c:identifier="ges_meta_container_register_meta_double">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="764">Sets the value of the specified field of the meta container to the
+given double value, and registers the field to only hold a double
+typed value. After calling this, only double values can be set for
+this field. The given flags can be set to make this field only
+readable after calling this method.</doc>
+ <source-position filename="ges/ges-meta-container.h" line="216"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="777">%TRUE if the @meta_item field was successfully registered on
+@container to only hold double typed values, with the given @flags,
+and the field was successfully set to @value.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="container" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="766">A #GESMetaContainer</doc>
+ <type name="MetaContainer" c:type="GESMetaContainer*"/>
+ </instance-parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="767">Flags to be used for the registered field</doc>
+ <type name="MetaFlag" c:type="GESMetaFlag"/>
+ </parameter>
+ <parameter name="meta_item" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="768">The key for the @container field to register</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="769">The value to set for the registered field</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="register_meta_float"
+ c:identifier="ges_meta_container_register_meta_float">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="745">Sets the value of the specified field of the meta container to the
+given float value, and registers the field to only hold a float
+typed value. After calling this, only float values can be set for
+this field. The given flags can be set to make this field only
+readable after calling this method.</doc>
+ <source-position filename="ges/ges-meta-container.h" line="210"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="758">%TRUE if the @meta_item field was successfully registered on
+@container to only hold float typed values, with the given @flags,
+and the field was successfully set to @value.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="container" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="747">A #GESMetaContainer</doc>
+ <type name="MetaContainer" c:type="GESMetaContainer*"/>
+ </instance-parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="748">Flags to be used for the registered field</doc>
+ <type name="MetaFlag" c:type="GESMetaFlag"/>
+ </parameter>
+ <parameter name="meta_item" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="749">The key for the @container field to register</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="750">The value to set for the registered field</doc>
+ <type name="gfloat" c:type="gfloat"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="register_meta_int"
+ c:identifier="ges_meta_container_register_meta_int">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="669">Sets the value of the specified field of the meta container to the
+given int value, and registers the field to only hold an int
+typed value. After calling this, only int values can be set for
+this field. The given flags can be set to make this field only
+readable after calling this method.</doc>
+ <source-position filename="ges/ges-meta-container.h" line="186"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="682">%TRUE if the @meta_item field was successfully registered on
+@container to only hold int typed values, with the given @flags,
+and the field was successfully set to @value.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="container" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="671">A #GESMetaContainer</doc>
+ <type name="MetaContainer" c:type="GESMetaContainer*"/>
+ </instance-parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="672">Flags to be used for the registered field</doc>
+ <type name="MetaFlag" c:type="GESMetaFlag"/>
+ </parameter>
+ <parameter name="meta_item" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="673">The key for the @container field to register</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="674">The value to set for the registered field</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="register_meta_int64"
+ c:identifier="ges_meta_container_register_meta_int64">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="707">Sets the value of the specified field of the meta container to the
+given int64 value, and registers the field to only hold an int64
+typed value. After calling this, only int64 values can be set for
+this field. The given flags can be set to make this field only
+readable after calling this method.</doc>
+ <source-position filename="ges/ges-meta-container.h" line="198"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="720">%TRUE if the @meta_item field was successfully registered on
+@container to only hold int64 typed values, with the given @flags,
+and the field was successfully set to @value.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="container" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="709">A #GESMetaContainer</doc>
+ <type name="MetaContainer" c:type="GESMetaContainer*"/>
+ </instance-parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="710">Flags to be used for the registered field</doc>
+ <type name="MetaFlag" c:type="GESMetaFlag"/>
+ </parameter>
+ <parameter name="meta_item" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="711">The key for the @container field to register</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="712">The value to set for the registered field</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="register_meta_string"
+ c:identifier="ges_meta_container_register_meta_string">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="822">Sets the value of the specified field of the meta container to the
+given string value, and registers the field to only hold a string
+typed value. After calling this, only string values can be set for
+this field. The given flags can be set to make this field only
+readable after calling this method.</doc>
+ <source-position filename="ges/ges-meta-container.h" line="234"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="835">%TRUE if the @meta_item field was successfully registered on
+@container to only hold string typed values, with the given @flags,
+and the field was successfully set to @value.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="container" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="824">A #GESMetaContainer</doc>
+ <type name="MetaContainer" c:type="GESMetaContainer*"/>
+ </instance-parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="825">Flags to be used for the registered field</doc>
+ <type name="MetaFlag" c:type="GESMetaFlag"/>
+ </parameter>
+ <parameter name="meta_item" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="826">The key for the @container field to register</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="827">The value to set for the registered field</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="register_meta_uint"
+ c:identifier="ges_meta_container_register_meta_uint">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="688">Sets the value of the specified field of the meta container to the
+given uint value, and registers the field to only hold a uint
+typed value. After calling this, only uint values can be set for
+this field. The given flags can be set to make this field only
+readable after calling this method.</doc>
+ <source-position filename="ges/ges-meta-container.h" line="192"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="701">%TRUE if the @meta_item field was successfully registered on
+@container to only hold uint typed values, with the given @flags,
+and the field was successfully set to @value.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="container" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="690">A #GESMetaContainer</doc>
+ <type name="MetaContainer" c:type="GESMetaContainer*"/>
+ </instance-parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="691">Flags to be used for the registered field</doc>
+ <type name="MetaFlag" c:type="GESMetaFlag"/>
+ </parameter>
+ <parameter name="meta_item" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="692">The key for the @container field to register</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="693">The value to set for the registered field</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="register_meta_uint64"
+ c:identifier="ges_meta_container_register_meta_uint64">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="726">Sets the value of the specified field of the meta container to the
+given uint64 value, and registers the field to only hold a uint64
+typed value. After calling this, only uint64 values can be set for
+this field. The given flags can be set to make this field only
+readable after calling this method.</doc>
+ <source-position filename="ges/ges-meta-container.h" line="204"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="739">%TRUE if the @meta_item field was successfully registered on
+@container to only hold uint64 typed values, with the given @flags,
+and the field was successfully set to @value.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="container" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="728">A #GESMetaContainer</doc>
+ <type name="MetaContainer" c:type="GESMetaContainer*"/>
+ </instance-parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="729">Flags to be used for the registered field</doc>
+ <type name="MetaFlag" c:type="GESMetaFlag"/>
+ </parameter>
+ <parameter name="meta_item" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="730">The key for the @container field to register</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="731">The value to set for the registered field</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="register_static_meta"
+ c:identifier="ges_meta_container_register_static_meta">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="574">Registers a static metadata field on the container to only hold the
+specified type. After calling this, setting a value under this field
+can only succeed if its type matches the registered type of the field.
+
+Unlike ges_meta_container_register_meta(), no (initial) value is set
+for this field, which means you can use this method to reserve the
+space to be _optionally_ set later.
+
+Note that if a value has already been set for the field being
+registered, then its type must match the registering type, and its
+value will be left in place. If the field has no set value, then
+you will likely want to include #GES_META_WRITABLE in @flags to allow
+the value to be set later.</doc>
+ <source-position filename="ges/ges-meta-container.h" line="174"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="595">%TRUE if the @meta_item field was successfully registered on
+@container to only hold @type values, with the given @flags.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="container" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="576">A #GESMetaContainer</doc>
+ <type name="MetaContainer" c:type="GESMetaContainer*"/>
+ </instance-parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="577">Flags to be used for the registered field</doc>
+ <type name="MetaFlag" c:type="GESMetaFlag"/>
+ </parameter>
+ <parameter name="meta_item" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="578">The key for the @container field to register</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="579">The required value type for the registered field</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_boolean" c:identifier="ges_meta_container_set_boolean">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="310">Sets the value of the specified field of the meta container to the
+given boolean value.</doc>
+ <source-position filename="ges/ges-meta-container.h" line="114"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="319">%TRUE if @value was set under @meta_item for @container.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="container" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="312">A #GESMetaContainer</doc>
+ <type name="MetaContainer" c:type="GESMetaContainer*"/>
+ </instance-parameter>
+ <parameter name="meta_item" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="313">The key for the @container field to set</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="314">The value to set under @meta_item</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_date" c:identifier="ges_meta_container_set_date">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="401">Sets the value of the specified field of the meta container to the
+given date value.</doc>
+ <source-position filename="ges/ges-meta-container.h" line="149"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="410">%TRUE if @value was set under @meta_item for @container.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="container" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="403">A #GESMetaContainer</doc>
+ <type name="MetaContainer" c:type="GESMetaContainer*"/>
+ </instance-parameter>
+ <parameter name="meta_item" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="404">The key for the @container field to set</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="405">The value to set under @meta_item</doc>
+ <type name="GLib.Date" c:type="const GDate*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_date_time"
+ c:identifier="ges_meta_container_set_date_time">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="414">Sets the value of the specified field of the meta container to the
+given date time value.</doc>
+ <source-position filename="ges/ges-meta-container.h" line="154"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="423">%TRUE if @value was set under @meta_item for @container.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="container" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="416">A #GESMetaContainer</doc>
+ <type name="MetaContainer" c:type="GESMetaContainer*"/>
+ </instance-parameter>
+ <parameter name="meta_item" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="417">The key for the @container field to set</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="418">The value to set under @meta_item</doc>
+ <type name="Gst.DateTime" c:type="const GstDateTime*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_double" c:identifier="ges_meta_container_set_double">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="388">Sets the value of the specified field of the meta container to the
+given double value.</doc>
+ <source-position filename="ges/ges-meta-container.h" line="144"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="397">%TRUE if @value was set under @meta_item for @container.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="container" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="390">A #GESMetaContainer</doc>
+ <type name="MetaContainer" c:type="GESMetaContainer*"/>
+ </instance-parameter>
+ <parameter name="meta_item" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="391">The key for the @container field to set</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="392">The value to set under @meta_item</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_float" c:identifier="ges_meta_container_set_float">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="375">Sets the value of the specified field of the meta container to the
+given float value.</doc>
+ <source-position filename="ges/ges-meta-container.h" line="139"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="384">%TRUE if @value was set under @meta_item for @container.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="container" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="377">A #GESMetaContainer</doc>
+ <type name="MetaContainer" c:type="GESMetaContainer*"/>
+ </instance-parameter>
+ <parameter name="meta_item" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="378">The key for the @container field to set</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="379">The value to set under @meta_item</doc>
+ <type name="gfloat" c:type="gfloat"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_int" c:identifier="ges_meta_container_set_int">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="323">Sets the value of the specified field of the meta container to the
+given int value.</doc>
+ <source-position filename="ges/ges-meta-container.h" line="119"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="332">%TRUE if @value was set under @meta_item for @container.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="container" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="325">A #GESMetaContainer</doc>
+ <type name="MetaContainer" c:type="GESMetaContainer*"/>
+ </instance-parameter>
+ <parameter name="meta_item" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="326">The key for the @container field to set</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="327">The value to set under @meta_item</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_int64" c:identifier="ges_meta_container_set_int64">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="349">Sets the value of the specified field of the meta container to the
+given int64 value.</doc>
+ <source-position filename="ges/ges-meta-container.h" line="129"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="358">%TRUE if @value was set under @meta_item for @container.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="container" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="351">A #GESMetaContainer</doc>
+ <type name="MetaContainer" c:type="GESMetaContainer*"/>
+ </instance-parameter>
+ <parameter name="meta_item" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="352">The key for the @container field to set</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="353">The value to set under @meta_item</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_marker_list"
+ c:identifier="ges_meta_container_set_marker_list"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="475">Sets the value of the specified field of the meta container to the
+given marker list value.</doc>
+ <source-position filename="ges/ges-meta-container.h" line="169"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="484">%TRUE if @value was set under @meta_item for @container.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="container" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="477">A #GESMetaContainer</doc>
+ <type name="MetaContainer" c:type="GESMetaContainer*"/>
+ </instance-parameter>
+ <parameter name="meta_item" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="478">The key for the @container field to set</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="list" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="479">The value to set under @meta_item</doc>
+ <type name="MarkerList" c:type="const GESMarkerList*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_meta" c:identifier="ges_meta_container_set_meta">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="440">Sets the value of the specified field of the meta container to a
+copy of the given value. If the given @value is %NULL, the field
+given by @meta_item is removed and %TRUE is returned.</doc>
+ <source-position filename="ges/ges-meta-container.h" line="164"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="451">%TRUE if @value was set under @meta_item for @container.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="container" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="442">A #GESMetaContainer</doc>
+ <type name="MetaContainer" c:type="GESMetaContainer*"/>
+ </instance-parameter>
+ <parameter name="meta_item" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="443">The key for the @container field to set</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="value"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="444">The value to set under @meta_item, or %NULL to
+remove the corresponding field</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_string" c:identifier="ges_meta_container_set_string">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="427">Sets the value of the specified field of the meta container to the
+given string value.</doc>
+ <source-position filename="ges/ges-meta-container.h" line="159"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="436">%TRUE if @value was set under @meta_item for @container.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="container" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="429">A #GESMetaContainer</doc>
+ <type name="MetaContainer" c:type="GESMetaContainer*"/>
+ </instance-parameter>
+ <parameter name="meta_item" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="430">The key for the @container field to set</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="431">The value to set under @meta_item</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_uint" c:identifier="ges_meta_container_set_uint">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="336">Sets the value of the specified field of the meta container to the
+given uint value.</doc>
+ <source-position filename="ges/ges-meta-container.h" line="124"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="345">%TRUE if @value was set under @meta_item for @container.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="container" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="338">A #GESMetaContainer</doc>
+ <type name="MetaContainer" c:type="GESMetaContainer*"/>
+ </instance-parameter>
+ <parameter name="meta_item" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="339">The key for the @container field to set</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="340">The value to set under @meta_item</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_uint64" c:identifier="ges_meta_container_set_uint64">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="362">Sets the value of the specified field of the meta container to the
+given uint64 value.</doc>
+ <source-position filename="ges/ges-meta-container.h" line="134"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="371">%TRUE if @value was set under @meta_item for @container.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="container" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="364">A #GESMetaContainer</doc>
+ <type name="MetaContainer" c:type="GESMetaContainer*"/>
+ </instance-parameter>
+ <parameter name="meta_item" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="365">The key for the @container field to set</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="366">The value to set under @meta_item</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ </parameters>
+ </method>
+ <glib:signal name="notify-meta"
+ when="first"
+ no-recurse="1"
+ detailed="1"
+ no-hooks="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="90">This is emitted for a meta container whenever the metadata under one
+of its fields changes, is set for the first time, or is removed. In
+the latter case, @value will be %NULL.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="key" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="93">The key for the @container field that changed</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="value"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.c"
+ line="94">The new value under @key</doc>
+ <type name="GObject.Value"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ </interface>
+ <record name="MetaContainerInterface"
+ c:type="GESMetaContainerInterface"
+ glib:is-gtype-struct-for="MetaContainer">
+ <source-position filename="ges/ges-meta-container.h" line="111"/>
+ <field name="parent_iface">
+ <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
+ </field>
+ <field name="_ges_reserved">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <bitfield name="MetaFlag"
+ glib:type-name="GESMetaFlag"
+ glib:get-type="ges_meta_flag_get_type"
+ c:type="GESMetaFlag">
+ <member name="readable"
+ value="1"
+ c:identifier="GES_META_READABLE"
+ glib:nick="readable">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="62">The metadata is readable</doc>
+ </member>
+ <member name="writable"
+ value="2"
+ c:identifier="GES_META_WRITABLE"
+ glib:nick="writable">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="63">The metadata is writable</doc>
+ </member>
+ <member name="readwrite"
+ value="3"
+ c:identifier="GES_META_READ_WRITE"
+ glib:nick="readwrite">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="64">The metadata is readable and writable</doc>
+ </member>
+ </bitfield>
+ <callback name="MetaForeachFunc" c:type="GESMetaForeachFunc">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.h"
+ line="307">A method to be called on all of a meta container's fields.</doc>
+ <source-position filename="ges/ges-meta-container.h" line="317"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="container" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.h"
+ line="309">A #GESMetaContainer</doc>
+ <type name="MetaContainer" c:type="const GESMetaContainer*"/>
+ </parameter>
+ <parameter name="key" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.h"
+ line="310">The key for one of @container's fields</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.h"
+ line="311">The set value under @key</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1"
+ closure="3">
+ <doc xml:space="preserve"
+ filename="ges/ges-meta-container.h"
+ line="312">User data</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <class name="MultiFileSource"
+ c:symbol-prefix="multi_file_source"
+ c:type="GESMultiFileSource"
+ deprecated="1"
+ deprecated-version="1.18"
+ parent="VideoSource"
+ glib:type-name="GESMultiFileSource"
+ glib:get-type="ges_multi_file_source_get_type"
+ glib:type-struct="MultiFileSourceClass">
+ <doc xml:space="preserve"
+ filename="ges/ges-multi-file-source.c"
+ line="20">Outputs the video stream from a given image sequence. The start frame chosen
+will be determined by the in-point property on the track element.
+
+This should not be used anymore, the `imagesequence://` protocol should be
+used instead. Check the #imagesequencesrc GStreamer element for more
+information.</doc>
+ <doc-deprecated xml:space="preserve">Use #GESUriSource instead</doc-deprecated>
+ <source-position filename="ges/ges-multi-file-source.h" line="52"/>
+ <implements name="Extractable"/>
+ <implements name="MetaContainer"/>
+ <constructor name="new" c:identifier="ges_multi_file_source_new">
+ <source-position filename="ges/ges-multi-file-source.h" line="55"/>
+ <return-value transfer-ownership="none">
+ <type name="MultiFileSource" c:type="GESMultiFileSource*"/>
+ </return-value>
+ <parameters>
+ <parameter name="uri" transfer-ownership="none">
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <property name="uri"
+ writable="1"
+ construct-only="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-multi-file-source.c"
+ line="239">The uri of the file/resource to use. You can set a start index,
+a stop index and a sequence pattern.
+The format is &amp;lt;multifile://start:stop\@location-pattern&amp;gt;.
+The pattern uses printf string formating.
+
+Example uris:
+
+multifile:///home/you/image\%03d.jpg
+
+multifile://20:50@/home/you/sequence/\%04d.png</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </property>
+ <field name="parent" readable="0" private="1">
+ <type name="VideoSource" c:type="GESVideoSource"/>
+ </field>
+ <field name="uri" readable="0" private="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="MultiFileSourcePrivate"
+ c:type="GESMultiFileSourcePrivate*"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="MultiFileSourceClass"
+ c:type="GESMultiFileSourceClass"
+ glib:is-gtype-struct-for="MultiFileSource">
+ <source-position filename="ges/ges-multi-file-source.h" line="52"/>
+ <field name="parent_class">
+ <type name="VideoSourceClass" c:type="GESVideoSourceClass"/>
+ </field>
+ <field name="_ges_reserved">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="MultiFileSourcePrivate"
+ c:type="GESMultiFileSourcePrivate"
+ disguised="1">
+ <source-position filename="ges/ges-multi-file-source.h" line="28"/>
+ </record>
+ <class name="Operation"
+ c:symbol-prefix="operation"
+ c:type="GESOperation"
+ parent="TrackElement"
+ abstract="1"
+ glib:type-name="GESOperation"
+ glib:get-type="ges_operation_get_type"
+ glib:type-struct="OperationClass">
+ <doc xml:space="preserve"
+ filename="ges/ges-operation.h"
+ line="33">Base class for overlays, transitions, and effects</doc>
+ <source-position filename="ges/ges-operation.h" line="60"/>
+ <implements name="Extractable"/>
+ <implements name="MetaContainer"/>
+ <field name="parent" readable="0" private="1">
+ <type name="TrackElement" c:type="GESTrackElement"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="OperationPrivate" c:type="GESOperationPrivate*"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="OperationClass"
+ c:type="GESOperationClass"
+ glib:is-gtype-struct-for="Operation">
+ <source-position filename="ges/ges-operation.h" line="60"/>
+ <field name="parent_class" readable="0" private="1">
+ <type name="TrackElementClass" c:type="GESTrackElementClass"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <class name="OperationClip"
+ c:symbol-prefix="operation_clip"
+ c:type="GESOperationClip"
+ parent="Clip"
+ abstract="1"
+ glib:type-name="GESOperationClip"
+ glib:get-type="ges_operation_clip_get_type"
+ glib:type-struct="OperationClipClass">
+ <doc xml:space="preserve"
+ filename="ges/ges-operation-clip.c"
+ line="21">Operations are any kind of object that both outputs AND consumes data.</doc>
+ <source-position filename="ges/ges-operation-clip.h" line="58"/>
+ <implements name="Extractable"/>
+ <implements name="MetaContainer"/>
+ <field name="parent" readable="0" private="1">
+ <type name="Clip" c:type="GESClip"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="OperationClipPrivate" c:type="GESOperationClipPrivate*"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="OperationClipClass"
+ c:type="GESOperationClipClass"
+ glib:is-gtype-struct-for="OperationClip">
+ <source-position filename="ges/ges-operation-clip.h" line="58"/>
+ <field name="parent_class" readable="0" private="1">
+ <type name="ClipClass" c:type="GESClipClass"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="OperationClipPrivate"
+ c:type="GESOperationClipPrivate"
+ disguised="1">
+ <source-position filename="ges/ges-operation-clip.h" line="31"/>
+ </record>
+ <record name="OperationPrivate" c:type="GESOperationPrivate" disguised="1">
+ <source-position filename="ges/ges-operation.h" line="31"/>
+ </record>
+ <class name="OverlayClip"
+ c:symbol-prefix="overlay_clip"
+ c:type="GESOverlayClip"
+ parent="OperationClip"
+ abstract="1"
+ glib:type-name="GESOverlayClip"
+ glib:get-type="ges_overlay_clip_get_type"
+ glib:type-struct="OverlayClipClass">
+ <doc xml:space="preserve"
+ filename="ges/ges-overlay-clip.c"
+ line="21">Overlays are objects which modify the underlying layer(s).
+
+Examples of overlays include text, image watermarks, or audio dubbing.
+
+Transitions, which change from one source to another over time, are
+not considered overlays.</doc>
+ <source-position filename="ges/ges-overlay-clip.h" line="57"/>
+ <implements name="Extractable"/>
+ <implements name="MetaContainer"/>
+ <field name="parent" readable="0" private="1">
+ <type name="OperationClip" c:type="GESOperationClip"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="OverlayClipPrivate" c:type="GESOverlayClipPrivate*"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="OverlayClipClass"
+ c:type="GESOverlayClipClass"
+ glib:is-gtype-struct-for="OverlayClip">
+ <source-position filename="ges/ges-overlay-clip.h" line="57"/>
+ <field name="parent_class">
+ <doc xml:space="preserve"
+ filename="ges/ges-overlay-clip.h"
+ line="48">parent class</doc>
+ <type name="OperationClipClass" c:type="GESOperationClipClass"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="OverlayClipPrivate"
+ c:type="GESOverlayClipPrivate"
+ disguised="1">
+ <source-position filename="ges/ges-overlay-clip.h" line="30"/>
+ </record>
+ <constant name="PADDING" value="4" c:type="GES_PADDING">
+ <attribute name="doc.skip" value="true"/>
+ <source-position filename="ges/ges-types.h" line="39"/>
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="PADDING_LARGE" value="20" c:type="GES_PADDING_LARGE">
+ <attribute name="doc.skip" value="true"/>
+ <source-position filename="ges/ges-types.h" line="44"/>
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <class name="Pipeline"
+ c:symbol-prefix="pipeline"
+ c:type="GESPipeline"
+ parent="Gst.Pipeline"
+ glib:type-name="GESPipeline"
+ glib:get-type="ges_pipeline_get_type"
+ glib:type-struct="PipelineClass">
+ <doc xml:space="preserve"
+ filename="ges/ges-pipeline.c"
+ line="21">A #GESPipeline can take an audio-video #GESTimeline and conveniently
+link its #GESTrack-s to an internal #playsink element, for
+preview/playback, and an internal #encodebin element, for rendering.
+You can switch between these modes using ges_pipeline_set_mode().
+
+You can choose the specific audio and video sinks used for previewing
+the timeline by setting the #GESPipeline:audio-sink and
+#GESPipeline:video-sink properties.
+
+You can set the encoding and save location used in rendering by calling
+ges_pipeline_set_render_settings().</doc>
+ <source-position filename="ges/ges-pipeline.h" line="59"/>
+ <implements name="Gst.ChildProxy"/>
+ <implements name="GstVideo.VideoOverlay"/>
+ <constructor name="new" c:identifier="ges_pipeline_new">
+ <doc xml:space="preserve"
+ filename="ges/ges-pipeline.c"
+ line="424">Creates a new pipeline.</doc>
+ <source-position filename="ges/ges-pipeline.h" line="62"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-pipeline.c"
+ line="429">The newly created pipeline.</doc>
+ <type name="Pipeline" c:type="GESPipeline*"/>
+ </return-value>
+ </constructor>
+ <method name="get_mode" c:identifier="ges_pipeline_get_mode">
+ <doc xml:space="preserve"
+ filename="ges/ges-pipeline.c"
+ line="1161">Gets the #GESPipeline:mode of the pipeline.</doc>
+ <source-position filename="ges/ges-pipeline.h" line="77"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-pipeline.c"
+ line="1167">The current mode of @pipeline.</doc>
+ <type name="PipelineFlags" c:type="GESPipelineFlags"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pipeline" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-pipeline.c"
+ line="1163">A #GESPipeline</doc>
+ <type name="Pipeline" c:type="GESPipeline*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_thumbnail" c:identifier="ges_pipeline_get_thumbnail">
+ <doc xml:space="preserve"
+ filename="ges/ges-pipeline.c"
+ line="1305">Gets a sample from the pipeline of the currently displayed image in
+preview, in the specified format.
+
+Note that if you use "ANY" caps for @caps, then the current format of
+the image is used. You can retrieve these caps from the returned sample
+with gst_sample_get_caps().</doc>
+ <source-position filename="ges/ges-pipeline.h" line="80"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="ges/ges-pipeline.c"
+ line="1318">A sample of @self's current image preview in
+the format given by @caps, or %NULL if an error prevented fetching the
+sample.</doc>
+ <type name="Gst.Sample" c:type="GstSample*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-pipeline.c"
+ line="1307">A #GESPipeline in #GST_STATE_PLAYING or #GST_STATE_PAUSED</doc>
+ <type name="Pipeline" c:type="GESPipeline*"/>
+ </instance-parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-pipeline.c"
+ line="1308">Some caps to specifying the desired format, or
+#GST_CAPS_ANY to use the native format</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_thumbnail_rgb24"
+ c:identifier="ges_pipeline_get_thumbnail_rgb24">
+ <doc xml:space="preserve"
+ filename="ges/ges-pipeline.c"
+ line="1402">Gets a sample from the pipeline of the currently displayed image in
+preview, in the 24-bit "RGB" format and of the desired width and
+height.
+
+See ges_pipeline_get_thumbnail().</doc>
+ <source-position filename="ges/ges-pipeline.h" line="83"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="ges/ges-pipeline.c"
+ line="1416">A sample of @self's current image preview in
+the "RGB" format, scaled to @width and @height, or %NULL if an error
+prevented fetching the sample.</doc>
+ <type name="Gst.Sample" c:type="GstSample*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-pipeline.c"
+ line="1404">A #GESPipeline in %GST_STATE_PLAYING or %GST_STATE_PAUSED</doc>
+ <type name="Pipeline" c:type="GESPipeline*"/>
+ </instance-parameter>
+ <parameter name="width" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-pipeline.c"
+ line="1405">The requested pixel width of the image, or -1 to use the native
+size</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="height" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-pipeline.c"
+ line="1407">The requested pixel height of the image, or -1 to use the
+native size</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="preview_get_audio_sink"
+ c:identifier="ges_pipeline_preview_get_audio_sink">
+ <doc xml:space="preserve"
+ filename="ges/ges-pipeline.c"
+ line="1481">Gets the #GESPipeline:audio-sink of the pipeline.</doc>
+ <source-position filename="ges/ges-pipeline.h" line="99"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="ges/ges-pipeline.c"
+ line="1487">The audio sink used by @self for preview.</doc>
+ <type name="Gst.Element" c:type="GstElement*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-pipeline.c"
+ line="1483">A #GESPipeline</doc>
+ <type name="Pipeline" c:type="GESPipeline*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="preview_get_video_sink"
+ c:identifier="ges_pipeline_preview_get_video_sink">
+ <doc xml:space="preserve"
+ filename="ges/ges-pipeline.c"
+ line="1444">Gets the #GESPipeline:video-sink of the pipeline.</doc>
+ <source-position filename="ges/ges-pipeline.h" line="92"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="ges/ges-pipeline.c"
+ line="1450">The video sink used by @self for preview.</doc>
+ <type name="Gst.Element" c:type="GstElement*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-pipeline.c"
+ line="1446">A #GESPipeline</doc>
+ <type name="Pipeline" c:type="GESPipeline*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="preview_set_audio_sink"
+ c:identifier="ges_pipeline_preview_set_audio_sink">
+ <doc xml:space="preserve"
+ filename="ges/ges-pipeline.c"
+ line="1502">Sets the #GESPipeline:audio-sink of the pipeline.</doc>
+ <source-position filename="ges/ges-pipeline.h" line="102"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-pipeline.c"
+ line="1504">A #GESPipeline in #GST_STATE_NULL</doc>
+ <type name="Pipeline" c:type="GESPipeline*"/>
+ </instance-parameter>
+ <parameter name="sink" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-pipeline.c"
+ line="1505">A audio sink for @self to use for preview</doc>
+ <type name="Gst.Element" c:type="GstElement*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="preview_set_video_sink"
+ c:identifier="ges_pipeline_preview_set_video_sink">
+ <doc xml:space="preserve"
+ filename="ges/ges-pipeline.c"
+ line="1465">Sets the #GESPipeline:video-sink of the pipeline.</doc>
+ <source-position filename="ges/ges-pipeline.h" line="95"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-pipeline.c"
+ line="1467">A #GESPipeline in #GST_STATE_NULL</doc>
+ <type name="Pipeline" c:type="GESPipeline*"/>
+ </instance-parameter>
+ <parameter name="sink" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-pipeline.c"
+ line="1468">A video sink for @self to use for preview</doc>
+ <type name="Gst.Element" c:type="GstElement*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="save_thumbnail"
+ c:identifier="ges_pipeline_save_thumbnail"
+ throws="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-pipeline.c"
+ line="1341">Saves the currently displayed image of the pipeline in preview to the
+given location, in the specified dimensions and format.</doc>
+ <source-position filename="ges/ges-pipeline.h" line="87"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-pipeline.c"
+ line="1356">%TRUE if @self's current image preview was successfully saved
+to @location using the given @format, @height and @width.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-pipeline.c"
+ line="1343">A #GESPipeline in %GST_STATE_PLAYING or %GST_STATE_PAUSED</doc>
+ <type name="Pipeline" c:type="GESPipeline*"/>
+ </instance-parameter>
+ <parameter name="width" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-pipeline.c"
+ line="1344">The requested pixel width of the image, or -1 to use the native
+size</doc>
+ <type name="gint" c:type="int"/>
+ </parameter>
+ <parameter name="height" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-pipeline.c"
+ line="1346">The requested pixel height of the image, or -1 to use the
+native size</doc>
+ <type name="gint" c:type="int"/>
+ </parameter>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-pipeline.c"
+ line="1348">The desired mime type (for example, "image/jpeg")</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="location" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-pipeline.c"
+ line="1349">The path to save the thumbnail to</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_mode" c:identifier="ges_pipeline_set_mode">
+ <doc xml:space="preserve"
+ filename="ges/ges-pipeline.c"
+ line="1175">Sets the #GESPipeline:mode of the pipeline.
+
+Note that the pipeline will be set to #GST_STATE_NULL during this call to
+perform the necessary changes. You will need to set the state again yourself
+after calling this.
+
+&gt; **NOTE**: [Rendering settings](ges_pipeline_set_render_settings) need to be
+&gt; set before setting @mode to #GES_PIPELINE_MODE_RENDER or
+&gt; #GES_PIPELINE_MODE_SMART_RENDER, the call to this method will fail
+&gt; otherwise.</doc>
+ <source-position filename="ges/ges-pipeline.h" line="73"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-pipeline.c"
+ line="1191">%TRUE if the mode of @pipeline was successfully set to @mode.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pipeline" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-pipeline.c"
+ line="1177">A #GESPipeline</doc>
+ <type name="Pipeline" c:type="GESPipeline*"/>
+ </instance-parameter>
+ <parameter name="mode" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-pipeline.c"
+ line="1178">The mode to set for @pipeline</doc>
+ <type name="PipelineFlags" c:type="GESPipelineFlags"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_render_settings"
+ c:identifier="ges_pipeline_set_render_settings">
+ <doc xml:space="preserve"
+ filename="ges/ges-pipeline.c"
+ line="1062">Specifies the encoding to be used by the pipeline to render its
+#GESPipeline:timeline, and where the result should be written to.
+
+This method **must** be called before setting the pipeline mode to
+#GES_PIPELINE_MODE_RENDER.</doc>
+ <source-position filename="ges/ges-pipeline.h" line="69"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-pipeline.c"
+ line="1075">%TRUE if the settings were successfully set on @pipeline.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pipeline" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-pipeline.c"
+ line="1064">A #GESPipeline</doc>
+ <type name="Pipeline" c:type="GESPipeline*"/>
+ </instance-parameter>
+ <parameter name="output_uri" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-pipeline.c"
+ line="1065">The URI to save the #GESPipeline:timeline rendering
+result to</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="profile" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-pipeline.c"
+ line="1067">The encoding to use for rendering the #GESPipeline:timeline</doc>
+ <type name="GstPbutils.EncodingProfile"
+ c:type="GstEncodingProfile*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_timeline" c:identifier="ges_pipeline_set_timeline">
+ <doc xml:space="preserve"
+ filename="ges/ges-pipeline.c"
+ line="1016">Takes the given timeline and sets it as the #GESPipeline:timeline for
+the pipeline.
+
+Note that you should only call this method once on a given pipeline
+because a pipeline can not have its #GESPipeline:timeline changed after
+it has been set.</doc>
+ <source-position filename="ges/ges-pipeline.h" line="65"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-pipeline.c"
+ line="1028">%TRUE if @timeline was successfully given to @pipeline.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pipeline" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-pipeline.c"
+ line="1018">A #GESPipeline</doc>
+ <type name="Pipeline" c:type="GESPipeline*"/>
+ </instance-parameter>
+ <parameter name="timeline" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="ges/ges-pipeline.c"
+ line="1019">The timeline to set for @pipeline</doc>
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="audio-filter"
+ version="1.6.0"
+ writable="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-pipeline.c"
+ line="354">The audio filter(s) to apply during playback in preview mode,
+immediately before the #GESPipeline:audio-sink. This exposes the
+#playsink:audio-filter property of the internal #playsink.</doc>
+ <type name="Gst.Element"/>
+ </property>
+ <property name="audio-sink" writable="1" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-pipeline.c"
+ line="308">The audio sink used for preview. This exposes the
+#playsink:audio-sink property of the internal #playsink.</doc>
+ <type name="Gst.Element"/>
+ </property>
+ <property name="mode" writable="1" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-pipeline.c"
+ line="341">The pipeline's mode. In preview mode (for audio or video, or both)
+the pipeline can display the timeline's content to an end user. In
+rendering mode the pipeline can encode the timeline's content and
+save it to a file.</doc>
+ <type name="PipelineFlags"/>
+ </property>
+ <property name="timeline" writable="1" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-pipeline.c"
+ line="328">The timeline used by this pipeline, whose content it will play and
+render, or %NULL if the pipeline does not yet have a timeline.
+
+Note that after you set the timeline for the first time, subsequent
+calls to change the timeline will fail.</doc>
+ <type name="Timeline"/>
+ </property>
+ <property name="video-filter"
+ version="1.6.0"
+ writable="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-pipeline.c"
+ line="368">The video filter(s) to apply during playback in preview mode,
+immediately before the #GESPipeline:video-sink. This exposes the
+#playsink:video-filter property of the internal #playsink.</doc>
+ <type name="Gst.Element"/>
+ </property>
+ <property name="video-sink" writable="1" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-pipeline.c"
+ line="318">The video sink used for preview. This exposes the
+#playsink:video-sink property of the internal #playsink.</doc>
+ <type name="Gst.Element"/>
+ </property>
+ <field name="parent" readable="0" private="1">
+ <type name="Gst.Pipeline" c:type="GstPipeline"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="PipelinePrivate" c:type="GESPipelinePrivate*"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="PipelineClass"
+ c:type="GESPipelineClass"
+ glib:is-gtype-struct-for="Pipeline">
+ <source-position filename="ges/ges-pipeline.h" line="59"/>
+ <field name="parent_class" readable="0" private="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-pipeline.h"
+ line="49">parent class</doc>
+ <type name="Gst.PipelineClass" c:type="GstPipelineClass"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <bitfield name="PipelineFlags"
+ glib:type-name="GESPipelineFlags"
+ glib:get-type="ges_pipeline_flags_get_type"
+ c:type="GESPipelineFlags">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="334">The various modes a #GESPipeline can be configured to.</doc>
+ <member name="audio_preview"
+ value="1"
+ c:identifier="GES_PIPELINE_MODE_PREVIEW_AUDIO"
+ glib:nick="audio_preview">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="336">Output the #GESPipeline:timeline's
+audio to the soundcard</doc>
+ </member>
+ <member name="video_preview"
+ value="2"
+ c:identifier="GES_PIPELINE_MODE_PREVIEW_VIDEO"
+ glib:nick="video_preview">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="338">Output the #GESPipeline:timeline's
+video to the screen</doc>
+ </member>
+ <member name="full_preview"
+ value="3"
+ c:identifier="GES_PIPELINE_MODE_PREVIEW"
+ glib:nick="full_preview">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="340">Output both the #GESPipeline:timeline's
+audio and video to the soundcard and screen (default)</doc>
+ </member>
+ <member name="render"
+ value="4"
+ c:identifier="GES_PIPELINE_MODE_RENDER"
+ glib:nick="render">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="342">Render the #GESPipeline:timeline with
+forced decoding (the underlying #encodebin has its
+#encodebin:avoid-reencoding property set to %FALSE)</doc>
+ </member>
+ <member name="smart_render"
+ value="8"
+ c:identifier="GES_PIPELINE_MODE_SMART_RENDER"
+ glib:nick="smart_render">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="345">Render the #GESPipeline:timeline,
+avoiding decoding/reencoding (the underlying #encodebin has its
+#encodebin:avoid-reencoding property set to %TRUE)</doc>
+ </member>
+ </bitfield>
+ <record name="PipelinePrivate" c:type="GESPipelinePrivate" disguised="1">
+ <source-position filename="ges/ges-pipeline.h" line="30"/>
+ </record>
+ <class name="PitiviFormatter"
+ c:symbol-prefix="pitivi_formatter"
+ c:type="GESPitiviFormatter"
+ deprecated="1"
+ deprecated-version="1.0"
+ parent="Formatter"
+ glib:type-name="GESPitiviFormatter"
+ glib:get-type="ges_pitivi_formatter_get_type"
+ glib:type-struct="PitiviFormatterClass">
+ <attribute name="doc.skip" value="true"/>
+ <doc xml:space="preserve"
+ filename="ges/ges-pitivi-formatter.c"
+ line="20">This is a legacy format and you should avoid to use it. The formatter
+is really not in good shape and is deprecated.</doc>
+ <source-position filename="ges/ges-pitivi-formatter.h" line="50"/>
+ <implements name="Extractable"/>
+ <constructor name="new" c:identifier="ges_pitivi_formatter_new">
+ <source-position filename="ges/ges-pitivi-formatter.h" line="53"/>
+ <return-value transfer-ownership="none">
+ <type name="PitiviFormatter" c:type="GESPitiviFormatter*"/>
+ </return-value>
+ </constructor>
+ <field name="parent">
+ <type name="Formatter" c:type="GESFormatter"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="PitiviFormatterPrivate"
+ c:type="GESPitiviFormatterPrivate*"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="PitiviFormatterClass"
+ c:type="GESPitiviFormatterClass"
+ glib:is-gtype-struct-for="PitiviFormatter">
+ <source-position filename="ges/ges-pitivi-formatter.h" line="50"/>
+ <field name="parent_class" readable="0" private="1">
+ <type name="FormatterClass" c:type="GESFormatterClass"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="PitiviFormatterPrivate"
+ c:type="GESPitiviFormatterPrivate"
+ disguised="1">
+ <source-position filename="ges/ges-pitivi-formatter.h" line="25"/>
+ </record>
+ <class name="Project"
+ c:symbol-prefix="project"
+ c:type="GESProject"
+ parent="Asset"
+ glib:type-name="GESProject"
+ glib:get-type="ges_project_get_type"
+ glib:type-struct="ProjectClass">
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="20">The #GESProject is used to control a set of #GESAsset and is a
+#GESAsset with `GES_TYPE_TIMELINE` as @extractable_type itself. That
+means that you can extract #GESTimeline from a project as followed:
+
+|[
+ GESProject *project;
+ GESTimeline *timeline;
+
+ project = ges_project_new ("file:///path/to/a/valid/project/uri");
+
+ // Here you can connect to the various signal to get more infos about
+ // what is happening and recover from errors if possible
+ ...
+
+ timeline = ges_asset_extract (GES_ASSET (project));
+]|
+
+The #GESProject class offers a higher level API to handle #GESAsset-s.
+It lets you request new asset, and it informs you about new assets through
+a set of signals. Also it handles problem such as missing files/missing
+#GstElement and lets you try to recover from those.
+
+## Subprojects
+
+In order to add a subproject, the only thing to do is to add the subproject
+to the main project:
+
+``` c
+ges_project_add_asset (project, GES_ASSET (subproject));
+```
+then the subproject will be serialized in the project files. To use
+the subproject in a timeline, you should use a #GESUriClip with the
+same subproject URI.
+
+When loading a project with subproject, subprojects URIs will be temporary
+writable local files. If you want to edit the subproject timeline,
+you should retrieve the subproject from the parent project asset list and
+extract the timeline with ges_asset_extract() and save it at
+the same temporary location.</doc>
+ <source-position filename="ges/ges-project.h" line="68"/>
+ <implements name="MetaContainer"/>
+ <implements name="Gio.AsyncInitable"/>
+ <implements name="Gio.Initable"/>
+ <constructor name="new" c:identifier="ges_project_new">
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="1139">Creates a new #GESProject and sets its uri to @uri if provided. Note that
+if @uri is not valid or %NULL, the uri of the project will then be set
+the first time you save the project. If you then save the project to
+other locations, it will never be updated again and the first valid URI is
+the URI it will keep refering to.</doc>
+ <source-position filename="ges/ges-project.h" line="91"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="1149">A newly created #GESProject</doc>
+ <type name="Project" c:type="GESProject*"/>
+ </return-value>
+ <parameters>
+ <parameter name="uri"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="1141">The uri to be set after creating the project.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <virtual-method name="asset_added">
+ <source-position filename="ges/ges-project.h" line="49"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <type name="Project" c:type="GESProject*"/>
+ </instance-parameter>
+ <parameter name="asset" transfer-ownership="none">
+ <type name="Asset" c:type="GESAsset*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="asset_loading">
+ <source-position filename="ges/ges-project.h" line="51"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <type name="Project" c:type="GESProject*"/>
+ </instance-parameter>
+ <parameter name="asset" transfer-ownership="none">
+ <type name="Asset" c:type="GESAsset*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="asset_removed">
+ <source-position filename="ges/ges-project.h" line="53"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <type name="Project" c:type="GESProject*"/>
+ </instance-parameter>
+ <parameter name="asset" transfer-ownership="none">
+ <type name="Asset" c:type="GESAsset*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="loaded">
+ <source-position filename="ges/ges-project.h" line="62"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <type name="Project" c:type="GESProject*"/>
+ </instance-parameter>
+ <parameter name="timeline" transfer-ownership="none">
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="loading">
+ <source-position filename="ges/ges-project.h" line="64"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <type name="Project" c:type="GESProject*"/>
+ </instance-parameter>
+ <parameter name="timeline" transfer-ownership="none">
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="loading_error">
+ <source-position filename="ges/ges-project.h" line="58"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <type name="Project" c:type="GESProject*"/>
+ </instance-parameter>
+ <parameter name="error" transfer-ownership="none">
+ <type name="GLib.Error" c:type="GError*"/>
+ </parameter>
+ <parameter name="id" transfer-ownership="none">
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="extractable_type" transfer-ownership="none">
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="missing_uri">
+ <source-position filename="ges/ges-project.h" line="55"/>
+ <return-value transfer-ownership="full">
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <type name="Project" c:type="GESProject*"/>
+ </instance-parameter>
+ <parameter name="error" transfer-ownership="none">
+ <type name="GLib.Error" c:type="GError*"/>
+ </parameter>
+ <parameter name="wrong_asset" transfer-ownership="none">
+ <type name="Asset" c:type="GESAsset*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <method name="add_asset" c:identifier="ges_project_add_asset">
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="935">Adds a #GESAsset to @project, the project will keep a reference on
+@asset.</doc>
+ <source-position filename="ges/ges-project.h" line="71"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="943">%TRUE if the asset could be added %FALSE it was already
+in the project</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="project" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="937">A #GESProject</doc>
+ <type name="Project" c:type="GESProject*"/>
+ </instance-parameter>
+ <parameter name="asset" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="938">A #GESAsset to add to @project</doc>
+ <type name="Asset" c:type="GESAsset*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_encoding_profile"
+ c:identifier="ges_project_add_encoding_profile">
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="1218">Adds @profile to the project. It lets you save in what format
+the project has been renders and keep a reference to those formats.
+Also, those formats will be saves to the project file when possible.</doc>
+ <source-position filename="ges/ges-project.h" line="112"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="1228">%TRUE if @profile could be added, %FALSE otherwize</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="project" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="1220">A #GESProject</doc>
+ <type name="Project" c:type="GESProject*"/>
+ </instance-parameter>
+ <parameter name="profile" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="1221">A #GstEncodingProfile to add to the project. If a profile with
+the same name already exists, it will be replaced</doc>
+ <type name="GstPbutils.EncodingProfile"
+ c:type="GstEncodingProfile*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_formatter"
+ c:identifier="ges_project_add_formatter"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="148">Adds a formatter as used to load @project</doc>
+ <source-position filename="ges/ges-project.h" line="120"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="project" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="150">The project to add a formatter to</doc>
+ <type name="Project" c:type="GESProject*"/>
+ </instance-parameter>
+ <parameter name="formatter" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="151">A formatter used by @project</doc>
+ <type name="Formatter" c:type="GESFormatter*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="create_asset" c:identifier="ges_project_create_asset">
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="800">Create and add a #GESAsset to @project. You should connect to the
+"asset-added" signal to get the asset when it finally gets added to
+@project</doc>
+ <source-position filename="ges/ges-project.h" line="99"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="810">%TRUE if the asset started to be added %FALSE it was already
+in the project</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="project" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="802">A #GESProject</doc>
+ <type name="Project" c:type="GESProject*"/>
+ </instance-parameter>
+ <parameter name="id"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="803">The id of the asset to create and add to @project</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="extractable_type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="804">The #GType of the asset to create</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="create_asset_sync"
+ c:identifier="ges_project_create_asset_sync"
+ throws="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="843">Create and add a #GESAsset to @project. You should connect to the
+"asset-added" signal to get the asset when it finally gets added to
+@project</doc>
+ <source-position filename="ges/ges-project.h" line="104"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="854">The newly created #GESAsset or %NULL.</doc>
+ <type name="Asset" c:type="GESAsset*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="project" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="845">A #GESProject</doc>
+ <type name="Project" c:type="GESProject*"/>
+ </instance-parameter>
+ <parameter name="id"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="846">The id of the asset to create and add to @project</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="extractable_type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="847">The #GType of the asset to create</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_asset" c:identifier="ges_project_get_asset">
+ <source-position filename="ges/ges-project.h" line="95"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="999">The #GESAsset with
+@id or %NULL if no asset with @id as an ID</doc>
+ <type name="Asset" c:type="GESAsset*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="project" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="994">A #GESProject</doc>
+ <type name="Project" c:type="GESProject*"/>
+ </instance-parameter>
+ <parameter name="id" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="995">The id of the asset to retrieve</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="extractable_type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="996">The extractable_type of the asset
+to retrieve from @object</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_loading_assets"
+ c:identifier="ges_project_get_loading_assets">
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="1279">Get the assets that are being loaded</doc>
+ <source-position filename="ges/ges-project.h" line="109"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="1285">A set of loading asset
+that will be added to @project. Note that those Asset are *not* loaded yet,
+and thus can not be used</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="Asset"/>
+ </type>
+ </return-value>
+ <parameters>
+ <instance-parameter name="project" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="1281">A #GESProject</doc>
+ <type name="Project" c:type="GESProject*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_uri" c:identifier="ges_project_get_uri">
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="1197">Retrieve the uri that is currently set on @project</doc>
+ <source-position filename="ges/ges-project.h" line="93"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="1203">a newly allocated string representing uri.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="project" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="1199">A #GESProject</doc>
+ <type name="Project" c:type="GESProject*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="list_assets" c:identifier="ges_project_list_assets">
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="1023">List all @asset contained in @project filtering per extractable_type
+as defined by @filter. It copies the asset and thus will not be updated
+in time.</doc>
+ <source-position filename="ges/ges-project.h" line="77"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="1033">The list of
+#GESAsset the object contains</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="Asset"/>
+ </type>
+ </return-value>
+ <parameters>
+ <instance-parameter name="project" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="1025">A #GESProject</doc>
+ <type name="Project" c:type="GESProject*"/>
+ </instance-parameter>
+ <parameter name="filter" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="1026">Type of assets to list, `GES_TYPE_EXTRACTABLE` will list
+all assets</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="list_encoding_profiles"
+ c:identifier="ges_project_list_encoding_profiles">
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="1261">Lists the encoding profile that have been set to @project. The first one
+is the latest added.</doc>
+ <source-position filename="ges/ges-project.h" line="115"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="1268">The
+list of #GstEncodingProfile used in @project</doc>
+ <type name="GLib.List" c:type="const GList*">
+ <type name="GstPbutils.EncodingProfile"/>
+ </type>
+ </return-value>
+ <parameters>
+ <instance-parameter name="project" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="1263">A #GESProject</doc>
+ <type name="Project" c:type="GESProject*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="load" c:identifier="ges_project_load" throws="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="1171">Loads @project into @timeline</doc>
+ <source-position filename="ges/ges-project.h" line="87"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="1179">%TRUE if the project could be loaded %FALSE otherwize.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="project" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="1173">A #GESProject that has an @uri set already</doc>
+ <type name="Project" c:type="GESProject*"/>
+ </instance-parameter>
+ <parameter name="timeline" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="1174">A blank timeline to load @project into</doc>
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="remove_asset" c:identifier="ges_project_remove_asset">
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="967">remove a @asset to from @project.</doc>
+ <source-position filename="ges/ges-project.h" line="74"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="974">%TRUE if the asset could be removed %FALSE otherwise</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="project" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="969">A #GESProject</doc>
+ <type name="Project" c:type="GESProject*"/>
+ </instance-parameter>
+ <parameter name="asset" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="970">A #GESAsset to remove from @project</doc>
+ <type name="Asset" c:type="GESAsset*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="save" c:identifier="ges_project_save" throws="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="1057">Save the timeline of @project to @uri. You should make sure that @timeline
+is one of the timelines that have been extracted from @project
+(using ges_asset_extract (@project);)</doc>
+ <source-position filename="ges/ges-project.h" line="80"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="1073">%TRUE if the project could be save, %FALSE otherwize</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="project" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="1059">A #GESProject to save</doc>
+ <type name="Project" c:type="GESProject*"/>
+ </instance-parameter>
+ <parameter name="timeline" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="1060">The #GESTimeline to save, it must have been extracted from @project</doc>
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </parameter>
+ <parameter name="uri" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="1061">The uri where to save @project and @timeline</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="formatter_asset"
+ transfer-ownership="full"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="1062">The formatter asset to
+use or %NULL. If %NULL, will try to save in the same format as the one
+from which the timeline as been loaded or default to the best formatter
+as defined in #ges_find_formatter_for_uri</doc>
+ <type name="Asset" c:type="GESAsset*"/>
+ </parameter>
+ <parameter name="overwrite" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="1066">%TRUE to overwrite file if it exists</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="uri"
+ writable="1"
+ construct-only="1"
+ transfer-ownership="none">
+ <type name="utf8" c:type="gchar*"/>
+ </property>
+ <field name="parent">
+ <type name="Asset" c:type="GESAsset"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="ProjectPrivate" c:type="GESProjectPrivate*"/>
+ </field>
+ <field name="__ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="20">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <glib:signal name="asset-added" when="last">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="asset" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="502">The #GESAsset that has been added to @project</doc>
+ <type name="Asset"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="asset-loading" when="last" version="1.8">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="asset" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="512">The #GESAsset that started loading</doc>
+ <type name="Asset"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="asset-removed" when="last">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="asset" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="524">The #GESAsset that has been removed from @project</doc>
+ <type name="Asset"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="error-loading" when="last" version="1.18">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="timeline" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="607">The timeline that failed loading</doc>
+ <type name="Timeline"/>
+ </parameter>
+ <parameter name="error" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="608">The #GError defining the error that occured</doc>
+ <type name="GLib.Error"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="error-loading-asset" when="last">
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="586">Informs you that a #GESAsset could not be created. In case of
+missing GStreamer plugins, the error will be set to #GST_CORE_ERROR
+#GST_CORE_ERROR_MISSING_PLUGIN</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="error" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="589">The #GError defining the error that occured, might be %NULL</doc>
+ <type name="GLib.Error"/>
+ </parameter>
+ <parameter name="id" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="590">The @id of the asset that failed loading</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="extractable_type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="591">The @extractable_type of the asset that
+failed loading</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="loaded" when="first">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="timeline" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="546">The #GESTimeline that completed loading</doc>
+ <type name="Timeline"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="loading" when="first" version="1.18">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="timeline" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="534">The #GESTimeline that started loading</doc>
+ <type name="Timeline"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="missing-uri" when="last">
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="553">|[
+static gchar
+source_moved_cb (GESProject *project, GError *error, GESAsset *asset_with_error)
+{
+ return g_strdup ("file:///the/new/uri.ogg");
+}
+
+static int
+main (int argc, gchar ** argv)
+{
+ GESTimeline *timeline;
+ GESProject *project = ges_project_new ("file:///some/uri.xges");
+
+ g_signal_connect (project, "missing-uri", source_moved_cb, NULL);
+ timeline = ges_asset_extract (GES_ASSET (project));
+}
+]|</doc>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="578">The new URI of @wrong_asset</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="error" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="556">The error that happened</doc>
+ <type name="GLib.Error"/>
+ </parameter>
+ <parameter name="wrong_asset" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-project.c"
+ line="557">The asset with the wrong ID, you should us it and its content
+only to find out what the new location is.</doc>
+ <type name="Asset"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ </class>
+ <record name="ProjectClass"
+ c:type="GESProjectClass"
+ glib:is-gtype-struct-for="Project">
+ <source-position filename="ges/ges-project.h" line="68"/>
+ <field name="parent_class">
+ <type name="AssetClass" c:type="GESAssetClass"/>
+ </field>
+ <field name="asset_added">
+ <callback name="asset_added">
+ <source-position filename="ges/ges-project.h" line="49"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <type name="Project" c:type="GESProject*"/>
+ </parameter>
+ <parameter name="asset" transfer-ownership="none">
+ <type name="Asset" c:type="GESAsset*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="asset_loading">
+ <callback name="asset_loading">
+ <source-position filename="ges/ges-project.h" line="51"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <type name="Project" c:type="GESProject*"/>
+ </parameter>
+ <parameter name="asset" transfer-ownership="none">
+ <type name="Asset" c:type="GESAsset*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="asset_removed">
+ <callback name="asset_removed">
+ <source-position filename="ges/ges-project.h" line="53"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <type name="Project" c:type="GESProject*"/>
+ </parameter>
+ <parameter name="asset" transfer-ownership="none">
+ <type name="Asset" c:type="GESAsset*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="missing_uri">
+ <callback name="missing_uri">
+ <source-position filename="ges/ges-project.h" line="55"/>
+ <return-value transfer-ownership="full">
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <type name="Project" c:type="GESProject*"/>
+ </parameter>
+ <parameter name="error" transfer-ownership="none">
+ <type name="GLib.Error" c:type="GError*"/>
+ </parameter>
+ <parameter name="wrong_asset" transfer-ownership="none">
+ <type name="Asset" c:type="GESAsset*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="loading_error">
+ <callback name="loading_error">
+ <source-position filename="ges/ges-project.h" line="58"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <type name="Project" c:type="GESProject*"/>
+ </parameter>
+ <parameter name="error" transfer-ownership="none">
+ <type name="GLib.Error" c:type="GError*"/>
+ </parameter>
+ <parameter name="id" transfer-ownership="none">
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="extractable_type" transfer-ownership="none">
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="loaded">
+ <callback name="loaded">
+ <source-position filename="ges/ges-project.h" line="62"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <type name="Project" c:type="GESProject*"/>
+ </parameter>
+ <parameter name="timeline" transfer-ownership="none">
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="loading">
+ <callback name="loading">
+ <source-position filename="ges/ges-project.h" line="64"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <type name="Project" c:type="GESProject*"/>
+ </parameter>
+ <parameter name="timeline" transfer-ownership="none">
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_ges_reserved">
+ <array zero-terminated="0" fixed-size="3">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="ProjectPrivate" c:type="GESProjectPrivate" disguised="1">
+ <source-position filename="ges/ges-project.h" line="31"/>
+ </record>
+ <class name="Source"
+ c:symbol-prefix="source"
+ c:type="GESSource"
+ parent="TrackElement"
+ glib:type-name="GESSource"
+ glib:get-type="ges_source_get_type"
+ glib:type-struct="SourceClass">
+ <doc xml:space="preserve"
+ filename="ges/ges-source.h"
+ line="33">Base class for single-media sources</doc>
+ <source-position filename="ges/ges-source.h" line="61"/>
+ <implements name="Extractable"/>
+ <implements name="MetaContainer"/>
+ <field name="parent" readable="0" private="1">
+ <type name="TrackElement" c:type="GESTrackElement"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="SourcePrivate" c:type="GESSourcePrivate*"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="SourceClass"
+ c:type="GESSourceClass"
+ glib:is-gtype-struct-for="Source">
+ <source-position filename="ges/ges-source.h" line="61"/>
+ <field name="parent_class" readable="0" private="1">
+ <type name="TrackElementClass" c:type="GESTrackElementClass"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <class name="SourceClip"
+ c:symbol-prefix="source_clip"
+ c:type="GESSourceClip"
+ parent="Clip"
+ glib:type-name="GESSourceClip"
+ glib:get-type="ges_source_clip_get_type"
+ glib:type-struct="SourceClipClass">
+ <doc xml:space="preserve"
+ filename="ges/ges-source-clip.c"
+ line="21">#GESSourceClip-s are clips whose core elements are #GESSource-s.
+
+## Effects
+
+#GESSourceClip-s can also have #GESBaseEffect-s added as non-core
+elements. These effects are applied to the core sources of the clip
+that they share a #GESTrack with. See #GESClip for how to add and move
+these effects from the clip.</doc>
+ <source-position filename="ges/ges-source-clip.h" line="59"/>
+ <implements name="Extractable"/>
+ <implements name="MetaContainer"/>
+ <constructor name="new_time_overlay"
+ c:identifier="ges_source_clip_new_time_overlay"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="ges/ges-time-overlay-clip.c"
+ line="34">Creates a new #GESSourceClip that renders a time overlay on top</doc>
+ <source-position filename="ges/ges-time-overlay-clip.h" line="28"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-time-overlay-clip.c"
+ line="39">The newly created #GESSourceClip,
+or %NULL if there was an error.</doc>
+ <type name="SourceClip" c:type="GESSourceClip*"/>
+ </return-value>
+ </constructor>
+ <field name="parent">
+ <type name="Clip" c:type="GESClip"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="SourceClipPrivate" c:type="GESSourceClipPrivate*"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <class name="SourceClipAsset"
+ c:symbol-prefix="source_clip_asset"
+ c:type="GESSourceClipAsset"
+ parent="ClipAsset"
+ glib:type-name="GESSourceClipAsset"
+ glib:get-type="ges_source_clip_asset_get_type"
+ glib:type-struct="SourceClipAssetClass">
+ <source-position filename="ges/ges-source-clip-asset.h" line="37"/>
+ <implements name="MetaContainer"/>
+ <implements name="Gio.AsyncInitable"/>
+ <implements name="Gio.Initable"/>
+ <field name="parent_instance">
+ <type name="ClipAsset" c:type="GESClipAsset"/>
+ </field>
+ </class>
+ <record name="SourceClipAssetClass"
+ c:type="GESSourceClipAssetClass"
+ glib:is-gtype-struct-for="SourceClipAsset">
+ <source-position filename="ges/ges-source-clip-asset.h" line="37"/>
+ <field name="parent_class">
+ <type name="ClipAssetClass" c:type="GESClipAssetClass"/>
+ </field>
+ </record>
+ <record name="SourceClipClass"
+ c:type="GESSourceClipClass"
+ glib:is-gtype-struct-for="SourceClip">
+ <source-position filename="ges/ges-source-clip.h" line="59"/>
+ <field name="parent_class" readable="0" private="1">
+ <type name="ClipClass" c:type="GESClipClass"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="SourceClipPrivate"
+ c:type="GESSourceClipPrivate"
+ disguised="1">
+ <source-position filename="ges/ges-source-clip.h" line="31"/>
+ </record>
+ <record name="SourcePrivate" c:type="GESSourcePrivate" disguised="1">
+ <source-position filename="ges/ges-source.h" line="31"/>
+ </record>
+ <function-macro name="TIMELINE_ELEMENT_DURATION"
+ c:identifier="GES_TIMELINE_ELEMENT_DURATION"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.h"
+ line="57">The #GESTimelineElement:duration of @obj.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="63"/>
+ <parameters>
+ <parameter name="obj">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.h"
+ line="59">A #GESTimelineElement</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="TIMELINE_ELEMENT_END"
+ c:identifier="GES_TIMELINE_ELEMENT_END"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.h"
+ line="40">The end position of @obj: #GESTimelineElement:start +
+#GESTimelineElement:duration.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="47"/>
+ <parameters>
+ <parameter name="obj">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.h"
+ line="42">A #GESTimelineElement</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="TIMELINE_ELEMENT_INPOINT"
+ c:identifier="GES_TIMELINE_ELEMENT_INPOINT"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.h"
+ line="49">The #GESTimelineElement:in-point of @obj.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="55"/>
+ <parameters>
+ <parameter name="obj">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.h"
+ line="51">A #GESTimelineElement</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="TIMELINE_ELEMENT_LAYER_PRIORITY"
+ c:identifier="GES_TIMELINE_ELEMENT_LAYER_PRIORITY"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.h"
+ line="88">See #ges_timeline_element_get_layer_priority.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="94"/>
+ <parameters>
+ <parameter name="obj">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.h"
+ line="90">The object to retrieve the layer priority from</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="TIMELINE_ELEMENT_MAX_DURATION"
+ c:identifier="GES_TIMELINE_ELEMENT_MAX_DURATION"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.h"
+ line="65">The #GESTimelineElement:max-duration of @obj.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="71"/>
+ <parameters>
+ <parameter name="obj">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.h"
+ line="67">A #GESTimelineElement</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="TIMELINE_ELEMENT_NAME"
+ c:identifier="GES_TIMELINE_ELEMENT_NAME"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.h"
+ line="112">The #GESTimelineElement:name of @obj.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="118"/>
+ <parameters>
+ <parameter name="obj">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.h"
+ line="114">A #GESTimelineElement</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <constant name="TIMELINE_ELEMENT_NO_LAYER_PRIORITY"
+ value="4294967295"
+ c:type="GES_TIMELINE_ELEMENT_NO_LAYER_PRIORITY">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.h"
+ line="81">Layer priority when a timeline element is not in any layer.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="86"/>
+ <type name="guint32" c:type="guint32"/>
+ </constant>
+ <function-macro name="TIMELINE_ELEMENT_PARENT"
+ c:identifier="GES_TIMELINE_ELEMENT_PARENT"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.h"
+ line="96">The #GESTimelineElement:parent of @obj.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="102"/>
+ <parameters>
+ <parameter name="obj">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.h"
+ line="98">A #GESTimelineElement</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="TIMELINE_ELEMENT_PRIORITY"
+ c:identifier="GES_TIMELINE_ELEMENT_PRIORITY"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.h"
+ line="73">The #GESTimelineElement:priority of @obj.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="79"/>
+ <parameters>
+ <parameter name="obj">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.h"
+ line="75">A #GESTimelineElement</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="TIMELINE_ELEMENT_START"
+ c:identifier="GES_TIMELINE_ELEMENT_START"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.h"
+ line="32">The #GESTimelineElement:start of @obj.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="38"/>
+ <parameters>
+ <parameter name="obj">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.h"
+ line="34">A #GESTimelineElement</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="TIMELINE_ELEMENT_TIMELINE"
+ c:identifier="GES_TIMELINE_ELEMENT_TIMELINE"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.h"
+ line="104">The #GESTimelineElement:timeline of @obj.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="110"/>
+ <parameters>
+ <parameter name="obj">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.h"
+ line="106">A #GESTimelineElement</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="TIMELINE_GET_LAYERS"
+ c:identifier="GES_TIMELINE_GET_LAYERS"
+ introspectable="0">
+ <source-position filename="ges/ges-timeline.h" line="34"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="TIMELINE_GET_TRACKS"
+ c:identifier="GES_TIMELINE_GET_TRACKS"
+ introspectable="0">
+ <source-position filename="ges/ges-timeline.h" line="33"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="TRACK_ELEMENT_CLASS_DEFAULT_HAS_INTERNAL_SOURCE"
+ c:identifier="GES_TRACK_ELEMENT_CLASS_DEFAULT_HAS_INTERNAL_SOURCE"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.h"
+ line="36">What the default #GESTrackElement:has-internal-source value should be
+for new elements from this class.</doc>
+ <source-position filename="ges/ges-track-element.h" line="43"/>
+ <parameters>
+ <parameter name="klass">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.h"
+ line="38">A #GESTrackElementClass</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <class name="TestClip"
+ c:symbol-prefix="test_clip"
+ c:type="GESTestClip"
+ parent="SourceClip"
+ glib:type-name="GESTestClip"
+ glib:get-type="ges_test_clip_get_type"
+ glib:type-struct="TestClipClass">
+ <doc xml:space="preserve"
+ filename="ges/ges-test-clip.c"
+ line="23">Useful for testing purposes.
+
+## Asset
+
+The default asset ID is GESTestClip, but the framerate and video
+size can be overridden using an ID of the form:
+
+```
+framerate=60/1, width=1920, height=1080, max-duration=5.0
+```
+Note: `max-duration` can be provided in seconds as float, or as GstClockTime
+as guint64 or gint.</doc>
+ <source-position filename="ges/ges-test-clip.h" line="62"/>
+ <implements name="Extractable"/>
+ <implements name="MetaContainer"/>
+ <constructor name="new" c:identifier="ges_test_clip_new">
+ <doc xml:space="preserve"
+ filename="ges/ges-test-clip.c"
+ line="565">Creates a new #GESTestClip.</doc>
+ <source-position filename="ges/ges-test-clip.h" line="90"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-test-clip.c"
+ line="570">The newly created #GESTestClip,
+or %NULL if there was an error.</doc>
+ <type name="TestClip" c:type="GESTestClip*"/>
+ </return-value>
+ </constructor>
+ <constructor name="new_for_nick"
+ c:identifier="ges_test_clip_new_for_nick">
+ <doc xml:space="preserve"
+ filename="ges/ges-test-clip.c"
+ line="585">Creates a new #GESTestClip for the provided @nick.</doc>
+ <source-position filename="ges/ges-test-clip.h" line="92"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-test-clip.c"
+ line="591">The newly created #GESTestClip,
+or %NULL if there was an error.</doc>
+ <type name="TestClip" c:type="GESTestClip*"/>
+ </return-value>
+ <parameters>
+ <parameter name="nick" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-test-clip.c"
+ line="587">the nickname for which to create the #GESTestClip</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <method name="get_frequency" c:identifier="ges_test_clip_get_frequency">
+ <doc xml:space="preserve"
+ filename="ges/ges-test-clip.c"
+ line="488">Get the frequency @self generates.</doc>
+ <source-position filename="ges/ges-test-clip.h" line="85"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-test-clip.c"
+ line="494">The frequency @self generates. See audiotestsrc element.</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-test-clip.c"
+ line="490">a #GESTestClip</doc>
+ <type name="TestClip" c:type="GESTestClip*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_volume" c:identifier="ges_test_clip_get_volume">
+ <doc xml:space="preserve"
+ filename="ges/ges-test-clip.c"
+ line="502">Get the volume of the test audio signal applied on @self.</doc>
+ <source-position filename="ges/ges-test-clip.h" line="87"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-test-clip.c"
+ line="508">The volume of the test audio signal applied on @self.</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-test-clip.c"
+ line="504">a #GESTestClip</doc>
+ <type name="TestClip" c:type="GESTestClip*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_vpattern" c:identifier="ges_test_clip_get_vpattern">
+ <doc xml:space="preserve"
+ filename="ges/ges-test-clip.c"
+ line="460">Get the #GESVideoTestPattern which is applied on @self.</doc>
+ <source-position filename="ges/ges-test-clip.h" line="80"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-test-clip.c"
+ line="466">The #GESVideoTestPattern which is applied on @self.</doc>
+ <type name="VideoTestPattern" c:type="GESVideoTestPattern"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-test-clip.c"
+ line="462">a #GESTestClip</doc>
+ <type name="TestClip" c:type="GESTestClip*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="is_muted" c:identifier="ges_test_clip_is_muted">
+ <doc xml:space="preserve"
+ filename="ges/ges-test-clip.c"
+ line="474">Let you know if the audio track of @self is muted or not.</doc>
+ <source-position filename="ges/ges-test-clip.h" line="83"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-test-clip.c"
+ line="480">Whether the audio track of @self is muted or not.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-test-clip.c"
+ line="476">a #GESTestClip</doc>
+ <type name="TestClip" c:type="GESTestClip*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="set_frequency" c:identifier="ges_test_clip_set_frequency">
+ <doc xml:space="preserve"
+ filename="ges/ges-test-clip.c"
+ line="414">Sets the frequency to generate. See audiotestsrc element.</doc>
+ <source-position filename="ges/ges-test-clip.h" line="72"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-test-clip.c"
+ line="416">the #GESTestClip to set the frequency on</doc>
+ <type name="TestClip" c:type="GESTestClip*"/>
+ </instance-parameter>
+ <parameter name="freq" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-test-clip.c"
+ line="417">the frequency you want to use on @self</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_mute" c:identifier="ges_test_clip_set_mute">
+ <doc xml:space="preserve"
+ filename="ges/ges-test-clip.c"
+ line="364">Sets whether the audio track of this clip is muted or not.</doc>
+ <source-position filename="ges/ges-test-clip.h" line="65"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-test-clip.c"
+ line="366">the #GESTestClip on which to mute or unmute the audio track</doc>
+ <type name="TestClip" c:type="GESTestClip*"/>
+ </instance-parameter>
+ <parameter name="mute" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-test-clip.c"
+ line="367">%TRUE to mute the audio track, %FALSE to unmute it</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_volume" c:identifier="ges_test_clip_set_volume">
+ <doc xml:space="preserve"
+ filename="ges/ges-test-clip.c"
+ line="437">Sets the volume of the test audio signal.</doc>
+ <source-position filename="ges/ges-test-clip.h" line="75"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-test-clip.c"
+ line="439">the #GESTestClip to set the volume on</doc>
+ <type name="TestClip" c:type="GESTestClip*"/>
+ </instance-parameter>
+ <parameter name="volume" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-test-clip.c"
+ line="440">the volume of the audio signal you want to use on @self</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_vpattern" c:identifier="ges_test_clip_set_vpattern">
+ <doc xml:space="preserve"
+ filename="ges/ges-test-clip.c"
+ line="391">Sets which video pattern to display on @self.</doc>
+ <source-position filename="ges/ges-test-clip.h" line="68"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-test-clip.c"
+ line="393">the #GESTestClip to set the pattern on</doc>
+ <type name="TestClip" c:type="GESTestClip*"/>
+ </instance-parameter>
+ <parameter name="vpattern" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-test-clip.c"
+ line="394">the #GESVideoTestPattern to use on @self</doc>
+ <type name="VideoTestPattern" c:type="GESVideoTestPattern"/>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="freq"
+ writable="1"
+ construct="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-test-clip.c"
+ line="320">The frequency to generate for audio track elements.</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </property>
+ <property name="mute"
+ writable="1"
+ construct="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-test-clip.c"
+ line="341">Whether the sound will be played or not.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </property>
+ <property name="volume"
+ writable="1"
+ construct="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-test-clip.c"
+ line="330">The volume for the audio track elements.</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </property>
+ <property name="vpattern"
+ writable="1"
+ construct="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-test-clip.c"
+ line="309">Video pattern to display in video track elements.</doc>
+ <type name="VideoTestPattern"/>
+ </property>
+ <field name="parent">
+ <type name="SourceClip" c:type="GESSourceClip"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="TestClipPrivate" c:type="GESTestClipPrivate*"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="TestClipClass"
+ c:type="GESTestClipClass"
+ glib:is-gtype-struct-for="TestClip">
+ <source-position filename="ges/ges-test-clip.h" line="62"/>
+ <field name="parent_class" readable="0" private="1">
+ <type name="SourceClipClass" c:type="GESSourceClipClass"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="TestClipPrivate" c:type="GESTestClipPrivate" disguised="1">
+ <source-position filename="ges/ges-test-clip.h" line="35"/>
+ </record>
+ <enumeration name="TextHAlign"
+ glib:type-name="GESTextHAlign"
+ glib:get-type="ges_text_halign_get_type"
+ c:type="GESTextHAlign">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="257">Horizontal alignment of the text.</doc>
+ <member name="left"
+ value="0"
+ c:identifier="GES_TEXT_HALIGN_LEFT"
+ glib:nick="left">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="259">align text left</doc>
+ </member>
+ <member name="center"
+ value="1"
+ c:identifier="GES_TEXT_HALIGN_CENTER"
+ glib:nick="center">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="260">align text center</doc>
+ </member>
+ <member name="right"
+ value="2"
+ c:identifier="GES_TEXT_HALIGN_RIGHT"
+ glib:nick="right">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="261">align text right</doc>
+ </member>
+ <member name="position"
+ value="4"
+ c:identifier="GES_TEXT_HALIGN_POSITION"
+ glib:nick="position">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="262">align text on xpos position</doc>
+ </member>
+ <member name="absolute"
+ value="5"
+ c:identifier="GES_TEXT_HALIGN_ABSOLUTE"
+ glib:nick="absolute">
+ </member>
+ </enumeration>
+ <class name="TextOverlay"
+ c:symbol-prefix="text_overlay"
+ c:type="GESTextOverlay"
+ parent="Operation"
+ glib:type-name="GESTextOverlay"
+ glib:get-type="ges_text_overlay_get_type"
+ glib:type-struct="TextOverlayClass">
+ <source-position filename="ges/ges-text-overlay.h" line="54"/>
+ <implements name="Extractable"/>
+ <implements name="MetaContainer"/>
+ <constructor name="new"
+ c:identifier="ges_text_overlay_new"
+ deprecated="1"
+ deprecated-version="1.18">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay.c"
+ line="426">Creates a new #GESTextOverlay.</doc>
+ <doc-deprecated xml:space="preserve">This should never be called by applications as this will
+be created by clips.</doc-deprecated>
+ <source-position filename="ges/ges-text-overlay.h" line="81"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay.c"
+ line="431">The newly created #GESTextOverlay or
+%NULL if something went wrong.</doc>
+ <type name="TextOverlay" c:type="GESTextOverlay*"/>
+ </return-value>
+ </constructor>
+ <method name="get_color" c:identifier="ges_text_overlay_get_color">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay.c"
+ line="384">Get the color used by @source.</doc>
+ <source-position filename="ges/ges-text-overlay.h" line="94"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay.c"
+ line="390">The color used by @source.</doc>
+ <type name="guint32" c:type="const guint32"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay.c"
+ line="386">a GESTextOverlay</doc>
+ <type name="TextOverlay" c:type="GESTextOverlay*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_font_desc"
+ c:identifier="ges_text_overlay_get_font_desc">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay.c"
+ line="342">Get the pango font description currently set on @source.</doc>
+ <source-position filename="ges/ges-text-overlay.h" line="86"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay.c"
+ line="348">The pango font description currently set on @source.</doc>
+ <type name="utf8" c:type="const char*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay.c"
+ line="344">a GESTextOverlay</doc>
+ <type name="TextOverlay" c:type="GESTextOverlay*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_halignment"
+ c:identifier="ges_text_overlay_get_halignment">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay.c"
+ line="356">Get the horizontal aligment used by @source.</doc>
+ <source-position filename="ges/ges-text-overlay.h" line="88"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay.c"
+ line="362">The horizontal aligment used by @source.</doc>
+ <type name="TextHAlign" c:type="GESTextHAlign"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay.c"
+ line="358">a GESTextOverlay</doc>
+ <type name="TextOverlay" c:type="GESTextOverlay*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_text" c:identifier="ges_text_overlay_get_text">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay.c"
+ line="328">Get the text currently set on @source.</doc>
+ <source-position filename="ges/ges-text-overlay.h" line="84"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay.c"
+ line="334">The text currently set on @source.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay.c"
+ line="330">a GESTextOverlay</doc>
+ <type name="TextOverlay" c:type="GESTextOverlay*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_valignment"
+ c:identifier="ges_text_overlay_get_valignment">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay.c"
+ line="370">Get the vertical aligment used by @source.</doc>
+ <source-position filename="ges/ges-text-overlay.h" line="91"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay.c"
+ line="376">The vertical aligment used by @source.</doc>
+ <type name="TextVAlign" c:type="GESTextVAlign"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay.c"
+ line="372">a GESTextOverlay</doc>
+ <type name="TextOverlay" c:type="GESTextOverlay*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_xpos" c:identifier="ges_text_overlay_get_xpos">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay.c"
+ line="398">Get the horizontal position used by @source.</doc>
+ <source-position filename="ges/ges-text-overlay.h" line="96"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay.c"
+ line="404">The horizontal position used by @source.</doc>
+ <type name="gdouble" c:type="const gdouble"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay.c"
+ line="400">a GESTextOverlay</doc>
+ <type name="TextOverlay" c:type="GESTextOverlay*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_ypos" c:identifier="ges_text_overlay_get_ypos">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay.c"
+ line="412">Get the vertical position used by @source.</doc>
+ <source-position filename="ges/ges-text-overlay.h" line="98"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay.c"
+ line="418">The vertical position used by @source.</doc>
+ <type name="gdouble" c:type="const gdouble"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay.c"
+ line="414">a GESTextOverlay</doc>
+ <type name="TextOverlay" c:type="GESTextOverlay*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="set_color" c:identifier="ges_text_overlay_set_color">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay.c"
+ line="277">Sets the color of the text.</doc>
+ <source-position filename="ges/ges-text-overlay.h" line="71"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay.c"
+ line="279">the #GESTextOverlay* to set</doc>
+ <type name="TextOverlay" c:type="GESTextOverlay*"/>
+ </instance-parameter>
+ <parameter name="color" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay.c"
+ line="280">The color @self is being set to</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_font_desc"
+ c:identifier="ges_text_overlay_set_font_desc">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay.c"
+ line="216">Sets the pango font description of the text this track element
+will render.</doc>
+ <source-position filename="ges/ges-text-overlay.h" line="60"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay.c"
+ line="218">the #GESTextOverlay</doc>
+ <type name="TextOverlay" c:type="GESTextOverlay*"/>
+ </instance-parameter>
+ <parameter name="font_desc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay.c"
+ line="219">the pango font description</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_halignment"
+ c:identifier="ges_text_overlay_set_halignment">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay.c"
+ line="258">Sets the horizontal aligment of the text.</doc>
+ <source-position filename="ges/ges-text-overlay.h" line="64"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay.c"
+ line="260">the #GESTextOverlay* to set text on</doc>
+ <type name="TextOverlay" c:type="GESTextOverlay*"/>
+ </instance-parameter>
+ <parameter name="halign" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay.c"
+ line="261">The #GESTextHAlign defining the horizontal alignment
+of the text render by @self.</doc>
+ <type name="TextHAlign" c:type="GESTextHAlign"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_text" c:identifier="ges_text_overlay_set_text">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay.c"
+ line="194">Sets the text this track element will render.</doc>
+ <source-position filename="ges/ges-text-overlay.h" line="57"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay.c"
+ line="196">the #GESTextOverlay* to set text on</doc>
+ <type name="TextOverlay" c:type="GESTextOverlay*"/>
+ </instance-parameter>
+ <parameter name="text" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay.c"
+ line="197">the text to render. an internal copy of this text will be
+made.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_valignment"
+ c:identifier="ges_text_overlay_set_valignment">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay.c"
+ line="239">Sets the vertical aligment of the text.</doc>
+ <source-position filename="ges/ges-text-overlay.h" line="68"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay.c"
+ line="241">the #GESTextOverlay* to set text on</doc>
+ <type name="TextOverlay" c:type="GESTextOverlay*"/>
+ </instance-parameter>
+ <parameter name="valign" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay.c"
+ line="242">The #GESTextVAlign defining the vertical alignment
+of the text render by @self.</doc>
+ <type name="TextVAlign" c:type="GESTextVAlign"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_xpos" c:identifier="ges_text_overlay_set_xpos">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay.c"
+ line="294">Sets the horizontal position of the text.</doc>
+ <source-position filename="ges/ges-text-overlay.h" line="74"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay.c"
+ line="296">the #GESTextOverlay* to set</doc>
+ <type name="TextOverlay" c:type="GESTextOverlay*"/>
+ </instance-parameter>
+ <parameter name="position" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay.c"
+ line="297">The horizontal position @self is being set to</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_ypos" c:identifier="ges_text_overlay_set_ypos">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay.c"
+ line="311">Sets the vertical position of the text.</doc>
+ <source-position filename="ges/ges-text-overlay.h" line="77"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay.c"
+ line="313">the #GESTextOverlay* to set</doc>
+ <type name="TextOverlay" c:type="GESTextOverlay*"/>
+ </instance-parameter>
+ <parameter name="position" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay.c"
+ line="314">The vertical position @self is being set to</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </parameter>
+ </parameters>
+ </method>
+ <field name="parent">
+ <type name="Operation" c:type="GESOperation"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="TextOverlayPrivate" c:type="GESTextOverlayPrivate*"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="TextOverlayClass"
+ c:type="GESTextOverlayClass"
+ glib:is-gtype-struct-for="TextOverlay">
+ <source-position filename="ges/ges-text-overlay.h" line="54"/>
+ <field name="parent_class">
+ <type name="OperationClass" c:type="GESOperationClass"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <class name="TextOverlayClip"
+ c:symbol-prefix="text_overlay_clip"
+ c:type="GESTextOverlayClip"
+ parent="OverlayClip"
+ glib:type-name="GESTextOverlayClip"
+ glib:get-type="ges_text_overlay_clip_get_type"
+ glib:type-struct="TextOverlayClipClass">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay-clip.c"
+ line="21">Renders text onto the next lower priority stream using textrender.</doc>
+ <source-position filename="ges/ges-text-overlay-clip.h" line="59"/>
+ <implements name="Extractable"/>
+ <implements name="MetaContainer"/>
+ <constructor name="new" c:identifier="ges_text_overlay_clip_new">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay-clip.c"
+ line="582">Creates a new #GESTextOverlayClip</doc>
+ <source-position filename="ges/ges-text-overlay-clip.h" line="112"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay-clip.c"
+ line="587">The newly created
+#GESTextOverlayClip, or %NULL if there was an error.</doc>
+ <type name="TextOverlayClip" c:type="GESTextOverlayClip*"/>
+ </return-value>
+ </constructor>
+ <method name="get_color" c:identifier="ges_text_overlay_clip_get_color">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay-clip.c"
+ line="513">Get the color used by @source.</doc>
+ <source-position filename="ges/ges-text-overlay-clip.h" line="100"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay-clip.c"
+ line="519">The color used by @source.</doc>
+ <type name="guint32" c:type="const guint32"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay-clip.c"
+ line="515">a #GESTextOverlayClip</doc>
+ <type name="TextOverlayClip" c:type="GESTextOverlayClip*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_font_desc"
+ c:identifier="ges_text_overlay_clip_get_font_desc">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay-clip.c"
+ line="471">Get the pango font description used by @self.</doc>
+ <source-position filename="ges/ges-text-overlay-clip.h" line="93"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay-clip.c"
+ line="477">The pango font description used by @self.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay-clip.c"
+ line="473">a #GESTextOverlayClip</doc>
+ <type name="TextOverlayClip" c:type="GESTextOverlayClip*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_halignment"
+ c:identifier="ges_text_overlay_clip_get_halignment">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay-clip.c"
+ line="485">Get the horizontal aligment used by @self.</doc>
+ <source-position filename="ges/ges-text-overlay-clip.h" line="109"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay-clip.c"
+ line="491">The horizontal aligment used by @self.</doc>
+ <type name="TextHAlign" c:type="GESTextHAlign"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay-clip.c"
+ line="487">a #GESTextOverlayClip</doc>
+ <type name="TextOverlayClip" c:type="GESTextOverlayClip*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_text" c:identifier="ges_text_overlay_clip_get_text">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay-clip.c"
+ line="456">Get the text currently set on @self.</doc>
+ <source-position filename="ges/ges-text-overlay-clip.h" line="90"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay-clip.c"
+ line="462">The text currently set on @self.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay-clip.c"
+ line="458">a #GESTextOverlayClip</doc>
+ <type name="TextOverlayClip" c:type="GESTextOverlayClip*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_valignment"
+ c:identifier="ges_text_overlay_clip_get_valignment">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay-clip.c"
+ line="499">Get the vertical aligment used by @self.</doc>
+ <source-position filename="ges/ges-text-overlay-clip.h" line="97"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay-clip.c"
+ line="505">The vertical aligment used by @self.</doc>
+ <type name="TextVAlign" c:type="GESTextVAlign"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay-clip.c"
+ line="501">a #GESTextOverlayClip</doc>
+ <type name="TextOverlayClip" c:type="GESTextOverlayClip*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_xpos" c:identifier="ges_text_overlay_clip_get_xpos">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay-clip.c"
+ line="528">Get the horizontal position used by @source.</doc>
+ <source-position filename="ges/ges-text-overlay-clip.h" line="103"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay-clip.c"
+ line="534">The horizontal position used by @source.</doc>
+ <type name="gdouble" c:type="const gdouble"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay-clip.c"
+ line="530">a #GESTextOverlayClip</doc>
+ <type name="TextOverlayClip" c:type="GESTextOverlayClip*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_ypos" c:identifier="ges_text_overlay_clip_get_ypos">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay-clip.c"
+ line="543">Get the vertical position used by @source.</doc>
+ <source-position filename="ges/ges-text-overlay-clip.h" line="106"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay-clip.c"
+ line="549">The vertical position used by @source.</doc>
+ <type name="gdouble" c:type="const gdouble"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay-clip.c"
+ line="545">a #GESTextOverlayClip</doc>
+ <type name="TextOverlayClip" c:type="GESTextOverlayClip*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="set_color" c:identifier="ges_text_overlay_clip_set_color">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay-clip.c"
+ line="378">Sets the color of the text.</doc>
+ <source-position filename="ges/ges-text-overlay-clip.h" line="78"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay-clip.c"
+ line="380">the #GESTextOverlayClip* to set</doc>
+ <type name="TextOverlayClip" c:type="GESTextOverlayClip*"/>
+ </instance-parameter>
+ <parameter name="color" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay-clip.c"
+ line="381">The color @self is being set to</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_font_desc"
+ c:identifier="ges_text_overlay_clip_set_font_desc">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay-clip.c"
+ line="288">Sets the pango font description of the text</doc>
+ <source-position filename="ges/ges-text-overlay-clip.h" line="66"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay-clip.c"
+ line="290">the #GESTextOverlayClip*</doc>
+ <type name="TextOverlayClip" c:type="GESTextOverlayClip*"/>
+ </instance-parameter>
+ <parameter name="font_desc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay-clip.c"
+ line="291">the pango font description</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_halign"
+ c:identifier="ges_text_overlay_clip_set_halign">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay-clip.c"
+ line="320">Sets the horizontal aligment of the text.</doc>
+ <source-position filename="ges/ges-text-overlay-clip.h" line="74"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay-clip.c"
+ line="322">the #GESTextOverlayClip* to set horizontal alignement of text on</doc>
+ <type name="TextOverlayClip" c:type="GESTextOverlayClip*"/>
+ </instance-parameter>
+ <parameter name="halign" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay-clip.c"
+ line="323">#GESTextHAlign</doc>
+ <type name="TextHAlign" c:type="GESTextHAlign"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_text" c:identifier="ges_text_overlay_clip_set_text">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay-clip.c"
+ line="257">Sets the text this clip will render.</doc>
+ <source-position filename="ges/ges-text-overlay-clip.h" line="62"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay-clip.c"
+ line="259">the #GESTextOverlayClip* to set text on</doc>
+ <type name="TextOverlayClip" c:type="GESTextOverlayClip*"/>
+ </instance-parameter>
+ <parameter name="text" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay-clip.c"
+ line="260">the text to render. an internal copy of this text will be
+made.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_valign"
+ c:identifier="ges_text_overlay_clip_set_valign">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay-clip.c"
+ line="349">Sets the vertical aligment of the text.</doc>
+ <source-position filename="ges/ges-text-overlay-clip.h" line="70"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay-clip.c"
+ line="351">the #GESTextOverlayClip* to set vertical alignement of text on</doc>
+ <type name="TextOverlayClip" c:type="GESTextOverlayClip*"/>
+ </instance-parameter>
+ <parameter name="valign" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay-clip.c"
+ line="352">#GESTextVAlign</doc>
+ <type name="TextVAlign" c:type="GESTextVAlign"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_xpos" c:identifier="ges_text_overlay_clip_set_xpos">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay-clip.c"
+ line="404">Sets the horizontal position of the text.</doc>
+ <source-position filename="ges/ges-text-overlay-clip.h" line="82"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay-clip.c"
+ line="406">the #GESTextOverlayClip* to set</doc>
+ <type name="TextOverlayClip" c:type="GESTextOverlayClip*"/>
+ </instance-parameter>
+ <parameter name="position" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay-clip.c"
+ line="407">The horizontal position @self is being set to</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_ypos" c:identifier="ges_text_overlay_clip_set_ypos">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay-clip.c"
+ line="430">Sets the vertical position of the text.</doc>
+ <source-position filename="ges/ges-text-overlay-clip.h" line="86"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay-clip.c"
+ line="432">the #GESTextOverlayClip* to set</doc>
+ <type name="TextOverlayClip" c:type="GESTextOverlayClip*"/>
+ </instance-parameter>
+ <parameter name="position" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay-clip.c"
+ line="433">The vertical position @self is being set to</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="color"
+ writable="1"
+ construct="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay-clip.c"
+ line="210">The color of the text</doc>
+ <type name="guint" c:type="guint"/>
+ </property>
+ <property name="font-desc"
+ writable="1"
+ construct="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay-clip.c"
+ line="173">Pango font description string</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </property>
+ <property name="halignment"
+ writable="1"
+ construct="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay-clip.c"
+ line="196">Horizontal alignment of the text</doc>
+ <type name="TextHAlign"/>
+ </property>
+ <property name="text"
+ writable="1"
+ construct="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay-clip.c"
+ line="163">The text to diplay</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </property>
+ <property name="valignment"
+ writable="1"
+ construct="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay-clip.c"
+ line="186">Vertical alignent of the text</doc>
+ <type name="TextVAlign"/>
+ </property>
+ <property name="xpos"
+ writable="1"
+ construct="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay-clip.c"
+ line="220">The horizontal position of the text</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </property>
+ <property name="ypos"
+ writable="1"
+ construct="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-text-overlay-clip.c"
+ line="230">The vertical position of the text</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </property>
+ <field name="parent">
+ <type name="OverlayClip" c:type="GESOverlayClip"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="TextOverlayClipPrivate"
+ c:type="GESTextOverlayClipPrivate*"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="TextOverlayClipClass"
+ c:type="GESTextOverlayClipClass"
+ glib:is-gtype-struct-for="TextOverlayClip">
+ <source-position filename="ges/ges-text-overlay-clip.h" line="59"/>
+ <field name="parent_class" readable="0" private="1">
+ <type name="OverlayClipClass" c:type="GESOverlayClipClass"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="TextOverlayClipPrivate"
+ c:type="GESTextOverlayClipPrivate"
+ disguised="1">
+ <source-position filename="ges/ges-text-overlay-clip.h" line="30"/>
+ </record>
+ <record name="TextOverlayPrivate"
+ c:type="GESTextOverlayPrivate"
+ disguised="1">
+ <source-position filename="ges/ges-text-overlay.h" line="30"/>
+ </record>
+ <enumeration name="TextVAlign"
+ glib:type-name="GESTextVAlign"
+ glib:get-type="ges_text_valign_get_type"
+ c:type="GESTextVAlign">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="230">Vertical alignment of the text.</doc>
+ <member name="baseline"
+ value="0"
+ c:identifier="GES_TEXT_VALIGN_BASELINE"
+ glib:nick="baseline">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="232">draw text on the baseline</doc>
+ </member>
+ <member name="bottom"
+ value="1"
+ c:identifier="GES_TEXT_VALIGN_BOTTOM"
+ glib:nick="bottom">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="233">draw text on the bottom</doc>
+ </member>
+ <member name="top"
+ value="2"
+ c:identifier="GES_TEXT_VALIGN_TOP"
+ glib:nick="top">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="234">draw text on top</doc>
+ </member>
+ <member name="position"
+ value="3"
+ c:identifier="GES_TEXT_VALIGN_POSITION"
+ glib:nick="position">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="235">draw text on ypos position</doc>
+ </member>
+ <member name="center"
+ value="4"
+ c:identifier="GES_TEXT_VALIGN_CENTER"
+ glib:nick="center">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="236">draw text on the center</doc>
+ </member>
+ <member name="absolute"
+ value="5"
+ c:identifier="GES_TEXT_VALIGN_ABSOLUTE"
+ glib:nick="absolute">
+ </member>
+ </enumeration>
+ <class name="Timeline"
+ c:symbol-prefix="timeline"
+ c:type="GESTimeline"
+ parent="Gst.Bin"
+ glib:type-name="GESTimeline"
+ glib:get-type="ges_timeline_get_type"
+ glib:type-struct="TimelineClass">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="26">#GESTimeline is the central object for any multimedia timeline.
+
+A timeline is composed of a set of #GESTrack-s and a set of
+#GESLayer-s, which are added to the timeline using
+ges_timeline_add_track() and ges_timeline_append_layer(), respectively.
+
+The contained tracks define the supported types of the timeline
+and provide the media output. Essentially, each track provides an
+additional source #GstPad.
+
+Most usage of a timeline will likely only need a single #GESAudioTrack
+and/or a single #GESVideoTrack. You can create such a timeline with
+ges_timeline_new_audio_video(). After this, you are unlikely to need to
+work with the tracks directly.
+
+A timeline's layers contain #GESClip-s, which in turn control the
+creation of #GESTrackElement-s, which are added to the timeline's
+tracks. See #GESTimeline::select-tracks-for-object if you wish to have
+more control over which track a clip's elements are added to.
+
+The layers are ordered, with higher priority layers having their
+content prioritised in the tracks. This ordering can be changed using
+ges_timeline_move_layer().
+
+## Editing
+
+See #GESTimelineElement for the various ways the elements of a timeline
+can be edited.
+
+If you change the timing or ordering of a timeline's
+#GESTimelineElement-s, then these changes will not actually be taken
+into account in the output of the timeline's tracks until the
+ges_timeline_commit() method is called. This allows you to move its
+elements around, say, in response to an end user's mouse dragging, with
+little expense before finalising their effect on the produced data.
+
+## Overlaps and Auto-Transitions
+
+There are certain restrictions placed on how #GESSource-s may overlap
+in a #GESTrack that belongs to a timeline. These will be enforced by
+GES, so the user will not need to keep track of them, but they should
+be aware that certain edits will be refused as a result if the overlap
+rules would be broken.
+
+Consider two #GESSource-s, `A` and `B`, with start times `startA` and
+`startB`, and end times `endA` and `endB`, respectively. The start
+time refers to their #GESTimelineElement:start, and the end time is
+their #GESTimelineElement:start + #GESTimelineElement:duration. These
+two sources *overlap* if:
+
++ they share the same #GESTrackElement:track (non %NULL), which belongs
+ to the timeline;
++ they share the same #GES_TIMELINE_ELEMENT_LAYER_PRIORITY; and
++ `startA &lt; endB` and `startB &lt; endA `.
+
+Note that when `startA = endB` or `startB = endA` then the two sources
+will *touch* at their edges, but are not considered overlapping.
+
+If, in addition, `startA &lt; startB &lt; endA`, then we can say that the
+end of `A` overlaps the start of `B`.
+
+If, instead, `startA &lt;= startB` and `endA &gt;= endB`, then we can say
+that `A` fully overlaps `B`.
+
+The overlap rules for a timeline are that:
+
+1. One source cannot fully overlap another source.
+2. A source can only overlap the end of up to one other source at its
+ start.
+3. A source can only overlap the start of up to one other source at its
+ end.
+
+The last two rules combined essentially mean that at any given timeline
+position, only up to two #GESSource-s may overlap at that position. So
+triple or more overlaps are not allowed.
+
+If you switch on #GESTimeline:auto-transition, then at any moment when
+the end of one source (the first source) overlaps the start of another
+(the second source), a #GESTransitionClip will be automatically created
+for the pair in the same layer and it will cover their overlap. If the
+two elements are edited in a way such that the end of the first source
+no longer overlaps the start of the second, the transition will be
+automatically removed from the timeline. However, if the two sources
+still overlap at the same edges after the edit, then the same
+transition object will be kept, but with its timing and layer adjusted
+accordingly.
+
+## Saving
+
+To save/load a timeline, you can use the ges_timeline_load_from_uri()
+and ges_timeline_save_to_uri() methods that use the default format.
+
+## Playing
+
+A timeline is a #GstBin with a source #GstPad for each of its
+tracks, which you can fetch with ges_timeline_get_pad_for_track(). You
+will likely want to link these to some compatible sink #GstElement-s to
+be able to play or capture the content of the timeline.
+
+You can use a #GESPipeline to easily preview/play the timeline's
+content, or render it to a file.</doc>
+ <source-position filename="ges/ges-timeline.h" line="87"/>
+ <implements name="Extractable"/>
+ <implements name="MetaContainer"/>
+ <implements name="Gst.ChildProxy"/>
+ <constructor name="new" c:identifier="ges_timeline_new">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2089">Creates a new empty timeline.</doc>
+ <source-position filename="ges/ges-timeline.h" line="90"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2094">The new timeline.</doc>
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </return-value>
+ </constructor>
+ <constructor name="new_audio_video"
+ c:identifier="ges_timeline_new_audio_video">
+ <doc xml:space="preserve"
+ filename="ges/ges-utils.c"
+ line="40">Creates a new timeline containing a single #GESAudioTrack and a
+single #GESVideoTrack.</doc>
+ <source-position filename="ges/ges-utils.h" line="29"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-utils.c"
+ line="46">The new timeline, or %NULL if the tracks
+could not be created and added.</doc>
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </return-value>
+ </constructor>
+ <constructor name="new_from_uri"
+ c:identifier="ges_timeline_new_from_uri"
+ throws="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2109">Creates a timeline from the given URI.</doc>
+ <source-position filename="ges/ges-timeline.h" line="92"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2117">A new timeline if the uri was loaded
+successfully, or %NULL if the uri could not be loaded.</doc>
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </return-value>
+ <parameters>
+ <parameter name="uri" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2111">The URI to load from</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <virtual-method name="group_added">
+ <source-position filename="ges/ges-timeline.h" line="82"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="timeline" transfer-ownership="none">
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </instance-parameter>
+ <parameter name="group" transfer-ownership="none">
+ <type name="Group" c:type="GESGroup*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="group_removed" introspectable="0">
+ <source-position filename="ges/ges-timeline.h" line="83"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="timeline" transfer-ownership="none">
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </instance-parameter>
+ <parameter name="group" transfer-ownership="none">
+ <type name="Group" c:type="GESGroup*"/>
+ </parameter>
+ <parameter name="children" transfer-ownership="none">
+ <array name="GLib.PtrArray" c:type="GPtrArray*">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="layer_added">
+ <source-position filename="ges/ges-timeline.h" line="80"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="timeline" transfer-ownership="none">
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </instance-parameter>
+ <parameter name="layer" transfer-ownership="none">
+ <type name="Layer" c:type="GESLayer*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="layer_removed">
+ <source-position filename="ges/ges-timeline.h" line="81"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="timeline" transfer-ownership="none">
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </instance-parameter>
+ <parameter name="layer" transfer-ownership="none">
+ <type name="Layer" c:type="GESLayer*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="track_added">
+ <source-position filename="ges/ges-timeline.h" line="78"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="timeline" transfer-ownership="none">
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </instance-parameter>
+ <parameter name="track" transfer-ownership="none">
+ <type name="Track" c:type="GESTrack*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="track_removed">
+ <source-position filename="ges/ges-timeline.h" line="79"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="timeline" transfer-ownership="none">
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </instance-parameter>
+ <parameter name="track" transfer-ownership="none">
+ <type name="Track" c:type="GESTrack*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <method name="add_layer"
+ c:identifier="ges_timeline_add_layer"
+ deprecated="1"
+ deprecated-version="1.18">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2253">Add a layer to the timeline.
+
+If the layer contains #GESClip-s, then this may trigger the creation of
+their core track element children for the timeline's tracks, and the
+placement of the clip's children in the tracks of the timeline using
+#GESTimeline::select-tracks-for-object. Some errors may occur if this
+would break one of the configuration rules of the timeline in one of
+its tracks. In such cases, some track elements would fail to be added
+to their tracks, but this method would still return %TRUE. As such, it
+is advised that you only add clips to layers that already part of a
+timeline. In such situations, ges_layer_add_clip() is able to fail if
+adding the clip would cause such an error.</doc>
+ <doc-deprecated xml:space="preserve">This method requires you to ensure the layer's
+#GESLayer:priority will be unique to the timeline. Use
+ges_timeline_append_layer() and ges_timeline_move_layer() instead.</doc-deprecated>
+ <source-position filename="ges/ges-timeline.h" line="100"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2275">%TRUE if @layer was properly added.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="timeline" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2255">The #GESTimeline</doc>
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </instance-parameter>
+ <parameter name="layer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2256">The layer to add</doc>
+ <type name="Layer" c:type="GESLayer*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_track" c:identifier="ges_timeline_add_track">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2399">Add a track to the timeline.
+
+If the timeline already contains clips, then this may trigger the
+creation of their core track element children for the track, and the
+placement of the clip's children in the track of the timeline using
+#GESTimeline::select-tracks-for-object. Some errors may occur if this
+would break one of the configuration rules for the timeline in the
+track. In such cases, some track elements would fail to be added to the
+track, but this method would still return %TRUE. As such, it is advised
+that you avoid adding tracks to timelines that already contain clips.</doc>
+ <source-position filename="ges/ges-timeline.h" line="111"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2415">%TRUE if @track was properly added.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="timeline" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2401">The #GESTimeline</doc>
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </instance-parameter>
+ <parameter name="track" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2402">The track to add</doc>
+ <type name="Track" c:type="GESTrack*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="append_layer" c:identifier="ges_timeline_append_layer">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2221">Append a newly created layer to the timeline. The layer will
+be added at the lowest #GESLayer:priority (numerically, the highest).</doc>
+ <source-position filename="ges/ges-timeline.h" line="102"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2228">The newly created layer.</doc>
+ <type name="Layer" c:type="GESLayer*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="timeline" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2223">The #GESTimeline</doc>
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="commit" c:identifier="ges_timeline_commit">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2762">Commit all the pending changes of the clips contained in the
+timeline.
+
+When changes happen in a timeline, they are not immediately executed
+internally, in a way that effects the output data of the timeline. You
+should call this method when you are done with a set of changes and you
+want them to be executed.
+
+Any pending changes will be executed in the backend. The
+#GESTimeline::commited signal will be emitted once this has completed.
+You should not try to change the state of the timeline, seek it or add
+tracks to it before receiving this signal. You can use
+ges_timeline_commit_sync() if you do not want to perform other tasks in
+the mean time.
+
+Note that all the pending changes will automatically be executed when
+the timeline goes from #GST_STATE_READY to #GST_STATE_PAUSED, which is
+usually triggered by a corresponding state changes in a containing
+#GESPipeline.</doc>
+ <source-position filename="ges/ges-timeline.h" line="126"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2786">%TRUE if pending changes were committed, or %FALSE if nothing
+needed to be committed.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="timeline" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2764">A #GESTimeline</doc>
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="commit_sync" c:identifier="ges_timeline_commit_sync">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2819">Commit all the pending changes of the clips contained in the
+timeline and wait for the changes to complete.
+
+See ges_timeline_commit().</doc>
+ <source-position filename="ges/ges-timeline.h" line="128"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2828">%TRUE if pending changes were committed, or %FALSE if nothing
+needed to be committed.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="timeline" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2821">A #GESTimeline</doc>
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_auto_transition"
+ c:identifier="ges_timeline_get_auto_transition">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2885">Gets #GESTimeline:auto-transition for the timeline.</doc>
+ <source-position filename="ges/ges-timeline.h" line="134"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2891">The auto-transition of @self.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="timeline" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2887">The #GESTimeline</doc>
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_duration" c:identifier="ges_timeline_get_duration">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2868">Get the current #GESTimeline:duration of the timeline</doc>
+ <source-position filename="ges/ges-timeline.h" line="131"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2874">The current duration of @timeline.</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="timeline" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2870">The #GESTimeline</doc>
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_element" c:identifier="ges_timeline_get_element">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2970">Gets the element contained in the timeline with the given name.</doc>
+ <source-position filename="ges/ges-timeline.h" line="142"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2977">The timeline element in @timeline
+with the given @name, or %NULL if it was not found.</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="timeline" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2972">The #GESTimeline</doc>
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </instance-parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2973">The name of the element to find</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_frame_at" c:identifier="ges_timeline_get_frame_at">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="3241">This method allows you to convert a timeline #GstClockTime into its
+corresponding #GESFrameNumber in the timeline's output.</doc>
+ <source-position filename="ges/ges-timeline.h" line="156"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="3249">The frame number @timestamp corresponds to.</doc>
+ <type name="FrameNumber" c:type="GESFrameNumber"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="3243">A #GESTimeline</doc>
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </instance-parameter>
+ <parameter name="timestamp" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="3244">The timestamp to get the corresponding frame number of</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_frame_time" c:identifier="ges_timeline_get_frame_time">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="3214">This method allows you to convert a timeline output frame number into a
+timeline #GstClockTime. For example, this time could be used to seek to a
+particular frame in the timeline's output, or as the edit position for
+an element within the timeline.</doc>
+ <source-position filename="ges/ges-timeline.h" line="152"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="3225">The timestamp corresponding to @frame_number in the output of @self.</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="3216">The self on which to retrieve the timestamp for @frame_number</doc>
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </instance-parameter>
+ <parameter name="frame_number" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="3217">The frame number to get the corresponding timestamp of in the
+ timeline coordinates</doc>
+ <type name="FrameNumber" c:type="GESFrameNumber"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_groups" c:identifier="ges_timeline_get_groups">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2202">Get the list of #GESGroup-s present in the timeline.</doc>
+ <source-position filename="ges/ges-timeline.h" line="123"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2208">The list of
+groups that contain clips present in @timeline's layers.
+Must not be changed.</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="Group"/>
+ </type>
+ </return-value>
+ <parameters>
+ <instance-parameter name="timeline" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2204">The #GESTimeline</doc>
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_layer" c:identifier="ges_timeline_get_layer">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="3041">Retrieve the layer whose index in the timeline matches the given
+priority.</doc>
+ <source-position filename="ges/ges-timeline.h" line="108"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="3049">The layer with the given
+@priority, or %NULL if none was found.
+
+Since 1.6</doc>
+ <type name="Layer" c:type="GESLayer*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="timeline" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="3043">The #GESTimeline to retrieve a layer from</doc>
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </instance-parameter>
+ <parameter name="priority" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="3044">The priority/index of the layer to find</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_layers" c:identifier="ges_timeline_get_layers">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2672">Get the list of #GESLayer-s present in the timeline.</doc>
+ <source-position filename="ges/ges-timeline.h" line="106"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2678">The list of
+layers present in @timeline sorted by priority.</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="Layer"/>
+ </type>
+ </return-value>
+ <parameters>
+ <instance-parameter name="timeline" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2674">The #GESTimeline</doc>
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_pad_for_track"
+ c:identifier="ges_timeline_get_pad_for_track">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2616">Search for the #GstPad corresponding to the given timeline's track.
+You can link to this pad to receive the output data of the given track.</doc>
+ <source-position filename="ges/ges-timeline.h" line="118"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2624">The pad corresponding to @track,
+or %NULL if there is an error.</doc>
+ <type name="Gst.Pad" c:type="GstPad*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="timeline" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2618">The #GESTimeline</doc>
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </instance-parameter>
+ <parameter name="track" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2619">A track</doc>
+ <type name="Track" c:type="GESTrack*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_snapping_distance"
+ c:identifier="ges_timeline_get_snapping_distance">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2933">Gets the #GESTimeline:snapping-distance for the timeline.</doc>
+ <source-position filename="ges/ges-timeline.h" line="138"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2939">The snapping distance (in nanoseconds) of @timeline.</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="timeline" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2935">The #GESTimeline</doc>
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_track_for_pad"
+ c:identifier="ges_timeline_get_track_for_pad">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2585">Search for the #GESTrack corresponding to the given timeline's pad.</doc>
+ <source-position filename="ges/ges-timeline.h" line="116"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2592">The track corresponding to @pad,
+or %NULL if there is an error.</doc>
+ <type name="Track" c:type="GESTrack*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="timeline" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2587">The #GESTimeline</doc>
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </instance-parameter>
+ <parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2588">A pad</doc>
+ <type name="Gst.Pad" c:type="GstPad*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_tracks" c:identifier="ges_timeline_get_tracks">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2650">Get the list of #GESTrack-s used by the timeline.</doc>
+ <source-position filename="ges/ges-timeline.h" line="120"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2656">The list of tracks
+used by @timeline.</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="Track"/>
+ </type>
+ </return-value>
+ <parameters>
+ <instance-parameter name="timeline" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2652">The #GESTimeline</doc>
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="is_empty" c:identifier="ges_timeline_is_empty">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="3011">Check whether the timeline is empty or not.</doc>
+ <source-position filename="ges/ges-timeline.h" line="144"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="3017">%TRUE if @timeline is empty.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="timeline" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="3013">The #GESTimeline</doc>
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="load_from_uri"
+ c:identifier="ges_timeline_load_from_uri"
+ throws="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2132">Loads the contents of URI into the timeline.</doc>
+ <source-position filename="ges/ges-timeline.h" line="95"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2141">%TRUE if the timeline was loaded successfully from @uri.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="timeline" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2134">An empty #GESTimeline into which to load the formatter</doc>
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </instance-parameter>
+ <parameter name="uri" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2135">The URI to load from</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="move_layer"
+ c:identifier="ges_timeline_move_layer"
+ version="1.16">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="3171">Moves a layer within the timeline to the index given by
+@new_layer_priority.
+An index of 0 corresponds to the layer with the highest priority in a
+timeline. If @new_layer_priority is greater than the number of layers
+present in the timeline, it will become the lowest priority layer.</doc>
+ <source-position filename="ges/ges-timeline.h" line="149"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="timeline" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="3173">A #GESTimeline</doc>
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </instance-parameter>
+ <parameter name="layer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="3174">A layer within @timeline, whose priority should be changed</doc>
+ <type name="Layer" c:type="GESLayer*"/>
+ </parameter>
+ <parameter name="new_layer_priority" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="3175">The new index for @layer</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="paste_element" c:identifier="ges_timeline_paste_element">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="3097">Paste an element inside the timeline. @element **must** be the return of
+ges_timeline_element_copy() with `deep=TRUE`,
+and it should not be changed before pasting. @element itself is not
+placed in the timeline, instead a new element is created, alike to the
+originally copied element. Note that the originally copied element must
+also lie within @timeline, at both the point of copying and pasting.
+
+Pasting may fail if it would place the timeline in an unsupported
+configuration.
+
+After calling this function @element should not be used. In particular,
+@element can **not** be pasted again. Instead, you can copy the
+returned element and paste that copy (although, this is only possible
+if the paste was successful).
+
+See also ges_timeline_element_paste().</doc>
+ <source-position filename="ges/ges-timeline.h" line="146"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="3123">The newly created element, or
+%NULL if pasting fails.</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="timeline" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="3099">The #GESTimeline onto which @element should be pasted</doc>
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </instance-parameter>
+ <parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="3100">The element to paste</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </parameter>
+ <parameter name="position" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="3101">The position in the timeline @element should be pasted to,
+i.e. the #GESTimelineElement:start value for the pasted element.</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="layer_priority" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="3103">The layer into which the element should be pasted.
+-1 means paste to the same layer from which @element has been copied from</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="remove_layer" c:identifier="ges_timeline_remove_layer">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2344">Removes a layer from the timeline.</doc>
+ <source-position filename="ges/ges-timeline.h" line="104"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2351">%TRUE if @layer was properly removed.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="timeline" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2346">The #GESTimeline</doc>
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </instance-parameter>
+ <parameter name="layer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2347">The layer to remove</doc>
+ <type name="Layer" c:type="GESLayer*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="remove_track" c:identifier="ges_timeline_remove_track">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2496">Remove a track from the timeline.</doc>
+ <source-position filename="ges/ges-timeline.h" line="113"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2503">%TRUE if @track was properly removed.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="timeline" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2498">The #GESTimeline</doc>
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </instance-parameter>
+ <parameter name="track" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2499">The track to remove</doc>
+ <type name="Track" c:type="GESTrack*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="save_to_uri"
+ c:identifier="ges_timeline_save_to_uri"
+ throws="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2161">Saves the timeline to the given location. If @formatter_asset is %NULL,
+the method will attempt to save in the same format the timeline was
+loaded from, before defaulting to the formatter with highest rank.</doc>
+ <source-position filename="ges/ges-timeline.h" line="97"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2174">%TRUE if @timeline was successfully saved to @uri.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="timeline" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2163">The #GESTimeline</doc>
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </instance-parameter>
+ <parameter name="uri" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2164">The location to save to</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="formatter_asset"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2165">The formatter asset to use, or %NULL</doc>
+ <type name="Asset" c:type="GESAsset*"/>
+ </parameter>
+ <parameter name="overwrite" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2166">%TRUE to overwrite file if it exists</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_auto_transition"
+ c:identifier="ges_timeline_set_auto_transition">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2902">Sets #GESTimeline:auto-transition for the timeline. This will also set
+the corresponding #GESLayer:auto-transition for all of the timeline's
+layers to the same value. See ges_layer_set_auto_transition() if you
+wish to set the layer's #GESLayer:auto-transition individually.</doc>
+ <source-position filename="ges/ges-timeline.h" line="136"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="timeline" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2904">The #GESTimeline</doc>
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </instance-parameter>
+ <parameter name="auto_transition" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2905">Whether transitions should be automatically added
+to @timeline's layers</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_snapping_distance"
+ c:identifier="ges_timeline_set_snapping_distance">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2951">Sets #GESTimeline:snapping-distance for the timeline. This new value
+will only effect future snappings and will not be used to snap the
+current element positions within the timeline.</doc>
+ <source-position filename="ges/ges-timeline.h" line="140"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="timeline" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2953">The #GESTimeline</doc>
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </instance-parameter>
+ <parameter name="snapping_distance" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="2954">The snapping distance to use (in nanoseconds)</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="auto-transition" writable="1" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="613">Whether to automatically create a transition whenever two
+#GESSource-s overlap in a track of the timeline. See
+#GESLayer:auto-transition if you want this to only happen in some
+layers.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </property>
+ <property name="duration" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="599">The current duration (in nanoseconds) of the timeline. A timeline
+'starts' at time 0, so this is the maximum end time of all of its
+#GESTimelineElement-s.</doc>
+ <type name="guint64" c:type="guint64"/>
+ </property>
+ <property name="snapping-distance"
+ writable="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="625">The distance (in nanoseconds) at which a #GESTimelineElement being
+moved within the timeline should snap one of its #GESSource-s with
+another #GESSource-s edge. See #GESEditMode for which edges can
+snap during an edit. 0 means no snapping.</doc>
+ <type name="guint64" c:type="guint64"/>
+ </property>
+ <field name="parent">
+ <type name="Gst.Bin" c:type="GstBin"/>
+ </field>
+ <field name="layers">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.h"
+ line="48">A list of #GESLayer-s sorted by
+priority. NOTE: Do not modify.</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="Layer"/>
+ </type>
+ </field>
+ <field name="tracks">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.h"
+ line="50">Deprecated:1.10: (element-type GES.Track): This is not thread
+safe, use #ges_timeline_get_tracks instead.</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="gpointer" c:type="gpointer"/>
+ </type>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="TimelinePrivate" c:type="GESTimelinePrivate*"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <glib:signal name="commited" when="last">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="845">This signal will be emitted once the changes initiated by
+ges_timeline_commit() have been executed in the backend. Use
+ges_timeline_commit_sync() if you do not want to have to connect
+to this signal.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </glib:signal>
+ <glib:signal name="group-added" when="first">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="698">Will be emitted after the group is added to to the timeline. This can
+happen when grouping with `ges_container_group`, or by adding
+containers to a newly created group.
+
+Note that this should not be emitted whilst a timeline is being
+loaded from its #GESProject asset. You should connect to the
+project's #GESProject::loaded signal if you want to know which groups
+were created for the timeline.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="group" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="701">The group that was added to @timeline</doc>
+ <type name="Group"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="group-removed" when="first">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="717">Will be emitted after the group is removed from the timeline through
+`ges_container_ungroup`. Note that @group will no longer contain its
+former children, these are held in @children.
+
+Note that if a group is emptied, then it will no longer belong to the
+timeline, but this signal will **not** be emitted in such a case.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="group" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="720">The group that was removed from @timeline</doc>
+ <type name="Group"/>
+ </parameter>
+ <parameter name="children" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="721">A list
+of #GESContainer-s that _were_ the children of the removed @group</doc>
+ <array name="GLib.PtrArray">
+ <type name="Container"/>
+ </array>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="layer-added" when="first">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="669">Will be emitted after the layer is added to the timeline.
+
+Note that this should not be emitted whilst a timeline is being
+loaded from its #GESProject asset. You should connect to the
+project's #GESProject::loaded signal if you want to know which
+layers were created for the timeline.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="layer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="672">The layer that was added to @timeline</doc>
+ <type name="Layer"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="layer-removed" when="first">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="686">Will be emitted after the layer is removed from the timeline.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="layer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="689">The layer that was removed from @timeline</doc>
+ <type name="Layer"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="select-tracks-for-object" when="last">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="778">This will be emitted whenever the timeline needs to determine which
+tracks a clip's children should be added to. The track element will
+be added to each of the tracks given in the return. If a track
+element is selected to go into multiple tracks, it will be copied
+into the additional tracks, under the same clip. Note that the copy
+will *not* keep its properties or state in sync with the original.
+
+Connect to this signal once if you wish to control which element
+should be added to which track. Doing so will overwrite the default
+behaviour, which adds @track_element to all tracks whose
+#GESTrack:track-type includes the @track_element's
+#GESTrackElement:track-type.
+
+Note that under the default track selection, if a clip would produce
+multiple core children of the same #GESTrackType, it will choose
+one of the core children arbitrarily to place in the corresponding
+tracks, with a warning for the other core children that are not
+placed in the track. For example, this would happen for a #GESUriClip
+that points to a file that contains multiple audio streams. If you
+wish to choose the stream, you could connect to this signal, and use,
+say, ges_uri_source_asset_get_stream_info() to choose which core
+source to add.
+
+When a clip is first added to a timeline, its core elements will
+be created for the current tracks in the timeline if they have not
+already been created. Then this will be emitted for each of these
+core children to select which tracks, if any, they should be added
+to. It will then be called for any non-core children in the clip.
+
+In addition, if a new track element is ever added to a clip in a
+timeline (and it is not already part of a track) this will be emitted
+to select which tracks the element should be added to.
+
+Finally, as a special case, if a track is added to the timeline
+*after* it already contains clips, then it will request the creation
+of the clips' core elements of the corresponding type, if they have
+not already been created, and this signal will be emitted for each of
+these newly created elements. In addition, this will also be released
+for all other track elements in the timeline's clips that have not
+yet been assigned a track. However, in this final case, the timeline
+will only check whether the newly added track appears in the track
+list. If it does appear, the track element will be added to the newly
+added track. All other tracks in the returned track list are ignored.
+
+In this latter case, track elements that are already part of a track
+will not be asked if they want to be copied into the new track. If
+you wish to do this, you can use ges_clip_add_child_to_track().
+
+Note that the returned #GPtrArray should own a new reference to each
+of its contained #GESTrack. The timeline will set the #GDestroyNotify
+free function on the #GPtrArray to dereference the elements.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="836">An array of
+#GESTrack-s that @track_element should be added to, or %NULL to
+not add the element to any track.</doc>
+ <array name="GLib.PtrArray">
+ <type name="Track"/>
+ </array>
+ </return-value>
+ <parameters>
+ <parameter name="clip" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="781">The clip that @track_element is being added to</doc>
+ <type name="Clip"/>
+ </parameter>
+ <parameter name="track_element" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="782">The element being added</doc>
+ <type name="TrackElement"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="snapping-ended" when="last">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="759">Will be emitted whenever a snapping event ends. After a snap event
+has started (see #GESTimeline::snapping-started), it can later end
+because either another timeline edit has occurred (which may or may
+not have created a new snapping event), or because the timeline has
+been committed.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="obj1" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="762">The first element that was snapping</doc>
+ <type name="TrackElement"/>
+ </parameter>
+ <parameter name="obj2" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="763">The second element that was snapping</doc>
+ <type name="TrackElement"/>
+ </parameter>
+ <parameter name="position" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="764">The position where the two objects were to be snapped to</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="snapping-started" when="last">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="736">Will be emitted whenever an element's movement invokes a snapping
+event during an edit (usually of one of its ancestors) because its
+start or end point lies within the #GESTimeline:snapping-distance of
+another element's start or end point.
+
+See #GESEditMode to see what can snap during an edit.
+
+Note that only up to one snapping-started signal will be emitted per
+element edit within a timeline.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="obj1" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="739">The first element that is snapping</doc>
+ <type name="TrackElement"/>
+ </parameter>
+ <parameter name="obj2" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="740">The second element that is snapping</doc>
+ <type name="TrackElement"/>
+ </parameter>
+ <parameter name="position" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="741">The position where the two objects will snap to</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="track-added" when="first">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="640">Will be emitted after the track is added to the timeline.
+
+Note that this should not be emitted whilst a timeline is being
+loaded from its #GESProject asset. You should connect to the
+project's #GESProject::loaded signal if you want to know which
+tracks were created for the timeline.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="track" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="643">The track that was added to @timeline</doc>
+ <type name="Track"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="track-removed" when="first">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="657">Will be emitted after the track is removed from the timeline.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="track" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.c"
+ line="660">The track that was removed from @timeline</doc>
+ <type name="Track"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ </class>
+ <record name="TimelineClass"
+ c:type="GESTimelineClass"
+ glib:is-gtype-struct-for="Timeline">
+ <source-position filename="ges/ges-timeline.h" line="87"/>
+ <field name="parent_class">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.h"
+ line="70">parent class</doc>
+ <type name="Gst.BinClass" c:type="GstBinClass"/>
+ </field>
+ <field name="track_added">
+ <callback name="track_added">
+ <source-position filename="ges/ges-timeline.h" line="78"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="timeline" transfer-ownership="none">
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </parameter>
+ <parameter name="track" transfer-ownership="none">
+ <type name="Track" c:type="GESTrack*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="track_removed">
+ <callback name="track_removed">
+ <source-position filename="ges/ges-timeline.h" line="79"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="timeline" transfer-ownership="none">
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </parameter>
+ <parameter name="track" transfer-ownership="none">
+ <type name="Track" c:type="GESTrack*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="layer_added">
+ <callback name="layer_added">
+ <source-position filename="ges/ges-timeline.h" line="80"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="timeline" transfer-ownership="none">
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </parameter>
+ <parameter name="layer" transfer-ownership="none">
+ <type name="Layer" c:type="GESLayer*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="layer_removed">
+ <callback name="layer_removed">
+ <source-position filename="ges/ges-timeline.h" line="81"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="timeline" transfer-ownership="none">
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </parameter>
+ <parameter name="layer" transfer-ownership="none">
+ <type name="Layer" c:type="GESLayer*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="group_added">
+ <callback name="group_added">
+ <source-position filename="ges/ges-timeline.h" line="82"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="timeline" transfer-ownership="none">
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </parameter>
+ <parameter name="group" transfer-ownership="none">
+ <type name="Group" c:type="GESGroup*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="group_removed" introspectable="0">
+ <callback name="group_removed" introspectable="0">
+ <source-position filename="ges/ges-timeline.h" line="83"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="timeline" transfer-ownership="none">
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </parameter>
+ <parameter name="group" transfer-ownership="none">
+ <type name="Group" c:type="GESGroup*"/>
+ </parameter>
+ <parameter name="children" transfer-ownership="none">
+ <array name="GLib.PtrArray" c:type="GPtrArray*">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <class name="TimelineElement"
+ c:symbol-prefix="timeline_element"
+ c:type="GESTimelineElement"
+ parent="GObject.InitiallyUnowned"
+ abstract="1"
+ glib:type-name="GESTimelineElement"
+ glib:get-type="ges_timeline_element_get_type"
+ glib:type-struct="TimelineElementClass">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="19">A #GESTimelineElement will have some temporal extent in its
+corresponding #GESTimelineElement:timeline, controlled by its
+#GESTimelineElement:start and #GESTimelineElement:duration. This
+determines when its content will be displayed, or its effect applied,
+in the timeline. Several objects may overlap within a given
+#GESTimeline, in which case their #GESTimelineElement:priority is used
+to determine their ordering in the timeline. Priority is mostly handled
+internally by #GESLayer-s and #GESClip-s.
+
+A timeline element can have a #GESTimelineElement:parent,
+such as a #GESClip, which is responsible for controlling its timing.
+
+## Editing
+
+Elements can be moved around in their #GESTimelineElement:timeline by
+setting their #GESTimelineElement:start and
+#GESTimelineElement:duration using ges_timeline_element_set_start()
+and ges_timeline_element_set_duration(). Additionally, which parts of
+the underlying content are played in the timeline can be adjusted by
+setting the #GESTimelineElement:in-point using
+ges_timeline_element_set_inpoint(). The library also provides
+ges_timeline_element_edit(), with various #GESEditMode-s, which can
+adjust these properties in a convenient way, as well as introduce
+similar changes in neighbouring or later elements in the timeline.
+
+However, a timeline may refuse a change in these properties if they
+would place the timeline in an unsupported configuration. See
+#GESTimeline for its overlap rules.
+
+Additionally, an edit may be refused if it would place one of the
+timing properties out of bounds (such as a negative time value for
+#GESTimelineElement:start, or having insufficient internal
+content to last for the desired #GESTimelineElement:duration).
+
+## Time Coordinates
+
+There are three main sets of time coordinates to consider when using
+timeline elements:
+
++ Timeline coordinates: these are the time coordinates used in the
+ output of the timeline in its #GESTrack-s. Each track share the same
+ coordinates, so there is only one set of coordinates for the
+ timeline. These extend indefinitely from 0. The times used for
+ editing (including setting #GESTimelineElement:start and
+ #GESTimelineElement:duration) use these coordinates, since these
+ define when an element is present and for how long the element lasts
+ for in the timeline.
++ Internal source coordinates: these are the time coordinates used
+ internally at the element's output. This is only really defined for
+ #GESTrackElement-s, where it refers to time coordinates used at the
+ final source pad of the wrapped #GstElement-s. However, these
+ coordinates may also be used in a #GESClip in reference to its
+ children. In particular, these are the coordinates used for
+ #GESTimelineElement:in-point and #GESTimelineElement:max-duration.
++ Internal sink coordinates: these are the time coordinates used
+ internally at the element's input. A #GESSource has no input, so
+ these would be undefined. Otherwise, for most #GESTrackElement-s
+ these will be the same set of coordinates as the internal source
+ coordinates because the element does not change the timing
+ internally. Only #GESBaseEffect can support elements where these
+ are different. See #GESBaseEffect for more information.
+
+You can determine the timeline time for a given internal source time
+in a #GESTrack in a #GESClip using
+ges_clip_get_timeline_time_from_internal_time(), and vice versa using
+ges_clip_get_internal_time_from_timeline_time(), for the purposes of
+editing and setting timings properties.
+
+## Children Properties
+
+If a timeline element owns another #GstObject and wishes to expose
+some of its properties, it can do so by registering the property as one
+of the timeline element's children properties using
+ges_timeline_element_add_child_property(). The registered property of
+the child can then be read and set using the
+ges_timeline_element_get_child_property() and
+ges_timeline_element_set_child_property() methods, respectively. Some
+sub-classed objects will be created with pre-registered children
+properties; for example, to expose part of an underlying #GstElement
+that is used internally. The registered properties can be listed with
+ges_timeline_element_list_children_properties().</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="288"/>
+ <implements name="Extractable"/>
+ <implements name="MetaContainer"/>
+ <virtual-method name="deep_copy">
+ <source-position filename="ges/ges-timeline-element.h" line="261"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ <parameter name="copy" transfer-ownership="none">
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="get_layer_priority"
+ invoker="get_layer_priority"
+ version="1.16">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2327">Gets the priority of the layer the element is in. A #GESGroup may span
+several layers, so this would return the highest priority (numerically,
+the smallest) amongst them.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="276"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2335">The priority of the layer @self is in, or
+#GES_TIMELINE_ELEMENT_NO_LAYER_PRIORITY if @self does not exist in a
+layer.</doc>
+ <type name="guint32" c:type="guint32"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2329">A #GESTimelineElement</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="get_natural_framerate"
+ invoker="get_natural_framerate"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2453">Get the "natural" framerate of @self. This is to say, for example
+for a #GESVideoUriSource the framerate of the source.
+
+Note that a #GESAudioSource may also have a natural framerate if it derives
+from the same #GESSourceClip asset as a #GESVideoSource, and its value will
+be that of the video source. For example, if the uri of a #GESUriClip points
+to a file that contains both a video and audio stream, then the corresponding
+#GESAudioUriSource will share the natural framerate of the corresponding
+#GESVideoUriSource.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="279"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2469">Whether @self has a natural framerate or not, @framerate_n
+and @framerate_d will be set to, respectively, 0 and -1 if it is
+not the case.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2455">The #GESTimelineElement to get "natural" framerate from</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ <parameter name="framerate_n"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2456">The framerate numerator</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ <parameter name="framerate_d"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2457">The framerate denominator</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="get_track_types"
+ invoker="get_track_types"
+ version="1.6.0">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2250">Gets the track types that the element can interact with, i.e. the type
+of #GESTrack it can exist in, or will create #GESTrackElement-s for.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="270"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2257">The track types that @self supports.</doc>
+ <type name="TrackType" c:type="GESTrackType"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2252">A #GESTimelineElement</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="list_children_properties" introspectable="0">
+ <source-position filename="ges/ges-timeline-element.h" line="267"/>
+ <return-value>
+ <type name="GObject.ParamSpec" c:type="GParamSpec**"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ <parameter name="n_properties" transfer-ownership="none">
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="lookup_child" invoker="lookup_child">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1954">Looks up a child property of the element.
+
+@prop_name can either be in the format "prop-name" or
+"TypeName::prop-name", where "prop-name" is the name of the property
+to look up (as used in g_object_get()), and "TypeName" is the type name
+of the child (as returned by G_OBJECT_TYPE_NAME()). The latter format is
+useful when two children of different types share the same property
+name.
+
+The first child found with the given "prop-name" property that was
+registered with ges_timeline_element_add_child_property() (and of the
+type "TypeName", if it was given) will be passed to @child, and the
+registered specification of this property will be passed to @pspec.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="268"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1977">%TRUE if a child corresponding to the property was found, in
+which case @child and @pspec are set.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1956">A #GESTimelineElement</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ <parameter name="prop_name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1957">The name of a child property</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="child"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1958">The return location for the
+found child</doc>
+ <type name="GObject.Object" c:type="GObject**"/>
+ </parameter>
+ <parameter name="pspec"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1960">The return location for the
+specification of the child property</doc>
+ <type name="GObject.ParamSpec" c:type="GParamSpec**"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="paste" introspectable="0">
+ <source-position filename="ges/ges-timeline-element.h" line="263"/>
+ <return-value>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ <parameter name="ref_element" transfer-ownership="none">
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </parameter>
+ <parameter name="paste_position" transfer-ownership="none">
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="ripple" invoker="ripple">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1418">Edits the start time of an element within its timeline in ripple mode.
+See ges_timeline_element_edit() with #GES_EDIT_MODE_RIPPLE and
+#GES_EDGE_NONE.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="256"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1427">%TRUE if the ripple edit of @self completed, %FALSE on
+failure.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1420">The #GESTimelineElement to ripple</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ <parameter name="start" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1421">The new start time of @self in ripple mode</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="ripple_end" invoker="ripple_end">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1448">Edits the end time of an element within its timeline in ripple mode.
+See ges_timeline_element_edit() with #GES_EDIT_MODE_RIPPLE and
+#GES_EDGE_END.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="257"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1457">%TRUE if the ripple edit of @self completed, %FALSE on
+failure.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1450">The #GESTimelineElement to ripple</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ <parameter name="end" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1451">The new end time of @self in ripple mode</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="roll_end" invoker="roll_end">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1503">Edits the end time of an element within its timeline in roll mode.
+See ges_timeline_element_edit() with #GES_EDIT_MODE_ROLL and
+#GES_EDGE_END.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="259"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1512">%TRUE if the roll edit of @self completed, %FALSE on failure.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1505">The #GESTimelineElement to roll</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ <parameter name="end" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1506">The new end time of @self in roll mode</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="roll_start" invoker="roll_start">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1476">Edits the start time of an element within its timeline in roll mode.
+See ges_timeline_element_edit() with #GES_EDIT_MODE_ROLL and
+#GES_EDGE_START.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="258"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1485">%TRUE if the roll edit of @self completed, %FALSE on failure.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1478">The #GESTimelineElement to roll</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ <parameter name="start" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1479">The new start time of @self in roll mode</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="set_child_property">
+ <source-position filename="ges/ges-timeline-element.h" line="271"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ <parameter name="child" transfer-ownership="none">
+ <type name="GObject.Object" c:type="GObject*"/>
+ </parameter>
+ <parameter name="pspec" transfer-ownership="none">
+ <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="set_child_property_full" throws="1">
+ <source-position filename="ges/ges-timeline-element.h" line="281"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ <parameter name="child" transfer-ownership="none">
+ <type name="GObject.Object" c:type="GObject*"/>
+ </parameter>
+ <parameter name="pspec" transfer-ownership="none">
+ <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="set_duration" invoker="set_duration">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1240">Sets #GESTimelineElement:duration for the element.
+
+Whilst the element is part of a #GESTimeline, this is the same as
+editing the element with ges_timeline_element_edit() under
+#GES_EDIT_MODE_TRIM with #GES_EDGE_END. In particular, the
+#GESTimelineElement:duration of the element may be snapped to a
+different timeline time difference from the one given. In addition,
+setting may fail if it would place the timeline in an unsupported
+configuration, or the element does not have enough internal content to
+last the desired duration.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="252"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1256">%TRUE if @duration could be set for @self.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1242">A #GESTimelineElement</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ <parameter name="duration" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1243">The desired duration in its timeline</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="set_inpoint" invoker="set_inpoint">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1132">Sets #GESTimelineElement:in-point for the element. If the new in-point
+is above the current #GESTimelineElement:max-duration of the element,
+this method will fail.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="251"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1141">%TRUE if @inpoint could be set for @self.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1134">A #GESTimelineElement</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ <parameter name="inpoint" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1135">The in-point, in internal time coordinates</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="set_max_duration" invoker="set_max_duration">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1188">Sets #GESTimelineElement:max-duration for the element. If the new
+maximum duration is below the current #GESTimelineElement:in-point of
+the element, this method will fail.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="253"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1197">%TRUE if @maxduration could be set for @self.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1190">A #GESTimelineElement</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ <parameter name="maxduration" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1191">The maximum duration, in internal time coordinates</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="set_parent" invoker="set_parent">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="878">Sets the #GESTimelineElement:parent for the element.
+
+This is used internally and you should normally not call this. A
+#GESContainer will set the #GESTimelineElement:parent of its children
+in ges_container_add() and ges_container_remove().
+
+Note, if @parent is not %NULL, @self must not already have a parent
+set. Therefore, if you wish to switch parents, you will need to call
+this function twice: first to set the parent to %NULL, and then to the
+new parent.
+
+If @parent is not %NULL, you must ensure it already has a
+(non-floating) reference to @self before calling this.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="249"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="897">%TRUE if @parent could be set for @self.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="880">A #GESTimelineElement
+@parent (nullable): New parent of @self</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ <parameter name="parent" transfer-ownership="none">
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="set_priority"
+ invoker="set_priority"
+ deprecated="1"
+ deprecated-version="1.10">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1377">Sets the priority of the element within the containing layer.</doc>
+ <doc-deprecated xml:space="preserve">All priority management is done by GES itself now.
+To set #GESEffect priorities #ges_clip_set_top_effect_index should
+be used.</doc-deprecated>
+ <source-position filename="ges/ges-timeline-element.h" line="254"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1388">%TRUE if @priority could be set for @self.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1379">A #GESTimelineElement</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ <parameter name="priority" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1380">The priority</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="set_start" invoker="set_start">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1057">Sets #GESTimelineElement:start for the element. If the element has a
+parent, this will also move its siblings with the same shift.
+
+Whilst the element is part of a #GESTimeline, this is the same as
+editing the element with ges_timeline_element_edit() under
+#GES_EDIT_MODE_NORMAL with #GES_EDGE_NONE. In particular, the
+#GESTimelineElement:start of the element may be snapped to a different
+timeline time from the one given. In addition, setting may fail if it
+would place the timeline in an unsupported configuration.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="250"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1072">%TRUE if @start could be set for @self.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1059">A #GESTimelineElement</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ <parameter name="start" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1060">The desired start position of the element in its timeline</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="trim" invoker="trim">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1530">Edits the start time of an element within its timeline in trim mode.
+See ges_timeline_element_edit() with #GES_EDIT_MODE_TRIM and
+#GES_EDGE_START.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="260"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1539">%TRUE if the trim edit of @self completed, %FALSE on failure.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1532">The #GESTimelineElement to trim</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ <parameter name="start" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1533">The new start time of @self in trim mode</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <method name="add_child_property"
+ c:identifier="ges_timeline_element_add_child_property">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1745">Register a property of a child of the element to allow it to be
+written with ges_timeline_element_set_child_property() and read with
+ges_timeline_element_get_child_property(). A change in the property
+will also appear in the #GESTimelineElement::deep-notify signal.
+
+@pspec should be unique from other children properties that have been
+registered on @self.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="394"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1759">%TRUE if the property was successfully registered.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1747">A #GESTimelineElement</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ <parameter name="pspec" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1748">The specification for the property to add</doc>
+ <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
+ </parameter>
+ <parameter name="child" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1749">The #GstObject who the property belongs to</doc>
+ <type name="GObject.Object" c:type="GObject*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="copy" c:identifier="ges_timeline_element_copy">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1557">Create a copy of @self. All the properties of @self are copied into
+a new element, with the exception of #GESTimelineElement:parent,
+#GESTimelineElement:timeline and #GESTimelineElement:name. Other data,
+such the list of a #GESContainer's children, is **not** copied.
+
+If @deep is %TRUE, then the new element is prepared so that it can be
+used in ges_timeline_element_paste() or ges_timeline_paste_element().
+In the case of copying a #GESContainer, this ensures that the children
+of @self will also be pasted. The new element should not be used for
+anything else and can only be used **once** in a pasting operation. In
+particular, the new element itself is not an actual 'deep' copy of
+@self, but should be thought of as an intermediate object used for a
+single paste operation.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="343"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1576">The newly create element,
+copied from @self.</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1559">The #GESTimelineElement to copy</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ <parameter name="deep" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1560">Whether the copy is needed for pasting</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="edit"
+ c:identifier="ges_timeline_element_edit"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2420">See ges_timeline_element_edit_full(), which also gives an error.
+
+Note that the @layers argument is currently ignored, so you should
+just pass %NULL.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="414"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2438">%TRUE if the edit of @self completed, %FALSE on failure.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2422">The #GESTimelineElement to edit</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ <parameter name="layers"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2423">A whitelist of layers
+where the edit can be performed, %NULL allows all layers in the
+timeline.</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="Layer"/>
+ </type>
+ </parameter>
+ <parameter name="new_layer_priority" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2426">The priority/index of the layer @self should be
+moved to. -1 means no move</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ <parameter name="mode" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2428">The edit mode</doc>
+ <type name="EditMode" c:type="GESEditMode"/>
+ </parameter>
+ <parameter name="edge" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2429">The edge of @self where the edit should occur</doc>
+ <type name="Edge" c:type="GESEdge"/>
+ </parameter>
+ <parameter name="position" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2430">The edit position: a new location for the edge of @self
+(in nanoseconds) in the timeline coordinates</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="edit_full"
+ c:identifier="ges_timeline_element_edit_full"
+ version="1.18"
+ throws="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2353">Edits the element within its timeline by adjusting its
+#GESTimelineElement:start, #GESTimelineElement:duration or
+#GESTimelineElement:in-point, and potentially doing the same for
+other elements in the timeline. See #GESEditMode for details about each
+edit mode. An edit may fail if it would place one of these properties
+out of bounds, or if it would place the timeline in an unsupported
+configuration.
+
+Note that if you act on a #GESTrackElement, this will edit its parent
+#GESClip instead. Moreover, for any #GESTimelineElement, if you select
+#GES_EDGE_NONE for #GES_EDIT_MODE_NORMAL or #GES_EDIT_MODE_RIPPLE, this
+will edit the toplevel instead, but still in such a way as to make the
+#GESTimelineElement:start of @self reach the edit @position.
+
+Note that if the element's timeline has a
+#GESTimeline:snapping-distance set, then the edit position may be
+snapped to the edge of some element under the edited element.
+
+@new_layer_priority can be used to switch @self, and other elements
+moved by the edit, to a new layer. New layers may be be created if the
+the corresponding layer priority/index does not yet exist for the
+timeline.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="422"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2387">%TRUE if the edit of @self completed, %FALSE on failure.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2355">The #GESTimelineElement to edit</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ <parameter name="new_layer_priority" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2356">The priority/index of the layer @self should be
+moved to. -1 means no move</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ <parameter name="mode" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2358">The edit mode</doc>
+ <type name="EditMode" c:type="GESEditMode"/>
+ </parameter>
+ <parameter name="edge" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2359">The edge of @self where the edit should occur</doc>
+ <type name="Edge" c:type="GESEdge"/>
+ </parameter>
+ <parameter name="position" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2360">The edit position: a new location for the edge of @self
+(in nanoseconds) in the timeline coordinates</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_child_properties"
+ c:identifier="ges_timeline_element_get_child_properties"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2184">Gets several of the children properties of the element. See
+ges_timeline_element_get_child_property().</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="366"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2186">A #GESTimelineElement</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ <parameter name="first_property_name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2187">The name of the first child property to get</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="..." transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2188">The return location for the first property, followed
+optionally by more name/return location pairs, followed by %NULL</doc>
+ <varargs/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_child_property"
+ c:identifier="ges_timeline_element_get_child_property">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1897">Gets the property of a child of the element.
+
+@property_name can either be in the format "prop-name" or
+"TypeName::prop-name", where "prop-name" is the name of the property
+to get (as used in g_object_get()), and "TypeName" is the type name of
+the child (as returned by G_OBJECT_TYPE_NAME()). The latter format is
+useful when two children of different types share the same property
+name.
+
+The first child found with the given "prop-name" property that was
+registered with ges_timeline_element_add_child_property() (and of the
+type "TypeName", if it was given) will have the corresponding
+property copied into @value.
+
+Note that ges_timeline_element_get_child_properties() may be more
+convenient for C programming.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="390"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1920">%TRUE if the property was found and copied to @value.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1899">A #GESTimelineElement</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ <parameter name="property_name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1900">The name of the child property to get</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="value"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1901">The return location for the value</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_child_property_by_pspec"
+ c:identifier="ges_timeline_element_get_child_property_by_pspec">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1773">Gets the property of a child of the element. Specifically, the property
+corresponding to the @pspec used in
+ges_timeline_element_add_child_property() is copied into @value.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="359"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1775">A #GESTimelineElement</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ <parameter name="pspec" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1776">The specification of a registered child property to get</doc>
+ <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
+ </parameter>
+ <parameter name="value"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1777">The return location for the value</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_child_property_valist"
+ c:identifier="ges_timeline_element_get_child_property_valist"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2080">Gets several of the children properties of the element. See
+ges_timeline_element_get_child_property().</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="362"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2082">A #GESTimelineElement</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ <parameter name="first_property_name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2083">The name of the first child property to get</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="var_args" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2084">The return location for the first property, followed
+optionally by more name/return location pairs, followed by %NULL</doc>
+ <type name="va_list" c:type="va_list"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_duration"
+ c:identifier="ges_timeline_element_get_duration">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1329">Gets the #GESTimelineElement:duration for the element.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="320"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1335">The duration of @self (in nanoseconds).</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1331">A #GESTimelineElement</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_inpoint"
+ c:identifier="ges_timeline_element_get_inpoint">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1313">Gets the #GESTimelineElement:in-point for the element.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="318"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1319">The in-point of @self (in nanoseconds).</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1315">A #GESTimelineElement</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_layer_priority"
+ c:identifier="ges_timeline_element_get_layer_priority"
+ version="1.16">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2327">Gets the priority of the layer the element is in. A #GESGroup may span
+several layers, so this would return the highest priority (numerically,
+the smallest) amongst them.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="411"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2335">The priority of the layer @self is in, or
+#GES_TIMELINE_ELEMENT_NO_LAYER_PRIORITY if @self does not exist in a
+layer.</doc>
+ <type name="guint32" c:type="guint32"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2329">A #GESTimelineElement</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_max_duration"
+ c:identifier="ges_timeline_element_get_max_duration">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1345">Gets the #GESTimelineElement:max-duration for the element.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="322"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1351">The max-duration of @self (in nanoseconds).</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1347">A #GESTimelineElement</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_name" c:identifier="ges_timeline_element_get_name">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1653">Gets the #GESTimelineElement:name for the element.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="346"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1659">The name of @self.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1655">A #GESTimelineElement</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_natural_framerate"
+ c:identifier="ges_timeline_element_get_natural_framerate"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2453">Get the "natural" framerate of @self. This is to say, for example
+for a #GESVideoUriSource the framerate of the source.
+
+Note that a #GESAudioSource may also have a natural framerate if it derives
+from the same #GESSourceClip asset as a #GESVideoSource, and its value will
+be that of the video source. For example, if the uri of a #GESUriClip points
+to a file that contains both a video and audio stream, then the corresponding
+#GESAudioUriSource will share the natural framerate of the corresponding
+#GESVideoUriSource.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="406"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2469">Whether @self has a natural framerate or not, @framerate_n
+and @framerate_d will be set to, respectively, 0 and -1 if it is
+not the case.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2455">The #GESTimelineElement to get "natural" framerate from</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ <parameter name="framerate_n"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2456">The framerate numerator</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ <parameter name="framerate_d"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2457">The framerate denominator</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_parent" c:identifier="ges_timeline_element_get_parent">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="944">Gets the #GESTimelineElement:parent for the element.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="293"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="950">The parent of @self, or %NULL if
+@self has no parent.</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="946">A #GESTimelineElement</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_priority"
+ c:identifier="ges_timeline_element_get_priority">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1361">Gets the #GESTimelineElement:priority for the element.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="326"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1367">The priority of @self.</doc>
+ <type name="guint32" c:type="guint32"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1363">A #GESTimelineElement</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_start" c:identifier="ges_timeline_element_get_start">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1297">Gets the #GESTimelineElement:start for the element.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="316"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1303">The start of @self (in nanoseconds).</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1299">A #GESTimelineElement</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_timeline"
+ c:identifier="ges_timeline_element_get_timeline">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1034">Gets the #GESTimelineElement:timeline for the element.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="324"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1040">The timeline of @self, or %NULL
+if @self has no timeline.</doc>
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1036">A #GESTimelineElement</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_toplevel_parent"
+ c:identifier="ges_timeline_element_get_toplevel_parent">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1633">Gets the toplevel #GESTimelineElement:parent of the element.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="291"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1639">The toplevel parent of @self.</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1635">The #GESTimelineElement to get the toplevel parent from</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_track_types"
+ c:identifier="ges_timeline_element_get_track_types"
+ version="1.6.0">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2250">Gets the track types that the element can interact with, i.e. the type
+of #GESTrack it can exist in, or will create #GESTrackElement-s for.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="404"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2257">The track types that @self supports.</doc>
+ <type name="TrackType" c:type="GESTrackType"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2252">A #GESTimelineElement</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="list_children_properties"
+ c:identifier="ges_timeline_element_list_children_properties">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2144">Get a list of children properties of the element, which is a list of
+all the specifications passed to
+ges_timeline_element_add_child_property().</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="351"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2154">An array of
+#GParamSpec corresponding to the child properties of @self, or %NULL if
+something went wrong.</doc>
+ <array length="0" zero-terminated="0" c:type="GParamSpec**">
+ <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
+ </array>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2146">A #GESTimelineElement</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ <parameter name="n_properties"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2147">The return location for the length of the
+returned array</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="lookup_child"
+ c:identifier="ges_timeline_element_lookup_child">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1954">Looks up a child property of the element.
+
+@prop_name can either be in the format "prop-name" or
+"TypeName::prop-name", where "prop-name" is the name of the property
+to look up (as used in g_object_get()), and "TypeName" is the type name
+of the child (as returned by G_OBJECT_TYPE_NAME()). The latter format is
+useful when two children of different types share the same property
+name.
+
+The first child found with the given "prop-name" property that was
+registered with ges_timeline_element_add_child_property() (and of the
+type "TypeName", if it was given) will be passed to @child, and the
+registered specification of this property will be passed to @pspec.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="354"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1977">%TRUE if a child corresponding to the property was found, in
+which case @child and @pspec are set.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1956">A #GESTimelineElement</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ <parameter name="prop_name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1957">The name of a child property</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="child"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1958">The return location for the
+found child</doc>
+ <type name="GObject.Object" c:type="GObject**"/>
+ </parameter>
+ <parameter name="pspec"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1960">The return location for the
+specification of the child property</doc>
+ <type name="GObject.ParamSpec" c:type="GParamSpec**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="paste"
+ c:identifier="ges_timeline_element_paste"
+ version="1.6.0">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2271">Paste an element inside the same timeline and layer as @self. @self
+**must** be the return of ges_timeline_element_copy() with `deep=TRUE`,
+and it should not be changed before pasting.
+@self is not placed in the timeline, instead a new element is created,
+alike to the originally copied element. Note that the originally
+copied element must stay within the same timeline and layer, at both
+the point of copying and pasting.
+
+Pasting may fail if it would place the timeline in an unsupported
+configuration.
+
+After calling this function @element should not be used. In particular,
+@element can **not** be pasted again. Instead, you can copy the
+returned element and paste that copy (although, this is only possible
+if the paste was successful).
+
+See also ges_timeline_paste_element().</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="401"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2295">The newly created element, or
+%NULL if pasting fails.</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2273">The #GESTimelineElement to paste</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ <parameter name="paste_position" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2274">The position in the timeline @element should be pasted
+to, i.e. the #GESTimelineElement:start value for the pasted element.</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="remove_child_property"
+ c:identifier="ges_timeline_element_remove_child_property">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2208">Remove a child property from the element. @pspec should be a
+specification that was passed to
+ges_timeline_element_add_child_property(). The corresponding property
+will no longer be registered as a child property for the element.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="398"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2218">%TRUE if the property was successfully un-registered for @self.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2210">A #GESTimelineElement</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ <parameter name="pspec" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2211">The specification for the property to remove</doc>
+ <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="ripple" c:identifier="ges_timeline_element_ripple">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1418">Edits the start time of an element within its timeline in ripple mode.
+See ges_timeline_element_edit() with #GES_EDIT_MODE_RIPPLE and
+#GES_EDGE_NONE.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="328"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1427">%TRUE if the ripple edit of @self completed, %FALSE on
+failure.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1420">The #GESTimelineElement to ripple</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ <parameter name="start" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1421">The new start time of @self in ripple mode</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="ripple_end" c:identifier="ges_timeline_element_ripple_end">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1448">Edits the end time of an element within its timeline in ripple mode.
+See ges_timeline_element_edit() with #GES_EDIT_MODE_RIPPLE and
+#GES_EDGE_END.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="331"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1457">%TRUE if the ripple edit of @self completed, %FALSE on
+failure.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1450">The #GESTimelineElement to ripple</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ <parameter name="end" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1451">The new end time of @self in ripple mode</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="roll_end" c:identifier="ges_timeline_element_roll_end">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1503">Edits the end time of an element within its timeline in roll mode.
+See ges_timeline_element_edit() with #GES_EDIT_MODE_ROLL and
+#GES_EDGE_END.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="337"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1512">%TRUE if the roll edit of @self completed, %FALSE on failure.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1505">The #GESTimelineElement to roll</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ <parameter name="end" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1506">The new end time of @self in roll mode</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="roll_start" c:identifier="ges_timeline_element_roll_start">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1476">Edits the start time of an element within its timeline in roll mode.
+See ges_timeline_element_edit() with #GES_EDIT_MODE_ROLL and
+#GES_EDGE_START.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="334"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1485">%TRUE if the roll edit of @self completed, %FALSE on failure.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1478">The #GESTimelineElement to roll</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ <parameter name="start" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1479">The new start time of @self in roll mode</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_child_properties"
+ c:identifier="ges_timeline_element_set_child_properties"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2056">Sets several of the children properties of the element. See
+ges_timeline_element_set_child_property().</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="377"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2058">A #GESTimelineElement</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ <parameter name="first_property_name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2059">The name of the first child property to set</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="..." transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2060">The value for the first property, followed optionally by more
+name/value pairs, followed by %NULL</doc>
+ <varargs/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_child_property"
+ c:identifier="ges_timeline_element_set_child_property">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1875">See ges_timeline_element_set_child_property_full(), which also gives an
+error.
+
+Note that ges_timeline_element_set_child_properties() may be more
+convenient for C programming.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="381"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1887">%TRUE if the property was found and set.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1877">A #GESTimelineElement</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ <parameter name="property_name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1878">The name of the child property to set</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1879">The value to set the property to</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_child_property_by_pspec"
+ c:identifier="ges_timeline_element_set_child_property_by_pspec">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1807">Sets the property of a child of the element. Specifically, the property
+corresponding to the @pspec used in
+ges_timeline_element_add_child_property() is set to @value.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="373"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1809">A #GESTimelineElement</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ <parameter name="pspec" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1810">The specification of a registered child property to set</doc>
+ <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1811">The value to set the property to</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_child_property_full"
+ c:identifier="ges_timeline_element_set_child_property_full"
+ version="1.18"
+ throws="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1827">Sets the property of a child of the element.
+
+@property_name can either be in the format "prop-name" or
+"TypeName::prop-name", where "prop-name" is the name of the property
+to set (as used in g_object_set()), and "TypeName" is the type name of
+the child (as returned by G_OBJECT_TYPE_NAME()). The latter format is
+useful when two children of different types share the same property
+name.
+
+The first child found with the given "prop-name" property that was
+registered with ges_timeline_element_add_child_property() (and of the
+type "TypeName", if it was given) will have the corresponding
+property set to @value. Other children that may have also matched the
+property name (and type name) are left unchanged!</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="385"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1849">%TRUE if the property was found and set.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1829">A #GESTimelineElement</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ <parameter name="property_name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1830">The name of the child property to set</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1831">The value to set the property to</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_child_property_valist"
+ c:identifier="ges_timeline_element_set_child_property_valist"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1993">Sets several of the children properties of the element. See
+ges_timeline_element_set_child_property().</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="369"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1995">A #GESTimelineElement</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ <parameter name="first_property_name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1996">The name of the first child property to set</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="var_args" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1997">The value for the first property, followed optionally by more
+name/value pairs, followed by %NULL</doc>
+ <type name="va_list" c:type="va_list"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_duration"
+ c:identifier="ges_timeline_element_set_duration">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1240">Sets #GESTimelineElement:duration for the element.
+
+Whilst the element is part of a #GESTimeline, this is the same as
+editing the element with ges_timeline_element_edit() under
+#GES_EDIT_MODE_TRIM with #GES_EDGE_END. In particular, the
+#GESTimelineElement:duration of the element may be snapped to a
+different timeline time difference from the one given. In addition,
+setting may fail if it would place the timeline in an unsupported
+configuration, or the element does not have enough internal content to
+last the desired duration.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="307"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1256">%TRUE if @duration could be set for @self.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1242">A #GESTimelineElement</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ <parameter name="duration" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1243">The desired duration in its timeline</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_inpoint"
+ c:identifier="ges_timeline_element_set_inpoint">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1132">Sets #GESTimelineElement:in-point for the element. If the new in-point
+is above the current #GESTimelineElement:max-duration of the element,
+this method will fail.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="304"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1141">%TRUE if @inpoint could be set for @self.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1134">A #GESTimelineElement</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ <parameter name="inpoint" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1135">The in-point, in internal time coordinates</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_max_duration"
+ c:identifier="ges_timeline_element_set_max_duration">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1188">Sets #GESTimelineElement:max-duration for the element. If the new
+maximum duration is below the current #GESTimelineElement:in-point of
+the element, this method will fail.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="310"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1197">%TRUE if @maxduration could be set for @self.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1190">A #GESTimelineElement</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ <parameter name="maxduration" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1191">The maximum duration, in internal time coordinates</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_name" c:identifier="ges_timeline_element_set_name">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1669">Sets the #GESTimelineElement:name for the element. If %NULL is given
+for @name, then the library will instead generate a new name based on
+the type name of the element, such as the name "uriclip3" for a
+#GESUriClip, and will set that name instead.
+
+If @self already has a #GESTimelineElement:timeline, you should not
+call this function with @name set to %NULL.
+
+You should ensure that, within each #GESTimeline, every element has a
+unique name. If you call this function with @name as %NULL, then
+the library should ensure that the set generated name is unique from
+previously **generated** names. However, if you choose a @name that
+interferes with the naming conventions of the library, the library will
+attempt to ensure that the generated names will not conflict with the
+chosen name, which may lead to a different name being set instead, but
+the uniqueness between generated and user-chosen names is not
+guaranteed.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="348"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1692">%TRUE if @name or a generated name for @self could be set.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1671">A #GESTimelineElement</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ <parameter name="name"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1672">The name @self should take</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_parent" c:identifier="ges_timeline_element_set_parent">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="878">Sets the #GESTimelineElement:parent for the element.
+
+This is used internally and you should normally not call this. A
+#GESContainer will set the #GESTimelineElement:parent of its children
+in ges_container_add() and ges_container_remove().
+
+Note, if @parent is not %NULL, @self must not already have a parent
+set. Therefore, if you wish to switch parents, you will need to call
+this function twice: first to set the parent to %NULL, and then to the
+new parent.
+
+If @parent is not %NULL, you must ensure it already has a
+(non-floating) reference to @self before calling this.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="295"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="897">%TRUE if @parent could be set for @self.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="880">A #GESTimelineElement
+@parent (nullable): New parent of @self</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ <parameter name="parent" transfer-ownership="none">
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_priority"
+ c:identifier="ges_timeline_element_set_priority"
+ deprecated="1"
+ deprecated-version="1.10">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1377">Sets the priority of the element within the containing layer.</doc>
+ <doc-deprecated xml:space="preserve">All priority management is done by GES itself now.
+To set #GESEffect priorities #ges_clip_set_top_effect_index should
+be used.</doc-deprecated>
+ <source-position filename="ges/ges-timeline-element.h" line="313"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1388">%TRUE if @priority could be set for @self.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1379">A #GESTimelineElement</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ <parameter name="priority" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1380">The priority</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_start" c:identifier="ges_timeline_element_set_start">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1057">Sets #GESTimelineElement:start for the element. If the element has a
+parent, this will also move its siblings with the same shift.
+
+Whilst the element is part of a #GESTimeline, this is the same as
+editing the element with ges_timeline_element_edit() under
+#GES_EDIT_MODE_NORMAL with #GES_EDGE_NONE. In particular, the
+#GESTimelineElement:start of the element may be snapped to a different
+timeline time from the one given. In addition, setting may fail if it
+would place the timeline in an unsupported configuration.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="301"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1072">%TRUE if @start could be set for @self.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1059">A #GESTimelineElement</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ <parameter name="start" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1060">The desired start position of the element in its timeline</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_timeline"
+ c:identifier="ges_timeline_element_set_timeline">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="967">Sets the #GESTimelineElement:timeline of the element.
+
+This is used internally and you should normally not call this. A
+#GESClip will have its #GESTimelineElement:timeline set through its
+#GESLayer. A #GESTrack will similarly take care of setting the
+#GESTimelineElement:timeline of its #GESTrackElement-s. A #GESGroup
+will adopt the same #GESTimelineElement:timeline as its children.
+
+If @timeline is %NULL, this will stop its current
+#GESTimelineElement:timeline from tracking it, otherwise @timeline will
+start tracking @self. Note, in the latter case, @self must not already
+have a timeline set. Therefore, if you wish to switch timelines, you
+will need to call this function twice: first to set the timeline to
+%NULL, and then to the new timeline.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="298"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="987">%TRUE if @timeline could be set for @self.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="969">A #GESTimelineElement
+@timeline (nullable): The #GESTimeline @self should be in</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ <parameter name="timeline" transfer-ownership="none">
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="trim" c:identifier="ges_timeline_element_trim">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1530">Edits the start time of an element within its timeline in trim mode.
+See ges_timeline_element_edit() with #GES_EDIT_MODE_TRIM and
+#GES_EDGE_START.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="340"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1539">%TRUE if the trim edit of @self completed, %FALSE on failure.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1532">The #GESTimelineElement to trim</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </instance-parameter>
+ <parameter name="start" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1533">The new start time of @self in trim mode</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="duration" writable="1" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="490">The duration that the element is in effect for in the timeline (a
+time difference in nanoseconds using the time coordinates of the
+timeline). For example, for a source element, this would determine
+for how long it should output its internal content for. For an
+operation element, this would determine for how long its effect
+should be applied to any source content.</doc>
+ <type name="guint64" c:type="guint64"/>
+ </property>
+ <property name="in-point" writable="1" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="469">The initial offset to use internally when outputting content (in
+nanoseconds, but in the time coordinates of the internal content).
+
+For example, for a #GESVideoUriSource that references some media
+file, the "internal content" is the media file data, and the
+in-point would correspond to some timestamp in the media file.
+When playing the timeline, and when the element is first reached at
+timeline-time #GESTimelineElement:start, it will begin outputting the
+data from the timestamp in-point **onwards**, until it reaches the
+end of its #GESTimelineElement:duration in the timeline.
+
+For elements that have no internal content, this should be kept
+as 0.</doc>
+ <type name="guint64" c:type="guint64"/>
+ </property>
+ <property name="max-duration"
+ writable="1"
+ construct="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="505">The full duration of internal content that is available (a time
+difference in nanoseconds using the time coordinates of the internal
+content).
+
+This will act as a cap on the #GESTimelineElement:in-point of the
+element (which is in the same time coordinates), and will sometimes
+be used to limit the #GESTimelineElement:duration of the element in
+the timeline.
+
+For example, for a #GESVideoUriSource that references some media
+file, this would be the length of the media file.
+
+For elements that have no internal content, or whose content is
+indefinite, this should be kept as #GST_CLOCK_TIME_NONE.</doc>
+ <type name="guint64" c:type="guint64"/>
+ </property>
+ <property name="name"
+ writable="1"
+ construct="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="538">The name of the element. This should be unique within its timeline.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </property>
+ <property name="parent" writable="1" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="435">The parent container of the element.</doc>
+ <type name="TimelineElement"/>
+ </property>
+ <property name="priority"
+ deprecated="1"
+ deprecated-version="1.10"
+ writable="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="528">The priority of the element.</doc>
+ <doc-deprecated xml:space="preserve">Priority management is now done by GES itself.</doc-deprecated>
+ <type name="guint" c:type="guint"/>
+ </property>
+ <property name="serialize" writable="1" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="547">Whether the element should be serialized.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </property>
+ <property name="start" writable="1" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="455">The starting position of the element in the timeline (in nanoseconds
+and in the time coordinates of the timeline). For example, for a
+source element, this would determine the time at which it should
+start outputting its internal content. For an operation element, this
+would determine the time at which it should start applying its effect
+to any source content.</doc>
+ <type name="guint64" c:type="guint64"/>
+ </property>
+ <property name="timeline" writable="1" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="445">The timeline that the element lies within.</doc>
+ <type name="Timeline"/>
+ </property>
+ <field name="parent_instance">
+ <type name="GObject.InitiallyUnowned" c:type="GInitiallyUnowned"/>
+ </field>
+ <field name="parent">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.h"
+ line="122">The #GESTimelineElement:parent of the element</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </field>
+ <field name="asset">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.h"
+ line="123">The #GESAsset from which the object has been extracted</doc>
+ <type name="Asset" c:type="GESAsset*"/>
+ </field>
+ <field name="start">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.h"
+ line="124">The #GESTimelineElement:start of the element</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </field>
+ <field name="inpoint">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.h"
+ line="125">The #GESTimelineElement:in-point of the element</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </field>
+ <field name="duration">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.h"
+ line="126">The #GESTimelineElement:duration of the element</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </field>
+ <field name="maxduration">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.h"
+ line="127">The #GESTimelineElement:max-duration of the element</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </field>
+ <field name="priority">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.h"
+ line="128">The #GESTimelineElement:priority of the element</doc>
+ <type name="guint32" c:type="guint32"/>
+ </field>
+ <field name="timeline">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.h"
+ line="130">The #GESTimelineElement:timeline of the element</doc>
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </field>
+ <field name="name">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.h"
+ line="129">The #GESTimelineElement:name of the element</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="TimelineElementPrivate"
+ c:type="GESTimelineElementPrivate*"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="20">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <glib:signal name="child-property-added" when="first">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="575">Emitted when the element has a new child property registered. See
+ges_timeline_element_add_child_property().
+
+Note that some GES elements will be automatically created with
+pre-registered children properties. You can use
+ges_timeline_element_list_children_properties() to list these.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="prop_object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="578">The child whose property has been registered</doc>
+ <type name="GObject.Object"/>
+ </parameter>
+ <parameter name="prop" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="579">The specification for the property that has been registered</doc>
+ <type name="GObject.ParamSpec"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="child-property-removed" when="first">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="593">Emitted when the element has a child property unregistered. See
+ges_timeline_element_remove_child_property().</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="prop_object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="596">The child whose property has been unregistered</doc>
+ <type name="GObject.Object"/>
+ </parameter>
+ <parameter name="prop" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="597">The specification for the property that has been unregistered</doc>
+ <type name="GObject.ParamSpec"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="deep-notify"
+ when="first"
+ no-recurse="1"
+ detailed="1"
+ no-hooks="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="558">Emitted when a child of the element has one of its registered
+properties set. See ges_timeline_element_add_child_property().
+Note that unlike #GObject::notify, a child property name can not be
+used as a signal detail.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="prop_object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="561">The child whose property has been set</doc>
+ <type name="GObject.Object"/>
+ </parameter>
+ <parameter name="prop" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="562">The specification for the property that been set</doc>
+ <type name="GObject.ParamSpec"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ </class>
+ <record name="TimelineElementClass"
+ c:type="GESTimelineElementClass"
+ glib:is-gtype-struct-for="TimelineElement">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.h"
+ line="159">The #GESTimelineElement base class. Subclasses should override at least
+@set_start @set_inpoint @set_duration @ripple @ripple_end @roll_start
+@roll_end and @trim.
+
+Vmethods in subclasses should apply all the operation they need to but
+the real method implementation is in charge of setting the proper field,
+and emitting the notify signal.</doc>
+ <source-position filename="ges/ges-timeline-element.h" line="288"/>
+ <field name="parent_class">
+ <type name="GObject.InitiallyUnownedClass"
+ c:type="GInitiallyUnownedClass"/>
+ </field>
+ <field name="set_parent">
+ <callback name="set_parent">
+ <source-position filename="ges/ges-timeline-element.h" line="249"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="897">%TRUE if @parent could be set for @self.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="880">A #GESTimelineElement
+@parent (nullable): New parent of @self</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </parameter>
+ <parameter name="parent" transfer-ownership="none">
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="set_start">
+ <callback name="set_start">
+ <source-position filename="ges/ges-timeline-element.h" line="250"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1072">%TRUE if @start could be set for @self.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1059">A #GESTimelineElement</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </parameter>
+ <parameter name="start" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1060">The desired start position of the element in its timeline</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="set_inpoint">
+ <callback name="set_inpoint">
+ <source-position filename="ges/ges-timeline-element.h" line="251"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1141">%TRUE if @inpoint could be set for @self.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1134">A #GESTimelineElement</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </parameter>
+ <parameter name="inpoint" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1135">The in-point, in internal time coordinates</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="set_duration">
+ <callback name="set_duration">
+ <source-position filename="ges/ges-timeline-element.h" line="252"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1256">%TRUE if @duration could be set for @self.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1242">A #GESTimelineElement</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </parameter>
+ <parameter name="duration" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1243">The desired duration in its timeline</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="set_max_duration">
+ <callback name="set_max_duration">
+ <source-position filename="ges/ges-timeline-element.h" line="253"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1197">%TRUE if @maxduration could be set for @self.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1190">A #GESTimelineElement</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </parameter>
+ <parameter name="maxduration" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1191">The maximum duration, in internal time coordinates</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="set_priority">
+ <callback name="set_priority">
+ <source-position filename="ges/ges-timeline-element.h" line="254"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1388">%TRUE if @priority could be set for @self.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1379">A #GESTimelineElement</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </parameter>
+ <parameter name="priority" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1380">The priority</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="ripple">
+ <callback name="ripple">
+ <source-position filename="ges/ges-timeline-element.h" line="256"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1427">%TRUE if the ripple edit of @self completed, %FALSE on
+failure.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1420">The #GESTimelineElement to ripple</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </parameter>
+ <parameter name="start" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1421">The new start time of @self in ripple mode</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="ripple_end">
+ <callback name="ripple_end">
+ <source-position filename="ges/ges-timeline-element.h" line="257"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1457">%TRUE if the ripple edit of @self completed, %FALSE on
+failure.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1450">The #GESTimelineElement to ripple</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </parameter>
+ <parameter name="end" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1451">The new end time of @self in ripple mode</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="roll_start">
+ <callback name="roll_start">
+ <source-position filename="ges/ges-timeline-element.h" line="258"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1485">%TRUE if the roll edit of @self completed, %FALSE on failure.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1478">The #GESTimelineElement to roll</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </parameter>
+ <parameter name="start" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1479">The new start time of @self in roll mode</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="roll_end">
+ <callback name="roll_end">
+ <source-position filename="ges/ges-timeline-element.h" line="259"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1512">%TRUE if the roll edit of @self completed, %FALSE on failure.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1505">The #GESTimelineElement to roll</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </parameter>
+ <parameter name="end" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1506">The new end time of @self in roll mode</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="trim">
+ <callback name="trim">
+ <source-position filename="ges/ges-timeline-element.h" line="260"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1539">%TRUE if the trim edit of @self completed, %FALSE on failure.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1532">The #GESTimelineElement to trim</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </parameter>
+ <parameter name="start" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1533">The new start time of @self in trim mode</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="deep_copy">
+ <callback name="deep_copy">
+ <source-position filename="ges/ges-timeline-element.h" line="261"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </parameter>
+ <parameter name="copy" transfer-ownership="none">
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="paste" introspectable="0">
+ <callback name="paste" introspectable="0">
+ <source-position filename="ges/ges-timeline-element.h" line="263"/>
+ <return-value>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </parameter>
+ <parameter name="ref_element" transfer-ownership="none">
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </parameter>
+ <parameter name="paste_position" transfer-ownership="none">
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="list_children_properties" introspectable="0">
+ <callback name="list_children_properties" introspectable="0">
+ <source-position filename="ges/ges-timeline-element.h" line="267"/>
+ <return-value>
+ <type name="GObject.ParamSpec" c:type="GParamSpec**"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </parameter>
+ <parameter name="n_properties" transfer-ownership="none">
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="lookup_child">
+ <callback name="lookup_child">
+ <source-position filename="ges/ges-timeline-element.h" line="268"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1977">%TRUE if a child corresponding to the property was found, in
+which case @child and @pspec are set.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1956">A #GESTimelineElement</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </parameter>
+ <parameter name="prop_name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1957">The name of a child property</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="child"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1958">The return location for the
+found child</doc>
+ <type name="GObject.Object" c:type="GObject**"/>
+ </parameter>
+ <parameter name="pspec"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="1960">The return location for the
+specification of the child property</doc>
+ <type name="GObject.ParamSpec" c:type="GParamSpec**"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="get_track_types">
+ <callback name="get_track_types">
+ <source-position filename="ges/ges-timeline-element.h" line="270"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2257">The track types that @self supports.</doc>
+ <type name="TrackType" c:type="GESTrackType"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2252">A #GESTimelineElement</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="set_child_property">
+ <callback name="set_child_property">
+ <source-position filename="ges/ges-timeline-element.h" line="271"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </parameter>
+ <parameter name="child" transfer-ownership="none">
+ <type name="GObject.Object" c:type="GObject*"/>
+ </parameter>
+ <parameter name="pspec" transfer-ownership="none">
+ <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="get_layer_priority">
+ <callback name="get_layer_priority">
+ <source-position filename="ges/ges-timeline-element.h" line="276"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2335">The priority of the layer @self is in, or
+#GES_TIMELINE_ELEMENT_NO_LAYER_PRIORITY if @self does not exist in a
+layer.</doc>
+ <type name="guint32" c:type="guint32"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2329">A #GESTimelineElement</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="get_natural_framerate">
+ <callback name="get_natural_framerate">
+ <source-position filename="ges/ges-timeline-element.h" line="279"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2469">Whether @self has a natural framerate or not, @framerate_n
+and @framerate_d will be set to, respectively, 0 and -1 if it is
+not the case.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2455">The #GESTimelineElement to get "natural" framerate from</doc>
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </parameter>
+ <parameter name="framerate_n"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2456">The framerate numerator</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ <parameter name="framerate_d"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline-element.c"
+ line="2457">The framerate denominator</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="set_child_property_full">
+ <callback name="set_child_property_full" throws="1">
+ <source-position filename="ges/ges-timeline-element.h" line="281"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <type name="TimelineElement" c:type="GESTimelineElement*"/>
+ </parameter>
+ <parameter name="child" transfer-ownership="none">
+ <type name="GObject.Object" c:type="GObject*"/>
+ </parameter>
+ <parameter name="pspec" transfer-ownership="none">
+ <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="14">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="TimelineElementPrivate"
+ c:type="GESTimelineElementPrivate"
+ disguised="1">
+ <source-position filename="ges/ges-timeline-element.h" line="30"/>
+ </record>
+ <record name="TimelinePrivate" c:type="GESTimelinePrivate" disguised="1">
+ <source-position filename="ges/ges-timeline.h" line="31"/>
+ </record>
+ <class name="TitleClip"
+ c:symbol-prefix="title_clip"
+ c:type="GESTitleClip"
+ parent="SourceClip"
+ glib:type-name="GESTitleClip"
+ glib:get-type="ges_title_clip_get_type"
+ glib:type-struct="TitleClipClass">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="21">Renders the given text in the specified font, at specified position, and
+with the specified background pattern.</doc>
+ <source-position filename="ges/ges-title-clip.h" line="55"/>
+ <implements name="Extractable"/>
+ <implements name="MetaContainer"/>
+ <constructor name="new" c:identifier="ges_title_clip_new">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="683">Creates a new #GESTitleClip</doc>
+ <source-position filename="ges/ges-title-clip.h" line="106"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="688">The newly created #GESTitleClip,
+or %NULL if there was an error.</doc>
+ <type name="TitleClip" c:type="GESTitleClip*"/>
+ </return-value>
+ </constructor>
+ <method name="get_background_color"
+ c:identifier="ges_title_clip_get_background_color"
+ deprecated="1"
+ deprecated-version="1.6">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="573">Get the background used by @self.</doc>
+ <doc-deprecated xml:space="preserve">use #ges_timeline_element_get_children_properties instead.
+See #GESTitleSource for more information about exposed properties</doc-deprecated>
+ <source-position filename="ges/ges-title-clip.h" line="94"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="579">The color used by @self.</doc>
+ <type name="guint32" c:type="const guint32"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="575">a #GESTitleClip</doc>
+ <type name="TitleClip" c:type="GESTitleClip*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_font_desc"
+ c:identifier="ges_title_clip_get_font_desc"
+ deprecated="1"
+ deprecated-version="1.6">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="485">Get the pango font description used by @self.</doc>
+ <doc-deprecated xml:space="preserve">use #ges_timeline_element_get_children_properties instead.
+See #GESTitleSource for more information about exposed properties</doc-deprecated>
+ <source-position filename="ges/ges-title-clip.h" line="82"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="491">The pango font description used by @self.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="487">a #GESTitleClip</doc>
+ <type name="TitleClip" c:type="GESTitleClip*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_halignment"
+ c:identifier="ges_title_clip_get_halignment"
+ deprecated="1"
+ deprecated-version="1.6">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="507">Get the horizontal aligment used by @self.</doc>
+ <doc-deprecated xml:space="preserve">use #ges_timeline_element_get_children_properties instead.
+See #GESTitleSource for more information about exposed properties</doc-deprecated>
+ <source-position filename="ges/ges-title-clip.h" line="88"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="513">The horizontal aligment used by @self.</doc>
+ <type name="TextHAlign" c:type="GESTextHAlign"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="509">a #GESTitleClip</doc>
+ <type name="TitleClip" c:type="GESTitleClip*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_text"
+ c:identifier="ges_title_clip_get_text"
+ deprecated="1"
+ deprecated-version="1.6">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="463">Get the text currently set on @self.</doc>
+ <doc-deprecated xml:space="preserve">use #ges_timeline_element_get_children_properties instead.
+See #GESTitleSource for more information about exposed properties</doc-deprecated>
+ <source-position filename="ges/ges-title-clip.h" line="103"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="469">The text currently set on @self.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="465">a #GESTitleClip</doc>
+ <type name="TitleClip" c:type="GESTitleClip*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_text_color"
+ c:identifier="ges_title_clip_get_text_color"
+ deprecated="1"
+ deprecated-version="1.6">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="551">Get the color used by @self.</doc>
+ <doc-deprecated xml:space="preserve">use #ges_timeline_element_get_children_properties instead.
+See #GESTitleSource for more information about exposed properties</doc-deprecated>
+ <source-position filename="ges/ges-title-clip.h" line="91"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="557">The color used by @self.</doc>
+ <type name="guint32" c:type="const guint32"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="553">a #GESTitleClip</doc>
+ <type name="TitleClip" c:type="GESTitleClip*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_valignment"
+ c:identifier="ges_title_clip_get_valignment"
+ deprecated="1"
+ deprecated-version="1.6">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="529">Get the vertical aligment used by @self.</doc>
+ <doc-deprecated xml:space="preserve">use #ges_timeline_element_get_children_properties instead.
+See #GESTitleSource for more information about exposed properties</doc-deprecated>
+ <source-position filename="ges/ges-title-clip.h" line="85"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="535">The vertical aligment used by @self.</doc>
+ <type name="TextVAlign" c:type="GESTextVAlign"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="531">a #GESTitleClip</doc>
+ <type name="TitleClip" c:type="GESTitleClip*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_xpos"
+ c:identifier="ges_title_clip_get_xpos"
+ deprecated="1"
+ deprecated-version="1.6">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="595">Get the horizontal position used by @self.</doc>
+ <doc-deprecated xml:space="preserve">use #ges_timeline_element_get_children_properties instead.
+See #GESTitleSource for more information about exposed properties</doc-deprecated>
+ <source-position filename="ges/ges-title-clip.h" line="97"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="601">The horizontal position used by @self.</doc>
+ <type name="gdouble" c:type="const gdouble"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="597">a #GESTitleClip</doc>
+ <type name="TitleClip" c:type="GESTitleClip*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_ypos"
+ c:identifier="ges_title_clip_get_ypos"
+ deprecated="1"
+ deprecated-version="1.6">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="617">Get the vertical position used by @self.</doc>
+ <doc-deprecated xml:space="preserve">use #ges_timeline_element_get_children_property instead</doc-deprecated>
+ <source-position filename="ges/ges-title-clip.h" line="100"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="623">The vertical position used by @self.</doc>
+ <type name="gdouble" c:type="const gdouble"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="619">a #GESTitleClip</doc>
+ <type name="TitleClip" c:type="GESTitleClip*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="set_background"
+ c:identifier="ges_title_clip_set_background"
+ deprecated="1"
+ deprecated-version="1.6">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="394">Sets the background of the text.</doc>
+ <doc-deprecated xml:space="preserve">use #ges_timeline_element_set_children_properties instead.
+See #GESTitleSource for more information about exposed properties</doc-deprecated>
+ <source-position filename="ges/ges-title-clip.h" line="73"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="396">the #GESTitleClip* to set</doc>
+ <type name="TitleClip" c:type="GESTitleClip*"/>
+ </instance-parameter>
+ <parameter name="background" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="397">The color @self is being set to</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_color"
+ c:identifier="ges_title_clip_set_color"
+ deprecated="1"
+ deprecated-version="1.6">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="372">Sets the color of the text.</doc>
+ <doc-deprecated xml:space="preserve">use #ges_timeline_element_set_children_properties instead.
+See #GESTitleSource for more information about exposed properties</doc-deprecated>
+ <source-position filename="ges/ges-title-clip.h" line="70"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="374">the #GESTitleClip* to set</doc>
+ <type name="TitleClip" c:type="GESTitleClip*"/>
+ </instance-parameter>
+ <parameter name="color" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="375">The color @self is being set to</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_font_desc"
+ c:identifier="ges_title_clip_set_font_desc"
+ deprecated="1"
+ deprecated-version="1.6">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="303">Sets the pango font description of the text.</doc>
+ <doc-deprecated xml:space="preserve">use #ges_timeline_element_set_children_properties instead.
+See #GESTitleSource for more information about exposed properties</doc-deprecated>
+ <source-position filename="ges/ges-title-clip.h" line="61"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="305">the #GESTitleClip*</doc>
+ <type name="TitleClip" c:type="GESTitleClip*"/>
+ </instance-parameter>
+ <parameter name="font_desc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="306">the pango font description</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_halignment"
+ c:identifier="ges_title_clip_set_halignment"
+ deprecated="1"
+ deprecated-version="1.6">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="326">Sets the horizontal aligment of the text.</doc>
+ <doc-deprecated xml:space="preserve">use #ges_timeline_element_set_children_properties instead.
+See #GESTitleSource for more information about exposed properties</doc-deprecated>
+ <source-position filename="ges/ges-title-clip.h" line="67"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="328">the #GESTitleClip* to set horizontal alignement of text on</doc>
+ <type name="TitleClip" c:type="GESTitleClip*"/>
+ </instance-parameter>
+ <parameter name="halign" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="329">#GESTextHAlign</doc>
+ <type name="TextHAlign" c:type="GESTextHAlign"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_text"
+ c:identifier="ges_title_clip_set_text"
+ deprecated="1"
+ deprecated-version="1.6">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="280">Sets the text this clip will render.</doc>
+ <doc-deprecated xml:space="preserve">use #ges_timeline_element_set_children_properties instead.
+See #GESTitleSource for more information about exposed properties</doc-deprecated>
+ <source-position filename="ges/ges-title-clip.h" line="58"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="282">the #GESTitleClip* to set text on</doc>
+ <type name="TitleClip" c:type="GESTitleClip*"/>
+ </instance-parameter>
+ <parameter name="text" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="283">the text to render. an internal copy of this text will be
+made.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_valignment"
+ c:identifier="ges_title_clip_set_valignment"
+ deprecated="1"
+ deprecated-version="1.6">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="349">Sets the vertical aligment of the text.</doc>
+ <doc-deprecated xml:space="preserve">use #ges_timeline_element_set_children_properties instead.
+See #GESTitleSource for more information about exposed properties</doc-deprecated>
+ <source-position filename="ges/ges-title-clip.h" line="64"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="351">the #GESTitleClip* to set vertical alignement of text on</doc>
+ <type name="TitleClip" c:type="GESTitleClip*"/>
+ </instance-parameter>
+ <parameter name="valign" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="352">#GESTextVAlign</doc>
+ <type name="TextVAlign" c:type="GESTextVAlign"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_xpos"
+ c:identifier="ges_title_clip_set_xpos"
+ deprecated="1"
+ deprecated-version="1.6">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="417">Sets the horizontal position of the text.</doc>
+ <doc-deprecated xml:space="preserve">use #ges_timeline_element_set_children_properties instead.
+See #GESTitleSource for more information about exposed properties</doc-deprecated>
+ <source-position filename="ges/ges-title-clip.h" line="76"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="419">the #GESTitleClip* to set</doc>
+ <type name="TitleClip" c:type="GESTitleClip*"/>
+ </instance-parameter>
+ <parameter name="position" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="420">The horizontal position @self is being set to</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_ypos"
+ c:identifier="ges_title_clip_set_ypos"
+ deprecated="1"
+ deprecated-version="1.6">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="440">Sets the vertical position of the text.</doc>
+ <doc-deprecated xml:space="preserve">use #ges_timeline_element_set_children_properties instead.
+See #GESTitleSource for more information about exposed properties</doc-deprecated>
+ <source-position filename="ges/ges-title-clip.h" line="79"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="442">the #GESTitleClip* to set</doc>
+ <type name="TitleClip" c:type="GESTitleClip*"/>
+ </instance-parameter>
+ <parameter name="position" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="443">The vertical position @self is being set to</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="background"
+ deprecated="1"
+ deprecated-version="1.6"
+ writable="1"
+ construct="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="225">The background of the text</doc>
+ <doc-deprecated xml:space="preserve">use #ges_timeline_element_set_children_properties or
+#ges_timeline_element_get_children_properties instead.
+See #GESTitleSource for more information about exposed properties</doc-deprecated>
+ <type name="guint" c:type="guint"/>
+ </property>
+ <property name="color"
+ deprecated="1"
+ deprecated-version="1.6"
+ writable="1"
+ construct="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="210">The color of the text</doc>
+ <doc-deprecated xml:space="preserve">use #ges_timeline_element_set_children_properties or
+#ges_timeline_element_get_children_properties instead.
+See #GESTitleSource for more information about exposed properties</doc-deprecated>
+ <type name="guint" c:type="guint"/>
+ </property>
+ <property name="font-desc"
+ deprecated="1"
+ deprecated-version="1.6"
+ writable="1"
+ construct="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="157">Pango font description string</doc>
+ <doc-deprecated xml:space="preserve">use #ges_timeline_element_set_children_properties or
+#ges_timeline_element_get_children_properties instead.
+See #GESTitleSource for more information about exposed properties</doc-deprecated>
+ <type name="utf8" c:type="gchar*"/>
+ </property>
+ <property name="halignment"
+ deprecated="1"
+ deprecated-version="1.6"
+ writable="1"
+ construct="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="189">Horizontal alignment of the text</doc>
+ <doc-deprecated xml:space="preserve">use #ges_timeline_element_set_children_properties or
+#ges_timeline_element_get_children_properties instead.
+See #GESTitleSource for more information about exposed properties</doc-deprecated>
+ <type name="TextHAlign"/>
+ </property>
+ <property name="text"
+ deprecated="1"
+ deprecated-version="1.6"
+ writable="1"
+ construct="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="143">The text to diplay</doc>
+ <doc-deprecated xml:space="preserve">use #ges_timeline_element_set_children_properties or
+#ges_timeline_element_get_children_properties instead.
+See #GESTitleSource for more information about exposed properties</doc-deprecated>
+ <type name="utf8" c:type="gchar*"/>
+ </property>
+ <property name="valignment"
+ deprecated="1"
+ deprecated-version="1.6"
+ writable="1"
+ construct="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="174">Vertical alignent of the text</doc>
+ <doc-deprecated xml:space="preserve">use #ges_timeline_element_set_children_properties or
+#ges_timeline_element_get_children_properties instead.
+See #GESTitleSource for more information about exposed properties</doc-deprecated>
+ <type name="TextVAlign"/>
+ </property>
+ <property name="xpos"
+ deprecated="1"
+ deprecated-version="1.6"
+ writable="1"
+ construct="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="240">The horizontal position of the text</doc>
+ <doc-deprecated xml:space="preserve">use #ges_timeline_element_set_children_properties or
+#ges_timeline_element_get_children_properties instead.
+See #GESTitleSource for more information about exposed properties</doc-deprecated>
+ <type name="gdouble" c:type="gdouble"/>
+ </property>
+ <property name="ypos"
+ deprecated="1"
+ deprecated-version="1.6"
+ writable="1"
+ construct="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-clip.c"
+ line="255">The vertical position of the text</doc>
+ <doc-deprecated xml:space="preserve">use #ges_timeline_element_set_children_properties or
+#ges_timeline_element_get_children_properties instead.
+See #GESTitleSource for more information about exposed properties</doc-deprecated>
+ <type name="gdouble" c:type="gdouble"/>
+ </property>
+ <field name="parent">
+ <type name="SourceClip" c:type="GESSourceClip"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="TitleClipPrivate" c:type="GESTitleClipPrivate*"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="TitleClipClass"
+ c:type="GESTitleClipClass"
+ glib:is-gtype-struct-for="TitleClip">
+ <source-position filename="ges/ges-title-clip.h" line="55"/>
+ <field name="parent_class" readable="0" private="1">
+ <type name="SourceClipClass" c:type="GESSourceClipClass"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="TitleClipPrivate" c:type="GESTitleClipPrivate" disguised="1">
+ <source-position filename="ges/ges-title-clip.h" line="31"/>
+ </record>
+ <class name="TitleSource"
+ c:symbol-prefix="title_source"
+ c:type="GESTitleSource"
+ parent="VideoSource"
+ glib:type-name="GESTitleSource"
+ glib:get-type="ges_title_source_get_type"
+ glib:type-struct="TitleSourceClass">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-source.c"
+ line="21">#GESTitleSource is a GESTimelineElement that implements the notion
+of titles in GES.</doc>
+ <source-position filename="ges/ges-title-source.h" line="60"/>
+ <implements name="Extractable"/>
+ <implements name="MetaContainer"/>
+ <method name="get_background_color"
+ c:identifier="ges_title_source_get_background_color">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-source.c"
+ line="489">Get the background used by @source.</doc>
+ <source-position filename="ges/ges-title-source.h" line="102"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-source.c"
+ line="495">The background used by @source.</doc>
+ <type name="guint32" c:type="const guint32"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="source" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-source.c"
+ line="491">a #GESTitleSource</doc>
+ <type name="TitleSource" c:type="GESTitleSource*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_font_desc"
+ c:identifier="ges_title_source_get_font_desc"
+ deprecated="1"
+ deprecated-version="1.16">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-source.c"
+ line="409">Get the pango font description used by @source.</doc>
+ <doc-deprecated xml:space="preserve">Use ges_timeline_element_get_child_property instead
+(this actually returns a newly allocated string)</doc-deprecated>
+ <source-position filename="ges/ges-title-source.h" line="94"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-source.c"
+ line="415">The pango font description used by this
+@source.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="source" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-source.c"
+ line="411">a #GESTitleSource</doc>
+ <type name="TitleSource" c:type="GESTitleSource*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_halignment"
+ c:identifier="ges_title_source_get_halignment">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-source.c"
+ line="432">Get the horizontal aligment used by @source.</doc>
+ <source-position filename="ges/ges-title-source.h" line="96"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-source.c"
+ line="438">The horizontal aligment used by @source.</doc>
+ <type name="TextHAlign" c:type="GESTextHAlign"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="source" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-source.c"
+ line="434">a #GESTitleSource</doc>
+ <type name="TitleSource" c:type="GESTitleSource*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_text"
+ c:identifier="ges_title_source_get_text"
+ deprecated="1"
+ deprecated-version="1.16">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-source.c"
+ line="387">Get the text currently set on the @source.</doc>
+ <doc-deprecated xml:space="preserve">Use ges_timeline_element_get_child_property instead
+(this actually returns a newly allocated string)</doc-deprecated>
+ <source-position filename="ges/ges-title-source.h" line="92"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-source.c"
+ line="393">The text currently set on the @source.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="source" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-source.c"
+ line="389">a #GESTitleSource</doc>
+ <type name="TitleSource" c:type="GESTitleSource*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_text_color"
+ c:identifier="ges_title_source_get_text_color">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-source.c"
+ line="470">Get the color used by @source.</doc>
+ <source-position filename="ges/ges-title-source.h" line="100"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-source.c"
+ line="476">The color used by @source.</doc>
+ <type name="guint32" c:type="const guint32"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="source" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-source.c"
+ line="472">a #GESTitleSource</doc>
+ <type name="TitleSource" c:type="GESTitleSource*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_valignment"
+ c:identifier="ges_title_source_get_valignment">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-source.c"
+ line="451">Get the vertical aligment used by @source.</doc>
+ <source-position filename="ges/ges-title-source.h" line="98"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-source.c"
+ line="457">The vertical aligment used by @source.</doc>
+ <type name="TextVAlign" c:type="GESTextVAlign"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="source" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-source.c"
+ line="453">a #GESTitleSource</doc>
+ <type name="TitleSource" c:type="GESTitleSource*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_xpos" c:identifier="ges_title_source_get_xpos">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-source.c"
+ line="508">Get the horizontal position used by @source.</doc>
+ <source-position filename="ges/ges-title-source.h" line="104"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-source.c"
+ line="514">The horizontal position used by @source.</doc>
+ <type name="gdouble" c:type="const gdouble"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="source" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-source.c"
+ line="510">a #GESTitleSource</doc>
+ <type name="TitleSource" c:type="GESTitleSource*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_ypos" c:identifier="ges_title_source_get_ypos">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-source.c"
+ line="527">Get the vertical position used by @source.</doc>
+ <source-position filename="ges/ges-title-source.h" line="106"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-source.c"
+ line="533">The vertical position used by @source.</doc>
+ <type name="gdouble" c:type="const gdouble"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="source" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-source.c"
+ line="529">a #GESTitleSource</doc>
+ <type name="TitleSource" c:type="GESTitleSource*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="set_background_color"
+ c:identifier="ges_title_source_set_background_color">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-source.c"
+ line="336">Sets the color of the background</doc>
+ <source-position filename="ges/ges-title-source.h" line="82"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-source.c"
+ line="338">the #GESTitleSource* to set</doc>
+ <type name="TitleSource" c:type="GESTitleSource*"/>
+ </instance-parameter>
+ <parameter name="color" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-source.c"
+ line="339">the color @self is being set to</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_font_desc"
+ c:identifier="ges_title_source_set_font_desc">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-source.c"
+ line="263">Set the pango font description this source will use to render
+the text.</doc>
+ <source-position filename="ges/ges-title-source.h" line="67"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-source.c"
+ line="265">the #GESTitleSource</doc>
+ <type name="TitleSource" c:type="GESTitleSource*"/>
+ </instance-parameter>
+ <parameter name="font_desc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-source.c"
+ line="266">the pango font description</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_halignment"
+ c:identifier="ges_title_source_set_halignment">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-source.c"
+ line="302">Sets the vertical aligment of the text.</doc>
+ <source-position filename="ges/ges-title-source.h" line="71"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-source.c"
+ line="304">the #GESTitleSource* to set text on</doc>
+ <type name="TitleSource" c:type="GESTitleSource*"/>
+ </instance-parameter>
+ <parameter name="halign" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-source.c"
+ line="305">#GESTextHAlign</doc>
+ <type name="TextHAlign" c:type="GESTextHAlign"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_text"
+ c:identifier="ges_title_source_set_text"
+ deprecated="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-source.c"
+ line="238">Sets the text this track element will render.</doc>
+ <doc-deprecated xml:space="preserve">use ges_track_element_get/set_children_properties on the
+GESTrackElement instead</doc-deprecated>
+ <source-position filename="ges/ges-title-source.h" line="63"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-source.c"
+ line="240">the #GESTitleSource* to set text on</doc>
+ <type name="TitleSource" c:type="GESTitleSource*"/>
+ </instance-parameter>
+ <parameter name="text" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-source.c"
+ line="241">the text to render. an internal copy of this text will be
+made.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_text_color"
+ c:identifier="ges_title_source_set_text_color">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-source.c"
+ line="319">Sets the color of the text.</doc>
+ <source-position filename="ges/ges-title-source.h" line="79"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-source.c"
+ line="321">the #GESTitleSource* to set</doc>
+ <type name="TitleSource" c:type="GESTitleSource*"/>
+ </instance-parameter>
+ <parameter name="color" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-source.c"
+ line="322">the color @self is being set to</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_valignment"
+ c:identifier="ges_title_source_set_valignment">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-source.c"
+ line="285">Sets the vertical aligment of the text.</doc>
+ <source-position filename="ges/ges-title-source.h" line="75"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-source.c"
+ line="287">the #GESTitleSource* to set text on</doc>
+ <type name="TitleSource" c:type="GESTitleSource*"/>
+ </instance-parameter>
+ <parameter name="valign" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-source.c"
+ line="288">#GESTextVAlign</doc>
+ <type name="TextVAlign" c:type="GESTextVAlign"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_xpos" c:identifier="ges_title_source_set_xpos">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-source.c"
+ line="353">Sets the horizontal position of the text.</doc>
+ <source-position filename="ges/ges-title-source.h" line="85"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-source.c"
+ line="355">the #GESTitleSource* to set</doc>
+ <type name="TitleSource" c:type="GESTitleSource*"/>
+ </instance-parameter>
+ <parameter name="position" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-source.c"
+ line="356">the horizontal position @self is being set to</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_ypos" c:identifier="ges_title_source_set_ypos">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-source.c"
+ line="370">Sets the vertical position of the text.</doc>
+ <source-position filename="ges/ges-title-source.h" line="88"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-source.c"
+ line="372">the #GESTitleSource* to set</doc>
+ <type name="TitleSource" c:type="GESTitleSource*"/>
+ </instance-parameter>
+ <parameter name="position" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-source.c"
+ line="373">the color @self is being set to</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </parameter>
+ </parameters>
+ </method>
+ <field name="parent">
+ <type name="VideoSource" c:type="GESVideoSource"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="TitleSourcePrivate" c:type="GESTitleSourcePrivate*"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="TitleSourceClass"
+ c:type="GESTitleSourceClass"
+ glib:is-gtype-struct-for="TitleSource">
+ <source-position filename="ges/ges-title-source.h" line="60"/>
+ <field name="parent_class">
+ <doc xml:space="preserve"
+ filename="ges/ges-title-source.h"
+ line="51">parent class</doc>
+ <type name="VideoSourceClass" c:type="GESVideoSourceClass"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="3">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="TitleSourcePrivate"
+ c:type="GESTitleSourcePrivate"
+ disguised="1">
+ <source-position filename="ges/ges-title-source.h" line="30"/>
+ </record>
+ <class name="Track"
+ c:symbol-prefix="track"
+ c:type="GESTrack"
+ parent="Gst.Bin"
+ glib:type-name="GESTrack"
+ glib:get-type="ges_track_get_type"
+ glib:type-struct="TrackClass">
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="21">A #GESTrack acts an output source for a #GESTimeline. Each one
+essentially provides an additional #GstPad for the timeline, with
+#GESTrack:restriction-caps capabilities. Internally, a track
+wraps an #nlecomposition filtered by a #capsfilter.
+
+A track will contain a number of #GESTrackElement-s, and its role is
+to select and activate these elements according to their timings when
+the timeline in played. For example, a track would activate a
+#GESSource when its #GESTimelineElement:start is reached by outputting
+its data for its #GESTimelineElement:duration. Similarly, a
+#GESOperation would be activated by applying its effect to the source
+data, starting from its #GESTimelineElement:start time and lasting for
+its #GESTimelineElement:duration.
+
+For most users, it will usually be sufficient to add newly created
+tracks to a timeline, but never directly add an element to a track.
+Whenever a #GESClip is added to a timeline, the clip adds its
+elements to the timeline's tracks and assumes responsibility for
+updating them.</doc>
+ <source-position filename="ges/ges-track.h" line="75"/>
+ <implements name="MetaContainer"/>
+ <implements name="Gst.ChildProxy"/>
+ <constructor name="new" c:identifier="ges_track_new">
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="845">Creates a new track with the given track-type and caps.
+
+If @type is #GES_TRACK_TYPE_VIDEO, and @caps is a subset of
+"video/x-raw(ANY)", then a #GESVideoTrack is created. This will
+automatically choose a gap creation method suitable for video data. You
+will likely want to set #GESTrack:restriction-caps separately. You may
+prefer to use the ges_video_track_new() method instead.
+
+If @type is #GES_TRACK_TYPE_AUDIO, and @caps is a subset of
+"audio/x-raw(ANY)", then a #GESAudioTrack is created. This will
+automatically choose a gap creation method suitable for audio data, and
+will set the #GESTrack:restriction-caps to the default for
+#GESAudioTrack. You may prefer to use the ges_audio_track_new() method
+instead.
+
+Otherwise, a plain #GESTrack is returned. You will likely want to set
+the #GESTrack:restriction-caps and call
+ges_track_set_create_element_for_gap_func() on the returned track.</doc>
+ <source-position filename="ges/ges-track.h" line="120"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="869">A new track.</doc>
+ <type name="Track" c:type="GESTrack*"/>
+ </return-value>
+ <parameters>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="847">The #GESTrack:track-type for the track</doc>
+ <type name="TrackType" c:type="GESTrackType"/>
+ </parameter>
+ <parameter name="caps" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="848">The #GESTrack:caps for the track</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <virtual-method name="get_mixing_element" introspectable="0">
+ <source-position filename="ges/ges-track.h" line="71"/>
+ <return-value>
+ <type name="Gst.Element" c:type="GstElement*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="track" transfer-ownership="none">
+ <type name="Track" c:type="GESTrack*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <method name="add_element" c:identifier="ges_track_add_element">
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="1229">See ges_track_add_element(), which also gives an error.</doc>
+ <source-position filename="ges/ges-track.h" line="89"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="1236">%TRUE if @object was successfully added to @track.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="track" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="1231">A #GESTrack</doc>
+ <type name="Track" c:type="GESTrack*"/>
+ </instance-parameter>
+ <parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="1232">The element to add</doc>
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_element_full"
+ c:identifier="ges_track_add_element_full"
+ version="1.18"
+ throws="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="1137">Adds the given track element to the track, which takes ownership of the
+element.
+
+Note that this can fail if it would break a configuration rule of the
+track's #GESTimeline.
+
+Note that a #GESTrackElement can only be added to one track.</doc>
+ <source-position filename="ges/ges-track.h" line="92"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="1151">%TRUE if @object was successfully added to @track.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="track" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="1139">A #GESTrack</doc>
+ <type name="Track" c:type="GESTrack*"/>
+ </instance-parameter>
+ <parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="1140">The element to add</doc>
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="commit" c:identifier="ges_track_commit">
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="1363">Commits all the pending changes for the elements contained in the
+track.
+
+When changes are made to the timing or priority of elements within a
+track, they are not directly executed for the underlying
+#nlecomposition and its children. This method will finally execute
+these changes so they are reflected in the data output of the track.
+
+Any pending changes will be executed in the backend. The
+#GESTimeline::commited signal will be emitted once this has completed.
+
+Note that ges_timeline_commit() will call this method on all of its
+tracks, so you are unlikely to need to use this directly.</doc>
+ <source-position filename="ges/ges-track.h" line="84"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="1381">%TRUE if pending changes were committed, or %FALSE if nothing
+needed to be committed.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="track" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="1365">A #GESTrack</doc>
+ <type name="Track" c:type="GESTrack*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_caps" c:identifier="ges_track_get_caps">
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="1312">Get the #GESTrack:caps of the track.</doc>
+ <source-position filename="ges/ges-track.h" line="78"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="1318">The caps of @track.</doc>
+ <type name="Gst.Caps" c:type="const GstCaps*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="track" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="1314">A #GESTrack</doc>
+ <type name="Track" c:type="GESTrack*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_elements" c:identifier="ges_track_get_elements">
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="1244">Gets the track elements contained in the track. The returned list is
+sorted by the element's #GESTimelineElement:priority and
+#GESTimelineElement:start.</doc>
+ <source-position filename="ges/ges-track.h" line="80"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="1252">A list of
+all the #GESTrackElement-s in @track.</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="TrackElement"/>
+ </type>
+ </return-value>
+ <parameters>
+ <instance-parameter name="track" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="1246">A #GESTrack</doc>
+ <type name="Track" c:type="GESTrack*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_mixing" c:identifier="ges_track_get_mixing">
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="1347">Gets the #GESTrack:mixing of the track.</doc>
+ <source-position filename="ges/ges-track.h" line="109"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="1353">Whether @track is mixing.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="track" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="1349">A #GESTrack</doc>
+ <type name="Track" c:type="GESTrack*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_restriction_caps"
+ c:identifier="ges_track_get_restriction_caps"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="1422">Gets the #GESTrack:restriction-caps of the track.</doc>
+ <source-position filename="ges/ges-track.h" line="117"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="1428">The restriction-caps of @track.</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="track" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="1424">A #GESTrack</doc>
+ <type name="Track" c:type="GESTrack*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_timeline" c:identifier="ges_track_get_timeline">
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="1329">Get the timeline this track belongs to.</doc>
+ <source-position filename="ges/ges-track.h" line="82"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="1335">The timeline that @track belongs to, or %NULL if
+it does not belong to a timeline.</doc>
+ <type name="Timeline" c:type="const GESTimeline*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="track" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="1331">A #GESTrack</doc>
+ <type name="Track" c:type="GESTrack*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="remove_element" c:identifier="ges_track_remove_element">
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="1297">See ges_track_remove_element_full(), which also returns an error.</doc>
+ <source-position filename="ges/ges-track.h" line="96"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="1304">%TRUE if @object was successfully removed from @track.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="track" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="1299">A #GESTrack</doc>
+ <type name="Track" c:type="GESTrack*"/>
+ </instance-parameter>
+ <parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="1300">The element to remove</doc>
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="remove_element_full"
+ c:identifier="ges_track_remove_element_full"
+ version="1.18"
+ throws="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="1270">Removes the given track element from the track, which revokes
+ownership of the element.</doc>
+ <source-position filename="ges/ges-track.h" line="99"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="1279">%TRUE if @object was successfully removed from @track.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="track" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="1272">A #GESTrack</doc>
+ <type name="Track" c:type="GESTrack*"/>
+ </instance-parameter>
+ <parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="1273">The element to remove</doc>
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_create_element_for_gap_func"
+ c:identifier="ges_track_set_create_element_for_gap_func"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="1396">Sets the function that will be used to create a #GstElement that can be
+used as a source to fill the gaps of the track. A gap is a timeline
+region where the track has no #GESTrackElement sources. Therefore, you
+are likely to want the #GstElement returned by the function to always
+produce 'empty' content, defined relative to the stream type, such as
+transparent frames for a video, or mute samples for audio.
+
+#GESAudioTrack and #GESVideoTrack objects are created with such a
+function already set appropriately.</doc>
+ <source-position filename="ges/ges-track.h" line="103"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="track" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="1398">A #GESTrack</doc>
+ <type name="Track" c:type="GESTrack*"/>
+ </instance-parameter>
+ <parameter name="func" transfer-ownership="none" scope="notified">
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="1399">The function to be used to create a source
+#GstElement that can fill gaps in @track</doc>
+ <type name="CreateElementForGapFunc"
+ c:type="GESCreateElementForGapFunc"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_mixing" c:identifier="ges_track_set_mixing">
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="1065">Sets the #GESTrack:mixing for the track.</doc>
+ <source-position filename="ges/ges-track.h" line="106"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="track" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="1067">A #GESTrack</doc>
+ <type name="Track" c:type="GESTrack*"/>
+ </instance-parameter>
+ <parameter name="mixing" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="1068">Whether @track should be mixing</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_restriction_caps"
+ c:identifier="ges_track_set_restriction_caps">
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="981">Sets the #GESTrack:restriction-caps for the track.</doc>
+ <source-position filename="ges/ges-track.h" line="111"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="track" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="983">A #GESTrack</doc>
+ <type name="Track" c:type="GESTrack*"/>
+ </instance-parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="984">The new restriction-caps for @track</doc>
+ <type name="Gst.Caps" c:type="const GstCaps*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_timeline" c:identifier="ges_track_set_timeline">
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="916">Informs the track that it belongs to the given timeline. Calling this
+does not actually add the track to the timeline. For that, you should
+use ges_timeline_add_track(), which will also take care of informing
+the track that it belongs to the timeline. As such, there is no need
+for you to call this method.</doc>
+ <source-position filename="ges/ges-track.h" line="86"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="track" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="918">A #GESTrack
+@timeline (nullable): A #GESTimeline</doc>
+ <type name="Track" c:type="GESTrack*"/>
+ </instance-parameter>
+ <parameter name="timeline" transfer-ownership="none">
+ <type name="Timeline" c:type="GESTimeline*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="update_restriction_caps"
+ c:identifier="ges_track_update_restriction_caps">
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="1010">Updates the #GESTrack:restriction-caps of the track using the fields
+found in the given caps. Each of the #GstStructure-s in @caps is
+compared against the existing structure with the same index in the
+current #GESTrack:restriction-caps. If there is no corresponding
+existing structure at that index, then the new structure is simply
+copied to that index. Otherwise, any fields in the new structure are
+copied into the existing structure. This will replace existing values,
+and may introduce new ones, but any fields 'missing' in the new
+structure are left unchanged in the existing structure.
+
+For example, if the existing #GESTrack:restriction-caps are
+"video/x-raw, width=480, height=360", and the updating caps is
+"video/x-raw, format=I420, width=500; video/x-bayer, width=400", then
+the new #GESTrack:restriction-caps after calling this will be
+"video/x-raw, width=500, height=360, format=I420; video/x-bayer,
+width=400".</doc>
+ <source-position filename="ges/ges-track.h" line="114"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="track" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="1012">A #GESTrack</doc>
+ <type name="Track" c:type="GESTrack*"/>
+ </instance-parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="1013">The caps to update the restriction-caps with</doc>
+ <type name="Gst.Caps" c:type="const GstCaps*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="caps"
+ writable="1"
+ construct-only="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="671">The capabilities used to choose the output of the #GESTrack's
+elements. Internally, this is used to select output streams when
+several may be available, by determining whether its #GstPad is
+compatible (see #nlecomposition:caps for #nlecomposition). As such,
+this is used as a weaker indication of the desired output type of the
+track, **before** the #GESTrack:restriction-caps is applied.
+Therefore, this should be set to a *generic* superset of the
+#GESTrack:restriction-caps, such as "video/x-raw(ANY)". In addition,
+it should match with the track's #GESTrack:track-type.
+
+Note that when you set this property, the #GstCapsFeatures of all its
+#GstStructure-s will be automatically set to #GST_CAPS_FEATURES_ANY.
+
+Once a track has been added to a #GESTimeline, you should not change
+this.
+
+Default value: #GST_CAPS_ANY.</doc>
+ <type name="Gst.Caps"/>
+ </property>
+ <property name="duration" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="718">Current duration of the track
+
+Default value: O</doc>
+ <type name="guint64" c:type="guint64"/>
+ </property>
+ <property name="id"
+ version="1.18"
+ writable="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="765">The #nlecomposition:id of the underlying #nlecomposition.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </property>
+ <property name="mixing"
+ writable="1"
+ construct="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="750">Whether the track should support the mixing of #GESLayer data, such
+as composing the video data of each layer (when part of the video
+data is transparent, the next layer will become visible) or adding
+together the audio data. As such, for audio and video tracks, you'll
+likely want to keep this set to %TRUE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </property>
+ <property name="restriction-caps" writable="1" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="698">The capabilities that specifies the final output format of the
+#GESTrack. For example, for a video track, it would specify the
+height, width, framerate and other properties of the stream.
+
+You may change this property after the track has been added to a
+#GESTimeline, but it must remain compatible with the track's
+#GESTrack:caps.
+
+Default value: #GST_CAPS_ANY.</doc>
+ <type name="Gst.Caps"/>
+ </property>
+ <property name="track-type"
+ writable="1"
+ construct-only="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="733">The track type of the track. This controls the type of
+#GESTrackElement-s that can be added to the track. This should
+match with the track's #GESTrack:caps.
+
+Once a track has been added to a #GESTimeline, you should not change
+this.</doc>
+ <type name="TrackType"/>
+ </property>
+ <field name="parent">
+ <type name="Gst.Bin" c:type="GstBin"/>
+ </field>
+ <field name="type">
+ <doc xml:space="preserve"
+ filename="ges/ges-track.h"
+ line="47">The #GESTrack:track-type of the track</doc>
+ <type name="TrackType" c:type="GESTrackType"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="TrackPrivate" c:type="GESTrackPrivate*"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <glib:signal name="commited" when="last">
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="805">This signal will be emitted once the changes initiated by
+ges_track_commit() have been executed in the backend. In particular,
+this will be emitted whenever the underlying #nlecomposition has been
+committed (see #nlecomposition::commited).</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </glib:signal>
+ <glib:signal name="track-element-added" when="first">
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="781">Will be emitted after a track element is added to the track.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="effect" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="784">The element that was added</doc>
+ <type name="TrackElement"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="track-element-removed" when="first">
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="793">Will be emitted after a track element is removed from the track.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="effect" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track.c"
+ line="796">The element that was removed</doc>
+ <type name="TrackElement"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ </class>
+ <record name="TrackClass"
+ c:type="GESTrackClass"
+ glib:is-gtype-struct-for="Track">
+ <source-position filename="ges/ges-track.h" line="75"/>
+ <field name="parent_class" readable="0" private="1">
+ <type name="Gst.BinClass" c:type="GstBinClass"/>
+ </field>
+ <field name="get_mixing_element" introspectable="0">
+ <callback name="get_mixing_element" introspectable="0">
+ <source-position filename="ges/ges-track.h" line="71"/>
+ <return-value>
+ <type name="Gst.Element" c:type="GstElement*"/>
+ </return-value>
+ <parameters>
+ <parameter name="track" transfer-ownership="none">
+ <type name="Track" c:type="GESTrack*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <class name="TrackElement"
+ c:symbol-prefix="track_element"
+ c:type="GESTrackElement"
+ parent="TimelineElement"
+ abstract="1"
+ glib:type-name="GESTrackElement"
+ glib:get-type="ges_track_element_get_type"
+ glib:type-struct="TrackElementClass">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="21">A #GESTrackElement is a #GESTimelineElement that specifically belongs
+to a single #GESTrack of its #GESTimelineElement:timeline. Its
+#GESTimelineElement:start and #GESTimelineElement:duration specify its
+temporal extent in the track. Specifically, a track element wraps some
+nleobject, such as an #nlesource or #nleoperation, which can be
+retrieved with ges_track_element_get_nleobject(), and its
+#GESTimelineElement:start, #GESTimelineElement:duration,
+#GESTimelineElement:in-point, #GESTimelineElement:priority and
+#GESTrackElement:active properties expose the corresponding nleobject
+properties. When a track element is added to a track, its nleobject is
+added to the corresponding #nlecomposition that the track wraps.
+
+Most users will not have to work directly with track elements since a
+#GESClip will automatically create track elements for its timeline's
+tracks and take responsibility for updating them. The only track
+elements that are not automatically created by clips, but a user is
+likely to want to create, are #GESEffect-s.
+
+## Control Bindings for Children Properties
+
+You can set up control bindings for a track element child property
+using ges_track_element_set_control_source(). A
+#GstTimedValueControlSource should specify the timed values using the
+internal source coordinates (see #GESTimelineElement). By default,
+these will be updated to lie between the #GESTimelineElement:in-point
+and out-point of the element. This can be switched off by setting
+#GESTrackElement:auto-clamp-control-sources to %FALSE.</doc>
+ <source-position filename="ges/ges-track-element.h" line="119"/>
+ <implements name="Extractable"/>
+ <implements name="MetaContainer"/>
+ <virtual-method name="active_changed">
+ <source-position filename="ges/ges-track-element.h" line="97"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </instance-parameter>
+ <parameter name="active" transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="changed">
+ <source-position filename="ges/ges-track-element.h" line="101"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="create_element" introspectable="0">
+ <source-position filename="ges/ges-track-element.h" line="95"/>
+ <return-value>
+ <type name="Gst.Element" c:type="GstElement*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="create_gnl_object" introspectable="0">
+ <source-position filename="ges/ges-track-element.h" line="94"/>
+ <return-value>
+ <type name="Gst.Element" c:type="GstElement*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="list_children_properties" introspectable="0">
+ <source-position filename="ges/ges-track-element.h" line="105"/>
+ <return-value>
+ <type name="GObject.ParamSpec" c:type="GParamSpec**"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </instance-parameter>
+ <parameter name="n_properties" transfer-ownership="none">
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="lookup_child"
+ invoker="lookup_child"
+ deprecated="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1358">Looks up which @element and @pspec would be effected by the given @name. If various
+contained elements have this property name you will get the first one, unless you
+specify the class name in @name.</doc>
+ <doc-deprecated xml:space="preserve">Use #ges_timeline_element_lookup_child</doc-deprecated>
+ <source-position filename="ges/ges-track-element.h" line="107"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1375">TRUE if @element and @pspec could be found. FALSE otherwise. In that
+case the values for @pspec and @element are not modified. Unref @element after
+usage.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1360">Object to lookup the property in</doc>
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </instance-parameter>
+ <parameter name="prop_name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1361">Name of the property to look up. You can specify the name of the
+ class as such: "ClassName::property-name", to guarantee that you get the
+ proper GParamSpec in case various GstElement-s contain the same property
+ name. If you don't do so, you will get the first element found, having
+ this property and the and the corresponding GParamSpec.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="element"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1366">pointer to a #GstElement that
+ takes the real object to set property on</doc>
+ <type name="Gst.Element" c:type="GstElement**"/>
+ </parameter>
+ <parameter name="pspec"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1368">pointer to take the specification
+ describing the property</doc>
+ <type name="GObject.ParamSpec" c:type="GParamSpec**"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <method name="add_children_props"
+ c:identifier="ges_track_element_add_children_props">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1115">Adds all the properties of a #GstElement that match the criteria as
+children properties of the track element. If the name of @element's
+#GstElementFactory is not in @blacklist, and the factory's
+#GST_ELEMENT_METADATA_KLASS contains at least one member of
+@wanted_categories (e.g. #GST_ELEMENT_FACTORY_KLASS_DECODER), then
+all the properties of @element that are also in @whitelist are added as
+child properties of @self using
+ges_timeline_element_add_child_property().
+
+This is intended to be used by subclasses when constructing.</doc>
+ <source-position filename="ges/ges-track-element.h" line="178"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1117">A #GESTrackElement</doc>
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </instance-parameter>
+ <parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1118">The child object to retrieve properties from</doc>
+ <type name="Gst.Element" c:type="GstElement*"/>
+ </parameter>
+ <parameter name="wanted_categories"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1119">
+An array of element factory "klass" categories to whitelist, or %NULL
+to accept all categories</doc>
+ <array c:type="const gchar**">
+ <type name="utf8" c:type="gchar*"/>
+ </array>
+ </parameter>
+ <parameter name="blacklist"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1122">A
+blacklist of element factory names, or %NULL to not blacklist any
+element factory</doc>
+ <array c:type="const gchar**">
+ <type name="utf8" c:type="gchar*"/>
+ </array>
+ </parameter>
+ <parameter name="whitelist"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1125">A
+whitelist of element property names, or %NULL to whitelist all
+writeable properties</doc>
+ <array c:type="const gchar**">
+ <type name="utf8" c:type="gchar*"/>
+ </array>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="clamp_control_source"
+ c:identifier="ges_track_element_clamp_control_source"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1981">Clamp the #GstTimedValueControlSource for the specified child property
+to lie between the #GESTimelineElement:in-point and out-point of the
+element. The out-point is the #GES_TIMELINE_ELEMENT_END of the element
+translated from the timeline coordinates to the internal source
+coordinates of the element.
+
+If the property does not have a #GstTimedValueControlSource set by
+ges_track_element_set_control_source(), nothing happens. Otherwise, if
+a timed value for the control source lies before the in-point of the
+element, or after its out-point, then it will be removed. At the
+in-point and out-point times, a new interpolated value will be placed.</doc>
+ <source-position filename="ges/ges-track-element.h" line="165"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1983">A #GESTrackElement</doc>
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </instance-parameter>
+ <parameter name="property_name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1984">The name of the child property to clamp the control
+source of</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="edit"
+ c:identifier="ges_track_element_edit"
+ deprecated="1"
+ deprecated-version="1.18">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1769">Edits the element within its track.</doc>
+ <doc-deprecated xml:space="preserve">use #ges_timeline_element_edit instead.</doc-deprecated>
+ <source-position filename="ges/ges-track-element-deprecated.h"
+ line="59"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1782">%TRUE if the edit of @object completed, %FALSE on failure.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1771">The #GESTrackElement to edit</doc>
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </instance-parameter>
+ <parameter name="layers"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1772">A whitelist of layers
+where the edit can be performed, %NULL allows all layers in the
+timeline</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="Layer"/>
+ </type>
+ </parameter>
+ <parameter name="mode" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1775">The edit mode</doc>
+ <type name="EditMode" c:type="GESEditMode"/>
+ </parameter>
+ <parameter name="edge" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1776">The edge of @object where the edit should occur</doc>
+ <type name="Edge" c:type="GESEdge"/>
+ </parameter>
+ <parameter name="position" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1777">The edit position: a new location for the edge of @object
+(in nanoseconds)</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_all_control_bindings"
+ c:identifier="ges_track_element_get_all_control_bindings">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1231">Get all the control bindings that have been created for the children
+properties of the track element using
+ges_track_element_set_control_source(). The keys used in the returned
+hash table are the child property names that were passed to
+ges_track_element_set_control_source(), and their values are the
+corresponding created #GstControlBinding.</doc>
+ <source-position filename="ges/ges-track-element.h" line="184"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1242">A
+hash table containing all child-property-name/control-binding pairs
+for @trackelement.</doc>
+ <type name="GLib.HashTable" c:type="GHashTable*">
+ <type name="utf8"/>
+ <type name="Gst.ControlBinding"/>
+ </type>
+ </return-value>
+ <parameters>
+ <instance-parameter name="trackelement" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1233">A #GESTrackElement</doc>
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_auto_clamp_control_sources"
+ c:identifier="ges_track_element_get_auto_clamp_control_sources"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="2058">Gets #GESTrackElement:auto-clamp-control-sources.</doc>
+ <source-position filename="ges/ges-track-element.h" line="172"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="2064">Whether the control sources for the child properties of
+@object are automatically clamped.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="2060">A #GESTrackElement</doc>
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_child_properties"
+ c:identifier="ges_track_element_get_child_properties"
+ introspectable="0"
+ deprecated="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1505">Gets properties of a child of @object.</doc>
+ <doc-deprecated xml:space="preserve">Use #ges_timeline_element_get_child_properties</doc-deprecated>
+ <source-position filename="ges/ges-track-element-deprecated.h"
+ line="25"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1507">The origin #GESTrackElement</doc>
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </instance-parameter>
+ <parameter name="first_property_name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1508">The name of the first property to get</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="..." transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1509">return location for the first property, followed optionally by more
+name/return location pairs, followed by NULL</doc>
+ <varargs/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_child_property"
+ c:identifier="ges_track_element_get_child_property"
+ introspectable="0"
+ deprecated="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1572">In general, a copy is made of the property contents and
+the caller is responsible for freeing the memory by calling
+g_value_unset().
+
+Gets a property of a GstElement contained in @object.
+
+Note that #ges_track_element_get_child_property is really
+intended for language bindings, #ges_track_element_get_child_properties
+is much more convenient for C programming.</doc>
+ <doc-deprecated xml:space="preserve">Use #ges_timeline_element_get_child_property</doc-deprecated>
+ <source-position filename="ges/ges-track-element-deprecated.h"
+ line="53"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1589">%TRUE if the property was found, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1574">The origin #GESTrackElement</doc>
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </instance-parameter>
+ <parameter name="property_name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1575">The name of the property</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="value"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1576">return location for the property value, it will
+be initialized if it is initialized with 0</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_child_property_by_pspec"
+ c:identifier="ges_track_element_get_child_property_by_pspec"
+ introspectable="0"
+ deprecated="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1530">Gets a property of a child of @object.</doc>
+ <doc-deprecated xml:space="preserve">Use #ges_timeline_element_get_child_property_by_pspec</doc-deprecated>
+ <source-position filename="ges/ges-track-element.h" line="154"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1532">A #GESTrackElement</doc>
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </instance-parameter>
+ <parameter name="pspec" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1533">The #GParamSpec that specifies the property you want to get</doc>
+ <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
+ </parameter>
+ <parameter name="value"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1534">return location for the value</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_child_property_valist"
+ c:identifier="ges_track_element_get_child_property_valist"
+ introspectable="0"
+ deprecated="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1461">Gets a property of a child of @object. If there are various child elements
+that have the same property name, you can distinguish them using the following
+syntax: 'ClasseName::property_name' as property name. If you don't, the
+corresponding property of the first element found will be set.</doc>
+ <doc-deprecated xml:space="preserve">Use #ges_timeline_element_get_child_property_valist</doc-deprecated>
+ <source-position filename="ges/ges-track-element-deprecated.h"
+ line="20"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1463">The #GESTrackElement parent object</doc>
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </instance-parameter>
+ <parameter name="first_property_name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1464">The name of the first property to get</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="var_args" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1465">Value for the first property, followed optionally by more
+name/return location pairs, followed by NULL</doc>
+ <type name="va_list" c:type="va_list"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_control_binding"
+ c:identifier="ges_track_element_get_control_binding">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1948">Gets the control binding that was created for the specified child
+property of the track element using
+ges_track_element_set_control_source(). The given @property_name must
+be the same name of the child property that was passed to
+ges_track_element_set_control_source().</doc>
+ <source-position filename="ges/ges-track-element.h" line="175"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1960">The control binding that was
+created for the specified child property of @object, or %NULL if
+@property_name does not correspond to any control binding.</doc>
+ <type name="Gst.ControlBinding" c:type="GstControlBinding*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1950">A #GESTrackElement</doc>
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </instance-parameter>
+ <parameter name="property_name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1951">The name of the child property to return the control
+binding of</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_element" c:identifier="ges_track_element_get_element">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1307">Get the #GstElement that the track element's underlying nleobject
+controls.</doc>
+ <source-position filename="ges/ges-track-element.h" line="134"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1314">The #GstElement being controlled by the
+nleobject that @object wraps.</doc>
+ <type name="Gst.Element" c:type="GstElement*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1309">A #GESTrackElement</doc>
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_gnlobject"
+ c:identifier="ges_track_element_get_gnlobject"
+ deprecated="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1271">Get the GNonLin object this object is controlling.</doc>
+ <doc-deprecated xml:space="preserve">use #ges_track_element_get_nleobject instead.</doc-deprecated>
+ <source-position filename="ges/ges-track-element-deprecated.h"
+ line="4"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1277">The GNonLin object this object is controlling.</doc>
+ <type name="Gst.Element" c:type="GstElement*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1273">A #GESTrackElement</doc>
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_nleobject"
+ c:identifier="ges_track_element_get_nleobject"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1289">Get the nleobject that this element wraps.</doc>
+ <source-position filename="ges/ges-track-element.h" line="131"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1295">The nleobject that @object wraps.</doc>
+ <type name="Gst.Element" c:type="GstElement*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1291">A #GESTrackElement</doc>
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_track" c:identifier="ges_track_element_get_track">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1254">Get the #GESTrackElement:track for the element.</doc>
+ <source-position filename="ges/ges-track-element.h" line="122"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1260">The track that @object belongs to,
+or %NULL if it does not belong to a track.</doc>
+ <type name="Track" c:type="GESTrack*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1256">A #GESTrackElement</doc>
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_track_type"
+ c:identifier="ges_track_element_get_track_type">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="966">Gets the #GESTrackElement:track-type for the element.</doc>
+ <source-position filename="ges/ges-track-element.h" line="125"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="972">The track-type of @object.</doc>
+ <type name="TrackType" c:type="GESTrackType"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="968">A #GESTrackElement</doc>
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="has_internal_source"
+ c:identifier="ges_track_element_has_internal_source">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1342">Gets #GESTrackElement:has-internal-source for the element.</doc>
+ <source-position filename="ges/ges-track-element.h" line="151"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1348">%TRUE if @object can have its 'internal time' properties set.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1344">A #GESTrackElement</doc>
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="is_active" c:identifier="ges_track_element_is_active">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1325">Gets #GESTrackElement:active for the element.</doc>
+ <source-position filename="ges/ges-track-element.h" line="144"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1331">%TRUE if @object is active in its track.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1327">A #GESTrackElement</doc>
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="is_core"
+ c:identifier="ges_track_element_is_core"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="2086">Get whether the given track element is a core track element. That is,
+it was created by the @create_track_elements #GESClipClass method for
+some #GESClip.
+
+Note that such a track element can only be added to a clip that shares
+the same #GESAsset as the clip that created it. For example, you are
+allowed to move core children between clips that resulted from
+ges_container_ungroup(), but you could not move the core child from a
+#GESUriClip to a #GESTitleClip or another #GESUriClip with a different
+#GESUriClip:uri.
+
+Moreover, if a core track element is added to a clip, it will always be
+added as a core child. Therefore, if this returns %TRUE, then @element
+will be a core child of its parent clip.</doc>
+ <source-position filename="ges/ges-track-element.h" line="137"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="2105">%TRUE if @element is a core track element.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="2088">A #GESTrackElement</doc>
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="list_children_properties"
+ c:identifier="ges_track_element_list_children_properties"
+ deprecated="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1483">Gets an array of #GParamSpec* for all configurable properties of the
+children of @object.</doc>
+ <doc-deprecated xml:space="preserve">Use #ges_timeline_element_list_children_properties</doc-deprecated>
+ <source-position filename="ges/ges-track-element-deprecated.h"
+ line="9"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1491">An array of #GParamSpec* which should be freed after use or
+%NULL if something went wrong.</doc>
+ <array length="0" zero-terminated="0" c:type="GParamSpec**">
+ <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
+ </array>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1485">The #GESTrackElement to get the list of children properties from</doc>
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </instance-parameter>
+ <parameter name="n_properties"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1486">return location for the length of the returned array</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="lookup_child"
+ c:identifier="ges_track_element_lookup_child"
+ deprecated="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1358">Looks up which @element and @pspec would be effected by the given @name. If various
+contained elements have this property name you will get the first one, unless you
+specify the class name in @name.</doc>
+ <doc-deprecated xml:space="preserve">Use #ges_timeline_element_lookup_child</doc-deprecated>
+ <source-position filename="ges/ges-track-element-deprecated.h"
+ line="13"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1375">TRUE if @element and @pspec could be found. FALSE otherwise. In that
+case the values for @pspec and @element are not modified. Unref @element after
+usage.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1360">Object to lookup the property in</doc>
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </instance-parameter>
+ <parameter name="prop_name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1361">Name of the property to look up. You can specify the name of the
+ class as such: "ClassName::property-name", to guarantee that you get the
+ proper GParamSpec in case various GstElement-s contain the same property
+ name. If you don't do so, you will get the first element found, having
+ this property and the and the corresponding GParamSpec.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="element"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1366">pointer to a #GstElement that
+ takes the real object to set property on</doc>
+ <type name="Gst.Element" c:type="GstElement**"/>
+ </parameter>
+ <parameter name="pspec"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1368">pointer to take the specification
+ describing the property</doc>
+ <type name="GObject.ParamSpec" c:type="GParamSpec**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="remove_control_binding"
+ c:identifier="ges_track_element_remove_control_binding">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1796">Removes the #GstControlBinding that was created for the specified child
+property of the track element using
+ges_track_element_set_control_source(). The given @property_name must
+be the same name of the child property that was passed to
+ges_track_element_set_control_source().</doc>
+ <source-position filename="ges/ges-track-element.h" line="186"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1808">%TRUE if the control binding was removed from the specified
+child property of @object, or %FALSE if an error occurred.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1798">A #GESTrackElement</doc>
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </instance-parameter>
+ <parameter name="property_name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1799">The name of the child property to remove the control
+binding from</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_active" c:identifier="ges_track_element_set_active">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="847">Sets #GESTrackElement:active for the element.</doc>
+ <source-position filename="ges/ges-track-element.h" line="140"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="854">%TRUE if the property was *toggled*.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="849">A #GESTrackElement</doc>
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </instance-parameter>
+ <parameter name="active" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="850">Whether @object should be active in its track</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_auto_clamp_control_sources"
+ c:identifier="ges_track_element_set_auto_clamp_control_sources"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="2029">Sets #GESTrackElement:auto-clamp-control-sources. If set to %TRUE, this
+will immediately clamp all the control sources.</doc>
+ <source-position filename="ges/ges-track-element.h" line="169"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="2031">A #GESTrackElement</doc>
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </instance-parameter>
+ <parameter name="auto_clamp" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="2032">Whether to automatically clamp the control sources for the
+child properties of @object</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_child_properties"
+ c:identifier="ges_track_element_set_child_properties"
+ introspectable="0"
+ deprecated="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1433">Sets a property of a child of @object. If there are various child elements
+that have the same property name, you can distinguish them using the following
+syntax: 'ClasseName::property_name' as property name. If you don't, the
+corresponding property of the first element found will be set.</doc>
+ <doc-deprecated xml:space="preserve">Use #ges_timeline_element_set_child_properties</doc-deprecated>
+ <source-position filename="ges/ges-track-element-deprecated.h"
+ line="43"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1435">The #GESTrackElement parent object</doc>
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </instance-parameter>
+ <parameter name="first_property_name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1436">The name of the first property to set</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="..." transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1437">value for the first property, followed optionally by more
+name/return location pairs, followed by NULL</doc>
+ <varargs/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_child_property"
+ c:identifier="ges_track_element_set_child_property"
+ introspectable="0"
+ deprecated="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1548">Sets a property of a GstElement contained in @object.
+
+Note that #ges_track_element_set_child_property is really
+intended for language bindings, #ges_track_element_set_child_properties
+is much more convenient for C programming.</doc>
+ <doc-deprecated xml:space="preserve">use #ges_timeline_element_set_child_property instead</doc-deprecated>
+ <source-position filename="ges/ges-track-element-deprecated.h"
+ line="48"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1560">%TRUE if the property was set, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1550">The origin #GESTrackElement</doc>
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </instance-parameter>
+ <parameter name="property_name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1551">The name of the property</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1552">The value</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_child_property_by_pspec"
+ c:identifier="ges_track_element_set_child_property_by_pspec"
+ introspectable="0"
+ deprecated="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1389">Sets a property of a child of @object.</doc>
+ <doc-deprecated xml:space="preserve">Use #ges_timeline_element_set_child_property_by_spec</doc-deprecated>
+ <source-position filename="ges/ges-track-element-deprecated.h"
+ line="37"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1391">A #GESTrackElement</doc>
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </instance-parameter>
+ <parameter name="pspec" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1392">The #GParamSpec that specifies the property you want to set</doc>
+ <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1393">The value</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_child_property_valist"
+ c:identifier="ges_track_element_set_child_property_valist"
+ introspectable="0"
+ deprecated="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1411">Sets a property of a child of @object. If there are various child elements
+that have the same property name, you can distinguish them using the following
+syntax: 'ClasseName::property_name' as property name. If you don't, the
+corresponding property of the first element found will be set.</doc>
+ <doc-deprecated xml:space="preserve">Use #ges_timeline_element_set_child_property_valist</doc-deprecated>
+ <source-position filename="ges/ges-track-element-deprecated.h"
+ line="31"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1413">The #GESTrackElement parent object</doc>
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </instance-parameter>
+ <parameter name="first_property_name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1414">The name of the first property to set</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="var_args" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1415">Value for the first property, followed optionally by more
+name/return location pairs, followed by NULL</doc>
+ <type name="va_list" c:type="va_list"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_control_source"
+ c:identifier="ges_track_element_set_control_source">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1847">Creates a #GstControlBinding for the specified child property of the
+track element using the given control source. The given @property_name
+should refer to an existing child property of the track element, as
+used in ges_timeline_element_lookup_child().
+
+If @binding_type is "direct", then the control binding is created with
+gst_direct_control_binding_new() using the given control source. If
+@binding_type is "direct-absolute", it is created with
+gst_direct_control_binding_new_absolute() instead.</doc>
+ <source-position filename="ges/ges-track-element.h" line="159"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1865">%TRUE if the specified child property could be bound to
+@source, or %FALSE if an error occurred.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1849">A #GESTrackElement</doc>
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </instance-parameter>
+ <parameter name="source" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1850">The control source to bind the child property to</doc>
+ <type name="Gst.ControlSource" c:type="GstControlSource*"/>
+ </parameter>
+ <parameter name="property_name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1851">The name of the child property to control</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="binding_type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1852">The type of binding to create ("direct" or
+"direct-absolute")</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_has_internal_source"
+ c:identifier="ges_track_element_set_has_internal_source">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="893">Sets #GESTrackElement:has-internal-source for the element. If this is
+set to %FALSE, this method will also set the
+#GESTimelineElement:in-point of the element to 0 and its
+#GESTimelineElement:max-duration to #GST_CLOCK_TIME_NONE.</doc>
+ <source-position filename="ges/ges-track-element.h" line="147"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="904">%FALSE if @has_internal_source is forbidden for @object and
+%TRUE in any other case.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="895">A #GESTrackElement</doc>
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </instance-parameter>
+ <parameter name="has_internal_source" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="896">Whether the @object should be allowed to have its
+'internal time' properties set.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_track_type"
+ c:identifier="ges_track_element_set_track_type">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="948">Sets the #GESTrackElement:track-type for the element.</doc>
+ <source-position filename="ges/ges-track-element.h" line="127"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="950">A #GESTrackElement</doc>
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </instance-parameter>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="951">The new track-type for @object</doc>
+ <type name="TrackType" c:type="GESTrackType"/>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="active" writable="1" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="348">Whether the effect of the element should be applied in its
+#GESTrackElement:track. If set to %FALSE, it will not be used in
+the output of the track.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </property>
+ <property name="auto-clamp-control-sources"
+ writable="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="432">Whether the control sources on the element (see
+ges_track_element_set_control_source()) will be automatically
+updated whenever the #GESTimelineElement:in-point or out-point of the
+element change in value.
+
+See ges_track_element_clamp_control_source() for how this is done
+per control source.
+
+Default value: %TRUE</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </property>
+ <property name="has-internal-source"
+ writable="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="387">This property is used to determine whether the 'internal time'
+properties of the element have any meaning. In particular, unless
+this is set to %TRUE, the #GESTimelineElement:in-point and
+#GESTimelineElement:max-duration can not be set to any value other
+than the default 0 and #GST_CLOCK_TIME_NONE, respectively.
+
+If an element has some *internal* *timed* source #GstElement that it
+reads stream data from as part of its function in a #GESTrack, then
+you'll likely want to set this to %TRUE to allow the
+#GESTimelineElement:in-point and #GESTimelineElement:max-duration to
+be set.
+
+The default value is determined by the #GESTrackElementClass
+@default_has_internal_source class property. For most
+#GESSourceClass-es, this will be %TRUE, with the exception of those
+that have a potentially *static* source, such as #GESImageSourceClass
+and #GESTitleSourceClass. Otherwise, this will usually be %FALSE.
+
+For most #GESOperation-s you will likely want to leave this set to
+%FALSE. The exception may be for an operation that reads some stream
+data from some private internal source as part of manipulating the
+input data from the usual linked upstream #GESTrackElement.
+
+For example, you may want to set this to %TRUE for a
+#GES_TRACK_TYPE_VIDEO operation that wraps a #textoverlay that reads
+from a subtitle file and places its text on top of the received video
+data. The #GESTimelineElement:in-point of the element would be used
+to shift the initial seek time on the #textoverlay away from 0, and
+the #GESTimelineElement:max-duration could be set to reflect the
+time at which the subtitle file runs out of data.
+
+Note that GES can not support track elements that have both internal
+content and manipulate the timing of their data streams (time
+effects).</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </property>
+ <property name="track" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="376">The track that this element belongs to, or %NULL if it does not
+belong to a track.</doc>
+ <type name="Track"/>
+ </property>
+ <property name="track-type"
+ writable="1"
+ construct="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="361">The track type of the element, which determines the type of track the
+element can be added to (see #GESTrack:track-type). This should
+correspond to the type of data that the element can produce or
+process.</doc>
+ <type name="TrackType"/>
+ </property>
+ <field name="parent">
+ <type name="TimelineElement" c:type="GESTimelineElement"/>
+ </field>
+ <field name="active" readable="0" private="1">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="TrackElementPrivate" c:type="GESTrackElementPrivate*"/>
+ </field>
+ <field name="asset" readable="0" private="1">
+ <type name="Asset" c:type="GESAsset*"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="20">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <glib:signal name="control-binding-added" when="first">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="454">This is emitted when a control binding is added to a child property
+of the track element.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="control_binding" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="457">The control binding that has been added</doc>
+ <type name="Gst.ControlBinding"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="control-binding-removed" when="first">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="467">This is emitted when a control binding is removed from a child
+property of the track element.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="control_binding" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="470">The control binding that has been removed</doc>
+ <type name="Gst.ControlBinding"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ </class>
+ <class name="TrackElementAsset"
+ c:symbol-prefix="track_element_asset"
+ c:type="GESTrackElementAsset"
+ parent="Asset"
+ glib:type-name="GESTrackElementAsset"
+ glib:get-type="ges_track_element_asset_get_type"
+ glib:type-struct="TrackElementAssetClass">
+ <source-position filename="ges/ges-track-element-asset.h" line="50"/>
+ <implements name="MetaContainer"/>
+ <implements name="Gio.AsyncInitable"/>
+ <implements name="Gio.Initable"/>
+ <virtual-method name="get_natural_framerate"
+ invoker="get_natural_framerate">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element-asset.c"
+ line="147">Result: %TRUE if @self has a natural framerate %FALSE otherwise</doc>
+ <source-position filename="ges/ges-track-element-asset.h" line="47"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element-asset.c"
+ line="149">A #GESAsset</doc>
+ <type name="TrackElementAsset" c:type="GESTrackElementAsset*"/>
+ </instance-parameter>
+ <parameter name="framerate_n" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element-asset.c"
+ line="150">The framerate numerator</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ <parameter name="framerate_d" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element-asset.c"
+ line="151">The framerate denominator</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <method name="get_natural_framerate"
+ c:identifier="ges_track_element_asset_get_natural_framerate">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element-asset.c"
+ line="147">Result: %TRUE if @self has a natural framerate %FALSE otherwise</doc>
+ <source-position filename="ges/ges-track-element-asset.h" line="57"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element-asset.c"
+ line="149">A #GESAsset</doc>
+ <type name="TrackElementAsset" c:type="GESTrackElementAsset*"/>
+ </instance-parameter>
+ <parameter name="framerate_n" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element-asset.c"
+ line="150">The framerate numerator</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ <parameter name="framerate_d" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element-asset.c"
+ line="151">The framerate denominator</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_track_type"
+ c:identifier="ges_track_element_asset_get_track_type">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element-asset.c"
+ line="129">Get the GESAssetTrackType the #GESTrackElement extracted from @self
+should get into</doc>
+ <source-position filename="ges/ges-track-element-asset.h" line="53"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element-asset.c"
+ line="136">a #GESTrackType</doc>
+ <type name="TrackType" c:type="const GESTrackType"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="asset" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element-asset.c"
+ line="131">A #GESAsset</doc>
+ <type name="TrackElementAsset" c:type="GESTrackElementAsset*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="set_track_type"
+ c:identifier="ges_track_element_asset_set_track_type">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element-asset.c"
+ line="112">Set the #GESTrackType the #GESTrackElement extracted from @self
+should get into</doc>
+ <source-position filename="ges/ges-track-element-asset.h" line="55"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="asset" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element-asset.c"
+ line="114">A #GESAsset</doc>
+ <type name="TrackElementAsset" c:type="GESTrackElementAsset*"/>
+ </instance-parameter>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element-asset.c"
+ line="115">A #GESTrackType</doc>
+ <type name="TrackType" c:type="GESTrackType"/>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="track-type"
+ writable="1"
+ construct="1"
+ transfer-ownership="none">
+ <type name="TrackType"/>
+ </property>
+ <field name="parent">
+ <type name="Asset" c:type="GESAsset"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="TrackElementAssetPrivate"
+ c:type="GESTrackElementAssetPrivate*"/>
+ </field>
+ <field name="__ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="TrackElementAssetClass"
+ c:type="GESTrackElementAssetClass"
+ glib:is-gtype-struct-for="TrackElementAsset">
+ <source-position filename="ges/ges-track-element-asset.h" line="50"/>
+ <field name="parent_class">
+ <type name="AssetClass" c:type="GESAssetClass"/>
+ </field>
+ <field name="get_natural_framerate">
+ <callback name="get_natural_framerate">
+ <source-position filename="ges/ges-track-element-asset.h" line="47"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element-asset.c"
+ line="149">A #GESAsset</doc>
+ <type name="TrackElementAsset" c:type="GESTrackElementAsset*"/>
+ </parameter>
+ <parameter name="framerate_n" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element-asset.c"
+ line="150">The framerate numerator</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ <parameter name="framerate_d" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element-asset.c"
+ line="151">The framerate denominator</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_ges_reserved">
+ <array zero-terminated="0" fixed-size="3">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="TrackElementAssetPrivate"
+ c:type="GESTrackElementAssetPrivate"
+ disguised="1">
+ <source-position filename="ges/ges-track-element-asset.h" line="30"/>
+ </record>
+ <record name="TrackElementClass"
+ c:type="GESTrackElementClass"
+ glib:is-gtype-struct-for="TrackElement">
+ <source-position filename="ges/ges-track-element.h" line="119"/>
+ <field name="parent_class" readable="0" private="1">
+ <type name="TimelineElementClass" c:type="GESTimelineElementClass"/>
+ </field>
+ <field name="nleobject_factorytype">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.h"
+ line="67">The name of the #GstElementFactory to use to
+create the underlying nleobject of a track element</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </field>
+ <field name="create_gnl_object" introspectable="0">
+ <callback name="create_gnl_object" introspectable="0">
+ <source-position filename="ges/ges-track-element.h" line="94"/>
+ <return-value>
+ <type name="Gst.Element" c:type="GstElement*"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="create_element" introspectable="0">
+ <callback name="create_element" introspectable="0">
+ <source-position filename="ges/ges-track-element.h" line="95"/>
+ <return-value>
+ <type name="Gst.Element" c:type="GstElement*"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="active_changed">
+ <callback name="active_changed">
+ <source-position filename="ges/ges-track-element.h" line="97"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </parameter>
+ <parameter name="active" transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="changed">
+ <callback name="changed">
+ <source-position filename="ges/ges-track-element.h" line="101"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="list_children_properties" introspectable="0">
+ <callback name="list_children_properties" introspectable="0">
+ <source-position filename="ges/ges-track-element.h" line="105"/>
+ <return-value>
+ <type name="GObject.ParamSpec" c:type="GParamSpec**"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </parameter>
+ <parameter name="n_properties" transfer-ownership="none">
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="lookup_child">
+ <callback name="lookup_child">
+ <source-position filename="ges/ges-track-element.h" line="107"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1375">TRUE if @element and @pspec could be found. FALSE otherwise. In that
+case the values for @pspec and @element are not modified. Unref @element after
+usage.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1360">Object to lookup the property in</doc>
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </parameter>
+ <parameter name="prop_name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1361">Name of the property to look up. You can specify the name of the
+ class as such: "ClassName::property-name", to guarantee that you get the
+ proper GParamSpec in case various GstElement-s contain the same property
+ name. If you don't do so, you will get the first element found, having
+ this property and the and the corresponding GParamSpec.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="element"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1366">pointer to a #GstElement that
+ takes the real object to set property on</doc>
+ <type name="Gst.Element" c:type="GstElement**"/>
+ </parameter>
+ <parameter name="pspec"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-track-element.c"
+ line="1368">pointer to take the specification
+ describing the property</doc>
+ <type name="GObject.ParamSpec" c:type="GParamSpec**"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <union name="ABI" c:type="ABI">
+ <source-position filename="ges/ges-track-element.h" line="118"/>
+ <field name="_ges_reserved" writable="1">
+ <array zero-terminated="0" fixed-size="20">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <record name="abi" c:type="abi">
+ <source-position filename="ges/ges-track-element.h" line="117"/>
+ <field name="default_has_internal_source" writable="1">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="default_track_type" writable="1">
+ <type name="TrackType" c:type="GESTrackType"/>
+ </field>
+ </record>
+ </union>
+ </record>
+ <record name="TrackElementPrivate"
+ c:type="GESTrackElementPrivate"
+ disguised="1">
+ <source-position filename="ges/ges-track-element.h" line="34"/>
+ </record>
+ <record name="TrackPrivate" c:type="GESTrackPrivate" disguised="1">
+ <source-position filename="ges/ges-track.h" line="31"/>
+ </record>
+ <bitfield name="TrackType"
+ glib:type-name="GESTrackType"
+ glib:get-type="ges_track_type_get_type"
+ c:type="GESTrackType">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="32">Types of content handled by a track. If the content is not one of
+@GES_TRACK_TYPE_AUDIO, @GES_TRACK_TYPE_VIDEO or @GES_TRACK_TYPE_TEXT,
+the user of the #GESTrack must set the type to @GES_TRACK_TYPE_CUSTOM.
+
+@GES_TRACK_TYPE_UNKNOWN is for internal purposes and should not be used
+by users</doc>
+ <member name="unknown"
+ value="1"
+ c:identifier="GES_TRACK_TYPE_UNKNOWN"
+ glib:nick="unknown">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="34">A track of unknown type (i.e. invalid)</doc>
+ </member>
+ <member name="audio"
+ value="2"
+ c:identifier="GES_TRACK_TYPE_AUDIO"
+ glib:nick="audio">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="35">An audio track</doc>
+ </member>
+ <member name="video"
+ value="4"
+ c:identifier="GES_TRACK_TYPE_VIDEO"
+ glib:nick="video">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="36">A video track</doc>
+ </member>
+ <member name="text"
+ value="8"
+ c:identifier="GES_TRACK_TYPE_TEXT"
+ glib:nick="text">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="37">A text (subtitle) track</doc>
+ </member>
+ <member name="custom"
+ value="16"
+ c:identifier="GES_TRACK_TYPE_CUSTOM"
+ glib:nick="custom">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="38">A custom-content track</doc>
+ </member>
+ <function name="name" c:identifier="ges_track_type_name">
+ <source-position filename="ges/ges-enums.h" line="567"/>
+ <return-value transfer-ownership="none">
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="type" transfer-ownership="none">
+ <type name="TrackType" c:type="GESTrackType"/>
+ </parameter>
+ </parameters>
+ </function>
+ </bitfield>
+ <class name="Transition"
+ c:symbol-prefix="transition"
+ c:type="GESTransition"
+ parent="Operation"
+ abstract="1"
+ glib:type-name="GESTransition"
+ glib:get-type="ges_transition_get_type"
+ glib:type-struct="TransitionClass">
+ <doc xml:space="preserve"
+ filename="ges/ges-transition.h"
+ line="34">Base class for media transitions.</doc>
+ <source-position filename="ges/ges-transition.h" line="62"/>
+ <implements name="Extractable"/>
+ <implements name="MetaContainer"/>
+ <field name="parent" readable="0" private="1">
+ <type name="Operation" c:type="GESOperation"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="TransitionPrivate" c:type="GESTransitionPrivate*"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="TransitionClass"
+ c:type="GESTransitionClass"
+ glib:is-gtype-struct-for="Transition">
+ <source-position filename="ges/ges-transition.h" line="62"/>
+ <field name="parent_class" readable="0" private="1">
+ <type name="OperationClass" c:type="GESOperationClass"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <class name="TransitionClip"
+ c:symbol-prefix="transition_clip"
+ c:type="GESTransitionClip"
+ parent="BaseTransitionClip"
+ glib:type-name="GESTransitionClip"
+ glib:get-type="ges_transition_clip_get_type"
+ glib:type-struct="TransitionClipClass">
+ <doc xml:space="preserve"
+ filename="ges/ges-transition-clip.c"
+ line="21">Creates an object that mixes together the two underlying objects, A and B.
+The A object is assumed to have a higher prioirity (lower number) than the
+B object. At the transition in point, only A will be visible, and by the
+end only B will be visible.
+
+The shape of the video transition depends on the value of the "vtype"
+property. The default value is "crossfade". For audio, only "crossfade" is
+supported.
+
+The ID of the ExtractableType is the nickname of the vtype property value. Note
+that this value can be changed after creation and the GESExtractable.asset value
+will be updated when needed.</doc>
+ <source-position filename="ges/ges-transition-clip.h" line="66"/>
+ <implements name="Extractable"/>
+ <implements name="MetaContainer"/>
+ <constructor name="new" c:identifier="ges_transition_clip_new">
+ <doc xml:space="preserve"
+ filename="ges/ges-transition-clip.c"
+ line="382">Creates a new #GESTransitionClip.</doc>
+ <source-position filename="ges/ges-transition-clip.h" line="69"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-transition-clip.c"
+ line="388">a newly created #GESTransitionClip,
+or %NULL if something went wrong.</doc>
+ <type name="TransitionClip" c:type="GESTransitionClip*"/>
+ </return-value>
+ <parameters>
+ <parameter name="vtype" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-transition-clip.c"
+ line="384">the type of transition to create</doc>
+ <type name="VideoStandardTransitionType"
+ c:type="GESVideoStandardTransitionType"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_for_nick"
+ c:identifier="ges_transition_clip_new_for_nick">
+ <doc xml:space="preserve"
+ filename="ges/ges-transition-clip.c"
+ line="417">Creates a new #GESTransitionClip for the provided @nick.</doc>
+ <source-position filename="ges/ges-transition-clip.h" line="71"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-transition-clip.c"
+ line="423">The newly created #GESTransitionClip,
+or %NULL if something went wrong</doc>
+ <type name="TransitionClip" c:type="GESTransitionClip*"/>
+ </return-value>
+ <parameters>
+ <parameter name="nick" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-transition-clip.c"
+ line="419">a string representing the type of transition to create</doc>
+ <type name="utf8" c:type="char*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <property name="vtype"
+ writable="1"
+ construct="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-transition-clip.c"
+ line="276">a #GESVideoStandardTransitionType representing the wipe to use</doc>
+ <type name="VideoStandardTransitionType"/>
+ </property>
+ <field name="parent" readable="0" private="1">
+ <type name="BaseTransitionClip" c:type="GESBaseTransitionClip"/>
+ </field>
+ <field name="vtype">
+ <doc xml:space="preserve"
+ filename="ges/ges-transition-clip.h"
+ line="34">a #GESVideoStandardTransitionType indicating the type of video transition
+to apply.</doc>
+ <type name="VideoStandardTransitionType"
+ c:type="GESVideoStandardTransitionType"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="TransitionClipPrivate" c:type="GESTransitionClipPrivate*"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="TransitionClipClass"
+ c:type="GESTransitionClipClass"
+ glib:is-gtype-struct-for="TransitionClip">
+ <source-position filename="ges/ges-transition-clip.h" line="66"/>
+ <field name="parent_class" readable="0" private="1">
+ <type name="BaseTransitionClipClass"
+ c:type="GESBaseTransitionClipClass"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="TransitionClipPrivate"
+ c:type="GESTransitionClipPrivate"
+ disguised="1">
+ <source-position filename="ges/ges-transition-clip.h" line="30"/>
+ </record>
+ <record name="TransitionPrivate"
+ c:type="GESTransitionPrivate"
+ disguised="1">
+ <source-position filename="ges/ges-transition.h" line="32"/>
+ </record>
+ <class name="UriClip"
+ c:symbol-prefix="uri_clip"
+ c:type="GESUriClip"
+ parent="SourceClip"
+ glib:type-name="GESUriClip"
+ glib:get-type="ges_uri_clip_get_type"
+ glib:type-struct="UriClipClass">
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-clip.c"
+ line="21">Represents all the output streams from a particular uri. It is assumed that
+the URI points to a file of some type.</doc>
+ <source-position filename="ges/ges-uri-clip.h" line="53"/>
+ <implements name="Extractable"/>
+ <implements name="MetaContainer"/>
+ <constructor name="new" c:identifier="ges_uri_clip_new">
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-clip.c"
+ line="538">Creates a new #GESUriClip for the provided @uri.
+
+&gt; **WARNING**: This function might 'discover` @uri **synchrounously**, it is
+&gt; an IO and processing intensive task that you probably don't want to run in
+&gt; an application mainloop. Have a look at #ges_asset_request_async to see how
+&gt; to make that operation happen **asynchronously**.</doc>
+ <source-position filename="ges/ges-uri-clip.h" line="70"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-clip.c"
+ line="549">The newly created #GESUriClip, or
+%NULL if there was an error.</doc>
+ <type name="UriClip" c:type="GESUriClip*"/>
+ </return-value>
+ <parameters>
+ <parameter name="uri" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-clip.c"
+ line="540">the URI the source should control</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <method name="get_uri" c:identifier="ges_uri_clip_get_uri">
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-clip.c"
+ line="492">Get the location of the resource.</doc>
+ <source-position filename="ges/ges-uri-clip.h" line="67"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-clip.c"
+ line="498">The location of the resource.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-clip.c"
+ line="494">the #GESUriClip</doc>
+ <type name="UriClip" c:type="GESUriClip*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="is_image" c:identifier="ges_uri_clip_is_image">
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-clip.c"
+ line="478">Lets you know if @self is an image or not.</doc>
+ <source-position filename="ges/ges-uri-clip.h" line="65"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-clip.c"
+ line="484">%TRUE if @self is a still image %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-clip.c"
+ line="480">the #GESUriClip</doc>
+ <type name="UriClip" c:type="GESUriClip*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="is_muted" c:identifier="ges_uri_clip_is_muted">
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-clip.c"
+ line="464">Lets you know if the audio track of @self is muted or not.</doc>
+ <source-position filename="ges/ges-uri-clip.h" line="63"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-clip.c"
+ line="470">%TRUE if the audio track of @self is muted, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-clip.c"
+ line="466">the #GESUriClip</doc>
+ <type name="UriClip" c:type="GESUriClip*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="set_is_image" c:identifier="ges_uri_clip_set_is_image">
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-clip.c"
+ line="451">Sets whether the clip is a still image or not.</doc>
+ <source-position filename="ges/ges-uri-clip.h" line="59"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-clip.c"
+ line="453">the #GESUriClip</doc>
+ <type name="UriClip" c:type="GESUriClip*"/>
+ </instance-parameter>
+ <parameter name="is_image" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-clip.c"
+ line="454">%TRUE if @self is a still image, %FALSE otherwise</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_mute" c:identifier="ges_uri_clip_set_mute">
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-clip.c"
+ line="407">Sets whether the audio track of this clip is muted or not.</doc>
+ <source-position filename="ges/ges-uri-clip.h" line="56"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-clip.c"
+ line="409">the #GESUriClip on which to mute or unmute the audio track</doc>
+ <type name="UriClip" c:type="GESUriClip*"/>
+ </instance-parameter>
+ <parameter name="mute" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-clip.c"
+ line="410">%TRUE to mute @self audio track, %FALSE to unmute it</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="is-image"
+ writable="1"
+ construct="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-clip.c"
+ line="170">Whether this uri clip represents a still image or not. This must be set
+before create_track_elements is called.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </property>
+ <property name="mute"
+ writable="1"
+ construct="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-clip.c"
+ line="161">Whether the sound will be played or not.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </property>
+ <property name="supported-formats"
+ writable="1"
+ construct="1"
+ transfer-ownership="none">
+ <type name="TrackType"/>
+ </property>
+ <property name="uri"
+ writable="1"
+ construct-only="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-clip.c"
+ line="152">The location of the file/resource to use.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </property>
+ <field name="parent">
+ <type name="SourceClip" c:type="GESSourceClip"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="UriClipPrivate" c:type="GESUriClipPrivate*"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <class name="UriClipAsset"
+ c:symbol-prefix="uri_clip_asset"
+ c:type="GESUriClipAsset"
+ parent="SourceClipAsset"
+ glib:type-name="GESUriClipAsset"
+ glib:get-type="ges_uri_clip_asset_get_type"
+ glib:type-struct="UriClipAssetClass">
+ <source-position filename="ges/ges-uri-asset.h" line="60"/>
+ <implements name="MetaContainer"/>
+ <implements name="Gio.AsyncInitable"/>
+ <implements name="Gio.Initable"/>
+ <function name="finish"
+ c:identifier="ges_uri_clip_asset_finish"
+ version="1.16"
+ throws="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-asset.c"
+ line="658">Finalize the request of an async #GESUriClipAsset</doc>
+ <source-position filename="ges/ges-uri-asset.h" line="76"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-asset.c"
+ line="665">The #GESUriClipAsset previously requested</doc>
+ <type name="UriClipAsset" c:type="GESUriClipAsset*"/>
+ </return-value>
+ <parameters>
+ <parameter name="res" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-asset.c"
+ line="660">The #GAsyncResult from which to get the newly created #GESUriClipAsset</doc>
+ <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="new" c:identifier="ges_uri_clip_asset_new">
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-asset.c"
+ line="614">Creates a #GESUriClipAsset for @uri
+
+Example of request of a GESUriClipAsset:
+|[
+// The request callback
+static void
+filesource_asset_loaded_cb (GESAsset * source, GAsyncResult * res, gpointer user_data)
+{
+ GError *error = NULL;
+ GESUriClipAsset *filesource_asset;
+
+ filesource_asset = ges_uri_clip_asset_finish (res, &amp;error);
+ if (filesource_asset) {
+ g_print ("The file: %s is usable as a FileSource, it is%s an image and lasts %" GST_TIME_FORMAT,
+ ges_asset_get_id (GES_ASSET (filesource_asset))
+ ges_uri_clip_asset_is_image (filesource_asset) ? "" : " not",
+ GST_TIME_ARGS (ges_uri_clip_asset_get_duration (filesource_asset));
+ } else {
+ g_print ("The file: %s is *not* usable as a FileSource because: %s",
+ ges_asset_get_id (source), error-&gt;message);
+ }
+
+ gst_object_unref (mfs);
+}
+
+// The request:
+ges_uri_clip_asset_new (uri, (GAsyncReadyCallback) filesource_asset_loaded_cb, user_data);
+]|</doc>
+ <source-position filename="ges/ges-uri-asset.h" line="71"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="uri" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-asset.c"
+ line="616">The URI of the file for which to create a #GESUriClipAsset</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="cancellable"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-asset.c"
+ line="617">optional %GCancellable object, %NULL to ignore.</doc>
+ <type name="Gio.Cancellable" c:type="GCancellable*"/>
+ </parameter>
+ <parameter name="callback"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1"
+ scope="async"
+ closure="3">
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-asset.c"
+ line="618">a #GAsyncReadyCallback to call when the initialization is finished</doc>
+ <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-asset.c"
+ line="619">The user data to pass when @callback is called</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="request_sync"
+ c:identifier="ges_uri_clip_asset_request_sync"
+ throws="1">
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-asset.c"
+ line="684">Creates a #GESUriClipAsset for @uri syncronously. You should avoid
+to use it in application, and rather create #GESUriClipAsset asynchronously</doc>
+ <source-position filename="ges/ges-uri-asset.h" line="78"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-asset.c"
+ line="693">A reference to the requested asset or %NULL if
+an error happened</doc>
+ <type name="UriClipAsset" c:type="GESUriClipAsset*"/>
+ </return-value>
+ <parameters>
+ <parameter name="uri" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-asset.c"
+ line="686">The URI of the file for which to create a #GESUriClipAsset.
+You can also use multi file uris for #GESMultiFileSource.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <method name="get_duration"
+ c:identifier="ges_uri_clip_asset_get_duration">
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-asset.c"
+ line="560">Gets duration of the file represented by @self</doc>
+ <source-position filename="ges/ges-uri-asset.h" line="65"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-asset.c"
+ line="566">The duration of @self</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-asset.c"
+ line="562">a #GESUriClipAsset</doc>
+ <type name="UriClipAsset" c:type="GESUriClipAsset*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_info" c:identifier="ges_uri_clip_asset_get_info">
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-asset.c"
+ line="544">Gets #GstDiscovererInfo about the file</doc>
+ <source-position filename="ges/ges-uri-asset.h" line="63"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-asset.c"
+ line="550">#GstDiscovererInfo of specified asset</doc>
+ <type name="GstPbutils.DiscovererInfo" c:type="GstDiscovererInfo*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-asset.c"
+ line="546">Target asset</doc>
+ <type name="UriClipAsset" c:type="const GESUriClipAsset*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_max_duration"
+ c:identifier="ges_uri_clip_asset_get_max_duration"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-asset.c"
+ line="577">Gets maximum duration of the file represented by @self,
+it is usually the same as GESUriClipAsset::duration,
+but in the case of nested timelines, for example, they
+are different as those can be extended 'infinitely'.</doc>
+ <source-position filename="ges/ges-uri-asset.h" line="67"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-asset.c"
+ line="586">The maximum duration of @self</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-asset.c"
+ line="579">a #GESUriClipAsset</doc>
+ <type name="UriClipAsset" c:type="GESUriClipAsset*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_stream_assets"
+ c:identifier="ges_uri_clip_asset_get_stream_assets">
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-asset.c"
+ line="759">Get the GESUriSourceAsset @self containes</doc>
+ <source-position filename="ges/ges-uri-asset.h" line="83"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-asset.c"
+ line="765">a
+#GList of #GESUriSourceAsset</doc>
+ <type name="GLib.List" c:type="const GList*">
+ <type name="UriSourceAsset"/>
+ </type>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-asset.c"
+ line="761">A #GESUriClipAsset</doc>
+ <type name="UriClipAsset" c:type="GESUriClipAsset*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="is_image" c:identifier="ges_uri_clip_asset_is_image">
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-asset.c"
+ line="598">Gets Whether the file represented by @self is an image or not</doc>
+ <source-position filename="ges/ges-uri-asset.h" line="69"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-asset.c"
+ line="604">Whether the file represented by @self is an image or not</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-asset.c"
+ line="600">a #GESUriClipAsset</doc>
+ <type name="UriClipAsset" c:type="GESUriClipAsset*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <property name="duration" writable="1" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-asset.c"
+ line="318">The duration (in nanoseconds) of the media file</doc>
+ <type name="guint64" c:type="guint64"/>
+ </property>
+ <property name="is-nested-timeline"
+ version="1.18"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-asset.c"
+ line="329">The duration (in nanoseconds) of the media file</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </property>
+ <field name="parent">
+ <type name="SourceClipAsset" c:type="GESSourceClipAsset"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="UriClipAssetPrivate" c:type="GESUriClipAssetPrivate*"/>
+ </field>
+ <field name="__ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="UriClipAssetClass"
+ c:type="GESUriClipAssetClass"
+ glib:is-gtype-struct-for="UriClipAsset">
+ <source-position filename="ges/ges-uri-asset.h" line="60"/>
+ <field name="parent_class">
+ <type name="SourceClipAssetClass" c:type="GESSourceClipAssetClass"/>
+ </field>
+ <field name="discoverer" readable="0" private="1">
+ <type name="GstPbutils.Discoverer" c:type="GstDiscoverer*"/>
+ </field>
+ <field name="sync_discoverer" readable="0" private="1">
+ <type name="GstPbutils.Discoverer" c:type="GstDiscoverer*"/>
+ </field>
+ <field name="discovered">
+ <callback name="discovered">
+ <source-position filename="ges/ges-uri-asset.h" line="54"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="discoverer" transfer-ownership="none">
+ <type name="GstPbutils.Discoverer" c:type="GstDiscoverer*"/>
+ </parameter>
+ <parameter name="info" transfer-ownership="none">
+ <type name="GstPbutils.DiscovererInfo"
+ c:type="GstDiscovererInfo*"/>
+ </parameter>
+ <parameter name="err" transfer-ownership="none">
+ <type name="GLib.Error" c:type="GError*"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1"
+ closure="3">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="3">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <method name="set_timeout"
+ c:identifier="ges_uri_clip_asset_class_set_timeout">
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-asset.c"
+ line="734">Sets the timeout of #GESUriClipAsset loading</doc>
+ <source-position filename="ges/ges-uri-asset.h" line="80"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="klass" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-asset.c"
+ line="736">The #GESUriClipAssetClass on which to set the discoverer timeout</doc>
+ <type name="UriClipAssetClass" c:type="GESUriClipAssetClass*"/>
+ </instance-parameter>
+ <parameter name="timeout" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-asset.c"
+ line="737">The timeout to set</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ </record>
+ <record name="UriClipAssetPrivate"
+ c:type="GESUriClipAssetPrivate"
+ disguised="1">
+ <source-position filename="ges/ges-uri-asset.h" line="33"/>
+ </record>
+ <record name="UriClipClass"
+ c:type="GESUriClipClass"
+ glib:is-gtype-struct-for="UriClip">
+ <source-position filename="ges/ges-uri-clip.h" line="53"/>
+ <field name="parent_class" readable="0" private="1">
+ <type name="SourceClipClass" c:type="GESSourceClipClass"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="UriClipPrivate" c:type="GESUriClipPrivate" disguised="1">
+ <source-position filename="ges/ges-uri-clip.h" line="31"/>
+ </record>
+ <class name="UriSourceAsset"
+ c:symbol-prefix="uri_source_asset"
+ c:type="GESUriSourceAsset"
+ parent="TrackElementAsset"
+ glib:type-name="GESUriSourceAsset"
+ glib:get-type="ges_uri_source_asset_get_type"
+ glib:type-struct="UriSourceAssetClass">
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-asset.h"
+ line="88">Asset to create a stream specific #GESSource for a media file.
+
+NOTE: You should never request such a #GESAsset as they will be created automatically
+by #GESUriClipAsset-s.</doc>
+ <source-position filename="ges/ges-uri-asset.h" line="112"/>
+ <implements name="MetaContainer"/>
+ <implements name="Gio.AsyncInitable"/>
+ <implements name="Gio.Initable"/>
+ <method name="get_filesource_asset"
+ c:identifier="ges_uri_source_asset_get_filesource_asset">
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-asset.c"
+ line="877">Get the #GESUriClipAsset @self is contained in</doc>
+ <source-position filename="ges/ges-uri-asset.h" line="118"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-asset.c"
+ line="883">a #GESUriClipAsset</doc>
+ <type name="UriClipAsset" c:type="const GESUriClipAsset*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="asset" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-asset.c"
+ line="879">A #GESUriClipAsset</doc>
+ <type name="UriSourceAsset" c:type="GESUriSourceAsset*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_stream_info"
+ c:identifier="ges_uri_source_asset_get_stream_info">
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-asset.c"
+ line="853">Get the #GstDiscovererStreamInfo user by @asset</doc>
+ <source-position filename="ges/ges-uri-asset.h" line="114"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-asset.c"
+ line="859">a #GESUriClipAsset</doc>
+ <type name="GstPbutils.DiscovererStreamInfo"
+ c:type="GstDiscovererStreamInfo*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="asset" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-asset.c"
+ line="855">A #GESUriClipAsset</doc>
+ <type name="UriSourceAsset" c:type="GESUriSourceAsset*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_stream_uri"
+ c:identifier="ges_uri_source_asset_get_stream_uri">
+ <source-position filename="ges/ges-uri-asset.h" line="116"/>
+ <return-value transfer-ownership="none">
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="asset" transfer-ownership="none">
+ <type name="UriSourceAsset" c:type="GESUriSourceAsset*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="is_image" c:identifier="ges_uri_source_asset_is_image">
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-asset.c"
+ line="893">Check if @asset contains a single image</doc>
+ <source-position filename="ges/ges-uri-asset.h" line="120"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-asset.c"
+ line="899">%TRUE if the video stream corresponds to an image (i.e. only
+contains one frame)</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="asset" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-uri-asset.c"
+ line="895">A #GESUriClipAsset</doc>
+ <type name="UriSourceAsset" c:type="GESUriSourceAsset*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <field name="parent">
+ <type name="TrackElementAsset" c:type="GESTrackElementAsset"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="UriSourceAssetPrivate" c:type="GESUriSourceAssetPrivate*"/>
+ </field>
+ <field name="__ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="UriSourceAssetClass"
+ c:type="GESUriSourceAssetClass"
+ glib:is-gtype-struct-for="UriSourceAsset">
+ <source-position filename="ges/ges-uri-asset.h" line="112"/>
+ <field name="parent_class">
+ <type name="TrackElementAssetClass"
+ c:type="GESTrackElementAssetClass"/>
+ </field>
+ <field name="_ges_reserved">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="UriSourceAssetPrivate"
+ c:type="GESUriSourceAssetPrivate"
+ disguised="1">
+ <source-position filename="ges/ges-uri-asset.h" line="86"/>
+ </record>
+ <class name="VideoSource"
+ c:symbol-prefix="video_source"
+ c:type="GESVideoSource"
+ parent="Source"
+ abstract="1"
+ glib:type-name="GESVideoSource"
+ glib:get-type="ges_video_source_get_type"
+ glib:type-struct="VideoSourceClass">
+ <doc xml:space="preserve"
+ filename="ges/ges-video-source.h"
+ line="34">Base class for video sources</doc>
+ <source-position filename="ges/ges-video-source.h" line="75"/>
+ <implements name="Extractable"/>
+ <implements name="MetaContainer"/>
+ <method name="get_natural_size"
+ c:identifier="ges_video_source_get_natural_size">
+ <doc xml:space="preserve"
+ filename="ges/ges-video-source.c"
+ line="243">Retrieves the natural size of the video stream. The natural size, is
+the size at which it will be displayed if no scaling is being applied.
+
+NOTE: The sources take into account the potential video rotation applied
+by the #videoflip element that is inside the source, effects applied on
+the clip which potentially also rotate the element are not taken into
+account.</doc>
+ <source-position filename="ges/ges-video-source.h" line="78"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-video-source.c"
+ line="257">%TRUE if the object has a natural size, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-video-source.c"
+ line="245">A #GESVideoSource</doc>
+ <type name="VideoSource" c:type="GESVideoSource*"/>
+ </instance-parameter>
+ <parameter name="width"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="ges/ges-video-source.c"
+ line="246">The natural width of the underlying source</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ <parameter name="height"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="ges/ges-video-source.c"
+ line="247">The natural height of the underlying source</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <field name="parent" readable="0" private="1">
+ <type name="Source" c:type="GESSource"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="VideoSourcePrivate" c:type="GESVideoSourcePrivate*"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="VideoSourceClass"
+ c:type="GESVideoSourceClass"
+ glib:is-gtype-struct-for="VideoSource">
+ <source-position filename="ges/ges-video-source.h" line="75"/>
+ <field name="parent_class" readable="0" private="1">
+ <type name="SourceClass" c:type="GESSourceClass"/>
+ </field>
+ <field name="create_source" introspectable="0">
+ <callback name="create_source" introspectable="0">
+ <source-position filename="ges/ges-video-source.h" line="62"/>
+ <return-value>
+ <type name="Gst.Element" c:type="GstElement*"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <type name="TrackElement" c:type="GESTrackElement*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <union name="ABI" c:type="ABI">
+ <source-position filename="ges/ges-video-source.h" line="74"/>
+ <field name="_ges_reserved" writable="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <record name="abi" c:type="abi">
+ <source-position filename="ges/ges-video-source.h" line="73"/>
+ <field name="disable_scale_in_compositor" writable="1">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="needs_converters">
+ <callback name="needs_converters">
+ <source-position filename="ges/ges-video-source.h" line="70"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <type name="VideoSource" c:type="GESVideoSource*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="get_natural_size">
+ <callback name="get_natural_size">
+ <source-position filename="ges/ges-video-source.h" line="71"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <type name="VideoSource" c:type="GESVideoSource*"/>
+ </parameter>
+ <parameter name="width" transfer-ownership="none">
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ <parameter name="height" transfer-ownership="none">
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="create_filters" introspectable="0">
+ <callback name="create_filters" introspectable="0">
+ <source-position filename="ges/ges-video-source.h" line="72"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <type name="VideoSource" c:type="GESVideoSource*"/>
+ </parameter>
+ <parameter name="filters" transfer-ownership="none">
+ <array name="GLib.PtrArray" c:type="GPtrArray*">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </parameter>
+ <parameter name="needs_converters" transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ </record>
+ </union>
+ </record>
+ <record name="VideoSourcePrivate"
+ c:type="GESVideoSourcePrivate"
+ disguised="1">
+ <source-position filename="ges/ges-video-source.h" line="32"/>
+ </record>
+ <enumeration name="VideoStandardTransitionType"
+ glib:type-name="GESVideoStandardTransitionType"
+ glib:get-type="ges_video_standard_transition_type_get_type"
+ c:type="GESVideoStandardTransitionType">
+ <member name="none"
+ value="0"
+ c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_NONE"
+ glib:nick="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="74">Transition type has not been set,</doc>
+ </member>
+ <member name="bar_wipe_lr"
+ value="1"
+ c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_BAR_WIPE_LR"
+ glib:nick="bar-wipe-lr">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="75">A bar moves from left to right,</doc>
+ </member>
+ <member name="bar_wipe_tb"
+ value="2"
+ c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_BAR_WIPE_TB"
+ glib:nick="bar-wipe-tb">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="76">A bar moves from top to bottom,</doc>
+ </member>
+ <member name="box_wipe_tl"
+ value="3"
+ c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_TL"
+ glib:nick="box-wipe-tl">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="77">A box expands from the upper-left corner to the lower-right corner,</doc>
+ </member>
+ <member name="box_wipe_tr"
+ value="4"
+ c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_TR"
+ glib:nick="box-wipe-tr">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="78">A box expands from the upper-right corner to the lower-left corner,</doc>
+ </member>
+ <member name="box_wipe_br"
+ value="5"
+ c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_BR"
+ glib:nick="box-wipe-br">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="79">A box expands from the lower-right corner to the upper-left corner,</doc>
+ </member>
+ <member name="box_wipe_bl"
+ value="6"
+ c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_BL"
+ glib:nick="box-wipe-bl">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="80">A box expands from the lower-left corner to the upper-right corner,</doc>
+ </member>
+ <member name="four_box_wipe_ci"
+ value="7"
+ c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_FOUR_BOX_WIPE_CI"
+ glib:nick="four-box-wipe-ci">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="81">A box shape expands from each of the four corners toward the center,</doc>
+ </member>
+ <member name="four_box_wipe_co"
+ value="8"
+ c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_FOUR_BOX_WIPE_CO"
+ glib:nick="four-box-wipe-co">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="82">A box shape expands from the center of each quadrant toward the corners of each quadrant,</doc>
+ </member>
+ <member name="barndoor_v"
+ value="21"
+ c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNDOOR_V"
+ glib:nick="barndoor-v">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="83">A central, vertical line splits and expands toward the left and right edges,</doc>
+ </member>
+ <member name="barndoor_h"
+ value="22"
+ c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNDOOR_H"
+ glib:nick="barndoor-h">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="84">A central, horizontal line splits and expands toward the top and bottom edges,</doc>
+ </member>
+ <member name="box_wipe_tc"
+ value="23"
+ c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_TC"
+ glib:nick="box-wipe-tc">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="85">A box expands from the top edge's midpoint to the bottom corners,</doc>
+ </member>
+ <member name="box_wipe_rc"
+ value="24"
+ c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_RC"
+ glib:nick="box-wipe-rc">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="86">A box expands from the right edge's midpoint to the left corners,</doc>
+ </member>
+ <member name="box_wipe_bc"
+ value="25"
+ c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_BC"
+ glib:nick="box-wipe-bc">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="87">A box expands from the bottom edge's midpoint to the top corners,</doc>
+ </member>
+ <member name="box_wipe_lc"
+ value="26"
+ c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_LC"
+ glib:nick="box-wipe-lc">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="88">A box expands from the left edge's midpoint to the right corners,</doc>
+ </member>
+ <member name="diagonal_tl"
+ value="41"
+ c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_DIAGONAL_TL"
+ glib:nick="diagonal-tl">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="89">A diagonal line moves from the upper-left corner to the lower-right corner,</doc>
+ </member>
+ <member name="diagonal_tr"
+ value="42"
+ c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_DIAGONAL_TR"
+ glib:nick="diagonal-tr">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="90">A diagonal line moves from the upper right corner to the lower-left corner,</doc>
+ </member>
+ <member name="bowtie_v"
+ value="43"
+ c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_BOWTIE_V"
+ glib:nick="bowtie-v">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="91">Two wedge shapes slide in from the top and bottom edges toward the center,</doc>
+ </member>
+ <member name="bowtie_h"
+ value="44"
+ c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_BOWTIE_H"
+ glib:nick="bowtie-h">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="92">Two wedge shapes slide in from the left and right edges toward the center,</doc>
+ </member>
+ <member name="barndoor_dbl"
+ value="45"
+ c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNDOOR_DBL"
+ glib:nick="barndoor-dbl">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="93">A diagonal line from the lower-left to upper-right corners splits and expands toward the opposite corners,</doc>
+ </member>
+ <member name="barndoor_dtl"
+ value="46"
+ c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNDOOR_DTL"
+ glib:nick="barndoor-dtl">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="94">A diagonal line from upper-left to lower-right corners splits and expands toward the opposite corners,</doc>
+ </member>
+ <member name="misc_diagonal_dbd"
+ value="47"
+ c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_MISC_DIAGONAL_DBD"
+ glib:nick="misc-diagonal-dbd">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="95">Four wedge shapes split from the center and retract toward the four edges,</doc>
+ </member>
+ <member name="misc_diagonal_dd"
+ value="48"
+ c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_MISC_DIAGONAL_DD"
+ glib:nick="misc-diagonal-dd">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="96">A diamond connecting the four edge midpoints simultaneously contracts toward the center and expands toward the edges,</doc>
+ </member>
+ <member name="vee_d"
+ value="61"
+ c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_VEE_D"
+ glib:nick="vee-d">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="97">A wedge shape moves from top to bottom,</doc>
+ </member>
+ <member name="vee_l"
+ value="62"
+ c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_VEE_L"
+ glib:nick="vee-l">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="98">A wedge shape moves from right to left,</doc>
+ </member>
+ <member name="vee_u"
+ value="63"
+ c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_VEE_U"
+ glib:nick="vee-u">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="99">A wedge shape moves from bottom to top,</doc>
+ </member>
+ <member name="vee_r"
+ value="64"
+ c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_VEE_R"
+ glib:nick="vee-r">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="100">A wedge shape moves from left to right,</doc>
+ </member>
+ <member name="barnvee_d"
+ value="65"
+ c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNVEE_D"
+ glib:nick="barnvee-d">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="101">A 'V' shape extending from the bottom edge's midpoint to the opposite corners contracts toward the center and expands toward the edges,</doc>
+ </member>
+ <member name="barnvee_l"
+ value="66"
+ c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNVEE_L"
+ glib:nick="barnvee-l">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="102">A 'V' shape extending from the left edge's midpoint to the opposite corners contracts toward the center and expands toward the edges,</doc>
+ </member>
+ <member name="barnvee_u"
+ value="67"
+ c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNVEE_U"
+ glib:nick="barnvee-u">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="103">A 'V' shape extending from the top edge's midpoint to the opposite corners contracts toward the center and expands toward the edges,</doc>
+ </member>
+ <member name="barnvee_r"
+ value="68"
+ c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNVEE_R"
+ glib:nick="barnvee-r">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="104">A 'V' shape extending from the right edge's midpoint to the opposite corners contracts toward the center and expands toward the edges,</doc>
+ </member>
+ <member name="iris_rect"
+ value="101"
+ c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_IRIS_RECT"
+ glib:nick="iris-rect">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="105">A rectangle expands from the center.,</doc>
+ </member>
+ <member name="clock_cw12"
+ value="201"
+ c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_CLOCK_CW12"
+ glib:nick="clock-cw12">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="106">A radial hand sweeps clockwise from the twelve o'clock position,</doc>
+ </member>
+ <member name="clock_cw3"
+ value="202"
+ c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_CLOCK_CW3"
+ glib:nick="clock-cw3">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="107">A radial hand sweeps clockwise from the three o'clock position,</doc>
+ </member>
+ <member name="clock_cw6"
+ value="203"
+ c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_CLOCK_CW6"
+ glib:nick="clock-cw6">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="108">A radial hand sweeps clockwise from the six o'clock position,</doc>
+ </member>
+ <member name="clock_cw9"
+ value="204"
+ c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_CLOCK_CW9"
+ glib:nick="clock-cw9">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="109">A radial hand sweeps clockwise from the nine o'clock position,</doc>
+ </member>
+ <member name="pinwheel_tbv"
+ value="205"
+ c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_PINWHEEL_TBV"
+ glib:nick="pinwheel-tbv">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="110">Two radial hands sweep clockwise from the twelve and six o'clock positions,</doc>
+ </member>
+ <member name="pinwheel_tbh"
+ value="206"
+ c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_PINWHEEL_TBH"
+ glib:nick="pinwheel-tbh">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="111">Two radial hands sweep clockwise from the nine and three o'clock positions,</doc>
+ </member>
+ <member name="pinwheel_fb"
+ value="207"
+ c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_PINWHEEL_FB"
+ glib:nick="pinwheel-fb">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="112">Four radial hands sweep clockwise,</doc>
+ </member>
+ <member name="fan_ct"
+ value="211"
+ c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_FAN_CT"
+ glib:nick="fan-ct">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="113">A fan unfolds from the top edge, the fan axis at the center,</doc>
+ </member>
+ <member name="fan_cr"
+ value="212"
+ c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_FAN_CR"
+ glib:nick="fan-cr">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="114">A fan unfolds from the right edge, the fan axis at the center,</doc>
+ </member>
+ <member name="doublefan_fov"
+ value="213"
+ c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLEFAN_FOV"
+ glib:nick="doublefan-fov">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="115">Two fans, their axes at the center, unfold from the top and bottom,</doc>
+ </member>
+ <member name="doublefan_foh"
+ value="214"
+ c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLEFAN_FOH"
+ glib:nick="doublefan-foh">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="116">Two fans, their axes at the center, unfold from the left and right,</doc>
+ </member>
+ <member name="singlesweep_cwt"
+ value="221"
+ c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWT"
+ glib:nick="singlesweep-cwt">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="117">A radial hand sweeps clockwise from the top edge's midpoint,</doc>
+ </member>
+ <member name="singlesweep_cwr"
+ value="222"
+ c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWR"
+ glib:nick="singlesweep-cwr">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="118">A radial hand sweeps clockwise from the right edge's midpoint,</doc>
+ </member>
+ <member name="singlesweep_cwb"
+ value="223"
+ c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWB"
+ glib:nick="singlesweep-cwb">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="119">A radial hand sweeps clockwise from the bottom edge's midpoint,</doc>
+ </member>
+ <member name="singlesweep_cwl"
+ value="224"
+ c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWL"
+ glib:nick="singlesweep-cwl">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="120">A radial hand sweeps clockwise from the left edge's midpoint,</doc>
+ </member>
+ <member name="doublesweep_pv"
+ value="225"
+ c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLESWEEP_PV"
+ glib:nick="doublesweep-pv">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="121">Two radial hands sweep clockwise and counter-clockwise from the top and bottom edges' midpoints,</doc>
+ </member>
+ <member name="doublesweep_pd"
+ value="226"
+ c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLESWEEP_PD"
+ glib:nick="doublesweep-pd">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="122">Two radial hands sweep clockwise and counter-clockwise from the left and right edges' midpoints,</doc>
+ </member>
+ <member name="doublesweep_ov"
+ value="227"
+ c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLESWEEP_OV"
+ glib:nick="doublesweep-ov">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="123">Two radial hands attached at the top and bottom edges' midpoints sweep from right to left,</doc>
+ </member>
+ <member name="doublesweep_oh"
+ value="228"
+ c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLESWEEP_OH"
+ glib:nick="doublesweep-oh">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="124">Two radial hands attached at the left and right edges' midpoints sweep from top to bottom,</doc>
+ </member>
+ <member name="fan_t"
+ value="231"
+ c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_FAN_T"
+ glib:nick="fan-t">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="125">A fan unfolds from the bottom, the fan axis at the top edge's midpoint,</doc>
+ </member>
+ <member name="fan_r"
+ value="232"
+ c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_FAN_R"
+ glib:nick="fan-r">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="126">A fan unfolds from the left, the fan axis at the right edge's midpoint,</doc>
+ </member>
+ <member name="fan_b"
+ value="233"
+ c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_FAN_B"
+ glib:nick="fan-b">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="127">A fan unfolds from the top, the fan axis at the bottom edge's midpoint,</doc>
+ </member>
+ <member name="fan_l"
+ value="234"
+ c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_FAN_L"
+ glib:nick="fan-l">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="128">A fan unfolds from the right, the fan axis at the left edge's midpoint,</doc>
+ </member>
+ <member name="doublefan_fiv"
+ value="235"
+ c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLEFAN_FIV"
+ glib:nick="doublefan-fiv">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="129">Two fans, their axes at the top and bottom, unfold from the center,</doc>
+ </member>
+ <member name="doublefan_fih"
+ value="236"
+ c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLEFAN_FIH"
+ glib:nick="doublefan-fih">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="130">Two fans, their axes at the left and right, unfold from the center,</doc>
+ </member>
+ <member name="singlesweep_cwtl"
+ value="241"
+ c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWTL"
+ glib:nick="singlesweep-cwtl">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="131">A radial hand sweeps clockwise from the upper-left corner,</doc>
+ </member>
+ <member name="singlesweep_cwbl"
+ value="242"
+ c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWBL"
+ glib:nick="singlesweep-cwbl">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="132">A radial hand sweeps counter-clockwise from the lower-left corner.,</doc>
+ </member>
+ <member name="singlesweep_cwbr"
+ value="243"
+ c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWBR"
+ glib:nick="singlesweep-cwbr">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="133">A radial hand sweeps clockwise from the lower-right corner,</doc>
+ </member>
+ <member name="singlesweep_cwtr"
+ value="244"
+ c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWTR"
+ glib:nick="singlesweep-cwtr">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="134">A radial hand sweeps counter-clockwise from the upper-right corner,</doc>
+ </member>
+ <member name="doublesweep_pdtl"
+ value="245"
+ c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLESWEEP_PDTL"
+ glib:nick="doublesweep-pdtl">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="135">Two radial hands attached at the upper-left and lower-right corners sweep down and up,</doc>
+ </member>
+ <member name="doublesweep_pdbl"
+ value="246"
+ c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLESWEEP_PDBL"
+ glib:nick="doublesweep-pdbl">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="136">Two radial hands attached at the lower-left and upper-right corners sweep down and up,</doc>
+ </member>
+ <member name="saloondoor_t"
+ value="251"
+ c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_SALOONDOOR_T"
+ glib:nick="saloondoor-t">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="137">Two radial hands attached at the upper-left and upper-right corners sweep down,</doc>
+ </member>
+ <member name="saloondoor_l"
+ value="252"
+ c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_SALOONDOOR_L"
+ glib:nick="saloondoor-l">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="138">Two radial hands attached at the upper-left and lower-left corners sweep to the right,</doc>
+ </member>
+ <member name="saloondoor_b"
+ value="253"
+ c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_SALOONDOOR_B"
+ glib:nick="saloondoor-b">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="139">Two radial hands attached at the lower-left and lower-right corners sweep up,</doc>
+ </member>
+ <member name="saloondoor_r"
+ value="254"
+ c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_SALOONDOOR_R"
+ glib:nick="saloondoor-r">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="140">Two radial hands attached at the upper-right and lower-right corners sweep to the left,</doc>
+ </member>
+ <member name="windshield_r"
+ value="261"
+ c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_WINDSHIELD_R"
+ glib:nick="windshield-r">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="141">Two radial hands attached at the midpoints of the top and bottom halves sweep from right to left,</doc>
+ </member>
+ <member name="windshield_u"
+ value="262"
+ c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_WINDSHIELD_U"
+ glib:nick="windshield-u">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="142">Two radial hands attached at the midpoints of the left and right halves sweep from top to bottom,</doc>
+ </member>
+ <member name="windshield_v"
+ value="263"
+ c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_WINDSHIELD_V"
+ glib:nick="windshield-v">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="143">Two sets of radial hands attached at the midpoints of the top and bottom halves sweep from top to bottom and bottom to top,</doc>
+ </member>
+ <member name="windshield_h"
+ value="264"
+ c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_WINDSHIELD_H"
+ glib:nick="windshield-h">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="144">Two sets of radial hands attached at the midpoints of the left and right halves sweep from left to right and right to left,</doc>
+ </member>
+ <member name="crossfade"
+ value="512"
+ c:identifier="GES_VIDEO_STANDARD_TRANSITION_TYPE_CROSSFADE"
+ glib:nick="crossfade">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="145">Crossfade</doc>
+ </member>
+ </enumeration>
+ <enumeration name="VideoTestPattern"
+ glib:type-name="GESVideoTestPattern"
+ glib:get-type="ges_video_test_pattern_get_type"
+ c:type="GESVideoTestPattern">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="282">The test pattern to produce</doc>
+ <member name="smpte"
+ value="0"
+ c:identifier="GES_VIDEO_TEST_PATTERN_SMPTE"
+ glib:nick="smpte">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="284">A standard SMPTE test pattern</doc>
+ </member>
+ <member name="snow"
+ value="1"
+ c:identifier="GES_VIDEO_TEST_PATTERN_SNOW"
+ glib:nick="snow">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="285">Random noise</doc>
+ </member>
+ <member name="black"
+ value="2"
+ c:identifier="GES_VIDEO_TEST_PATTERN_BLACK"
+ glib:nick="black">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="286">A black image</doc>
+ </member>
+ <member name="white"
+ value="3"
+ c:identifier="GES_VIDEO_TEST_PATTERN_WHITE"
+ glib:nick="white">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="287">A white image</doc>
+ </member>
+ <member name="red"
+ value="4"
+ c:identifier="GES_VIDEO_TEST_PATTERN_RED"
+ glib:nick="red">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="288">A red image</doc>
+ </member>
+ <member name="green"
+ value="5"
+ c:identifier="GES_VIDEO_TEST_PATTERN_GREEN"
+ glib:nick="green">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="289">A green image</doc>
+ </member>
+ <member name="blue"
+ value="6"
+ c:identifier="GES_VIDEO_TEST_PATTERN_BLUE"
+ glib:nick="blue">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="290">A blue image</doc>
+ </member>
+ <member name="checkers_1"
+ value="7"
+ c:identifier="GES_VIDEO_TEST_PATTERN_CHECKERS1"
+ glib:nick="checkers-1">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="291">Checkers pattern (1px)</doc>
+ </member>
+ <member name="checkers_2"
+ value="8"
+ c:identifier="GES_VIDEO_TEST_PATTERN_CHECKERS2"
+ glib:nick="checkers-2">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="292">Checkers pattern (2px)</doc>
+ </member>
+ <member name="checkers_4"
+ value="9"
+ c:identifier="GES_VIDEO_TEST_PATTERN_CHECKERS4"
+ glib:nick="checkers-4">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="293">Checkers pattern (4px)</doc>
+ </member>
+ <member name="checkers_8"
+ value="10"
+ c:identifier="GES_VIDEO_TEST_PATTERN_CHECKERS8"
+ glib:nick="checkers-8">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="294">Checkers pattern (8px)</doc>
+ </member>
+ <member name="circular"
+ value="11"
+ c:identifier="GES_VIDEO_TEST_PATTERN_CIRCULAR"
+ glib:nick="circular">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="295">Circular pattern</doc>
+ </member>
+ <member name="blink"
+ value="12"
+ c:identifier="GES_VIDEO_TEST_PATTERN_BLINK"
+ glib:nick="blink">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="297">Alternate between black and white</doc>
+ </member>
+ <member name="smpte75"
+ value="13"
+ c:identifier="GES_VIDEO_TEST_PATTERN_SMPTE75"
+ glib:nick="smpte75">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="301">SMPTE test pattern (75% color bars)</doc>
+ </member>
+ <member name="zone_plate"
+ value="14"
+ c:identifier="GES_VIDEO_TEST_ZONE_PLATE"
+ glib:nick="zone-plate">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="298">Zone plate</doc>
+ </member>
+ <member name="gamut"
+ value="15"
+ c:identifier="GES_VIDEO_TEST_GAMUT"
+ glib:nick="gamut">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="299">Gamut checkers</doc>
+ </member>
+ <member name="chroma_zone_plate"
+ value="16"
+ c:identifier="GES_VIDEO_TEST_CHROMA_ZONE_PLATE"
+ glib:nick="chroma-zone-plate">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="300">Chroma zone plate</doc>
+ </member>
+ <member name="solid_color"
+ value="17"
+ c:identifier="GES_VIDEO_TEST_PATTERN_SOLID"
+ glib:nick="solid-color">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="296">Solid color</doc>
+ </member>
+ </enumeration>
+ <class name="VideoTestSource"
+ c:symbol-prefix="video_test_source"
+ c:type="GESVideoTestSource"
+ parent="VideoSource"
+ glib:type-name="GESVideoTestSource"
+ glib:get-type="ges_video_test_source_get_type"
+ glib:type-struct="VideoTestSourceClass">
+ <doc xml:space="preserve"
+ filename="ges/ges-video-test-source.h"
+ line="35">### Children Properties
+
+ {{ libs/GESVideoTestSource-children-props.md }}</doc>
+ <source-position filename="ges/ges-video-test-source.h" line="57"/>
+ <implements name="Extractable"/>
+ <implements name="MetaContainer"/>
+ <method name="get_pattern"
+ c:identifier="ges_video_test_source_get_pattern">
+ <doc xml:space="preserve"
+ filename="ges/ges-video-test-source.c"
+ line="291">Get the video pattern used by the @source.</doc>
+ <source-position filename="ges/ges-video-test-source.h" line="63"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-video-test-source.c"
+ line="297">The video pattern used by the @source.</doc>
+ <type name="VideoTestPattern" c:type="GESVideoTestPattern"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="source" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-video-test-source.c"
+ line="293">a #GESVideoTestPattern</doc>
+ <type name="VideoTestSource" c:type="GESVideoTestSource*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="set_pattern"
+ c:identifier="ges_video_test_source_set_pattern">
+ <doc xml:space="preserve"
+ filename="ges/ges-video-test-source.c"
+ line="265">Sets the source to use the given @pattern.</doc>
+ <source-position filename="ges/ges-video-test-source.h" line="60"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-video-test-source.c"
+ line="267">a #GESVideoTestSource</doc>
+ <type name="VideoTestSource" c:type="GESVideoTestSource*"/>
+ </instance-parameter>
+ <parameter name="pattern" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-video-test-source.c"
+ line="268">a #GESVideoTestPattern</doc>
+ <type name="VideoTestPattern" c:type="GESVideoTestPattern"/>
+ </parameter>
+ </parameters>
+ </method>
+ <field name="parent" readable="0" private="1">
+ <type name="VideoSource" c:type="GESVideoSource"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="VideoTestSourcePrivate"
+ c:type="GESVideoTestSourcePrivate*"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="VideoTestSourceClass"
+ c:type="GESVideoTestSourceClass"
+ glib:is-gtype-struct-for="VideoTestSource">
+ <source-position filename="ges/ges-video-test-source.h" line="57"/>
+ <field name="parent_class">
+ <type name="VideoSourceClass" c:type="GESVideoSourceClass"/>
+ </field>
+ <field name="_ges_reserved">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="VideoTestSourcePrivate"
+ c:type="GESVideoTestSourcePrivate"
+ disguised="1">
+ <source-position filename="ges/ges-video-test-source.h" line="33"/>
+ </record>
+ <class name="VideoTrack"
+ c:symbol-prefix="video_track"
+ c:type="GESVideoTrack"
+ parent="Track"
+ glib:type-name="GESVideoTrack"
+ glib:get-type="ges_video_track_get_type"
+ glib:type-struct="VideoTrackClass">
+ <doc xml:space="preserve"
+ filename="ges/ges-video-track.c"
+ line="20">A #GESVideoTrack is a default video #GESTrack, with a
+#GES_TRACK_TYPE_VIDEO #GESTrack:track-type and "video/x-raw(ANY)"
+#GESTrack:caps.
+
+By default, a video track will have its #GESTrack:restriction-caps
+set to "video/x-raw" with the following properties:
+
+- width: 1280
+- height: 720
+- framerate: 30/1
+
+These fields are needed for negotiation purposes, but you can change
+their values if you wish. It is advised that you do so using
+ges_track_update_restriction_caps() with new values for the fields you
+wish to change, and any additional fields you may want to add. Unlike
+using ges_track_set_restriction_caps(), this will ensure that these
+default fields will at least have some value set.</doc>
+ <source-position filename="ges/ges-video-track.h" line="37"/>
+ <implements name="MetaContainer"/>
+ <implements name="Gst.ChildProxy"/>
+ <constructor name="new" c:identifier="ges_video_track_new">
+ <doc xml:space="preserve"
+ filename="ges/ges-video-track.c"
+ line="155">Creates a new video track, with a #GES_TRACK_TYPE_VIDEO
+#GESTrack:track-type and "video/x-raw(ANY)" #GESTrack:caps, and
+"video/x-raw" #GESTrack:restriction-caps with the properties:
+
+- width: 1280
+- height: 720
+- framerate: 30/1
+
+You should use ges_track_update_restriction_caps() if you wish to
+modify these fields, or add additional ones.</doc>
+ <source-position filename="ges/ges-video-track.h" line="51"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-video-track.c"
+ line="169">The newly created video track.</doc>
+ <type name="VideoTrack" c:type="GESVideoTrack*"/>
+ </return-value>
+ </constructor>
+ <field name="parent_instance">
+ <type name="Track" c:type="GESTrack"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="VideoTrackPrivate" c:type="GESVideoTrackPrivate*"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="VideoTrackClass"
+ c:type="GESVideoTrackClass"
+ glib:is-gtype-struct-for="VideoTrack">
+ <source-position filename="ges/ges-video-track.h" line="37"/>
+ <field name="parent_class">
+ <type name="TrackClass" c:type="GESTrackClass"/>
+ </field>
+ <field name="_ges_reserved">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="VideoTrackPrivate"
+ c:type="GESVideoTrackPrivate"
+ disguised="1">
+ <source-position filename="ges/ges-video-track.h" line="29"/>
+ </record>
+ <class name="VideoTransition"
+ c:symbol-prefix="video_transition"
+ c:type="GESVideoTransition"
+ parent="Transition"
+ glib:type-name="GESVideoTransition"
+ glib:get-type="ges_video_transition_get_type"
+ glib:type-struct="VideoTransitionClass">
+ <source-position filename="ges/ges-video-transition.h" line="59"/>
+ <implements name="Extractable"/>
+ <implements name="MetaContainer"/>
+ <constructor name="new" c:identifier="ges_video_transition_new">
+ <source-position filename="ges/ges-video-transition.h" line="62"/>
+ <return-value transfer-ownership="none">
+ <type name="VideoTransition" c:type="GESVideoTransition*"/>
+ </return-value>
+ </constructor>
+ <method name="get_border" c:identifier="ges_video_transition_get_border">
+ <doc xml:space="preserve"
+ filename="ges/ges-video-transition.c"
+ line="577">Get the border property of @self, this value represents
+the border width of the transition.</doc>
+ <source-position filename="ges/ges-video-transition.h" line="74"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-video-transition.c"
+ line="584">The border values of @self or -1 if not meaningful
+(this will happen when not using a smpte transition).</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-video-transition.c"
+ line="579">The #GESVideoTransition to get the border from</doc>
+ <type name="VideoTransition" c:type="GESVideoTransition*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_transition_type"
+ c:identifier="ges_video_transition_get_transition_type">
+ <doc xml:space="preserve"
+ filename="ges/ges-video-transition.c"
+ line="662">Get the transition type used by @trans.</doc>
+ <source-position filename="ges/ges-video-transition.h" line="68"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-video-transition.c"
+ line="668">The transition type used by @trans.</doc>
+ <type name="VideoStandardTransitionType"
+ c:type="GESVideoStandardTransitionType"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="trans" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-video-transition.c"
+ line="664">a #GESVideoTransition</doc>
+ <type name="VideoTransition" c:type="GESVideoTransition*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="is_inverted"
+ c:identifier="ges_video_transition_is_inverted">
+ <doc xml:space="preserve"
+ filename="ges/ges-video-transition.c"
+ line="619">Get the invert property of @self, this value represents
+the direction of the transition.</doc>
+ <source-position filename="ges/ges-video-transition.h" line="80"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-video-transition.c"
+ line="626">The invert value of @self</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-video-transition.c"
+ line="621">The #GESVideoTransition to get the inversion from</doc>
+ <type name="VideoTransition" c:type="GESVideoTransition*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="set_border" c:identifier="ges_video_transition_set_border">
+ <doc xml:space="preserve"
+ filename="ges/ges-video-transition.c"
+ line="559">Set the border property of @self, this value represents
+the border width of the transition. In case this value does
+not make sense for the current transition type, it is cached
+for later use.</doc>
+ <source-position filename="ges/ges-video-transition.h" line="71"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-video-transition.c"
+ line="561">The #GESVideoTransition to set the border to</doc>
+ <type name="VideoTransition" c:type="GESVideoTransition*"/>
+ </instance-parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-video-transition.c"
+ line="562">The value of the border to set on @object</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_inverted"
+ c:identifier="ges_video_transition_set_inverted">
+ <doc xml:space="preserve"
+ filename="ges/ges-video-transition.c"
+ line="601">Set the invert property of @self, this value represents
+the direction of the transition. In case this value does
+not make sense for the current transition type, it is cached
+for later use.</doc>
+ <source-position filename="ges/ges-video-transition.h" line="77"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-video-transition.c"
+ line="603">The #GESVideoTransition to set invert on</doc>
+ <type name="VideoTransition" c:type="GESVideoTransition*"/>
+ </instance-parameter>
+ <parameter name="inverted" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-video-transition.c"
+ line="604">%TRUE if the transition should be inverted %FALSE otherwise</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_transition_type"
+ c:identifier="ges_video_transition_set_transition_type">
+ <doc xml:space="preserve"
+ filename="ges/ges-video-transition.c"
+ line="642">Sets the transition being used to @type.</doc>
+ <source-position filename="ges/ges-video-transition.h" line="65"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-video-transition.c"
+ line="649">%TRUE if the transition type was properly changed, else %FALSE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-video-transition.c"
+ line="644">a #GESVideoTransition</doc>
+ <type name="VideoTransition" c:type="GESVideoTransition*"/>
+ </instance-parameter>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-video-transition.c"
+ line="645">a #GESVideoStandardTransitionType</doc>
+ <type name="VideoStandardTransitionType"
+ c:type="GESVideoStandardTransitionType"/>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="border" writable="1" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-video-transition.c"
+ line="153">This value represents the border width of the transition.</doc>
+ <type name="guint" c:type="guint"/>
+ </property>
+ <property name="invert" writable="1" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-video-transition.c"
+ line="178">This value represents the direction of the transition.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </property>
+ <property name="transition-type" writable="1" transfer-ownership="none">
+ <type name="VideoStandardTransitionType"/>
+ </property>
+ <field name="parent">
+ <type name="Transition" c:type="GESTransition"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="VideoTransitionPrivate"
+ c:type="GESVideoTransitionPrivate*"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="VideoTransitionClass"
+ c:type="GESVideoTransitionClass"
+ glib:is-gtype-struct-for="VideoTransition">
+ <source-position filename="ges/ges-video-transition.h" line="59"/>
+ <field name="parent_class">
+ <doc xml:space="preserve"
+ filename="ges/ges-video-transition.h"
+ line="49">parent class</doc>
+ <type name="TransitionClass" c:type="GESTransitionClass"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="VideoTransitionPrivate"
+ c:type="GESVideoTransitionPrivate"
+ disguised="1">
+ <source-position filename="ges/ges-video-transition.h" line="30"/>
+ </record>
+ <class name="VideoUriSource"
+ c:symbol-prefix="video_uri_source"
+ c:type="GESVideoUriSource"
+ parent="VideoSource"
+ glib:type-name="GESVideoUriSource"
+ glib:get-type="ges_video_uri_source_get_type"
+ glib:type-struct="VideoUriSourceClass">
+ <doc xml:space="preserve"
+ filename="ges/ges-video-uri-source.h"
+ line="32">### Children Properties
+
+ {{ libs/GESVideoUriSource-children-props.md }}</doc>
+ <source-position filename="ges/ges-video-uri-source.h" line="57"/>
+ <implements name="Extractable"/>
+ <implements name="MetaContainer"/>
+ <property name="uri"
+ writable="1"
+ construct-only="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-video-uri-source.c"
+ line="342">The location of the file/resource to use.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </property>
+ <field name="parent" readable="0" private="1">
+ <type name="VideoSource" c:type="GESVideoSource"/>
+ </field>
+ <field name="uri" readable="0" private="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="VideoUriSourcePrivate" c:type="GESVideoUriSourcePrivate*"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="VideoUriSourceClass"
+ c:type="GESVideoUriSourceClass"
+ glib:is-gtype-struct-for="VideoUriSource">
+ <source-position filename="ges/ges-video-uri-source.h" line="57"/>
+ <field name="parent_class" readable="0" private="1">
+ <type name="VideoSourceClass" c:type="GESVideoSourceClass"/>
+ </field>
+ <field name="_ges_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="VideoUriSourcePrivate"
+ c:type="GESVideoUriSourcePrivate"
+ disguised="1">
+ <source-position filename="ges/ges-video-uri-source.h" line="30"/>
+ </record>
+ <class name="XmlFormatter"
+ c:symbol-prefix="xml_formatter"
+ c:type="GESXmlFormatter"
+ parent="BaseXmlFormatter"
+ glib:type-name="GESXmlFormatter"
+ glib:get-type="ges_xml_formatter_get_type"
+ glib:type-struct="XmlFormatterClass">
+ <source-position filename="ges/ges-xml-formatter.h" line="42"/>
+ <implements name="Extractable"/>
+ <field name="parent">
+ <type name="BaseXmlFormatter" c:type="GESBaseXmlFormatter"/>
+ </field>
+ <field name="priv">
+ <type name="XmlFormatterPrivate" c:type="GESXmlFormatterPrivate*"/>
+ </field>
+ <field name="_ges_reserved">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="XmlFormatterClass"
+ c:type="GESXmlFormatterClass"
+ glib:is-gtype-struct-for="XmlFormatter">
+ <source-position filename="ges/ges-xml-formatter.h" line="42"/>
+ <field name="parent">
+ <type name="BaseXmlFormatterClass" c:type="GESBaseXmlFormatterClass"/>
+ </field>
+ <field name="_ges_reserved">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="XmlFormatterPrivate"
+ c:type="GESXmlFormatterPrivate"
+ disguised="1">
+ <source-position filename="ges/ges-xml-formatter.h" line="26"/>
+ </record>
+ <function name="add_missing_uri_relocation_uri"
+ c:identifier="ges_add_missing_uri_relocation_uri">
+ <source-position filename="ges/ges-project.h" line="117"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="uri" transfer-ownership="none">
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="recurse" transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="deinit" c:identifier="ges_deinit">
+ <doc xml:space="preserve"
+ filename="ges/ges.c"
+ line="209">Clean up any resources created by GES in ges_init().
+
+It is normally not needed to call this function in a normal application as the
+resources will automatically be freed when the program terminates.
+This function is therefore mostly used by testsuites and other memory profiling tools.
+This function should be called from the thread where ges_init() was called.
+
+After this call GES should not be used until another ges_init() call.</doc>
+ <source-position filename="ges/ges.h" line="98"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </function>
+ <function name="edge_name"
+ c:identifier="ges_edge_name"
+ moved-to="Edge.name">
+ <source-position filename="ges/ges-enums.h" line="558"/>
+ <return-value transfer-ownership="none">
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="edge" transfer-ownership="none">
+ <type name="Edge" c:type="GESEdge"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="edit_mode_name"
+ c:identifier="ges_edit_mode_name"
+ moved-to="EditMode.name"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="525">Return a string representation of @mode.</doc>
+ <source-position filename="ges/ges-enums.h" line="535"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="531">a string representation of @mode.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="mode" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-enums.h"
+ line="527">a #GESEditMode</doc>
+ <type name="EditMode" c:type="GESEditMode"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="find_formatter_for_uri"
+ c:identifier="ges_find_formatter_for_uri"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.c"
+ line="750">Get the best formatter for @uri. It tries to find a formatter
+compatible with @uri extension, if none is found, it returns the default
+formatter asset.</doc>
+ <source-position filename="ges/ges-formatter.h" line="156"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-formatter.c"
+ line="757">The #GESAsset for the best formatter to save to @uri</doc>
+ <type name="Asset" c:type="GESAsset*"/>
+ </return-value>
+ <parameters>
+ <parameter name="uri" transfer-ownership="none">
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="init" c:identifier="ges_init">
+ <doc xml:space="preserve"
+ filename="ges/ges.c"
+ line="182">Initialize the GStreamer Editing Service. Call this before any usage of
+GES. You should take care of initilizing GStreamer before calling this
+function.
+
+MT safety.
+GStreamer Editing Services do not guarantee MT safety.
+An application is required to use GES APIs (including ges_deinit())
+in the thread where ges_init() was called.</doc>
+ <source-position filename="ges/ges.h" line="92"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </function>
+ <function name="init_check" c:identifier="ges_init_check" throws="1">
+ <doc xml:space="preserve"
+ filename="ges/ges.c"
+ line="354">Initializes the GStreamer Editing Services library, setting up internal path lists,
+and loading evrything needed.
+
+This function will return %FALSE if GES could not be initialized
+for some reason.</doc>
+ <source-position filename="ges/ges.h" line="95"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges.c"
+ line="366">%TRUE if GES could be initialized.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="argc"
+ direction="inout"
+ caller-allocates="0"
+ transfer-ownership="full"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="ges/ges.c"
+ line="356">pointer to application's argc</doc>
+ <type name="gint" c:type="int*"/>
+ </parameter>
+ <parameter name="argv"
+ direction="inout"
+ caller-allocates="0"
+ transfer-ownership="full"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="ges/ges.c"
+ line="357">pointer to application's argv</doc>
+ <array length="0" zero-terminated="0" c:type="char***">
+ <type name="utf8" c:type="char**"/>
+ </array>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="init_get_option_group"
+ c:identifier="ges_init_get_option_group"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="ges/ges.c"
+ line="280">Returns a #GOptionGroup with GES's argument specifications. The
+group is set up to use standard GOption callbacks, so when using this
+group in combination with GOption parsing methods, all argument parsing
+and initialization is automated.
+
+This function is useful if you want to integrate GES with other
+libraries that use GOption (see g_option_context_add_group() ).
+
+If you use this function, you should make sure you initialise the GStreamer
+as one of the very first things in your program. That means you need to
+use gst_init_get_option_group() and add it to the option context before
+using the ges_init_get_option_group() result.</doc>
+ <source-position filename="ges/ges.h" line="106"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="ges/ges.c"
+ line="296">a pointer to GES's option group.</doc>
+ <type name="GLib.OptionGroup" c:type="GOptionGroup*"/>
+ </return-value>
+ </function>
+ <function name="is_initialized"
+ c:identifier="ges_is_initialized"
+ version="1.16">
+ <doc xml:space="preserve"
+ filename="ges/ges.c"
+ line="407">Use this function to check if GES has been initialized with ges_init()
+or ges_init_check().</doc>
+ <source-position filename="ges/ges.h" line="112"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges.c"
+ line="413">%TRUE if initialization has been done, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </function>
+ <function name="list_assets" c:identifier="ges_list_assets">
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="1616">List all the assets in the current cache whose
+#GESAsset:extractable-type are of the given type (including
+subclasses).
+
+Note that, since only a #GESExtractable can be extracted from an asset,
+using `GES_TYPE_EXTRACTABLE` as @filter will return all the assets in
+the current cache.</doc>
+ <source-position filename="ges/ges-asset.h" line="129"/>
+ <return-value transfer-ownership="container">
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="1628">A list of all
+#GESAsset-s currently in the cache whose #GESAsset:extractable-type is
+of the @filter type.</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="Asset"/>
+ </type>
+ </return-value>
+ <parameters>
+ <parameter name="filter" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-asset.c"
+ line="1618">The type of object that can be extracted from the asset</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="play_sink_convert_frame"
+ c:identifier="ges_play_sink_convert_frame"
+ deprecated="1"
+ deprecated-version="1.18">
+ <doc xml:space="preserve"
+ filename="ges/ges-screenshot.c"
+ line="29">Get the last buffer @playsink showed</doc>
+ <doc-deprecated xml:space="preserve">Use the "convert-sample" action signal of
+#playsink instead.</doc-deprecated>
+ <source-position filename="ges/ges-screenshot.h" line="29"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="ges/ges-screenshot.c"
+ line="36">A #GstSample containing the last frame from
+@playsink in the format defined by the @caps</doc>
+ <type name="Gst.Sample" c:type="GstSample*"/>
+ </return-value>
+ <parameters>
+ <parameter name="playsink" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-screenshot.c"
+ line="31">The playsink to get last frame from</doc>
+ <type name="Gst.Element" c:type="GstElement*"/>
+ </parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="ges/ges-screenshot.c"
+ line="32">The caps defining the format the return value will have</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="pspec_equal" c:identifier="ges_pspec_equal">
+ <source-position filename="ges/ges-utils.h" line="31"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="key_spec_1"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <type name="gpointer" c:type="gconstpointer"/>
+ </parameter>
+ <parameter name="key_spec_2"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <type name="gpointer" c:type="gconstpointer"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="pspec_hash" c:identifier="ges_pspec_hash">
+ <source-position filename="ges/ges-utils.h" line="33"/>
+ <return-value transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <parameter name="key_spec"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <type name="gpointer" c:type="gconstpointer"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function-macro name="timeline_get_project"
+ c:identifier="ges_timeline_get_project"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.h"
+ line="36">Helper macro to retrieve the project from which @obj was extracted</doc>
+ <source-position filename="ges/ges-timeline.h" line="42"/>
+ <parameters>
+ <parameter name="obj">
+ <doc xml:space="preserve"
+ filename="ges/ges-timeline.h"
+ line="38">The #GESTimeline from which to retrieve the project</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function name="track_type_name"
+ c:identifier="ges_track_type_name"
+ moved-to="TrackType.name">
+ <source-position filename="ges/ges-enums.h" line="567"/>
+ <return-value transfer-ownership="none">
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="type" transfer-ownership="none">
+ <type name="TrackType" c:type="GESTrackType"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="validate_register_action_types"
+ c:identifier="ges_validate_register_action_types">
+ <source-position filename="ges/ges.h" line="109"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </function>
+ <function name="version" c:identifier="ges_version">
+ <doc xml:space="preserve"
+ filename="ges/ges.c"
+ line="331">Gets the version number of the GStreamer Editing Services library.</doc>
+ <source-position filename="ges/ges.h" line="101"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="major"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="ges/ges.c"
+ line="333">pointer to a guint to store the major version number</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ <parameter name="minor"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="ges/ges.c"
+ line="334">pointer to a guint to store the minor version number</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ <parameter name="micro"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="ges/ges.c"
+ line="335">pointer to a guint to store the micro version number</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ <parameter name="nano"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="ges/ges.c"
+ line="336">pointer to a guint to store the nano version number</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ </parameters>
+ </function>
+ </namespace>
+</repository>
diff --git a/subprojects/gstreamer-sharp/girs/Gst-1.0.gir b/subprojects/gstreamer-sharp/girs/Gst-1.0.gir
new file mode 100644
index 0000000000..9c00ee001c
--- /dev/null
+++ b/subprojects/gstreamer-sharp/girs/Gst-1.0.gir
@@ -0,0 +1,79314 @@
+<?xml version="1.0"?>
+<!-- This file was automatically generated from C sources - DO NOT EDIT!
+To affect the contents of this file, edit the original C definitions,
+and/or use gtk-doc annotations. -->
+<repository version="1.2"
+ xmlns="http://www.gtk.org/introspection/core/1.0"
+ xmlns:c="http://www.gtk.org/introspection/c/1.0"
+ xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
+ <include name="GLib" version="2.0"/>
+ <include name="GModule" version="2.0"/>
+ <include name="GObject" version="2.0"/>
+ <package name="gstreamer-1.0"/>
+ <c:include name="gst/gst.h"/>
+ <namespace name="Gst"
+ version="1.0"
+ shared-library="libgstreamer-1.0.so.0"
+ c:identifier-prefixes="Gst"
+ c:symbol-prefixes="gst">
+ <alias name="ClockID" c:type="GstClockID">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.h"
+ line="61">A datatype to hold the handle to an outstanding sync or async clock callback.</doc>
+ <source-position filename="gst/gstclock.h" line="66"/>
+ <type name="gpointer" c:type="gpointer"/>
+ </alias>
+ <alias name="ClockTime" c:type="GstClockTime">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.h"
+ line="41">A datatype to hold a time, measured in nanoseconds.</doc>
+ <source-position filename="gst/gstclock.h" line="46"/>
+ <type name="guint64" c:type="guint64"/>
+ </alias>
+ <alias name="ClockTimeDiff" c:type="GstClockTimeDiff">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.h"
+ line="55">A datatype to hold a time difference, measured in nanoseconds.</doc>
+ <source-position filename="gst/gstclock.h" line="60"/>
+ <type name="gint64" c:type="gint64"/>
+ </alias>
+ <alias name="ElementFactoryListType" c:type="GstElementFactoryListType">
+ <doc xml:space="preserve"
+ filename="gst/gstelementfactory.h"
+ line="124">A type defining the type of an element factory.</doc>
+ <source-position filename="gst/gstelementfactory.h" line="129"/>
+ <type name="guint64" c:type="guint64"/>
+ </alias>
+ <function-macro name="ALLOCATOR"
+ c:identifier="GST_ALLOCATOR"
+ introspectable="0">
+ <source-position filename="gst/gstallocator.h" line="38"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="ALLOCATOR_CAST"
+ c:identifier="GST_ALLOCATOR_CAST"
+ introspectable="0">
+ <source-position filename="gst/gstallocator.h" line="40"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="ALLOCATOR_CLASS"
+ c:identifier="GST_ALLOCATOR_CLASS"
+ introspectable="0">
+ <source-position filename="gst/gstallocator.h" line="39"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="ALLOCATOR_GET_CLASS"
+ c:identifier="GST_ALLOCATOR_GET_CLASS"
+ introspectable="0">
+ <source-position filename="gst/gstallocator.h" line="37"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <constant name="ALLOCATOR_SYSMEM"
+ value="SystemMemory"
+ c:type="GST_ALLOCATOR_SYSMEM">
+ <doc xml:space="preserve"
+ filename="gst/gstallocator.h"
+ line="58">The allocator name for the default system memory allocator</doc>
+ <source-position filename="gst/gstallocator.h" line="63"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <record name="AllocationParams"
+ c:type="GstAllocationParams"
+ glib:type-name="GstAllocationParams"
+ glib:get-type="gst_allocation_params_get_type"
+ c:symbol-prefix="allocation_params">
+ <doc xml:space="preserve"
+ filename="gst/gstallocator.h"
+ line="65">Parameters to control the allocation of memory</doc>
+ <source-position filename="gst/gstallocator.h" line="82"/>
+ <field name="flags" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstallocator.h"
+ line="67">flags to control allocation</doc>
+ <type name="MemoryFlags" c:type="GstMemoryFlags"/>
+ </field>
+ <field name="align" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstallocator.h"
+ line="68">the desired alignment of the memory</doc>
+ <type name="gsize" c:type="gsize"/>
+ </field>
+ <field name="prefix" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstallocator.h"
+ line="69">the desired prefix</doc>
+ <type name="gsize" c:type="gsize"/>
+ </field>
+ <field name="padding" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstallocator.h"
+ line="70">the desired padding</doc>
+ <type name="gsize" c:type="gsize"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <method name="copy" c:identifier="gst_allocation_params_copy">
+ <doc xml:space="preserve"
+ filename="gst/gstallocator.c"
+ line="156">Create a copy of @params.
+
+Free-function: gst_allocation_params_free</doc>
+ <source-position filename="gst/gstallocator.h" line="175"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstallocator.c"
+ line="164">a new ##GstAllocationParams, free with
+gst_allocation_params_free().</doc>
+ <type name="AllocationParams" c:type="GstAllocationParams*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="params"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstallocator.c"
+ line="158">a #GstAllocationParams</doc>
+ <type name="AllocationParams" c:type="const GstAllocationParams*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="free" c:identifier="gst_allocation_params_free">
+ <doc xml:space="preserve"
+ filename="gst/gstallocator.c"
+ line="180">Free @params</doc>
+ <source-position filename="gst/gstallocator.h" line="178"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="params" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstallocator.c"
+ line="182">a #GstAllocationParams</doc>
+ <type name="AllocationParams" c:type="GstAllocationParams*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="init" c:identifier="gst_allocation_params_init">
+ <doc xml:space="preserve"
+ filename="gst/gstallocator.c"
+ line="142">Initialize @params to its default values</doc>
+ <source-position filename="gst/gstallocator.h" line="171"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="params" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstallocator.c"
+ line="144">a #GstAllocationParams</doc>
+ <type name="AllocationParams" c:type="GstAllocationParams*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ </record>
+ <class name="Allocator"
+ c:symbol-prefix="allocator"
+ c:type="GstAllocator"
+ parent="Object"
+ abstract="1"
+ glib:type-name="GstAllocator"
+ glib:get-type="gst_allocator_get_type"
+ glib:type-struct="AllocatorClass">
+ <doc xml:space="preserve"
+ filename="gst/gstallocator.c"
+ line="22">Memory is usually created by allocators with a gst_allocator_alloc()
+method call. When %NULL is used as the allocator, the default allocator will
+be used.
+
+New allocators can be registered with gst_allocator_register().
+Allocators are identified by name and can be retrieved with
+gst_allocator_find(). gst_allocator_set_default() can be used to change the
+default allocator.
+
+New memory can be created with gst_memory_new_wrapped() that wraps the memory
+allocated elsewhere.</doc>
+ <source-position filename="gst/gstallocator.h" line="152"/>
+ <function name="find" c:identifier="gst_allocator_find">
+ <doc xml:space="preserve"
+ filename="gst/gstallocator.c"
+ line="216">Find a previously registered allocator with @name. When @name is %NULL, the
+default allocator will be returned.</doc>
+ <source-position filename="gst/gstallocator.h" line="163"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstallocator.c"
+ line="223">a #GstAllocator or %NULL when
+the allocator with @name was not registered. Use gst_object_unref()
+to release the allocator after usage.</doc>
+ <type name="Allocator" c:type="GstAllocator*"/>
+ </return-value>
+ <parameters>
+ <parameter name="name"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstallocator.c"
+ line="218">the name of the allocator</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="register" c:identifier="gst_allocator_register">
+ <doc xml:space="preserve"
+ filename="gst/gstallocator.c"
+ line="192">Registers the memory @allocator with @name. This function takes ownership of
+@allocator.</doc>
+ <source-position filename="gst/gstallocator.h" line="160"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstallocator.c"
+ line="194">the name of the allocator</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="allocator" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstallocator.c"
+ line="195">#GstAllocator</doc>
+ <type name="Allocator" c:type="GstAllocator*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <virtual-method name="alloc" invoker="alloc">
+ <doc xml:space="preserve"
+ filename="gst/gstallocator.c"
+ line="267">Use @allocator to allocate a new memory block with memory that is at least
+@size big.
+
+The optional @params can specify the prefix and padding for the memory. If
+%NULL is passed, no flags, no extra prefix/padding and a default alignment is
+used.
+
+The prefix/padding will be filled with 0 if flags contains
+#GST_MEMORY_FLAG_ZERO_PREFIXED and #GST_MEMORY_FLAG_ZERO_PADDED respectively.
+
+When @allocator is %NULL, the default allocator will be used.
+
+The alignment in @params is given as a bitmask so that @align + 1 equals
+the amount of bytes to align to. For example, to align to 8 bytes,
+use an alignment of 7.</doc>
+ <source-position filename="gst/gstallocator.h" line="146"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstallocator.c"
+ line="289">a new #GstMemory.</doc>
+ <type name="Memory" c:type="GstMemory*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="allocator"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstallocator.c"
+ line="269">a #GstAllocator to use</doc>
+ <type name="Allocator" c:type="GstAllocator*"/>
+ </instance-parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstallocator.c"
+ line="270">size of the visible memory area</doc>
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ <parameter name="params"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstallocator.c"
+ line="271">optional parameters</doc>
+ <type name="AllocationParams" c:type="GstAllocationParams*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="free" invoker="free">
+ <doc xml:space="preserve"
+ filename="gst/gstallocator.c"
+ line="317">Free @memory that was previously allocated with gst_allocator_alloc().</doc>
+ <source-position filename="gst/gstallocator.h" line="148"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="allocator" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstallocator.c"
+ line="319">a #GstAllocator to use</doc>
+ <type name="Allocator" c:type="GstAllocator*"/>
+ </instance-parameter>
+ <parameter name="memory" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstallocator.c"
+ line="320">the memory to free</doc>
+ <type name="Memory" c:type="GstMemory*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <method name="alloc" c:identifier="gst_allocator_alloc">
+ <doc xml:space="preserve"
+ filename="gst/gstallocator.c"
+ line="267">Use @allocator to allocate a new memory block with memory that is at least
+@size big.
+
+The optional @params can specify the prefix and padding for the memory. If
+%NULL is passed, no flags, no extra prefix/padding and a default alignment is
+used.
+
+The prefix/padding will be filled with 0 if flags contains
+#GST_MEMORY_FLAG_ZERO_PREFIXED and #GST_MEMORY_FLAG_ZERO_PADDED respectively.
+
+When @allocator is %NULL, the default allocator will be used.
+
+The alignment in @params is given as a bitmask so that @align + 1 equals
+the amount of bytes to align to. For example, to align to 8 bytes,
+use an alignment of 7.</doc>
+ <source-position filename="gst/gstallocator.h" line="183"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstallocator.c"
+ line="289">a new #GstMemory.</doc>
+ <type name="Memory" c:type="GstMemory*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="allocator"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstallocator.c"
+ line="269">a #GstAllocator to use</doc>
+ <type name="Allocator" c:type="GstAllocator*"/>
+ </instance-parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstallocator.c"
+ line="270">size of the visible memory area</doc>
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ <parameter name="params"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstallocator.c"
+ line="271">optional parameters</doc>
+ <type name="AllocationParams" c:type="GstAllocationParams*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="free" c:identifier="gst_allocator_free">
+ <doc xml:space="preserve"
+ filename="gst/gstallocator.c"
+ line="317">Free @memory that was previously allocated with gst_allocator_alloc().</doc>
+ <source-position filename="gst/gstallocator.h" line="187"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="allocator" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstallocator.c"
+ line="319">a #GstAllocator to use</doc>
+ <type name="Allocator" c:type="GstAllocator*"/>
+ </instance-parameter>
+ <parameter name="memory" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstallocator.c"
+ line="320">the memory to free</doc>
+ <type name="Memory" c:type="GstMemory*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_default" c:identifier="gst_allocator_set_default">
+ <doc xml:space="preserve"
+ filename="gst/gstallocator.c"
+ line="245">Set the default allocator. This function takes ownership of @allocator.</doc>
+ <source-position filename="gst/gstallocator.h" line="166"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="allocator" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstallocator.c"
+ line="247">a #GstAllocator</doc>
+ <type name="Allocator" c:type="GstAllocator*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <field name="object">
+ <type name="Object" c:type="GstObject"/>
+ </field>
+ <field name="mem_type">
+ <type name="utf8" c:type="const gchar*"/>
+ </field>
+ <field name="mem_map">
+ <doc xml:space="preserve"
+ filename="gst/gstallocator.h"
+ line="99">the implementation of the GstMemoryMapFunction</doc>
+ <type name="MemoryMapFunction" c:type="GstMemoryMapFunction"/>
+ </field>
+ <field name="mem_unmap">
+ <doc xml:space="preserve"
+ filename="gst/gstallocator.h"
+ line="100">the implementation of the GstMemoryUnmapFunction</doc>
+ <type name="MemoryUnmapFunction" c:type="GstMemoryUnmapFunction"/>
+ </field>
+ <field name="mem_copy">
+ <doc xml:space="preserve"
+ filename="gst/gstallocator.h"
+ line="101">the implementation of the GstMemoryCopyFunction</doc>
+ <type name="MemoryCopyFunction" c:type="GstMemoryCopyFunction"/>
+ </field>
+ <field name="mem_share">
+ <doc xml:space="preserve"
+ filename="gst/gstallocator.h"
+ line="102">the implementation of the GstMemoryShareFunction</doc>
+ <type name="MemoryShareFunction" c:type="GstMemoryShareFunction"/>
+ </field>
+ <field name="mem_is_span">
+ <doc xml:space="preserve"
+ filename="gst/gstallocator.h"
+ line="103">the implementation of the GstMemoryIsSpanFunction</doc>
+ <type name="MemoryIsSpanFunction" c:type="GstMemoryIsSpanFunction"/>
+ </field>
+ <field name="mem_map_full">
+ <doc xml:space="preserve"
+ filename="gst/gstallocator.h"
+ line="104">the implementation of the GstMemoryMapFullFunction.
+ Will be used instead of @mem_map if present. (Since: 1.6)</doc>
+ <type name="MemoryMapFullFunction" c:type="GstMemoryMapFullFunction"/>
+ </field>
+ <field name="mem_unmap_full">
+ <doc xml:space="preserve"
+ filename="gst/gstallocator.h"
+ line="106">the implementation of the GstMemoryUnmapFullFunction.
+ Will be used instead of @mem_unmap if present. (Since: 1.6)</doc>
+ <type name="MemoryUnmapFullFunction"
+ c:type="GstMemoryUnmapFullFunction"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="2">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="AllocatorPrivate" c:type="GstAllocatorPrivate*"/>
+ </field>
+ </class>
+ <record name="AllocatorClass"
+ c:type="GstAllocatorClass"
+ glib:is-gtype-struct-for="Allocator">
+ <doc xml:space="preserve"
+ filename="gst/gstallocator.h"
+ line="134">The #GstAllocator is used to create new memory.</doc>
+ <source-position filename="gst/gstallocator.h" line="152"/>
+ <field name="object_class">
+ <doc xml:space="preserve"
+ filename="gst/gstallocator.h"
+ line="136">Object parent class</doc>
+ <type name="ObjectClass" c:type="GstObjectClass"/>
+ </field>
+ <field name="alloc">
+ <callback name="alloc">
+ <source-position filename="gst/gstallocator.h" line="146"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstallocator.c"
+ line="289">a new #GstMemory.</doc>
+ <type name="Memory" c:type="GstMemory*"/>
+ </return-value>
+ <parameters>
+ <parameter name="allocator"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstallocator.c"
+ line="269">a #GstAllocator to use</doc>
+ <type name="Allocator" c:type="GstAllocator*"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstallocator.c"
+ line="270">size of the visible memory area</doc>
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ <parameter name="params"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstallocator.c"
+ line="271">optional parameters</doc>
+ <type name="AllocationParams" c:type="GstAllocationParams*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="free">
+ <callback name="free">
+ <source-position filename="gst/gstallocator.h" line="148"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="allocator" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstallocator.c"
+ line="319">a #GstAllocator to use</doc>
+ <type name="Allocator" c:type="GstAllocator*"/>
+ </parameter>
+ <parameter name="memory" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstallocator.c"
+ line="320">the memory to free</doc>
+ <type name="Memory" c:type="GstMemory*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <bitfield name="AllocatorFlags"
+ glib:type-name="GstAllocatorFlags"
+ glib:get-type="gst_allocator_flags_get_type"
+ c:type="GstAllocatorFlags">
+ <doc xml:space="preserve"
+ filename="gst/gstallocator.h"
+ line="84">Flags for allocators.</doc>
+ <member name="custom_alloc"
+ value="16"
+ c:identifier="GST_ALLOCATOR_FLAG_CUSTOM_ALLOC"
+ glib:nick="custom-alloc">
+ <doc xml:space="preserve"
+ filename="gst/gstallocator.h"
+ line="86">The allocator has a custom alloc function.</doc>
+ </member>
+ <member name="last"
+ value="1048576"
+ c:identifier="GST_ALLOCATOR_FLAG_LAST"
+ glib:nick="last">
+ <doc xml:space="preserve"
+ filename="gst/gstallocator.h"
+ line="87">first flag that can be used for custom purposes</doc>
+ </member>
+ </bitfield>
+ <record name="AllocatorPrivate" c:type="GstAllocatorPrivate" disguised="1">
+ <source-position filename="gst/gstallocator.h" line="31"/>
+ </record>
+ <record name="AtomicQueue"
+ c:type="GstAtomicQueue"
+ glib:type-name="GstAtomicQueue"
+ glib:get-type="gst_atomic_queue_get_type"
+ c:symbol-prefix="atomic_queue">
+ <doc xml:space="preserve"
+ filename="gst/gstatomicqueue.c"
+ line="31">The #GstAtomicQueue object implements a queue that can be used from multiple
+threads without performing any blocking operations.</doc>
+ <source-position filename="gst/gstatomicqueue.h" line="41"/>
+ <constructor name="new" c:identifier="gst_atomic_queue_new">
+ <doc xml:space="preserve"
+ filename="gst/gstatomicqueue.c"
+ line="146">Create a new atomic queue instance. @initial_size will be rounded up to the
+nearest power of 2 and used as the initial size of the queue.</doc>
+ <source-position filename="gst/gstatomicqueue.h" line="48"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstatomicqueue.c"
+ line="153">a new #GstAtomicQueue</doc>
+ <type name="AtomicQueue" c:type="GstAtomicQueue*"/>
+ </return-value>
+ <parameters>
+ <parameter name="initial_size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstatomicqueue.c"
+ line="148">initial queue size</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <method name="length" c:identifier="gst_atomic_queue_length">
+ <doc xml:space="preserve"
+ filename="gst/gstatomicqueue.c"
+ line="391">Get the amount of items in the queue.</doc>
+ <source-position filename="gst/gstatomicqueue.h" line="66"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstatomicqueue.c"
+ line="397">the number of elements in the queue.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="queue" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstatomicqueue.c"
+ line="393">a #GstAtomicQueue</doc>
+ <type name="AtomicQueue" c:type="GstAtomicQueue*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="peek" c:identifier="gst_atomic_queue_peek">
+ <doc xml:space="preserve"
+ filename="gst/gstatomicqueue.c"
+ line="211">Peek the head element of the queue without removing it from the queue.</doc>
+ <source-position filename="gst/gstatomicqueue.h" line="63"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstatomicqueue.c"
+ line="217">the head element of @queue or
+%NULL when the queue is empty.</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="queue" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstatomicqueue.c"
+ line="213">a #GstAtomicQueue</doc>
+ <type name="AtomicQueue" c:type="GstAtomicQueue*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="pop" c:identifier="gst_atomic_queue_pop">
+ <doc xml:space="preserve"
+ filename="gst/gstatomicqueue.c"
+ line="261">Get the head element of the queue.</doc>
+ <source-position filename="gst/gstatomicqueue.h" line="60"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstatomicqueue.c"
+ line="267">the head element of @queue or %NULL when
+the queue is empty.</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="queue" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstatomicqueue.c"
+ line="263">a #GstAtomicQueue</doc>
+ <type name="AtomicQueue" c:type="GstAtomicQueue*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="push" c:identifier="gst_atomic_queue_push">
+ <doc xml:space="preserve"
+ filename="gst/gstatomicqueue.c"
+ line="330">Append @data to the tail of the queue.</doc>
+ <source-position filename="gst/gstatomicqueue.h" line="57"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="queue" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstatomicqueue.c"
+ line="332">a #GstAtomicQueue</doc>
+ <type name="AtomicQueue" c:type="GstAtomicQueue*"/>
+ </instance-parameter>
+ <parameter name="data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstatomicqueue.c"
+ line="333">the data</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="ref" c:identifier="gst_atomic_queue_ref">
+ <doc xml:space="preserve"
+ filename="gst/gstatomicqueue.c"
+ line="172">Increase the refcount of @queue.</doc>
+ <source-position filename="gst/gstatomicqueue.h" line="51"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="queue" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstatomicqueue.c"
+ line="174">a #GstAtomicQueue</doc>
+ <type name="AtomicQueue" c:type="GstAtomicQueue*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="unref" c:identifier="gst_atomic_queue_unref">
+ <doc xml:space="preserve"
+ filename="gst/gstatomicqueue.c"
+ line="196">Unref @queue and free the memory when the refcount reaches 0.</doc>
+ <source-position filename="gst/gstatomicqueue.h" line="54"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="queue" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstatomicqueue.c"
+ line="198">a #GstAtomicQueue</doc>
+ <type name="AtomicQueue" c:type="GstAtomicQueue*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ </record>
+ <function-macro name="BIN" c:identifier="GST_BIN" introspectable="0">
+ <source-position filename="gst/gstbin.h" line="37"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="BIN_CAST"
+ c:identifier="GST_BIN_CAST"
+ introspectable="0">
+ <source-position filename="gst/gstbin.h" line="39"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="BIN_CHILDREN"
+ c:identifier="GST_BIN_CHILDREN"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstbin.h"
+ line="84">Gets the list with children in a bin.</doc>
+ <source-position filename="gst/gstbin.h" line="90"/>
+ <parameters>
+ <parameter name="bin">
+ <doc xml:space="preserve"
+ filename="gst/gstbin.h"
+ line="86">a #GstBin</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="BIN_CHILDREN_COOKIE"
+ c:identifier="GST_BIN_CHILDREN_COOKIE"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstbin.h"
+ line="91">Gets the children cookie that watches the children list.</doc>
+ <source-position filename="gst/gstbin.h" line="97"/>
+ <parameters>
+ <parameter name="bin">
+ <doc xml:space="preserve"
+ filename="gst/gstbin.h"
+ line="93">a #GstBin</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="BIN_CLASS"
+ c:identifier="GST_BIN_CLASS"
+ introspectable="0">
+ <source-position filename="gst/gstbin.h" line="38"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="BIN_GET_CLASS"
+ c:identifier="GST_BIN_GET_CLASS"
+ introspectable="0">
+ <source-position filename="gst/gstbin.h" line="36"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="BIN_IS_NO_RESYNC"
+ c:identifier="GST_BIN_IS_NO_RESYNC"
+ version="1.0.5"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstbin.h"
+ line="62">Check if @bin will resync its state change when elements are added and
+removed.</doc>
+ <source-position filename="gst/gstbin.h" line="71"/>
+ <parameters>
+ <parameter name="bin">
+ <doc xml:space="preserve"
+ filename="gst/gstbin.h"
+ line="64">A #GstBin</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="BIN_NUMCHILDREN"
+ c:identifier="GST_BIN_NUMCHILDREN"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstbin.h"
+ line="77">Gets the number of children in a bin.</doc>
+ <source-position filename="gst/gstbin.h" line="83"/>
+ <parameters>
+ <parameter name="bin">
+ <doc xml:space="preserve"
+ filename="gst/gstbin.h"
+ line="79">a #GstBin</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="BUFFER" c:identifier="GST_BUFFER" introspectable="0">
+ <source-position filename="gst/gstbuffer.h" line="44"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="BUFFER_CAST"
+ c:identifier="GST_BUFFER_CAST"
+ introspectable="0">
+ <source-position filename="gst/gstbuffer.h" line="43"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <constant name="BUFFER_COPY_ALL" value="15" c:type="GST_BUFFER_COPY_ALL">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="530">Combination of all possible fields that can be copied with
+gst_buffer_copy_into().</doc>
+ <source-position filename="gst/gstbuffer.h" line="535"/>
+ <type name="BufferCopyFlags" c:type="GstBufferCopyFlags"/>
+ </constant>
+ <constant name="BUFFER_COPY_METADATA"
+ value="7"
+ c:type="GST_BUFFER_COPY_METADATA">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="521">Combination of all possible metadata fields that can be copied with
+gst_buffer_copy_into().</doc>
+ <source-position filename="gst/gstbuffer.h" line="527"/>
+ <type name="BufferCopyFlags" c:type="GstBufferCopyFlags"/>
+ </constant>
+ <function-macro name="BUFFER_DTS"
+ c:identifier="GST_BUFFER_DTS"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="89">The decoding timestamp (dts) in nanoseconds (as a #GstClockTime)
+of the data in the buffer. This is the timestamp when the media should be
+decoded or processed otherwise.
+Value will be %GST_CLOCK_TIME_NONE if the dts is unknown.</doc>
+ <source-position filename="gst/gstbuffer.h" line="98"/>
+ <parameters>
+ <parameter name="buf">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="91">a #GstBuffer.:</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="BUFFER_DTS_IS_VALID"
+ c:identifier="GST_BUFFER_DTS_IS_VALID"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="153">Tests if the dts is known.</doc>
+ <source-position filename="gst/gstbuffer.h" line="159"/>
+ <parameters>
+ <parameter name="buffer">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="155">a #GstBuffer</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="BUFFER_DTS_OR_PTS"
+ c:identifier="GST_BUFFER_DTS_OR_PTS"
+ version="1.8"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="99">Returns the buffer decoding timestamp (dts) if valid, else the buffer
+presentation time (pts)</doc>
+ <source-position filename="gst/gstbuffer.h" line="108"/>
+ <parameters>
+ <parameter name="buf">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="101">a #GstBuffer.:</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="BUFFER_DURATION"
+ c:identifier="GST_BUFFER_DURATION"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="109">The duration in nanoseconds (as a #GstClockTime) of the data in the buffer.
+Value will be %GST_CLOCK_TIME_NONE if the duration is unknown.</doc>
+ <source-position filename="gst/gstbuffer.h" line="116"/>
+ <parameters>
+ <parameter name="buf">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="111">a #GstBuffer.</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="BUFFER_DURATION_IS_VALID"
+ c:identifier="GST_BUFFER_DURATION_IS_VALID"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="139">Tests if the duration is known.</doc>
+ <source-position filename="gst/gstbuffer.h" line="145"/>
+ <parameters>
+ <parameter name="buffer">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="141">a #GstBuffer</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="BUFFER_FLAGS"
+ c:identifier="GST_BUFFER_FLAGS"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="46">A flags word containing #GstBufferFlags flags set on this buffer.</doc>
+ <source-position filename="gst/gstbuffer.h" line="52"/>
+ <parameters>
+ <parameter name="buf">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="48">a #GstBuffer.</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="BUFFER_FLAG_IS_SET"
+ c:identifier="GST_BUFFER_FLAG_IS_SET"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="53">Gives the status of a specific flag on a buffer.</doc>
+ <source-position filename="gst/gstbuffer.h" line="60"/>
+ <parameters>
+ <parameter name="buf">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="55">a #GstBuffer.</doc>
+ </parameter>
+ <parameter name="flag">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="56">the #GstBufferFlags flag to check.</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="BUFFER_FLAG_SET"
+ c:identifier="GST_BUFFER_FLAG_SET"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="61">Sets a buffer flag on a buffer.</doc>
+ <source-position filename="gst/gstbuffer.h" line="68"/>
+ <parameters>
+ <parameter name="buf">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="63">a #GstBuffer.</doc>
+ </parameter>
+ <parameter name="flag">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="64">the #GstBufferFlags flag to set.</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="BUFFER_FLAG_UNSET"
+ c:identifier="GST_BUFFER_FLAG_UNSET"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="69">Clears a buffer flag.</doc>
+ <source-position filename="gst/gstbuffer.h" line="76"/>
+ <parameters>
+ <parameter name="buf">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="71">a #GstBuffer.</doc>
+ </parameter>
+ <parameter name="flag">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="72">the #GstBufferFlags flag to clear.</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="BUFFER_IS_DISCONT"
+ c:identifier="GST_BUFFER_IS_DISCONT"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="174">Tests if the buffer marks a discontinuity in the stream.</doc>
+ <source-position filename="gst/gstbuffer.h" line="180"/>
+ <parameters>
+ <parameter name="buffer">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="176">a #GstBuffer</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="BUFFER_LIST"
+ c:identifier="GST_BUFFER_LIST"
+ introspectable="0">
+ <source-position filename="gst/gstbufferlist.h" line="35"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="BUFFER_LIST_CAST"
+ c:identifier="GST_BUFFER_LIST_CAST"
+ introspectable="0">
+ <source-position filename="gst/gstbufferlist.h" line="34"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="BUFFER_OFFSET"
+ c:identifier="GST_BUFFER_OFFSET"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="117">The offset in the source file of the beginning of this buffer.</doc>
+ <source-position filename="gst/gstbuffer.h" line="123"/>
+ <parameters>
+ <parameter name="buf">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="119">a #GstBuffer.</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="BUFFER_OFFSET_END"
+ c:identifier="GST_BUFFER_OFFSET_END"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="124">The offset in the source file of the end of this buffer.</doc>
+ <source-position filename="gst/gstbuffer.h" line="130"/>
+ <parameters>
+ <parameter name="buf">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="126">a #GstBuffer.</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="BUFFER_OFFSET_END_IS_VALID"
+ c:identifier="GST_BUFFER_OFFSET_END_IS_VALID"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="167">Tests if the end offset is known.</doc>
+ <source-position filename="gst/gstbuffer.h" line="173"/>
+ <parameters>
+ <parameter name="buffer">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="169">a #GstBuffer</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="BUFFER_OFFSET_IS_VALID"
+ c:identifier="GST_BUFFER_OFFSET_IS_VALID"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="160">Tests if the start offset is known.</doc>
+ <source-position filename="gst/gstbuffer.h" line="166"/>
+ <parameters>
+ <parameter name="buffer">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="162">a #GstBuffer</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <constant name="BUFFER_OFFSET_NONE"
+ value="18446744073709551615"
+ c:type="GST_BUFFER_OFFSET_NONE">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="132">Constant for no-offset return results.</doc>
+ <source-position filename="gst/gstbuffer.h" line="137"/>
+ <type name="guint64" c:type="guint64"/>
+ </constant>
+ <function-macro name="BUFFER_POOL"
+ c:identifier="GST_BUFFER_POOL"
+ introspectable="0">
+ <source-position filename="gst/gstbufferpool.h" line="39"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="BUFFER_POOL_CAST"
+ c:identifier="GST_BUFFER_POOL_CAST"
+ introspectable="0">
+ <source-position filename="gst/gstbufferpool.h" line="41"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="BUFFER_POOL_CLASS"
+ c:identifier="GST_BUFFER_POOL_CLASS"
+ introspectable="0">
+ <source-position filename="gst/gstbufferpool.h" line="40"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="BUFFER_POOL_GET_CLASS"
+ c:identifier="GST_BUFFER_POOL_GET_CLASS"
+ introspectable="0">
+ <source-position filename="gst/gstbufferpool.h" line="38"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="BUFFER_POOL_IS_FLUSHING"
+ c:identifier="GST_BUFFER_POOL_IS_FLUSHING"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.h"
+ line="90">Check if the bufferpool is flushing. Subclasses might want to check the
+state of the pool in the acquire function.</doc>
+ <source-position filename="gst/gstbufferpool.h" line="97"/>
+ <parameters>
+ <parameter name="pool">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.h"
+ line="92">a GstBufferPool</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="BUFFER_PTS"
+ c:identifier="GST_BUFFER_PTS"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="79">The presentation timestamp (pts) in nanoseconds (as a #GstClockTime)
+of the data in the buffer. This is the timestamp when the media should be
+presented to the user.
+Value will be %GST_CLOCK_TIME_NONE if the pts is unknown.</doc>
+ <source-position filename="gst/gstbuffer.h" line="88"/>
+ <parameters>
+ <parameter name="buf">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="81">a #GstBuffer.:</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="BUFFER_PTS_IS_VALID"
+ c:identifier="GST_BUFFER_PTS_IS_VALID"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="146">Tests if the pts is known.</doc>
+ <source-position filename="gst/gstbuffer.h" line="152"/>
+ <parameters>
+ <parameter name="buffer">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="148">a #GstBuffer</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="BUS" c:identifier="GST_BUS" introspectable="0">
+ <source-position filename="gst/gstbus.h" line="36"/>
+ <parameters>
+ <parameter name="bus">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="BUS_CAST"
+ c:identifier="GST_BUS_CAST"
+ introspectable="0">
+ <source-position filename="gst/gstbus.h" line="41"/>
+ <parameters>
+ <parameter name="bus">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="BUS_CLASS"
+ c:identifier="GST_BUS_CLASS"
+ introspectable="0">
+ <source-position filename="gst/gstbus.h" line="38"/>
+ <parameters>
+ <parameter name="bclass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="BUS_GET_CLASS"
+ c:identifier="GST_BUS_GET_CLASS"
+ introspectable="0">
+ <source-position filename="gst/gstbus.h" line="40"/>
+ <parameters>
+ <parameter name="bus">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <class name="Bin"
+ c:symbol-prefix="bin"
+ c:type="GstBin"
+ parent="Element"
+ glib:type-name="GstBin"
+ glib:get-type="gst_bin_get_type"
+ glib:type-struct="BinClass">
+ <doc xml:space="preserve"
+ filename="gst/gstbin.c"
+ line="26">#GstBin is an element that can contain other #GstElement, allowing them to be
+managed as a group.
+Pads from the child elements can be ghosted to the bin, see #GstGhostPad.
+This makes the bin look like any other elements and enables creation of
+higher-level abstraction elements.
+
+A new #GstBin is created with gst_bin_new(). Use a #GstPipeline instead if you
+want to create a toplevel bin because a normal bin doesn't have a bus or
+handle clock distribution of its own.
+
+After the bin has been created you will typically add elements to it with
+gst_bin_add(). You can remove elements with gst_bin_remove().
+
+An element can be retrieved from a bin with gst_bin_get_by_name(), using the
+elements name. gst_bin_get_by_name_recurse_up() is mainly used for internal
+purposes and will query the parent bins when the element is not found in the
+current bin.
+
+An iterator of elements in a bin can be retrieved with
+gst_bin_iterate_elements(). Various other iterators exist to retrieve the
+elements in a bin.
+
+gst_object_unref() is used to drop your reference to the bin.
+
+The #GstBin::element-added signal is fired whenever a new element is added to
+the bin. Likewise the #GstBin::element-removed signal is fired whenever an
+element is removed from the bin.
+
+## Notes
+
+A #GstBin internally intercepts every #GstMessage posted by its children and
+implements the following default behaviour for each of them:
+
+* GST_MESSAGE_EOS: This message is only posted by sinks in the PLAYING
+state. If all sinks posted the EOS message, this bin will post and EOS
+message upwards.
+
+* GST_MESSAGE_SEGMENT_START: Just collected and never forwarded upwards.
+The messages are used to decide when all elements have completed playback
+of their segment.
+
+* GST_MESSAGE_SEGMENT_DONE: Is posted by #GstBin when all elements that posted
+a SEGMENT_START have posted a SEGMENT_DONE.
+
+* GST_MESSAGE_DURATION_CHANGED: Is posted by an element that detected a change
+in the stream duration. The duration change is posted to the
+application so that it can refetch the new duration with a duration
+query. Note that these messages can be posted before the bin is
+prerolled, in which case the duration query might fail. Note also that
+there might be a discrepancy (due to internal buffering/queueing) between the
+stream being currently displayed and the returned duration query.
+Applications might want to also query for duration (and changes) by
+listening to the GST_MESSAGE_STREAM_START message, signaling the active start
+of a (new) stream.
+
+* GST_MESSAGE_CLOCK_LOST: This message is posted by an element when it
+can no longer provide a clock. The default bin behaviour is to
+check if the lost clock was the one provided by the bin. If so and
+the bin is currently in the PLAYING state, the message is forwarded to
+the bin parent.
+This message is also generated when a clock provider is removed from
+the bin. If this message is received by the application, it should
+PAUSE the pipeline and set it back to PLAYING to force a new clock
+distribution.
+
+* GST_MESSAGE_CLOCK_PROVIDE: This message is generated when an element
+can provide a clock. This mostly happens when a new clock
+provider is added to the bin. The default behaviour of the bin is to
+mark the currently selected clock as dirty, which will perform a clock
+recalculation the next time the bin is asked to provide a clock.
+This message is never sent tot the application but is forwarded to
+the parent of the bin.
+
+* OTHERS: posted upwards.
+
+A #GstBin implements the following default behaviour for answering to a
+#GstQuery:
+
+* GST_QUERY_DURATION: The bin will forward the query to all sink
+elements contained within and will return the maximum value.
+If no sinks are available in the bin, the query fails.
+
+* GST_QUERY_POSITION:The query is sent to all sink elements in the bin and the
+MAXIMUM of all values is returned. If no sinks are available in the bin,
+the query fails.
+
+* OTHERS:the query is forwarded to all sink elements, the result
+of the first sink that answers the query successfully is returned. If no
+sink is in the bin, the query fails.
+
+A #GstBin will by default forward any event sent to it to all sink
+(#GST_EVENT_TYPE_DOWNSTREAM) or source (#GST_EVENT_TYPE_UPSTREAM) elements
+depending on the event type.
+If all the elements return %TRUE, the bin will also return %TRUE, else %FALSE
+is returned. If no elements of the required type are in the bin, the event
+handler will return %TRUE.</doc>
+ <source-position filename="gst/gstbin.h" line="193"/>
+ <implements name="ChildProxy"/>
+ <constructor name="new" c:identifier="gst_bin_new">
+ <doc xml:space="preserve"
+ filename="gst/gstbin.c"
+ line="534">Creates a new bin with the given name.</doc>
+ <source-position filename="gst/gstbin.h" line="199"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbin.c"
+ line="540">a new #GstBin</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </return-value>
+ <parameters>
+ <parameter name="name"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstbin.c"
+ line="536">the name of the new bin</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <virtual-method name="add_element">
+ <source-position filename="gst/gstbin.h" line="177"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="bin" transfer-ownership="none">
+ <type name="Bin" c:type="GstBin*"/>
+ </instance-parameter>
+ <parameter name="element" transfer-ownership="none">
+ <type name="Element" c:type="GstElement*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="deep_element_added">
+ <source-position filename="gst/gstbin.h" line="188"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="bin" transfer-ownership="none">
+ <type name="Bin" c:type="GstBin*"/>
+ </instance-parameter>
+ <parameter name="sub_bin" transfer-ownership="none">
+ <type name="Bin" c:type="GstBin*"/>
+ </parameter>
+ <parameter name="child" transfer-ownership="none">
+ <type name="Element" c:type="GstElement*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="deep_element_removed">
+ <source-position filename="gst/gstbin.h" line="189"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="bin" transfer-ownership="none">
+ <type name="Bin" c:type="GstBin*"/>
+ </instance-parameter>
+ <parameter name="sub_bin" transfer-ownership="none">
+ <type name="Bin" c:type="GstBin*"/>
+ </parameter>
+ <parameter name="child" transfer-ownership="none">
+ <type name="Element" c:type="GstElement*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="do_latency">
+ <source-position filename="gst/gstbin.h" line="184"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="bin" transfer-ownership="none">
+ <type name="Bin" c:type="GstBin*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="element_added">
+ <source-position filename="gst/gstbin.h" line="172"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="bin" transfer-ownership="none">
+ <type name="Bin" c:type="GstBin*"/>
+ </instance-parameter>
+ <parameter name="child" transfer-ownership="none">
+ <type name="Element" c:type="GstElement*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="element_removed">
+ <source-position filename="gst/gstbin.h" line="173"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="bin" transfer-ownership="none">
+ <type name="Bin" c:type="GstBin*"/>
+ </instance-parameter>
+ <parameter name="child" transfer-ownership="none">
+ <type name="Element" c:type="GstElement*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="handle_message">
+ <source-position filename="gst/gstbin.h" line="180"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="bin" transfer-ownership="none">
+ <type name="Bin" c:type="GstBin*"/>
+ </instance-parameter>
+ <parameter name="message" transfer-ownership="none">
+ <type name="Message" c:type="GstMessage*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="remove_element">
+ <source-position filename="gst/gstbin.h" line="178"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="bin" transfer-ownership="none">
+ <type name="Bin" c:type="GstBin*"/>
+ </instance-parameter>
+ <parameter name="element" transfer-ownership="none">
+ <type name="Element" c:type="GstElement*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <method name="add" c:identifier="gst_bin_add">
+ <doc xml:space="preserve"
+ filename="gst/gstbin.c"
+ line="1506">Adds the given element to the bin. Sets the element's parent, and thus
+takes ownership of the element. An element can only be added to one bin.
+
+If the element's pads are linked to other pads, the pads will be unlinked
+before the element is added to the bin.
+
+&gt; When you add an element to an already-running pipeline, you will have to
+&gt; take care to set the state of the newly-added element to the desired
+&gt; state (usually PLAYING or PAUSED, same you set the pipeline to originally)
+&gt; with gst_element_set_state(), or use gst_element_sync_state_with_parent().
+&gt; The bin or pipeline will not take care of this for you.
+
+MT safe.</doc>
+ <source-position filename="gst/gstbin.h" line="204"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbin.c"
+ line="1525">%TRUE if the element could be added, %FALSE if
+the bin does not want to accept the element.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="bin" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbin.c"
+ line="1508">a #GstBin</doc>
+ <type name="Bin" c:type="GstBin*"/>
+ </instance-parameter>
+ <parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbin.c"
+ line="1509">the #GstElement to add</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_many"
+ c:identifier="gst_bin_add_many"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="2684">Adds a %NULL-terminated list of elements to a bin. This function is
+equivalent to calling gst_bin_add() for each member of the list. The return
+value of each gst_bin_add() is ignored.</doc>
+ <source-position filename="gst/gstutils.h" line="1134"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="bin" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="2686">a #GstBin</doc>
+ <type name="Bin" c:type="GstBin*"/>
+ </instance-parameter>
+ <parameter name="element_1" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="2687">the #GstElement element to add to the bin</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </parameter>
+ <parameter name="..." transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="2688">additional elements to add to the bin</doc>
+ <varargs/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="find_unlinked_pad"
+ c:identifier="gst_bin_find_unlinked_pad">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="3286">Recursively looks for elements with an unlinked pad of the given
+direction within the specified bin and returns an unlinked pad
+if one is found, or %NULL otherwise. If a pad is found, the caller
+owns a reference to it and should use gst_object_unref() on the
+pad when it is not needed any longer.</doc>
+ <source-position filename="gst/gstutils.h" line="1140"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="3297">unlinked pad of the given
+direction, %NULL.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="bin" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="3288">bin in which to look for elements with unlinked pads</doc>
+ <type name="Bin" c:type="GstBin*"/>
+ </instance-parameter>
+ <parameter name="direction" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="3289">whether to look for an unlinked source or sink pad</doc>
+ <type name="PadDirection" c:type="GstPadDirection"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_by_interface" c:identifier="gst_bin_get_by_interface">
+ <doc xml:space="preserve"
+ filename="gst/gstbin.c"
+ line="4504">Looks for an element inside the bin that implements the given
+interface. If such an element is found, it returns the element.
+You can cast this element to the given interface afterwards. If you want
+all elements that implement the interface, use
+gst_bin_iterate_all_by_interface(). This function recurses into child bins.
+
+MT safe. Caller owns returned reference.</doc>
+ <source-position filename="gst/gstbin.h" line="218"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstbin.c"
+ line="4517">A #GstElement inside the bin
+implementing the interface</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="bin" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbin.c"
+ line="4506">a #GstBin</doc>
+ <type name="Bin" c:type="GstBin*"/>
+ </instance-parameter>
+ <parameter name="iface" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbin.c"
+ line="4507">the #GType of an interface</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_by_name" c:identifier="gst_bin_get_by_name">
+ <doc xml:space="preserve"
+ filename="gst/gstbin.c"
+ line="4405">Gets the element with the given name from a bin. This
+function recurses into child bins.
+
+Returns %NULL if no element with the given name is found in the bin.
+
+MT safe. Caller owns returned reference.</doc>
+ <source-position filename="gst/gstbin.h" line="212"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstbin.c"
+ line="4417">the #GstElement with the given
+name, or %NULL</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="bin" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbin.c"
+ line="4407">a #GstBin</doc>
+ <type name="Bin" c:type="GstBin*"/>
+ </instance-parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbin.c"
+ line="4408">the element name to search for</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_by_name_recurse_up"
+ c:identifier="gst_bin_get_by_name_recurse_up">
+ <doc xml:space="preserve"
+ filename="gst/gstbin.c"
+ line="4448">Gets the element with the given name from this bin. If the
+element is not found, a recursion is performed on the parent bin.
+
+Returns %NULL if:
+- no element with the given name is found in the bin
+
+MT safe. Caller owns returned reference.</doc>
+ <source-position filename="gst/gstbin.h" line="215"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstbin.c"
+ line="4461">the #GstElement with the given
+name, or %NULL</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="bin" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbin.c"
+ line="4450">a #GstBin</doc>
+ <type name="Bin" c:type="GstBin*"/>
+ </instance-parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbin.c"
+ line="4451">the element name to search for</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_suppressed_flags"
+ c:identifier="gst_bin_get_suppressed_flags"
+ version="1.10">
+ <doc xml:space="preserve"
+ filename="gst/gstbin.c"
+ line="1434">Return the suppressed flags of the bin.
+
+MT safe.</doc>
+ <source-position filename="gst/gstbin.h" line="254"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbin.c"
+ line="1442">the bin's suppressed #GstElementFlags.</doc>
+ <type name="ElementFlags" c:type="GstElementFlags"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="bin" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbin.c"
+ line="1436">a #GstBin</doc>
+ <type name="Bin" c:type="GstBin*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="iterate_all_by_element_factory_name"
+ c:identifier="gst_bin_iterate_all_by_element_factory_name"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="gst/gstbin.c"
+ line="4602">Looks for all elements inside the bin with the given element factory name.
+The function recurses inside child bins. The iterator will yield a series of
+#GstElement that should be unreffed after use.
+
+MT safe. Caller owns returned value.</doc>
+ <source-position filename="gst/gstbin.h" line="241"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstbin.c"
+ line="4613">a #GstIterator of #GstElement
+ for all elements in the bin with the given element factory name,
+ or %NULL.</doc>
+ <type name="Iterator" c:type="GstIterator*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="bin" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbin.c"
+ line="4604">a #GstBin</doc>
+ <type name="Bin" c:type="GstBin*"/>
+ </instance-parameter>
+ <parameter name="factory_name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbin.c"
+ line="4605">the name of the #GstElementFactory</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="iterate_all_by_interface"
+ c:identifier="gst_bin_iterate_all_by_interface">
+ <doc xml:space="preserve"
+ filename="gst/gstbin.c"
+ line="4551">Looks for all elements inside the bin that implements the given
+interface. You can safely cast all returned elements to the given interface.
+The function recurses inside child bins. The iterator will yield a series
+of #GstElement that should be unreffed after use.
+
+MT safe. Caller owns returned value.</doc>
+ <source-position filename="gst/gstbin.h" line="238"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstbin.c"
+ line="4563">a #GstIterator of #GstElement
+ for all elements in the bin implementing the given interface,
+ or %NULL</doc>
+ <type name="Iterator" c:type="GstIterator*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="bin" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbin.c"
+ line="4553">a #GstBin</doc>
+ <type name="Bin" c:type="GstBin*"/>
+ </instance-parameter>
+ <parameter name="iface" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbin.c"
+ line="4554">the #GType of an interface</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="iterate_elements" c:identifier="gst_bin_iterate_elements">
+ <doc xml:space="preserve"
+ filename="gst/gstbin.c"
+ line="1914">Gets an iterator for the elements in this bin.
+
+MT safe. Caller owns returned value.</doc>
+ <source-position filename="gst/gstbin.h" line="223"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstbin.c"
+ line="1922">a #GstIterator of #GstElement,
+or %NULL</doc>
+ <type name="Iterator" c:type="GstIterator*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="bin" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbin.c"
+ line="1916">a #GstBin</doc>
+ <type name="Bin" c:type="GstBin*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="iterate_recurse" c:identifier="gst_bin_iterate_recurse">
+ <doc xml:space="preserve"
+ filename="gst/gstbin.c"
+ line="1954">Gets an iterator for the elements in this bin.
+This iterator recurses into GstBin children.
+
+MT safe. Caller owns returned value.</doc>
+ <source-position filename="gst/gstbin.h" line="229"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstbin.c"
+ line="1963">a #GstIterator of #GstElement,
+or %NULL</doc>
+ <type name="Iterator" c:type="GstIterator*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="bin" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbin.c"
+ line="1956">a #GstBin</doc>
+ <type name="Bin" c:type="GstBin*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="iterate_sinks" c:identifier="gst_bin_iterate_sinks">
+ <doc xml:space="preserve"
+ filename="gst/gstbin.c"
+ line="2012">Gets an iterator for all elements in the bin that have the
+#GST_ELEMENT_FLAG_SINK flag set.
+
+MT safe. Caller owns returned value.</doc>
+ <source-position filename="gst/gstbin.h" line="232"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstbin.c"
+ line="2021">a #GstIterator of #GstElement,
+or %NULL</doc>
+ <type name="Iterator" c:type="GstIterator*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="bin" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbin.c"
+ line="2014">a #GstBin</doc>
+ <type name="Bin" c:type="GstBin*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="iterate_sorted" c:identifier="gst_bin_iterate_sorted">
+ <doc xml:space="preserve"
+ filename="gst/gstbin.c"
+ line="2462">Gets an iterator for the elements in this bin in topologically
+sorted order. This means that the elements are returned from
+the most downstream elements (sinks) to the sources.
+
+This function is used internally to perform the state changes
+of the bin elements and for clock selection.
+
+MT safe. Caller owns returned value.</doc>
+ <source-position filename="gst/gstbin.h" line="226"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstbin.c"
+ line="2475">a #GstIterator of #GstElement,
+or %NULL</doc>
+ <type name="Iterator" c:type="GstIterator*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="bin" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbin.c"
+ line="2464">a #GstBin</doc>
+ <type name="Bin" c:type="GstBin*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="iterate_sources" c:identifier="gst_bin_iterate_sources">
+ <doc xml:space="preserve"
+ filename="gst/gstbin.c"
+ line="2073">Gets an iterator for all elements in the bin that have the
+#GST_ELEMENT_FLAG_SOURCE flag set.
+
+MT safe. Caller owns returned value.</doc>
+ <source-position filename="gst/gstbin.h" line="235"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstbin.c"
+ line="2082">a #GstIterator of #GstElement,
+or %NULL</doc>
+ <type name="Iterator" c:type="GstIterator*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="bin" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbin.c"
+ line="2075">a #GstBin</doc>
+ <type name="Bin" c:type="GstBin*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="recalculate_latency"
+ c:identifier="gst_bin_recalculate_latency">
+ <doc xml:space="preserve"
+ filename="gst/gstbin.c"
+ line="2745">Query @bin for the current latency using and reconfigures this latency to all the
+elements with a LATENCY event.
+
+This method is typically called on the pipeline when a #GST_MESSAGE_LATENCY
+is posted on the bus.
+
+This function simply emits the 'do-latency' signal so any custom latency
+calculations will be performed.</doc>
+ <source-position filename="gst/gstbin.h" line="246"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbin.c"
+ line="2758">%TRUE if the latency could be queried and reconfigured.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="bin" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbin.c"
+ line="2747">a #GstBin</doc>
+ <type name="Bin" c:type="GstBin*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="remove" c:identifier="gst_bin_remove">
+ <doc xml:space="preserve"
+ filename="gst/gstbin.c"
+ line="1861">Removes the element from the bin, unparenting it as well.
+Unparenting the element means that the element will be dereferenced,
+so if the bin holds the only reference to the element, the element
+will be freed in the process of removing it from the bin. If you
+want the element to still exist after removing, you need to call
+gst_object_ref() before removing it from the bin.
+
+If the element's pads are linked to other pads, the pads will be unlinked
+before the element is removed from the bin.
+
+MT safe.</doc>
+ <source-position filename="gst/gstbin.h" line="207"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbin.c"
+ line="1878">%TRUE if the element could be removed, %FALSE if
+the bin does not want to remove the element.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="bin" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbin.c"
+ line="1863">a #GstBin</doc>
+ <type name="Bin" c:type="GstBin*"/>
+ </instance-parameter>
+ <parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbin.c"
+ line="1864">the #GstElement to remove</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="remove_many"
+ c:identifier="gst_bin_remove_many"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="2713">Remove a list of elements from a bin. This function is equivalent
+to calling gst_bin_remove() with each member of the list.</doc>
+ <source-position filename="gst/gstutils.h" line="1137"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="bin" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="2715">a #GstBin</doc>
+ <type name="Bin" c:type="GstBin*"/>
+ </instance-parameter>
+ <parameter name="element_1" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="2716">the first #GstElement to remove from the bin</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </parameter>
+ <parameter name="..." transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="2717">%NULL-terminated list of elements to remove from the bin</doc>
+ <varargs/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_suppressed_flags"
+ c:identifier="gst_bin_set_suppressed_flags"
+ version="1.10">
+ <doc xml:space="preserve"
+ filename="gst/gstbin.c"
+ line="1407">Suppress the given flags on the bin. #GstElementFlags of a
+child element are propagated when it is added to the bin.
+When suppressed flags are set, those specified flags will
+not be propagated to the bin.
+
+MT safe.</doc>
+ <source-position filename="gst/gstbin.h" line="251"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="bin" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbin.c"
+ line="1409">a #GstBin</doc>
+ <type name="Bin" c:type="GstBin*"/>
+ </instance-parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbin.c"
+ line="1410">the #GstElementFlags to suppress</doc>
+ <type name="ElementFlags" c:type="GstElementFlags"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="sync_children_states"
+ c:identifier="gst_bin_sync_children_states"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="3358">Synchronizes the state of every child of @bin with the state
+of @bin. See also gst_element_sync_state_with_parent().</doc>
+ <source-position filename="gst/gstutils.h" line="1143"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="3365">%TRUE if syncing the state was successful for all children,
+ otherwise %FALSE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="bin" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="3360">a #GstBin</doc>
+ <type name="Bin" c:type="GstBin*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <property name="async-handling" writable="1" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbin.c"
+ line="345">If set to %TRUE, the bin will handle asynchronous state changes.
+This should be used only if the bin subclass is modifying the state
+of its children on its own.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </property>
+ <property name="message-forward" writable="1" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbin.c"
+ line="428">Forward all children messages, even those that would normally be filtered by
+the bin. This can be interesting when one wants to be notified of the EOS
+state of individual elements, for example.
+
+The messages are converted to an ELEMENT message with the bin as the
+source. The structure of the message is named 'GstBinForwarded' and contains
+a field named 'message' of type GST_TYPE_MESSAGE that contains the original
+forwarded message.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </property>
+ <field name="element">
+ <type name="Element" c:type="GstElement"/>
+ </field>
+ <field name="numchildren">
+ <doc xml:space="preserve"
+ filename="gst/gstbin.h"
+ line="101">the number of children in this bin</doc>
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="children">
+ <doc xml:space="preserve"
+ filename="gst/gstbin.h"
+ line="102">the list of children in this bin</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="Element"/>
+ </type>
+ </field>
+ <field name="children_cookie">
+ <doc xml:space="preserve"
+ filename="gst/gstbin.h"
+ line="103">updated whenever @children changes</doc>
+ <type name="guint32" c:type="guint32"/>
+ </field>
+ <field name="child_bus">
+ <doc xml:space="preserve"
+ filename="gst/gstbin.h"
+ line="104">internal bus for handling child messages</doc>
+ <type name="Bus" c:type="GstBus*"/>
+ </field>
+ <field name="messages">
+ <doc xml:space="preserve"
+ filename="gst/gstbin.h"
+ line="105">queued and cached messages</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="Message"/>
+ </type>
+ </field>
+ <field name="polling">
+ <doc xml:space="preserve"
+ filename="gst/gstbin.h"
+ line="106">the bin is currently calculating its state</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="state_dirty">
+ <doc xml:space="preserve"
+ filename="gst/gstbin.h"
+ line="107">the bin needs to recalculate its state (deprecated)</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="clock_dirty">
+ <doc xml:space="preserve"
+ filename="gst/gstbin.h"
+ line="108">the bin needs to select a new clock</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="provided_clock">
+ <doc xml:space="preserve"
+ filename="gst/gstbin.h"
+ line="109">the last clock selected</doc>
+ <type name="Clock" c:type="GstClock*"/>
+ </field>
+ <field name="clock_provider">
+ <doc xml:space="preserve"
+ filename="gst/gstbin.h"
+ line="110">the element that provided @provided_clock</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="BinPrivate" c:type="GstBinPrivate*"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <glib:signal name="deep-element-added" when="first" version="1.10">
+ <doc xml:space="preserve"
+ filename="gst/gstbin.c"
+ line="379">Will be emitted after the element was added to sub_bin.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="sub_bin" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbin.c"
+ line="382">the #GstBin the element was added to</doc>
+ <type name="Bin"/>
+ </parameter>
+ <parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbin.c"
+ line="383">the #GstElement that was added to @sub_bin</doc>
+ <type name="Element"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="deep-element-removed" when="first" version="1.10">
+ <doc xml:space="preserve"
+ filename="gst/gstbin.c"
+ line="393">Will be emitted after the element was removed from sub_bin.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="sub_bin" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbin.c"
+ line="396">the #GstBin the element was removed from</doc>
+ <type name="Bin"/>
+ </parameter>
+ <parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbin.c"
+ line="397">the #GstElement that was removed from @sub_bin</doc>
+ <type name="Element"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="do-latency" when="last">
+ <doc xml:space="preserve"
+ filename="gst/gstbin.c"
+ line="407">Will be emitted when the bin needs to perform latency calculations. This
+signal is only emitted for toplevel bins or when async-handling is
+enabled.
+
+Only one signal handler is invoked. If no signals are connected, the
+default handler is invoked, which will query and distribute the lowest
+possible latency to all sinks.
+
+Connect to this signal if the default latency calculations are not
+sufficient, like when you need different latencies for different sinks in
+the same pipeline.</doc>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </glib:signal>
+ <glib:signal name="element-added" when="first">
+ <doc xml:space="preserve"
+ filename="gst/gstbin.c"
+ line="357">Will be emitted after the element was added to the bin.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbin.c"
+ line="360">the #GstElement that was added to the bin</doc>
+ <type name="Element"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="element-removed" when="first">
+ <doc xml:space="preserve"
+ filename="gst/gstbin.c"
+ line="368">Will be emitted after the element was removed from the bin.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbin.c"
+ line="371">the #GstElement that was removed from the bin</doc>
+ <type name="Element"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ </class>
+ <record name="BinClass"
+ c:type="GstBinClass"
+ glib:is-gtype-struct-for="Bin">
+ <doc xml:space="preserve"
+ filename="gst/gstbin.h"
+ line="141">Subclasses can override the @add_element and @remove_element to
+update the list of children in the bin.
+
+The @handle_message method can be overridden to implement custom
+message handling. @handle_message takes ownership of the message, just like
+#gst_element_post_message.
+
+The @deep_element_added vfunc will be called when a new element has been
+added to any bin inside this bin, so it will also be called if a new child
+was added to a sub-bin of this bin. #GstBin implementations that override
+this message should chain up to the parent class implementation so the
+#GstBin::deep-element-added signal is emitted on all parents.</doc>
+ <source-position filename="gst/gstbin.h" line="193"/>
+ <field name="parent_class">
+ <doc xml:space="preserve"
+ filename="gst/gstbin.h"
+ line="143">bin parent class</doc>
+ <type name="ElementClass" c:type="GstElementClass"/>
+ </field>
+ <field name="pool" readable="0" private="1">
+ <type name="GLib.ThreadPool" c:type="GThreadPool*"/>
+ </field>
+ <field name="element_added">
+ <callback name="element_added">
+ <source-position filename="gst/gstbin.h" line="172"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="bin" transfer-ownership="none">
+ <type name="Bin" c:type="GstBin*"/>
+ </parameter>
+ <parameter name="child" transfer-ownership="none">
+ <type name="Element" c:type="GstElement*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="element_removed">
+ <callback name="element_removed">
+ <source-position filename="gst/gstbin.h" line="173"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="bin" transfer-ownership="none">
+ <type name="Bin" c:type="GstBin*"/>
+ </parameter>
+ <parameter name="child" transfer-ownership="none">
+ <type name="Element" c:type="GstElement*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="add_element">
+ <callback name="add_element">
+ <source-position filename="gst/gstbin.h" line="177"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="bin" transfer-ownership="none">
+ <type name="Bin" c:type="GstBin*"/>
+ </parameter>
+ <parameter name="element" transfer-ownership="none">
+ <type name="Element" c:type="GstElement*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="remove_element">
+ <callback name="remove_element">
+ <source-position filename="gst/gstbin.h" line="178"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="bin" transfer-ownership="none">
+ <type name="Bin" c:type="GstBin*"/>
+ </parameter>
+ <parameter name="element" transfer-ownership="none">
+ <type name="Element" c:type="GstElement*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="handle_message">
+ <callback name="handle_message">
+ <source-position filename="gst/gstbin.h" line="180"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="bin" transfer-ownership="none">
+ <type name="Bin" c:type="GstBin*"/>
+ </parameter>
+ <parameter name="message" transfer-ownership="none">
+ <type name="Message" c:type="GstMessage*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="do_latency">
+ <callback name="do_latency">
+ <source-position filename="gst/gstbin.h" line="184"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="bin" transfer-ownership="none">
+ <type name="Bin" c:type="GstBin*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="deep_element_added">
+ <callback name="deep_element_added">
+ <source-position filename="gst/gstbin.h" line="188"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="bin" transfer-ownership="none">
+ <type name="Bin" c:type="GstBin*"/>
+ </parameter>
+ <parameter name="sub_bin" transfer-ownership="none">
+ <type name="Bin" c:type="GstBin*"/>
+ </parameter>
+ <parameter name="child" transfer-ownership="none">
+ <type name="Element" c:type="GstElement*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="deep_element_removed">
+ <callback name="deep_element_removed">
+ <source-position filename="gst/gstbin.h" line="189"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="bin" transfer-ownership="none">
+ <type name="Bin" c:type="GstBin*"/>
+ </parameter>
+ <parameter name="sub_bin" transfer-ownership="none">
+ <type name="Bin" c:type="GstBin*"/>
+ </parameter>
+ <parameter name="child" transfer-ownership="none">
+ <type name="Element" c:type="GstElement*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="2">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <bitfield name="BinFlags"
+ glib:type-name="GstBinFlags"
+ glib:get-type="gst_bin_flags_get_type"
+ c:type="GstBinFlags">
+ <doc xml:space="preserve"
+ filename="gst/gstbin.h"
+ line="41">GstBinFlags are a set of flags specific to bins. Most are set/used
+internally. They can be checked using the GST_OBJECT_FLAG_IS_SET () macro,
+and (un)set using GST_OBJECT_FLAG_SET () and GST_OBJECT_FLAG_UNSET ().</doc>
+ <member name="no_resync"
+ value="16384"
+ c:identifier="GST_BIN_FLAG_NO_RESYNC"
+ glib:nick="no-resync">
+ <doc xml:space="preserve"
+ filename="gst/gstbin.h"
+ line="43">don't resync a state change when elements are
+ added or linked in the bin (Since: 1.0.5)</doc>
+ </member>
+ <member name="streams_aware"
+ value="32768"
+ c:identifier="GST_BIN_FLAG_STREAMS_AWARE"
+ glib:nick="streams-aware">
+ <doc xml:space="preserve"
+ filename="gst/gstbin.h"
+ line="45">Indicates whether the bin can handle elements
+ that add/remove source pads at any point in time without
+ first posting a no-more-pads signal (Since: 1.10)</doc>
+ </member>
+ <member name="last"
+ value="524288"
+ c:identifier="GST_BIN_FLAG_LAST"
+ glib:nick="last">
+ <doc xml:space="preserve"
+ filename="gst/gstbin.h"
+ line="48">the last enum in the series of flags for bins.
+Derived classes can use this as first value in a list of flags.</doc>
+ </member>
+ </bitfield>
+ <record name="BinPrivate" c:type="GstBinPrivate" disguised="1">
+ <source-position filename="gst/gstbin.h" line="75"/>
+ </record>
+ <class name="Bitmask"
+ c:symbol-prefix="bitmask"
+ glib:type-name="GstBitmask"
+ glib:get-type="gst_bitmask_get_type"
+ glib:fundamental="1">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.h"
+ line="358">A fundamental type that describes a 64-bit bitmask</doc>
+ </class>
+ <record name="Buffer"
+ c:type="GstBuffer"
+ glib:type-name="GstBuffer"
+ glib:get-type="gst_buffer_get_type"
+ c:symbol-prefix="buffer">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="23">Buffers are the basic unit of data transfer in GStreamer. They contain the
+timing and offset along with other arbitrary metadata that is associated
+with the #GstMemory blocks that the buffer contains.
+
+Buffers are usually created with gst_buffer_new(). After a buffer has been
+created one will typically allocate memory for it and add it to the buffer.
+The following example creates a buffer that can hold a given video frame
+with a given width, height and bits per plane.
+|[&lt;!-- language="C" --&gt;
+ GstBuffer *buffer;
+ GstMemory *memory;
+ gint size, width, height, bpp;
+ ...
+ size = width * height * bpp;
+ buffer = gst_buffer_new ();
+ memory = gst_allocator_alloc (NULL, size, NULL);
+ gst_buffer_insert_memory (buffer, -1, memory);
+ ...
+]|
+
+Alternatively, use gst_buffer_new_allocate() to create a buffer with
+preallocated data of a given size.
+
+Buffers can contain a list of #GstMemory objects. You can retrieve how many
+memory objects with gst_buffer_n_memory() and you can get a pointer
+to memory with gst_buffer_peek_memory()
+
+A buffer will usually have timestamps, and a duration, but neither of these
+are guaranteed (they may be set to #GST_CLOCK_TIME_NONE). Whenever a
+meaningful value can be given for these, they should be set. The timestamps
+and duration are measured in nanoseconds (they are #GstClockTime values).
+
+The buffer DTS refers to the timestamp when the buffer should be decoded and
+is usually monotonically increasing. The buffer PTS refers to the timestamp when
+the buffer content should be presented to the user and is not always
+monotonically increasing.
+
+A buffer can also have one or both of a start and an end offset. These are
+media-type specific. For video buffers, the start offset will generally be
+the frame number. For audio buffers, it will be the number of samples
+produced so far. For compressed data, it could be the byte offset in a
+source or destination file. Likewise, the end offset will be the offset of
+the end of the buffer. These can only be meaningfully interpreted if you
+know the media type of the buffer (the preceding CAPS event). Either or both
+can be set to #GST_BUFFER_OFFSET_NONE.
+
+gst_buffer_ref() is used to increase the refcount of a buffer. This must be
+done when you want to keep a handle to the buffer after pushing it to the
+next element. The buffer refcount determines the writability of the buffer, a
+buffer is only writable when the refcount is exactly 1, i.e. when the caller
+has the only reference to the buffer.
+
+To efficiently create a smaller buffer out of an existing one, you can
+use gst_buffer_copy_region(). This method tries to share the memory objects
+between the two buffers.
+
+If a plug-in wants to modify the buffer data or metadata in-place, it should
+first obtain a buffer that is safe to modify by using
+gst_buffer_make_writable(). This function is optimized so that a copy will
+only be made when it is necessary.
+
+Several flags of the buffer can be set and unset with the
+GST_BUFFER_FLAG_SET() and GST_BUFFER_FLAG_UNSET() macros. Use
+GST_BUFFER_FLAG_IS_SET() to test if a certain #GstBufferFlags flag is set.
+
+Buffers can be efficiently merged into a larger buffer with
+gst_buffer_append(). Copying of memory will only be done when absolutely
+needed.
+
+Arbitrary extra metadata can be set on a buffer with gst_buffer_add_meta().
+Metadata can be retrieved with gst_buffer_get_meta(). See also #GstMeta
+
+An element should either unref the buffer or push it out on a src pad
+using gst_pad_push() (see #GstPad).
+
+Buffers are usually freed by unreffing them with gst_buffer_unref(). When
+the refcount drops to 0, any memory and metadata pointed to by the buffer is
+unreffed as well. Buffers allocated from a #GstBufferPool will be returned to
+the pool when the refcount drops to 0.
+
+The #GstParentBufferMeta is a meta which can be attached to a #GstBuffer
+to hold a reference to another buffer that is only released when the child
+#GstBuffer is released.
+
+Typically, #GstParentBufferMeta is used when the child buffer is directly
+using the #GstMemory of the parent buffer, and wants to prevent the parent
+buffer from being returned to a buffer pool until the #GstMemory is available
+for re-use. (Since: 1.6)</doc>
+ <source-position filename="gst/gstbuffer.h" line="278"/>
+ <field name="mini_object" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="243">the parent structure</doc>
+ <type name="MiniObject" c:type="GstMiniObject"/>
+ </field>
+ <field name="pool" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="244">pointer to the pool owner of the buffer</doc>
+ <type name="BufferPool" c:type="GstBufferPool*"/>
+ </field>
+ <field name="pts" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="245">presentation timestamp of the buffer, can be #GST_CLOCK_TIME_NONE when the
+ pts is not known or relevant. The pts contains the timestamp when the
+ media should be presented to the user.</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </field>
+ <field name="dts" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="248">decoding timestamp of the buffer, can be #GST_CLOCK_TIME_NONE when the
+ dts is not known or relevant. The dts contains the timestamp when the
+ media should be processed.</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </field>
+ <field name="duration" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="251">duration in time of the buffer data, can be #GST_CLOCK_TIME_NONE
+ when the duration is not known or relevant.</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </field>
+ <field name="offset" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="253">a media specific offset for the buffer data.
+ For video frames, this is the frame number of this buffer.
+ For audio samples, this is the offset of the first sample in this buffer.
+ For file data or compressed data this is the byte offset of the first
+ byte in this buffer.</doc>
+ <type name="guint64" c:type="guint64"/>
+ </field>
+ <field name="offset_end" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="258">the last offset contained in this buffer. It has the same
+ format as @offset.</doc>
+ <type name="guint64" c:type="guint64"/>
+ </field>
+ <constructor name="new" c:identifier="gst_buffer_new">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="836">Creates a newly allocated buffer without any data.
+
+MT safe.</doc>
+ <source-position filename="gst/gstbuffer.h" line="289"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="843">the new #GstBuffer.</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ </constructor>
+ <constructor name="new_allocate" c:identifier="gst_buffer_new_allocate">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="858">Tries to create a newly allocated buffer with data of the given size and
+extra parameters from @allocator. If the requested amount of memory can't be
+allocated, %NULL will be returned. The allocated buffer memory is not cleared.
+
+When @allocator is %NULL, the default memory allocator will be used.
+
+Note that when @size == 0, the buffer will not have memory associated with it.
+
+MT safe.</doc>
+ <source-position filename="gst/gstbuffer.h" line="292"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="875">a new #GstBuffer, or %NULL if
+ the memory couldn't be allocated.</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <parameter name="allocator"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="860">the #GstAllocator to use, or %NULL to use the
+ default allocator</doc>
+ <type name="Allocator" c:type="GstAllocator*"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="862">the size in bytes of the new buffer's data.</doc>
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ <parameter name="params"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="863">optional parameters</doc>
+ <type name="AllocationParams" c:type="GstAllocationParams*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_wrapped" c:identifier="gst_buffer_new_wrapped">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1004">Creates a new buffer that wraps the given @data. The memory will be freed
+with g_free and will be marked writable.
+
+MT safe.</doc>
+ <source-position filename="gst/gstbuffer.h" line="299"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1014">a new #GstBuffer</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <parameter name="data" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1006">data to wrap</doc>
+ <array length="1" zero-terminated="0" c:type="gpointer">
+ <type name="guint8"/>
+ </array>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1007">allocated size of @data</doc>
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_wrapped_bytes"
+ c:identifier="gst_buffer_new_wrapped_bytes"
+ version="1.16">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1022">Creates a new #GstBuffer that wraps the given @bytes. The data inside
+@bytes cannot be %NULL and the resulting buffer will be marked as read only.
+
+MT safe.</doc>
+ <source-position filename="gst/gstbuffer.h" line="301"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1031">a new #GstBuffer wrapping @bytes</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <parameter name="bytes" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1024">a #GBytes to wrap</doc>
+ <type name="GLib.Bytes" c:type="GBytes*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_wrapped_full"
+ c:identifier="gst_buffer_new_wrapped_full">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="964">Allocate a new buffer that wraps the given memory. @data must point to
+@maxsize of memory, the wrapped buffer will have the region from @offset and
+@size visible.
+
+When the buffer is destroyed, @notify will be called with @user_data.
+
+The prefix/padding must be filled with 0 if @flags contains
+#GST_MEMORY_FLAG_ZERO_PREFIXED and #GST_MEMORY_FLAG_ZERO_PADDED respectively.</doc>
+ <source-position filename="gst/gstbuffer.h" line="295"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="983">a new #GstBuffer</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="966">#GstMemoryFlags</doc>
+ <type name="MemoryFlags" c:type="GstMemoryFlags"/>
+ </parameter>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="967">data to wrap</doc>
+ <array length="4" zero-terminated="0" c:type="gpointer">
+ <type name="guint8"/>
+ </array>
+ </parameter>
+ <parameter name="maxsize" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="968">allocated size of @data</doc>
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ <parameter name="offset" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="969">offset in @data</doc>
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="970">size of valid data</doc>
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="971">user_data</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="notify"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1"
+ scope="async"
+ closure="5">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="972">called with @user_data when the memory is freed</doc>
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <method name="add_custom_meta"
+ c:identifier="gst_buffer_add_custom_meta"
+ version="1.20">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="2875">Creates and adds a #GstCustomMeta for the desired @name. @name must have
+been successfully registered with gst_meta_register_custom().</doc>
+ <source-position filename="gst/gstbuffer.h" line="668"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="2883">The #GstCustomMeta that was added to the buffer</doc>
+ <type name="CustomMeta" c:type="GstCustomMeta*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="2877">a #GstBuffer</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </instance-parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="2878">the registered name of the desired custom meta</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_meta" c:identifier="gst_buffer_add_meta">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="2271">Add metadata for @info to @buffer using the parameters in @params.</doc>
+ <source-position filename="gst/gstbuffer.h" line="650"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="2279">the metadata for the api in @info on @buffer.</doc>
+ <type name="Meta" c:type="GstMeta*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="2273">a #GstBuffer</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </instance-parameter>
+ <parameter name="info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="2274">a #GstMetaInfo</doc>
+ <type name="MetaInfo" c:type="const GstMetaInfo*"/>
+ </parameter>
+ <parameter name="params"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="2275">params for @info</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_parent_buffer_meta"
+ c:identifier="gst_buffer_add_parent_buffer_meta"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="2574">Add a #GstParentBufferMeta to @buffer that holds a reference on
+@ref until the buffer is freed.</doc>
+ <source-position filename="gst/gstbuffer.h" line="753"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="2582">The #GstParentBufferMeta that was added to the buffer</doc>
+ <type name="ParentBufferMeta" c:type="GstParentBufferMeta*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="2576">a #GstBuffer</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </instance-parameter>
+ <parameter name="ref" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="2577">a #GstBuffer to ref</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_protection_meta"
+ c:identifier="gst_buffer_add_protection_meta"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst/gstprotection.c"
+ line="127">Attaches protection metadata to a #GstBuffer.</doc>
+ <source-position filename="gst/gstprotection.h" line="90"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstprotection.c"
+ line="137">a pointer to the added #GstProtectionMeta if successful; %NULL if
+unsuccessful.</doc>
+ <type name="ProtectionMeta" c:type="GstProtectionMeta*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstprotection.c"
+ line="129">#GstBuffer holding an encrypted sample, to which protection
+ metadata should be added.</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </instance-parameter>
+ <parameter name="info" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstprotection.c"
+ line="131">a #GstStructure holding cryptographic
+ information relating to the sample contained in @buffer. This
+ function takes ownership of @info.</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_reference_timestamp_meta"
+ c:identifier="gst_buffer_add_reference_timestamp_meta"
+ version="1.14">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="2705">Add a #GstReferenceTimestampMeta to @buffer that holds a @timestamp and
+optionally @duration based on a specific timestamp @reference. See the
+documentation of #GstReferenceTimestampMeta for details.</doc>
+ <source-position filename="gst/gstbuffer.h" line="798"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="2716">The #GstReferenceTimestampMeta that was added to the buffer</doc>
+ <type name="ReferenceTimestampMeta"
+ c:type="GstReferenceTimestampMeta*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="2707">a #GstBuffer</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </instance-parameter>
+ <parameter name="reference" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="2708">identifier for the timestamp reference.</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </parameter>
+ <parameter name="timestamp" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="2709">timestamp</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="duration" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="2710">duration, or %GST_CLOCK_TIME_NONE</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="append" c:identifier="gst_buffer_append">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="2152">Append all the memory from @buf2 to @buf1. The result buffer will contain a
+concatenation of the memory of @buf1 and @buf2.</doc>
+ <source-position filename="gst/gstbuffer.h" line="617"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="2160">the new #GstBuffer that contains the memory
+ of the two source buffers.</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="buf1" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="2154">the first source #GstBuffer to append.</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </instance-parameter>
+ <parameter name="buf2" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="2155">the second source #GstBuffer to append.</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="append_memory" c:identifier="gst_buffer_append_memory">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1083">Append the memory block @mem to @buffer. This function takes
+ownership of @mem and thus doesn't increase its refcount.
+
+This function is identical to gst_buffer_insert_memory() with an index of -1.
+See gst_buffer_insert_memory() for more details.</doc>
+ <source-position filename="gst/gstbuffer.h" line="327"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1085">a #GstBuffer.</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </instance-parameter>
+ <parameter name="mem" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1086">a #GstMemory.</doc>
+ <type name="Memory" c:type="GstMemory*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="append_region" c:identifier="gst_buffer_append_region">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="2169">Append @size bytes at @offset from @buf2 to @buf1. The result buffer will
+contain a concatenation of the memory of @buf1 and the requested region of
+@buf2.</doc>
+ <source-position filename="gst/gstbuffer.h" line="614"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="2180">the new #GstBuffer that contains the memory
+ of the two source buffers.</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="buf1" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="2171">the first source #GstBuffer to append.</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </instance-parameter>
+ <parameter name="buf2" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="2172">the second source #GstBuffer to append.</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="offset" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="2173">the offset in @buf2</doc>
+ <type name="gssize" c:type="gssize"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="2174">the size or -1 of @buf2</doc>
+ <type name="gssize" c:type="gssize"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="copy" c:identifier="gst_buffer_copy" introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="469">Create a copy of the given buffer. This will only copy the buffer's
+data to a newly allocated memory if needed (if the type of memory
+requires it), otherwise the underlying data is just referenced.
+Check gst_buffer_copy_deep() if you want to force the data
+to be copied to newly allocated memory.</doc>
+ <source-position filename="gst/gstbuffer.h" line="481"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="479">a new copy of @buf.</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="buf" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="471">a #GstBuffer.</doc>
+ <type name="Buffer" c:type="const GstBuffer*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="copy_deep"
+ c:identifier="gst_buffer_copy_deep"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="728">Create a copy of the given buffer. This will make a newly allocated
+copy of the data the source buffer contains.</doc>
+ <source-position filename="gst/gstbuffer.h" line="489"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="735">a new copy of @buf.</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="buf" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="730">a #GstBuffer.</doc>
+ <type name="Buffer" c:type="const GstBuffer*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="copy_into" c:identifier="gst_buffer_copy_into">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="519">Copies the information from @src into @dest.
+
+If @dest already contains memory and @flags contains GST_BUFFER_COPY_MEMORY,
+the memory from @src will be appended to @dest.
+
+@flags indicate which fields will be copied.</doc>
+ <source-position filename="gst/gstbuffer.h" line="541"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="534">%TRUE if the copying succeeded, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="dest" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="521">a destination #GstBuffer</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </instance-parameter>
+ <parameter name="src" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="522">a source #GstBuffer</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="523">flags indicating what metadata fields should be copied.</doc>
+ <type name="BufferCopyFlags" c:type="GstBufferCopyFlags"/>
+ </parameter>
+ <parameter name="offset" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="524">offset to copy from</doc>
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="525">total size to copy. If -1, all data is copied.</doc>
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="copy_region" c:identifier="gst_buffer_copy_region">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="2109">Creates a sub-buffer from @parent at @offset and @size.
+This sub-buffer uses the actual memory space of the parent buffer.
+This function will copy the offset and timestamp fields when the
+offset is 0. If not, they will be set to #GST_CLOCK_TIME_NONE and
+#GST_BUFFER_OFFSET_NONE.
+If @offset equals 0 and @size equals the total size of @buffer, the
+duration and offset end fields are also copied. If not they will be set
+to #GST_CLOCK_TIME_NONE and #GST_BUFFER_OFFSET_NONE.
+
+MT safe.</doc>
+ <source-position filename="gst/gstbuffer.h" line="608"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="2129">the new #GstBuffer or %NULL if the arguments were
+ invalid.</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="parent" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="2111">a #GstBuffer.</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </instance-parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="2112">the #GstBufferCopyFlags</doc>
+ <type name="BufferCopyFlags" c:type="GstBufferCopyFlags"/>
+ </parameter>
+ <parameter name="offset" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="2113">the offset into parent #GstBuffer at which the new sub-buffer
+ begins.</doc>
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="2115">the size of the new #GstBuffer sub-buffer, in bytes. If -1, all
+ data is copied.</doc>
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="extract" c:identifier="gst_buffer_extract">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1957">Copy @size bytes starting from @offset in @buffer to @dest.</doc>
+ <source-position filename="gst/gstbuffer.h" line="360"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1967">The amount of bytes extracted. This value can be lower than @size
+ when @buffer did not contain enough data.</doc>
+ <type name="gsize" c:type="gsize"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1959">a #GstBuffer.</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </instance-parameter>
+ <parameter name="offset" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1960">the offset to extract</doc>
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ <parameter name="dest"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1961">
+ the destination address</doc>
+ <array length="2" zero-terminated="0" c:type="gpointer">
+ <type name="guint8"/>
+ </array>
+ </parameter>
+ <parameter name="size"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1963">the size to extract</doc>
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="extract_dup"
+ c:identifier="gst_buffer_extract_dup"
+ version="1.0.10">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="2539">Extracts a copy of at most @size bytes the data at @offset into
+newly-allocated memory. @dest must be freed using g_free() when done.</doc>
+ <source-position filename="gst/gstbuffer.h" line="396"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="2541">a #GstBuffer</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </instance-parameter>
+ <parameter name="offset" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="2542">the offset to extract</doc>
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="2543">the size to extract</doc>
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ <parameter name="dest"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="2544">A pointer where
+ the destination array will be written. Might be %NULL if the size is 0.</doc>
+ <array length="3" zero-terminated="0" c:type="gpointer*">
+ <type name="guint8"/>
+ </array>
+ </parameter>
+ <parameter name="dest_size"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="2546">A location where the size of @dest can be written</doc>
+ <type name="gsize" c:type="gsize*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="fill" c:identifier="gst_buffer_fill">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1905">Copy @size bytes from @src to @buffer at @offset.</doc>
+ <source-position filename="gst/gstbuffer.h" line="357"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1914">The amount of bytes copied. This value can be lower than @size
+ when @buffer did not contain enough data.</doc>
+ <type name="gsize" c:type="gsize"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1907">a #GstBuffer.</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </instance-parameter>
+ <parameter name="offset" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1908">the offset to fill</doc>
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ <parameter name="src" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1909">the source address</doc>
+ <array length="2" zero-terminated="0" c:type="gconstpointer">
+ <type name="guint8"/>
+ </array>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1910">the size to fill</doc>
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="find_memory" c:identifier="gst_buffer_find_memory">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1359">Find the memory blocks that span @size bytes starting from @offset
+in @buffer.
+
+When this function returns %TRUE, @idx will contain the index of the first
+memory block where the byte for @offset can be found and @length contains the
+number of memory blocks containing the @size remaining bytes. @skip contains
+the number of bytes to skip in the memory block at @idx to get to the byte
+for @offset.
+
+@size can be -1 to get all the memory blocks after @idx.</doc>
+ <source-position filename="gst/gstbuffer.h" line="348"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1379">%TRUE when @size bytes starting from @offset could be found in
+@buffer and @idx, @length and @skip will be filled.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1361">a #GstBuffer.</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </instance-parameter>
+ <parameter name="offset" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1362">an offset</doc>
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1363">a size</doc>
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ <parameter name="idx"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1364">pointer to index</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ <parameter name="length"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1365">pointer to length</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ <parameter name="skip"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1366">pointer to skip</doc>
+ <type name="gsize" c:type="gsize*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="foreach_meta" c:identifier="gst_buffer_foreach_meta">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="2467">Call @func with @user_data for each meta in @buffer.
+
+@func can modify the passed meta pointer or its contents. The return value
+of @func define if this function returns or if the remaining metadata items
+in the buffer should be skipped.</doc>
+ <source-position filename="gst/gstbuffer.h" line="663"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="2479">%FALSE when @func returned %FALSE for one of the metadata.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="2469">a #GstBuffer</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </instance-parameter>
+ <parameter name="func"
+ transfer-ownership="none"
+ scope="call"
+ closure="1">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="2470">a #GstBufferForeachMetaFunc to call</doc>
+ <type name="BufferForeachMetaFunc"
+ c:type="GstBufferForeachMetaFunc"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="2471">user data passed to @func</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_all_memory" c:identifier="gst_buffer_get_all_memory">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1193">Get all the memory block in @buffer. The memory blocks will be merged
+into one large #GstMemory.</doc>
+ <source-position filename="gst/gstbuffer.h" line="339"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1200">a #GstMemory that contains the merged memory.
+Use gst_memory_unref () after usage.</doc>
+ <type name="Memory" c:type="GstMemory*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1195">a #GstBuffer.</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_custom_meta"
+ c:identifier="gst_buffer_get_custom_meta"
+ version="1.20">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="2906">Find the first #GstCustomMeta on @buffer for the desired @name.</doc>
+ <source-position filename="gst/gstbuffer.h" line="672"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="2913">the #GstCustomMeta or %NULL when there
+is no such metadata on @buffer.</doc>
+ <type name="CustomMeta" c:type="GstCustomMeta*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="2908">a #GstBuffer</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </instance-parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="2909">the registered name of the custom meta to retrieve.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_flags"
+ c:identifier="gst_buffer_get_flags"
+ version="1.10">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="353">Get the #GstBufferFlags flags set on this buffer.</doc>
+ <source-position filename="gst/gstbuffer.h" line="400"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="359">the flags set on this buffer.</doc>
+ <type name="BufferFlags" c:type="GstBufferFlags"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="355">a #GstBuffer</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_memory" c:identifier="gst_buffer_get_memory">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1177">Get the memory block at index @idx in @buffer.</doc>
+ <source-position filename="gst/gstbuffer.h" line="336"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1184">a #GstMemory that contains the data of the
+memory block at @idx. Use gst_memory_unref () after usage.</doc>
+ <type name="Memory" c:type="GstMemory*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1179">a #GstBuffer.</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </instance-parameter>
+ <parameter name="idx" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1180">an index</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_memory_range"
+ c:identifier="gst_buffer_get_memory_range">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1209">Get @length memory blocks in @buffer starting at @idx. The memory blocks will
+be merged into one large #GstMemory.
+
+If @length is -1, all memory starting from @idx is merged.</doc>
+ <source-position filename="gst/gstbuffer.h" line="318"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1220">a #GstMemory that contains the merged data of @length
+ blocks starting at @idx. Use gst_memory_unref () after usage.</doc>
+ <type name="Memory" c:type="GstMemory*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1211">a #GstBuffer.</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </instance-parameter>
+ <parameter name="idx" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1212">an index</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="length" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1213">a length</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_meta" c:identifier="gst_buffer_get_meta">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="2215">Get the metadata for @api on buffer. When there is no such metadata, %NULL is
+returned. If multiple metadata with the given @api are attached to this
+buffer only the first one is returned. To handle multiple metadata with a
+given API use gst_buffer_iterate_meta() or gst_buffer_foreach_meta() instead
+and check the meta-&gt;info.api member for the API type.</doc>
+ <source-position filename="gst/gstbuffer.h" line="644"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="2226">the metadata for @api on
+@buffer.</doc>
+ <type name="Meta" c:type="GstMeta*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="2217">a #GstBuffer</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </instance-parameter>
+ <parameter name="api" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="2218">the #GType of an API</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_n_meta"
+ c:identifier="gst_buffer_get_n_meta"
+ version="1.14">
+ <source-position filename="gst/gstbuffer.h" line="647"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="2254">number of metas of type @api_type on @buffer.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="2251">a #GstBuffer</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </instance-parameter>
+ <parameter name="api_type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="2252">the #GType of an API</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_reference_timestamp_meta"
+ c:identifier="gst_buffer_get_reference_timestamp_meta"
+ version="1.14">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="2743">Find the first #GstReferenceTimestampMeta on @buffer that conforms to
+@reference. Conformance is tested by checking if the meta's reference is a
+subset of @reference.
+
+Buffers can contain multiple #GstReferenceTimestampMeta metadata items.</doc>
+ <source-position filename="gst/gstbuffer.h" line="804"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="2754">the #GstReferenceTimestampMeta or %NULL when there
+is no such metadata on @buffer.</doc>
+ <type name="ReferenceTimestampMeta"
+ c:type="GstReferenceTimestampMeta*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="2745">a #GstBuffer</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </instance-parameter>
+ <parameter name="reference"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="2746">a reference #GstCaps</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_size" c:identifier="gst_buffer_get_size">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1516">Get the total size of the memory blocks in @buffer.</doc>
+ <source-position filename="gst/gstbuffer.h" line="378"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1522">total size of the memory blocks in @buffer.</doc>
+ <type name="gsize" c:type="gsize"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1518">a #GstBuffer.</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_sizes" c:identifier="gst_buffer_get_sizes">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1494">Get the total size of the memory blocks in @b.
+
+When not %NULL, @offset will contain the offset of the data in the
+first memory block in @buffer and @maxsize will contain the sum of
+the size and @offset and the amount of extra padding on the last
+memory block. @offset and @maxsize can be used to resize the
+buffer memory blocks with gst_buffer_resize().</doc>
+ <source-position filename="gst/gstbuffer.h" line="375"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1508">total size of the memory blocks in @buffer.</doc>
+ <type name="gsize" c:type="gsize"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1496">a #GstBuffer.</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </instance-parameter>
+ <parameter name="offset"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1497">a pointer to the offset</doc>
+ <type name="gsize" c:type="gsize*"/>
+ </parameter>
+ <parameter name="maxsize"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1498">a pointer to the maxsize</doc>
+ <type name="gsize" c:type="gsize*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_sizes_range" c:identifier="gst_buffer_get_sizes_range">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1539">Get the total size of @length memory blocks stating from @idx in @buffer.
+
+When not %NULL, @offset will contain the offset of the data in the
+memory block in @buffer at @idx and @maxsize will contain the sum of the size
+and @offset and the amount of extra padding on the memory block at @idx +
+@length -1.
+@offset and @maxsize can be used to resize the buffer memory blocks with
+gst_buffer_resize_range().</doc>
+ <source-position filename="gst/gstbuffer.h" line="369"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1556">total size of @length memory blocks starting at @idx in @buffer.</doc>
+ <type name="gsize" c:type="gsize"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1541">a #GstBuffer.</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </instance-parameter>
+ <parameter name="idx" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1542">an index</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="length" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1543">a length</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="offset"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1544">a pointer to the offset</doc>
+ <type name="gsize" c:type="gsize*"/>
+ </parameter>
+ <parameter name="maxsize"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1545">a pointer to the maxsize</doc>
+ <type name="gsize" c:type="gsize*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="has_flags"
+ c:identifier="gst_buffer_has_flags"
+ version="1.10">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="369">Gives the status of a specific flag on a buffer.</doc>
+ <source-position filename="gst/gstbuffer.h" line="403"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="376">%TRUE if all flags in @flags are found on @buffer.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="371">a #GstBuffer</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </instance-parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="372">the #GstBufferFlags flag to check.</doc>
+ <type name="BufferFlags" c:type="GstBufferFlags"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="insert_memory" c:identifier="gst_buffer_insert_memory">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1100">Insert the memory block @mem to @buffer at @idx. This function takes ownership
+of @mem and thus doesn't increase its refcount.
+
+Only gst_buffer_get_max_memory() can be added to a buffer. If more memory is
+added, existing memory blocks will automatically be merged to make room for
+the new memory.</doc>
+ <source-position filename="gst/gstbuffer.h" line="309"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1102">a #GstBuffer.</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </instance-parameter>
+ <parameter name="idx" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1103">the index to add the memory at, or -1 to append it to the end</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="mem" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1104">a #GstMemory.</doc>
+ <type name="Memory" c:type="GstMemory*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="is_all_memory_writable"
+ c:identifier="gst_buffer_is_all_memory_writable"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1475">Check if all memory blocks in @buffer are writable.
+
+Note that this function does not check if @buffer is writable, use
+gst_buffer_is_writable() to check that if needed.</doc>
+ <source-position filename="gst/gstbuffer.h" line="354"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1484">%TRUE if all memory blocks in @buffer are writable</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1477">a #GstBuffer.</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="is_memory_range_writable"
+ c:identifier="gst_buffer_is_memory_range_writable"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1432">Check if @length memory blocks in @buffer starting from @idx are writable.
+
+@length can be -1 to check all the memory blocks after @idx.
+
+Note that this function does not check if @buffer is writable, use
+gst_buffer_is_writable() to check that if needed.</doc>
+ <source-position filename="gst/gstbuffer.h" line="351"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1445">%TRUE if the memory range is writable</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1434">a #GstBuffer.</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </instance-parameter>
+ <parameter name="idx" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1435">an index</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="length" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1436">a length should not be 0</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="iterate_meta"
+ c:identifier="gst_buffer_iterate_meta"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="2389">Retrieve the next #GstMeta after @current. If @state points
+to %NULL, the first metadata is returned.
+
+@state will be updated with an opaque state pointer</doc>
+ <source-position filename="gst/gstbuffer.h" line="656"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="2399">The next #GstMeta or %NULL
+when there are no more items.</doc>
+ <type name="Meta" c:type="GstMeta*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="2391">a #GstBuffer</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </instance-parameter>
+ <parameter name="state"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none"
+ nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="2392">an opaque state pointer</doc>
+ <type name="gpointer" c:type="gpointer*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="iterate_meta_filtered"
+ c:identifier="gst_buffer_iterate_meta_filtered"
+ version="1.12"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="2424">Retrieve the next #GstMeta of type @meta_api_type after the current one
+according to @state. If @state points to %NULL, the first metadata of
+type @meta_api_type is returned.
+
+@state will be updated with an opaque state pointer</doc>
+ <source-position filename="gst/gstbuffer.h" line="659"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="2436">The next #GstMeta of type
+@meta_api_type or %NULL when there are no more items.</doc>
+ <type name="Meta" c:type="GstMeta*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="2426">a #GstBuffer</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </instance-parameter>
+ <parameter name="state"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none"
+ nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="2427">an opaque state pointer</doc>
+ <type name="gpointer" c:type="gpointer*"/>
+ </parameter>
+ <parameter name="meta_api_type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="2428">only return #GstMeta of this type</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="map" c:identifier="gst_buffer_map">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1756">This function fills @info with the #GstMapInfo of all merged memory
+blocks in @buffer.
+
+@flags describe the desired access of the memory. When @flags is
+#GST_MAP_WRITE, @buffer should be writable (as returned from
+gst_buffer_is_writable()).
+
+When @buffer is writable but the memory isn't, a writable copy will
+automatically be created and returned. The readonly copy of the
+buffer memory will then also be replaced with this writable copy.
+
+The memory in @info should be unmapped with gst_buffer_unmap() after
+usage.</doc>
+ <source-position filename="gst/gstbuffer.h" line="390"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1776">%TRUE if the map succeeded and @info contains valid data.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1758">a #GstBuffer.</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </instance-parameter>
+ <parameter name="info"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1759">info about the mapping</doc>
+ <type name="MapInfo" c:type="GstMapInfo*"/>
+ </parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1760">flags for the mapping</doc>
+ <type name="MapFlags" c:type="GstMapFlags"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="map_range" c:identifier="gst_buffer_map_range">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1784">This function fills @info with the #GstMapInfo of @length merged memory blocks
+starting at @idx in @buffer. When @length is -1, all memory blocks starting
+from @idx are merged and mapped.
+
+@flags describe the desired access of the memory. When @flags is
+#GST_MAP_WRITE, @buffer should be writable (as returned from
+gst_buffer_is_writable()).
+
+When @buffer is writable but the memory isn't, a writable copy will
+automatically be created and returned. The readonly copy of the buffer memory
+will then also be replaced with this writable copy.
+
+The memory in @info should be unmapped with gst_buffer_unmap() after usage.</doc>
+ <source-position filename="gst/gstbuffer.h" line="387"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1806">%TRUE if the map succeeded and @info contains valid
+data.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1786">a #GstBuffer.</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </instance-parameter>
+ <parameter name="idx" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1787">an index</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="length" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1788">a length</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="info"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1789">info about the mapping</doc>
+ <type name="MapInfo" c:type="GstMapInfo*"/>
+ </parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1790">flags for the mapping</doc>
+ <type name="MapFlags" c:type="GstMapFlags"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="memcmp" c:identifier="gst_buffer_memcmp">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="2008">Compare @size bytes starting from @offset in @buffer with the memory in @mem.</doc>
+ <source-position filename="gst/gstbuffer.h" line="363"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="2017">0 if the memory is equal.</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="2010">a #GstBuffer.</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </instance-parameter>
+ <parameter name="offset" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="2011">the offset in @buffer</doc>
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ <parameter name="mem" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="2012">the memory to compare</doc>
+ <array length="2" zero-terminated="0" c:type="gconstpointer">
+ <type name="guint8"/>
+ </array>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="2013">the size to compare</doc>
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="memset" c:identifier="gst_buffer_memset">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="2061">Fill @buf with @size bytes with @val starting from @offset.</doc>
+ <source-position filename="gst/gstbuffer.h" line="366"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="2070">The amount of bytes filled. This value can be lower than @size
+ when @buffer did not contain enough data.</doc>
+ <type name="gsize" c:type="gsize"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="2063">a #GstBuffer.</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </instance-parameter>
+ <parameter name="offset" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="2064">the offset in @buffer</doc>
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="2065">the value to set</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="2066">the size to set</doc>
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="n_memory" c:identifier="gst_buffer_n_memory">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1049">Get the amount of memory blocks that this buffer has. This amount is never
+larger than what gst_buffer_get_max_memory() returns.</doc>
+ <source-position filename="gst/gstbuffer.h" line="306"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1056">the number of memory blocks this buffer is made of.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1051">a #GstBuffer.</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="peek_memory" c:identifier="gst_buffer_peek_memory">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1157">Get the memory block at @idx in @buffer. The memory block stays valid until
+the memory block in @buffer is removed, replaced or merged, typically with
+any call that modifies the memory in @buffer.</doc>
+ <source-position filename="gst/gstbuffer.h" line="315"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1166">the #GstMemory at @idx.</doc>
+ <type name="Memory" c:type="GstMemory*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1159">a #GstBuffer.</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </instance-parameter>
+ <parameter name="idx" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1160">an index</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="prepend_memory" c:identifier="gst_buffer_prepend_memory">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1066">Prepend the memory block @mem to @buffer. This function takes
+ownership of @mem and thus doesn't increase its refcount.
+
+This function is identical to gst_buffer_insert_memory() with an index of 0.
+See gst_buffer_insert_memory() for more details.</doc>
+ <source-position filename="gst/gstbuffer.h" line="324"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1068">a #GstBuffer.</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </instance-parameter>
+ <parameter name="mem" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1069">a #GstMemory.</doc>
+ <type name="Memory" c:type="GstMemory*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="ref" c:identifier="gst_buffer_ref" introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="414">Increases the refcount of the given buffer by one.
+
+Note that the refcount affects the writability
+of @buf and its metadata, see gst_buffer_is_writable().
+It is important to note that keeping additional references to
+GstBuffer instances can potentially increase the number
+of memcpy operations in a pipeline.</doc>
+ <source-position filename="gst/gstbuffer.h" line="428"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="426">@buf</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="buf" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="416">a #GstBuffer.</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="remove_all_memory"
+ c:identifier="gst_buffer_remove_all_memory">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1316">Remove all the memory blocks in @buffer.</doc>
+ <source-position filename="gst/gstbuffer.h" line="345"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1318">a #GstBuffer.</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="remove_memory" c:identifier="gst_buffer_remove_memory">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1303">Remove the memory block in @b at index @i.</doc>
+ <source-position filename="gst/gstbuffer.h" line="342"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1305">a #GstBuffer.</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </instance-parameter>
+ <parameter name="idx" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1306">an index</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="remove_memory_range"
+ c:identifier="gst_buffer_remove_memory_range">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1329">Remove @length memory blocks in @buffer starting from @idx.
+
+@length can be -1, in which case all memory starting from @idx is removed.</doc>
+ <source-position filename="gst/gstbuffer.h" line="321"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1331">a #GstBuffer.</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </instance-parameter>
+ <parameter name="idx" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1332">an index</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="length" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1333">a length</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="remove_meta" c:identifier="gst_buffer_remove_meta">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="2335">Remove the metadata for @meta on @buffer.</doc>
+ <source-position filename="gst/gstbuffer.h" line="653"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="2342">%TRUE if the metadata existed and was removed, %FALSE if no such
+metadata was on @buffer.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="2337">a #GstBuffer</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </instance-parameter>
+ <parameter name="meta" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="2338">a #GstMeta</doc>
+ <type name="Meta" c:type="GstMeta*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="replace_all_memory"
+ c:identifier="gst_buffer_replace_all_memory">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1255">Replaces all memory in @buffer with @mem.</doc>
+ <source-position filename="gst/gstbuffer.h" line="333"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1257">a #GstBuffer.</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </instance-parameter>
+ <parameter name="mem" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1258">a #GstMemory</doc>
+ <type name="Memory" c:type="GstMemory*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="replace_memory" c:identifier="gst_buffer_replace_memory">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1241">Replaces the memory block at index @idx in @buffer with @mem.</doc>
+ <source-position filename="gst/gstbuffer.h" line="330"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1243">a #GstBuffer.</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </instance-parameter>
+ <parameter name="idx" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1244">an index</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="mem" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1245">a #GstMemory</doc>
+ <type name="Memory" c:type="GstMemory*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="replace_memory_range"
+ c:identifier="gst_buffer_replace_memory_range">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1268">Replaces @length memory blocks in @buffer starting at @idx with @mem.
+
+If @length is -1, all memory starting from @idx will be removed and
+replaced with @mem.
+
+@buffer should be writable.</doc>
+ <source-position filename="gst/gstbuffer.h" line="312"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1270">a #GstBuffer.</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </instance-parameter>
+ <parameter name="idx" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1271">an index</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="length" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1272">a length should not be 0</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="mem" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1273">a #GstMemory</doc>
+ <type name="Memory" c:type="GstMemory*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="resize" c:identifier="gst_buffer_resize">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1621">Set the offset and total size of the memory blocks in @buffer.</doc>
+ <source-position filename="gst/gstbuffer.h" line="381"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1623">a #GstBuffer.</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </instance-parameter>
+ <parameter name="offset" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1624">the offset adjustment</doc>
+ <type name="gssize" c:type="gssize"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1625">the new size or -1 to just adjust the offset</doc>
+ <type name="gssize" c:type="gssize"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="resize_range" c:identifier="gst_buffer_resize_range">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1648">Set the total size of the @length memory blocks starting at @idx in
+@buffer</doc>
+ <source-position filename="gst/gstbuffer.h" line="372"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1659">%TRUE if resizing succeeded, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1650">a #GstBuffer.</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </instance-parameter>
+ <parameter name="idx" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1651">an index</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="length" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1652">a length</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="offset" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1653">the offset adjustment</doc>
+ <type name="gssize" c:type="gssize"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1654">the new size or -1 to just adjust the offset</doc>
+ <type name="gssize" c:type="gssize"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_flags"
+ c:identifier="gst_buffer_set_flags"
+ version="1.10">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="386">Sets one or more buffer flags on a buffer.</doc>
+ <source-position filename="gst/gstbuffer.h" line="406"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="393">%TRUE if @flags were successfully set on buffer.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="388">a #GstBuffer</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </instance-parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="389">the #GstBufferFlags to set.</doc>
+ <type name="BufferFlags" c:type="GstBufferFlags"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_size" c:identifier="gst_buffer_set_size">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1635">Set the total size of the memory blocks in @buffer.</doc>
+ <source-position filename="gst/gstbuffer.h" line="384"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1637">a #GstBuffer.</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </instance-parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1638">the new size</doc>
+ <type name="gssize" c:type="gssize"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="unmap" c:identifier="gst_buffer_unmap">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1884">Release the memory previously mapped with gst_buffer_map().</doc>
+ <source-position filename="gst/gstbuffer.h" line="393"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1886">a #GstBuffer.</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </instance-parameter>
+ <parameter name="info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="1887">a #GstMapInfo</doc>
+ <type name="MapInfo" c:type="GstMapInfo*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="unref" c:identifier="gst_buffer_unref" introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="435">Decreases the refcount of the buffer. If the refcount reaches 0, the buffer
+with the associated metadata and memory will be freed.</doc>
+ <source-position filename="gst/gstbuffer.h" line="442"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="buf" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="437">a #GstBuffer.</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="unset_flags"
+ c:identifier="gst_buffer_unset_flags"
+ version="1.10">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="404">Clears one or more buffer flags.</doc>
+ <source-position filename="gst/gstbuffer.h" line="409"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="411">true if @flags is successfully cleared from buffer.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="406">a #GstBuffer</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </instance-parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="407">the #GstBufferFlags to clear</doc>
+ <type name="BufferFlags" c:type="GstBufferFlags"/>
+ </parameter>
+ </parameters>
+ </method>
+ <function name="get_max_memory"
+ c:identifier="gst_buffer_get_max_memory"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="500">Get the maximum amount of memory blocks that a buffer can hold. This is a
+compile time constant that can be queried with the function.
+
+When more memory blocks are added, existing memory blocks will be merged
+together to make room for the new block.</doc>
+ <source-position filename="gst/gstbuffer.h" line="284"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="509">the maximum amount of memory blocks that a buffer can hold.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ </function>
+ <function name="replace"
+ c:identifier="gst_buffer_replace"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="582">Modifies a pointer to a #GstBuffer to point to a different #GstBuffer. The
+modification is done atomically (so this is useful for ensuring thread safety
+in some cases), and the reference counts are updated appropriately (the old
+buffer is unreffed, the new is reffed).
+
+Either @nbuf or the #GstBuffer pointed to by @obuf may be %NULL.</doc>
+ <source-position filename="gst/gstbuffer.h" line="598"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="596">%TRUE when @obuf was different from @nbuf.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="obuf"
+ direction="inout"
+ caller-allocates="0"
+ transfer-ownership="full"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="584">pointer to a pointer to
+ a #GstBuffer to be replaced.</doc>
+ <type name="Buffer" c:type="GstBuffer**"/>
+ </parameter>
+ <parameter name="nbuf"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="586">pointer to a #GstBuffer that will
+ replace the buffer pointed to by @obuf.</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </function>
+ </record>
+ <bitfield name="BufferCopyFlags"
+ glib:type-name="GstBufferCopyFlags"
+ glib:get-type="gst_buffer_copy_flags_get_type"
+ c:type="GstBufferCopyFlags">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="491">A set of flags that can be provided to the gst_buffer_copy_into()
+function to specify which items should be copied.</doc>
+ <member name="none"
+ value="0"
+ c:identifier="GST_BUFFER_COPY_NONE"
+ glib:nick="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="493">copy nothing</doc>
+ </member>
+ <member name="flags"
+ value="1"
+ c:identifier="GST_BUFFER_COPY_FLAGS"
+ glib:nick="flags">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="494">flag indicating that buffer flags should be copied</doc>
+ </member>
+ <member name="timestamps"
+ value="2"
+ c:identifier="GST_BUFFER_COPY_TIMESTAMPS"
+ glib:nick="timestamps">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="495">flag indicating that buffer pts, dts,
+ duration, offset and offset_end should be copied</doc>
+ </member>
+ <member name="meta"
+ value="4"
+ c:identifier="GST_BUFFER_COPY_META"
+ glib:nick="meta">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="503">flag indicating that buffer meta should be
+ copied</doc>
+ </member>
+ <member name="memory"
+ value="8"
+ c:identifier="GST_BUFFER_COPY_MEMORY"
+ glib:nick="memory">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="497">flag indicating that buffer memory should be reffed
+ and appended to already existing memory. Unless the memory is marked as
+ NO_SHARE, no actual copy of the memory is made but it is simply reffed.
+ Add @GST_BUFFER_COPY_DEEP to force a real copy.</doc>
+ </member>
+ <member name="merge"
+ value="16"
+ c:identifier="GST_BUFFER_COPY_MERGE"
+ glib:nick="merge">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="501">flag indicating that buffer memory should be
+ merged</doc>
+ </member>
+ <member name="deep"
+ value="32"
+ c:identifier="GST_BUFFER_COPY_DEEP"
+ glib:nick="deep">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="505">flag indicating that memory should always be
+ copied instead of reffed (Since: 1.2)</doc>
+ </member>
+ </bitfield>
+ <bitfield name="BufferFlags"
+ glib:type-name="GstBufferFlags"
+ glib:get-type="gst_buffer_flags_get_type"
+ c:type="GstBufferFlags">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="182">A set of buffer flags used to describe properties of a #GstBuffer.</doc>
+ <member name="live"
+ value="16"
+ c:identifier="GST_BUFFER_FLAG_LIVE"
+ glib:nick="live">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="184">the buffer is live data and should be discarded in
+ the PAUSED state.</doc>
+ </member>
+ <member name="decode_only"
+ value="32"
+ c:identifier="GST_BUFFER_FLAG_DECODE_ONLY"
+ glib:nick="decode-only">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="186">the buffer contains data that should be dropped
+ because it will be clipped against the segment
+ boundaries or because it does not contain data
+ that should be shown to the user.</doc>
+ </member>
+ <member name="discont"
+ value="64"
+ c:identifier="GST_BUFFER_FLAG_DISCONT"
+ glib:nick="discont">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="190">the buffer marks a data discontinuity in the stream.
+ This typically occurs after a seek or a dropped buffer
+ from a live or network source.</doc>
+ </member>
+ <member name="resync"
+ value="128"
+ c:identifier="GST_BUFFER_FLAG_RESYNC"
+ glib:nick="resync">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="193">the buffer timestamps might have a discontinuity
+ and this buffer is a good point to resynchronize.</doc>
+ </member>
+ <member name="corrupted"
+ value="256"
+ c:identifier="GST_BUFFER_FLAG_CORRUPTED"
+ glib:nick="corrupted">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="195">the buffer data is corrupted.</doc>
+ </member>
+ <member name="marker"
+ value="512"
+ c:identifier="GST_BUFFER_FLAG_MARKER"
+ glib:nick="marker">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="196">the buffer contains a media specific marker. for
+ video this is the end of a frame boundary, for audio
+ this is the start of a talkspurt.</doc>
+ </member>
+ <member name="header"
+ value="1024"
+ c:identifier="GST_BUFFER_FLAG_HEADER"
+ glib:nick="header">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="199">the buffer contains header information that is
+ needed to decode the following data.</doc>
+ </member>
+ <member name="gap"
+ value="2048"
+ c:identifier="GST_BUFFER_FLAG_GAP"
+ glib:nick="gap">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="201">the buffer has been created to fill a gap in the
+ stream and contains media neutral data (elements can
+ switch to optimized code path that ignores the buffer
+ content).</doc>
+ </member>
+ <member name="droppable"
+ value="4096"
+ c:identifier="GST_BUFFER_FLAG_DROPPABLE"
+ glib:nick="droppable">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="205">the buffer can be dropped without breaking the
+ stream, for example to reduce bandwidth.</doc>
+ </member>
+ <member name="delta_unit"
+ value="8192"
+ c:identifier="GST_BUFFER_FLAG_DELTA_UNIT"
+ glib:nick="delta-unit">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="207">this unit cannot be decoded independently.</doc>
+ </member>
+ <member name="tag_memory"
+ value="16384"
+ c:identifier="GST_BUFFER_FLAG_TAG_MEMORY"
+ glib:nick="tag-memory">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="208">this flag is set when memory of the buffer
+ is added/removed</doc>
+ </member>
+ <member name="sync_after"
+ value="32768"
+ c:identifier="GST_BUFFER_FLAG_SYNC_AFTER"
+ glib:nick="sync-after">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="210">Elements which write to disk or permanent
+ storage should ensure the data is synced after
+ writing the contents of this buffer. (Since: 1.6)</doc>
+ </member>
+ <member name="non_droppable"
+ value="65536"
+ c:identifier="GST_BUFFER_FLAG_NON_DROPPABLE"
+ glib:nick="non-droppable">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="213">This buffer is important and should not be dropped.
+ This can be used to mark important buffers, e.g. to flag
+ RTP packets carrying keyframes or codec setup data for RTP
+ Forward Error Correction purposes, or to prevent still video
+ frames from being dropped by elements due to QoS. (Since: 1.14)</doc>
+ </member>
+ <member name="last"
+ value="1048576"
+ c:identifier="GST_BUFFER_FLAG_LAST"
+ glib:nick="last">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="218">additional media specific flags can be added starting from
+ this flag.</doc>
+ </member>
+ </bitfield>
+ <callback name="BufferForeachMetaFunc" c:type="GstBufferForeachMetaFunc">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="622">A function that will be called from gst_buffer_foreach_meta(). The @meta
+field will point to a the reference of the meta.
+
+@buffer should not be modified from this callback.
+
+When this function returns %TRUE, the next meta will be
+returned. When %FALSE is returned, gst_buffer_foreach_meta() will return.
+
+When @meta is set to %NULL, the item will be removed from the buffer.</doc>
+ <source-position filename="gst/gstbuffer.h" line="640"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="638">%FALSE when gst_buffer_foreach_meta() should stop</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="624">a #GstBuffer</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="meta"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="625">a pointer to a #GstMeta</doc>
+ <type name="Meta" c:type="GstMeta**"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1"
+ closure="2">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="626">user data passed to gst_buffer_foreach_meta()</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <record name="BufferList"
+ c:type="GstBufferList"
+ glib:type-name="GstBufferList"
+ glib:get-type="gst_buffer_list_get_type"
+ c:symbol-prefix="buffer_list">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferlist.c"
+ line="24">Buffer lists are an object containing a list of buffers.
+
+Buffer lists are created with gst_buffer_list_new() and filled with data
+using a gst_buffer_list_insert().
+
+Buffer lists can be pushed on a srcpad with gst_pad_push_list(). This is
+interesting when multiple buffers need to be pushed in one go because it
+can reduce the amount of overhead for pushing each buffer individually.</doc>
+ <source-position filename="gst/gstbufferlist.h" line="37"/>
+ <constructor name="new" c:identifier="gst_buffer_list_new">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferlist.c"
+ line="181">Creates a new, empty #GstBufferList. The caller is responsible for unreffing
+the returned #GstBufferList.
+
+Free-function: gst_buffer_list_unref</doc>
+ <source-position filename="gst/gstbufferlist.h" line="209"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferlist.c"
+ line="189">the new #GstBufferList. gst_buffer_list_unref()
+ after usage.</doc>
+ <type name="BufferList" c:type="GstBufferList*"/>
+ </return-value>
+ </constructor>
+ <constructor name="new_sized" c:identifier="gst_buffer_list_new_sized">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferlist.c"
+ line="145">Creates a new, empty #GstBufferList. The caller is responsible for unreffing
+the returned #GstBufferList. The list will have @size space preallocated so
+that memory reallocations can be avoided.
+
+Free-function: gst_buffer_list_unref</doc>
+ <source-position filename="gst/gstbufferlist.h" line="212"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferlist.c"
+ line="155">the new #GstBufferList. gst_buffer_list_unref()
+ after usage.</doc>
+ <type name="BufferList" c:type="GstBufferList*"/>
+ </return-value>
+ <parameters>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferlist.c"
+ line="147">an initial reserved size</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <method name="calculate_size"
+ c:identifier="gst_buffer_list_calculate_size"
+ version="1.14">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferlist.c"
+ line="528">Calculates the size of the data contained in buffer list by adding the
+size of all buffers.</doc>
+ <source-position filename="gst/gstbufferlist.h" line="237"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferlist.c"
+ line="535">the size of the data contained in buffer list in bytes.</doc>
+ <type name="gsize" c:type="gsize"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="list" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferlist.c"
+ line="530">a #GstBufferList</doc>
+ <type name="BufferList" c:type="GstBufferList*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="copy"
+ c:identifier="gst_buffer_list_copy"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferlist.h"
+ line="118">Create a shallow copy of the given buffer list. This will make a newly
+allocated copy of the source list with copies of buffer pointers. The
+refcount of buffers pointed to will be increased by one.</doc>
+ <source-position filename="gst/gstbufferlist.h" line="128"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferlist.h"
+ line="126">a new copy of @list.</doc>
+ <type name="BufferList" c:type="GstBufferList*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="list" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferlist.h"
+ line="120">a #GstBufferList</doc>
+ <type name="BufferList" c:type="const GstBufferList*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="copy_deep"
+ c:identifier="gst_buffer_list_copy_deep"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferlist.c"
+ line="489">Create a copy of the given buffer list. This will make a newly allocated
+copy of the buffer that the source buffer list contains.</doc>
+ <source-position filename="gst/gstbufferlist.h" line="234"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferlist.c"
+ line="496">a new copy of @list.</doc>
+ <type name="BufferList" c:type="GstBufferList*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="list" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferlist.c"
+ line="491">a #GstBufferList</doc>
+ <type name="BufferList" c:type="const GstBufferList*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="foreach" c:identifier="gst_buffer_list_foreach">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferlist.c"
+ line="236">Call @func with @data for each buffer in @list.
+
+@func can modify the passed buffer pointer or its contents. The return value
+of @func define if this function returns or if the remaining buffers in
+the list should be skipped.</doc>
+ <source-position filename="gst/gstbufferlist.h" line="230"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferlist.c"
+ line="248">%TRUE when @func returned %TRUE for each buffer in @list or when
+@list is empty.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="list" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferlist.c"
+ line="238">a #GstBufferList</doc>
+ <type name="BufferList" c:type="GstBufferList*"/>
+ </instance-parameter>
+ <parameter name="func"
+ transfer-ownership="none"
+ scope="call"
+ closure="1">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferlist.c"
+ line="239">a #GstBufferListFunc to call</doc>
+ <type name="BufferListFunc" c:type="GstBufferListFunc"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferlist.c"
+ line="240">user data passed to @func</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get" c:identifier="gst_buffer_list_get">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferlist.c"
+ line="338">Get the buffer at @idx.
+
+You must make sure that @idx does not exceed the number of
+buffers available.</doc>
+ <source-position filename="gst/gstbufferlist.h" line="218"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferlist.c"
+ line="348">the buffer at @idx in @group
+ or %NULL when there is no buffer. The buffer remains valid as
+ long as @list is valid and buffer is not removed from the list.</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="list" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferlist.c"
+ line="340">a #GstBufferList</doc>
+ <type name="BufferList" c:type="GstBufferList*"/>
+ </instance-parameter>
+ <parameter name="idx" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferlist.c"
+ line="341">the index</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_writable"
+ c:identifier="gst_buffer_list_get_writable"
+ version="1.14">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferlist.c"
+ line="361">Gets the buffer at @idx, ensuring it is a writable buffer.
+
+You must make sure that @idx does not exceed the number of
+buffers available.</doc>
+ <source-position filename="gst/gstbufferlist.h" line="221"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferlist.c"
+ line="371">the buffer at @idx in @group.
+ The returned buffer remains valid as long as @list is valid and
+ the buffer is not removed from the list.</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="list" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferlist.c"
+ line="363">a (writable) #GstBufferList</doc>
+ <type name="BufferList" c:type="GstBufferList*"/>
+ </instance-parameter>
+ <parameter name="idx" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferlist.c"
+ line="364">the index</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="insert" c:identifier="gst_buffer_list_insert">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferlist.c"
+ line="409">Insert @buffer at @idx in @list. Other buffers are moved to make room for
+this new buffer.
+
+A -1 value for @idx will append the buffer at the end.</doc>
+ <source-position filename="gst/gstbufferlist.h" line="224"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="list" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferlist.c"
+ line="411">a #GstBufferList</doc>
+ <type name="BufferList" c:type="GstBufferList*"/>
+ </instance-parameter>
+ <parameter name="idx" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferlist.c"
+ line="412">the index</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="buffer" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferlist.c"
+ line="413">a #GstBuffer</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="length" c:identifier="gst_buffer_list_length">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferlist.c"
+ line="198">Returns the number of buffers in @list.</doc>
+ <source-position filename="gst/gstbufferlist.h" line="215"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferlist.c"
+ line="204">the number of buffers in the buffer list</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="list" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferlist.c"
+ line="200">a #GstBufferList</doc>
+ <type name="BufferList" c:type="GstBufferList*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="ref" c:identifier="gst_buffer_list_ref" introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferlist.h"
+ line="63">Increases the refcount of the given buffer list by one.
+
+Note that the refcount affects the writability of @list and its data, see
+gst_buffer_list_make_writable(). It is important to note that keeping
+additional references to GstBufferList instances can potentially increase
+the number of memcpy operations in a pipeline.</doc>
+ <source-position filename="gst/gstbufferlist.h" line="76"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferlist.h"
+ line="74">@list</doc>
+ <type name="BufferList" c:type="GstBufferList*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="list" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferlist.h"
+ line="65">a #GstBufferList</doc>
+ <type name="BufferList" c:type="GstBufferList*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="remove" c:identifier="gst_buffer_list_remove">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferlist.c"
+ line="469">Remove @length buffers starting from @idx in @list. The following buffers
+are moved to close the gap.</doc>
+ <source-position filename="gst/gstbufferlist.h" line="227"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="list" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferlist.c"
+ line="471">a #GstBufferList</doc>
+ <type name="BufferList" c:type="GstBufferList*"/>
+ </instance-parameter>
+ <parameter name="idx" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferlist.c"
+ line="472">the index</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="length" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferlist.c"
+ line="473">the amount to remove</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="unref"
+ c:identifier="gst_buffer_list_unref"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferlist.h"
+ line="84">Decreases the refcount of the buffer list. If the refcount reaches 0, the
+buffer list will be freed.</doc>
+ <source-position filename="gst/gstbufferlist.h" line="91"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="list" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferlist.h"
+ line="86">a #GstBufferList</doc>
+ <type name="BufferList" c:type="GstBufferList*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ </record>
+ <callback name="BufferListFunc" c:type="GstBufferListFunc">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferlist.h"
+ line="39">A function that will be called from gst_buffer_list_foreach(). The @buffer
+field will point to a the reference of the buffer at @idx.
+
+When this function returns %TRUE, the next buffer will be
+returned. When %FALSE is returned, gst_buffer_list_foreach() will return.
+
+When @buffer is set to %NULL, the item will be removed from the bufferlist.
+When @buffer has been made writable, the new buffer reference can be assigned
+to @buffer. This function is responsible for unreffing the old buffer when
+removing or modifying.</doc>
+ <source-position filename="gst/gstbufferlist.h" line="58"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferlist.h"
+ line="56">%FALSE when gst_buffer_list_foreach() should stop</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferlist.h"
+ line="41">pointer the buffer</doc>
+ <type name="Buffer" c:type="GstBuffer**"/>
+ </parameter>
+ <parameter name="idx" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferlist.h"
+ line="42">the index of @buffer</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1"
+ closure="2">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferlist.h"
+ line="43">user data passed to gst_buffer_list_foreach()</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <class name="BufferPool"
+ c:symbol-prefix="buffer_pool"
+ c:type="GstBufferPool"
+ parent="Object"
+ glib:type-name="GstBufferPool"
+ glib:get-type="gst_buffer_pool_get_type"
+ glib:type-struct="BufferPoolClass">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.c"
+ line="22">A #GstBufferPool is an object that can be used to pre-allocate and recycle
+buffers of the same size and with the same properties.
+
+A #GstBufferPool is created with gst_buffer_pool_new().
+
+Once a pool is created, it needs to be configured. A call to
+gst_buffer_pool_get_config() returns the current configuration structure from
+the pool. With gst_buffer_pool_config_set_params() and
+gst_buffer_pool_config_set_allocator() the bufferpool parameters and
+allocator can be configured. Other properties can be configured in the pool
+depending on the pool implementation.
+
+A bufferpool can have extra options that can be enabled with
+gst_buffer_pool_config_add_option(). The available options can be retrieved
+with gst_buffer_pool_get_options(). Some options allow for additional
+configuration properties to be set.
+
+After the configuration structure has been configured,
+gst_buffer_pool_set_config() updates the configuration in the pool. This can
+fail when the configuration structure is not accepted.
+
+After the a pool has been configured, it can be activated with
+gst_buffer_pool_set_active(). This will preallocate the configured resources
+in the pool.
+
+When the pool is active, gst_buffer_pool_acquire_buffer() can be used to
+retrieve a buffer from the pool.
+
+Buffers allocated from a bufferpool will automatically be returned to the
+pool with gst_buffer_pool_release_buffer() when their refcount drops to 0.
+
+The bufferpool can be deactivated again with gst_buffer_pool_set_active().
+All further gst_buffer_pool_acquire_buffer() calls will return an error. When
+all buffers are returned to the pool they will be freed.
+
+Use gst_object_unref() to release the reference to a bufferpool. If the
+refcount of the pool reaches 0, the pool will be freed.</doc>
+ <source-position filename="gst/gstbufferpool.h" line="176"/>
+ <constructor name="new" c:identifier="gst_buffer_pool_new">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.c"
+ line="205">Creates a new #GstBufferPool instance.</doc>
+ <source-position filename="gst/gstbufferpool.h" line="184"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.c"
+ line="210">a new #GstBufferPool instance</doc>
+ <type name="BufferPool" c:type="GstBufferPool*"/>
+ </return-value>
+ </constructor>
+ <function name="config_add_option"
+ c:identifier="gst_buffer_pool_config_add_option">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.c"
+ line="873">Enabled the option in @config. This will instruct the @bufferpool to enable
+the specified option on the buffers that it allocates.
+
+The supported options by @pool can be retrieved with gst_buffer_pool_get_options().</doc>
+ <source-position filename="gst/gstbufferpool.h" line="233"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="config" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.c"
+ line="875">a #GstBufferPool configuration</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </parameter>
+ <parameter name="option" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.c"
+ line="876">an option to add</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="config_get_allocator"
+ c:identifier="gst_buffer_pool_config_get_allocator">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.c"
+ line="1024">Get the @allocator and @params from @config.</doc>
+ <source-position filename="gst/gstbufferpool.h" line="224"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.c"
+ line="1032">%TRUE, if the values are set.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="config" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.c"
+ line="1026">a #GstBufferPool configuration</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </parameter>
+ <parameter name="allocator"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="none"
+ nullable="1"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.c"
+ line="1027">a #GstAllocator, or %NULL</doc>
+ <type name="Allocator" c:type="GstAllocator**"/>
+ </parameter>
+ <parameter name="params"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.c"
+ line="1028">#GstAllocationParams, or %NULL</doc>
+ <type name="AllocationParams" c:type="GstAllocationParams*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="config_get_option"
+ c:identifier="gst_buffer_pool_config_get_option">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.c"
+ line="937">Parse an available @config and get the option at @index of the options API
+array.</doc>
+ <source-position filename="gst/gstbufferpool.h" line="236"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.c"
+ line="945">a #gchar of the option at @index.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="config" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.c"
+ line="939">a #GstBufferPool configuration</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </parameter>
+ <parameter name="index" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.c"
+ line="940">position in the option array to read</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="config_get_params"
+ c:identifier="gst_buffer_pool_config_get_params">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.c"
+ line="996">Get the configuration values from @config.</doc>
+ <source-position filename="gst/gstbufferpool.h" line="216"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.c"
+ line="1006">%TRUE if all parameters could be fetched.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="config" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.c"
+ line="998">a #GstBufferPool configuration</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </parameter>
+ <parameter name="caps"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="none"
+ nullable="1"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.c"
+ line="999">the caps of buffers</doc>
+ <type name="Caps" c:type="GstCaps**"/>
+ </parameter>
+ <parameter name="size"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.c"
+ line="1000">the size of each buffer, not including prefix and padding</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ <parameter name="min_buffers"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.c"
+ line="1001">the minimum amount of buffers to allocate.</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ <parameter name="max_buffers"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.c"
+ line="1002">the maximum amount of buffers to allocate or 0 for unlimited.</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="config_has_option"
+ c:identifier="gst_buffer_pool_config_has_option">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.c"
+ line="966">Check if @config contains @option.</doc>
+ <source-position filename="gst/gstbufferpool.h" line="239"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.c"
+ line="973">%TRUE if the options array contains @option.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="config" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.c"
+ line="968">a #GstBufferPool configuration</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </parameter>
+ <parameter name="option" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.c"
+ line="969">an option</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="config_n_options"
+ c:identifier="gst_buffer_pool_config_n_options">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.c"
+ line="913">Retrieve the number of values currently stored in the options array of the
+@config structure.</doc>
+ <source-position filename="gst/gstbufferpool.h" line="230"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.c"
+ line="920">the options array size as a #guint.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <parameter name="config" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.c"
+ line="915">a #GstBufferPool configuration</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="config_set_allocator"
+ c:identifier="gst_buffer_pool_config_set_allocator">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.c"
+ line="842">Set the @allocator and @params on @config.
+
+One of @allocator and @params can be %NULL, but not both. When @allocator
+is %NULL, the default allocator of the pool will use the values in @param
+to perform its allocation. When @param is %NULL, the pool will use the
+provided @allocator with its default #GstAllocationParams.
+
+A call to gst_buffer_pool_set_config() can update the allocator and params
+with the values that it is able to do. Some pools are, for example, not able
+to operate with different allocators or cannot allocate with the values
+specified in @params. Use gst_buffer_pool_get_config() to get the currently
+used values.</doc>
+ <source-position filename="gst/gstbufferpool.h" line="220"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="config" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.c"
+ line="844">a #GstBufferPool configuration</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </parameter>
+ <parameter name="allocator"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.c"
+ line="845">a #GstAllocator</doc>
+ <type name="Allocator" c:type="GstAllocator*"/>
+ </parameter>
+ <parameter name="params"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.c"
+ line="846">#GstAllocationParams</doc>
+ <type name="AllocationParams" c:type="const GstAllocationParams*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="config_set_params"
+ c:identifier="gst_buffer_pool_config_set_params">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.c"
+ line="817">Configure @config with the given parameters.</doc>
+ <source-position filename="gst/gstbufferpool.h" line="212"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="config" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.c"
+ line="819">a #GstBufferPool configuration</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </parameter>
+ <parameter name="caps"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.c"
+ line="820">caps for the buffers</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.c"
+ line="821">the size of each buffer, not including prefix and padding</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="min_buffers" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.c"
+ line="822">the minimum amount of buffers to allocate.</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="max_buffers" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.c"
+ line="823">the maximum amount of buffers to allocate or 0 for unlimited.</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="config_validate_params"
+ c:identifier="gst_buffer_pool_config_validate_params"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.c"
+ line="1057">Validate that changes made to @config are still valid in the context of the
+expected parameters. This function is a helper that can be used to validate
+changes made by a pool to a config when gst_buffer_pool_set_config()
+returns %FALSE. This expects that @caps haven't changed and that
+@min_buffers aren't lower then what we initially expected.
+This does not check if options or allocator parameters are still valid,
+won't check if size have changed, since changing the size is valid to adapt
+padding.</doc>
+ <source-position filename="gst/gstbufferpool.h" line="242"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.c"
+ line="1076">%TRUE, if the parameters are valid in this context.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="config" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.c"
+ line="1059">a #GstBufferPool configuration</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </parameter>
+ <parameter name="caps"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.c"
+ line="1060">the excepted caps of buffers</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.c"
+ line="1061">the expected size of each buffer, not including prefix and padding</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="min_buffers" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.c"
+ line="1062">the expected minimum amount of buffers to allocate.</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="max_buffers" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.c"
+ line="1063">the expect maximum amount of buffers to allocate or 0 for unlimited.</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <virtual-method name="acquire_buffer" invoker="acquire_buffer">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.c"
+ line="1247">Acquire a buffer from @pool. @buffer should point to a memory location that
+can hold a pointer to the new buffer.
+
+@params can be %NULL or contain optional parameters to influence the
+allocation.</doc>
+ <source-position filename="gst/gstbufferpool.h" line="164"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.c"
+ line="1259">a #GstFlowReturn such as %GST_FLOW_FLUSHING when the pool is
+inactive.</doc>
+ <type name="FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pool" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.c"
+ line="1249">a #GstBufferPool</doc>
+ <type name="BufferPool" c:type="GstBufferPool*"/>
+ </instance-parameter>
+ <parameter name="buffer"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.c"
+ line="1250">a location for a #GstBuffer</doc>
+ <type name="Buffer" c:type="GstBuffer**"/>
+ </parameter>
+ <parameter name="params"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.c"
+ line="1251">parameters.</doc>
+ <type name="BufferPoolAcquireParams"
+ c:type="GstBufferPoolAcquireParams*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="alloc_buffer">
+ <source-position filename="gst/gstbufferpool.h" line="166"/>
+ <return-value transfer-ownership="none">
+ <type name="FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pool" transfer-ownership="none">
+ <type name="BufferPool" c:type="GstBufferPool*"/>
+ </instance-parameter>
+ <parameter name="buffer" transfer-ownership="none">
+ <type name="Buffer" c:type="GstBuffer**"/>
+ </parameter>
+ <parameter name="params" transfer-ownership="none">
+ <type name="BufferPoolAcquireParams"
+ c:type="GstBufferPoolAcquireParams*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="flush_start">
+ <source-position filename="gst/gstbufferpool.h" line="171"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pool" transfer-ownership="none">
+ <type name="BufferPool" c:type="GstBufferPool*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="flush_stop">
+ <source-position filename="gst/gstbufferpool.h" line="172"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pool" transfer-ownership="none">
+ <type name="BufferPool" c:type="GstBufferPool*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="free_buffer">
+ <source-position filename="gst/gstbufferpool.h" line="170"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pool" transfer-ownership="none">
+ <type name="BufferPool" c:type="GstBufferPool*"/>
+ </instance-parameter>
+ <parameter name="buffer" transfer-ownership="none">
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="get_options" invoker="get_options">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.c"
+ line="753">Get a %NULL terminated array of string with supported bufferpool options for
+@pool. An option would typically be enabled with
+gst_buffer_pool_config_add_option().</doc>
+ <source-position filename="gst/gstbufferpool.h" line="158"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.c"
+ line="761">a %NULL terminated array
+ of strings.</doc>
+ <array c:type="const gchar**">
+ <type name="utf8"/>
+ </array>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pool" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.c"
+ line="755">a #GstBufferPool</doc>
+ <type name="BufferPool" c:type="GstBufferPool*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="release_buffer" invoker="release_buffer">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.c"
+ line="1346">Release @buffer to @pool. @buffer should have previously been allocated from
+@pool with gst_buffer_pool_acquire_buffer().
+
+This function is usually called automatically when the last ref on @buffer
+disappears.</doc>
+ <source-position filename="gst/gstbufferpool.h" line="169"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pool" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.c"
+ line="1348">a #GstBufferPool</doc>
+ <type name="BufferPool" c:type="GstBufferPool*"/>
+ </instance-parameter>
+ <parameter name="buffer" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.c"
+ line="1349">a #GstBuffer</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="reset_buffer">
+ <source-position filename="gst/gstbufferpool.h" line="168"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pool" transfer-ownership="none">
+ <type name="BufferPool" c:type="GstBufferPool*"/>
+ </instance-parameter>
+ <parameter name="buffer" transfer-ownership="none">
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="set_config" invoker="set_config">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.c"
+ line="631">Set the configuration of the pool. If the pool is already configured, and
+the configuration haven't change, this function will return %TRUE. If the
+pool is active, this method will return %FALSE and active configuration
+will remain. Buffers allocated form this pool must be returned or else this
+function will do nothing and return %FALSE.
+
+@config is a #GstStructure that contains the configuration parameters for
+the pool. A default and mandatory set of parameters can be configured with
+gst_buffer_pool_config_set_params(), gst_buffer_pool_config_set_allocator()
+and gst_buffer_pool_config_add_option().
+
+If the parameters in @config can not be set exactly, this function returns
+%FALSE and will try to update as much state as possible. The new state can
+then be retrieved and refined with gst_buffer_pool_get_config().
+
+This function takes ownership of @config.</doc>
+ <source-position filename="gst/gstbufferpool.h" line="159"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.c"
+ line="653">%TRUE when the configuration could be set.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pool" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.c"
+ line="633">a #GstBufferPool</doc>
+ <type name="BufferPool" c:type="GstBufferPool*"/>
+ </instance-parameter>
+ <parameter name="config" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.c"
+ line="634">a #GstStructure</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="start">
+ <source-position filename="gst/gstbufferpool.h" line="161"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pool" transfer-ownership="none">
+ <type name="BufferPool" c:type="GstBufferPool*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="stop">
+ <source-position filename="gst/gstbufferpool.h" line="162"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pool" transfer-ownership="none">
+ <type name="BufferPool" c:type="GstBufferPool*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <method name="acquire_buffer"
+ c:identifier="gst_buffer_pool_acquire_buffer">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.c"
+ line="1247">Acquire a buffer from @pool. @buffer should point to a memory location that
+can hold a pointer to the new buffer.
+
+@params can be %NULL or contain optional parameters to influence the
+allocation.</doc>
+ <source-position filename="gst/gstbufferpool.h" line="248"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.c"
+ line="1259">a #GstFlowReturn such as %GST_FLOW_FLUSHING when the pool is
+inactive.</doc>
+ <type name="FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pool" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.c"
+ line="1249">a #GstBufferPool</doc>
+ <type name="BufferPool" c:type="GstBufferPool*"/>
+ </instance-parameter>
+ <parameter name="buffer"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.c"
+ line="1250">a location for a #GstBuffer</doc>
+ <type name="Buffer" c:type="GstBuffer**"/>
+ </parameter>
+ <parameter name="params"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.c"
+ line="1251">parameters.</doc>
+ <type name="BufferPoolAcquireParams"
+ c:type="GstBufferPoolAcquireParams*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_config" c:identifier="gst_buffer_pool_get_config">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.c"
+ line="726">Get a copy of the current configuration of the pool. This configuration
+can either be modified and used for the gst_buffer_pool_set_config() call
+or it must be freed after usage.</doc>
+ <source-position filename="gst/gstbufferpool.h" line="198"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.c"
+ line="734">a copy of the current configuration of @pool. use
+gst_structure_free() after usage or gst_buffer_pool_set_config().</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pool" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.c"
+ line="728">a #GstBufferPool</doc>
+ <type name="BufferPool" c:type="GstBufferPool*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_options" c:identifier="gst_buffer_pool_get_options">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.c"
+ line="753">Get a %NULL terminated array of string with supported bufferpool options for
+@pool. An option would typically be enabled with
+gst_buffer_pool_config_add_option().</doc>
+ <source-position filename="gst/gstbufferpool.h" line="201"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.c"
+ line="761">a %NULL terminated array
+ of strings.</doc>
+ <array c:type="const gchar**">
+ <type name="utf8"/>
+ </array>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pool" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.c"
+ line="755">a #GstBufferPool</doc>
+ <type name="BufferPool" c:type="GstBufferPool*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="has_option" c:identifier="gst_buffer_pool_has_option">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.c"
+ line="790">Check if the bufferpool supports @option.</doc>
+ <source-position filename="gst/gstbufferpool.h" line="204"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.c"
+ line="797">%TRUE if the buffer pool contains @option.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pool" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.c"
+ line="792">a #GstBufferPool</doc>
+ <type name="BufferPool" c:type="GstBufferPool*"/>
+ </instance-parameter>
+ <parameter name="option" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.c"
+ line="793">an option</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="is_active" c:identifier="gst_buffer_pool_is_active">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.c"
+ line="571">Check if @pool is active. A pool can be activated with the
+gst_buffer_pool_set_active() call.</doc>
+ <source-position filename="gst/gstbufferpool.h" line="192"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.c"
+ line="578">%TRUE when the pool is active.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pool" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.c"
+ line="573">a #GstBufferPool</doc>
+ <type name="BufferPool" c:type="GstBufferPool*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="release_buffer"
+ c:identifier="gst_buffer_pool_release_buffer">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.c"
+ line="1346">Release @buffer to @pool. @buffer should have previously been allocated from
+@pool with gst_buffer_pool_acquire_buffer().
+
+This function is usually called automatically when the last ref on @buffer
+disappears.</doc>
+ <source-position filename="gst/gstbufferpool.h" line="252"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pool" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.c"
+ line="1348">a #GstBufferPool</doc>
+ <type name="BufferPool" c:type="GstBufferPool*"/>
+ </instance-parameter>
+ <parameter name="buffer" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.c"
+ line="1349">a #GstBuffer</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_active" c:identifier="gst_buffer_pool_set_active">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.c"
+ line="475">Control the active state of @pool. When the pool is inactive, new calls to
+gst_buffer_pool_acquire_buffer() will return with %GST_FLOW_FLUSHING.
+
+Activating the bufferpool will preallocate all resources in the pool based on
+the configuration of the pool.
+
+Deactivating will free the resources again when there are no outstanding
+buffers. When there are outstanding buffers, they will be freed as soon as
+they are all returned to the pool.</doc>
+ <source-position filename="gst/gstbufferpool.h" line="189"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.c"
+ line="490">%FALSE when the pool was not configured or when preallocation of the
+buffers failed.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pool" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.c"
+ line="477">a #GstBufferPool</doc>
+ <type name="BufferPool" c:type="GstBufferPool*"/>
+ </instance-parameter>
+ <parameter name="active" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.c"
+ line="478">the new active state</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_config" c:identifier="gst_buffer_pool_set_config">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.c"
+ line="631">Set the configuration of the pool. If the pool is already configured, and
+the configuration haven't change, this function will return %TRUE. If the
+pool is active, this method will return %FALSE and active configuration
+will remain. Buffers allocated form this pool must be returned or else this
+function will do nothing and return %FALSE.
+
+@config is a #GstStructure that contains the configuration parameters for
+the pool. A default and mandatory set of parameters can be configured with
+gst_buffer_pool_config_set_params(), gst_buffer_pool_config_set_allocator()
+and gst_buffer_pool_config_add_option().
+
+If the parameters in @config can not be set exactly, this function returns
+%FALSE and will try to update as much state as possible. The new state can
+then be retrieved and refined with gst_buffer_pool_get_config().
+
+This function takes ownership of @config.</doc>
+ <source-position filename="gst/gstbufferpool.h" line="195"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.c"
+ line="653">%TRUE when the configuration could be set.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pool" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.c"
+ line="633">a #GstBufferPool</doc>
+ <type name="BufferPool" c:type="GstBufferPool*"/>
+ </instance-parameter>
+ <parameter name="config" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.c"
+ line="634">a #GstStructure</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_flushing"
+ c:identifier="gst_buffer_pool_set_flushing"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.c"
+ line="1385">Enable or disable the flushing state of a @pool without freeing or
+allocating buffers.</doc>
+ <source-position filename="gst/gstbufferpool.h" line="207"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pool" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.c"
+ line="1387">a #GstBufferPool</doc>
+ <type name="BufferPool" c:type="GstBufferPool*"/>
+ </instance-parameter>
+ <parameter name="flushing" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.c"
+ line="1388">whether to start or stop flushing</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <field name="object">
+ <type name="Object" c:type="GstObject"/>
+ </field>
+ <field name="flushing">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="BufferPoolPrivate" c:type="GstBufferPoolPrivate*"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <bitfield name="BufferPoolAcquireFlags"
+ glib:type-name="GstBufferPoolAcquireFlags"
+ glib:get-type="gst_buffer_pool_acquire_flags_get_type"
+ c:type="GstBufferPoolAcquireFlags">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.h"
+ line="43">Additional flags to control the allocation of a buffer</doc>
+ <member name="none"
+ value="0"
+ c:identifier="GST_BUFFER_POOL_ACQUIRE_FLAG_NONE"
+ glib:nick="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.h"
+ line="45">no flags</doc>
+ </member>
+ <member name="key_unit"
+ value="1"
+ c:identifier="GST_BUFFER_POOL_ACQUIRE_FLAG_KEY_UNIT"
+ glib:nick="key-unit">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.h"
+ line="46">buffer is keyframe</doc>
+ </member>
+ <member name="dontwait"
+ value="2"
+ c:identifier="GST_BUFFER_POOL_ACQUIRE_FLAG_DONTWAIT"
+ glib:nick="dontwait">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.h"
+ line="47">when the bufferpool is empty, acquire_buffer
+will by default block until a buffer is released into the pool again. Setting
+this flag makes acquire_buffer return #GST_FLOW_EOS instead of blocking.</doc>
+ </member>
+ <member name="discont"
+ value="4"
+ c:identifier="GST_BUFFER_POOL_ACQUIRE_FLAG_DISCONT"
+ glib:nick="discont">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.h"
+ line="50">buffer is discont</doc>
+ </member>
+ <member name="last"
+ value="65536"
+ c:identifier="GST_BUFFER_POOL_ACQUIRE_FLAG_LAST"
+ glib:nick="last">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.h"
+ line="51">last flag, subclasses can use private flags
+ starting from this value.</doc>
+ </member>
+ </bitfield>
+ <record name="BufferPoolAcquireParams" c:type="GstBufferPoolAcquireParams">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.h"
+ line="66">Parameters passed to the gst_buffer_pool_acquire_buffer() function to control the
+allocation of the buffer.
+
+The default implementation ignores the @start and @stop members but other
+implementations can use this extra information to decide what buffer to
+return.</doc>
+ <source-position filename="gst/gstbufferpool.h" line="88"/>
+ <field name="format" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.h"
+ line="68">the format of @start and @stop</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </field>
+ <field name="start" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.h"
+ line="69">the start position</doc>
+ <type name="gint64" c:type="gint64"/>
+ </field>
+ <field name="stop" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.h"
+ line="70">the stop position</doc>
+ <type name="gint64" c:type="gint64"/>
+ </field>
+ <field name="flags" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.h"
+ line="71">additional flags</doc>
+ <type name="BufferPoolAcquireFlags"
+ c:type="GstBufferPoolAcquireFlags"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="BufferPoolClass"
+ c:type="GstBufferPoolClass"
+ glib:is-gtype-struct-for="BufferPool">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.h"
+ line="117">The GstBufferPool class.</doc>
+ <source-position filename="gst/gstbufferpool.h" line="176"/>
+ <field name="object_class">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.h"
+ line="119">Object parent class</doc>
+ <type name="ObjectClass" c:type="GstObjectClass"/>
+ </field>
+ <field name="get_options">
+ <callback name="get_options">
+ <source-position filename="gst/gstbufferpool.h" line="158"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.c"
+ line="761">a %NULL terminated array
+ of strings.</doc>
+ <array c:type="const gchar**">
+ <type name="utf8"/>
+ </array>
+ </return-value>
+ <parameters>
+ <parameter name="pool" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.c"
+ line="755">a #GstBufferPool</doc>
+ <type name="BufferPool" c:type="GstBufferPool*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="set_config">
+ <callback name="set_config">
+ <source-position filename="gst/gstbufferpool.h" line="159"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.c"
+ line="653">%TRUE when the configuration could be set.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="pool" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.c"
+ line="633">a #GstBufferPool</doc>
+ <type name="BufferPool" c:type="GstBufferPool*"/>
+ </parameter>
+ <parameter name="config" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.c"
+ line="634">a #GstStructure</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="start">
+ <callback name="start">
+ <source-position filename="gst/gstbufferpool.h" line="161"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="pool" transfer-ownership="none">
+ <type name="BufferPool" c:type="GstBufferPool*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="stop">
+ <callback name="stop">
+ <source-position filename="gst/gstbufferpool.h" line="162"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="pool" transfer-ownership="none">
+ <type name="BufferPool" c:type="GstBufferPool*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="acquire_buffer">
+ <callback name="acquire_buffer">
+ <source-position filename="gst/gstbufferpool.h" line="164"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.c"
+ line="1259">a #GstFlowReturn such as %GST_FLOW_FLUSHING when the pool is
+inactive.</doc>
+ <type name="FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="pool" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.c"
+ line="1249">a #GstBufferPool</doc>
+ <type name="BufferPool" c:type="GstBufferPool*"/>
+ </parameter>
+ <parameter name="buffer"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.c"
+ line="1250">a location for a #GstBuffer</doc>
+ <type name="Buffer" c:type="GstBuffer**"/>
+ </parameter>
+ <parameter name="params"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.c"
+ line="1251">parameters.</doc>
+ <type name="BufferPoolAcquireParams"
+ c:type="GstBufferPoolAcquireParams*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="alloc_buffer">
+ <callback name="alloc_buffer">
+ <source-position filename="gst/gstbufferpool.h" line="166"/>
+ <return-value transfer-ownership="none">
+ <type name="FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="pool" transfer-ownership="none">
+ <type name="BufferPool" c:type="GstBufferPool*"/>
+ </parameter>
+ <parameter name="buffer" transfer-ownership="none">
+ <type name="Buffer" c:type="GstBuffer**"/>
+ </parameter>
+ <parameter name="params" transfer-ownership="none">
+ <type name="BufferPoolAcquireParams"
+ c:type="GstBufferPoolAcquireParams*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="reset_buffer">
+ <callback name="reset_buffer">
+ <source-position filename="gst/gstbufferpool.h" line="168"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="pool" transfer-ownership="none">
+ <type name="BufferPool" c:type="GstBufferPool*"/>
+ </parameter>
+ <parameter name="buffer" transfer-ownership="none">
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="release_buffer">
+ <callback name="release_buffer">
+ <source-position filename="gst/gstbufferpool.h" line="169"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="pool" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.c"
+ line="1348">a #GstBufferPool</doc>
+ <type name="BufferPool" c:type="GstBufferPool*"/>
+ </parameter>
+ <parameter name="buffer" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferpool.c"
+ line="1349">a #GstBuffer</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="free_buffer">
+ <callback name="free_buffer">
+ <source-position filename="gst/gstbufferpool.h" line="170"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="pool" transfer-ownership="none">
+ <type name="BufferPool" c:type="GstBufferPool*"/>
+ </parameter>
+ <parameter name="buffer" transfer-ownership="none">
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="flush_start">
+ <callback name="flush_start">
+ <source-position filename="gst/gstbufferpool.h" line="171"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="pool" transfer-ownership="none">
+ <type name="BufferPool" c:type="GstBufferPool*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="flush_stop">
+ <callback name="flush_stop">
+ <source-position filename="gst/gstbufferpool.h" line="172"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="pool" transfer-ownership="none">
+ <type name="BufferPool" c:type="GstBufferPool*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="2">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="BufferPoolPrivate"
+ c:type="GstBufferPoolPrivate"
+ disguised="1">
+ <source-position filename="gst/gstbufferpool.h" line="32"/>
+ </record>
+ <enumeration name="BufferingMode"
+ glib:type-name="GstBufferingMode"
+ glib:get-type="gst_buffering_mode_get_type"
+ c:type="GstBufferingMode">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.h"
+ line="193">The different types of buffering methods.</doc>
+ <member name="stream"
+ value="0"
+ c:identifier="GST_BUFFERING_STREAM"
+ glib:nick="stream">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.h"
+ line="195">a small amount of data is buffered</doc>
+ </member>
+ <member name="download"
+ value="1"
+ c:identifier="GST_BUFFERING_DOWNLOAD"
+ glib:nick="download">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.h"
+ line="196">the stream is being downloaded</doc>
+ </member>
+ <member name="timeshift"
+ value="2"
+ c:identifier="GST_BUFFERING_TIMESHIFT"
+ glib:nick="timeshift">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.h"
+ line="197">the stream is being downloaded in a ringbuffer</doc>
+ </member>
+ <member name="live"
+ value="3"
+ c:identifier="GST_BUFFERING_LIVE"
+ glib:nick="live">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.h"
+ line="198">the stream is a live stream</doc>
+ </member>
+ </enumeration>
+ <class name="Bus"
+ c:symbol-prefix="bus"
+ c:type="GstBus"
+ parent="Object"
+ glib:type-name="GstBus"
+ glib:get-type="gst_bus_get_type"
+ glib:type-struct="BusClass">
+ <doc xml:space="preserve"
+ filename="gst/gstbus.c"
+ line="22">The #GstBus is an object responsible for delivering #GstMessage packets in
+a first-in first-out way from the streaming threads (see #GstTask) to the
+application.
+
+Since the application typically only wants to deal with delivery of these
+messages from one thread, the GstBus will marshall the messages between
+different threads. This is important since the actual streaming of media
+is done in another thread than the application.
+
+The GstBus provides support for #GSource based notifications. This makes it
+possible to handle the delivery in the glib mainloop.
+
+The #GSource callback function gst_bus_async_signal_func() can be used to
+convert all bus messages into signal emissions.
+
+A message is posted on the bus with the gst_bus_post() method. With the
+gst_bus_peek() and gst_bus_pop() methods one can look at or retrieve a
+previously posted message.
+
+The bus can be polled with the gst_bus_poll() method. This methods blocks
+up to the specified timeout value until one of the specified messages types
+is posted on the bus. The application can then gst_bus_pop() the messages
+from the bus to handle them.
+Alternatively the application can register an asynchronous bus function
+using gst_bus_add_watch_full() or gst_bus_add_watch(). This function will
+install a #GSource in the default glib main loop and will deliver messages
+a short while after they have been posted. Note that the main loop should
+be running for the asynchronous callbacks.
+
+It is also possible to get messages from the bus without any thread
+marshalling with the gst_bus_set_sync_handler() method. This makes it
+possible to react to a message in the same thread that posted the
+message on the bus. This should only be used if the application is able
+to deal with messages from different threads.
+
+Every #GstPipeline has one bus.
+
+Note that a #GstPipeline will set its bus into flushing state when changing
+from READY to NULL state.</doc>
+ <source-position filename="gst/gstbus.h" line="133"/>
+ <constructor name="new" c:identifier="gst_bus_new">
+ <doc xml:space="preserve"
+ filename="gst/gstbus.c"
+ line="297">Creates a new #GstBus instance.</doc>
+ <source-position filename="gst/gstbus.h" line="139"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstbus.c"
+ line="302">a new #GstBus instance</doc>
+ <type name="Bus" c:type="GstBus*"/>
+ </return-value>
+ </constructor>
+ <virtual-method name="message">
+ <source-position filename="gst/gstbus.h" line="128"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="bus" transfer-ownership="none">
+ <type name="Bus" c:type="GstBus*"/>
+ </instance-parameter>
+ <parameter name="message" transfer-ownership="none">
+ <type name="Message" c:type="GstMessage*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="sync_message">
+ <source-position filename="gst/gstbus.h" line="129"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="bus" transfer-ownership="none">
+ <type name="Bus" c:type="GstBus*"/>
+ </instance-parameter>
+ <parameter name="message" transfer-ownership="none">
+ <type name="Message" c:type="GstMessage*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <method name="add_signal_watch" c:identifier="gst_bus_add_signal_watch">
+ <doc xml:space="preserve"
+ filename="gst/gstbus.c"
+ line="1446">Adds a bus signal watch to the default main context with the default priority
+(%G_PRIORITY_DEFAULT). It is also possible to use a non-default
+main context set up using g_main_context_push_thread_default() (before
+one had to create a bus watch source and attach it to the desired main
+context 'manually').
+
+After calling this statement, the bus will emit the "message" signal for each
+message posted on the bus.
+
+This function may be called multiple times. To clean up, the caller is
+responsible for calling gst_bus_remove_signal_watch() as many times as this
+function is called.
+
+MT safe.</doc>
+ <source-position filename="gst/gstbus.h" line="212"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="bus" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbus.c"
+ line="1448">a #GstBus on which you want to receive the "message" signal</doc>
+ <type name="Bus" c:type="GstBus*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="add_signal_watch_full"
+ c:identifier="gst_bus_add_signal_watch_full">
+ <doc xml:space="preserve"
+ filename="gst/gstbus.c"
+ line="1387">Adds a bus signal watch to the default main context with the given @priority
+(e.g. %G_PRIORITY_DEFAULT). It is also possible to use a non-default main
+context set up using g_main_context_push_thread_default()
+(before one had to create a bus watch source and attach it to the desired
+main context 'manually').
+
+After calling this statement, the bus will emit the "message" signal for each
+message posted on the bus when the main loop is running.
+
+This function may be called multiple times. To clean up, the caller is
+responsible for calling gst_bus_remove_signal_watch() as many times as this
+function is called.
+
+There can only be a single bus watch per bus, you must remove any signal
+watch before you can set another type of watch.
+
+MT safe.</doc>
+ <source-position filename="gst/gstbus.h" line="215"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="bus" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbus.c"
+ line="1389">a #GstBus on which you want to receive the "message" signal</doc>
+ <type name="Bus" c:type="GstBus*"/>
+ </instance-parameter>
+ <parameter name="priority" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbus.c"
+ line="1390">The priority of the watch.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_watch"
+ c:identifier="gst_bus_add_watch"
+ shadowed-by="add_watch_full"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstbus.c"
+ line="1030">Adds a bus watch to the default main context with the default priority
+(%G_PRIORITY_DEFAULT). It is also possible to use a non-default main
+context set up using g_main_context_push_thread_default() (before
+one had to create a bus watch source and attach it to the desired main
+context 'manually').
+
+This function is used to receive asynchronous messages in the main loop.
+There can only be a single bus watch per bus, you must remove it before you
+can set a new one.
+
+The bus watch will only work if a GLib main loop is being run.
+
+The watch can be removed using gst_bus_remove_watch() or by returning %FALSE
+from @func. If the watch was added to the default main context it is also
+possible to remove the watch using g_source_remove().
+
+The bus watch will take its own reference to the @bus, so it is safe to unref
+@bus using gst_object_unref() after setting the bus watch.
+
+MT safe.</doc>
+ <source-position filename="gst/gstbus.h" line="188"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbus.c"
+ line="1057">The event source id or 0 if @bus already got an event source.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="bus" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbus.c"
+ line="1032">a #GstBus to create the watch for</doc>
+ <type name="Bus" c:type="GstBus*"/>
+ </instance-parameter>
+ <parameter name="func" transfer-ownership="none" closure="1">
+ <doc xml:space="preserve"
+ filename="gst/gstbus.c"
+ line="1033">A function to call when a message is received.</doc>
+ <type name="BusFunc" c:type="GstBusFunc"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstbus.c"
+ line="1034">user data passed to @func.</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_watch_full"
+ c:identifier="gst_bus_add_watch_full"
+ shadows="add_watch">
+ <doc xml:space="preserve"
+ filename="gst/gstbus.c"
+ line="981">Adds a bus watch to the default main context with the given @priority (e.g.
+%G_PRIORITY_DEFAULT). It is also possible to use a non-default main
+context set up using g_main_context_push_thread_default() (before
+one had to create a bus watch source and attach it to the desired main
+context 'manually').
+
+This function is used to receive asynchronous messages in the main loop.
+There can only be a single bus watch per bus, you must remove it before you
+can set a new one.
+
+The bus watch will only work if a GLib main loop is being run.
+
+When @func is called, the message belongs to the caller; if you want to
+keep a copy of it, call gst_message_ref() before leaving @func.
+
+The watch can be removed using gst_bus_remove_watch() or by returning %FALSE
+from @func. If the watch was added to the default main context it is also
+possible to remove the watch using g_source_remove().
+
+The bus watch will take its own reference to the @bus, so it is safe to unref
+@bus using gst_object_unref() after setting the bus watch.
+
+MT safe.</doc>
+ <source-position filename="gst/gstbus.h" line="182"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbus.c"
+ line="1013">The event source id or 0 if @bus already got an event source.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="bus" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbus.c"
+ line="983">a #GstBus to create the watch for.</doc>
+ <type name="Bus" c:type="GstBus*"/>
+ </instance-parameter>
+ <parameter name="priority" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbus.c"
+ line="984">The priority of the watch.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="func"
+ transfer-ownership="none"
+ scope="notified"
+ closure="2"
+ destroy="3">
+ <doc xml:space="preserve"
+ filename="gst/gstbus.c"
+ line="985">A function to call when a message is received.</doc>
+ <type name="BusFunc" c:type="GstBusFunc"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstbus.c"
+ line="986">user data passed to @func.</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="notify" transfer-ownership="none" scope="async">
+ <doc xml:space="preserve"
+ filename="gst/gstbus.c"
+ line="987">the function to call when the source is removed.</doc>
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="async_signal_func"
+ c:identifier="gst_bus_async_signal_func">
+ <doc xml:space="preserve"
+ filename="gst/gstbus.c"
+ line="1274">A helper #GstBusFunc that can be used to convert all asynchronous messages
+into signals.</doc>
+ <source-position filename="gst/gstbus.h" line="203"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbus.c"
+ line="1283">%TRUE</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="bus" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbus.c"
+ line="1276">a #GstBus</doc>
+ <type name="Bus" c:type="GstBus*"/>
+ </instance-parameter>
+ <parameter name="message" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbus.c"
+ line="1277">the #GstMessage received</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </parameter>
+ <parameter name="data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstbus.c"
+ line="1278">user data</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="create_watch" c:identifier="gst_bus_create_watch">
+ <doc xml:space="preserve"
+ filename="gst/gstbus.c"
+ line="911">Create watch for this bus. The GSource will be dispatched whenever
+a message is on the bus. After the GSource is dispatched, the
+message is popped off the bus and unreffed.</doc>
+ <source-position filename="gst/gstbus.h" line="179"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstbus.c"
+ line="919">a #GSource that can be added to a mainloop.</doc>
+ <type name="GLib.Source" c:type="GSource*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="bus" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbus.c"
+ line="913">a #GstBus to create the watch for</doc>
+ <type name="Bus" c:type="GstBus*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="disable_sync_message_emission"
+ c:identifier="gst_bus_disable_sync_message_emission">
+ <doc xml:space="preserve"
+ filename="gst/gstbus.c"
+ line="1359">Instructs GStreamer to stop emitting the "sync-message" signal for this bus.
+See gst_bus_enable_sync_message_emission() for more information.
+
+In the event that multiple pieces of code have called
+gst_bus_enable_sync_message_emission(), the sync-message emissions will only
+be stopped after all calls to gst_bus_enable_sync_message_emission() were
+"cancelled" by calling this function. In this way the semantics are exactly
+the same as gst_object_ref() that which calls enable should also call
+disable.
+
+MT safe.</doc>
+ <source-position filename="gst/gstbus.h" line="224"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="bus" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbus.c"
+ line="1361">a #GstBus on which you previously called
+gst_bus_enable_sync_message_emission()</doc>
+ <type name="Bus" c:type="GstBus*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="enable_sync_message_emission"
+ c:identifier="gst_bus_enable_sync_message_emission">
+ <doc xml:space="preserve"
+ filename="gst/gstbus.c"
+ line="1327">Instructs GStreamer to emit the "sync-message" signal after running the bus's
+sync handler. This function is here so that code can ensure that they can
+synchronously receive messages without having to affect what the bin's sync
+handler is.
+
+This function may be called multiple times. To clean up, the caller is
+responsible for calling gst_bus_disable_sync_message_emission() as many times
+as this function is called.
+
+While this function looks similar to gst_bus_add_signal_watch(), it is not
+exactly the same -- this function enables *synchronous* emission of
+signals when messages arrive; gst_bus_add_signal_watch() adds an idle callback
+to pop messages off the bus *asynchronously*. The sync-message signal
+comes from the thread of whatever object posted the message; the "message"
+signal is marshalled to the main thread via the main loop.
+
+MT safe.</doc>
+ <source-position filename="gst/gstbus.h" line="221"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="bus" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbus.c"
+ line="1329">a #GstBus on which you want to receive the "sync-message" signal</doc>
+ <type name="Bus" c:type="GstBus*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_pollfd"
+ c:identifier="gst_bus_get_pollfd"
+ version="1.14">
+ <doc xml:space="preserve"
+ filename="gst/gstbus.c"
+ line="774">Gets the file descriptor from the bus which can be used to get notified about
+messages being available with functions like g_poll(), and allows integration
+into other event loops based on file descriptors.
+Whenever a message is available, the POLLIN / %G_IO_IN event is set.
+
+Warning: NEVER read or write anything to the returned fd but only use it
+for getting notifications via g_poll() or similar and then use the normal
+GstBus API, e.g. gst_bus_pop().</doc>
+ <source-position filename="gst/gstbus.h" line="174"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="bus" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbus.c"
+ line="776">A #GstBus</doc>
+ <type name="Bus" c:type="GstBus*"/>
+ </instance-parameter>
+ <parameter name="fd"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbus.c"
+ line="777">A GPollFD to fill</doc>
+ <type name="GLib.PollFD" c:type="GPollFD*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="have_pending" c:identifier="gst_bus_have_pending">
+ <doc xml:space="preserve"
+ filename="gst/gstbus.c"
+ line="444">Check if there are pending messages on the bus that
+should be handled.</doc>
+ <source-position filename="gst/gstbus.h" line="145"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbus.c"
+ line="451">%TRUE if there are messages on the bus to be handled, %FALSE
+otherwise.
+
+MT safe.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="bus" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbus.c"
+ line="446">a #GstBus to check</doc>
+ <type name="Bus" c:type="GstBus*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="peek" c:identifier="gst_bus_peek">
+ <doc xml:space="preserve"
+ filename="gst/gstbus.c"
+ line="702">Peek the message on the top of the bus' queue. The message will remain
+on the bus' message queue. A reference is returned, and needs to be unreffed
+by the caller.</doc>
+ <source-position filename="gst/gstbus.h" line="148"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstbus.c"
+ line="710">the #GstMessage that is on the
+ bus, or %NULL if the bus is empty.
+
+MT safe.</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="bus" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbus.c"
+ line="704">a #GstBus</doc>
+ <type name="Bus" c:type="GstBus*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="poll" c:identifier="gst_bus_poll">
+ <doc xml:space="preserve"
+ filename="gst/gstbus.c"
+ line="1179">Poll the bus for messages. Will block while waiting for messages to come.
+You can specify a maximum time to poll with the @timeout parameter. If
+@timeout is negative, this function will block indefinitely.
+
+All messages not in @events will be popped off the bus and will be ignored.
+It is not possible to use message enums beyond #GST_MESSAGE_EXTENDED in the
+@events mask
+
+Because poll is implemented using the "message" signal enabled by
+gst_bus_add_signal_watch(), calling gst_bus_poll() will cause the "message"
+signal to be emitted for every message that poll sees. Thus a "message"
+signal handler will see the same messages that this function sees -- neither
+will steal messages from the other.
+
+This function will run a main loop from the default main context when
+polling.
+
+You should never use this function, since it is pure evil. This is
+especially true for GUI applications based on Gtk+ or Qt, but also for any
+other non-trivial application that uses the GLib main loop. As this function
+runs a GLib main loop, any callback attached to the default GLib main
+context may be invoked. This could be timeouts, GUI events, I/O events etc.;
+even if gst_bus_poll() is called with a 0 timeout. Any of these callbacks
+may do things you do not expect, e.g. destroy the main application window or
+some other resource; change other application state; display a dialog and
+run another main loop until the user clicks it away. In short, using this
+function may add a lot of complexity to your code through unexpected
+re-entrancy and unexpected changes to your application's state.
+
+For 0 timeouts use gst_bus_pop_filtered() instead of this function; for
+other short timeouts use gst_bus_timed_pop_filtered(); everything else is
+better handled by setting up an asynchronous bus watch and doing things
+from there.</doc>
+ <source-position filename="gst/gstbus.h" line="197"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstbus.c"
+ line="1221">the message that was received,
+ or %NULL if the poll timed out. The message is taken from the
+ bus and needs to be unreffed with gst_message_unref() after
+ usage.</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="bus" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbus.c"
+ line="1181">a #GstBus</doc>
+ <type name="Bus" c:type="GstBus*"/>
+ </instance-parameter>
+ <parameter name="events" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbus.c"
+ line="1182">a mask of #GstMessageType, representing the set of message types to
+poll for (note special handling of extended message types below)</doc>
+ <type name="MessageType" c:type="GstMessageType"/>
+ </parameter>
+ <parameter name="timeout" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbus.c"
+ line="1184">the poll timeout, as a #GstClockTime, or #GST_CLOCK_TIME_NONE to poll
+indefinitely.</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="pop" c:identifier="gst_bus_pop">
+ <doc xml:space="preserve"
+ filename="gst/gstbus.c"
+ line="681">Get a message from the bus.</doc>
+ <source-position filename="gst/gstbus.h" line="151"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstbus.c"
+ line="687">the #GstMessage that is on the
+ bus, or %NULL if the bus is empty. The message is taken from
+ the bus and needs to be unreffed with gst_message_unref() after
+ usage.
+
+MT safe.</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="bus" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbus.c"
+ line="683">a #GstBus to pop</doc>
+ <type name="Bus" c:type="GstBus*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="pop_filtered" c:identifier="gst_bus_pop_filtered">
+ <doc xml:space="preserve"
+ filename="gst/gstbus.c"
+ line="654">Get a message matching @type from the bus. Will discard all messages on
+the bus that do not match @type and that have been posted before the first
+message that does match @type. If there is no message matching @type on
+the bus, all messages will be discarded. It is not possible to use message
+enums beyond #GST_MESSAGE_EXTENDED in the @events mask.</doc>
+ <source-position filename="gst/gstbus.h" line="154"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstbus.c"
+ line="665">the next #GstMessage matching
+ @type that is on the bus, or %NULL if the bus is empty or there
+ is no message matching @type. The message is taken from the bus
+ and needs to be unreffed with gst_message_unref() after usage.
+
+MT safe.</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="bus" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbus.c"
+ line="656">a #GstBus to pop</doc>
+ <type name="Bus" c:type="GstBus*"/>
+ </instance-parameter>
+ <parameter name="types" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbus.c"
+ line="657">message types to take into account</doc>
+ <type name="MessageType" c:type="GstMessageType"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="post" c:identifier="gst_bus_post">
+ <doc xml:space="preserve"
+ filename="gst/gstbus.c"
+ line="318">Post a message on the given bus. Ownership of the message
+is taken by the bus.</doc>
+ <source-position filename="gst/gstbus.h" line="142"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbus.c"
+ line="326">%TRUE if the message could be posted, %FALSE if the bus is flushing.
+
+MT safe.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="bus" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbus.c"
+ line="320">a #GstBus to post on</doc>
+ <type name="Bus" c:type="GstBus*"/>
+ </instance-parameter>
+ <parameter name="message" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstbus.c"
+ line="321">the #GstMessage to post</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="remove_signal_watch"
+ c:identifier="gst_bus_remove_signal_watch">
+ <doc xml:space="preserve"
+ filename="gst/gstbus.c"
+ line="1471">Removes a signal watch previously added with gst_bus_add_signal_watch().
+
+MT safe.</doc>
+ <source-position filename="gst/gstbus.h" line="218"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="bus" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbus.c"
+ line="1473">a #GstBus you previously added a signal watch to</doc>
+ <type name="Bus" c:type="GstBus*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="remove_watch"
+ c:identifier="gst_bus_remove_watch"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst/gstbus.c"
+ line="1066">Removes an installed bus watch from @bus.</doc>
+ <source-position filename="gst/gstbus.h" line="192"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbus.c"
+ line="1072">%TRUE on success or %FALSE if @bus has no event source.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="bus" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbus.c"
+ line="1068">a #GstBus to remove the watch from.</doc>
+ <type name="Bus" c:type="GstBus*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="set_flushing" c:identifier="gst_bus_set_flushing">
+ <doc xml:space="preserve"
+ filename="gst/gstbus.c"
+ line="469">If @flushing, flush out and unref any messages queued in the bus. Releases
+references to the message origin objects. Will flush future messages until
+gst_bus_set_flushing() sets @flushing to %FALSE.
+
+MT safe.</doc>
+ <source-position filename="gst/gstbus.h" line="163"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="bus" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbus.c"
+ line="471">a #GstBus</doc>
+ <type name="Bus" c:type="GstBus*"/>
+ </instance-parameter>
+ <parameter name="flushing" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbus.c"
+ line="472">whether or not to flush the bus</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_sync_handler" c:identifier="gst_bus_set_sync_handler">
+ <doc xml:space="preserve"
+ filename="gst/gstbus.c"
+ line="733">Sets the synchronous handler on the bus. The function will be called
+every time a new message is posted on the bus. Note that the function
+will be called in the same thread context as the posting object. This
+function is usually only called by the creator of the bus. Applications
+should handle messages asynchronously using the gst_bus watch and poll
+functions.
+
+Before 1.16.3 it was not possible to replace an existing handler and
+clearing an existing handler with %NULL was not thread-safe.</doc>
+ <source-position filename="gst/gstbus.h" line="168"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="bus" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbus.c"
+ line="735">a #GstBus to install the handler on</doc>
+ <type name="Bus" c:type="GstBus*"/>
+ </instance-parameter>
+ <parameter name="func"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1"
+ scope="notified"
+ closure="1"
+ destroy="2">
+ <doc xml:space="preserve"
+ filename="gst/gstbus.c"
+ line="736">The handler function to install</doc>
+ <type name="BusSyncHandler" c:type="GstBusSyncHandler"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstbus.c"
+ line="737">User data that will be sent to the handler function.</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="notify" transfer-ownership="none" scope="async">
+ <doc xml:space="preserve"
+ filename="gst/gstbus.c"
+ line="738">called when @user_data becomes unused</doc>
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="sync_signal_handler"
+ c:identifier="gst_bus_sync_signal_handler">
+ <doc xml:space="preserve"
+ filename="gst/gstbus.c"
+ line="1301">A helper GstBusSyncHandler that can be used to convert all synchronous
+messages into signals.</doc>
+ <source-position filename="gst/gstbus.h" line="206"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbus.c"
+ line="1310">GST_BUS_PASS</doc>
+ <type name="BusSyncReply" c:type="GstBusSyncReply"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="bus" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbus.c"
+ line="1303">a #GstBus</doc>
+ <type name="Bus" c:type="GstBus*"/>
+ </instance-parameter>
+ <parameter name="message" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbus.c"
+ line="1304">the #GstMessage received</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </parameter>
+ <parameter name="data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstbus.c"
+ line="1305">user data</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="timed_pop" c:identifier="gst_bus_timed_pop">
+ <doc xml:space="preserve"
+ filename="gst/gstbus.c"
+ line="628">Get a message from the bus, waiting up to the specified timeout.
+
+If @timeout is 0, this function behaves like gst_bus_pop(). If @timeout is
+#GST_CLOCK_TIME_NONE, this function will block forever until a message was
+posted on the bus.</doc>
+ <source-position filename="gst/gstbus.h" line="157"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstbus.c"
+ line="639">the #GstMessage that is on the
+ bus after the specified timeout or %NULL if the bus is empty
+ after the timeout expired. The message is taken from the bus
+ and needs to be unreffed with gst_message_unref() after usage.
+
+MT safe.</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="bus" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbus.c"
+ line="630">a #GstBus to pop</doc>
+ <type name="Bus" c:type="GstBus*"/>
+ </instance-parameter>
+ <parameter name="timeout" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbus.c"
+ line="631">a timeout</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="timed_pop_filtered"
+ c:identifier="gst_bus_timed_pop_filtered">
+ <doc xml:space="preserve"
+ filename="gst/gstbus.c"
+ line="507">Get a message from the bus whose type matches the message type mask @types,
+waiting up to the specified timeout (and discarding any messages that do not
+match the mask provided).
+
+If @timeout is 0, this function behaves like gst_bus_pop_filtered(). If
+@timeout is #GST_CLOCK_TIME_NONE, this function will block forever until a
+matching message was posted on the bus.</doc>
+ <source-position filename="gst/gstbus.h" line="160"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstbus.c"
+ line="521">a #GstMessage matching the
+ filter in @types, or %NULL if no matching message was found on
+ the bus until the timeout expired. The message is taken from
+ the bus and needs to be unreffed with gst_message_unref() after
+ usage.
+
+MT safe.</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="bus" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbus.c"
+ line="509">a #GstBus to pop from</doc>
+ <type name="Bus" c:type="GstBus*"/>
+ </instance-parameter>
+ <parameter name="timeout" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbus.c"
+ line="510">a timeout in nanoseconds, or GST_CLOCK_TIME_NONE to wait forever</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="types" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbus.c"
+ line="511">message types to take into account, GST_MESSAGE_ANY for any type</doc>
+ <type name="MessageType" c:type="GstMessageType"/>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="enable-async"
+ readable="0"
+ writable="1"
+ construct-only="1"
+ transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </property>
+ <field name="object">
+ <type name="Object" c:type="GstObject"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="BusPrivate" c:type="GstBusPrivate*"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <glib:signal name="message" when="last" detailed="1">
+ <doc xml:space="preserve"
+ filename="gst/gstbus.c"
+ line="232">A message has been posted on the bus. This signal is emitted from a
+GSource added to the mainloop. this signal will only be emitted when
+there is a mainloop running.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="message" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbus.c"
+ line="235">the message that has been posted asynchronously</doc>
+ <type name="Message"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="sync-message" when="last" detailed="1">
+ <doc xml:space="preserve"
+ filename="gst/gstbus.c"
+ line="215">A message has been posted on the bus. This signal is emitted from the
+thread that posted the message so one has to be careful with locking.
+
+This signal will not be emitted by default, you have to call
+gst_bus_enable_sync_message_emission() before.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="message" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbus.c"
+ line="218">the message that has been posted synchronously</doc>
+ <type name="Message"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ </class>
+ <record name="BusClass"
+ c:type="GstBusClass"
+ glib:is-gtype-struct-for="Bus">
+ <source-position filename="gst/gstbus.h" line="133"/>
+ <field name="parent_class">
+ <type name="ObjectClass" c:type="GstObjectClass"/>
+ </field>
+ <field name="message">
+ <callback name="message">
+ <source-position filename="gst/gstbus.h" line="128"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="bus" transfer-ownership="none">
+ <type name="Bus" c:type="GstBus*"/>
+ </parameter>
+ <parameter name="message" transfer-ownership="none">
+ <type name="Message" c:type="GstMessage*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="sync_message">
+ <callback name="sync_message">
+ <source-position filename="gst/gstbus.h" line="129"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="bus" transfer-ownership="none">
+ <type name="Bus" c:type="GstBus*"/>
+ </parameter>
+ <parameter name="message" transfer-ownership="none">
+ <type name="Message" c:type="GstMessage*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <bitfield name="BusFlags"
+ glib:type-name="GstBusFlags"
+ glib:get-type="gst_bus_flags_get_type"
+ c:type="GstBusFlags">
+ <doc xml:space="preserve"
+ filename="gst/gstbus.h"
+ line="43">The standard flags that a bus may have.</doc>
+ <member name="flushing"
+ value="16"
+ c:identifier="GST_BUS_FLUSHING"
+ glib:nick="flushing">
+ <doc xml:space="preserve"
+ filename="gst/gstbus.h"
+ line="45">The bus is currently dropping all messages</doc>
+ </member>
+ <member name="flag_last"
+ value="32"
+ c:identifier="GST_BUS_FLAG_LAST"
+ glib:nick="flag-last">
+ <doc xml:space="preserve"
+ filename="gst/gstbus.h"
+ line="46">offset to define more flags</doc>
+ </member>
+ </bitfield>
+ <callback name="BusFunc" c:type="GstBusFunc">
+ <doc xml:space="preserve"
+ filename="gst/gstbus.h"
+ line="88">Specifies the type of function passed to gst_bus_add_watch() or
+gst_bus_add_watch_full(), which is called from the mainloop when a message
+is available on the bus.
+
+The message passed to the function will be unreffed after execution of this
+function so it should not be freed in the function.
+
+Note that this function is used as a GSourceFunc which means that returning
+%FALSE will remove the GSource from the mainloop.</doc>
+ <source-position filename="gst/gstbus.h" line="106"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbus.h"
+ line="104">%FALSE if the event source should be removed.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="bus" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbus.h"
+ line="90">the #GstBus that sent the message</doc>
+ <type name="Bus" c:type="GstBus*"/>
+ </parameter>
+ <parameter name="message" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbus.h"
+ line="91">the #GstMessage</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1"
+ closure="2">
+ <doc xml:space="preserve"
+ filename="gst/gstbus.h"
+ line="92">user data that has been given, when registering the handler</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <record name="BusPrivate" c:type="GstBusPrivate" disguised="1">
+ <source-position filename="gst/gstbus.h" line="26"/>
+ </record>
+ <callback name="BusSyncHandler" c:type="GstBusSyncHandler">
+ <doc xml:space="preserve"
+ filename="gst/gstbus.h"
+ line="71">Handler will be invoked synchronously, when a new message has been injected
+into the bus. This function is mostly used internally. Only one sync handler
+can be attached to a given bus.
+
+If the handler returns GST_BUS_DROP, it should unref the message, else the
+message should not be unreffed by the sync handler.</doc>
+ <source-position filename="gst/gstbus.h" line="86"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbus.h"
+ line="84">#GstBusSyncReply stating what to do with the message</doc>
+ <type name="BusSyncReply" c:type="GstBusSyncReply"/>
+ </return-value>
+ <parameters>
+ <parameter name="bus" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbus.h"
+ line="73">the #GstBus that sent the message</doc>
+ <type name="Bus" c:type="GstBus*"/>
+ </parameter>
+ <parameter name="message" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbus.h"
+ line="74">the #GstMessage</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1"
+ closure="2">
+ <doc xml:space="preserve"
+ filename="gst/gstbus.h"
+ line="75">user data that has been given, when registering the handler</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <enumeration name="BusSyncReply"
+ glib:type-name="GstBusSyncReply"
+ glib:get-type="gst_bus_sync_reply_get_type"
+ c:type="GstBusSyncReply">
+ <doc xml:space="preserve"
+ filename="gst/gstbus.h"
+ line="56">The result values for a GstBusSyncHandler.</doc>
+ <member name="drop"
+ value="0"
+ c:identifier="GST_BUS_DROP"
+ glib:nick="drop">
+ <doc xml:space="preserve"
+ filename="gst/gstbus.h"
+ line="58">drop the message</doc>
+ </member>
+ <member name="pass"
+ value="1"
+ c:identifier="GST_BUS_PASS"
+ glib:nick="pass">
+ <doc xml:space="preserve"
+ filename="gst/gstbus.h"
+ line="59">pass the message to the async queue</doc>
+ </member>
+ <member name="async"
+ value="2"
+ c:identifier="GST_BUS_ASYNC"
+ glib:nick="async">
+ <doc xml:space="preserve"
+ filename="gst/gstbus.h"
+ line="60">pass message to async queue, continue if message is handled</doc>
+ </member>
+ </enumeration>
+ <function-macro name="CALL_PARENT"
+ c:identifier="GST_CALL_PARENT"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.h"
+ line="135">Just call the parent handler. This assumes that there is a variable
+named parent_class that points to the (duh!) parent class. Note that
+this macro is not to be used with things that return something, use
+the _WITH_DEFAULT version for that</doc>
+ <source-position filename="gst/gstutils.h" line="146"/>
+ <parameters>
+ <parameter name="parent_class_cast">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.h"
+ line="137">the name of the class cast macro for the parent type</doc>
+ </parameter>
+ <parameter name="name">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.h"
+ line="138">name of the function to call</doc>
+ </parameter>
+ <parameter name="args">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.h"
+ line="139">arguments enclosed in '( )'</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="CALL_PARENT_WITH_DEFAULT"
+ c:identifier="GST_CALL_PARENT_WITH_DEFAULT"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.h"
+ line="150">Same as GST_CALL_PARENT(), but in case there is no implementation, it
+evaluates to @def_return.</doc>
+ <source-position filename="gst/gstutils.h" line="160"/>
+ <parameters>
+ <parameter name="parent_class_cast">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.h"
+ line="152">the name of the class cast macro for the parent type</doc>
+ </parameter>
+ <parameter name="name">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.h"
+ line="153">name of the function to call</doc>
+ </parameter>
+ <parameter name="args">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.h"
+ line="154">arguments enclosed in '( )'</doc>
+ </parameter>
+ <parameter name="def_return">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.h"
+ line="155">default result</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <constant name="CAN_INLINE" value="1" c:type="GST_CAN_INLINE">
+ <source-position filename="gst/gstmacros.h" line="34"/>
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <function-macro name="CAPS" c:identifier="GST_CAPS" introspectable="0">
+ <source-position filename="gst/gstcaps.h" line="36"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="CAPS_CAST"
+ c:identifier="GST_CAPS_CAST"
+ introspectable="0">
+ <source-position filename="gst/gstcaps.h" line="35"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="CAPS_FEATURES"
+ c:identifier="GST_CAPS_FEATURES"
+ introspectable="0">
+ <source-position filename="gst/gstcapsfeatures.h" line="38"/>
+ <parameters>
+ <parameter name="object">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="CAPS_FEATURES_CAST"
+ c:identifier="GST_CAPS_FEATURES_CAST"
+ introspectable="0">
+ <source-position filename="gst/gstcapsfeatures.h" line="37"/>
+ <parameters>
+ <parameter name="object">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <constant name="CAPS_FEATURE_MEMORY_SYSTEM_MEMORY"
+ value="memory:SystemMemory"
+ c:type="GST_CAPS_FEATURE_MEMORY_SYSTEM_MEMORY">
+ <source-position filename="gst/gstcapsfeatures.h" line="40"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <function-macro name="CAPS_FLAGS"
+ c:identifier="GST_CAPS_FLAGS"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.h"
+ line="142">A flags word containing #GstCapsFlags flags set on this caps.</doc>
+ <source-position filename="gst/gstcaps.h" line="148"/>
+ <parameters>
+ <parameter name="caps">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.h"
+ line="144">a #GstCaps.</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="CAPS_FLAG_IS_SET"
+ c:identifier="GST_CAPS_FLAG_IS_SET"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.h"
+ line="166">Gives the status of a specific flag on a caps.</doc>
+ <source-position filename="gst/gstcaps.h" line="173"/>
+ <parameters>
+ <parameter name="caps">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.h"
+ line="168">a #GstCaps.</doc>
+ </parameter>
+ <parameter name="flag">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.h"
+ line="169">the #GstCapsFlags to check.</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="CAPS_FLAG_SET"
+ c:identifier="GST_CAPS_FLAG_SET"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.h"
+ line="174">Sets a caps flag on a caps.</doc>
+ <source-position filename="gst/gstcaps.h" line="181"/>
+ <parameters>
+ <parameter name="caps">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.h"
+ line="176">a #GstCaps.</doc>
+ </parameter>
+ <parameter name="flag">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.h"
+ line="177">the #GstCapsFlags to set.</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="CAPS_FLAG_UNSET"
+ c:identifier="GST_CAPS_FLAG_UNSET"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.h"
+ line="182">Clears a caps flag.</doc>
+ <source-position filename="gst/gstcaps.h" line="189"/>
+ <parameters>
+ <parameter name="caps">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.h"
+ line="184">a #GstCaps.</doc>
+ </parameter>
+ <parameter name="flag">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.h"
+ line="185">the #GstCapsFlags to clear.</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="CAPS_IS_SIMPLE"
+ c:identifier="GST_CAPS_IS_SIMPLE"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.h"
+ line="113">Convenience macro that checks if the number of structures in the given caps
+is exactly one.</doc>
+ <source-position filename="gst/gstcaps.h" line="120"/>
+ <parameters>
+ <parameter name="caps">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.h"
+ line="115">the #GstCaps instance to check</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="CAPS_REFCOUNT"
+ c:identifier="GST_CAPS_REFCOUNT"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.h"
+ line="151">Get access to the reference count field of the caps</doc>
+ <source-position filename="gst/gstcaps.h" line="157"/>
+ <parameters>
+ <parameter name="caps">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.h"
+ line="153">a #GstCaps</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="CAPS_REFCOUNT_VALUE"
+ c:identifier="GST_CAPS_REFCOUNT_VALUE"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.h"
+ line="158">Get the reference count value of the caps.</doc>
+ <source-position filename="gst/gstcaps.h" line="164"/>
+ <parameters>
+ <parameter name="caps">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.h"
+ line="160">a #GstCaps</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="CAT_MEMDUMP"
+ c:identifier="GST_CAT_MEMDUMP"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.h"
+ line="902">Output a hexdump of @data in the given category.
+
+There is no need to finish the end of the message string with a newline
+character, a newline character will be added automatically.</doc>
+ <source-position filename="gst/gstinfo.h" line="730"/>
+ <parameters>
+ <parameter name="cat">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.h"
+ line="904">category to use</doc>
+ </parameter>
+ <parameter name="msg">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.h"
+ line="905">message string to log with the data</doc>
+ </parameter>
+ <parameter name="data">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.h"
+ line="906">pointer to the data to output</doc>
+ </parameter>
+ <parameter name="length">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.h"
+ line="907">length of the data to output</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="CAT_MEMDUMP_OBJECT"
+ c:identifier="GST_CAT_MEMDUMP_OBJECT"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.h"
+ line="816">Output a hexdump of @data relating to the given object in the given
+category.
+
+There is no need to finish the end of the message string with a newline
+character, a newline character will be added automatically.</doc>
+ <source-position filename="gst/gstinfo.h" line="728"/>
+ <parameters>
+ <parameter name="cat">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.h"
+ line="818">category to use</doc>
+ </parameter>
+ <parameter name="obj">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.h"
+ line="819">the #GObject the message belongs to</doc>
+ </parameter>
+ <parameter name="msg">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.h"
+ line="820">message string to log with the data</doc>
+ </parameter>
+ <parameter name="data">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.h"
+ line="821">pointer to the data to output</doc>
+ </parameter>
+ <parameter name="length">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.h"
+ line="822">length of the data to output</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="CHECK_VERSION"
+ c:identifier="GST_CHECK_VERSION"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstversion.h"
+ line="72">Check whether a GStreamer version equal to or greater than
+major.minor.micro is present.</doc>
+ <source-position filename="gst/gstversion.h" line="81"/>
+ <parameters>
+ <parameter name="major">
+ <doc xml:space="preserve"
+ filename="gst/gstversion.h"
+ line="74">a number indicating the major version</doc>
+ </parameter>
+ <parameter name="minor">
+ <doc xml:space="preserve"
+ filename="gst/gstversion.h"
+ line="75">a number indicating the minor version</doc>
+ </parameter>
+ <parameter name="micro">
+ <doc xml:space="preserve"
+ filename="gst/gstversion.h"
+ line="76">a number indicating the micro version</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="CHILD_PROXY"
+ c:identifier="GST_CHILD_PROXY"
+ introspectable="0">
+ <source-position filename="gst/gstchildproxy.h" line="32"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="CHILD_PROXY_GET_INTERFACE"
+ c:identifier="GST_CHILD_PROXY_GET_INTERFACE"
+ introspectable="0">
+ <source-position filename="gst/gstchildproxy.h" line="34"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="CLOCK" c:identifier="GST_CLOCK" introspectable="0">
+ <source-position filename="gst/gstclock.h" line="34"/>
+ <parameters>
+ <parameter name="clock">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="CLOCK_CAST"
+ c:identifier="GST_CLOCK_CAST"
+ introspectable="0">
+ <source-position filename="gst/gstclock.h" line="39"/>
+ <parameters>
+ <parameter name="clock">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="CLOCK_CLASS"
+ c:identifier="GST_CLOCK_CLASS"
+ introspectable="0">
+ <source-position filename="gst/gstclock.h" line="36"/>
+ <parameters>
+ <parameter name="cclass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="CLOCK_DIFF"
+ c:identifier="GST_CLOCK_DIFF"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.h"
+ line="153">Calculate a difference between two clock times as a #GstClockTimeDiff.
+The difference is calculated as @e - @s.</doc>
+ <source-position filename="gst/gstclock.h" line="161"/>
+ <parameters>
+ <parameter name="s">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.h"
+ line="155">the first time</doc>
+ </parameter>
+ <parameter name="e">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.h"
+ line="156">the second time</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="CLOCK_ENTRY"
+ c:identifier="GST_CLOCK_ENTRY"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.h"
+ line="335">Cast to a clock entry</doc>
+ <source-position filename="gst/gstclock.h" line="341"/>
+ <parameters>
+ <parameter name="entry">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.h"
+ line="337">the entry to cast</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="CLOCK_ENTRY_CLOCK"
+ c:identifier="GST_CLOCK_ENTRY_CLOCK"
+ introspectable="0"
+ deprecated="1">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.h"
+ line="344">Get the owner clock of the entry</doc>
+ <doc-deprecated xml:space="preserve">Use gst_clock_id_get_clock() instead.</doc-deprecated>
+ <source-position filename="gst/gstclock.h" line="352"/>
+ <parameters>
+ <parameter name="entry">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.h"
+ line="346">the entry to query</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="CLOCK_ENTRY_INTERVAL"
+ c:identifier="GST_CLOCK_ENTRY_INTERVAL"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.h"
+ line="368">Get the interval of this periodic entry</doc>
+ <source-position filename="gst/gstclock.h" line="374"/>
+ <parameters>
+ <parameter name="entry">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.h"
+ line="370">the entry to query</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="CLOCK_ENTRY_STATUS"
+ c:identifier="GST_CLOCK_ENTRY_STATUS"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.h"
+ line="375">The status of the entry</doc>
+ <source-position filename="gst/gstclock.h" line="381"/>
+ <parameters>
+ <parameter name="entry">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.h"
+ line="377">the entry to query</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="CLOCK_ENTRY_TIME"
+ c:identifier="GST_CLOCK_ENTRY_TIME"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.h"
+ line="361">Get the requested time of this entry</doc>
+ <source-position filename="gst/gstclock.h" line="367"/>
+ <parameters>
+ <parameter name="entry">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.h"
+ line="363">the entry to query</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="CLOCK_ENTRY_TYPE"
+ c:identifier="GST_CLOCK_ENTRY_TYPE"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.h"
+ line="354">Get the type of the clock entry</doc>
+ <source-position filename="gst/gstclock.h" line="360"/>
+ <parameters>
+ <parameter name="entry">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.h"
+ line="356">the entry to query</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="CLOCK_FLAGS"
+ c:identifier="GST_CLOCK_FLAGS"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.h"
+ line="444">Gets the #GstClockFlags clock flags.</doc>
+ <source-position filename="gst/gstclock.h" line="450"/>
+ <parameters>
+ <parameter name="clock">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.h"
+ line="446">the clock to query</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="CLOCK_GET_CLASS"
+ c:identifier="GST_CLOCK_GET_CLASS"
+ introspectable="0">
+ <source-position filename="gst/gstclock.h" line="38"/>
+ <parameters>
+ <parameter name="clock">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="CLOCK_STIME_IS_VALID"
+ c:identifier="GST_CLOCK_STIME_IS_VALID"
+ version="1.6"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.h"
+ line="88">Tests if a given #GstClockTimeDiff of #gint64 represents a valid defined time.</doc>
+ <source-position filename="gst/gstclock.h" line="96"/>
+ <parameters>
+ <parameter name="time">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.h"
+ line="90">signed clock time to validate</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="CLOCK_TIME_IS_VALID"
+ c:identifier="GST_CLOCK_TIME_IS_VALID"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.h"
+ line="74">Tests if a given #GstClockTime represents a valid defined time.</doc>
+ <source-position filename="gst/gstclock.h" line="80"/>
+ <parameters>
+ <parameter name="time">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.h"
+ line="76">clock time to validate</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <constant name="CLOCK_TIME_NONE"
+ value="18446744073709551615"
+ c:type="GST_CLOCK_TIME_NONE">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.h"
+ line="68">Constant to define an undefined clock time.</doc>
+ <source-position filename="gst/gstclock.h" line="73"/>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </constant>
+ <function-macro name="CONTEXT"
+ c:identifier="GST_CONTEXT"
+ introspectable="0">
+ <source-position filename="gst/gstcontext.h" line="41"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="CONTEXT_CAST"
+ c:identifier="GST_CONTEXT_CAST"
+ introspectable="0">
+ <source-position filename="gst/gstcontext.h" line="40"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="CONTROL_BINDING"
+ c:identifier="GST_CONTROL_BINDING"
+ introspectable="0">
+ <source-position filename="gst/gstcontrolbinding.h" line="33"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="CONTROL_BINDING_CLASS"
+ c:identifier="GST_CONTROL_BINDING_CLASS"
+ introspectable="0">
+ <source-position filename="gst/gstcontrolbinding.h" line="35"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="CONTROL_BINDING_GET_CLASS"
+ c:identifier="GST_CONTROL_BINDING_GET_CLASS"
+ introspectable="0">
+ <source-position filename="gst/gstcontrolbinding.h" line="41"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="CONTROL_BINDING_PSPEC"
+ c:identifier="GST_CONTROL_BINDING_PSPEC"
+ introspectable="0">
+ <source-position filename="gst/gstcontrolbinding.h" line="113"/>
+ <parameters>
+ <parameter name="cb">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="CONTROL_SOURCE"
+ c:identifier="GST_CONTROL_SOURCE"
+ introspectable="0">
+ <source-position filename="gst/gstcontrolsource.h" line="35"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="CONTROL_SOURCE_CLASS"
+ c:identifier="GST_CONTROL_SOURCE_CLASS"
+ introspectable="0">
+ <source-position filename="gst/gstcontrolsource.h" line="37"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="CONTROL_SOURCE_GET_CLASS"
+ c:identifier="GST_CONTROL_SOURCE_GET_CLASS"
+ introspectable="0">
+ <source-position filename="gst/gstcontrolsource.h" line="43"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <record name="Caps"
+ c:type="GstCaps"
+ glib:type-name="GstCaps"
+ glib:get-type="gst_caps_get_type"
+ c:symbol-prefix="caps">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="20">Caps (capabilities) are lightweight refcounted objects describing media types.
+They are composed of an array of #GstStructure.
+
+Caps are exposed on #GstPadTemplate to describe all possible types a
+given pad can handle. They are also stored in the #GstRegistry along with
+a description of the #GstElement.
+
+Caps are exposed on the element pads using the gst_pad_query_caps() pad
+function. This function describes the possible types that the pad can
+handle or produce at runtime.
+
+A #GstCaps can be constructed with the following code fragment:
+|[&lt;!-- language="C" --&gt;
+ GstCaps *caps = gst_caps_new_simple ("video/x-raw",
+ "format", G_TYPE_STRING, "I420",
+ "framerate", GST_TYPE_FRACTION, 25, 1,
+ "pixel-aspect-ratio", GST_TYPE_FRACTION, 1, 1,
+ "width", G_TYPE_INT, 320,
+ "height", G_TYPE_INT, 240,
+ NULL);
+]|
+
+A #GstCaps is fixed when it has no properties with ranges or lists. Use
+gst_caps_is_fixed() to test for fixed caps. Fixed caps can be used in a
+caps event to notify downstream elements of the current media type.
+
+Various methods exist to work with the media types such as subtracting
+or intersecting.
+
+Be aware that the current #GstCaps / #GstStructure serialization into string
+has limited support for nested #GstCaps / #GstStructure fields. It can only
+support one level of nesting. Using more levels will lead to unexpected
+behavior when using serialization features, such as gst_caps_to_string() or
+gst_value_serialize() and their counterparts.</doc>
+ <source-position filename="gst/gstcaps.h" line="334"/>
+ <field name="mini_object" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.h"
+ line="328">the parent type</doc>
+ <type name="MiniObject" c:type="GstMiniObject"/>
+ </field>
+ <constructor name="new_any" c:identifier="gst_caps_new_any">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="268">Creates a new #GstCaps that indicates that it is compatible with
+any media format.</doc>
+ <source-position filename="gst/gstcaps.h" line="413"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="274">the new #GstCaps</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </return-value>
+ </constructor>
+ <constructor name="new_empty" c:identifier="gst_caps_new_empty">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="242">Creates a new #GstCaps that is empty. That is, the returned
+#GstCaps contains no media formats.
+The #GstCaps is guaranteed to be writable.
+Caller is responsible for unreffing the returned caps.</doc>
+ <source-position filename="gst/gstcaps.h" line="410"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="250">the new #GstCaps</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </return-value>
+ </constructor>
+ <constructor name="new_empty_simple"
+ c:identifier="gst_caps_new_empty_simple">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="286">Creates a new #GstCaps that contains one #GstStructure with name
+@media_type.
+Caller is responsible for unreffing the returned caps.</doc>
+ <source-position filename="gst/gstcaps.h" line="416"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="294">the new #GstCaps</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <parameter name="media_type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="288">the media type of the structure</doc>
+ <type name="utf8" c:type="const char*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_full"
+ c:identifier="gst_caps_new_full"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="344">Creates a new #GstCaps and adds all the structures listed as
+arguments. The list must be %NULL-terminated. The structures
+are not copied; the returned #GstCaps owns the structures.</doc>
+ <source-position filename="gst/gstcaps.h" line="423"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="353">the new #GstCaps</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <parameter name="struct1" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="346">the first structure to add</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </parameter>
+ <parameter name="..." transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="347">additional structures to add</doc>
+ <varargs/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_full_valist"
+ c:identifier="gst_caps_new_full_valist"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="368">Creates a new #GstCaps and adds all the structures listed as
+arguments. The list must be %NULL-terminated. The structures
+are not copied; the returned #GstCaps owns the structures.</doc>
+ <source-position filename="gst/gstcaps.h" line="426"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="377">the new #GstCaps</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <parameter name="structure" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="370">the first structure to add</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </parameter>
+ <parameter name="var_args" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="371">additional structures to add</doc>
+ <type name="va_list" c:type="va_list"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_simple"
+ c:identifier="gst_caps_new_simple"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="310">Creates a new #GstCaps that contains one #GstStructure. The
+structure is defined by the arguments, which have the same format
+as gst_structure_new().
+Caller is responsible for unreffing the returned caps.</doc>
+ <source-position filename="gst/gstcaps.h" line="419"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="321">the new #GstCaps</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <parameter name="media_type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="312">the media type of the structure</doc>
+ <type name="utf8" c:type="const char*"/>
+ </parameter>
+ <parameter name="fieldname" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="313">first field to set</doc>
+ <type name="utf8" c:type="const char*"/>
+ </parameter>
+ <parameter name="..." transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="314">additional arguments</doc>
+ <varargs/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <method name="append" c:identifier="gst_caps_append">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="550">Appends the structures contained in @caps2 to @caps1. The structures in
+@caps2 are not copied -- they are transferred to @caps1, and then @caps2 is
+freed. If either caps is ANY, the resulting caps will be ANY.</doc>
+ <source-position filename="gst/gstcaps.h" line="443"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="caps1" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="552">the #GstCaps that will be appended to</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </instance-parameter>
+ <parameter name="caps2" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="553">the #GstCaps to append</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="append_structure" c:identifier="gst_caps_append_structure">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="639">Appends @structure to @caps. The structure is not copied; @caps
+becomes the owner of @structure.</doc>
+ <source-position filename="gst/gstcaps.h" line="446"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="caps" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="641">the #GstCaps that will be appended to</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </instance-parameter>
+ <parameter name="structure" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="642">the #GstStructure to append</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="append_structure_full"
+ c:identifier="gst_caps_append_structure_full"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="665">Appends @structure with @features to @caps. The structure is not copied; @caps
+becomes the owner of @structure.</doc>
+ <source-position filename="gst/gstcaps.h" line="449"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="caps" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="667">the #GstCaps that will be appended to</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </instance-parameter>
+ <parameter name="structure" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="668">the #GstStructure to append</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </parameter>
+ <parameter name="features"
+ transfer-ownership="full"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="669">the #GstCapsFeatures to append</doc>
+ <type name="CapsFeatures" c:type="GstCapsFeatures*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="can_intersect" c:identifier="gst_caps_can_intersect">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="1528">Tries intersecting @caps1 and @caps2 and reports whether the result would not
+be empty</doc>
+ <source-position filename="gst/gstcaps.h" line="547"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="1536">%TRUE if intersection would be not empty</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="caps1" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="1530">a #GstCaps to intersect</doc>
+ <type name="Caps" c:type="const GstCaps*"/>
+ </instance-parameter>
+ <parameter name="caps2" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="1531">a #GstCaps to intersect</doc>
+ <type name="Caps" c:type="const GstCaps*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="copy" c:identifier="gst_caps_copy">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="2664">Creates a new #GstCaps as a copy of the old @caps. The new caps will have a
+refcount of 1, owned by the caller. The structures are copied as well.
+
+Note that this function is the semantic equivalent of a gst_caps_ref()
+followed by a gst_caps_make_writable(). If you only want to hold on to a
+reference to the data, you should use gst_caps_ref().
+
+When you are finished with the caps, call gst_caps_unref() on it.</doc>
+ <source-position filename="gst/gstcaps.h" line="249"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="2677">the new #GstCaps</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="caps" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="2666">a #GstCaps.</doc>
+ <type name="Caps" c:type="const GstCaps*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="copy_nth" c:identifier="gst_caps_copy_nth" version="1.16">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="1019">Creates a new #GstCaps and appends a copy of the nth structure
+contained in @caps.</doc>
+ <source-position filename="gst/gstcaps.h" line="487"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="1027">the new #GstCaps</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="caps" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="1021">the #GstCaps to copy</doc>
+ <type name="Caps" c:type="const GstCaps*"/>
+ </instance-parameter>
+ <parameter name="nth" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="1022">the nth structure to copy</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="filter_and_map_in_place"
+ c:identifier="gst_caps_filter_and_map_in_place"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="2605">Calls the provided function once for each structure and caps feature in the
+#GstCaps. In contrast to gst_caps_foreach(), the function may modify the
+structure and features. In contrast to gst_caps_filter_and_map_in_place(),
+the structure and features are removed from the caps if %FALSE is returned
+from the function.
+The caps must be mutable.</doc>
+ <source-position filename="gst/gstcaps.h" line="512"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="caps" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="2607">a #GstCaps</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </instance-parameter>
+ <parameter name="func"
+ transfer-ownership="none"
+ scope="call"
+ closure="1">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="2608">a function to call for each field</doc>
+ <type name="CapsFilterMapFunc" c:type="GstCapsFilterMapFunc"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="2609">private data</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="fixate" c:identifier="gst_caps_fixate">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="2238">Modifies the given @caps into a representation with only fixed
+values. First the caps will be truncated and then the first structure will be
+fixated with gst_structure_fixate().
+
+This function takes ownership of @caps and will call gst_caps_make_writable()
+on it so you must not use @caps afterwards unless you keep an additional
+reference to it with gst_caps_ref().
+
+Note that it is not guaranteed that the returned caps have exactly one
+structure. If @caps are empty caps then then returned caps will be
+the empty too and contain no structure at all.
+
+Calling this function with any caps is not allowed.</doc>
+ <source-position filename="gst/gstcaps.h" line="573"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="2256">the fixated caps</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="caps" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="2240">a #GstCaps to fixate</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="foreach" c:identifier="gst_caps_foreach" version="1.6">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="2516">Calls the provided function once for each structure and caps feature in the
+#GstCaps. The function must not modify the fields.
+Also see gst_caps_map_in_place() and gst_caps_filter_and_map_in_place().</doc>
+ <source-position filename="gst/gstcaps.h" line="504"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="2526">%TRUE if the supplied function returns %TRUE for each call,
+%FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="caps" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="2518">a #GstCaps</doc>
+ <type name="Caps" c:type="const GstCaps*"/>
+ </instance-parameter>
+ <parameter name="func"
+ transfer-ownership="none"
+ scope="call"
+ closure="1">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="2519">a function to call for each field</doc>
+ <type name="CapsForeachFunc" c:type="GstCapsForeachFunc"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="2520">private data</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_features"
+ c:identifier="gst_caps_get_features"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="888">Finds the features in @caps that has the index @index, and
+returns it.
+
+WARNING: This function takes a const GstCaps *, but returns a
+non-const GstCapsFeatures *. This is for programming convenience --
+the caller should be aware that structures inside a constant
+#GstCaps should not be modified. However, if you know the caps
+are writable, either because you have just copied them or made
+them writable with gst_caps_make_writable(), you may modify the
+features returned in the usual way, e.g. with functions like
+gst_caps_features_add().
+
+You do not need to free or unref the structure returned, it
+belongs to the #GstCaps.</doc>
+ <source-position filename="gst/gstcaps.h" line="484"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="908">a pointer to the #GstCapsFeatures
+ corresponding to @index</doc>
+ <type name="CapsFeatures" c:type="GstCapsFeatures*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="caps" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="890">a #GstCaps</doc>
+ <type name="Caps" c:type="const GstCaps*"/>
+ </instance-parameter>
+ <parameter name="index" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="891">the index of the structure</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_size" c:identifier="gst_caps_get_size">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="840">Gets the number of structures contained in @caps.</doc>
+ <source-position filename="gst/gstcaps.h" line="467"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="846">the number of structures that @caps contains</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="caps" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="842">a #GstCaps</doc>
+ <type name="Caps" c:type="const GstCaps*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_structure" c:identifier="gst_caps_get_structure">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="856">Finds the structure in @caps that has the index @index, and
+returns it.
+
+WARNING: This function takes a const GstCaps *, but returns a
+non-const GstStructure *. This is for programming convenience --
+the caller should be aware that structures inside a constant
+#GstCaps should not be modified. However, if you know the caps
+are writable, either because you have just copied them or made
+them writable with gst_caps_make_writable(), you may modify the
+structure returned in the usual way, e.g. with functions like
+gst_structure_set().
+
+You do not need to free or unref the structure returned, it
+belongs to the #GstCaps.</doc>
+ <source-position filename="gst/gstcaps.h" line="470"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="876">a pointer to the #GstStructure corresponding
+ to @index</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="caps" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="858">a #GstCaps</doc>
+ <type name="Caps" c:type="const GstCaps*"/>
+ </instance-parameter>
+ <parameter name="index" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="859">the index of the structure</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="intersect" c:identifier="gst_caps_intersect">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="1788">Creates a new #GstCaps that contains all the formats that are common
+to both @caps1 and @caps2. Defaults to %GST_CAPS_INTERSECT_ZIG_ZAG mode.</doc>
+ <source-position filename="gst/gstcaps.h" line="557"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="1796">the new #GstCaps</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="caps1" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="1790">a #GstCaps to intersect</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </instance-parameter>
+ <parameter name="caps2" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="1791">a #GstCaps to intersect</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="intersect_full" c:identifier="gst_caps_intersect_full">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="1742">Creates a new #GstCaps that contains all the formats that are common
+to both @caps1 and @caps2, the order is defined by the #GstCapsIntersectMode
+used.</doc>
+ <source-position filename="gst/gstcaps.h" line="560"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="1752">the new #GstCaps</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="caps1" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="1744">a #GstCaps to intersect</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </instance-parameter>
+ <parameter name="caps2" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="1745">a #GstCaps to intersect</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </parameter>
+ <parameter name="mode" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="1746">The intersection algorithm/mode to use</doc>
+ <type name="CapsIntersectMode" c:type="GstCapsIntersectMode"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="is_always_compatible"
+ c:identifier="gst_caps_is_always_compatible">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="1292">A given #GstCaps structure is always compatible with another if
+every media format that is in the first is also contained in the
+second. That is, @caps1 is a subset of @caps2.</doc>
+ <source-position filename="gst/gstcaps.h" line="528"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="1301">%TRUE if @caps1 is a subset of @caps2.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="caps1" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="1294">the #GstCaps to test</doc>
+ <type name="Caps" c:type="const GstCaps*"/>
+ </instance-parameter>
+ <parameter name="caps2" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="1295">the #GstCaps to test</doc>
+ <type name="Caps" c:type="const GstCaps*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="is_any" c:identifier="gst_caps_is_any">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="1184">Determines if @caps represents any media format.</doc>
+ <source-position filename="gst/gstcaps.h" line="519"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="1190">%TRUE if @caps represents any format.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="caps" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="1186">the #GstCaps to test</doc>
+ <type name="Caps" c:type="const GstCaps*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="is_empty" c:identifier="gst_caps_is_empty">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="1200">Determines if @caps represents no media formats.</doc>
+ <source-position filename="gst/gstcaps.h" line="522"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="1206">%TRUE if @caps represents no formats.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="caps" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="1202">the #GstCaps to test</doc>
+ <type name="Caps" c:type="const GstCaps*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="is_equal" c:identifier="gst_caps_is_equal">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="1452">Checks if the given caps represent the same set of caps.</doc>
+ <source-position filename="gst/gstcaps.h" line="541"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="1459">%TRUE if both caps are equal.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="caps1" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="1454">a #GstCaps</doc>
+ <type name="Caps" c:type="const GstCaps*"/>
+ </instance-parameter>
+ <parameter name="caps2" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="1455">another #GstCaps</doc>
+ <type name="Caps" c:type="const GstCaps*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="is_equal_fixed" c:identifier="gst_caps_is_equal_fixed">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="1260">Tests if two #GstCaps are equal. This function only works on fixed
+#GstCaps.</doc>
+ <source-position filename="gst/gstcaps.h" line="544"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="1268">%TRUE if the arguments represent the same format</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="caps1" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="1262">the #GstCaps to test</doc>
+ <type name="Caps" c:type="const GstCaps*"/>
+ </instance-parameter>
+ <parameter name="caps2" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="1263">the #GstCaps to test</doc>
+ <type name="Caps" c:type="const GstCaps*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="is_fixed" c:identifier="gst_caps_is_fixed">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="1226">Fixed #GstCaps describe exactly one format, that is, they have exactly
+one structure, and each field in the structure describes a fixed type.
+Examples of non-fixed types are GST_TYPE_INT_RANGE and GST_TYPE_LIST.</doc>
+ <source-position filename="gst/gstcaps.h" line="525"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="1234">%TRUE if @caps is fixed</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="caps" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="1228">the #GstCaps to test</doc>
+ <type name="Caps" c:type="const GstCaps*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="is_strictly_equal"
+ c:identifier="gst_caps_is_strictly_equal">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="1476">Checks if the given caps are exactly the same set of caps.</doc>
+ <source-position filename="gst/gstcaps.h" line="550"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="1483">%TRUE if both caps are strictly equal.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="caps1" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="1478">a #GstCaps</doc>
+ <type name="Caps" c:type="const GstCaps*"/>
+ </instance-parameter>
+ <parameter name="caps2" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="1479">another #GstCaps</doc>
+ <type name="Caps" c:type="const GstCaps*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="is_subset" c:identifier="gst_caps_is_subset">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="1312">Checks if all caps represented by @subset are also represented by @superset.</doc>
+ <source-position filename="gst/gstcaps.h" line="531"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="1319">%TRUE if @subset is a subset of @superset</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="subset" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="1314">a #GstCaps</doc>
+ <type name="Caps" c:type="const GstCaps*"/>
+ </instance-parameter>
+ <parameter name="superset" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="1315">a potentially greater #GstCaps</doc>
+ <type name="Caps" c:type="const GstCaps*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="is_subset_structure"
+ c:identifier="gst_caps_is_subset_structure">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="1368">Checks if @structure is a subset of @caps. See gst_caps_is_subset()
+for more information.</doc>
+ <source-position filename="gst/gstcaps.h" line="534"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="1376">%TRUE if @structure is a subset of @caps</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="caps" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="1370">a #GstCaps</doc>
+ <type name="Caps" c:type="const GstCaps*"/>
+ </instance-parameter>
+ <parameter name="structure" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="1371">a potential #GstStructure subset of @caps</doc>
+ <type name="Structure" c:type="const GstStructure*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="is_subset_structure_full"
+ c:identifier="gst_caps_is_subset_structure_full"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="1404">Checks if @structure is a subset of @caps. See gst_caps_is_subset()
+for more information.</doc>
+ <source-position filename="gst/gstcaps.h" line="537"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="1413">%TRUE if @structure is a subset of @caps</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="caps" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="1406">a #GstCaps</doc>
+ <type name="Caps" c:type="const GstCaps*"/>
+ </instance-parameter>
+ <parameter name="structure" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="1407">a potential #GstStructure subset of @caps</doc>
+ <type name="Structure" c:type="const GstStructure*"/>
+ </parameter>
+ <parameter name="features"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="1408">a #GstCapsFeatures for @structure</doc>
+ <type name="CapsFeatures" c:type="const GstCapsFeatures*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="map_in_place"
+ c:identifier="gst_caps_map_in_place"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="2557">Calls the provided function once for each structure and caps feature in the
+#GstCaps. In contrast to gst_caps_foreach(), the function may modify but not
+delete the structures and features. The caps must be mutable.</doc>
+ <source-position filename="gst/gstcaps.h" line="508"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="2567">%TRUE if the supplied function returns %TRUE for each call,
+%FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="caps" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="2559">a #GstCaps</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </instance-parameter>
+ <parameter name="func"
+ transfer-ownership="none"
+ scope="call"
+ closure="1">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="2560">a function to call for each field</doc>
+ <type name="CapsMapFunc" c:type="GstCapsMapFunc"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="2561">private data</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="merge" c:identifier="gst_caps_merge">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="585">Appends the structures contained in @caps2 to @caps1 if they are not yet
+expressed by @caps1. The structures in @caps2 are not copied -- they are
+transferred to a writable copy of @caps1, and then @caps2 is freed.
+If either caps is ANY, the resulting caps will be ANY.</doc>
+ <source-position filename="gst/gstcaps.h" line="456"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="595">the merged caps.</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="caps1" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="587">the #GstCaps that will take the new entries</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </instance-parameter>
+ <parameter name="caps2" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="588">the #GstCaps to merge in</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="merge_structure" c:identifier="gst_caps_merge_structure">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="718">Appends @structure to @caps if its not already expressed by @caps.</doc>
+ <source-position filename="gst/gstcaps.h" line="459"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="725">the merged caps.</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="caps" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="720">the #GstCaps to merge into</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </instance-parameter>
+ <parameter name="structure" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="721">the #GstStructure to merge</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="merge_structure_full"
+ c:identifier="gst_caps_merge_structure_full"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="771">Appends @structure with @features to @caps if its not already expressed by @caps.</doc>
+ <source-position filename="gst/gstcaps.h" line="462"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="779">the merged caps.</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="caps" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="773">the #GstCaps to merge into</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </instance-parameter>
+ <parameter name="structure" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="774">the #GstStructure to merge</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </parameter>
+ <parameter name="features"
+ transfer-ownership="full"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="775">the #GstCapsFeatures to merge</doc>
+ <type name="CapsFeatures" c:type="GstCapsFeatures*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="normalize" c:identifier="gst_caps_normalize">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="2001">Returns a #GstCaps that represents the same set of formats as
+@caps, but contains no lists. Each list is expanded into separate
+@GstStructures.
+
+This function takes ownership of @caps and will call gst_caps_make_writable()
+on it so you must not use @caps afterwards unless you keep an additional
+reference to it with gst_caps_ref().</doc>
+ <source-position filename="gst/gstcaps.h" line="567"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="2013">the normalized #GstCaps</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="caps" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="2003">a #GstCaps to normalize</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="ref" c:identifier="gst_caps_ref" introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.h"
+ line="192">Add a reference to a #GstCaps object.
+
+From this point on, until the caller calls gst_caps_unref() or
+gst_caps_make_writable(), it is guaranteed that the caps object will not
+change. This means its structures won't change, etc. To use a #GstCaps
+object, you must always have a refcount on it -- either the one made
+implicitly by e.g. gst_caps_new_simple(), or via taking one explicitly with
+this function.</doc>
+ <source-position filename="gst/gstcaps.h" line="207"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.h"
+ line="205">the same #GstCaps object.</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="caps" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.h"
+ line="194">the #GstCaps to reference</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="remove_structure" c:identifier="gst_caps_remove_structure">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="697">removes the structure with the given index from the list of structures
+contained in @caps.</doc>
+ <source-position filename="gst/gstcaps.h" line="453"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="caps" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="699">the #GstCaps to remove from</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </instance-parameter>
+ <parameter name="idx" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="700">Index of the structure to remove</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_features"
+ c:identifier="gst_caps_set_features"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="946">Sets the #GstCapsFeatures @features for the structure at @index.</doc>
+ <source-position filename="gst/gstcaps.h" line="476"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="caps" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="948">a #GstCaps</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </instance-parameter>
+ <parameter name="index" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="949">the index of the structure</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="features"
+ transfer-ownership="full"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="950">the #GstCapsFeatures to set</doc>
+ <type name="CapsFeatures" c:type="GstCapsFeatures*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_features_simple"
+ c:identifier="gst_caps_set_features_simple"
+ version="1.16">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="979">Sets the #GstCapsFeatures @features for all the structures of @caps.</doc>
+ <source-position filename="gst/gstcaps.h" line="480"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="caps" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="981">a #GstCaps</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </instance-parameter>
+ <parameter name="features"
+ transfer-ownership="full"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="982">the #GstCapsFeatures to set</doc>
+ <type name="CapsFeatures" c:type="GstCapsFeatures*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_simple"
+ c:identifier="gst_caps_set_simple"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="1160">Sets fields in a #GstCaps. The arguments must be passed in the same
+manner as gst_structure_set(), and be %NULL-terminated.</doc>
+ <source-position filename="gst/gstcaps.h" line="497"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="caps" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="1162">the #GstCaps to set</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </instance-parameter>
+ <parameter name="field" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="1163">first field to set</doc>
+ <type name="utf8" c:type="const char*"/>
+ </parameter>
+ <parameter name="..." transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="1164">additional parameters</doc>
+ <varargs/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_simple_valist"
+ c:identifier="gst_caps_set_simple_valist"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="1122">Sets fields in a #GstCaps. The arguments must be passed in the same
+manner as gst_structure_set(), and be %NULL-terminated.</doc>
+ <source-position filename="gst/gstcaps.h" line="500"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="caps" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="1124">the #GstCaps to set</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </instance-parameter>
+ <parameter name="field" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="1125">first field to set</doc>
+ <type name="utf8" c:type="const char*"/>
+ </parameter>
+ <parameter name="varargs" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="1126">additional parameters</doc>
+ <type name="va_list" c:type="va_list"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_value" c:identifier="gst_caps_set_value">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="1095">Sets the given @field on all structures of @caps to the given @value.
+This is a convenience function for calling gst_structure_set_value() on
+all structures of @caps.</doc>
+ <source-position filename="gst/gstcaps.h" line="493"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="caps" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="1097">a writable caps</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </instance-parameter>
+ <parameter name="field" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="1098">name of the field to set</doc>
+ <type name="utf8" c:type="const char*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="1099">value to set the field to</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="simplify" c:identifier="gst_caps_simplify">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="2159">Converts the given @caps into a representation that represents the
+same set of formats, but in a simpler form. Component structures that are
+identical are merged. Component structures that have values that can be
+merged are also merged.
+
+This function takes ownership of @caps and will call gst_caps_make_writable()
+on it if necessary, so you must not use @caps afterwards unless you keep an
+additional reference to it with gst_caps_ref().
+
+This method does not preserve the original order of @caps.</doc>
+ <source-position filename="gst/gstcaps.h" line="570"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="2174">The simplified caps.</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="caps" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="2161">a #GstCaps to simplify</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="steal_structure" c:identifier="gst_caps_steal_structure">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="527">Retrieves the structure with the given index from the list of structures
+contained in @caps. The caller becomes the owner of the returned structure.</doc>
+ <source-position filename="gst/gstcaps.h" line="473"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="535">a pointer to the #GstStructure
+ corresponding to @index.</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="caps" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="529">the #GstCaps to retrieve from</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </instance-parameter>
+ <parameter name="index" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="530">Index of the structure to retrieve</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="subtract" c:identifier="gst_caps_subtract">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="1867">Subtracts the @subtrahend from the @minuend.
+&gt; This function does not work reliably if optional properties for caps
+&gt; are included on one caps and omitted on the other.</doc>
+ <source-position filename="gst/gstcaps.h" line="564"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="1876">the resulting caps</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="minuend" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="1869">#GstCaps to subtract from</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </instance-parameter>
+ <parameter name="subtrahend" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="1870">#GstCaps to subtract</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="to_string" c:identifier="gst_caps_to_string">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="2294">Converts @caps to a string representation. This string representation
+can be converted back to a #GstCaps by gst_caps_from_string().
+
+For debugging purposes its easier to do something like this:
+|[&lt;!-- language="C" --&gt;
+GST_LOG ("caps are %" GST_PTR_FORMAT, caps);
+]|
+This prints the caps in human readable form.
+
+The current implementation of serialization will lead to unexpected results
+when there are nested #GstCaps / #GstStructure deeper than one level.</doc>
+ <source-position filename="gst/gstcaps.h" line="578"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="2310">a newly allocated string representing @caps.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="caps" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="2296">a #GstCaps</doc>
+ <type name="Caps" c:type="const GstCaps*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="truncate" c:identifier="gst_caps_truncate">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="1054">Discard all but the first structure from @caps. Useful when
+fixating.
+
+This function takes ownership of @caps and will call gst_caps_make_writable()
+on it if necessary, so you must not use @caps afterwards unless you keep an
+additional reference to it with gst_caps_ref().
+
+Note that it is not guaranteed that the returned caps have exactly one
+structure. If @caps is any or empty caps then then returned caps will be
+the same and contain no structure at all.</doc>
+ <source-position filename="gst/gstcaps.h" line="490"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="1069">truncated caps</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="caps" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="1056">the #GstCaps to truncate</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="unref" c:identifier="gst_caps_unref" introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.h"
+ line="214">Unref a #GstCaps and and free all its structures and the
+structures' values when the refcount reaches 0.</doc>
+ <source-position filename="gst/gstcaps.h" line="221"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="caps" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.h"
+ line="216">a #GstCaps.</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <function name="from_string" c:identifier="gst_caps_from_string">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="2476">Converts @caps from a string representation.
+
+The current implementation of serialization will lead to unexpected results
+when there are nested #GstCaps / #GstStructure deeper than one level.</doc>
+ <source-position filename="gst/gstcaps.h" line="581"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="2485">a newly allocated #GstCaps</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <parameter name="string" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="2478">a string to convert to #GstCaps</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="replace"
+ c:identifier="gst_caps_replace"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.h"
+ line="283">Modifies a pointer to a #GstCaps to point to a different #GstCaps. The
+modification is done atomically (so this is useful for ensuring thread safety
+in some cases), and the reference counts are updated appropriately (the old
+caps is unreffed, the new is reffed).
+
+Either @new_caps or the #GstCaps pointed to by @old_caps may be %NULL.</doc>
+ <source-position filename="gst/gstcaps.h" line="299"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.h"
+ line="297">%TRUE if @new_caps was different from @old_caps</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="old_caps"
+ direction="inout"
+ caller-allocates="0"
+ transfer-ownership="full"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.h"
+ line="285">pointer to a pointer
+ to a #GstCaps to be replaced.</doc>
+ <type name="Caps" c:type="GstCaps**"/>
+ </parameter>
+ <parameter name="new_caps"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.h"
+ line="287">pointer to a #GstCaps that will
+ replace the caps pointed to by @old_caps.</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="take" c:identifier="gst_caps_take" introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.h"
+ line="306">Modifies a pointer to a #GstCaps to point to a different #GstCaps. This
+function is similar to gst_caps_replace() except that it takes ownership
+of @new_caps.</doc>
+ <source-position filename="gst/gstcaps.h" line="319"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.h"
+ line="317">%TRUE if @new_caps was different from @old_caps</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="old_caps"
+ direction="inout"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.h"
+ line="308">pointer to a pointer to a #GstCaps to be
+ replaced.</doc>
+ <type name="Caps" c:type="GstCaps**"/>
+ </parameter>
+ <parameter name="new_caps"
+ transfer-ownership="full"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.h"
+ line="310">pointer to a #GstCaps that will
+ replace the caps pointed to by @old_caps.</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </function>
+ </record>
+ <record name="CapsFeatures"
+ c:type="GstCapsFeatures"
+ version="1.2"
+ glib:type-name="GstCapsFeatures"
+ glib:get-type="gst_caps_features_get_type"
+ c:symbol-prefix="caps_features">
+ <doc xml:space="preserve"
+ filename="gst/gstcapsfeatures.c"
+ line="21">#GstCapsFeatures can optionally be set on a #GstCaps to add requirements
+for additional features for a specific #GstStructure. Caps structures with
+the same name but with a non-equal set of caps features are not compatible.
+If a pad supports multiple sets of features it has to add multiple equal
+structures with different feature sets to the caps.
+
+Empty #GstCapsFeatures are equivalent with the #GstCapsFeatures that only
+contain #GST_CAPS_FEATURE_MEMORY_SYSTEM_MEMORY. ANY #GstCapsFeatures as
+created by gst_caps_features_new_any() are equal to any other #GstCapsFeatures
+and can be used to specify that any #GstCapsFeatures would be supported, e.g.
+for elements that don't touch buffer memory. #GstCaps with ANY #GstCapsFeatures
+are considered non-fixed and during negotiation some #GstCapsFeatures have
+to be selected.
+
+Examples for caps features would be the requirement of a specific #GstMemory
+types or the requirement of having a specific #GstMeta on the buffer. Features
+are given as a string of the format "memory:GstMemoryTypeName" or
+"meta:GstMetaAPIName".</doc>
+ <source-position filename="gst/gstcapsfeatures.h" line="31"/>
+ <constructor name="new"
+ c:identifier="gst_caps_features_new"
+ version="1.2"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstcapsfeatures.c"
+ line="220">Creates a new #GstCapsFeatures with the given features.
+The last argument must be %NULL.
+
+Free-function: gst_caps_features_free</doc>
+ <source-position filename="gst/gstcapsfeatures.h" line="61"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstcapsfeatures.c"
+ line="230">a new, empty #GstCapsFeatures</doc>
+ <type name="CapsFeatures" c:type="GstCapsFeatures*"/>
+ </return-value>
+ <parameters>
+ <parameter name="feature1" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcapsfeatures.c"
+ line="222">name of first feature to set</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="..." transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcapsfeatures.c"
+ line="223">additional features</doc>
+ <varargs/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_any"
+ c:identifier="gst_caps_features_new_any"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="gst/gstcapsfeatures.c"
+ line="196">Creates a new, ANY #GstCapsFeatures. This will be equal
+to any other #GstCapsFeatures but caps with these are
+unfixed.
+
+Free-function: gst_caps_features_free</doc>
+ <source-position filename="gst/gstcapsfeatures.h" line="58"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstcapsfeatures.c"
+ line="205">a new, ANY #GstCapsFeatures</doc>
+ <type name="CapsFeatures" c:type="GstCapsFeatures*"/>
+ </return-value>
+ </constructor>
+ <constructor name="new_empty"
+ c:identifier="gst_caps_features_new_empty"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="gst/gstcapsfeatures.c"
+ line="169">Creates a new, empty #GstCapsFeatures.
+
+Free-function: gst_caps_features_free</doc>
+ <source-position filename="gst/gstcapsfeatures.h" line="55"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstcapsfeatures.c"
+ line="176">a new, empty #GstCapsFeatures</doc>
+ <type name="CapsFeatures" c:type="GstCapsFeatures*"/>
+ </return-value>
+ </constructor>
+ <constructor name="new_id"
+ c:identifier="gst_caps_features_new_id"
+ version="1.2"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstcapsfeatures.c"
+ line="279">Creates a new #GstCapsFeatures with the given features.
+The last argument must be 0.
+
+Free-function: gst_caps_features_free</doc>
+ <source-position filename="gst/gstcapsfeatures.h" line="67"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstcapsfeatures.c"
+ line="289">a new, empty #GstCapsFeatures</doc>
+ <type name="CapsFeatures" c:type="GstCapsFeatures*"/>
+ </return-value>
+ <parameters>
+ <parameter name="feature1" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcapsfeatures.c"
+ line="281">name of first feature to set</doc>
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </parameter>
+ <parameter name="..." transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcapsfeatures.c"
+ line="282">additional features</doc>
+ <varargs/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_id_valist"
+ c:identifier="gst_caps_features_new_id_valist"
+ version="1.2"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstcapsfeatures.c"
+ line="308">Creates a new #GstCapsFeatures with the given features.
+
+Free-function: gst_caps_features_free</doc>
+ <source-position filename="gst/gstcapsfeatures.h" line="70"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstcapsfeatures.c"
+ line="317">a new, empty #GstCapsFeatures</doc>
+ <type name="CapsFeatures" c:type="GstCapsFeatures*"/>
+ </return-value>
+ <parameters>
+ <parameter name="feature1" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcapsfeatures.c"
+ line="310">name of first feature to set</doc>
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </parameter>
+ <parameter name="varargs" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcapsfeatures.c"
+ line="311">variable argument list</doc>
+ <type name="va_list" c:type="va_list"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_valist"
+ c:identifier="gst_caps_features_new_valist"
+ version="1.2"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstcapsfeatures.c"
+ line="249">Creates a new #GstCapsFeatures with the given features.
+
+Free-function: gst_caps_features_free</doc>
+ <source-position filename="gst/gstcapsfeatures.h" line="64"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstcapsfeatures.c"
+ line="258">a new, empty #GstCapsFeatures</doc>
+ <type name="CapsFeatures" c:type="GstCapsFeatures*"/>
+ </return-value>
+ <parameters>
+ <parameter name="feature1" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcapsfeatures.c"
+ line="251">name of first feature to set</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="varargs" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcapsfeatures.c"
+ line="252">variable argument list</doc>
+ <type name="va_list" c:type="va_list"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <method name="add" c:identifier="gst_caps_features_add" version="1.2">
+ <doc xml:space="preserve"
+ filename="gst/gstcapsfeatures.c"
+ line="768">Adds @feature to @features.</doc>
+ <source-position filename="gst/gstcapsfeatures.h" line="109"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="features" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcapsfeatures.c"
+ line="770">a #GstCapsFeatures.</doc>
+ <type name="CapsFeatures" c:type="GstCapsFeatures*"/>
+ </instance-parameter>
+ <parameter name="feature" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcapsfeatures.c"
+ line="771">a feature.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_id"
+ c:identifier="gst_caps_features_add_id"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="gst/gstcapsfeatures.c"
+ line="788">Adds @feature to @features.</doc>
+ <source-position filename="gst/gstcapsfeatures.h" line="112"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="features" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcapsfeatures.c"
+ line="790">a #GstCapsFeatures.</doc>
+ <type name="CapsFeatures" c:type="GstCapsFeatures*"/>
+ </instance-parameter>
+ <parameter name="feature" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcapsfeatures.c"
+ line="791">a feature.</doc>
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="contains"
+ c:identifier="gst_caps_features_contains"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="gst/gstcapsfeatures.c"
+ line="647">Check if @features contains @feature.</doc>
+ <source-position filename="gst/gstcapsfeatures.h" line="97"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcapsfeatures.c"
+ line="654">%TRUE if @features contains @feature.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="features" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcapsfeatures.c"
+ line="649">a #GstCapsFeatures.</doc>
+ <type name="CapsFeatures" c:type="const GstCapsFeatures*"/>
+ </instance-parameter>
+ <parameter name="feature" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcapsfeatures.c"
+ line="650">a feature</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="contains_id"
+ c:identifier="gst_caps_features_contains_id"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="gst/gstcapsfeatures.c"
+ line="669">Check if @features contains @feature.</doc>
+ <source-position filename="gst/gstcapsfeatures.h" line="100"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcapsfeatures.c"
+ line="676">%TRUE if @features contains @feature.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="features" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcapsfeatures.c"
+ line="671">a #GstCapsFeatures.</doc>
+ <type name="CapsFeatures" c:type="const GstCapsFeatures*"/>
+ </instance-parameter>
+ <parameter name="feature" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcapsfeatures.c"
+ line="672">a feature</doc>
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="copy" c:identifier="gst_caps_features_copy" version="1.2">
+ <doc xml:space="preserve"
+ filename="gst/gstcapsfeatures.c"
+ line="377">Duplicates a #GstCapsFeatures and all its values.
+
+Free-function: gst_caps_features_free</doc>
+ <source-position filename="gst/gstcapsfeatures.h" line="76"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstcapsfeatures.c"
+ line="385">a new #GstCapsFeatures.</doc>
+ <type name="CapsFeatures" c:type="GstCapsFeatures*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="features" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcapsfeatures.c"
+ line="379">a #GstCapsFeatures to duplicate</doc>
+ <type name="CapsFeatures" c:type="const GstCapsFeatures*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="free" c:identifier="gst_caps_features_free" version="1.2">
+ <doc xml:space="preserve"
+ filename="gst/gstcapsfeatures.c"
+ line="406">Frees a #GstCapsFeatures and all its values. The caps features must not
+have a parent when this function is called.</doc>
+ <source-position filename="gst/gstcapsfeatures.h" line="79"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="features" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstcapsfeatures.c"
+ line="408">the #GstCapsFeatures to free</doc>
+ <type name="CapsFeatures" c:type="GstCapsFeatures*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_nth"
+ c:identifier="gst_caps_features_get_nth"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="gst/gstcapsfeatures.c"
+ line="596">Returns the @i-th feature of @features.</doc>
+ <source-position filename="gst/gstcapsfeatures.h" line="91"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstcapsfeatures.c"
+ line="603">The @i-th feature of @features.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="features" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcapsfeatures.c"
+ line="598">a #GstCapsFeatures.</doc>
+ <type name="CapsFeatures" c:type="const GstCapsFeatures*"/>
+ </instance-parameter>
+ <parameter name="i" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcapsfeatures.c"
+ line="599">index of the feature</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_nth_id"
+ c:identifier="gst_caps_features_get_nth_id"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="gst/gstcapsfeatures.c"
+ line="623">Returns the @i-th feature of @features.</doc>
+ <source-position filename="gst/gstcapsfeatures.h" line="94"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcapsfeatures.c"
+ line="630">The @i-th feature of @features.</doc>
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="features" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcapsfeatures.c"
+ line="625">a #GstCapsFeatures.</doc>
+ <type name="CapsFeatures" c:type="const GstCapsFeatures*"/>
+ </instance-parameter>
+ <parameter name="i" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcapsfeatures.c"
+ line="626">index of the feature</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_size"
+ c:identifier="gst_caps_features_get_size"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="gst/gstcapsfeatures.c"
+ line="578">Returns the number of features in @features.</doc>
+ <source-position filename="gst/gstcapsfeatures.h" line="88"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcapsfeatures.c"
+ line="584">The number of features in @features.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="features" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcapsfeatures.c"
+ line="580">a #GstCapsFeatures.</doc>
+ <type name="CapsFeatures" c:type="const GstCapsFeatures*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="is_any"
+ c:identifier="gst_caps_features_is_any"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="gst/gstcapsfeatures.c"
+ line="750">Check if @features is %GST_CAPS_FEATURES_ANY.</doc>
+ <source-position filename="gst/gstcapsfeatures.h" line="106"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcapsfeatures.c"
+ line="756">%TRUE if @features is %GST_CAPS_FEATURES_ANY.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="features" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcapsfeatures.c"
+ line="752">a #GstCapsFeatures.</doc>
+ <type name="CapsFeatures" c:type="const GstCapsFeatures*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="is_equal"
+ c:identifier="gst_caps_features_is_equal"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="gst/gstcapsfeatures.c"
+ line="703">Check if @features1 and @features2 are equal.</doc>
+ <source-position filename="gst/gstcapsfeatures.h" line="103"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcapsfeatures.c"
+ line="710">%TRUE if @features1 and @features2 are equal.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="features1" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcapsfeatures.c"
+ line="705">a #GstCapsFeatures.</doc>
+ <type name="CapsFeatures" c:type="const GstCapsFeatures*"/>
+ </instance-parameter>
+ <parameter name="features2" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcapsfeatures.c"
+ line="706">a #GstCapsFeatures.</doc>
+ <type name="CapsFeatures" c:type="const GstCapsFeatures*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="remove"
+ c:identifier="gst_caps_features_remove"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="gst/gstcapsfeatures.c"
+ line="821">Removes @feature from @features.</doc>
+ <source-position filename="gst/gstcapsfeatures.h" line="115"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="features" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcapsfeatures.c"
+ line="823">a #GstCapsFeatures.</doc>
+ <type name="CapsFeatures" c:type="GstCapsFeatures*"/>
+ </instance-parameter>
+ <parameter name="feature" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcapsfeatures.c"
+ line="824">a feature.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="remove_id"
+ c:identifier="gst_caps_features_remove_id"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="gst/gstcapsfeatures.c"
+ line="840">Removes @feature from @features.</doc>
+ <source-position filename="gst/gstcapsfeatures.h" line="118"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="features" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcapsfeatures.c"
+ line="842">a #GstCapsFeatures.</doc>
+ <type name="CapsFeatures" c:type="GstCapsFeatures*"/>
+ </instance-parameter>
+ <parameter name="feature" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcapsfeatures.c"
+ line="843">a feature.</doc>
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_parent_refcount"
+ c:identifier="gst_caps_features_set_parent_refcount"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="gst/gstcapsfeatures.c"
+ line="338">Sets the parent_refcount field of #GstCapsFeatures. This field is used to
+determine whether a caps features is mutable or not. This function should only be
+called by code implementing parent objects of #GstCapsFeatures, as described in
+the MT Refcounting section of the design documents.</doc>
+ <source-position filename="gst/gstcapsfeatures.h" line="73"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcapsfeatures.c"
+ line="348">%TRUE if the parent refcount could be set.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="features" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcapsfeatures.c"
+ line="340">a #GstCapsFeatures</doc>
+ <type name="CapsFeatures" c:type="GstCapsFeatures*"/>
+ </instance-parameter>
+ <parameter name="refcount" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcapsfeatures.c"
+ line="341">a pointer to the parent's refcount</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="to_string"
+ c:identifier="gst_caps_features_to_string"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="gst/gstcapsfeatures.c"
+ line="430">Converts @features to a human-readable string representation.
+
+For debugging purposes its easier to do something like this:
+|[&lt;!-- language="C" --&gt;
+GST_LOG ("features is %" GST_PTR_FORMAT, features);
+]|
+This prints the features in human readable form.
+
+Free-function: g_free</doc>
+ <source-position filename="gst/gstcapsfeatures.h" line="82"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstcapsfeatures.c"
+ line="444">a pointer to string allocated by g_malloc().
+ g_free() after usage.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="features" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcapsfeatures.c"
+ line="432">a #GstCapsFeatures</doc>
+ <type name="CapsFeatures" c:type="const GstCapsFeatures*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <function name="from_string"
+ c:identifier="gst_caps_features_from_string"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="gst/gstcapsfeatures.c"
+ line="486">Creates a #GstCapsFeatures from a string representation.
+
+Free-function: gst_caps_features_free</doc>
+ <source-position filename="gst/gstcapsfeatures.h" line="85"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstcapsfeatures.c"
+ line="494">a new #GstCapsFeatures or
+ %NULL when the string could not be parsed. Free with
+ gst_caps_features_free() after use.</doc>
+ <type name="CapsFeatures" c:type="GstCapsFeatures*"/>
+ </return-value>
+ <parameters>
+ <parameter name="features" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcapsfeatures.c"
+ line="488">a string representation of a #GstCapsFeatures.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ </record>
+ <callback name="CapsFilterMapFunc" c:type="GstCapsFilterMapFunc">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.h"
+ line="388">A function that will be called in gst_caps_filter_and_map_in_place().
+The function may modify @features and @structure, and both will be
+removed from the caps if %FALSE is returned.</doc>
+ <source-position filename="gst/gstcaps.h" line="401"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.h"
+ line="398">%TRUE if the features and structure should be preserved,
+%FALSE if it should be removed.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="features" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.h"
+ line="390">the #GstCapsFeatures</doc>
+ <type name="CapsFeatures" c:type="GstCapsFeatures*"/>
+ </parameter>
+ <parameter name="structure" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.h"
+ line="391">the #GstStructure</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1"
+ closure="2">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.h"
+ line="392">user data</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <bitfield name="CapsFlags"
+ glib:type-name="GstCapsFlags"
+ glib:get-type="gst_caps_flags_get_type"
+ c:type="GstCapsFlags">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.h"
+ line="40">Extra flags for a caps.</doc>
+ <member name="any"
+ value="16"
+ c:identifier="GST_CAPS_FLAG_ANY"
+ glib:nick="any">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.h"
+ line="42">Caps has no specific content, but can contain
+ anything.</doc>
+ </member>
+ </bitfield>
+ <callback name="CapsForeachFunc" c:type="GstCapsForeachFunc" version="1.6">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.h"
+ line="354">A function that will be called in gst_caps_foreach(). The function may
+not modify @features or @structure.</doc>
+ <source-position filename="gst/gstcaps.h" line="368"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.h"
+ line="363">%TRUE if the foreach operation should continue, %FALSE if
+the foreach operation should stop with %FALSE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="features" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.h"
+ line="356">the #GstCapsFeatures</doc>
+ <type name="CapsFeatures" c:type="GstCapsFeatures*"/>
+ </parameter>
+ <parameter name="structure" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.h"
+ line="357">the #GstStructure</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1"
+ closure="2">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.h"
+ line="358">user data</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <enumeration name="CapsIntersectMode"
+ glib:type-name="GstCapsIntersectMode"
+ glib:get-type="gst_caps_intersect_mode_get_type"
+ c:type="GstCapsIntersectMode">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.h"
+ line="51">Modes of caps intersection
+
+@GST_CAPS_INTERSECT_ZIG_ZAG tries to preserve overall order of both caps
+by iterating on the caps' structures as the following matrix shows:
+|[
+ caps1
+ +-------------
+ | 1 2 4 7
+caps2 | 3 5 8 10
+ | 6 9 11 12
+]|
+Used when there is no explicit precedence of one caps over the other. e.g.
+tee's sink pad getcaps function, it will probe its src pad peers' for their
+caps and intersect them with this mode.
+
+@GST_CAPS_INTERSECT_FIRST is useful when an element wants to preserve
+another element's caps priority order when intersecting with its own caps.
+Example: If caps1 is [A, B, C] and caps2 is [E, B, D, A], the result
+would be [A, B], maintaining the first caps priority on the intersection.</doc>
+ <member name="zig_zag"
+ value="0"
+ c:identifier="GST_CAPS_INTERSECT_ZIG_ZAG"
+ glib:nick="zig-zag">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.h"
+ line="53">Zig-zags over both caps.</doc>
+ </member>
+ <member name="first"
+ value="1"
+ c:identifier="GST_CAPS_INTERSECT_FIRST"
+ glib:nick="first">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.h"
+ line="54">Keeps the first caps order.</doc>
+ </member>
+ </enumeration>
+ <callback name="CapsMapFunc" c:type="GstCapsMapFunc">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.h"
+ line="372">A function that will be called in gst_caps_map_in_place(). The function
+may modify @features and @structure.</doc>
+ <source-position filename="gst/gstcaps.h" line="384"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.h"
+ line="381">%TRUE if the map operation should continue, %FALSE if
+the map operation should stop with %FALSE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="features" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.h"
+ line="374">the #GstCapsFeatures</doc>
+ <type name="CapsFeatures" c:type="GstCapsFeatures*"/>
+ </parameter>
+ <parameter name="structure" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.h"
+ line="375">the #GstStructure</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1"
+ closure="2">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.h"
+ line="376">user data</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <interface name="ChildProxy"
+ c:symbol-prefix="child_proxy"
+ c:type="GstChildProxy"
+ glib:type-name="GstChildProxy"
+ glib:get-type="gst_child_proxy_get_type"
+ glib:type-struct="ChildProxyInterface">
+ <doc xml:space="preserve"
+ filename="gst/gstchildproxy.c"
+ line="22">This interface abstracts handling of property sets for elements with
+children. Imagine elements such as mixers or polyphonic generators. They all
+have multiple #GstPad or some kind of voice objects. Another use case are
+container elements like #GstBin.
+The element implementing the interface acts as a parent for those child
+objects.
+
+By implementing this interface the child properties can be accessed from the
+parent element by using gst_child_proxy_get() and gst_child_proxy_set().
+
+Property names are written as "child-name::property-name". The whole naming
+scheme is recursive. Thus "child1::child2::property" is valid too, if
+"child1" and "child2" implement the #GstChildProxy interface.</doc>
+ <source-position filename="gst/gstchildproxy.h" line="68"/>
+ <virtual-method name="child_added" invoker="child_added">
+ <doc xml:space="preserve"
+ filename="gst/gstchildproxy.c"
+ line="481">Emits the "child-added" signal.</doc>
+ <source-position filename="gst/gstchildproxy.h" line="63"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="parent" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstchildproxy.c"
+ line="483">the parent object</doc>
+ <type name="ChildProxy" c:type="GstChildProxy*"/>
+ </instance-parameter>
+ <parameter name="child" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstchildproxy.c"
+ line="484">the newly added child</doc>
+ <type name="GObject.Object" c:type="GObject*"/>
+ </parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstchildproxy.c"
+ line="485">the name of the new child</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="child_removed" invoker="child_removed">
+ <doc xml:space="preserve"
+ filename="gst/gstchildproxy.c"
+ line="496">Emits the "child-removed" signal.</doc>
+ <source-position filename="gst/gstchildproxy.h" line="64"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="parent" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstchildproxy.c"
+ line="498">the parent object</doc>
+ <type name="ChildProxy" c:type="GstChildProxy*"/>
+ </instance-parameter>
+ <parameter name="child" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstchildproxy.c"
+ line="499">the removed child</doc>
+ <type name="GObject.Object" c:type="GObject*"/>
+ </parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstchildproxy.c"
+ line="500">the name of the old child</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="get_child_by_index" invoker="get_child_by_index">
+ <doc xml:space="preserve"
+ filename="gst/gstchildproxy.c"
+ line="132">Fetches a child by its number.</doc>
+ <source-position filename="gst/gstchildproxy.h" line="59"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstchildproxy.c"
+ line="139">the child object or %NULL if
+ not found (index too high). Unref after usage.
+
+MT safe.</doc>
+ <type name="GObject.Object" c:type="GObject*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="parent" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstchildproxy.c"
+ line="134">the parent object to get the child from</doc>
+ <type name="ChildProxy" c:type="GstChildProxy*"/>
+ </instance-parameter>
+ <parameter name="index" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstchildproxy.c"
+ line="135">the child's position in the child list</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="get_child_by_name" invoker="get_child_by_name">
+ <doc xml:space="preserve"
+ filename="gst/gstchildproxy.c"
+ line="101">Looks up a child element by the given name.
+
+This virtual method has a default implementation that uses #GstObject
+together with gst_object_get_name(). If the interface is to be used with
+#GObjects, this methods needs to be overridden.</doc>
+ <source-position filename="gst/gstchildproxy.h" line="58"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstchildproxy.c"
+ line="112">the child object or %NULL if
+ not found. Unref after usage.
+
+MT safe.</doc>
+ <type name="GObject.Object" c:type="GObject*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="parent" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstchildproxy.c"
+ line="103">the parent object to get the child from</doc>
+ <type name="ChildProxy" c:type="GstChildProxy*"/>
+ </instance-parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstchildproxy.c"
+ line="104">the child's name</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="get_children_count" invoker="get_children_count">
+ <doc xml:space="preserve"
+ filename="gst/gstchildproxy.c"
+ line="159">Gets the number of child objects this parent contains.</doc>
+ <source-position filename="gst/gstchildproxy.h" line="60"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstchildproxy.c"
+ line="165">the number of child objects
+
+MT safe.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="parent" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstchildproxy.c"
+ line="161">the parent object</doc>
+ <type name="ChildProxy" c:type="GstChildProxy*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <method name="child_added" c:identifier="gst_child_proxy_child_added">
+ <doc xml:space="preserve"
+ filename="gst/gstchildproxy.c"
+ line="481">Emits the "child-added" signal.</doc>
+ <source-position filename="gst/gstchildproxy.h" line="109"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="parent" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstchildproxy.c"
+ line="483">the parent object</doc>
+ <type name="ChildProxy" c:type="GstChildProxy*"/>
+ </instance-parameter>
+ <parameter name="child" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstchildproxy.c"
+ line="484">the newly added child</doc>
+ <type name="GObject.Object" c:type="GObject*"/>
+ </parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstchildproxy.c"
+ line="485">the name of the new child</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="child_removed"
+ c:identifier="gst_child_proxy_child_removed">
+ <doc xml:space="preserve"
+ filename="gst/gstchildproxy.c"
+ line="496">Emits the "child-removed" signal.</doc>
+ <source-position filename="gst/gstchildproxy.h" line="112"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="parent" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstchildproxy.c"
+ line="498">the parent object</doc>
+ <type name="ChildProxy" c:type="GstChildProxy*"/>
+ </instance-parameter>
+ <parameter name="child" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstchildproxy.c"
+ line="499">the removed child</doc>
+ <type name="GObject.Object" c:type="GObject*"/>
+ </parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstchildproxy.c"
+ line="500">the name of the old child</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get" c:identifier="gst_child_proxy_get" introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstchildproxy.c"
+ line="347">Gets properties of the parent object and its children.</doc>
+ <source-position filename="gst/gstchildproxy.h" line="93"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstchildproxy.c"
+ line="349">the parent object</doc>
+ <type name="ChildProxy" c:type="GstChildProxy*"/>
+ </instance-parameter>
+ <parameter name="first_property_name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstchildproxy.c"
+ line="350">name of the first property to get</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="..." transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstchildproxy.c"
+ line="351">return location for the first property, followed optionally by more name/return location pairs, followed by %NULL</doc>
+ <varargs/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_child_by_index"
+ c:identifier="gst_child_proxy_get_child_by_index">
+ <doc xml:space="preserve"
+ filename="gst/gstchildproxy.c"
+ line="132">Fetches a child by its number.</doc>
+ <source-position filename="gst/gstchildproxy.h" line="80"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstchildproxy.c"
+ line="139">the child object or %NULL if
+ not found (index too high). Unref after usage.
+
+MT safe.</doc>
+ <type name="GObject.Object" c:type="GObject*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="parent" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstchildproxy.c"
+ line="134">the parent object to get the child from</doc>
+ <type name="ChildProxy" c:type="GstChildProxy*"/>
+ </instance-parameter>
+ <parameter name="index" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstchildproxy.c"
+ line="135">the child's position in the child list</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_child_by_name"
+ c:identifier="gst_child_proxy_get_child_by_name">
+ <doc xml:space="preserve"
+ filename="gst/gstchildproxy.c"
+ line="101">Looks up a child element by the given name.
+
+This virtual method has a default implementation that uses #GstObject
+together with gst_object_get_name(). If the interface is to be used with
+#GObjects, this methods needs to be overridden.</doc>
+ <source-position filename="gst/gstchildproxy.h" line="74"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstchildproxy.c"
+ line="112">the child object or %NULL if
+ not found. Unref after usage.
+
+MT safe.</doc>
+ <type name="GObject.Object" c:type="GObject*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="parent" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstchildproxy.c"
+ line="103">the parent object to get the child from</doc>
+ <type name="ChildProxy" c:type="GstChildProxy*"/>
+ </instance-parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstchildproxy.c"
+ line="104">the child's name</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_children_count"
+ c:identifier="gst_child_proxy_get_children_count">
+ <doc xml:space="preserve"
+ filename="gst/gstchildproxy.c"
+ line="159">Gets the number of child objects this parent contains.</doc>
+ <source-position filename="gst/gstchildproxy.h" line="77"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstchildproxy.c"
+ line="165">the number of child objects
+
+MT safe.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="parent" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstchildproxy.c"
+ line="161">the parent object</doc>
+ <type name="ChildProxy" c:type="GstChildProxy*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_property" c:identifier="gst_child_proxy_get_property">
+ <doc xml:space="preserve"
+ filename="gst/gstchildproxy.c"
+ line="257">Gets a single property using the GstChildProxy mechanism.
+You are responsible for freeing it by calling g_value_unset()</doc>
+ <source-position filename="gst/gstchildproxy.h" line="86"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstchildproxy.c"
+ line="259">object to query</doc>
+ <type name="ChildProxy" c:type="GstChildProxy*"/>
+ </instance-parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstchildproxy.c"
+ line="260">name of the property</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="value"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstchildproxy.c"
+ line="261">a #GValue that should take the result.</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_valist"
+ c:identifier="gst_child_proxy_get_valist"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstchildproxy.c"
+ line="293">Gets properties of the parent object and its children.</doc>
+ <source-position filename="gst/gstchildproxy.h" line="89"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstchildproxy.c"
+ line="295">the object to query</doc>
+ <type name="ChildProxy" c:type="GstChildProxy*"/>
+ </instance-parameter>
+ <parameter name="first_property_name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstchildproxy.c"
+ line="296">name of the first property to get</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="var_args" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstchildproxy.c"
+ line="297">return location for the first property, followed optionally by more name/return location pairs, followed by %NULL</doc>
+ <type name="va_list" c:type="va_list"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="lookup" c:identifier="gst_child_proxy_lookup">
+ <doc xml:space="preserve"
+ filename="gst/gstchildproxy.c"
+ line="184">Looks up which object and #GParamSpec would be effected by the given @name.
+
+MT safe.</doc>
+ <source-position filename="gst/gstchildproxy.h" line="83"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstchildproxy.c"
+ line="197">%TRUE if @target and @pspec could be found. %FALSE otherwise. In that
+case the values for @pspec and @target are not modified. Unref @target after
+usage. For plain GObjects @target is the same as @object.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstchildproxy.c"
+ line="186">child proxy object to lookup the property in</doc>
+ <type name="ChildProxy" c:type="GstChildProxy*"/>
+ </instance-parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstchildproxy.c"
+ line="187">name of the property to look up</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="target"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstchildproxy.c"
+ line="188">pointer to a #GObject that
+ takes the real object to set property on</doc>
+ <type name="GObject.Object" c:type="GObject**"/>
+ </parameter>
+ <parameter name="pspec"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="none"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstchildproxy.c"
+ line="190">pointer to take the #GParamSpec
+ describing the property</doc>
+ <type name="GObject.ParamSpec" c:type="GParamSpec**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set" c:identifier="gst_child_proxy_set" introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstchildproxy.c"
+ line="460">Sets properties of the parent object and its children.</doc>
+ <source-position filename="gst/gstchildproxy.h" line="105"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstchildproxy.c"
+ line="462">the parent object</doc>
+ <type name="ChildProxy" c:type="GstChildProxy*"/>
+ </instance-parameter>
+ <parameter name="first_property_name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstchildproxy.c"
+ line="463">name of the first property to set</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="..." transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstchildproxy.c"
+ line="464">value for the first property, followed optionally by more name/value pairs, followed by %NULL</doc>
+ <varargs/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_property" c:identifier="gst_child_proxy_set_property">
+ <doc xml:space="preserve"
+ filename="gst/gstchildproxy.c"
+ line="368">Sets a single property using the GstChildProxy mechanism.</doc>
+ <source-position filename="gst/gstchildproxy.h" line="97"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstchildproxy.c"
+ line="370">the parent object</doc>
+ <type name="ChildProxy" c:type="GstChildProxy*"/>
+ </instance-parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstchildproxy.c"
+ line="371">name of the property to set</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstchildproxy.c"
+ line="372">new #GValue for the property</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_valist"
+ c:identifier="gst_child_proxy_set_valist"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstchildproxy.c"
+ line="402">Sets properties of the parent object and its children.</doc>
+ <source-position filename="gst/gstchildproxy.h" line="101"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstchildproxy.c"
+ line="404">the parent object</doc>
+ <type name="ChildProxy" c:type="GstChildProxy*"/>
+ </instance-parameter>
+ <parameter name="first_property_name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstchildproxy.c"
+ line="405">name of the first property to set</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="var_args" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstchildproxy.c"
+ line="406">value for the first property, followed optionally by more name/value pairs, followed by %NULL</doc>
+ <type name="va_list" c:type="va_list"/>
+ </parameter>
+ </parameters>
+ </method>
+ <glib:signal name="child-added" when="first">
+ <doc xml:space="preserve"
+ filename="gst/gstchildproxy.c"
+ line="528">Will be emitted after the @object was added to the @child_proxy.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstchildproxy.c"
+ line="531">the #GObject that was added</doc>
+ <type name="GObject.Object"/>
+ </parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstchildproxy.c"
+ line="532">the name of the new child</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="child-removed" when="first">
+ <doc xml:space="preserve"
+ filename="gst/gstchildproxy.c"
+ line="542">Will be emitted after the @object was removed from the @child_proxy.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstchildproxy.c"
+ line="545">the #GObject that was removed</doc>
+ <type name="GObject.Object"/>
+ </parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstchildproxy.c"
+ line="546">the name of the old child</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ </interface>
+ <record name="ChildProxyInterface"
+ c:type="GstChildProxyInterface"
+ glib:is-gtype-struct-for="ChildProxy">
+ <doc xml:space="preserve"
+ filename="gst/gstchildproxy.h"
+ line="44">#GstChildProxy interface.</doc>
+ <source-position filename="gst/gstchildproxy.h" line="68"/>
+ <field name="parent">
+ <doc xml:space="preserve"
+ filename="gst/gstchildproxy.h"
+ line="46">parent interface type.</doc>
+ <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
+ </field>
+ <field name="get_child_by_name">
+ <callback name="get_child_by_name">
+ <source-position filename="gst/gstchildproxy.h" line="58"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstchildproxy.c"
+ line="112">the child object or %NULL if
+ not found. Unref after usage.
+
+MT safe.</doc>
+ <type name="GObject.Object" c:type="GObject*"/>
+ </return-value>
+ <parameters>
+ <parameter name="parent" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstchildproxy.c"
+ line="103">the parent object to get the child from</doc>
+ <type name="ChildProxy" c:type="GstChildProxy*"/>
+ </parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstchildproxy.c"
+ line="104">the child's name</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="get_child_by_index">
+ <callback name="get_child_by_index">
+ <source-position filename="gst/gstchildproxy.h" line="59"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstchildproxy.c"
+ line="139">the child object or %NULL if
+ not found (index too high). Unref after usage.
+
+MT safe.</doc>
+ <type name="GObject.Object" c:type="GObject*"/>
+ </return-value>
+ <parameters>
+ <parameter name="parent" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstchildproxy.c"
+ line="134">the parent object to get the child from</doc>
+ <type name="ChildProxy" c:type="GstChildProxy*"/>
+ </parameter>
+ <parameter name="index" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstchildproxy.c"
+ line="135">the child's position in the child list</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="get_children_count">
+ <callback name="get_children_count">
+ <source-position filename="gst/gstchildproxy.h" line="60"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstchildproxy.c"
+ line="165">the number of child objects
+
+MT safe.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <parameter name="parent" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstchildproxy.c"
+ line="161">the parent object</doc>
+ <type name="ChildProxy" c:type="GstChildProxy*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="child_added">
+ <callback name="child_added">
+ <source-position filename="gst/gstchildproxy.h" line="63"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="parent" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstchildproxy.c"
+ line="483">the parent object</doc>
+ <type name="ChildProxy" c:type="GstChildProxy*"/>
+ </parameter>
+ <parameter name="child" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstchildproxy.c"
+ line="484">the newly added child</doc>
+ <type name="GObject.Object" c:type="GObject*"/>
+ </parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstchildproxy.c"
+ line="485">the name of the new child</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="child_removed">
+ <callback name="child_removed">
+ <source-position filename="gst/gstchildproxy.h" line="64"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="parent" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstchildproxy.c"
+ line="498">the parent object</doc>
+ <type name="ChildProxy" c:type="GstChildProxy*"/>
+ </parameter>
+ <parameter name="child" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstchildproxy.c"
+ line="499">the removed child</doc>
+ <type name="GObject.Object" c:type="GObject*"/>
+ </parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstchildproxy.c"
+ line="500">the name of the old child</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <class name="Clock"
+ c:symbol-prefix="clock"
+ c:type="GstClock"
+ parent="Object"
+ abstract="1"
+ glib:type-name="GstClock"
+ glib:get-type="gst_clock_get_type"
+ glib:type-struct="ClockClass">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="24">GStreamer uses a global clock to synchronize the plugins in a pipeline.
+Different clock implementations are possible by implementing this abstract
+base class or, more conveniently, by subclassing #GstSystemClock.
+
+The #GstClock returns a monotonically increasing time with the method
+gst_clock_get_time(). Its accuracy and base time depend on the specific
+clock implementation but time is always expressed in nanoseconds. Since the
+baseline of the clock is undefined, the clock time returned is not
+meaningful in itself, what matters are the deltas between two clock times.
+The time returned by a clock is called the absolute time.
+
+The pipeline uses the clock to calculate the running time. Usually all
+renderers synchronize to the global clock using the buffer timestamps, the
+newsegment events and the element's base time, see #GstPipeline.
+
+A clock implementation can support periodic and single shot clock
+notifications both synchronous and asynchronous.
+
+One first needs to create a #GstClockID for the periodic or single shot
+notification using gst_clock_new_single_shot_id() or
+gst_clock_new_periodic_id().
+
+To perform a blocking wait for the specific time of the #GstClockID use the
+gst_clock_id_wait(). To receive a callback when the specific time is reached
+in the clock use gst_clock_id_wait_async(). Both these calls can be
+interrupted with the gst_clock_id_unschedule() call. If the blocking wait is
+unscheduled a return value of #GST_CLOCK_UNSCHEDULED is returned.
+
+Periodic callbacks scheduled async will be repeatedly called automatically
+until it is unscheduled. To schedule a sync periodic callback,
+gst_clock_id_wait() should be called repeatedly.
+
+The async callbacks can happen from any thread, either provided by the core
+or from a streaming thread. The application should be prepared for this.
+
+A #GstClockID that has been unscheduled cannot be used again for any wait
+operation, a new #GstClockID should be created and the old unscheduled one
+should be destroyed with gst_clock_id_unref().
+
+It is possible to perform a blocking wait on the same #GstClockID from
+multiple threads. However, registering the same #GstClockID for multiple
+async notifications is not possible, the callback will only be called for
+the thread registering the entry last.
+
+None of the wait operations unref the #GstClockID, the owner is responsible
+for unreffing the ids itself. This holds for both periodic and single shot
+notifications. The reason being that the owner of the #GstClockID has to
+keep a handle to the #GstClockID to unblock the wait on FLUSHING events or
+state changes and if the entry would be unreffed automatically, the handle
+might become invalid without any notification.
+
+These clock operations do not operate on the running time, so the callbacks
+will also occur when not in PLAYING state as if the clock just keeps on
+running. Some clocks however do not progress when the element that provided
+the clock is not PLAYING.
+
+When a clock has the #GST_CLOCK_FLAG_CAN_SET_MASTER flag set, it can be
+slaved to another #GstClock with the gst_clock_set_master(). The clock will
+then automatically be synchronized to this master clock by repeatedly
+sampling the master clock and the slave clock and recalibrating the slave
+clock with gst_clock_set_calibration(). This feature is mostly useful for
+plugins that have an internal clock but must operate with another clock
+selected by the #GstPipeline. They can track the offset and rate difference
+of their internal clock relative to the master clock by using the
+gst_clock_get_calibration() function.
+
+The master/slave synchronisation can be tuned with the #GstClock:timeout,
+#GstClock:window-size and #GstClock:window-threshold properties.
+The #GstClock:timeout property defines the interval to sample the master
+clock and run the calibration functions. #GstClock:window-size defines the
+number of samples to use when calibrating and #GstClock:window-threshold
+defines the minimum number of samples before the calibration is performed.</doc>
+ <source-position filename="gst/gstclock.h" line="503"/>
+ <function name="id_compare_func"
+ c:identifier="gst_clock_id_compare_func">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="460">Compares the two #GstClockID instances. This function can be used
+as a GCompareFunc when sorting ids.</doc>
+ <source-position filename="gst/gstclock.h" line="612"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="468">negative value if a &lt; b; zero if a = b; positive value if a &gt; b
+
+MT safe.</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <parameter name="id1"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="462">A #GstClockID</doc>
+ <type name="gpointer" c:type="gconstpointer"/>
+ </parameter>
+ <parameter name="id2"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="463">A #GstClockID to compare with</doc>
+ <type name="gpointer" c:type="gconstpointer"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="id_get_clock"
+ c:identifier="gst_clock_id_get_clock"
+ version="1.16">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="1390">This function returns the underlying clock.</doc>
+ <source-position filename="gst/gstclock.h" line="615"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="1396">a #GstClock or %NULL when the
+ underlying clock has been freed. Unref after usage.
+
+MT safe.</doc>
+ <type name="Clock" c:type="GstClock*"/>
+ </return-value>
+ <parameters>
+ <parameter name="id" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="1392">a #GstClockID</doc>
+ <type name="ClockID" c:type="GstClockID"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="id_get_time" c:identifier="gst_clock_id_get_time">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="489">Get the time of the clock ID</doc>
+ <source-position filename="gst/gstclock.h" line="621"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="495">the time of the given clock id.
+
+MT safe.</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ <parameters>
+ <parameter name="id" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="491">The #GstClockID to query</doc>
+ <type name="ClockID" c:type="GstClockID"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="id_ref" c:identifier="gst_clock_id_ref">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="338">Increase the refcount of given @id.</doc>
+ <source-position filename="gst/gstclock.h" line="604"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="344">The same #GstClockID with increased refcount.
+
+MT safe.</doc>
+ <type name="ClockID" c:type="GstClockID"/>
+ </return-value>
+ <parameters>
+ <parameter name="id" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="340">The #GstClockID to ref</doc>
+ <type name="ClockID" c:type="GstClockID"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="id_unref" c:identifier="gst_clock_id_unref">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="381">Unref given @id. When the refcount reaches 0 the
+#GstClockID will be freed.
+
+MT safe.</doc>
+ <source-position filename="gst/gstclock.h" line="607"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="id" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="383">The #GstClockID to unref</doc>
+ <type name="ClockID" c:type="GstClockID"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="id_unschedule" c:identifier="gst_clock_id_unschedule">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="676">Cancel an outstanding request with @id. This can either
+be an outstanding async notification or a pending sync notification.
+After this call, @id cannot be used anymore to receive sync or
+async notifications, you need to create a new #GstClockID.
+
+MT safe.</doc>
+ <source-position filename="gst/gstclock.h" line="632"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="id" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="678">The id to unschedule</doc>
+ <type name="ClockID" c:type="GstClockID"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="id_uses_clock"
+ c:identifier="gst_clock_id_uses_clock"
+ version="1.16">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="1414">This function returns whether @id uses @clock as the underlying clock.
+@clock can be NULL, in which case the return value indicates whether
+the underlying clock has been freed. If this is the case, the @id is
+no longer usable and should be freed.</doc>
+ <source-position filename="gst/gstclock.h" line="618"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="1424">whether the clock @id uses the same underlying #GstClock @clock.
+
+MT safe.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="id" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="1416">a #GstClockID to check</doc>
+ <type name="ClockID" c:type="GstClockID"/>
+ </parameter>
+ <parameter name="clock" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="1417">a #GstClock to compare against</doc>
+ <type name="Clock" c:type="GstClock*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="id_wait" c:identifier="gst_clock_id_wait">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="507">Perform a blocking wait on @id.
+@id should have been created with gst_clock_new_single_shot_id()
+or gst_clock_new_periodic_id() and should not have been unscheduled
+with a call to gst_clock_id_unschedule().
+
+If the @jitter argument is not %NULL and this function returns #GST_CLOCK_OK
+or #GST_CLOCK_EARLY, it will contain the difference
+against the clock and the time of @id when this method was
+called.
+Positive values indicate how late @id was relative to the clock
+(in which case this function will return #GST_CLOCK_EARLY).
+Negative values indicate how much time was spent waiting on the clock
+before this function returned.</doc>
+ <source-position filename="gst/gstclock.h" line="624"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="527">the result of the blocking wait. #GST_CLOCK_EARLY will be returned
+if the current clock time is past the time of @id, #GST_CLOCK_OK if
+@id was scheduled in time. #GST_CLOCK_UNSCHEDULED if @id was
+unscheduled with gst_clock_id_unschedule().
+
+MT safe.</doc>
+ <type name="ClockReturn" c:type="GstClockReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="id" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="509">The #GstClockID to wait on</doc>
+ <type name="ClockID" c:type="GstClockID"/>
+ </parameter>
+ <parameter name="jitter"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="510">a pointer that will contain the jitter,
+ can be %NULL.</doc>
+ <type name="ClockTimeDiff" c:type="GstClockTimeDiff*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="id_wait_async" c:identifier="gst_clock_id_wait_async">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="597">Register a callback on the given #GstClockID @id with the given
+function and user_data. When passing a #GstClockID with an invalid
+time to this function, the callback will be called immediately
+with a time set to GST_CLOCK_TIME_NONE. The callback will
+be called when the time of @id has been reached.
+
+The callback @func can be invoked from any thread, either provided by the
+core or from a streaming thread. The application should be prepared for this.</doc>
+ <source-position filename="gst/gstclock.h" line="627"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="613">the result of the non blocking wait.
+
+MT safe.</doc>
+ <type name="ClockReturn" c:type="GstClockReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="id" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="599">a #GstClockID to wait on</doc>
+ <type name="ClockID" c:type="GstClockID"/>
+ </parameter>
+ <parameter name="func"
+ transfer-ownership="none"
+ scope="notified"
+ closure="2"
+ destroy="3">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="600">The callback function</doc>
+ <type name="ClockCallback" c:type="GstClockCallback"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="601">User data passed in the callback</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="destroy_data"
+ transfer-ownership="none"
+ scope="async">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="602">#GDestroyNotify for user_data</doc>
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </parameter>
+ </parameters>
+ </function>
+ <virtual-method name="change_resolution">
+ <source-position filename="gst/gstclock.h" line="488"/>
+ <return-value transfer-ownership="none">
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="clock" transfer-ownership="none">
+ <type name="Clock" c:type="GstClock*"/>
+ </instance-parameter>
+ <parameter name="old_resolution" transfer-ownership="none">
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="new_resolution" transfer-ownership="none">
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="get_internal_time" invoker="get_internal_time">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="1059">Gets the current internal time of the given clock. The time is returned
+unadjusted for the offset and the rate.</doc>
+ <source-position filename="gst/gstclock.h" line="493"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="1066">the internal time of the clock. Or GST_CLOCK_TIME_NONE when
+given invalid input.
+
+MT safe.</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="clock" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="1061">a #GstClock to query</doc>
+ <type name="Clock" c:type="GstClock*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="get_resolution" invoker="get_resolution">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="860">Get the accuracy of the clock. The accuracy of the clock is the granularity
+of the values returned by gst_clock_get_time().</doc>
+ <source-position filename="gst/gstclock.h" line="491"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="867">the resolution of the clock in units of #GstClockTime.
+
+MT safe.</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="clock" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="862">a #GstClock</doc>
+ <type name="Clock" c:type="GstClock*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="unschedule">
+ <source-position filename="gst/gstclock.h" line="499"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="clock" transfer-ownership="none">
+ <type name="Clock" c:type="GstClock*"/>
+ </instance-parameter>
+ <parameter name="entry" transfer-ownership="none">
+ <type name="ClockEntry" c:type="GstClockEntry*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="wait">
+ <source-position filename="gst/gstclock.h" line="496"/>
+ <return-value transfer-ownership="none">
+ <type name="ClockReturn" c:type="GstClockReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="clock" transfer-ownership="none">
+ <type name="Clock" c:type="GstClock*"/>
+ </instance-parameter>
+ <parameter name="entry" transfer-ownership="none">
+ <type name="ClockEntry" c:type="GstClockEntry*"/>
+ </parameter>
+ <parameter name="jitter" transfer-ownership="none">
+ <type name="ClockTimeDiff" c:type="GstClockTimeDiff*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="wait_async">
+ <source-position filename="gst/gstclock.h" line="498"/>
+ <return-value transfer-ownership="none">
+ <type name="ClockReturn" c:type="GstClockReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="clock" transfer-ownership="none">
+ <type name="Clock" c:type="GstClock*"/>
+ </instance-parameter>
+ <parameter name="entry" transfer-ownership="none">
+ <type name="ClockEntry" c:type="GstClockEntry*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <method name="add_observation" c:identifier="gst_clock_add_observation">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="1452">The time @master of the master clock and the time @slave of the slave
+clock are added to the list of observations. If enough observations
+are available, a linear regression algorithm is run on the
+observations and @clock is recalibrated.
+
+If this functions returns %TRUE, @r_squared will contain the
+correlation coefficient of the interpolation. A value of 1.0
+means a perfect regression was performed. This value can
+be used to control the sampling frequency of the master and slave
+clocks.</doc>
+ <source-position filename="gst/gstclock.h" line="543"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="1470">%TRUE if enough observations were added to run the
+regression algorithm.
+
+MT safe.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="clock" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="1454">a #GstClock</doc>
+ <type name="Clock" c:type="GstClock*"/>
+ </instance-parameter>
+ <parameter name="slave" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="1455">a time on the slave</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="master" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="1456">a time on the master</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="r_squared"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="1457">a pointer to hold the result</doc>
+ <type name="gdouble" c:type="gdouble*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_observation_unapplied"
+ c:identifier="gst_clock_add_observation_unapplied"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="1491">Add a clock observation to the internal slaving algorithm the same as
+gst_clock_add_observation(), and return the result of the master clock
+estimation, without updating the internal calibration.
+
+The caller can then take the results and call gst_clock_set_calibration()
+with the values, or some modified version of them.</doc>
+ <source-position filename="gst/gstclock.h" line="546"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="clock" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="1493">a #GstClock</doc>
+ <type name="Clock" c:type="GstClock*"/>
+ </instance-parameter>
+ <parameter name="slave" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="1494">a time on the slave</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="master" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="1495">a time on the master</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="r_squared"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="1496">a pointer to hold the result</doc>
+ <type name="gdouble" c:type="gdouble*"/>
+ </parameter>
+ <parameter name="internal"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="1497">a location to store the internal time</doc>
+ <type name="ClockTime" c:type="GstClockTime*"/>
+ </parameter>
+ <parameter name="external"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="1498">a location to store the external time</doc>
+ <type name="ClockTime" c:type="GstClockTime*"/>
+ </parameter>
+ <parameter name="rate_num"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="1499">a location to store the rate numerator</doc>
+ <type name="ClockTime" c:type="GstClockTime*"/>
+ </parameter>
+ <parameter name="rate_denom"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="1500">a location to store the rate denominator</doc>
+ <type name="ClockTime" c:type="GstClockTime*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="adjust_unlocked" c:identifier="gst_clock_adjust_unlocked">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="943">Converts the given @internal clock time to the external time, adjusting for the
+rate and reference time set with gst_clock_set_calibration() and making sure
+that the returned time is increasing. This function should be called with the
+clock's OBJECT_LOCK held and is mainly used by clock subclasses.
+
+This function is the reverse of gst_clock_unadjust_unlocked().</doc>
+ <source-position filename="gst/gstclock.h" line="559"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="955">the converted time of the clock.</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="clock" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="945">a #GstClock to use</doc>
+ <type name="Clock" c:type="GstClock*"/>
+ </instance-parameter>
+ <parameter name="internal" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="946">a clock time</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="adjust_with_calibration"
+ c:identifier="gst_clock_adjust_with_calibration"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="887">Converts the given @internal_target clock time to the external time,
+using the passed calibration parameters. This function performs the
+same calculation as gst_clock_adjust_unlocked() when called using the
+current calibration parameters, but doesn't ensure a monotonically
+increasing result as gst_clock_adjust_unlocked() does.
+
+Note: The @clock parameter is unused and can be NULL</doc>
+ <source-position filename="gst/gstclock.h" line="562"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="905">the converted time of the clock.</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="clock"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="889">a #GstClock to use</doc>
+ <type name="Clock" c:type="GstClock*"/>
+ </instance-parameter>
+ <parameter name="internal_target" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="890">a clock time</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="cinternal" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="891">a reference internal time</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="cexternal" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="892">a reference external time</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="cnum" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="893">the numerator of the rate of the clock relative to its
+ internal time</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="cdenom" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="895">the denominator of the rate of the clock</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_calibration" c:identifier="gst_clock_get_calibration">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="1201">Gets the internal rate and reference time of @clock. See
+gst_clock_set_calibration() for more information.
+
+@internal, @external, @rate_num, and @rate_denom can be left %NULL if the
+caller is not interested in the values.
+
+MT safe.</doc>
+ <source-position filename="gst/gstclock.h" line="523"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="clock" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="1203">a #GstClock</doc>
+ <type name="Clock" c:type="GstClock*"/>
+ </instance-parameter>
+ <parameter name="internal"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="1204">a location to store the internal time</doc>
+ <type name="ClockTime" c:type="GstClockTime*"/>
+ </parameter>
+ <parameter name="external"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="1205">a location to store the external time</doc>
+ <type name="ClockTime" c:type="GstClockTime*"/>
+ </parameter>
+ <parameter name="rate_num"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="1206">a location to store the rate numerator</doc>
+ <type name="ClockTime" c:type="GstClockTime*"/>
+ </parameter>
+ <parameter name="rate_denom"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="1207">a location to store the rate denominator</doc>
+ <type name="ClockTime" c:type="GstClockTime*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_internal_time"
+ c:identifier="gst_clock_get_internal_time">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="1059">Gets the current internal time of the given clock. The time is returned
+unadjusted for the offset and the rate.</doc>
+ <source-position filename="gst/gstclock.h" line="556"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="1066">the internal time of the clock. Or GST_CLOCK_TIME_NONE when
+given invalid input.
+
+MT safe.</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="clock" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="1061">a #GstClock to query</doc>
+ <type name="Clock" c:type="GstClock*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_master" c:identifier="gst_clock_get_master">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="1359">Get the master clock that @clock is slaved to or %NULL when the clock is
+not slaved to any master clock.</doc>
+ <source-position filename="gst/gstclock.h" line="534"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="1366">a master #GstClock or %NULL
+ when this clock is not slaved to a master clock. Unref after
+ usage.
+
+MT safe.</doc>
+ <type name="Clock" c:type="GstClock*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="clock" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="1361">a #GstClock</doc>
+ <type name="Clock" c:type="GstClock*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_resolution" c:identifier="gst_clock_get_resolution">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="860">Get the accuracy of the clock. The accuracy of the clock is the granularity
+of the values returned by gst_clock_get_time().</doc>
+ <source-position filename="gst/gstclock.h" line="512"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="867">the resolution of the clock in units of #GstClockTime.
+
+MT safe.</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="clock" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="862">a #GstClock</doc>
+ <type name="Clock" c:type="GstClock*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_time" c:identifier="gst_clock_get_time">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="1105">Gets the current time of the given clock. The time is always
+monotonically increasing and adjusted according to the current
+offset and rate.</doc>
+ <source-position filename="gst/gstclock.h" line="515"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="1113">the time of the clock. Or GST_CLOCK_TIME_NONE when
+given invalid input.
+
+MT safe.</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="clock" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="1107">a #GstClock to query</doc>
+ <type name="Clock" c:type="GstClock*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_timeout" c:identifier="gst_clock_get_timeout">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="1597">Get the amount of time that master and slave clocks are sampled.</doc>
+ <source-position filename="gst/gstclock.h" line="540"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="1603">the interval between samples.</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="clock" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="1599">a #GstClock</doc>
+ <type name="Clock" c:type="GstClock*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="is_synced"
+ c:identifier="gst_clock_is_synced"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="1738">Checks if the clock is currently synced.
+
+This returns if GST_CLOCK_FLAG_NEEDS_STARTUP_SYNC is not set on the clock.</doc>
+ <source-position filename="gst/gstclock.h" line="584"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="1746">%TRUE if the clock is currently synced</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="clock" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="1740">a GstClock</doc>
+ <type name="Clock" c:type="GstClock*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="new_periodic_id" c:identifier="gst_clock_new_periodic_id">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="429">Get an ID from @clock to trigger a periodic notification.
+The periodic notifications will start at time @start_time and
+will then be fired with the given @interval. @id should be unreffed
+after usage.
+
+Free-function: gst_clock_id_unref</doc>
+ <source-position filename="gst/gstclock.h" line="597"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="442">a #GstClockID that can be used to request the
+ time notification.
+
+MT safe.</doc>
+ <type name="ClockID" c:type="GstClockID"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="clock" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="431">The #GstClockID to get a periodic notification id from</doc>
+ <type name="Clock" c:type="GstClock*"/>
+ </instance-parameter>
+ <parameter name="start_time" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="432">the requested start time</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="interval" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="433">the requested interval</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="new_single_shot_id"
+ c:identifier="gst_clock_new_single_shot_id">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="404">Get a #GstClockID from @clock to trigger a single shot
+notification at the requested time. The single shot id should be
+unreffed after usage.
+
+Free-function: gst_clock_id_unref</doc>
+ <source-position filename="gst/gstclock.h" line="594"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="415">a #GstClockID that can be used to request the
+ time notification.
+
+MT safe.</doc>
+ <type name="ClockID" c:type="GstClockID"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="clock" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="406">The #GstClockID to get a single shot notification from</doc>
+ <type name="Clock" c:type="GstClock*"/>
+ </instance-parameter>
+ <parameter name="time" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="407">the requested time</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="periodic_id_reinit"
+ c:identifier="gst_clock_periodic_id_reinit">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="317">Reinitializes the provided periodic @id to the provided start time and
+interval. Does not modify the reference count.</doc>
+ <source-position filename="gst/gstclock.h" line="639"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="327">%TRUE if the GstClockID could be reinitialized to the provided
+@time, else %FALSE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="clock" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="319">a #GstClock</doc>
+ <type name="Clock" c:type="GstClock*"/>
+ </instance-parameter>
+ <parameter name="id" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="320">a #GstClockID</doc>
+ <type name="ClockID" c:type="GstClockID"/>
+ </parameter>
+ <parameter name="start_time" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="321">the requested start time</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="interval" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="322">the requested interval</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_calibration" c:identifier="gst_clock_set_calibration">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="1142">Adjusts the rate and time of @clock. A rate of 1/1 is the normal speed of
+the clock. Values bigger than 1/1 make the clock go faster.
+
+@internal and @external are calibration parameters that arrange that
+gst_clock_get_time() should have been @external at internal time @internal.
+This internal time should not be in the future; that is, it should be less
+than the value of gst_clock_get_internal_time() when this function is called.
+
+Subsequent calls to gst_clock_get_time() will return clock times computed as
+follows:
+
+|[
+ time = (internal_time - internal) * rate_num / rate_denom + external
+]|
+
+This formula is implemented in gst_clock_adjust_unlocked(). Of course, it
+tries to do the integer arithmetic as precisely as possible.
+
+Note that gst_clock_get_time() always returns increasing values so when you
+move the clock backwards, gst_clock_get_time() will report the previous value
+until the clock catches up.
+
+MT safe.</doc>
+ <source-position filename="gst/gstclock.h" line="518"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="clock" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="1144">a #GstClock to calibrate</doc>
+ <type name="Clock" c:type="GstClock*"/>
+ </instance-parameter>
+ <parameter name="internal" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="1145">a reference internal time</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="external" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="1146">a reference external time</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="rate_num" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="1147">the numerator of the rate of the clock relative to its
+ internal time</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="rate_denom" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="1149">the denominator of the rate of the clock</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_master" c:identifier="gst_clock_set_master">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="1271">Set @master as the master clock for @clock. @clock will be automatically
+calibrated so that gst_clock_get_time() reports the same time as the
+master clock.
+
+A clock provider that slaves its clock to a master can get the current
+calibration values with gst_clock_get_calibration().
+
+@master can be %NULL in which case @clock will not be slaved anymore. It will
+however keep reporting its time adjusted with the last configured rate
+and time offsets.</doc>
+ <source-position filename="gst/gstclock.h" line="531"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="1287">%TRUE if the clock is capable of being slaved to a master clock.
+Trying to set a master on a clock without the
+#GST_CLOCK_FLAG_CAN_SET_MASTER flag will make this function return %FALSE.
+
+MT safe.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="clock" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="1273">a #GstClock</doc>
+ <type name="Clock" c:type="GstClock*"/>
+ </instance-parameter>
+ <parameter name="master"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="1274">a master #GstClock</doc>
+ <type name="Clock" c:type="GstClock*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_resolution" c:identifier="gst_clock_set_resolution">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="828">Set the accuracy of the clock. Some clocks have the possibility to operate
+with different accuracy at the expense of more resource usage. There is
+normally no need to change the default resolution of a clock. The resolution
+of a clock can only be changed if the clock has the
+#GST_CLOCK_FLAG_CAN_SET_RESOLUTION flag set.</doc>
+ <source-position filename="gst/gstclock.h" line="509"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="839">the new resolution of the clock.</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="clock" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="830">a #GstClock</doc>
+ <type name="Clock" c:type="GstClock*"/>
+ </instance-parameter>
+ <parameter name="resolution" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="831">The resolution to set</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_synced"
+ c:identifier="gst_clock_set_synced"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="1759">Sets @clock to synced and emits the GstClock::synced signal, and wakes up any
+thread waiting in gst_clock_wait_for_sync().
+
+This function must only be called if GST_CLOCK_FLAG_NEEDS_STARTUP_SYNC
+is set on the clock, and is intended to be called by subclasses only.</doc>
+ <source-position filename="gst/gstclock.h" line="589"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="clock" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="1761">a GstClock</doc>
+ <type name="Clock" c:type="GstClock*"/>
+ </instance-parameter>
+ <parameter name="synced" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="1762">if the clock is synced</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_timeout" c:identifier="gst_clock_set_timeout">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="1579">Set the amount of time, in nanoseconds, to sample master and slave
+clocks</doc>
+ <source-position filename="gst/gstclock.h" line="537"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="clock" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="1581">a #GstClock</doc>
+ <type name="Clock" c:type="GstClock*"/>
+ </instance-parameter>
+ <parameter name="timeout" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="1582">a timeout</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="single_shot_id_reinit"
+ c:identifier="gst_clock_single_shot_id_reinit">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="297">Reinitializes the provided single shot @id to the provided time. Does not
+modify the reference count.</doc>
+ <source-position filename="gst/gstclock.h" line="635"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="306">%TRUE if the GstClockID could be reinitialized to the provided
+@time, else %FALSE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="clock" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="299">a #GstClock</doc>
+ <type name="Clock" c:type="GstClock*"/>
+ </instance-parameter>
+ <parameter name="id" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="300">a #GstClockID</doc>
+ <type name="ClockID" c:type="GstClockID"/>
+ </parameter>
+ <parameter name="time" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="301">The requested time.</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="unadjust_unlocked"
+ c:identifier="gst_clock_unadjust_unlocked">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="1029">Converts the given @external clock time to the internal time of @clock,
+using the rate and reference time set with gst_clock_set_calibration().
+This function should be called with the clock's OBJECT_LOCK held and
+is mainly used by clock subclasses.
+
+This function is the reverse of gst_clock_adjust_unlocked().</doc>
+ <source-position filename="gst/gstclock.h" line="576"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="1041">the internal time of the clock corresponding to @external.</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="clock" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="1031">a #GstClock to use</doc>
+ <type name="Clock" c:type="GstClock*"/>
+ </instance-parameter>
+ <parameter name="external" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="1032">an external clock time</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="unadjust_with_calibration"
+ c:identifier="gst_clock_unadjust_with_calibration"
+ version="1.8">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="980">Converts the given @external_target clock time to the internal time,
+using the passed calibration parameters. This function performs the
+same calculation as gst_clock_unadjust_unlocked() when called using the
+current calibration parameters.
+
+Note: The @clock parameter is unused and can be NULL</doc>
+ <source-position filename="gst/gstclock.h" line="569"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="997">the converted time of the clock.</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="clock"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="982">a #GstClock to use</doc>
+ <type name="Clock" c:type="GstClock*"/>
+ </instance-parameter>
+ <parameter name="external_target" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="983">a clock time</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="cinternal" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="984">a reference internal time</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="cexternal" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="985">a reference external time</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="cnum" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="986">the numerator of the rate of the clock relative to its
+ internal time</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="cdenom" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="988">the denominator of the rate of the clock</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="wait_for_sync"
+ c:identifier="gst_clock_wait_for_sync"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="1686">Waits until @clock is synced for reporting the current time. If @timeout
+is %GST_CLOCK_TIME_NONE it will wait forever, otherwise it will time out
+after @timeout nanoseconds.
+
+For asynchronous waiting, the GstClock::synced signal can be used.
+
+This returns immediately with TRUE if GST_CLOCK_FLAG_NEEDS_STARTUP_SYNC
+is not set on the clock, or if the clock is already synced.</doc>
+ <source-position filename="gst/gstclock.h" line="581"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="1700">%TRUE if waiting was successful, or %FALSE on timeout</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="clock" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="1688">a GstClock</doc>
+ <type name="Clock" c:type="GstClock*"/>
+ </instance-parameter>
+ <parameter name="timeout" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="1689">timeout for waiting or %GST_CLOCK_TIME_NONE</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="timeout" writable="1" transfer-ownership="none">
+ <type name="guint64" c:type="guint64"/>
+ </property>
+ <property name="window-size" writable="1" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </property>
+ <property name="window-threshold" writable="1" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </property>
+ <field name="object">
+ <type name="Object" c:type="GstObject"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="ClockPrivate" c:type="GstClockPrivate*"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <glib:signal name="synced" when="last" version="1.6">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="748">Signaled on clocks with GST_CLOCK_FLAG_NEEDS_STARTUP_SYNC set once
+the clock is synchronized, or when it completely lost synchronization.
+This signal will not be emitted on clocks without the flag.
+
+This signal will be emitted from an arbitrary thread, most likely not
+the application's main thread.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="synced" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="751">if the clock is synced now</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ </class>
+ <callback name="ClockCallback" c:type="GstClockCallback">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.h"
+ line="285">The function prototype of the callback.</doc>
+ <source-position filename="gst/gstclock.h" line="296"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.h"
+ line="294">%TRUE or %FALSE (currently unused)</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="clock" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.h"
+ line="287">The clock that triggered the callback</doc>
+ <type name="Clock" c:type="GstClock*"/>
+ </parameter>
+ <parameter name="time" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.h"
+ line="288">The time it was triggered</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="id" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.h"
+ line="289">The #GstClockID that expired</doc>
+ <type name="ClockID" c:type="GstClockID"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1"
+ closure="3">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.h"
+ line="290">user data passed in the gst_clock_id_wait_async() function</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <record name="ClockClass"
+ c:type="GstClockClass"
+ glib:is-gtype-struct-for="Clock">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.h"
+ line="467">GStreamer clock class. Override the vmethods to implement the clock
+functionality.</doc>
+ <source-position filename="gst/gstclock.h" line="503"/>
+ <field name="parent_class">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.h"
+ line="469">the parent class structure</doc>
+ <type name="ObjectClass" c:type="GstObjectClass"/>
+ </field>
+ <field name="change_resolution">
+ <callback name="change_resolution">
+ <source-position filename="gst/gstclock.h" line="488"/>
+ <return-value transfer-ownership="none">
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ <parameters>
+ <parameter name="clock" transfer-ownership="none">
+ <type name="Clock" c:type="GstClock*"/>
+ </parameter>
+ <parameter name="old_resolution" transfer-ownership="none">
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="new_resolution" transfer-ownership="none">
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="get_resolution">
+ <callback name="get_resolution">
+ <source-position filename="gst/gstclock.h" line="491"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="867">the resolution of the clock in units of #GstClockTime.
+
+MT safe.</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ <parameters>
+ <parameter name="clock" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="862">a #GstClock</doc>
+ <type name="Clock" c:type="GstClock*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="get_internal_time">
+ <callback name="get_internal_time">
+ <source-position filename="gst/gstclock.h" line="493"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="1066">the internal time of the clock. Or GST_CLOCK_TIME_NONE when
+given invalid input.
+
+MT safe.</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ <parameters>
+ <parameter name="clock" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.c"
+ line="1061">a #GstClock to query</doc>
+ <type name="Clock" c:type="GstClock*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="wait">
+ <callback name="wait">
+ <source-position filename="gst/gstclock.h" line="496"/>
+ <return-value transfer-ownership="none">
+ <type name="ClockReturn" c:type="GstClockReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="clock" transfer-ownership="none">
+ <type name="Clock" c:type="GstClock*"/>
+ </parameter>
+ <parameter name="entry" transfer-ownership="none">
+ <type name="ClockEntry" c:type="GstClockEntry*"/>
+ </parameter>
+ <parameter name="jitter" transfer-ownership="none">
+ <type name="ClockTimeDiff" c:type="GstClockTimeDiff*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="wait_async">
+ <callback name="wait_async">
+ <source-position filename="gst/gstclock.h" line="498"/>
+ <return-value transfer-ownership="none">
+ <type name="ClockReturn" c:type="GstClockReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="clock" transfer-ownership="none">
+ <type name="Clock" c:type="GstClock*"/>
+ </parameter>
+ <parameter name="entry" transfer-ownership="none">
+ <type name="ClockEntry" c:type="GstClockEntry*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="unschedule">
+ <callback name="unschedule">
+ <source-position filename="gst/gstclock.h" line="499"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="clock" transfer-ownership="none">
+ <type name="Clock" c:type="GstClock*"/>
+ </parameter>
+ <parameter name="entry" transfer-ownership="none">
+ <type name="ClockEntry" c:type="GstClockEntry*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="ClockEntry" c:type="GstClockEntry">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.h"
+ line="383">All pending timeouts or periodic notifies are converted into
+an entry.
+Note that GstClockEntry should be treated as an opaque structure. It must
+not be extended or allocated using a custom allocator.</doc>
+ <source-position filename="gst/gstclock.h" line="414"/>
+ <field name="refcount" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.h"
+ line="385">reference counter (read-only)</doc>
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="clock" writable="1">
+ <type name="Clock" c:type="GstClock*"/>
+ </field>
+ <field name="type" writable="1">
+ <type name="ClockEntryType" c:type="GstClockEntryType"/>
+ </field>
+ <field name="time" writable="1">
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </field>
+ <field name="interval" writable="1">
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </field>
+ <field name="status" writable="1">
+ <type name="ClockReturn" c:type="GstClockReturn"/>
+ </field>
+ <field name="func" writable="1">
+ <type name="ClockCallback" c:type="GstClockCallback"/>
+ </field>
+ <field name="user_data" writable="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <field name="destroy_data" writable="1">
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </field>
+ <field name="unscheduled" writable="1">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="woken_up" writable="1">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <enumeration name="ClockEntryType"
+ glib:type-name="GstClockEntryType"
+ glib:get-type="gst_clock_entry_type_get_type"
+ c:type="GstClockEntryType">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.h"
+ line="323">The type of the clock entry</doc>
+ <member name="single"
+ value="0"
+ c:identifier="GST_CLOCK_ENTRY_SINGLE"
+ glib:nick="single">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.h"
+ line="325">a single shot timeout</doc>
+ </member>
+ <member name="periodic"
+ value="1"
+ c:identifier="GST_CLOCK_ENTRY_PERIODIC"
+ glib:nick="periodic">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.h"
+ line="326">a periodic timeout request</doc>
+ </member>
+ </enumeration>
+ <bitfield name="ClockFlags"
+ glib:type-name="GstClockFlags"
+ glib:get-type="gst_clock_flags_get_type"
+ c:type="GstClockFlags">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.h"
+ line="418">The capabilities of this clock</doc>
+ <member name="can_do_single_sync"
+ value="16"
+ c:identifier="GST_CLOCK_FLAG_CAN_DO_SINGLE_SYNC"
+ glib:nick="can-do-single-sync">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.h"
+ line="420">clock can do a single sync timeout request</doc>
+ </member>
+ <member name="can_do_single_async"
+ value="32"
+ c:identifier="GST_CLOCK_FLAG_CAN_DO_SINGLE_ASYNC"
+ glib:nick="can-do-single-async">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.h"
+ line="421">clock can do a single async timeout request</doc>
+ </member>
+ <member name="can_do_periodic_sync"
+ value="64"
+ c:identifier="GST_CLOCK_FLAG_CAN_DO_PERIODIC_SYNC"
+ glib:nick="can-do-periodic-sync">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.h"
+ line="422">clock can do sync periodic timeout requests</doc>
+ </member>
+ <member name="can_do_periodic_async"
+ value="128"
+ c:identifier="GST_CLOCK_FLAG_CAN_DO_PERIODIC_ASYNC"
+ glib:nick="can-do-periodic-async">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.h"
+ line="423">clock can do async periodic timeout callbacks</doc>
+ </member>
+ <member name="can_set_resolution"
+ value="256"
+ c:identifier="GST_CLOCK_FLAG_CAN_SET_RESOLUTION"
+ glib:nick="can-set-resolution">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.h"
+ line="424">clock's resolution can be changed</doc>
+ </member>
+ <member name="can_set_master"
+ value="512"
+ c:identifier="GST_CLOCK_FLAG_CAN_SET_MASTER"
+ glib:nick="can-set-master">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.h"
+ line="425">clock can be slaved to a master clock</doc>
+ </member>
+ <member name="needs_startup_sync"
+ value="1024"
+ c:identifier="GST_CLOCK_FLAG_NEEDS_STARTUP_SYNC"
+ glib:nick="needs-startup-sync">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.h"
+ line="426">clock needs to be synced before it can be used
+ (Since: 1.6)</doc>
+ </member>
+ <member name="last"
+ value="4096"
+ c:identifier="GST_CLOCK_FLAG_LAST"
+ glib:nick="last">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.h"
+ line="428">subclasses can add additional flags starting from this flag</doc>
+ </member>
+ </bitfield>
+ <record name="ClockPrivate" c:type="GstClockPrivate" disguised="1">
+ <source-position filename="gst/gstclock.h" line="282"/>
+ </record>
+ <enumeration name="ClockReturn"
+ glib:type-name="GstClockReturn"
+ glib:get-type="gst_clock_return_get_type"
+ c:type="GstClockReturn">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.h"
+ line="298">The return value of a clock operation.</doc>
+ <member name="ok" value="0" c:identifier="GST_CLOCK_OK" glib:nick="ok">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.h"
+ line="300">The operation succeeded.</doc>
+ </member>
+ <member name="early"
+ value="1"
+ c:identifier="GST_CLOCK_EARLY"
+ glib:nick="early">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.h"
+ line="301">The operation was scheduled too late.</doc>
+ </member>
+ <member name="unscheduled"
+ value="2"
+ c:identifier="GST_CLOCK_UNSCHEDULED"
+ glib:nick="unscheduled">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.h"
+ line="302">The clockID was unscheduled</doc>
+ </member>
+ <member name="busy"
+ value="3"
+ c:identifier="GST_CLOCK_BUSY"
+ glib:nick="busy">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.h"
+ line="303">The ClockID is busy</doc>
+ </member>
+ <member name="badtime"
+ value="4"
+ c:identifier="GST_CLOCK_BADTIME"
+ glib:nick="badtime">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.h"
+ line="304">A bad time was provided to a function.</doc>
+ </member>
+ <member name="error"
+ value="5"
+ c:identifier="GST_CLOCK_ERROR"
+ glib:nick="error">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.h"
+ line="305">An error occurred</doc>
+ </member>
+ <member name="unsupported"
+ value="6"
+ c:identifier="GST_CLOCK_UNSUPPORTED"
+ glib:nick="unsupported">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.h"
+ line="306">Operation is not supported</doc>
+ </member>
+ <member name="done"
+ value="7"
+ c:identifier="GST_CLOCK_DONE"
+ glib:nick="done">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.h"
+ line="307">The ClockID is done waiting</doc>
+ </member>
+ </enumeration>
+ <enumeration name="ClockType"
+ glib:type-name="GstClockType"
+ glib:get-type="gst_clock_type_get_type"
+ c:type="GstClockType">
+ <doc xml:space="preserve"
+ filename="gst/gstsystemclock.h"
+ line="45">The different kind of clocks.</doc>
+ <member name="realtime"
+ value="0"
+ c:identifier="GST_CLOCK_TYPE_REALTIME"
+ glib:nick="realtime">
+ <doc xml:space="preserve"
+ filename="gst/gstsystemclock.h"
+ line="47">time since Epoch</doc>
+ </member>
+ <member name="monotonic"
+ value="1"
+ c:identifier="GST_CLOCK_TYPE_MONOTONIC"
+ glib:nick="monotonic">
+ <doc xml:space="preserve"
+ filename="gst/gstsystemclock.h"
+ line="48">monotonic time since some unspecified starting
+ point</doc>
+ </member>
+ <member name="other"
+ value="2"
+ c:identifier="GST_CLOCK_TYPE_OTHER"
+ glib:nick="other">
+ <doc xml:space="preserve"
+ filename="gst/gstsystemclock.h"
+ line="50">some other time source is used (Since: 1.0.5)</doc>
+ </member>
+ <member name="tai"
+ value="3"
+ c:identifier="GST_CLOCK_TYPE_TAI"
+ glib:nick="tai">
+ <doc xml:space="preserve"
+ filename="gst/gstsystemclock.h"
+ line="51">time since Epoch, but using International Atomic Time
+ as reference (Since: 1.18)</doc>
+ </member>
+ </enumeration>
+ <record name="Context"
+ c:type="GstContext"
+ version="1.2"
+ glib:type-name="GstContext"
+ glib:get-type="gst_context_get_type"
+ c:symbol-prefix="context">
+ <doc xml:space="preserve"
+ filename="gst/gstcontext.c"
+ line="24">#GstContext is a container object used to store contexts like a device
+context, a display server connection and similar concepts that should
+be shared between multiple elements.
+
+Applications can set a context on a complete pipeline by using
+gst_element_set_context(), which will then be propagated to all
+child elements. Elements can handle these in #GstElementClass.set_context()
+and merge them with the context information they already have.
+
+When an element needs a context it will do the following actions in this
+order until one step succeeds:
+1. Check if the element already has a context
+2. Query downstream with GST_QUERY_CONTEXT for the context
+3. Query upstream with GST_QUERY_CONTEXT for the context
+4. Post a GST_MESSAGE_NEED_CONTEXT message on the bus with the required
+ context types and afterwards check if a usable context was set now
+5. Create a context by itself and post a GST_MESSAGE_HAVE_CONTEXT message
+ on the bus.
+
+Bins will catch GST_MESSAGE_NEED_CONTEXT messages and will set any previously
+known context on the element that asks for it if possible. Otherwise the
+application should provide one if it can.
+
+#GstContext&lt;!-- --&gt;s can be persistent.
+A persistent #GstContext is kept in elements when they reach
+%GST_STATE_NULL, non-persistent ones will be removed.
+Also, a non-persistent context won't override a previous persistent
+context set to an element.</doc>
+ <source-position filename="gst/gstcontext.h" line="31"/>
+ <constructor name="new" c:identifier="gst_context_new" version="1.2">
+ <doc xml:space="preserve"
+ filename="gst/gstcontext.c"
+ line="153">Create a new context.</doc>
+ <source-position filename="gst/gstcontext.h" line="137"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstcontext.c"
+ line="160">The new context.</doc>
+ <type name="Context" c:type="GstContext*"/>
+ </return-value>
+ <parameters>
+ <parameter name="context_type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcontext.c"
+ line="155">Context type</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="persistent" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcontext.c"
+ line="156">Persistent context</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <method name="get_context_type"
+ c:identifier="gst_context_get_context_type"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="gst/gstcontext.c"
+ line="187">Get the type of @context.</doc>
+ <source-position filename="gst/gstcontext.h" line="140"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcontext.c"
+ line="193">The type of the context.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcontext.c"
+ line="189">The #GstContext.</doc>
+ <type name="Context" c:type="const GstContext*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_structure"
+ c:identifier="gst_context_get_structure"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="gst/gstcontext.c"
+ line="226">Access the structure of the context.</doc>
+ <source-position filename="gst/gstcontext.h" line="146"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcontext.c"
+ line="232">The structure of the context. The structure is
+still owned by the context, which means that you should not modify it,
+free it and that the pointer becomes invalid when you free the context.</doc>
+ <type name="Structure" c:type="const GstStructure*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcontext.c"
+ line="228">The #GstContext.</doc>
+ <type name="Context" c:type="const GstContext*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="has_context_type"
+ c:identifier="gst_context_has_context_type"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="gst/gstcontext.c"
+ line="205">Checks if @context has @context_type.</doc>
+ <source-position filename="gst/gstcontext.h" line="143"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcontext.c"
+ line="212">%TRUE if @context has @context_type.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcontext.c"
+ line="207">The #GstContext.</doc>
+ <type name="Context" c:type="const GstContext*"/>
+ </instance-parameter>
+ <parameter name="context_type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcontext.c"
+ line="208">Context type to check.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="is_persistent"
+ c:identifier="gst_context_is_persistent"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="gst/gstcontext.c"
+ line="268">Check if @context is persistent.</doc>
+ <source-position filename="gst/gstcontext.h" line="152"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcontext.c"
+ line="274">%TRUE if the context is persistent.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcontext.c"
+ line="270">The #GstContext.</doc>
+ <type name="Context" c:type="const GstContext*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="writable_structure"
+ c:identifier="gst_context_writable_structure"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="gst/gstcontext.c"
+ line="246">Get a writable version of the structure.</doc>
+ <source-position filename="gst/gstcontext.h" line="149"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstcontext.c"
+ line="252">The structure of the context. The structure is still
+owned by the context, which means that you should not free it and
+that the pointer becomes invalid when you free the context.
+This function checks if @context is writable.</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcontext.c"
+ line="248">The #GstContext.</doc>
+ <type name="Context" c:type="GstContext*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ </record>
+ <class name="ControlBinding"
+ c:symbol-prefix="control_binding"
+ c:type="GstControlBinding"
+ parent="Object"
+ abstract="1"
+ glib:type-name="GstControlBinding"
+ glib:get-type="gst_control_binding_get_type"
+ glib:type-struct="ControlBindingClass">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolbinding.c"
+ line="22">A base class for value mapping objects that attaches control sources to gobject
+properties. Such an object is taking one or more #GstControlSource instances,
+combines them and maps the resulting value to the type and value range of the
+bound property.</doc>
+ <source-position filename="gst/gstcontrolbinding.h" line="112"/>
+ <virtual-method name="get_g_value_array" invoker="get_g_value_array">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolbinding.c"
+ line="366">Gets a number of #GValues for the given controlled property starting at the
+requested time. The array @values need to hold enough space for @n_values of
+#GValue.
+
+This function is useful if one wants to e.g. draw a graph of the control
+curve or apply a control curve sample by sample.</doc>
+ <source-position filename="gst/gstcontrolbinding.h" line="108"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolbinding.c"
+ line="381">%TRUE if the given array could be filled, %FALSE otherwise</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="binding" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolbinding.c"
+ line="368">the control binding</doc>
+ <type name="ControlBinding" c:type="GstControlBinding*"/>
+ </instance-parameter>
+ <parameter name="timestamp" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolbinding.c"
+ line="369">the time that should be processed</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="interval" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolbinding.c"
+ line="370">the time spacing between subsequent values</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="n_values" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolbinding.c"
+ line="371">the number of values</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="values" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolbinding.c"
+ line="372">array to put control-values in</doc>
+ <array length="2" zero-terminated="0" c:type="GValue*">
+ <type name="GObject.Value" c:type="GValue"/>
+ </array>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="get_value" invoker="get_value">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolbinding.c"
+ line="277">Gets the value for the given controlled property at the requested time.</doc>
+ <source-position filename="gst/gstcontrolbinding.h" line="106"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolbinding.c"
+ line="284">the GValue of the property at the given time,
+or %NULL if the property isn't controlled.</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="binding" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolbinding.c"
+ line="279">the control binding</doc>
+ <type name="ControlBinding" c:type="GstControlBinding*"/>
+ </instance-parameter>
+ <parameter name="timestamp" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolbinding.c"
+ line="280">the time the control-change should be read from</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="get_value_array"
+ invoker="get_value_array"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolbinding.c"
+ line="307">Gets a number of values for the given controlled property starting at the
+requested time. The array @values need to hold enough space for @n_values of
+the same type as the objects property's type.
+
+This function is useful if one wants to e.g. draw a graph of the control
+curve or apply a control curve sample by sample.
+
+The values are unboxed and ready to be used. The similar function
+gst_control_binding_get_g_value_array() returns the array as #GValues and is
+more suitable for bindings.</doc>
+ <source-position filename="gst/gstcontrolbinding.h" line="107"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolbinding.c"
+ line="326">%TRUE if the given array could be filled, %FALSE otherwise</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="binding" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolbinding.c"
+ line="309">the control binding</doc>
+ <type name="ControlBinding" c:type="GstControlBinding*"/>
+ </instance-parameter>
+ <parameter name="timestamp" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolbinding.c"
+ line="310">the time that should be processed</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="interval" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolbinding.c"
+ line="311">the time spacing between subsequent values</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="n_values" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolbinding.c"
+ line="312">the number of values</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="values"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolbinding.c"
+ line="313">array to put control-values in</doc>
+ <array length="2" zero-terminated="0" c:type="gpointer">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="sync_values" invoker="sync_values">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolbinding.c"
+ line="239">Sets the property of the @object, according to the #GstControlSources that
+handle them and for the given timestamp.
+
+If this function fails, it is most likely the application developers fault.
+Most probably the control sources are not setup correctly.</doc>
+ <source-position filename="gst/gstcontrolbinding.h" line="105"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolbinding.c"
+ line="252">%TRUE if the controller value could be applied to the object
+property, %FALSE otherwise</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="binding" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolbinding.c"
+ line="241">the control binding</doc>
+ <type name="ControlBinding" c:type="GstControlBinding*"/>
+ </instance-parameter>
+ <parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolbinding.c"
+ line="242">the object that has controlled properties</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="timestamp" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolbinding.c"
+ line="243">the time that should be processed</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="last_sync" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolbinding.c"
+ line="244">the last time this was called</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <method name="get_g_value_array"
+ c:identifier="gst_control_binding_get_g_value_array">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolbinding.c"
+ line="366">Gets a number of #GValues for the given controlled property starting at the
+requested time. The array @values need to hold enough space for @n_values of
+#GValue.
+
+This function is useful if one wants to e.g. draw a graph of the control
+curve or apply a control curve sample by sample.</doc>
+ <source-position filename="gst/gstcontrolbinding.h" line="131"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolbinding.c"
+ line="381">%TRUE if the given array could be filled, %FALSE otherwise</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="binding" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolbinding.c"
+ line="368">the control binding</doc>
+ <type name="ControlBinding" c:type="GstControlBinding*"/>
+ </instance-parameter>
+ <parameter name="timestamp" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolbinding.c"
+ line="369">the time that should be processed</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="interval" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolbinding.c"
+ line="370">the time spacing between subsequent values</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="n_values" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolbinding.c"
+ line="371">the number of values</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="values" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolbinding.c"
+ line="372">array to put control-values in</doc>
+ <array length="2" zero-terminated="0" c:type="GValue*">
+ <type name="GObject.Value" c:type="GValue"/>
+ </array>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_value" c:identifier="gst_control_binding_get_value">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolbinding.c"
+ line="277">Gets the value for the given controlled property at the requested time.</doc>
+ <source-position filename="gst/gstcontrolbinding.h" line="125"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolbinding.c"
+ line="284">the GValue of the property at the given time,
+or %NULL if the property isn't controlled.</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="binding" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolbinding.c"
+ line="279">the control binding</doc>
+ <type name="ControlBinding" c:type="GstControlBinding*"/>
+ </instance-parameter>
+ <parameter name="timestamp" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolbinding.c"
+ line="280">the time the control-change should be read from</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_value_array"
+ c:identifier="gst_control_binding_get_value_array"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolbinding.c"
+ line="307">Gets a number of values for the given controlled property starting at the
+requested time. The array @values need to hold enough space for @n_values of
+the same type as the objects property's type.
+
+This function is useful if one wants to e.g. draw a graph of the control
+curve or apply a control curve sample by sample.
+
+The values are unboxed and ready to be used. The similar function
+gst_control_binding_get_g_value_array() returns the array as #GValues and is
+more suitable for bindings.</doc>
+ <source-position filename="gst/gstcontrolbinding.h" line="128"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolbinding.c"
+ line="326">%TRUE if the given array could be filled, %FALSE otherwise</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="binding" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolbinding.c"
+ line="309">the control binding</doc>
+ <type name="ControlBinding" c:type="GstControlBinding*"/>
+ </instance-parameter>
+ <parameter name="timestamp" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolbinding.c"
+ line="310">the time that should be processed</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="interval" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolbinding.c"
+ line="311">the time spacing between subsequent values</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="n_values" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolbinding.c"
+ line="312">the number of values</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="values" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolbinding.c"
+ line="313">array to put control-values in</doc>
+ <array length="2" zero-terminated="0" c:type="gpointer">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="is_disabled"
+ c:identifier="gst_control_binding_is_disabled">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolbinding.c"
+ line="481">Check if the control binding is disabled.</doc>
+ <source-position filename="gst/gstcontrolbinding.h" line="137"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolbinding.c"
+ line="487">%TRUE if the binding is inactive</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="binding" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolbinding.c"
+ line="483">the control binding</doc>
+ <type name="ControlBinding" c:type="GstControlBinding*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="set_disabled"
+ c:identifier="gst_control_binding_set_disabled">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolbinding.c"
+ line="464">This function is used to disable a control binding for some time, i.e.
+gst_object_sync_values() will do nothing.</doc>
+ <source-position filename="gst/gstcontrolbinding.h" line="134"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="binding" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolbinding.c"
+ line="466">the control binding</doc>
+ <type name="ControlBinding" c:type="GstControlBinding*"/>
+ </instance-parameter>
+ <parameter name="disabled" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolbinding.c"
+ line="467">boolean that specifies whether to disable the controller
+or not.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="sync_values"
+ c:identifier="gst_control_binding_sync_values">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolbinding.c"
+ line="239">Sets the property of the @object, according to the #GstControlSources that
+handle them and for the given timestamp.
+
+If this function fails, it is most likely the application developers fault.
+Most probably the control sources are not setup correctly.</doc>
+ <source-position filename="gst/gstcontrolbinding.h" line="122"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolbinding.c"
+ line="252">%TRUE if the controller value could be applied to the object
+property, %FALSE otherwise</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="binding" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolbinding.c"
+ line="241">the control binding</doc>
+ <type name="ControlBinding" c:type="GstControlBinding*"/>
+ </instance-parameter>
+ <parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolbinding.c"
+ line="242">the object that has controlled properties</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="timestamp" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolbinding.c"
+ line="243">the time that should be processed</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="last_sync" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolbinding.c"
+ line="244">the last time this was called</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="name"
+ writable="1"
+ construct-only="1"
+ transfer-ownership="none">
+ <type name="utf8" c:type="gchar*"/>
+ </property>
+ <property name="object"
+ writable="1"
+ construct-only="1"
+ transfer-ownership="none">
+ <type name="Object"/>
+ </property>
+ <field name="parent">
+ <type name="Object" c:type="GstObject"/>
+ </field>
+ <field name="name">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolbinding.h"
+ line="59">name of the property of this binding</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="pspec">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolbinding.h"
+ line="60">#GParamSpec for this property</doc>
+ <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
+ </field>
+ <field name="object" readable="0" private="1">
+ <type name="Object" c:type="GstObject*"/>
+ </field>
+ <field name="disabled" readable="0" private="1">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <union name="ABI" c:type="ABI">
+ <source-position filename="gst/gstcontrolbinding.h" line="85"/>
+ <record name="abi" c:type="abi">
+ <source-position filename="gst/gstcontrolbinding.h" line="83"/>
+ <field name="priv" writable="1">
+ <type name="ControlBindingPrivate"
+ c:type="GstControlBindingPrivate*"/>
+ </field>
+ </record>
+ <field name="_gst_reserved" writable="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </union>
+ </class>
+ <record name="ControlBindingClass"
+ c:type="GstControlBindingClass"
+ glib:is-gtype-struct-for="ControlBinding">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolbinding.h"
+ line="88">The class structure of #GstControlBinding.</doc>
+ <source-position filename="gst/gstcontrolbinding.h" line="112"/>
+ <field name="parent_class">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolbinding.h"
+ line="90">Parent class</doc>
+ <type name="ObjectClass" c:type="GstObjectClass"/>
+ </field>
+ <field name="sync_values">
+ <callback name="sync_values">
+ <source-position filename="gst/gstcontrolbinding.h" line="105"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolbinding.c"
+ line="252">%TRUE if the controller value could be applied to the object
+property, %FALSE otherwise</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="binding" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolbinding.c"
+ line="241">the control binding</doc>
+ <type name="ControlBinding" c:type="GstControlBinding*"/>
+ </parameter>
+ <parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolbinding.c"
+ line="242">the object that has controlled properties</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="timestamp" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolbinding.c"
+ line="243">the time that should be processed</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="last_sync" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolbinding.c"
+ line="244">the last time this was called</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="get_value">
+ <callback name="get_value">
+ <source-position filename="gst/gstcontrolbinding.h" line="106"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolbinding.c"
+ line="284">the GValue of the property at the given time,
+or %NULL if the property isn't controlled.</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </return-value>
+ <parameters>
+ <parameter name="binding" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolbinding.c"
+ line="279">the control binding</doc>
+ <type name="ControlBinding" c:type="GstControlBinding*"/>
+ </parameter>
+ <parameter name="timestamp" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolbinding.c"
+ line="280">the time the control-change should be read from</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="get_value_array" introspectable="0">
+ <callback name="get_value_array" introspectable="0">
+ <source-position filename="gst/gstcontrolbinding.h" line="107"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolbinding.c"
+ line="326">%TRUE if the given array could be filled, %FALSE otherwise</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="binding" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolbinding.c"
+ line="309">the control binding</doc>
+ <type name="ControlBinding" c:type="GstControlBinding*"/>
+ </parameter>
+ <parameter name="timestamp" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolbinding.c"
+ line="310">the time that should be processed</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="interval" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolbinding.c"
+ line="311">the time spacing between subsequent values</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="n_values" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolbinding.c"
+ line="312">the number of values</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="values"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolbinding.c"
+ line="313">array to put control-values in</doc>
+ <array length="3" zero-terminated="0" c:type="gpointer">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="get_g_value_array">
+ <callback name="get_g_value_array">
+ <source-position filename="gst/gstcontrolbinding.h" line="108"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolbinding.c"
+ line="381">%TRUE if the given array could be filled, %FALSE otherwise</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="binding" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolbinding.c"
+ line="368">the control binding</doc>
+ <type name="ControlBinding" c:type="GstControlBinding*"/>
+ </parameter>
+ <parameter name="timestamp" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolbinding.c"
+ line="369">the time that should be processed</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="interval" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolbinding.c"
+ line="370">the time spacing between subsequent values</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="n_values" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolbinding.c"
+ line="371">the number of values</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="values" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolbinding.c"
+ line="372">array to put control-values in</doc>
+ <array length="3" zero-terminated="0" c:type="GValue*">
+ <type name="GObject.Value" c:type="GValue"/>
+ </array>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <callback name="ControlBindingConvert" c:type="GstControlBindingConvert">
+ <attribute name="doc.skip" value="true"/>
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolbinding.h"
+ line="51">FIXME(2.0): remove, this is unused</doc>
+ <source-position filename="gst/gstcontrolbinding.h" line="55"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="binding" transfer-ownership="none">
+ <type name="ControlBinding" c:type="GstControlBinding*"/>
+ </parameter>
+ <parameter name="src_value" transfer-ownership="none">
+ <type name="gdouble" c:type="gdouble"/>
+ </parameter>
+ <parameter name="dest_value" transfer-ownership="none">
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <record name="ControlBindingPrivate"
+ c:type="GstControlBindingPrivate"
+ disguised="1">
+ <source-position filename="gst/gstcontrolbinding.h" line="47"/>
+ </record>
+ <class name="ControlSource"
+ c:symbol-prefix="control_source"
+ c:type="GstControlSource"
+ parent="Object"
+ abstract="1"
+ glib:type-name="GstControlSource"
+ glib:get-type="gst_control_source_get_type"
+ glib:type-struct="ControlSourceClass">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolsource.c"
+ line="23">The #GstControlSource is a base class for control value sources that could
+be used to get timestamp-value pairs. A control source essentially is a
+function over time.
+
+A #GstControlSource is used by first getting an instance of a specific
+control-source, creating a binding for the control-source to the target property
+of the element and then adding the binding to the element. The binding will
+convert the data types and value range to fit to the bound property.
+
+For implementing a new #GstControlSource one has to implement
+#GstControlSourceGetValue and #GstControlSourceGetValueArray functions.
+These are then used by gst_control_source_get_value() and
+gst_control_source_get_value_array() to get values for specific timestamps.</doc>
+ <source-position filename="gst/gstcontrolsource.h" line="126"/>
+ <method name="control_source_get_value"
+ c:identifier="gst_control_source_get_value">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolsource.c"
+ line="72">Gets the value for this #GstControlSource at a given timestamp.</doc>
+ <source-position filename="gst/gstcontrolsource.h" line="134"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolsource.c"
+ line="80">%FALSE if the value couldn't be returned, %TRUE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolsource.c"
+ line="74">the #GstControlSource object</doc>
+ <type name="ControlSource" c:type="GstControlSource*"/>
+ </instance-parameter>
+ <parameter name="timestamp" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolsource.c"
+ line="75">the time for which the value should be returned</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="value"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolsource.c"
+ line="76">the value</doc>
+ <type name="gdouble" c:type="gdouble*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="control_source_get_value_array"
+ c:identifier="gst_control_source_get_value_array">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolsource.c"
+ line="96">Gets an array of values for for this #GstControlSource. Values that are
+undefined contain NANs.</doc>
+ <source-position filename="gst/gstcontrolsource.h" line="137"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolsource.c"
+ line="107">%TRUE if the given array could be filled, %FALSE otherwise</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolsource.c"
+ line="98">the #GstControlSource object</doc>
+ <type name="ControlSource" c:type="GstControlSource*"/>
+ </instance-parameter>
+ <parameter name="timestamp" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolsource.c"
+ line="99">the first timestamp</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="interval" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolsource.c"
+ line="100">the time steps</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="n_values" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolsource.c"
+ line="101">the number of values to fetch</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="values" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolsource.c"
+ line="102">array to put control-values in</doc>
+ <array length="2" zero-terminated="0" c:type="gdouble*">
+ <type name="gdouble" c:type="gdouble"/>
+ </array>
+ </parameter>
+ </parameters>
+ </method>
+ <field name="parent">
+ <type name="Object" c:type="GstObject"/>
+ </field>
+ <field name="get_value">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolsource.h"
+ line="97">Function for returning a value for a given timestamp</doc>
+ <type name="ControlSourceGetValue" c:type="GstControlSourceGetValue"/>
+ </field>
+ <field name="get_value_array">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolsource.h"
+ line="98">Function for returning a values array for a given timestamp</doc>
+ <type name="ControlSourceGetValueArray"
+ c:type="GstControlSourceGetValueArray"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="ControlSourceClass"
+ c:type="GstControlSourceClass"
+ glib:is-gtype-struct-for="ControlSource">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolsource.h"
+ line="113">The class structure of #GstControlSource.</doc>
+ <source-position filename="gst/gstcontrolsource.h" line="126"/>
+ <field name="parent_class">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolsource.h"
+ line="115">Parent class</doc>
+ <type name="ObjectClass" c:type="GstObjectClass"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <callback name="ControlSourceGetValue" c:type="GstControlSourceGetValue">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolsource.h"
+ line="65">Function for returning a value for a given timestamp.</doc>
+ <source-position filename="gst/gstcontrolsource.h" line="76"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolsource.h"
+ line="73">%TRUE if the value was successfully calculated.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolsource.h"
+ line="67">the #GstControlSource instance</doc>
+ <type name="ControlSource" c:type="GstControlSource*"/>
+ </parameter>
+ <parameter name="timestamp" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolsource.h"
+ line="68">timestamp for which a value should be calculated</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolsource.h"
+ line="69">a value which will be set to the result.</doc>
+ <type name="gdouble" c:type="gdouble*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <callback name="ControlSourceGetValueArray"
+ c:type="GstControlSourceGetValueArray">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolsource.h"
+ line="79">Function for returning an array of values for starting at a given timestamp.</doc>
+ <source-position filename="gst/gstcontrolsource.h" line="92"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolsource.h"
+ line="89">%TRUE if the values were successfully calculated.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolsource.h"
+ line="81">the #GstControlSource instance</doc>
+ <type name="ControlSource" c:type="GstControlSource*"/>
+ </parameter>
+ <parameter name="timestamp" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolsource.h"
+ line="82">timestamp for which a value should be calculated</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="interval" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolsource.h"
+ line="83">the time spacing between subsequent values</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="n_values" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolsource.h"
+ line="84">the number of values</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="values" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolsource.h"
+ line="85">array to put control-values in</doc>
+ <type name="gdouble" c:type="gdouble*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <enumeration name="CoreError"
+ glib:type-name="GstCoreError"
+ glib:get-type="gst_core_error_get_type"
+ c:type="GstCoreError"
+ glib:error-domain="gst-core-error-quark">
+ <doc xml:space="preserve"
+ filename="gst/gsterror.h"
+ line="37">Core errors are errors inside the core GStreamer library.</doc>
+ <member name="failed"
+ value="1"
+ c:identifier="GST_CORE_ERROR_FAILED"
+ glib:nick="failed">
+ <doc xml:space="preserve"
+ filename="gst/gsterror.h"
+ line="39">a general error which doesn't fit in any other
+category. Make sure you add a custom message to the error call.</doc>
+ </member>
+ <member name="too_lazy"
+ value="2"
+ c:identifier="GST_CORE_ERROR_TOO_LAZY"
+ glib:nick="too-lazy">
+ <doc xml:space="preserve"
+ filename="gst/gsterror.h"
+ line="41">do not use this except as a placeholder for
+deciding where to go while developing code.</doc>
+ </member>
+ <member name="not_implemented"
+ value="3"
+ c:identifier="GST_CORE_ERROR_NOT_IMPLEMENTED"
+ glib:nick="not-implemented">
+ <doc xml:space="preserve"
+ filename="gst/gsterror.h"
+ line="43">use this when you do not want to implement
+this functionality yet.</doc>
+ </member>
+ <member name="state_change"
+ value="4"
+ c:identifier="GST_CORE_ERROR_STATE_CHANGE"
+ glib:nick="state-change">
+ <doc xml:space="preserve"
+ filename="gst/gsterror.h"
+ line="45">used for state change errors.</doc>
+ </member>
+ <member name="pad"
+ value="5"
+ c:identifier="GST_CORE_ERROR_PAD"
+ glib:nick="pad">
+ <doc xml:space="preserve"
+ filename="gst/gsterror.h"
+ line="46">used for pad-related errors.</doc>
+ </member>
+ <member name="thread"
+ value="6"
+ c:identifier="GST_CORE_ERROR_THREAD"
+ glib:nick="thread">
+ <doc xml:space="preserve"
+ filename="gst/gsterror.h"
+ line="47">used for thread-related errors.</doc>
+ </member>
+ <member name="negotiation"
+ value="7"
+ c:identifier="GST_CORE_ERROR_NEGOTIATION"
+ glib:nick="negotiation">
+ <doc xml:space="preserve"
+ filename="gst/gsterror.h"
+ line="48">used for negotiation-related errors.</doc>
+ </member>
+ <member name="event"
+ value="8"
+ c:identifier="GST_CORE_ERROR_EVENT"
+ glib:nick="event">
+ <doc xml:space="preserve"
+ filename="gst/gsterror.h"
+ line="49">used for event-related errors.</doc>
+ </member>
+ <member name="seek"
+ value="9"
+ c:identifier="GST_CORE_ERROR_SEEK"
+ glib:nick="seek">
+ <doc xml:space="preserve"
+ filename="gst/gsterror.h"
+ line="50">used for seek-related errors.</doc>
+ </member>
+ <member name="caps"
+ value="10"
+ c:identifier="GST_CORE_ERROR_CAPS"
+ glib:nick="caps">
+ <doc xml:space="preserve"
+ filename="gst/gsterror.h"
+ line="51">used for caps-related errors.</doc>
+ </member>
+ <member name="tag"
+ value="11"
+ c:identifier="GST_CORE_ERROR_TAG"
+ glib:nick="tag">
+ <doc xml:space="preserve"
+ filename="gst/gsterror.h"
+ line="52">used for negotiation-related errors.</doc>
+ </member>
+ <member name="missing_plugin"
+ value="12"
+ c:identifier="GST_CORE_ERROR_MISSING_PLUGIN"
+ glib:nick="missing-plugin">
+ <doc xml:space="preserve"
+ filename="gst/gsterror.h"
+ line="53">used if a plugin is missing.</doc>
+ </member>
+ <member name="clock"
+ value="13"
+ c:identifier="GST_CORE_ERROR_CLOCK"
+ glib:nick="clock">
+ <doc xml:space="preserve"
+ filename="gst/gsterror.h"
+ line="54">used for clock related errors.</doc>
+ </member>
+ <member name="disabled"
+ value="14"
+ c:identifier="GST_CORE_ERROR_DISABLED"
+ glib:nick="disabled">
+ <doc xml:space="preserve"
+ filename="gst/gsterror.h"
+ line="55">used if functionality has been disabled at
+ compile time.</doc>
+ </member>
+ <member name="num_errors"
+ value="15"
+ c:identifier="GST_CORE_ERROR_NUM_ERRORS"
+ glib:nick="num-errors">
+ <doc xml:space="preserve"
+ filename="gst/gsterror.h"
+ line="57">the number of core error types.</doc>
+ </member>
+ <function name="quark" c:identifier="gst_core_error_quark">
+ <attribute name="doc.skip" value="true"/>
+ <return-value transfer-ownership="none">
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </return-value>
+ </function>
+ </enumeration>
+ <record name="CustomMeta" c:type="GstCustomMeta" version="1.20">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.h"
+ line="108">Simple typing wrapper around #GstMeta</doc>
+ <source-position filename="gst/gstmeta.h" line="117"/>
+ <field name="meta" writable="1">
+ <type name="Meta" c:type="GstMeta"/>
+ </field>
+ <method name="get_structure"
+ c:identifier="gst_custom_meta_get_structure"
+ version="1.20">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.c"
+ line="199">Retrieve the #GstStructure backing a custom meta, the structure's mutability
+is conditioned to the writability of the #GstBuffer @meta is attached to.</doc>
+ <source-position filename="gst/gstmeta.h" line="264"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.c"
+ line="205">the #GstStructure backing @meta</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="meta" transfer-ownership="none">
+ <type name="CustomMeta" c:type="GstCustomMeta*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="has_name"
+ c:identifier="gst_custom_meta_has_name"
+ version="1.20">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.c"
+ line="218">Checks whether the name of the custom meta is @name</doc>
+ <source-position filename="gst/gstmeta.h" line="267"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.c"
+ line="223">Whether @name is the name of the custom meta</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="meta" transfer-ownership="none">
+ <type name="CustomMeta" c:type="GstCustomMeta*"/>
+ </instance-parameter>
+ <parameter name="name" transfer-ownership="none">
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ </record>
+ <callback name="CustomMetaTransformFunction"
+ c:type="GstCustomMetaTransformFunction"
+ version="1.20">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.h"
+ line="192">Function called for each @meta in @buffer as a result of performing a
+transformation on @transbuf. Additional @type specific transform data
+is passed to the function as @data.
+
+Implementations should check the @type of the transform and parse
+additional type specific fields in @data that should be used to update
+the metadata on @transbuf.</doc>
+ <source-position filename="gst/gstmeta.h" line="212"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.h"
+ line="209">%TRUE if the transform could be performed</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="transbuf" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.h"
+ line="194">a #GstBuffer</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="meta" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.h"
+ line="195">a #GstCustomMeta</doc>
+ <type name="CustomMeta" c:type="GstCustomMeta*"/>
+ </parameter>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.h"
+ line="196">a #GstBuffer</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.h"
+ line="197">the transform type</doc>
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </parameter>
+ <parameter name="data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.h"
+ line="198">transform specific data.</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1"
+ closure="5">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.h"
+ line="199">user data passed when registering the meta</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <constant name="DEBUG_BG_MASK" value="240" c:type="GST_DEBUG_BG_MASK">
+ <source-position filename="gst/gstinfo.h" line="209"/>
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <function-macro name="DEBUG_BIN_TO_DOT_FILE"
+ c:identifier="GST_DEBUG_BIN_TO_DOT_FILE"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstdebugutils.h"
+ line="75">To aid debugging applications one can use this method to write out the whole
+network of gstreamer elements that form the pipeline into an dot file.
+This file can be processed with graphviz to get an image, like this:
+|[
+ dot -Tpng -oimage.png graph_lowlevel.dot
+]|
+There is also a utility called xdot which allows you to view the dot file
+directly without converting it first.
+
+The macro is only active if the environment variable GST_DEBUG_DUMP_DOT_DIR
+is set to a basepath (e.g. /tmp), and the GStreamer debugging subsystem is
+enabled (i.e., no use of `./configure --disable-gst-debug')</doc>
+ <source-position filename="gst/gstdebugutils.h" line="95"/>
+ <parameters>
+ <parameter name="bin">
+ <doc xml:space="preserve"
+ filename="gst/gstdebugutils.h"
+ line="77">the top-level pipeline that should be analyzed</doc>
+ </parameter>
+ <parameter name="details">
+ <doc xml:space="preserve"
+ filename="gst/gstdebugutils.h"
+ line="78">details to show in the graph, e.g. #GST_DEBUG_GRAPH_SHOW_ALL or
+ one or more other #GstDebugGraphDetails flags.</doc>
+ </parameter>
+ <parameter name="file_name">
+ <doc xml:space="preserve"
+ filename="gst/gstdebugutils.h"
+ line="80">output base filename (e.g. "myplayer")</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="DEBUG_BIN_TO_DOT_FILE_WITH_TS"
+ c:identifier="GST_DEBUG_BIN_TO_DOT_FILE_WITH_TS"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstdebugutils.h"
+ line="97">This works like GST_DEBUG_BIN_TO_DOT_FILE(), but adds the current timestamp
+to the filename, so that it can be used to take multiple snapshots.</doc>
+ <source-position filename="gst/gstdebugutils.h" line="107"/>
+ <parameters>
+ <parameter name="bin">
+ <doc xml:space="preserve"
+ filename="gst/gstdebugutils.h"
+ line="99">the top-level pipeline that should be analyzed</doc>
+ </parameter>
+ <parameter name="details">
+ <doc xml:space="preserve"
+ filename="gst/gstdebugutils.h"
+ line="100">details to show in the graph, e.g. #GST_DEBUG_GRAPH_SHOW_ALL or
+ one or more other #GstDebugGraphDetails flags.</doc>
+ </parameter>
+ <parameter name="file_name">
+ <doc xml:space="preserve"
+ filename="gst/gstdebugutils.h"
+ line="102">output base filename (e.g. "myplayer")</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="DEBUG_CATEGORY"
+ c:identifier="GST_DEBUG_CATEGORY"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.h"
+ line="557">Defines a GstDebugCategory variable.
+This macro expands to nothing if debugging is disabled.</doc>
+ <source-position filename="gst/gstinfo.h" line="564"/>
+ <parameters>
+ <parameter name="cat">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.h"
+ line="559">the category</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="DEBUG_CATEGORY_EXTERN"
+ c:identifier="GST_DEBUG_CATEGORY_EXTERN"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.h"
+ line="565">Declares a GstDebugCategory variable as extern. Use in header files.
+This macro expands to nothing if debugging is disabled.</doc>
+ <source-position filename="gst/gstinfo.h" line="572"/>
+ <parameters>
+ <parameter name="cat">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.h"
+ line="567">the category</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="DEBUG_CATEGORY_GET"
+ c:identifier="GST_DEBUG_CATEGORY_GET"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.h"
+ line="617">Looks up an existing #GstDebugCategory by its @name and sets @cat. If the
+category is not found, but GST_CAT_DEFAULT is defined, that is assigned to
+@cat. Otherwise @cat will be %NULL.
+
+|[&lt;!-- language="C" --&gt;
+GST_DEBUG_CATEGORY_STATIC (gst_myplugin_debug);
+#define GST_CAT_DEFAULT gst_myplugin_debug
+GST_DEBUG_CATEGORY_STATIC (GST_CAT_PERFORMANCE);
+...
+GST_DEBUG_CATEGORY_INIT (gst_myplugin_debug, "myplugin", 0, "nice element");
+GST_DEBUG_CATEGORY_GET (GST_CAT_PERFORMANCE, "GST_PERFORMANCE");
+]|</doc>
+ <source-position filename="gst/gstinfo.h" line="636"/>
+ <parameters>
+ <parameter name="cat">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.h"
+ line="619">the category to initialize.</doc>
+ </parameter>
+ <parameter name="name">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.h"
+ line="620">log category name</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="DEBUG_CATEGORY_INIT"
+ c:identifier="GST_DEBUG_CATEGORY_INIT"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.h"
+ line="583">Initializes a new #GstDebugCategory with the given properties and set to
+the default threshold.
+
+&gt; This macro expands to nothing if debugging is disabled.
+&gt;
+&gt; When naming your category, please follow the following conventions to ensure
+&gt; that the pattern matching for categories works as expected. It is not
+&gt; earth-shattering if you don't follow these conventions, but it would be nice
+&gt; for everyone.
+&gt;
+&gt; If you define a category for a plugin or a feature of it, name the category
+&gt; like the feature. So if you wanted to write a "filesrc" element, you would
+&gt; name the category "filesrc". Use lowercase letters only.
+&gt; If you define more than one category for the same element, append an
+&gt; underscore and an identifier to your categories, like this: "filesrc_cache"
+&gt;
+&gt; If you create a library or an application using debugging categories, use a
+&gt; common prefix followed by an underscore for all your categories. GStreamer
+&gt; uses the GST prefix so GStreamer categories look like "GST_STATES". Be sure
+&gt; to include uppercase letters.</doc>
+ <source-position filename="gst/gstinfo.h" line="612"/>
+ <parameters>
+ <parameter name="cat">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.h"
+ line="585">the category to initialize.</doc>
+ </parameter>
+ <parameter name="name">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.h"
+ line="586">the name of the category.</doc>
+ </parameter>
+ <parameter name="color">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.h"
+ line="587">the colors to use for a color representation or 0 for no color.</doc>
+ </parameter>
+ <parameter name="description">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.h"
+ line="588">optional description of the category.</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="DEBUG_CATEGORY_STATIC"
+ c:identifier="GST_DEBUG_CATEGORY_STATIC"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.h"
+ line="574">Defines a static GstDebugCategory variable.
+This macro expands to nothing if debugging is disabled.</doc>
+ <source-position filename="gst/gstinfo.h" line="581"/>
+ <parameters>
+ <parameter name="cat">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.h"
+ line="576">the category</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <constant name="DEBUG_FG_MASK" value="15" c:type="GST_DEBUG_FG_MASK">
+ <source-position filename="gst/gstinfo.h" line="208"/>
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="DEBUG_FORMAT_MASK"
+ value="65280"
+ c:type="GST_DEBUG_FORMAT_MASK">
+ <source-position filename="gst/gstinfo.h" line="210"/>
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <function-macro name="DEBUG_FUNCPTR"
+ c:identifier="GST_DEBUG_FUNCPTR"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.h"
+ line="1465">Register a pointer to a function with its name, so it can later be used by
+GST_DEBUG_FUNCPTR_NAME().</doc>
+ <source-position filename="gst/gstinfo.h" line="1474"/>
+ <parameters>
+ <parameter name="ptr">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.h"
+ line="1467">pointer to the function to register</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="DEBUG_FUNCPTR_NAME"
+ c:identifier="GST_DEBUG_FUNCPTR_NAME"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.h"
+ line="1477">Retrieves the name of the function, if it was previously registered with
+GST_DEBUG_FUNCPTR(). If not, it returns a description of the pointer.
+
+This macro returns a constant string which must not be modified or
+freed by the caller.</doc>
+ <source-position filename="gst/gstinfo.h" line="1487"/>
+ <parameters>
+ <parameter name="ptr">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.h"
+ line="1479">address of the function of which to look up the name</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="DEBUG_PAD_NAME"
+ c:identifier="GST_DEBUG_PAD_NAME"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.h"
+ line="243">Evaluates to 2 strings, that describe the pad. Often used in debugging
+statements.</doc>
+ <source-position filename="gst/gstinfo.h" line="250"/>
+ <parameters>
+ <parameter name="pad">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.h"
+ line="245">The pad to debug.</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="DEBUG_REGISTER_FUNCPTR"
+ c:identifier="GST_DEBUG_REGISTER_FUNCPTR"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.h"
+ line="1454">Register a pointer to a function with its name, so it can later be used by
+GST_DEBUG_FUNCPTR_NAME().
+
+Use this variant of #GST_DEBUG_FUNCPTR if you do not need to use @ptr.</doc>
+ <source-position filename="gst/gstinfo.h" line="1463"/>
+ <parameters>
+ <parameter name="ptr">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.h"
+ line="1456">pointer to the function to register</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="DEFINE_MINI_OBJECT_TYPE"
+ c:identifier="GST_DEFINE_MINI_OBJECT_TYPE"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.h"
+ line="293">Define a new mini-object type with the given name</doc>
+ <source-position filename="gst/gstminiobject.h" line="300"/>
+ <parameters>
+ <parameter name="TypeName">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.h"
+ line="295">name of the new type in CamelCase</doc>
+ </parameter>
+ <parameter name="type_name">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.h"
+ line="296">name of the new type</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="DEVICE" c:identifier="GST_DEVICE" introspectable="0">
+ <source-position filename="gst/gstdevice.h" line="41"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="DEVICE_CAST"
+ c:identifier="GST_DEVICE_CAST"
+ introspectable="0">
+ <source-position filename="gst/gstdevice.h" line="43"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="DEVICE_CLASS"
+ c:identifier="GST_DEVICE_CLASS"
+ introspectable="0">
+ <source-position filename="gst/gstdevice.h" line="42"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="DEVICE_GET_CLASS"
+ c:identifier="GST_DEVICE_GET_CLASS"
+ introspectable="0">
+ <source-position filename="gst/gstdevice.h" line="40"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="DEVICE_MONITOR"
+ c:identifier="GST_DEVICE_MONITOR"
+ introspectable="0">
+ <source-position filename="gst/gstdevicemonitor.h" line="41"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="DEVICE_MONITOR_CAST"
+ c:identifier="GST_DEVICE_MONITOR_CAST"
+ introspectable="0">
+ <source-position filename="gst/gstdevicemonitor.h" line="43"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="DEVICE_MONITOR_CLASS"
+ c:identifier="GST_DEVICE_MONITOR_CLASS"
+ introspectable="0">
+ <source-position filename="gst/gstdevicemonitor.h" line="42"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="DEVICE_MONITOR_GET_CLASS"
+ c:identifier="GST_DEVICE_MONITOR_GET_CLASS"
+ introspectable="0">
+ <source-position filename="gst/gstdevicemonitor.h" line="40"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="DEVICE_PROVIDER"
+ c:identifier="GST_DEVICE_PROVIDER"
+ introspectable="0">
+ <source-position filename="gst/gstdeviceprovider.h" line="41"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="DEVICE_PROVIDER_CAST"
+ c:identifier="GST_DEVICE_PROVIDER_CAST"
+ introspectable="0">
+ <source-position filename="gst/gstdeviceprovider.h" line="43"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="DEVICE_PROVIDER_CLASS"
+ c:identifier="GST_DEVICE_PROVIDER_CLASS"
+ introspectable="0">
+ <source-position filename="gst/gstdeviceprovider.h" line="42"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="DEVICE_PROVIDER_FACTORY"
+ c:identifier="GST_DEVICE_PROVIDER_FACTORY"
+ introspectable="0">
+ <source-position filename="gst/gstdeviceproviderfactory.h" line="55"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="DEVICE_PROVIDER_FACTORY_CAST"
+ c:identifier="GST_DEVICE_PROVIDER_FACTORY_CAST"
+ introspectable="0">
+ <source-position filename="gst/gstdeviceproviderfactory.h" line="61"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="DEVICE_PROVIDER_FACTORY_CLASS"
+ c:identifier="GST_DEVICE_PROVIDER_FACTORY_CLASS"
+ introspectable="0">
+ <source-position filename="gst/gstdeviceproviderfactory.h" line="57"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="DEVICE_PROVIDER_GET_CLASS"
+ c:identifier="GST_DEVICE_PROVIDER_GET_CLASS"
+ introspectable="0">
+ <source-position filename="gst/gstdeviceprovider.h" line="40"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="DYNAMIC_TYPE_CLASS"
+ c:identifier="GST_DYNAMIC_TYPE_CLASS"
+ introspectable="0">
+ <source-position filename="gst/gstdynamictypefactory.h" line="44"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="DYNAMIC_TYPE_FACTORY"
+ c:identifier="GST_DYNAMIC_TYPE_FACTORY"
+ introspectable="0">
+ <source-position filename="gst/gstdynamictypefactory.h" line="42"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="DYNAMIC_TYPE_FACTORY_CAST"
+ c:identifier="GST_DYNAMIC_TYPE_FACTORY_CAST"
+ introspectable="0">
+ <source-position filename="gst/gstdynamictypefactory.h" line="48"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <record name="DateTime"
+ c:type="GstDateTime"
+ glib:type-name="GstDateTime"
+ glib:get-type="gst_date_time_get_type"
+ c:symbol-prefix="date_time">
+ <doc xml:space="preserve"
+ filename="gst/gstdatetime.c"
+ line="32">Struct to store date, time and timezone information altogether.
+#GstDateTime is refcounted and immutable.
+
+Date information is handled using the proleptic Gregorian calendar.
+
+Provides basic creation functions and accessor functions to its fields.</doc>
+ <source-position filename="gst/gstdatetime.h" line="40"/>
+ <constructor name="new" c:identifier="gst_date_time_new">
+ <doc xml:space="preserve"
+ filename="gst/gstdatetime.c"
+ line="634">Creates a new #GstDateTime using the date and times in the gregorian calendar
+in the supplied timezone.
+
+@year should be from 1 to 9999, @month should be from 1 to 12, @day from
+1 to 31, @hour from 0 to 23, @minutes and @seconds from 0 to 59.
+
+Note that @tzoffset is a float and was chosen so for being able to handle
+some fractional timezones, while it still keeps the readability of
+representing it in hours for most timezones.
+
+If value is -1 then all over value will be ignored. For example
+if @month == -1, then #GstDateTime will created only for @year. If
+@day == -1, then #GstDateTime will created for @year and @month and
+so on.
+
+Free-function: gst_date_time_unref</doc>
+ <source-position filename="gst/gstdatetime.h" line="132"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstdatetime.c"
+ line="661">the newly created #GstDateTime</doc>
+ <type name="DateTime" c:type="GstDateTime*"/>
+ </return-value>
+ <parameters>
+ <parameter name="tzoffset" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdatetime.c"
+ line="636">Offset from UTC in hours.</doc>
+ <type name="gfloat" c:type="gfloat"/>
+ </parameter>
+ <parameter name="year" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdatetime.c"
+ line="637">the gregorian year</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="month" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdatetime.c"
+ line="638">the gregorian month</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="day" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdatetime.c"
+ line="639">the day of the gregorian month</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="hour" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdatetime.c"
+ line="640">the hour of the day</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="minute" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdatetime.c"
+ line="641">the minute of the hour</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="seconds" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdatetime.c"
+ line="642">the second of the minute</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_from_g_date_time"
+ c:identifier="gst_date_time_new_from_g_date_time">
+ <doc xml:space="preserve"
+ filename="gst/gstdatetime.c"
+ line="71">Creates a new #GstDateTime from a #GDateTime object.
+
+Free-function: gst_date_time_unref</doc>
+ <source-position filename="gst/gstdatetime.h" line="153"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstdatetime.c"
+ line="79">a newly created #GstDateTime,
+or %NULL on error</doc>
+ <type name="DateTime" c:type="GstDateTime*"/>
+ </return-value>
+ <parameters>
+ <parameter name="dt" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstdatetime.c"
+ line="73">the #GDateTime. The new #GstDateTime takes ownership.</doc>
+ <type name="GLib.DateTime" c:type="GDateTime*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_from_iso8601_string"
+ c:identifier="gst_date_time_new_from_iso8601_string">
+ <doc xml:space="preserve"
+ filename="gst/gstdatetime.c"
+ line="800">Tries to parse common variants of ISO-8601 datetime strings into a
+#GstDateTime. Possible input formats are (for example):
+2012-06-30T22:46:43Z, 2012, 2012-06, 2012-06-30, 2012-06-30T22:46:43-0430,
+2012-06-30T22:46Z, 2012-06-30T22:46-0430, 2012-06-30 22:46,
+2012-06-30 22:46:43, 2012-06-00, 2012-00-00, 2012-00-30, 22:46:43Z, 22:46Z,
+22:46:43-0430, 22:46-0430, 22:46:30, 22:46
+If no date is provided, it is assumed to be "today" in the timezone
+provided (if any), otherwise UTC.
+
+Free-function: gst_date_time_unref</doc>
+ <source-position filename="gst/gstdatetime.h" line="147"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstdatetime.c"
+ line="815">a newly created #GstDateTime,
+or %NULL on error</doc>
+ <type name="DateTime" c:type="GstDateTime*"/>
+ </return-value>
+ <parameters>
+ <parameter name="string" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdatetime.c"
+ line="802">ISO 8601-formatted datetime string.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_from_unix_epoch_local_time"
+ c:identifier="gst_date_time_new_from_unix_epoch_local_time">
+ <doc xml:space="preserve"
+ filename="gst/gstdatetime.c"
+ line="412">Creates a new #GstDateTime using the time since Jan 1, 1970 specified by
+@secs. The #GstDateTime is in the local timezone.
+
+Free-function: gst_date_time_unref</doc>
+ <source-position filename="gst/gstdatetime.h" line="103"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstdatetime.c"
+ line="421">the newly created #GstDateTime</doc>
+ <type name="DateTime" c:type="GstDateTime*"/>
+ </return-value>
+ <parameters>
+ <parameter name="secs" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdatetime.c"
+ line="414">seconds from the Unix epoch</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_from_unix_epoch_local_time_usecs"
+ c:identifier="gst_date_time_new_from_unix_epoch_local_time_usecs"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="gst/gstdatetime.c"
+ line="452">Creates a new #GstDateTime using the time since Jan 1, 1970 specified by
+@usecs. The #GstDateTime is in the local timezone.</doc>
+ <source-position filename="gst/gstdatetime.h" line="109"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstdatetime.c"
+ line="459">a newly created #GstDateTime</doc>
+ <type name="DateTime" c:type="GstDateTime*"/>
+ </return-value>
+ <parameters>
+ <parameter name="usecs" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdatetime.c"
+ line="454">microseconds from the Unix epoch</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_from_unix_epoch_utc"
+ c:identifier="gst_date_time_new_from_unix_epoch_utc">
+ <doc xml:space="preserve"
+ filename="gst/gstdatetime.c"
+ line="432">Creates a new #GstDateTime using the time since Jan 1, 1970 specified by
+@secs. The #GstDateTime is in the UTC timezone.
+
+Free-function: gst_date_time_unref</doc>
+ <source-position filename="gst/gstdatetime.h" line="106"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstdatetime.c"
+ line="441">the newly created #GstDateTime</doc>
+ <type name="DateTime" c:type="GstDateTime*"/>
+ </return-value>
+ <parameters>
+ <parameter name="secs" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdatetime.c"
+ line="434">seconds from the Unix epoch</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_from_unix_epoch_utc_usecs"
+ c:identifier="gst_date_time_new_from_unix_epoch_utc_usecs"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="gst/gstdatetime.c"
+ line="476">Creates a new #GstDateTime using the time since Jan 1, 1970 specified by
+@usecs. The #GstDateTime is in UTC.</doc>
+ <source-position filename="gst/gstdatetime.h" line="112"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstdatetime.c"
+ line="483">a newly created #GstDateTime</doc>
+ <type name="DateTime" c:type="GstDateTime*"/>
+ </return-value>
+ <parameters>
+ <parameter name="usecs" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdatetime.c"
+ line="478">microseconds from the Unix epoch</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_local_time"
+ c:identifier="gst_date_time_new_local_time">
+ <doc xml:space="preserve"
+ filename="gst/gstdatetime.c"
+ line="522">Creates a new #GstDateTime using the date and times in the gregorian calendar
+in the local timezone.
+
+@year should be from 1 to 9999, @month should be from 1 to 12, @day from
+1 to 31, @hour from 0 to 23, @minutes and @seconds from 0 to 59.
+
+If @month is -1, then the #GstDateTime created will only contain @year,
+and all other fields will be considered not set.
+
+If @day is -1, then the #GstDateTime created will only contain @year and
+@month and all other fields will be considered not set.
+
+If @hour is -1, then the #GstDateTime created will only contain @year and
+@month and @day, and the time fields will be considered not set. In this
+case @minute and @seconds should also be -1.
+
+Free-function: gst_date_time_unref</doc>
+ <source-position filename="gst/gstdatetime.h" line="115"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstdatetime.c"
+ line="549">the newly created #GstDateTime</doc>
+ <type name="DateTime" c:type="GstDateTime*"/>
+ </return-value>
+ <parameters>
+ <parameter name="year" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdatetime.c"
+ line="524">the gregorian year</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="month" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdatetime.c"
+ line="525">the gregorian month, or -1</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="day" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdatetime.c"
+ line="526">the day of the gregorian month, or -1</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="hour" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdatetime.c"
+ line="527">the hour of the day, or -1</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="minute" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdatetime.c"
+ line="528">the minute of the hour, or -1</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="seconds" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdatetime.c"
+ line="529">the second of the minute, or -1</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_now_local_time"
+ c:identifier="gst_date_time_new_now_local_time">
+ <doc xml:space="preserve"
+ filename="gst/gstdatetime.c"
+ line="578">Creates a new #GstDateTime representing the current date and time.
+
+Free-function: gst_date_time_unref</doc>
+ <source-position filename="gst/gstdatetime.h" line="138"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstdatetime.c"
+ line="585">the newly created #GstDateTime which should
+ be freed with gst_date_time_unref().</doc>
+ <type name="DateTime" c:type="GstDateTime*"/>
+ </return-value>
+ </constructor>
+ <constructor name="new_now_utc" c:identifier="gst_date_time_new_now_utc">
+ <doc xml:space="preserve"
+ filename="gst/gstdatetime.c"
+ line="594">Creates a new #GstDateTime that represents the current instant at Universal
+coordinated time.
+
+Free-function: gst_date_time_unref</doc>
+ <source-position filename="gst/gstdatetime.h" line="141"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstdatetime.c"
+ line="602">the newly created #GstDateTime which should
+ be freed with gst_date_time_unref().</doc>
+ <type name="DateTime" c:type="GstDateTime*"/>
+ </return-value>
+ </constructor>
+ <constructor name="new_y" c:identifier="gst_date_time_new_y">
+ <doc xml:space="preserve"
+ filename="gst/gstdatetime.c"
+ line="343">Creates a new #GstDateTime using the date and times in the gregorian calendar
+in the local timezone.
+
+@year should be from 1 to 9999.
+
+Free-function: gst_date_time_unref</doc>
+ <source-position filename="gst/gstdatetime.h" line="122"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstdatetime.c"
+ line="354">the newly created #GstDateTime</doc>
+ <type name="DateTime" c:type="GstDateTime*"/>
+ </return-value>
+ <parameters>
+ <parameter name="year" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdatetime.c"
+ line="345">the gregorian year</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_ym" c:identifier="gst_date_time_new_ym">
+ <doc xml:space="preserve"
+ filename="gst/gstdatetime.c"
+ line="362">Creates a new #GstDateTime using the date and times in the gregorian calendar
+in the local timezone.
+
+@year should be from 1 to 9999, @month should be from 1 to 12.
+
+If value is -1 then all over value will be ignored. For example
+if @month == -1, then #GstDateTime will created only for @year.
+
+Free-function: gst_date_time_unref</doc>
+ <source-position filename="gst/gstdatetime.h" line="125"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstdatetime.c"
+ line="377">the newly created #GstDateTime</doc>
+ <type name="DateTime" c:type="GstDateTime*"/>
+ </return-value>
+ <parameters>
+ <parameter name="year" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdatetime.c"
+ line="364">the gregorian year</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="month" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdatetime.c"
+ line="365">the gregorian month</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_ymd" c:identifier="gst_date_time_new_ymd">
+ <doc xml:space="preserve"
+ filename="gst/gstdatetime.c"
+ line="385">Creates a new #GstDateTime using the date and times in the gregorian calendar
+in the local timezone.
+
+@year should be from 1 to 9999, @month should be from 1 to 12, @day from
+1 to 31.
+
+If value is -1 then all over value will be ignored. For example
+if @month == -1, then #GstDateTime will created only for @year. If
+@day == -1, then #GstDateTime will created for @year and @month and
+so on.
+
+Free-function: gst_date_time_unref</doc>
+ <source-position filename="gst/gstdatetime.h" line="128"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstdatetime.c"
+ line="404">the newly created #GstDateTime</doc>
+ <type name="DateTime" c:type="GstDateTime*"/>
+ </return-value>
+ <parameters>
+ <parameter name="year" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdatetime.c"
+ line="387">the gregorian year</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="month" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdatetime.c"
+ line="388">the gregorian month</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="day" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdatetime.c"
+ line="389">the day of the gregorian month</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <method name="get_day" c:identifier="gst_date_time_get_day">
+ <doc xml:space="preserve"
+ filename="gst/gstdatetime.c"
+ line="229">Returns the day of the month of this #GstDateTime.
+Call gst_date_time_has_day() before, to avoid warnings.</doc>
+ <source-position filename="gst/gstdatetime.h" line="83"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdatetime.c"
+ line="236">The day of this #GstDateTime</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="datetime" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdatetime.c"
+ line="231">a #GstDateTime</doc>
+ <type name="DateTime" c:type="const GstDateTime*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_hour" c:identifier="gst_date_time_get_hour">
+ <doc xml:space="preserve"
+ filename="gst/gstdatetime.c"
+ line="247">Retrieves the hour of the day represented by @datetime in the gregorian
+calendar. The return is in the range of 0 to 23.
+Call gst_date_time_has_time() before, to avoid warnings.</doc>
+ <source-position filename="gst/gstdatetime.h" line="86"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdatetime.c"
+ line="255">the hour of the day</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="datetime" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdatetime.c"
+ line="249">a #GstDateTime</doc>
+ <type name="DateTime" c:type="const GstDateTime*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_microsecond"
+ c:identifier="gst_date_time_get_microsecond">
+ <doc xml:space="preserve"
+ filename="gst/gstdatetime.c"
+ line="304">Retrieves the fractional part of the seconds in microseconds represented by
+@datetime in the gregorian calendar.</doc>
+ <source-position filename="gst/gstdatetime.h" line="95"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdatetime.c"
+ line="311">the microsecond of the second</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="datetime" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdatetime.c"
+ line="306">a #GstDateTime</doc>
+ <type name="DateTime" c:type="const GstDateTime*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_minute" c:identifier="gst_date_time_get_minute">
+ <doc xml:space="preserve"
+ filename="gst/gstdatetime.c"
+ line="266">Retrieves the minute of the hour represented by @datetime in the gregorian
+calendar.
+Call gst_date_time_has_time() before, to avoid warnings.</doc>
+ <source-position filename="gst/gstdatetime.h" line="89"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdatetime.c"
+ line="274">the minute of the hour</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="datetime" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdatetime.c"
+ line="268">a #GstDateTime</doc>
+ <type name="DateTime" c:type="const GstDateTime*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_month" c:identifier="gst_date_time_get_month">
+ <doc xml:space="preserve"
+ filename="gst/gstdatetime.c"
+ line="211">Returns the month of this #GstDateTime. January is 1, February is 2, etc..
+Call gst_date_time_has_month() before, to avoid warnings.</doc>
+ <source-position filename="gst/gstdatetime.h" line="80"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdatetime.c"
+ line="218">The month of this #GstDateTime</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="datetime" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdatetime.c"
+ line="213">a #GstDateTime</doc>
+ <type name="DateTime" c:type="const GstDateTime*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_second" c:identifier="gst_date_time_get_second">
+ <doc xml:space="preserve"
+ filename="gst/gstdatetime.c"
+ line="285">Retrieves the second of the minute represented by @datetime in the gregorian
+calendar.
+Call gst_date_time_has_time() before, to avoid warnings.</doc>
+ <source-position filename="gst/gstdatetime.h" line="92"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdatetime.c"
+ line="293">the second represented by @datetime</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="datetime" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdatetime.c"
+ line="287">a #GstDateTime</doc>
+ <type name="DateTime" c:type="const GstDateTime*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_time_zone_offset"
+ c:identifier="gst_date_time_get_time_zone_offset">
+ <doc xml:space="preserve"
+ filename="gst/gstdatetime.c"
+ line="322">Retrieves the offset from UTC in hours that the timezone specified
+by @datetime represents. Timezones ahead (to the east) of UTC have positive
+values, timezones before (to the west) of UTC have negative values.
+If @datetime represents UTC time, then the offset is zero.</doc>
+ <source-position filename="gst/gstdatetime.h" line="98"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdatetime.c"
+ line="331">the offset from UTC in hours</doc>
+ <type name="gfloat" c:type="gfloat"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="datetime" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdatetime.c"
+ line="324">a #GstDateTime</doc>
+ <type name="DateTime" c:type="const GstDateTime*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_year" c:identifier="gst_date_time_get_year">
+ <doc xml:space="preserve"
+ filename="gst/gstdatetime.c"
+ line="194">Returns the year of this #GstDateTime
+Call gst_date_time_has_year() before, to avoid warnings.</doc>
+ <source-position filename="gst/gstdatetime.h" line="77"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdatetime.c"
+ line="201">The year of this #GstDateTime</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="datetime" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdatetime.c"
+ line="196">a #GstDateTime</doc>
+ <type name="DateTime" c:type="const GstDateTime*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="has_day" c:identifier="gst_date_time_has_day">
+ <source-position filename="gst/gstdatetime.h" line="66"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdatetime.c"
+ line="155">%TRUE if @datetime&lt;!-- --&gt;'s day field is set, otherwise %FALSE</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="datetime" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdatetime.c"
+ line="153">a #GstDateTime</doc>
+ <type name="DateTime" c:type="const GstDateTime*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="has_month" c:identifier="gst_date_time_has_month">
+ <source-position filename="gst/gstdatetime.h" line="63"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdatetime.c"
+ line="141">%TRUE if @datetime&lt;!-- --&gt;'s month field is set, otherwise %FALSE</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="datetime" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdatetime.c"
+ line="139">a #GstDateTime</doc>
+ <type name="DateTime" c:type="const GstDateTime*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="has_second" c:identifier="gst_date_time_has_second">
+ <source-position filename="gst/gstdatetime.h" line="72"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdatetime.c"
+ line="184">%TRUE if @datetime&lt;!-- --&gt;'s second field is set, otherwise %FALSE</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="datetime" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdatetime.c"
+ line="182">a #GstDateTime</doc>
+ <type name="DateTime" c:type="const GstDateTime*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="has_time" c:identifier="gst_date_time_has_time">
+ <source-position filename="gst/gstdatetime.h" line="69"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdatetime.c"
+ line="169">%TRUE if @datetime&lt;!-- --&gt;'s hour and minute fields are set,
+ otherwise %FALSE</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="datetime" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdatetime.c"
+ line="167">a #GstDateTime</doc>
+ <type name="DateTime" c:type="const GstDateTime*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="has_year" c:identifier="gst_date_time_has_year">
+ <source-position filename="gst/gstdatetime.h" line="60"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdatetime.c"
+ line="126">%TRUE if @datetime&lt;!-- --&gt;'s year field is set (which should always
+ be the case), otherwise %FALSE</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="datetime" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdatetime.c"
+ line="124">a #GstDateTime</doc>
+ <type name="DateTime" c:type="const GstDateTime*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="ref" c:identifier="gst_date_time_ref">
+ <doc xml:space="preserve"
+ filename="gst/gstdatetime.c"
+ line="987">Atomically increments the reference count of @datetime by one.</doc>
+ <source-position filename="gst/gstdatetime.h" line="158"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstdatetime.c"
+ line="993">the reference @datetime</doc>
+ <type name="DateTime" c:type="GstDateTime*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="datetime" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdatetime.c"
+ line="989">a #GstDateTime</doc>
+ <type name="DateTime" c:type="GstDateTime*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="to_g_date_time"
+ c:identifier="gst_date_time_to_g_date_time">
+ <doc xml:space="preserve"
+ filename="gst/gstdatetime.c"
+ line="100">Creates a new #GDateTime from a fully defined #GstDateTime object.
+
+Free-function: g_date_time_unref</doc>
+ <source-position filename="gst/gstdatetime.h" line="150"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstdatetime.c"
+ line="108">a newly created #GDateTime, or
+%NULL on error</doc>
+ <type name="GLib.DateTime" c:type="GDateTime*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="datetime" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdatetime.c"
+ line="102">GstDateTime.</doc>
+ <type name="DateTime" c:type="GstDateTime*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="to_iso8601_string"
+ c:identifier="gst_date_time_to_iso8601_string">
+ <doc xml:space="preserve"
+ filename="gst/gstdatetime.c"
+ line="776">Create a minimal string compatible with ISO-8601. Possible output formats
+are (for example): 2012, 2012-06, 2012-06-23, 2012-06-23T23:30Z,
+2012-06-23T23:30+0100, 2012-06-23T23:30:59Z, 2012-06-23T23:30:59+0100</doc>
+ <source-position filename="gst/gstdatetime.h" line="144"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstdatetime.c"
+ line="784">a newly allocated string formatted according
+ to ISO 8601 and only including the datetime fields that are
+ valid, or %NULL in case there was an error. The string should
+ be freed with g_free().</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="datetime" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdatetime.c"
+ line="778">GstDateTime.</doc>
+ <type name="DateTime" c:type="GstDateTime*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="unref" c:identifier="gst_date_time_unref">
+ <doc xml:space="preserve"
+ filename="gst/gstdatetime.c"
+ line="1001">Atomically decrements the reference count of @datetime by one. When the
+reference count reaches zero, the structure is freed.</doc>
+ <source-position filename="gst/gstdatetime.h" line="161"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="datetime" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstdatetime.c"
+ line="1003">a #GstDateTime</doc>
+ <type name="DateTime" c:type="GstDateTime*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ </record>
+ <record name="DebugCategory" c:type="GstDebugCategory">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.h"
+ line="213">This is the struct that describes the categories. Once initialized with
+#GST_DEBUG_CATEGORY_INIT, its values can't be changed anymore.</doc>
+ <source-position filename="gst/gstinfo.h" line="226"/>
+ <field name="threshold" readable="0" private="1">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="color" readable="0" private="1">
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="name" readable="0" private="1">
+ <type name="utf8" c:type="const gchar*"/>
+ </field>
+ <field name="description" readable="0" private="1">
+ <type name="utf8" c:type="const gchar*"/>
+ </field>
+ <method name="free"
+ c:identifier="gst_debug_category_free"
+ deprecated="1">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="1824">Removes and frees the category and all associated resources.</doc>
+ <doc-deprecated xml:space="preserve">This function can easily cause memory corruption, don't use it.</doc-deprecated>
+ <source-position filename="gst/gstinfo.h" line="486"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="category" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="1826">#GstDebugCategory to free.</doc>
+ <type name="DebugCategory" c:type="GstDebugCategory*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_color" c:identifier="gst_debug_category_get_color">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="1908">Returns the color of a debug category used when printing output in this
+category.</doc>
+ <source-position filename="gst/gstinfo.h" line="502"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="1915">the color of the category.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="category" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="1910">a #GstDebugCategory to get the color of.</doc>
+ <type name="DebugCategory" c:type="GstDebugCategory*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_description"
+ c:identifier="gst_debug_category_get_description">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="1923">Returns the description of a debug category.</doc>
+ <source-position filename="gst/gstinfo.h" line="505"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="1929">the description of the category.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="category" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="1925">a #GstDebugCategory to get the description of.</doc>
+ <type name="DebugCategory" c:type="GstDebugCategory*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_name" c:identifier="gst_debug_category_get_name">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="1894">Returns the name of a debug category.</doc>
+ <source-position filename="gst/gstinfo.h" line="499"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="1900">the name of the category.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="category" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="1896">a #GstDebugCategory to get name of.</doc>
+ <type name="DebugCategory" c:type="GstDebugCategory*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_threshold"
+ c:identifier="gst_debug_category_get_threshold">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="1880">Returns the threshold of a #GstDebugCategory.</doc>
+ <source-position filename="gst/gstinfo.h" line="496"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="1886">the #GstDebugLevel that is used as threshold.</doc>
+ <type name="DebugLevel" c:type="GstDebugLevel"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="category" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="1882">a #GstDebugCategory to get threshold of.</doc>
+ <type name="DebugCategory" c:type="GstDebugCategory*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="reset_threshold"
+ c:identifier="gst_debug_category_reset_threshold">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="1864">Resets the threshold of the category to the default level. Debug information
+will only be output if the threshold is lower or equal to the level of the
+debugging message.
+Use this function to set the threshold back to where it was after using
+gst_debug_category_set_threshold().</doc>
+ <source-position filename="gst/gstinfo.h" line="493"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="category" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="1866">a #GstDebugCategory to reset threshold of.</doc>
+ <type name="DebugCategory" c:type="GstDebugCategory*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="set_threshold"
+ c:identifier="gst_debug_category_set_threshold">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="1838">Sets the threshold of the category to the given level. Debug information will
+only be output if the threshold is lower or equal to the level of the
+debugging message.
+&gt; Do not use this function in production code, because other functions may
+&gt; change the threshold of categories as side effect. It is however a nice
+&gt; function to use when debugging (even from gdb).</doc>
+ <source-position filename="gst/gstinfo.h" line="489"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="category" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="1840">a #GstDebugCategory to set threshold of.</doc>
+ <type name="DebugCategory" c:type="GstDebugCategory*"/>
+ </instance-parameter>
+ <parameter name="level" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="1841">the #GstDebugLevel threshold to set.</doc>
+ <type name="DebugLevel" c:type="GstDebugLevel"/>
+ </parameter>
+ </parameters>
+ </method>
+ </record>
+ <bitfield name="DebugColorFlags"
+ glib:type-name="GstDebugColorFlags"
+ glib:get-type="gst_debug_color_flags_get_type"
+ c:type="GstDebugColorFlags">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.h"
+ line="130">These are some terminal style flags you can use when creating your
+debugging categories to make them stand out in debugging output.</doc>
+ <member name="fg_black"
+ value="0"
+ c:identifier="GST_DEBUG_FG_BLACK"
+ glib:nick="fg-black">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.h"
+ line="132">Use black as foreground color.</doc>
+ </member>
+ <member name="fg_red"
+ value="1"
+ c:identifier="GST_DEBUG_FG_RED"
+ glib:nick="fg-red">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.h"
+ line="133">Use red as foreground color.</doc>
+ </member>
+ <member name="fg_green"
+ value="2"
+ c:identifier="GST_DEBUG_FG_GREEN"
+ glib:nick="fg-green">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.h"
+ line="134">Use green as foreground color.</doc>
+ </member>
+ <member name="fg_yellow"
+ value="3"
+ c:identifier="GST_DEBUG_FG_YELLOW"
+ glib:nick="fg-yellow">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.h"
+ line="135">Use yellow as foreground color.</doc>
+ </member>
+ <member name="fg_blue"
+ value="4"
+ c:identifier="GST_DEBUG_FG_BLUE"
+ glib:nick="fg-blue">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.h"
+ line="136">Use blue as foreground color.</doc>
+ </member>
+ <member name="fg_magenta"
+ value="5"
+ c:identifier="GST_DEBUG_FG_MAGENTA"
+ glib:nick="fg-magenta">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.h"
+ line="137">Use magenta as foreground color.</doc>
+ </member>
+ <member name="fg_cyan"
+ value="6"
+ c:identifier="GST_DEBUG_FG_CYAN"
+ glib:nick="fg-cyan">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.h"
+ line="138">Use cyan as foreground color.</doc>
+ </member>
+ <member name="fg_white"
+ value="7"
+ c:identifier="GST_DEBUG_FG_WHITE"
+ glib:nick="fg-white">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.h"
+ line="139">Use white as foreground color.</doc>
+ </member>
+ <member name="bg_black"
+ value="0"
+ c:identifier="GST_DEBUG_BG_BLACK"
+ glib:nick="bg-black">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.h"
+ line="140">Use black as background color.</doc>
+ </member>
+ <member name="bg_red"
+ value="16"
+ c:identifier="GST_DEBUG_BG_RED"
+ glib:nick="bg-red">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.h"
+ line="141">Use red as background color.</doc>
+ </member>
+ <member name="bg_green"
+ value="32"
+ c:identifier="GST_DEBUG_BG_GREEN"
+ glib:nick="bg-green">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.h"
+ line="142">Use green as background color.</doc>
+ </member>
+ <member name="bg_yellow"
+ value="48"
+ c:identifier="GST_DEBUG_BG_YELLOW"
+ glib:nick="bg-yellow">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.h"
+ line="143">Use yellow as background color.</doc>
+ </member>
+ <member name="bg_blue"
+ value="64"
+ c:identifier="GST_DEBUG_BG_BLUE"
+ glib:nick="bg-blue">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.h"
+ line="144">Use blue as background color.</doc>
+ </member>
+ <member name="bg_magenta"
+ value="80"
+ c:identifier="GST_DEBUG_BG_MAGENTA"
+ glib:nick="bg-magenta">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.h"
+ line="145">Use magenta as background color.</doc>
+ </member>
+ <member name="bg_cyan"
+ value="96"
+ c:identifier="GST_DEBUG_BG_CYAN"
+ glib:nick="bg-cyan">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.h"
+ line="146">Use cyan as background color.</doc>
+ </member>
+ <member name="bg_white"
+ value="112"
+ c:identifier="GST_DEBUG_BG_WHITE"
+ glib:nick="bg-white">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.h"
+ line="147">Use white as background color.</doc>
+ </member>
+ <member name="bold"
+ value="256"
+ c:identifier="GST_DEBUG_BOLD"
+ glib:nick="bold">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.h"
+ line="148">Make the output bold.</doc>
+ </member>
+ <member name="underline"
+ value="512"
+ c:identifier="GST_DEBUG_UNDERLINE"
+ glib:nick="underline">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.h"
+ line="149">Underline the output.</doc>
+ </member>
+ </bitfield>
+ <enumeration name="DebugColorMode"
+ glib:type-name="GstDebugColorMode"
+ glib:get-type="gst_debug_color_mode_get_type"
+ c:type="GstDebugColorMode">
+ <member name="off"
+ value="0"
+ c:identifier="GST_DEBUG_COLOR_MODE_OFF"
+ glib:nick="off">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.h"
+ line="196">Do not use colors in logs.</doc>
+ </member>
+ <member name="on"
+ value="1"
+ c:identifier="GST_DEBUG_COLOR_MODE_ON"
+ glib:nick="on">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.h"
+ line="197">Paint logs in a platform-specific way.</doc>
+ </member>
+ <member name="unix"
+ value="2"
+ c:identifier="GST_DEBUG_COLOR_MODE_UNIX"
+ glib:nick="unix">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.h"
+ line="198">Paint logs with UNIX terminal color codes
+ no matter what platform GStreamer is running on.</doc>
+ </member>
+ </enumeration>
+ <callback name="DebugFuncPtr" c:type="GstDebugFuncPtr">
+ <attribute name="doc.skip" value="true"/>
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.h"
+ line="396">we define this to avoid a compiler warning regarding a cast from a function
+pointer to a void pointer
+(see https://bugzilla.gnome.org/show_bug.cgi?id=309253)</doc>
+ <source-position filename="gst/gstinfo.h" line="402"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </callback>
+ <bitfield name="DebugGraphDetails"
+ glib:type-name="GstDebugGraphDetails"
+ glib:get-type="gst_debug_graph_details_get_type"
+ c:type="GstDebugGraphDetails">
+ <doc xml:space="preserve"
+ filename="gst/gstdebugutils.h"
+ line="32">Available details for pipeline graphs produced by GST_DEBUG_BIN_TO_DOT_FILE()
+and GST_DEBUG_BIN_TO_DOT_FILE_WITH_TS().</doc>
+ <member name="media_type"
+ value="1"
+ c:identifier="GST_DEBUG_GRAPH_SHOW_MEDIA_TYPE"
+ glib:nick="media-type">
+ <doc xml:space="preserve"
+ filename="gst/gstdebugutils.h"
+ line="34">show caps-name on edges</doc>
+ </member>
+ <member name="caps_details"
+ value="2"
+ c:identifier="GST_DEBUG_GRAPH_SHOW_CAPS_DETAILS"
+ glib:nick="caps-details">
+ <doc xml:space="preserve"
+ filename="gst/gstdebugutils.h"
+ line="35">show caps-details on edges</doc>
+ </member>
+ <member name="non_default_params"
+ value="4"
+ c:identifier="GST_DEBUG_GRAPH_SHOW_NON_DEFAULT_PARAMS"
+ glib:nick="non-default-params">
+ <doc xml:space="preserve"
+ filename="gst/gstdebugutils.h"
+ line="36">show modified parameters on
+ elements</doc>
+ </member>
+ <member name="states"
+ value="8"
+ c:identifier="GST_DEBUG_GRAPH_SHOW_STATES"
+ glib:nick="states">
+ <doc xml:space="preserve"
+ filename="gst/gstdebugutils.h"
+ line="38">show element states</doc>
+ </member>
+ <member name="full_params"
+ value="16"
+ c:identifier="GST_DEBUG_GRAPH_SHOW_FULL_PARAMS"
+ glib:nick="full-params">
+ <doc xml:space="preserve"
+ filename="gst/gstdebugutils.h"
+ line="39">show full element parameter values even
+ if they are very long</doc>
+ </member>
+ <member name="all"
+ value="15"
+ c:identifier="GST_DEBUG_GRAPH_SHOW_ALL"
+ glib:nick="all">
+ <doc xml:space="preserve"
+ filename="gst/gstdebugutils.h"
+ line="41">show all the typical details that one might want</doc>
+ </member>
+ <member name="verbose"
+ value="4294967295"
+ c:identifier="GST_DEBUG_GRAPH_SHOW_VERBOSE"
+ glib:nick="verbose">
+ <doc xml:space="preserve"
+ filename="gst/gstdebugutils.h"
+ line="42">show all details regardless of how large or
+ verbose they make the resulting output</doc>
+ </member>
+ </bitfield>
+ <enumeration name="DebugLevel"
+ glib:type-name="GstDebugLevel"
+ glib:get-type="gst_debug_level_get_type"
+ c:type="GstDebugLevel">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.h"
+ line="33">The level defines the importance of a debugging message. The more important a
+message is, the greater the probability that the debugging system outputs it.</doc>
+ <member name="none"
+ value="0"
+ c:identifier="GST_LEVEL_NONE"
+ glib:nick="none">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.h"
+ line="35">No debugging level specified or desired. Used to deactivate
+ debugging output.</doc>
+ </member>
+ <member name="error"
+ value="1"
+ c:identifier="GST_LEVEL_ERROR"
+ glib:nick="error">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.h"
+ line="37">Error messages are to be used only when an error occurred
+ that stops the application from keeping working correctly.
+ An examples is gst_element_error, which outputs a message with this priority.
+ It does not mean that the application is terminating as with g_error.</doc>
+ </member>
+ <member name="warning"
+ value="2"
+ c:identifier="GST_LEVEL_WARNING"
+ glib:nick="warning">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.h"
+ line="41">Warning messages are to inform about abnormal behaviour
+ that could lead to problems or weird behaviour later on. An example of this
+ would be clocking issues ("your computer is pretty slow") or broken input
+ data ("Can't synchronize to stream.")</doc>
+ </member>
+ <member name="fixme"
+ value="3"
+ c:identifier="GST_LEVEL_FIXME"
+ glib:nick="fixme">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.h"
+ line="45">Fixme messages are messages that indicate that something
+ in the executed code path is not fully implemented or handled yet. Note
+ that this does not replace proper error handling in any way, the purpose
+ of this message is to make it easier to spot incomplete/unfinished pieces
+ of code when reading the debug log.</doc>
+ </member>
+ <member name="info"
+ value="4"
+ c:identifier="GST_LEVEL_INFO"
+ glib:nick="info">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.h"
+ line="50">Informational messages should be used to keep the developer
+ updated about what is happening.
+ Examples where this should be used are when a typefind function has
+ successfully determined the type of the stream or when an mp3 plugin detects
+ the format to be used. ("This file has mono sound.")</doc>
+ </member>
+ <member name="debug"
+ value="5"
+ c:identifier="GST_LEVEL_DEBUG"
+ glib:nick="debug">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.h"
+ line="55">Debugging messages should be used when something common
+ happens that is not the expected default behavior, or something that's
+ useful to know but doesn't happen all the time (ie. per loop iteration or
+ buffer processed or event handled).
+ An example would be notifications about state changes or receiving/sending
+ of events.</doc>
+ </member>
+ <member name="log"
+ value="6"
+ c:identifier="GST_LEVEL_LOG"
+ glib:nick="log">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.h"
+ line="61">Log messages are messages that are very common but might be
+ useful to know. As a rule of thumb a pipeline that is running as expected
+ should never output anything else but LOG messages whilst processing data.
+ Use this log level to log recurring information in chain functions and
+ loop functions, for example.</doc>
+ </member>
+ <member name="trace"
+ value="7"
+ c:identifier="GST_LEVEL_TRACE"
+ glib:nick="trace">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.h"
+ line="66">Tracing-related messages.
+ Examples for this are referencing/dereferencing of objects.</doc>
+ </member>
+ <member name="memdump"
+ value="9"
+ c:identifier="GST_LEVEL_MEMDUMP"
+ glib:nick="memdump">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.h"
+ line="68">memory dump messages are used to log (small) chunks of
+ data as memory dumps in the log. They will be displayed as hexdump with
+ ASCII characters.</doc>
+ </member>
+ <member name="count"
+ value="10"
+ c:identifier="GST_LEVEL_COUNT"
+ glib:nick="count">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.h"
+ line="71">The number of defined debugging levels.</doc>
+ </member>
+ <function name="get_name" c:identifier="gst_debug_level_get_name">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="1338">Get the string representation of a debugging level</doc>
+ <source-position filename="gst/gstinfo.h" line="437"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="1344">the name</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="level" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="1340">the level to get the name for</doc>
+ <type name="DebugLevel" c:type="GstDebugLevel"/>
+ </parameter>
+ </parameters>
+ </function>
+ </enumeration>
+ <record name="DebugMessage" c:type="GstDebugMessage" disguised="1">
+ <source-position filename="gst/gstinfo.h" line="331"/>
+ <method name="get" c:identifier="gst_debug_message_get">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="555">Gets the string representation of a #GstDebugMessage. This function is used
+in debug handlers to extract the message.</doc>
+ <source-position filename="gst/gstinfo.h" line="415"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="562">the string representation of a #GstDebugMessage.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="message" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="557">a debug message</doc>
+ <type name="DebugMessage" c:type="GstDebugMessage*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ </record>
+ <class name="Device"
+ c:symbol-prefix="device"
+ c:type="GstDevice"
+ version="1.4"
+ parent="Object"
+ abstract="1"
+ glib:type-name="GstDevice"
+ glib:get-type="gst_device_get_type"
+ glib:type-struct="DeviceClass">
+ <doc xml:space="preserve"
+ filename="gst/gstdevice.c"
+ line="22">#GstDevice are objects representing a device, they contain
+relevant metadata about the device, such as its class and the #GstCaps
+representing the media types it can produce or handle.
+
+#GstDevice are created by #GstDeviceProvider objects which can be
+aggregated by #GstDeviceMonitor objects.</doc>
+ <source-position filename="gst/gstdevice.h" line="85"/>
+ <virtual-method name="create_element"
+ invoker="create_element"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst/gstdevice.c"
+ line="190">Creates the element with all of the required parameters set to use
+this device.</doc>
+ <source-position filename="gst/gstdevice.h" line="80"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstdevice.c"
+ line="199">a new #GstElement configured to use
+this device</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="device" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdevice.c"
+ line="192">a #GstDevice</doc>
+ <type name="Device" c:type="GstDevice*"/>
+ </instance-parameter>
+ <parameter name="name"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstdevice.c"
+ line="193">name of new element, or %NULL to automatically
+create a unique name.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="reconfigure_element"
+ invoker="reconfigure_element"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst/gstdevice.c"
+ line="312">Tries to reconfigure an existing element to use the device. If this
+function fails, then one must destroy the element and create a new one
+using gst_device_create_element().
+
+Note: This should only be implemented for elements can change their
+device in the PLAYING state.</doc>
+ <source-position filename="gst/gstdevice.h" line="81"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdevice.c"
+ line="324">%TRUE if the element could be reconfigured to use this device,
+%FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="device" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdevice.c"
+ line="314">a #GstDevice</doc>
+ <type name="Device" c:type="GstDevice*"/>
+ </instance-parameter>
+ <parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdevice.c"
+ line="315">a #GstElement</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <method name="create_element"
+ c:identifier="gst_device_create_element"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst/gstdevice.c"
+ line="190">Creates the element with all of the required parameters set to use
+this device.</doc>
+ <source-position filename="gst/gstdevice.h" line="91"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstdevice.c"
+ line="199">a new #GstElement configured to use
+this device</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="device" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdevice.c"
+ line="192">a #GstDevice</doc>
+ <type name="Device" c:type="GstDevice*"/>
+ </instance-parameter>
+ <parameter name="name"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstdevice.c"
+ line="193">name of new element, or %NULL to automatically
+create a unique name.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_caps" c:identifier="gst_device_get_caps" version="1.4">
+ <doc xml:space="preserve"
+ filename="gst/gstdevice.c"
+ line="226">Getter for the #GstCaps that this device supports.</doc>
+ <source-position filename="gst/gstdevice.h" line="94"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstdevice.c"
+ line="232">The #GstCaps supported by this device. Unref with
+gst_caps_unref() when done.</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="device" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdevice.c"
+ line="228">a #GstDevice</doc>
+ <type name="Device" c:type="GstDevice*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_device_class"
+ c:identifier="gst_device_get_device_class"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst/gstdevice.c"
+ line="267">Gets the "class" of a device. This is a "/" separated list of
+classes that represent this device. They are a subset of the
+classes of the #GstDeviceProvider that produced this device.</doc>
+ <source-position filename="gst/gstdevice.h" line="100"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstdevice.c"
+ line="275">The device class. Free with g_free() after use.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="device" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdevice.c"
+ line="269">a #GstDevice</doc>
+ <type name="Device" c:type="GstDevice*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_display_name"
+ c:identifier="gst_device_get_display_name"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst/gstdevice.c"
+ line="248">Gets the user-friendly name of the device.</doc>
+ <source-position filename="gst/gstdevice.h" line="97"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstdevice.c"
+ line="254">The device name. Free with g_free() after use.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="device" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdevice.c"
+ line="250">a #GstDevice</doc>
+ <type name="Device" c:type="GstDevice*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_properties"
+ c:identifier="gst_device_get_properties"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst/gstdevice.c"
+ line="290">Gets the extra properties of a device.</doc>
+ <source-position filename="gst/gstdevice.h" line="103"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstdevice.c"
+ line="296">The extra properties or %NULL when there are none.
+ Free with gst_structure_free() after use.</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="device" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdevice.c"
+ line="292">a #GstDevice</doc>
+ <type name="Device" c:type="GstDevice*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="has_classes"
+ c:identifier="gst_device_has_classes"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst/gstdevice.c"
+ line="385">Check if @device matches all of the given classes</doc>
+ <source-position filename="gst/gstdevice.h" line="112"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdevice.c"
+ line="393">%TRUE if @device matches.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="device" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdevice.c"
+ line="387">a #GstDevice</doc>
+ <type name="Device" c:type="GstDevice*"/>
+ </instance-parameter>
+ <parameter name="classes" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdevice.c"
+ line="388">a "/"-separated list of device classes to match, only match if
+ all classes are matched</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="has_classesv"
+ c:identifier="gst_device_has_classesv"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst/gstdevice.c"
+ line="342">Check if @factory matches all of the given classes</doc>
+ <source-position filename="gst/gstdevice.h" line="109"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdevice.c"
+ line="350">%TRUE if @device matches.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="device" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdevice.c"
+ line="344">a #GstDevice</doc>
+ <type name="Device" c:type="GstDevice*"/>
+ </instance-parameter>
+ <parameter name="classes" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdevice.c"
+ line="345">a %NULL terminated array of classes
+ to match, only match if all classes are matched</doc>
+ <array c:type="gchar**">
+ <type name="utf8" c:type="gchar*"/>
+ </array>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="reconfigure_element"
+ c:identifier="gst_device_reconfigure_element"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst/gstdevice.c"
+ line="312">Tries to reconfigure an existing element to use the device. If this
+function fails, then one must destroy the element and create a new one
+using gst_device_create_element().
+
+Note: This should only be implemented for elements can change their
+device in the PLAYING state.</doc>
+ <source-position filename="gst/gstdevice.h" line="106"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdevice.c"
+ line="324">%TRUE if the element could be reconfigured to use this device,
+%FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="device" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdevice.c"
+ line="314">a #GstDevice</doc>
+ <type name="Device" c:type="GstDevice*"/>
+ </instance-parameter>
+ <parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdevice.c"
+ line="315">a #GstElement</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="caps"
+ writable="1"
+ construct-only="1"
+ transfer-ownership="none">
+ <type name="Caps"/>
+ </property>
+ <property name="device-class"
+ writable="1"
+ construct-only="1"
+ transfer-ownership="none">
+ <type name="utf8" c:type="gchar*"/>
+ </property>
+ <property name="display-name"
+ writable="1"
+ construct-only="1"
+ transfer-ownership="none">
+ <type name="utf8" c:type="gchar*"/>
+ </property>
+ <property name="properties"
+ writable="1"
+ construct-only="1"
+ transfer-ownership="none">
+ <type name="Structure"/>
+ </property>
+ <field name="parent">
+ <doc xml:space="preserve"
+ filename="gst/gstdevice.h"
+ line="47">The parent #GstObject structure.</doc>
+ <type name="Object" c:type="GstObject"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="DevicePrivate" c:type="GstDevicePrivate*"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <glib:signal name="removed" when="last">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </glib:signal>
+ </class>
+ <record name="DeviceClass"
+ c:type="GstDeviceClass"
+ glib:is-gtype-struct-for="Device"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst/gstdevice.h"
+ line="63">The class structure for a #GstDevice object.</doc>
+ <source-position filename="gst/gstdevice.h" line="85"/>
+ <field name="parent_class">
+ <doc xml:space="preserve"
+ filename="gst/gstdevice.h"
+ line="65">The parent #GstObjectClass structure.</doc>
+ <type name="ObjectClass" c:type="GstObjectClass"/>
+ </field>
+ <field name="create_element">
+ <callback name="create_element">
+ <source-position filename="gst/gstdevice.h" line="80"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstdevice.c"
+ line="199">a new #GstElement configured to use
+this device</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </return-value>
+ <parameters>
+ <parameter name="device" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdevice.c"
+ line="192">a #GstDevice</doc>
+ <type name="Device" c:type="GstDevice*"/>
+ </parameter>
+ <parameter name="name"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstdevice.c"
+ line="193">name of new element, or %NULL to automatically
+create a unique name.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="reconfigure_element">
+ <callback name="reconfigure_element">
+ <source-position filename="gst/gstdevice.h" line="81"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdevice.c"
+ line="324">%TRUE if the element could be reconfigured to use this device,
+%FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="device" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdevice.c"
+ line="314">a #GstDevice</doc>
+ <type name="Device" c:type="GstDevice*"/>
+ </parameter>
+ <parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdevice.c"
+ line="315">a #GstElement</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <class name="DeviceMonitor"
+ c:symbol-prefix="device_monitor"
+ c:type="GstDeviceMonitor"
+ version="1.4"
+ parent="Object"
+ glib:type-name="GstDeviceMonitor"
+ glib:get-type="gst_device_monitor_get_type"
+ glib:type-struct="DeviceMonitorClass">
+ <doc xml:space="preserve"
+ filename="gst/gstdevicemonitor.c"
+ line="22">Applications should create a #GstDeviceMonitor when they want
+to probe, list and monitor devices of a specific type. The
+#GstDeviceMonitor will create the appropriate
+#GstDeviceProvider objects and manage them. It will then post
+messages on its #GstBus for devices that have been added and
+removed.
+
+The device monitor will monitor all devices matching the filters that
+the application has set.
+
+The basic use pattern of a device monitor is as follows:
+|[
+ static gboolean
+ my_bus_func (GstBus * bus, GstMessage * message, gpointer user_data)
+ {
+ GstDevice *device;
+ gchar *name;
+
+ switch (GST_MESSAGE_TYPE (message)) {
+ case GST_MESSAGE_DEVICE_ADDED:
+ gst_message_parse_device_added (message, &amp;device);
+ name = gst_device_get_display_name (device);
+ g_print("Device added: %s\n", name);
+ g_free (name);
+ gst_object_unref (device);
+ break;
+ case GST_MESSAGE_DEVICE_REMOVED:
+ gst_message_parse_device_removed (message, &amp;device);
+ name = gst_device_get_display_name (device);
+ g_print("Device removed: %s\n", name);
+ g_free (name);
+ gst_object_unref (device);
+ break;
+ default:
+ break;
+ }
+
+ return G_SOURCE_CONTINUE;
+ }
+
+ GstDeviceMonitor *
+ setup_raw_video_source_device_monitor (void) {
+ GstDeviceMonitor *monitor;
+ GstBus *bus;
+ GstCaps *caps;
+
+ monitor = gst_device_monitor_new ();
+
+ bus = gst_device_monitor_get_bus (monitor);
+ gst_bus_add_watch (bus, my_bus_func, NULL);
+ gst_object_unref (bus);
+
+ caps = gst_caps_new_empty_simple ("video/x-raw");
+ gst_device_monitor_add_filter (monitor, "Video/Source", caps);
+ gst_caps_unref (caps);
+
+ gst_device_monitor_start (monitor);
+
+ return monitor;
+ }
+]|</doc>
+ <source-position filename="gst/gstdevicemonitor.h" line="76"/>
+ <constructor name="new"
+ c:identifier="gst_device_monitor_new"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst/gstdevicemonitor.c"
+ line="792">Create a new #GstDeviceMonitor</doc>
+ <source-position filename="gst/gstdevicemonitor.h" line="82"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstdevicemonitor.c"
+ line="797">a new device monitor.</doc>
+ <type name="DeviceMonitor" c:type="GstDeviceMonitor*"/>
+ </return-value>
+ </constructor>
+ <method name="add_filter"
+ c:identifier="gst_device_monitor_add_filter"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst/gstdevicemonitor.c"
+ line="621">Adds a filter for which #GstDevice will be monitored, any device that matches
+all these classes and the #GstCaps will be returned.
+
+If this function is called multiple times to add more filters, each will be
+matched independently. That is, adding more filters will not further restrict
+what devices are matched.
+
+The #GstCaps supported by the device as returned by gst_device_get_caps() are
+not intersected with caps filters added using this function.
+
+Filters must be added before the #GstDeviceMonitor is started.</doc>
+ <source-position filename="gst/gstdevicemonitor.h" line="99"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdevicemonitor.c"
+ line="639">The id of the new filter or 0 if no provider matched the filter's
+ classes.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="monitor" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdevicemonitor.c"
+ line="623">a device monitor</doc>
+ <type name="DeviceMonitor" c:type="GstDeviceMonitor*"/>
+ </instance-parameter>
+ <parameter name="classes"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstdevicemonitor.c"
+ line="624">device classes to use as filter or %NULL for any class</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="caps"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstdevicemonitor.c"
+ line="625">the #GstCaps to filter or %NULL for ANY</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_bus"
+ c:identifier="gst_device_monitor_get_bus"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst/gstdevicemonitor.c"
+ line="814">Gets the #GstBus of this #GstDeviceMonitor</doc>
+ <source-position filename="gst/gstdevicemonitor.h" line="85"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstdevicemonitor.c"
+ line="820">a #GstBus</doc>
+ <type name="Bus" c:type="GstBus*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="monitor" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdevicemonitor.c"
+ line="816">a #GstDeviceProvider</doc>
+ <type name="DeviceMonitor" c:type="GstDeviceMonitor*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_devices"
+ c:identifier="gst_device_monitor_get_devices"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst/gstdevicemonitor.c"
+ line="344">Gets a list of devices from all of the relevant monitors. This may actually
+probe the hardware if the monitor is not currently started.</doc>
+ <source-position filename="gst/gstdevicemonitor.h" line="88"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstdevicemonitor.c"
+ line="351">a #GList of
+ #GstDevice</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="Device"/>
+ </type>
+ </return-value>
+ <parameters>
+ <instance-parameter name="monitor" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdevicemonitor.c"
+ line="346">A #GstDeviceProvider</doc>
+ <type name="DeviceMonitor" c:type="GstDeviceMonitor*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_providers"
+ c:identifier="gst_device_monitor_get_providers"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst/gstdevicemonitor.c"
+ line="832">Get a list of the currently selected device provider factories.
+
+This</doc>
+ <source-position filename="gst/gstdevicemonitor.h" line="106"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstdevicemonitor.c"
+ line="840">
+ A list of device provider factory names that are currently being
+ monitored by @monitor or %NULL when nothing is being monitored.</doc>
+ <array c:type="gchar**">
+ <type name="utf8"/>
+ </array>
+ </return-value>
+ <parameters>
+ <instance-parameter name="monitor" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdevicemonitor.c"
+ line="834">a #GstDeviceMonitor</doc>
+ <type name="DeviceMonitor" c:type="GstDeviceMonitor*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_show_all_devices"
+ c:identifier="gst_device_monitor_get_show_all_devices"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst/gstdevicemonitor.c"
+ line="898">Get if @monitor is currently showing all devices, even those from hidden
+providers.</doc>
+ <source-position filename="gst/gstdevicemonitor.h" line="112"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdevicemonitor.c"
+ line="905">%TRUE when all devices will be shown.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="monitor" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdevicemonitor.c"
+ line="900">a #GstDeviceMonitor</doc>
+ <type name="DeviceMonitor" c:type="GstDeviceMonitor*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="remove_filter"
+ c:identifier="gst_device_monitor_remove_filter"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst/gstdevicemonitor.c"
+ line="725">Removes a filter from the #GstDeviceMonitor using the id that was returned
+by gst_device_monitor_add_filter().</doc>
+ <source-position filename="gst/gstdevicemonitor.h" line="103"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdevicemonitor.c"
+ line="733">%TRUE of the filter id was valid, %FALSE otherwise</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="monitor" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdevicemonitor.c"
+ line="727">a device monitor</doc>
+ <type name="DeviceMonitor" c:type="GstDeviceMonitor*"/>
+ </instance-parameter>
+ <parameter name="filter_id" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdevicemonitor.c"
+ line="728">the id of the filter</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_show_all_devices"
+ c:identifier="gst_device_monitor_set_show_all_devices"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst/gstdevicemonitor.c"
+ line="877">Set if all devices should be visible, even those devices from hidden
+providers. Setting @show_all to true might show some devices multiple times.</doc>
+ <source-position filename="gst/gstdevicemonitor.h" line="109"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="monitor" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdevicemonitor.c"
+ line="879">a #GstDeviceMonitor</doc>
+ <type name="DeviceMonitor" c:type="GstDeviceMonitor*"/>
+ </instance-parameter>
+ <parameter name="show_all" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdevicemonitor.c"
+ line="880">show all devices</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="start"
+ c:identifier="gst_device_monitor_start"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst/gstdevicemonitor.c"
+ line="444">Starts monitoring the devices, one this has succeeded, the
+%GST_MESSAGE_DEVICE_ADDED and %GST_MESSAGE_DEVICE_REMOVED messages
+will be emitted on the bus when the list of devices changes.</doc>
+ <source-position filename="gst/gstdevicemonitor.h" line="92"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdevicemonitor.c"
+ line="452">%TRUE if the device monitoring could be started</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="monitor" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdevicemonitor.c"
+ line="446">A #GstDeviceMonitor</doc>
+ <type name="DeviceMonitor" c:type="GstDeviceMonitor*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="stop" c:identifier="gst_device_monitor_stop" version="1.4">
+ <doc xml:space="preserve"
+ filename="gst/gstdevicemonitor.c"
+ line="551">Stops monitoring the devices.</doc>
+ <source-position filename="gst/gstdevicemonitor.h" line="95"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="monitor" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdevicemonitor.c"
+ line="553">A #GstDeviceProvider</doc>
+ <type name="DeviceMonitor" c:type="GstDeviceMonitor*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <property name="show-all" writable="1" transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </property>
+ <field name="parent">
+ <doc xml:space="preserve"
+ filename="gst/gstdevicemonitor.h"
+ line="47">the parent #GstObject structure</doc>
+ <type name="Object" c:type="GstObject"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="DeviceMonitorPrivate" c:type="GstDeviceMonitorPrivate*"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="DeviceMonitorClass"
+ c:type="GstDeviceMonitorClass"
+ glib:is-gtype-struct-for="DeviceMonitor"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst/gstdevicemonitor.h"
+ line="63">Opaque device monitor class structure.</doc>
+ <source-position filename="gst/gstdevicemonitor.h" line="76"/>
+ <field name="parent_class">
+ <doc xml:space="preserve"
+ filename="gst/gstdevicemonitor.h"
+ line="65">the parent #GstObjectClass structure</doc>
+ <type name="ObjectClass" c:type="GstObjectClass"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="DeviceMonitorPrivate"
+ c:type="GstDeviceMonitorPrivate"
+ disguised="1">
+ <source-position filename="gst/gstdevicemonitor.h" line="34"/>
+ </record>
+ <record name="DevicePrivate" c:type="GstDevicePrivate" disguised="1">
+ <source-position filename="gst/gstdevice.h" line="35"/>
+ </record>
+ <class name="DeviceProvider"
+ c:symbol-prefix="device_provider"
+ c:type="GstDeviceProvider"
+ version="1.4"
+ parent="Object"
+ abstract="1"
+ glib:type-name="GstDeviceProvider"
+ glib:get-type="gst_device_provider_get_type"
+ glib:type-struct="DeviceProviderClass">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceprovider.c"
+ line="22">A #GstDeviceProvider subclass is provided by a plugin that handles devices
+if there is a way to programmatically list connected devices. It can also
+optionally provide updates to the list of connected devices.
+
+Each #GstDeviceProvider subclass is a singleton, a plugin should
+normally provide a single subclass for all devices.
+
+Applications would normally use a #GstDeviceMonitor to monitor devices
+from all relevant providers.</doc>
+ <source-position filename="gst/gstdeviceprovider.h" line="101"/>
+ <function name="register"
+ c:identifier="gst_device_provider_register"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceproviderfactory.c"
+ line="155">Create a new device providerfactory capable of instantiating objects of the
+@type and add the factory to @plugin.</doc>
+ <source-position filename="gst/gstdeviceproviderfactory.h" line="85"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceproviderfactory.c"
+ line="166">%TRUE, if the registering succeeded, %FALSE on error</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="plugin"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceproviderfactory.c"
+ line="157">#GstPlugin to register the device provider with, or %NULL for
+ a static device provider.</doc>
+ <type name="Plugin" c:type="GstPlugin*"/>
+ </parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceproviderfactory.c"
+ line="159">name of device providers of this type</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="rank" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceproviderfactory.c"
+ line="160">rank of device provider (higher rank means more importance when autoplugging)</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceproviderfactory.c"
+ line="161">GType of device provider to register</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ </parameters>
+ </function>
+ <virtual-method name="probe" introspectable="0">
+ <source-position filename="gst/gstdeviceprovider.h" line="91"/>
+ <return-value>
+ <type name="GLib.List" c:type="GList*">
+ <type name="gpointer" c:type="gpointer"/>
+ </type>
+ </return-value>
+ <parameters>
+ <instance-parameter name="provider" transfer-ownership="none">
+ <type name="DeviceProvider" c:type="GstDeviceProvider*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="start" invoker="start" version="1.4">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceprovider.c"
+ line="436">Starts providering the devices. This will cause #GST_MESSAGE_DEVICE_ADDED
+and #GST_MESSAGE_DEVICE_REMOVED messages to be posted on the provider's bus
+when devices are added or removed from the system.
+
+Since the #GstDeviceProvider is a singleton,
+gst_device_provider_start() may already have been called by another
+user of the object, gst_device_provider_stop() needs to be called the same
+number of times.
+
+After this function has been called, gst_device_provider_get_devices() will
+return the same objects that have been received from the
+#GST_MESSAGE_DEVICE_ADDED messages and will no longer probe.</doc>
+ <source-position filename="gst/gstdeviceprovider.h" line="93"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceprovider.c"
+ line="453">%TRUE if the device providering could be started</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="provider" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceprovider.c"
+ line="438">A #GstDeviceProvider</doc>
+ <type name="DeviceProvider" c:type="GstDeviceProvider*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="stop" invoker="stop" version="1.4">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceprovider.c"
+ line="512">Decreases the use-count by one. If the use count reaches zero, this
+#GstDeviceProvider will stop providering the devices. This needs to be
+called the same number of times that gst_device_provider_start() was called.</doc>
+ <source-position filename="gst/gstdeviceprovider.h" line="94"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="provider" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceprovider.c"
+ line="514">A #GstDeviceProvider</doc>
+ <type name="DeviceProvider" c:type="GstDeviceProvider*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <method name="can_monitor"
+ c:identifier="gst_device_provider_can_monitor">
+ <source-position filename="gst/gstdeviceprovider.h" line="117"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="provider" transfer-ownership="none">
+ <type name="DeviceProvider" c:type="GstDeviceProvider*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="device_add"
+ c:identifier="gst_device_provider_device_add"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceprovider.c"
+ line="611">Posts a message on the provider's #GstBus to inform applications that
+a new device has been added.
+
+This is for use by subclasses.
+
+@device's reference count will be incremented, and any floating reference
+will be removed (see gst_object_ref_sink()).</doc>
+ <source-position filename="gst/gstdeviceprovider.h" line="123"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="provider" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceprovider.c"
+ line="613">a #GstDeviceProvider</doc>
+ <type name="DeviceProvider" c:type="GstDeviceProvider*"/>
+ </instance-parameter>
+ <parameter name="device" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceprovider.c"
+ line="614">a #GstDevice that has been added</doc>
+ <type name="Device" c:type="GstDevice*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="device_changed"
+ c:identifier="gst_device_provider_device_changed"
+ version="1.16">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceprovider.c"
+ line="810">This function is used when @changed_device was modified into its new form
+@device. This will post a `DEVICE_CHANGED` message on the bus to let
+the application know that the device was modified. #GstDevice is immutable
+for MT. safety purposes so this is an "atomic" way of letting the application
+know when a device was modified.</doc>
+ <source-position filename="gst/gstdeviceprovider.h" line="170"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="provider" transfer-ownership="none">
+ <type name="DeviceProvider" c:type="GstDeviceProvider*"/>
+ </instance-parameter>
+ <parameter name="device" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceprovider.c"
+ line="812">the new version of @changed_device</doc>
+ <type name="Device" c:type="GstDevice*"/>
+ </parameter>
+ <parameter name="changed_device" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceprovider.c"
+ line="813">the old version of the device that has been updated</doc>
+ <type name="Device" c:type="GstDevice*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="device_remove"
+ c:identifier="gst_device_provider_device_remove"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceprovider.c"
+ line="654">Posts a message on the provider's #GstBus to inform applications that
+a device has been removed.
+
+This is for use by subclasses.</doc>
+ <source-position filename="gst/gstdeviceprovider.h" line="126"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="provider" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceprovider.c"
+ line="656">a #GstDeviceProvider</doc>
+ <type name="DeviceProvider" c:type="GstDeviceProvider*"/>
+ </instance-parameter>
+ <parameter name="device" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceprovider.c"
+ line="657">a #GstDevice that has been removed</doc>
+ <type name="Device" c:type="GstDevice*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_bus"
+ c:identifier="gst_device_provider_get_bus"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceprovider.c"
+ line="593">Gets the #GstBus of this #GstDeviceProvider</doc>
+ <source-position filename="gst/gstdeviceprovider.h" line="120"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceprovider.c"
+ line="599">a #GstBus</doc>
+ <type name="Bus" c:type="GstBus*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="provider" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceprovider.c"
+ line="595">a #GstDeviceProvider</doc>
+ <type name="DeviceProvider" c:type="GstDeviceProvider*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_devices"
+ c:identifier="gst_device_provider_get_devices"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceprovider.c"
+ line="387">Gets a list of devices that this provider understands. This may actually
+probe the hardware if the provider is not currently started.
+
+If the provider has been started, this will returned the same #GstDevice
+objedcts that have been returned by the #GST_MESSAGE_DEVICE_ADDED messages.</doc>
+ <source-position filename="gst/gstdeviceprovider.h" line="108"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceprovider.c"
+ line="397">a #GList of
+ #GstDevice</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="Device"/>
+ </type>
+ </return-value>
+ <parameters>
+ <instance-parameter name="provider" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceprovider.c"
+ line="389">A #GstDeviceProvider</doc>
+ <type name="DeviceProvider" c:type="GstDeviceProvider*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_factory"
+ c:identifier="gst_device_provider_get_factory"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceprovider.c"
+ line="551">Retrieves the factory that was used to create this device provider.</doc>
+ <source-position filename="gst/gstdeviceprovider.h" line="177"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceprovider.c"
+ line="557">the #GstDeviceProviderFactory used for
+ creating this device provider. no refcounting is needed.</doc>
+ <type name="DeviceProviderFactory"
+ c:type="GstDeviceProviderFactory*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="provider" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceprovider.c"
+ line="553">a #GstDeviceProvider to request the device provider factory of.</doc>
+ <type name="DeviceProvider" c:type="GstDeviceProvider*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_hidden_providers"
+ c:identifier="gst_device_provider_get_hidden_providers"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceprovider.c"
+ line="690">Get the provider factory names of the #GstDeviceProvider instances that
+are hidden by @provider.</doc>
+ <source-position filename="gst/gstdeviceprovider.h" line="129"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceprovider.c"
+ line="697">
+ a list of hidden providers factory names or %NULL when
+ nothing is hidden by @provider. Free with g_strfreev.</doc>
+ <array c:type="gchar**">
+ <type name="utf8"/>
+ </array>
+ </return-value>
+ <parameters>
+ <instance-parameter name="provider" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceprovider.c"
+ line="692">a #GstDeviceProvider</doc>
+ <type name="DeviceProvider" c:type="GstDeviceProvider*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_metadata"
+ c:identifier="gst_device_provider_get_metadata"
+ version="1.14">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceprovider.c"
+ line="364">Get metadata with @key in @provider.</doc>
+ <source-position filename="gst/gstdeviceprovider.h" line="139"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceprovider.c"
+ line="371">the metadata for @key.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="provider" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceprovider.c"
+ line="366">provider to get metadata for</doc>
+ <type name="DeviceProvider" c:type="GstDeviceProvider*"/>
+ </instance-parameter>
+ <parameter name="key" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceprovider.c"
+ line="367">the key to get</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="hide_provider"
+ c:identifier="gst_device_provider_hide_provider"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceprovider.c"
+ line="729">Make @provider hide the devices from the factory with @name.
+
+This function is used when @provider will also provide the devices reported
+by provider factory @name. A monitor should stop monitoring the
+device provider with @name to avoid duplicate devices.</doc>
+ <source-position filename="gst/gstdeviceprovider.h" line="132"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="provider" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceprovider.c"
+ line="731">a #GstDeviceProvider</doc>
+ <type name="DeviceProvider" c:type="GstDeviceProvider*"/>
+ </instance-parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceprovider.c"
+ line="732">a provider factory name</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="is_started"
+ c:identifier="gst_device_provider_is_started"
+ version="1.20">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceprovider.c"
+ line="860">This function can be used to know if the @provider was successfully started.</doc>
+ <source-position filename="gst/gstdeviceprovider.h" line="143"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="provider" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceprovider.c"
+ line="862">a #GstDeviceProvider</doc>
+ <type name="DeviceProvider" c:type="GstDeviceProvider*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="start"
+ c:identifier="gst_device_provider_start"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceprovider.c"
+ line="436">Starts providering the devices. This will cause #GST_MESSAGE_DEVICE_ADDED
+and #GST_MESSAGE_DEVICE_REMOVED messages to be posted on the provider's bus
+when devices are added or removed from the system.
+
+Since the #GstDeviceProvider is a singleton,
+gst_device_provider_start() may already have been called by another
+user of the object, gst_device_provider_stop() needs to be called the same
+number of times.
+
+After this function has been called, gst_device_provider_get_devices() will
+return the same objects that have been received from the
+#GST_MESSAGE_DEVICE_ADDED messages and will no longer probe.</doc>
+ <source-position filename="gst/gstdeviceprovider.h" line="111"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceprovider.c"
+ line="453">%TRUE if the device providering could be started</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="provider" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceprovider.c"
+ line="438">A #GstDeviceProvider</doc>
+ <type name="DeviceProvider" c:type="GstDeviceProvider*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="stop"
+ c:identifier="gst_device_provider_stop"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceprovider.c"
+ line="512">Decreases the use-count by one. If the use count reaches zero, this
+#GstDeviceProvider will stop providering the devices. This needs to be
+called the same number of times that gst_device_provider_start() was called.</doc>
+ <source-position filename="gst/gstdeviceprovider.h" line="114"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="provider" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceprovider.c"
+ line="514">A #GstDeviceProvider</doc>
+ <type name="DeviceProvider" c:type="GstDeviceProvider*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="unhide_provider"
+ c:identifier="gst_device_provider_unhide_provider"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceprovider.c"
+ line="768">Make @provider unhide the devices from factory @name.
+
+This function is used when @provider will no longer provide the devices
+reported by provider factory @name. A monitor should start
+monitoring the devices from provider factory @name in order to see
+all devices again.</doc>
+ <source-position filename="gst/gstdeviceprovider.h" line="135"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="provider" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceprovider.c"
+ line="770">a #GstDeviceProvider</doc>
+ <type name="DeviceProvider" c:type="GstDeviceProvider*"/>
+ </instance-parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceprovider.c"
+ line="771">a provider factory name</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <field name="parent">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceprovider.h"
+ line="48">The parent #GstObject</doc>
+ <type name="Object" c:type="GstObject"/>
+ </field>
+ <field name="devices">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceprovider.h"
+ line="49">a #GList of the #GstDevice objects</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="gpointer" c:type="gpointer"/>
+ </type>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="DeviceProviderPrivate" c:type="GstDeviceProviderPrivate*"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <glib:signal name="provider-hidden" when="first">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="provider-unhidden" when="first">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ </class>
+ <record name="DeviceProviderClass"
+ c:type="GstDeviceProviderClass"
+ glib:is-gtype-struct-for="DeviceProvider"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceprovider.h"
+ line="68">The structure of the base #GstDeviceProviderClass</doc>
+ <source-position filename="gst/gstdeviceprovider.h" line="101"/>
+ <field name="parent_class">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceprovider.h"
+ line="70">the parent #GstObjectClass structure</doc>
+ <type name="ObjectClass" c:type="GstObjectClass"/>
+ </field>
+ <field name="factory">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceprovider.h"
+ line="71">a pointer to the #GstDeviceProviderFactory that creates this
+ provider</doc>
+ <type name="DeviceProviderFactory" c:type="GstDeviceProviderFactory*"/>
+ </field>
+ <field name="probe" introspectable="0">
+ <callback name="probe" introspectable="0">
+ <source-position filename="gst/gstdeviceprovider.h" line="91"/>
+ <return-value>
+ <type name="GLib.List" c:type="GList*">
+ <type name="gpointer" c:type="gpointer"/>
+ </type>
+ </return-value>
+ <parameters>
+ <parameter name="provider" transfer-ownership="none">
+ <type name="DeviceProvider" c:type="GstDeviceProvider*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="start">
+ <callback name="start">
+ <source-position filename="gst/gstdeviceprovider.h" line="93"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceprovider.c"
+ line="453">%TRUE if the device providering could be started</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="provider" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceprovider.c"
+ line="438">A #GstDeviceProvider</doc>
+ <type name="DeviceProvider" c:type="GstDeviceProvider*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="stop">
+ <callback name="stop">
+ <source-position filename="gst/gstdeviceprovider.h" line="94"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="provider" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceprovider.c"
+ line="514">A #GstDeviceProvider</doc>
+ <type name="DeviceProvider" c:type="GstDeviceProvider*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="metadata" readable="0" private="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <method name="add_metadata"
+ c:identifier="gst_device_provider_class_add_metadata"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceprovider.c"
+ line="200">Set @key with @value as metadata in @klass.</doc>
+ <source-position filename="gst/gstdeviceprovider.h" line="160"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="klass" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceprovider.c"
+ line="202">class to set metadata for</doc>
+ <type name="DeviceProviderClass" c:type="GstDeviceProviderClass*"/>
+ </instance-parameter>
+ <parameter name="key" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceprovider.c"
+ line="203">the key to set</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceprovider.c"
+ line="204">the value to set</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_static_metadata"
+ c:identifier="gst_device_provider_class_add_static_metadata"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceprovider.c"
+ line="222">Set @key with @value as metadata in @klass.
+
+Same as gst_device_provider_class_add_metadata(), but @value must be a static string
+or an inlined string, as it will not be copied. (GStreamer plugins will
+be made resident once loaded, so this function can be used even from
+dynamically loaded plugins.)</doc>
+ <source-position filename="gst/gstdeviceprovider.h" line="163"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="klass" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceprovider.c"
+ line="224">class to set metadata for</doc>
+ <type name="DeviceProviderClass" c:type="GstDeviceProviderClass*"/>
+ </instance-parameter>
+ <parameter name="key" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceprovider.c"
+ line="225">the key to set</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceprovider.c"
+ line="226">the value to set</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_metadata"
+ c:identifier="gst_device_provider_class_get_metadata"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceprovider.c"
+ line="343">Get metadata with @key in @klass.</doc>
+ <source-position filename="gst/gstdeviceprovider.h" line="166"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceprovider.c"
+ line="350">the metadata for @key.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="klass" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceprovider.c"
+ line="345">class to get metadata for</doc>
+ <type name="DeviceProviderClass" c:type="GstDeviceProviderClass*"/>
+ </instance-parameter>
+ <parameter name="key" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceprovider.c"
+ line="346">the key to get</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_metadata"
+ c:identifier="gst_device_provider_class_set_metadata"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceprovider.c"
+ line="252">Sets the detailed information for a #GstDeviceProviderClass.
+
+&gt; This function is for use in _class_init functions only.</doc>
+ <source-position filename="gst/gstdeviceprovider.h" line="148"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="klass" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceprovider.c"
+ line="254">class to set metadata for</doc>
+ <type name="DeviceProviderClass" c:type="GstDeviceProviderClass*"/>
+ </instance-parameter>
+ <parameter name="longname" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceprovider.c"
+ line="255">The long English name of the device provider. E.g. "File Sink"</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="classification" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceprovider.c"
+ line="256">String describing the type of device provider, as an
+ unordered list separated with slashes ('/'). See draft-klass.txt of the
+ design docs
+for more details and common types. E.g: "Sink/File"</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="description" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceprovider.c"
+ line="260">Sentence describing the purpose of the device provider.
+E.g: "Write stream to a file"</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="author" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceprovider.c"
+ line="262">Name and contact details of the author(s). Use \n to separate
+multiple author metadata. E.g: "Joe Bloggs &amp;lt;joe.blogs at foo.com&amp;gt;"</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_static_metadata"
+ c:identifier="gst_device_provider_class_set_static_metadata"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceprovider.c"
+ line="289">Sets the detailed information for a #GstDeviceProviderClass.
+
+&gt; This function is for use in _class_init functions only.
+
+Same as gst_device_provider_class_set_metadata(), but @longname, @classification,
+@description, and @author must be static strings or inlined strings, as
+they will not be copied. (GStreamer plugins will be made resident once
+loaded, so this function can be used even from dynamically loaded plugins.)</doc>
+ <source-position filename="gst/gstdeviceprovider.h" line="154"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="klass" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceprovider.c"
+ line="291">class to set metadata for</doc>
+ <type name="DeviceProviderClass" c:type="GstDeviceProviderClass*"/>
+ </instance-parameter>
+ <parameter name="longname" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceprovider.c"
+ line="292">The long English name of the element. E.g. "File Sink"</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="classification" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceprovider.c"
+ line="293">String describing the type of element, as
+an unordered list separated with slashes ('/'). See draft-klass.txt of the
+design docs for more details and common types. E.g: "Sink/File"</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="description" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceprovider.c"
+ line="296">Sentence describing the purpose of the
+element. E.g: "Write stream to a file"</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="author" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceprovider.c"
+ line="298">Name and contact details of the author(s). Use \n
+to separate multiple author metadata. E.g: "Joe Bloggs &amp;lt;joe.blogs at
+foo.com&amp;gt;"</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ </record>
+ <class name="DeviceProviderFactory"
+ c:symbol-prefix="device_provider_factory"
+ c:type="GstDeviceProviderFactory"
+ version="1.4"
+ parent="PluginFeature"
+ glib:type-name="GstDeviceProviderFactory"
+ glib:get-type="gst_device_provider_factory_get_type"
+ glib:type-struct="DeviceProviderFactoryClass">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceproviderfactory.c"
+ line="24">#GstDeviceProviderFactory is used to create instances of device providers. A
+GstDeviceProviderfactory can be added to a #GstPlugin as it is also a
+#GstPluginFeature.
+
+Use the gst_device_provider_factory_find() and
+gst_device_provider_factory_get() functions to create device
+provider instances or use gst_device_provider_factory_get_by_name() as a
+convenient shortcut.</doc>
+ <source-position filename="gst/gstdeviceproviderfactory.h" line="45"/>
+ <function name="find"
+ c:identifier="gst_device_provider_factory_find"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceproviderfactory.c"
+ line="103">Search for an device provider factory of the given name. Refs the returned
+device provider factory; caller is responsible for unreffing.</doc>
+ <source-position filename="gst/gstdeviceproviderfactory.h" line="67"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceproviderfactory.c"
+ line="110">#GstDeviceProviderFactory if
+found, %NULL otherwise</doc>
+ <type name="DeviceProviderFactory"
+ c:type="GstDeviceProviderFactory*"/>
+ </return-value>
+ <parameters>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceproviderfactory.c"
+ line="105">name of factory to find</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="get_by_name"
+ c:identifier="gst_device_provider_factory_get_by_name"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceproviderfactory.c"
+ line="339">Returns the device provider of the type defined by the given device
+provider factory.</doc>
+ <source-position filename="gst/gstdeviceproviderfactory.h" line="82"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceproviderfactory.c"
+ line="346">a #GstDeviceProvider or %NULL
+if unable to create device provider</doc>
+ <type name="DeviceProvider" c:type="GstDeviceProvider*"/>
+ </return-value>
+ <parameters>
+ <parameter name="factoryname" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceproviderfactory.c"
+ line="341">a named factory to instantiate</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="list_get_device_providers"
+ c:identifier="gst_device_provider_factory_list_get_device_providers"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceproviderfactory.c"
+ line="559">Get a list of factories with a rank greater or equal to @minrank.
+The list of factories is returned by decreasing rank.</doc>
+ <source-position filename="gst/gstdeviceproviderfactory.h" line="95"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceproviderfactory.c"
+ line="566">
+a #GList of #GstDeviceProviderFactory device providers. Use
+gst_plugin_feature_list_free() after usage.</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="DeviceProviderFactory"/>
+ </type>
+ </return-value>
+ <parameters>
+ <parameter name="minrank" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceproviderfactory.c"
+ line="561">Minimum rank</doc>
+ <type name="Rank" c:type="GstRank"/>
+ </parameter>
+ </parameters>
+ </function>
+ <method name="get"
+ c:identifier="gst_device_provider_factory_get"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceproviderfactory.c"
+ line="241">Returns the device provider of the type defined by the given device
+providerfactory.</doc>
+ <source-position filename="gst/gstdeviceproviderfactory.h" line="79"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceproviderfactory.c"
+ line="248">the #GstDeviceProvider or %NULL
+if the device provider couldn't be created</doc>
+ <type name="DeviceProvider" c:type="GstDeviceProvider*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="factory" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceproviderfactory.c"
+ line="243">factory to instantiate</doc>
+ <type name="DeviceProviderFactory"
+ c:type="GstDeviceProviderFactory*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_device_provider_type"
+ c:identifier="gst_device_provider_factory_get_device_provider_type"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceproviderfactory.c"
+ line="388">Get the #GType for device providers managed by this factory. The type can
+only be retrieved if the device provider factory is loaded, which can be
+assured with gst_plugin_feature_load().</doc>
+ <source-position filename="gst/gstdeviceproviderfactory.h" line="70"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceproviderfactory.c"
+ line="396">the #GType for device providers managed by this factory.</doc>
+ <type name="GType" c:type="GType"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="factory" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceproviderfactory.c"
+ line="390">factory to get managed #GType from</doc>
+ <type name="DeviceProviderFactory"
+ c:type="GstDeviceProviderFactory*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_metadata"
+ c:identifier="gst_device_provider_factory_get_metadata"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceproviderfactory.c"
+ line="410">Get the metadata on @factory with @key.</doc>
+ <source-position filename="gst/gstdeviceproviderfactory.h" line="73"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceproviderfactory.c"
+ line="417">the metadata with @key on @factory or %NULL
+when there was no metadata with the given @key.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="factory" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceproviderfactory.c"
+ line="412">a #GstDeviceProviderFactory</doc>
+ <type name="DeviceProviderFactory"
+ c:type="GstDeviceProviderFactory*"/>
+ </instance-parameter>
+ <parameter name="key" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceproviderfactory.c"
+ line="413">a key</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_metadata_keys"
+ c:identifier="gst_device_provider_factory_get_metadata_keys"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceproviderfactory.c"
+ line="429">Get the available keys for the metadata on @factory.</doc>
+ <source-position filename="gst/gstdeviceproviderfactory.h" line="76"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceproviderfactory.c"
+ line="435">
+a %NULL-terminated array of key strings, or %NULL when there is no
+metadata. Free with g_strfreev() when no longer needed.</doc>
+ <array c:type="gchar**">
+ <type name="utf8"/>
+ </array>
+ </return-value>
+ <parameters>
+ <instance-parameter name="factory" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceproviderfactory.c"
+ line="431">a #GstDeviceProviderFactory</doc>
+ <type name="DeviceProviderFactory"
+ c:type="GstDeviceProviderFactory*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="has_classes"
+ c:identifier="gst_device_provider_factory_has_classes"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceproviderfactory.c"
+ line="518">Check if @factory matches all of the given @classes</doc>
+ <source-position filename="gst/gstdeviceproviderfactory.h" line="92"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceproviderfactory.c"
+ line="526">%TRUE if @factory matches or if @classes is %NULL.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="factory" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceproviderfactory.c"
+ line="520">a #GstDeviceProviderFactory</doc>
+ <type name="DeviceProviderFactory"
+ c:type="GstDeviceProviderFactory*"/>
+ </instance-parameter>
+ <parameter name="classes"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceproviderfactory.c"
+ line="521">a "/" separate list of classes to match, only match
+ if all classes are matched</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="has_classesv"
+ c:identifier="gst_device_provider_factory_has_classesv"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceproviderfactory.c"
+ line="467">Check if @factory matches all of the given classes</doc>
+ <source-position filename="gst/gstdeviceproviderfactory.h" line="89"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceproviderfactory.c"
+ line="475">%TRUE if @factory matches.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="factory" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceproviderfactory.c"
+ line="469">a #GstDeviceProviderFactory</doc>
+ <type name="DeviceProviderFactory"
+ c:type="GstDeviceProviderFactory*"/>
+ </instance-parameter>
+ <parameter name="classes"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceproviderfactory.c"
+ line="470">a %NULL terminated array
+ of classes to match, only match if all classes are matched</doc>
+ <array c:type="gchar**">
+ <type name="utf8" c:type="gchar*"/>
+ </array>
+ </parameter>
+ </parameters>
+ </method>
+ </class>
+ <record name="DeviceProviderFactoryClass"
+ c:type="GstDeviceProviderFactoryClass"
+ disguised="1"
+ glib:is-gtype-struct-for="DeviceProviderFactory"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst/gstdeviceproviderfactory.h"
+ line="37">The opaque #GstDeviceProviderFactoryClass data structure.</doc>
+ <source-position filename="gst/gstdeviceproviderfactory.h" line="45"/>
+ </record>
+ <record name="DeviceProviderPrivate"
+ c:type="GstDeviceProviderPrivate"
+ disguised="1">
+ <source-position filename="gst/gstdeviceprovider.h" line="33"/>
+ </record>
+ <class name="DoubleRange"
+ c:symbol-prefix="double_range"
+ glib:type-name="GstDoubleRange"
+ glib:get-type="gst_double_range_get_type"
+ glib:fundamental="1">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.h"
+ line="261">A fundamental type that describes a #gdouble range</doc>
+ </class>
+ <class name="DynamicTypeFactory"
+ c:symbol-prefix="dynamic_type_factory"
+ c:type="GstDynamicTypeFactory"
+ version="1.12"
+ parent="PluginFeature"
+ glib:type-name="GstDynamicTypeFactory"
+ glib:get-type="gst_dynamic_type_factory_get_type"
+ glib:type-struct="DynamicTypeFactoryClass">
+ <doc xml:space="preserve"
+ filename="gst/gstdynamictypefactory.c"
+ line="22">#GstDynamicTypeFactory is used to represent a type that can be
+automatically loaded the first time it is used. For example,
+a non-standard type for use in caps fields.
+
+In general, applications and plugins don't need to use the factory
+beyond registering the type in a plugin init function. Once that is
+done, the type is stored in the registry, and ready as soon as the
+registry is loaded.
+
+## Registering a type for dynamic loading
+
+|[&lt;!-- language="C" --&gt;
+
+static gboolean
+plugin_init (GstPlugin * plugin)
+{
+ return gst_dynamic_type_register (plugin, GST_TYPE_CUSTOM_CAPS_FIELD);
+}
+]|</doc>
+ <source-position filename="gst/gstdynamictypefactory.h" line="33"/>
+ <function name="load" c:identifier="gst_dynamic_type_factory_load">
+ <source-position filename="gst/gstdynamictypefactory.h" line="54"/>
+ <return-value transfer-ownership="none">
+ <type name="GType" c:type="GType"/>
+ </return-value>
+ <parameters>
+ <parameter name="factoryname" transfer-ownership="none">
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ </class>
+ <record name="DynamicTypeFactoryClass"
+ c:type="GstDynamicTypeFactoryClass"
+ disguised="1"
+ glib:is-gtype-struct-for="DynamicTypeFactory">
+ <source-position filename="gst/gstdynamictypefactory.h" line="33"/>
+ </record>
+ <function-macro name="ELEMENT"
+ c:identifier="GST_ELEMENT"
+ introspectable="0">
+ <source-position filename="gst/gstelement.h" line="62"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="ELEMENT_BUS"
+ c:identifier="GST_ELEMENT_BUS"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="313">Get the message bus of this element. This is not thread-safe by default
+(i.e. you will have to make sure the object lock is taken yourself).
+If in doubt use gst_element_get_bus() instead.</doc>
+ <source-position filename="gst/gstelement.h" line="321"/>
+ <parameters>
+ <parameter name="elem">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="315">A #GstElement to query</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="ELEMENT_CAST"
+ c:identifier="GST_ELEMENT_CAST"
+ introspectable="0">
+ <source-position filename="gst/gstelement.h" line="64"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="ELEMENT_CLASS"
+ c:identifier="GST_ELEMENT_CLASS"
+ introspectable="0">
+ <source-position filename="gst/gstelement.h" line="63"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="ELEMENT_CLOCK"
+ c:identifier="GST_ELEMENT_CLOCK"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="323">Get the clock of this element.This is not thread-safe by default
+(i.e. you will have to make sure it is safe yourself).
+If in doubt use gst_element_get_clock() instead.</doc>
+ <source-position filename="gst/gstelement.h" line="331"/>
+ <parameters>
+ <parameter name="elem">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="325">A #GstElement to query</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="ELEMENT_ERROR"
+ c:identifier="GST_ELEMENT_ERROR"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="406">Utility function that elements can use in case they encountered a fatal
+data processing error. The pipeline will post an error message and the
+application will be requested to stop further media processing.</doc>
+ <source-position filename="gst/gstelement.h" line="420"/>
+ <parameters>
+ <parameter name="el">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="408">the element that generates the error</doc>
+ </parameter>
+ <parameter name="domain">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="409">like CORE, LIBRARY, RESOURCE or STREAM (see [GstGError](gsterror))</doc>
+ </parameter>
+ <parameter name="code">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="410">error code defined for that domain (see [GstGError](gsterror))</doc>
+ </parameter>
+ <parameter name="text">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="411">the message to display (format string and args enclosed in
+ parentheses)</doc>
+ </parameter>
+ <parameter name="debug">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="413">debugging information for the message (format string and args
+ enclosed in parentheses)</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="ELEMENT_ERROR_WITH_DETAILS"
+ c:identifier="GST_ELEMENT_ERROR_WITH_DETAILS"
+ version="1.10"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="373">Utility function that elements can use in case they encountered a fatal
+data processing error. The pipeline will post an error message and the
+application will be requested to stop further media processing.</doc>
+ <source-position filename="gst/gstelement.h" line="392"/>
+ <parameters>
+ <parameter name="el">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="375">the element that generates the error</doc>
+ </parameter>
+ <parameter name="domain">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="376">like CORE, LIBRARY, RESOURCE or STREAM (see [GstGError](gsterror))</doc>
+ </parameter>
+ <parameter name="code">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="377">error code defined for that domain (see [GstGError](gsterror))</doc>
+ </parameter>
+ <parameter name="text">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="378">the message to display (format string and args enclosed in
+ parentheses)</doc>
+ </parameter>
+ <parameter name="debug">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="380">debugging information for the message (format string and args
+ enclosed in parentheses)</doc>
+ </parameter>
+ <parameter name="args">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="382">optional name, type, value triplets, which will be stored
+ in the associated GstStructure. NULL terminator required.
+ Must be enclosed within parentheses.</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="ELEMENT_FACTORY"
+ c:identifier="GST_ELEMENT_FACTORY"
+ introspectable="0">
+ <source-position filename="gst/gstelementfactory.h" line="45"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="ELEMENT_FACTORY_CAST"
+ c:identifier="GST_ELEMENT_FACTORY_CAST"
+ introspectable="0">
+ <source-position filename="gst/gstelementfactory.h" line="51"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="ELEMENT_FACTORY_CLASS"
+ c:identifier="GST_ELEMENT_FACTORY_CLASS"
+ introspectable="0">
+ <source-position filename="gst/gstelementfactory.h" line="47"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <constant name="ELEMENT_FACTORY_KLASS_DECODER"
+ value="Decoder"
+ c:type="GST_ELEMENT_FACTORY_KLASS_DECODER">
+ <source-position filename="gst/gstelementfactory.h" line="200"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="ELEMENT_FACTORY_KLASS_DECRYPTOR"
+ value="Decryptor"
+ c:type="GST_ELEMENT_FACTORY_KLASS_DECRYPTOR">
+ <source-position filename="gst/gstelementfactory.h" line="210"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="ELEMENT_FACTORY_KLASS_DEMUXER"
+ value="Demuxer"
+ c:type="GST_ELEMENT_FACTORY_KLASS_DEMUXER">
+ <source-position filename="gst/gstelementfactory.h" line="205"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="ELEMENT_FACTORY_KLASS_DEPAYLOADER"
+ value="Depayloader"
+ c:type="GST_ELEMENT_FACTORY_KLASS_DEPAYLOADER">
+ <source-position filename="gst/gstelementfactory.h" line="208"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="ELEMENT_FACTORY_KLASS_ENCODER"
+ value="Encoder"
+ c:type="GST_ELEMENT_FACTORY_KLASS_ENCODER">
+ <source-position filename="gst/gstelementfactory.h" line="201"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="ELEMENT_FACTORY_KLASS_ENCRYPTOR"
+ value="Encryptor"
+ c:type="GST_ELEMENT_FACTORY_KLASS_ENCRYPTOR">
+ <source-position filename="gst/gstelementfactory.h" line="211"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="ELEMENT_FACTORY_KLASS_FORMATTER"
+ value="Formatter"
+ c:type="GST_ELEMENT_FACTORY_KLASS_FORMATTER">
+ <source-position filename="gst/gstelementfactory.h" line="209"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="ELEMENT_FACTORY_KLASS_HARDWARE"
+ value="Hardware"
+ c:type="GST_ELEMENT_FACTORY_KLASS_HARDWARE"
+ version="1.16">
+ <doc xml:space="preserve"
+ filename="gst/gstelementfactory.h"
+ line="220">Elements interacting with hardware devices should specify this classifier in
+their metadata. You may need to put the element in "READY" state to test if
+the hardware is present in the system.</doc>
+ <source-position filename="gst/gstelementfactory.h" line="228"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="ELEMENT_FACTORY_KLASS_MEDIA_AUDIO"
+ value="Audio"
+ c:type="GST_ELEMENT_FACTORY_KLASS_MEDIA_AUDIO">
+ <source-position filename="gst/gstelementfactory.h" line="214"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="ELEMENT_FACTORY_KLASS_MEDIA_IMAGE"
+ value="Image"
+ c:type="GST_ELEMENT_FACTORY_KLASS_MEDIA_IMAGE">
+ <source-position filename="gst/gstelementfactory.h" line="215"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="ELEMENT_FACTORY_KLASS_MEDIA_METADATA"
+ value="Metadata"
+ c:type="GST_ELEMENT_FACTORY_KLASS_MEDIA_METADATA">
+ <source-position filename="gst/gstelementfactory.h" line="217"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="ELEMENT_FACTORY_KLASS_MEDIA_SUBTITLE"
+ value="Subtitle"
+ c:type="GST_ELEMENT_FACTORY_KLASS_MEDIA_SUBTITLE">
+ <source-position filename="gst/gstelementfactory.h" line="216"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="ELEMENT_FACTORY_KLASS_MEDIA_VIDEO"
+ value="Video"
+ c:type="GST_ELEMENT_FACTORY_KLASS_MEDIA_VIDEO">
+ <source-position filename="gst/gstelementfactory.h" line="213"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="ELEMENT_FACTORY_KLASS_MUXER"
+ value="Muxer"
+ c:type="GST_ELEMENT_FACTORY_KLASS_MUXER">
+ <source-position filename="gst/gstelementfactory.h" line="204"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="ELEMENT_FACTORY_KLASS_PARSER"
+ value="Parser"
+ c:type="GST_ELEMENT_FACTORY_KLASS_PARSER">
+ <source-position filename="gst/gstelementfactory.h" line="206"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="ELEMENT_FACTORY_KLASS_PAYLOADER"
+ value="Payloader"
+ c:type="GST_ELEMENT_FACTORY_KLASS_PAYLOADER">
+ <source-position filename="gst/gstelementfactory.h" line="207"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="ELEMENT_FACTORY_KLASS_SINK"
+ value="Sink"
+ c:type="GST_ELEMENT_FACTORY_KLASS_SINK">
+ <source-position filename="gst/gstelementfactory.h" line="202"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="ELEMENT_FACTORY_KLASS_SRC"
+ value="Source"
+ c:type="GST_ELEMENT_FACTORY_KLASS_SRC">
+ <source-position filename="gst/gstelementfactory.h" line="203"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="ELEMENT_FACTORY_TYPE_ANY"
+ value="562949953421311"
+ c:type="GST_ELEMENT_FACTORY_TYPE_ANY">
+ <doc xml:space="preserve"
+ filename="gst/gstelementfactory.h"
+ line="153">Elements of any of the defined GST_ELEMENT_FACTORY_LIST types</doc>
+ <source-position filename="gst/gstelementfactory.h" line="158"/>
+ <type name="ElementFactoryListType" c:type="GstElementFactoryListType"/>
+ </constant>
+ <constant name="ELEMENT_FACTORY_TYPE_AUDIOVIDEO_SINKS"
+ value="3940649673949188"
+ c:type="GST_ELEMENT_FACTORY_TYPE_AUDIOVIDEO_SINKS">
+ <doc xml:space="preserve"
+ filename="gst/gstelementfactory.h"
+ line="185">All sinks handling audio, video or image media types</doc>
+ <source-position filename="gst/gstelementfactory.h" line="190"/>
+ <type name="ElementFactoryListType" c:type="GstElementFactoryListType"/>
+ </constant>
+ <constant name="ELEMENT_FACTORY_TYPE_AUDIO_ENCODER"
+ value="1125899906842626"
+ c:type="GST_ELEMENT_FACTORY_TYPE_AUDIO_ENCODER">
+ <doc xml:space="preserve"
+ filename="gst/gstelementfactory.h"
+ line="178">All encoders handling audio media types</doc>
+ <source-position filename="gst/gstelementfactory.h" line="183"/>
+ <type name="ElementFactoryListType" c:type="GstElementFactoryListType"/>
+ </constant>
+ <constant name="ELEMENT_FACTORY_TYPE_DECODABLE"
+ value="1377"
+ c:type="GST_ELEMENT_FACTORY_TYPE_DECODABLE">
+ <doc xml:space="preserve"
+ filename="gst/gstelementfactory.h"
+ line="192">All elements used to 'decode' streams (decoders, demuxers, parsers, depayloaders)</doc>
+ <source-position filename="gst/gstelementfactory.h" line="197"/>
+ <type name="ElementFactoryListType" c:type="GstElementFactoryListType"/>
+ </constant>
+ <constant name="ELEMENT_FACTORY_TYPE_DECODER"
+ value="1"
+ c:type="GST_ELEMENT_FACTORY_TYPE_DECODER">
+ <source-position filename="gst/gstelementfactory.h" line="131"/>
+ <type name="ElementFactoryListType" c:type="GstElementFactoryListType"/>
+ </constant>
+ <constant name="ELEMENT_FACTORY_TYPE_DECRYPTOR"
+ value="1024"
+ c:type="GST_ELEMENT_FACTORY_TYPE_DECRYPTOR">
+ <source-position filename="gst/gstelementfactory.h" line="141"/>
+ <type name="ElementFactoryListType" c:type="GstElementFactoryListType"/>
+ </constant>
+ <constant name="ELEMENT_FACTORY_TYPE_DEMUXER"
+ value="32"
+ c:type="GST_ELEMENT_FACTORY_TYPE_DEMUXER">
+ <source-position filename="gst/gstelementfactory.h" line="136"/>
+ <type name="ElementFactoryListType" c:type="GstElementFactoryListType"/>
+ </constant>
+ <constant name="ELEMENT_FACTORY_TYPE_DEPAYLOADER"
+ value="256"
+ c:type="GST_ELEMENT_FACTORY_TYPE_DEPAYLOADER">
+ <source-position filename="gst/gstelementfactory.h" line="139"/>
+ <type name="ElementFactoryListType" c:type="GstElementFactoryListType"/>
+ </constant>
+ <constant name="ELEMENT_FACTORY_TYPE_ENCODER"
+ value="2"
+ c:type="GST_ELEMENT_FACTORY_TYPE_ENCODER">
+ <source-position filename="gst/gstelementfactory.h" line="132"/>
+ <type name="ElementFactoryListType" c:type="GstElementFactoryListType"/>
+ </constant>
+ <constant name="ELEMENT_FACTORY_TYPE_ENCRYPTOR"
+ value="2048"
+ c:type="GST_ELEMENT_FACTORY_TYPE_ENCRYPTOR">
+ <source-position filename="gst/gstelementfactory.h" line="142"/>
+ <type name="ElementFactoryListType" c:type="GstElementFactoryListType"/>
+ </constant>
+ <constant name="ELEMENT_FACTORY_TYPE_FORMATTER"
+ value="512"
+ c:type="GST_ELEMENT_FACTORY_TYPE_FORMATTER">
+ <source-position filename="gst/gstelementfactory.h" line="140"/>
+ <type name="ElementFactoryListType" c:type="GstElementFactoryListType"/>
+ </constant>
+ <constant name="ELEMENT_FACTORY_TYPE_HARDWARE"
+ value="4096"
+ c:type="GST_ELEMENT_FACTORY_TYPE_HARDWARE">
+ <source-position filename="gst/gstelementfactory.h" line="143"/>
+ <type name="ElementFactoryListType" c:type="GstElementFactoryListType"/>
+ </constant>
+ <constant name="ELEMENT_FACTORY_TYPE_MAX_ELEMENTS"
+ value="281474976710656"
+ c:type="GST_ELEMENT_FACTORY_TYPE_MAX_ELEMENTS">
+ <source-position filename="gst/gstelementfactory.h" line="145"/>
+ <type name="ElementFactoryListType" c:type="GstElementFactoryListType"/>
+ </constant>
+ <constant name="ELEMENT_FACTORY_TYPE_MEDIA_ANY"
+ value="18446462598732840960"
+ c:type="GST_ELEMENT_FACTORY_TYPE_MEDIA_ANY">
+ <doc xml:space="preserve"
+ filename="gst/gstelementfactory.h"
+ line="160">Elements matching any of the defined GST_ELEMENT_FACTORY_TYPE_MEDIA types
+
+Note: Do not use this if you wish to not filter against any of the defined
+media types. If you wish to do this, simply don't specify any
+GST_ELEMENT_FACTORY_TYPE_MEDIA flag.</doc>
+ <source-position filename="gst/gstelementfactory.h" line="169"/>
+ <type name="ElementFactoryListType" c:type="GstElementFactoryListType"/>
+ </constant>
+ <constant name="ELEMENT_FACTORY_TYPE_MEDIA_AUDIO"
+ value="1125899906842624"
+ c:type="GST_ELEMENT_FACTORY_TYPE_MEDIA_AUDIO">
+ <source-position filename="gst/gstelementfactory.h" line="148"/>
+ <type name="ElementFactoryListType" c:type="GstElementFactoryListType"/>
+ </constant>
+ <constant name="ELEMENT_FACTORY_TYPE_MEDIA_IMAGE"
+ value="2251799813685248"
+ c:type="GST_ELEMENT_FACTORY_TYPE_MEDIA_IMAGE">
+ <source-position filename="gst/gstelementfactory.h" line="149"/>
+ <type name="ElementFactoryListType" c:type="GstElementFactoryListType"/>
+ </constant>
+ <constant name="ELEMENT_FACTORY_TYPE_MEDIA_METADATA"
+ value="9007199254740992"
+ c:type="GST_ELEMENT_FACTORY_TYPE_MEDIA_METADATA">
+ <source-position filename="gst/gstelementfactory.h" line="151"/>
+ <type name="ElementFactoryListType" c:type="GstElementFactoryListType"/>
+ </constant>
+ <constant name="ELEMENT_FACTORY_TYPE_MEDIA_SUBTITLE"
+ value="4503599627370496"
+ c:type="GST_ELEMENT_FACTORY_TYPE_MEDIA_SUBTITLE">
+ <source-position filename="gst/gstelementfactory.h" line="150"/>
+ <type name="ElementFactoryListType" c:type="GstElementFactoryListType"/>
+ </constant>
+ <constant name="ELEMENT_FACTORY_TYPE_MEDIA_VIDEO"
+ value="562949953421312"
+ c:type="GST_ELEMENT_FACTORY_TYPE_MEDIA_VIDEO">
+ <source-position filename="gst/gstelementfactory.h" line="147"/>
+ <type name="ElementFactoryListType" c:type="GstElementFactoryListType"/>
+ </constant>
+ <constant name="ELEMENT_FACTORY_TYPE_MUXER"
+ value="16"
+ c:type="GST_ELEMENT_FACTORY_TYPE_MUXER">
+ <source-position filename="gst/gstelementfactory.h" line="135"/>
+ <type name="ElementFactoryListType" c:type="GstElementFactoryListType"/>
+ </constant>
+ <constant name="ELEMENT_FACTORY_TYPE_PARSER"
+ value="64"
+ c:type="GST_ELEMENT_FACTORY_TYPE_PARSER">
+ <source-position filename="gst/gstelementfactory.h" line="137"/>
+ <type name="ElementFactoryListType" c:type="GstElementFactoryListType"/>
+ </constant>
+ <constant name="ELEMENT_FACTORY_TYPE_PAYLOADER"
+ value="128"
+ c:type="GST_ELEMENT_FACTORY_TYPE_PAYLOADER">
+ <source-position filename="gst/gstelementfactory.h" line="138"/>
+ <type name="ElementFactoryListType" c:type="GstElementFactoryListType"/>
+ </constant>
+ <constant name="ELEMENT_FACTORY_TYPE_SINK"
+ value="4"
+ c:type="GST_ELEMENT_FACTORY_TYPE_SINK">
+ <source-position filename="gst/gstelementfactory.h" line="133"/>
+ <type name="ElementFactoryListType" c:type="GstElementFactoryListType"/>
+ </constant>
+ <constant name="ELEMENT_FACTORY_TYPE_SRC"
+ value="8"
+ c:type="GST_ELEMENT_FACTORY_TYPE_SRC">
+ <source-position filename="gst/gstelementfactory.h" line="134"/>
+ <type name="ElementFactoryListType" c:type="GstElementFactoryListType"/>
+ </constant>
+ <constant name="ELEMENT_FACTORY_TYPE_VIDEO_ENCODER"
+ value="2814749767106562"
+ c:type="GST_ELEMENT_FACTORY_TYPE_VIDEO_ENCODER">
+ <doc xml:space="preserve"
+ filename="gst/gstelementfactory.h"
+ line="171">All encoders handling video or image media types</doc>
+ <source-position filename="gst/gstelementfactory.h" line="176"/>
+ <type name="ElementFactoryListType" c:type="GstElementFactoryListType"/>
+ </constant>
+ <function-macro name="ELEMENT_FLOW_ERROR"
+ c:identifier="GST_ELEMENT_FLOW_ERROR"
+ version="1.10"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="355">Utility function that elements can use in case they encountered a fatal
+data processing error due to wrong flow processing.</doc>
+ <source-position filename="gst/gstelement.h" line="365"/>
+ <parameters>
+ <parameter name="el">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="357">the element that generates the error</doc>
+ </parameter>
+ <parameter name="flow_return">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="358">the GstFlowReturn leading to that ERROR message</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="ELEMENT_GET_CLASS"
+ c:identifier="GST_ELEMENT_GET_CLASS"
+ introspectable="0">
+ <source-position filename="gst/gstelement.h" line="61"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="ELEMENT_INFO"
+ c:identifier="GST_ELEMENT_INFO"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="531">Utility function that elements can use in case they want to inform
+the application of something noteworthy that is not an error.
+The pipeline will post a info message and the
+application will be informed.</doc>
+ <source-position filename="gst/gstelement.h" line="546"/>
+ <parameters>
+ <parameter name="el">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="533">the element that generates the information</doc>
+ </parameter>
+ <parameter name="domain">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="534">like CORE, LIBRARY, RESOURCE or STREAM (see [GstGError](gsterror))</doc>
+ </parameter>
+ <parameter name="code">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="535">error code defined for that domain (see [GstGError](gsterror))</doc>
+ </parameter>
+ <parameter name="text">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="536">the message to display (format string and args enclosed in
+ parentheses)</doc>
+ </parameter>
+ <parameter name="debug">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="538">debugging information for the message (format string and args
+ enclosed in parentheses)</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="ELEMENT_INFO_WITH_DETAILS"
+ c:identifier="GST_ELEMENT_INFO_WITH_DETAILS"
+ version="1.10"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="495">Utility function that elements can use in case they want to inform
+the application of something noteworthy that is not an error.
+The pipeline will post a info message and the
+application will be informed.
+Optional name, type, value triplets may be supplied, and will be stored
+in the associated GstStructure. NULL terminator required.</doc>
+ <source-position filename="gst/gstelement.h" line="517"/>
+ <parameters>
+ <parameter name="el">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="497">the element that generates the information</doc>
+ </parameter>
+ <parameter name="domain">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="498">like CORE, LIBRARY, RESOURCE or STREAM (see [GstGError](gsterror))</doc>
+ </parameter>
+ <parameter name="code">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="499">error code defined for that domain (see [GstGError](gsterror))</doc>
+ </parameter>
+ <parameter name="text">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="500">the message to display (format string and args enclosed in
+ parentheses)</doc>
+ </parameter>
+ <parameter name="debug">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="502">debugging information for the message (format string and args
+ enclosed in parentheses)</doc>
+ </parameter>
+ <parameter name="args">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="504">optional name, type, value triplets, which will be stored
+ in the associated GstStructure. NULL terminator required.
+ Must be enclosed within parentheses.</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="ELEMENT_IS_LOCKED_STATE"
+ c:identifier="GST_ELEMENT_IS_LOCKED_STATE"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="284">Check if the element is in the locked state and therefore will ignore state
+changes from its parent object.</doc>
+ <source-position filename="gst/gstelement.h" line="291"/>
+ <parameters>
+ <parameter name="elem">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="286">A #GstElement to query</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="ELEMENT_MESSAGE_MAKE_DETAILS"
+ c:identifier="GST_ELEMENT_MESSAGE_MAKE_DETAILS"
+ introspectable="0">
+ <source-position filename="gst/gstelement.h" line="353"/>
+ <parameters>
+ <parameter name="args">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <constant name="ELEMENT_METADATA_AUTHOR"
+ value="author"
+ c:type="GST_ELEMENT_METADATA_AUTHOR">
+ <doc xml:space="preserve"
+ filename="gst/gstelementmetadata.h"
+ line="52">Name and contact details of the author(s). Use \n to separate
+multiple author details.
+E.g: "Joe Bloggs &amp;lt;joe.blogs at foo.com&amp;gt;"</doc>
+ <source-position filename="gst/gstelementmetadata.h" line="59"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="ELEMENT_METADATA_DESCRIPTION"
+ value="description"
+ c:type="GST_ELEMENT_METADATA_DESCRIPTION">
+ <doc xml:space="preserve"
+ filename="gst/gstelementmetadata.h"
+ line="45">Sentence describing the purpose of the element.
+E.g: "Write stream to a file"</doc>
+ <source-position filename="gst/gstelementmetadata.h" line="51"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="ELEMENT_METADATA_DOC_URI"
+ value="doc-uri"
+ c:type="GST_ELEMENT_METADATA_DOC_URI">
+ <doc xml:space="preserve"
+ filename="gst/gstelementmetadata.h"
+ line="61">Set uri pointing to user documentation. Applications can use this to show
+help for e.g. effects to users.</doc>
+ <source-position filename="gst/gstelementmetadata.h" line="67"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="ELEMENT_METADATA_ICON_NAME"
+ value="icon-name"
+ c:type="GST_ELEMENT_METADATA_ICON_NAME">
+ <doc xml:space="preserve"
+ filename="gst/gstelementmetadata.h"
+ line="68">Elements that bridge to certain other products can include an icon of that
+used product. Application can show the icon in menus/selectors to help
+identifying specific elements.</doc>
+ <source-position filename="gst/gstelementmetadata.h" line="75"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="ELEMENT_METADATA_KLASS"
+ value="klass"
+ c:type="GST_ELEMENT_METADATA_KLASS">
+ <doc xml:space="preserve"
+ filename="gst/gstelementmetadata.h"
+ line="36">String describing the type of element, as an unordered list
+separated with slashes ('/'). See draft-klass.txt of the design docs
+for more details and common types. E.g: "Sink/File"</doc>
+ <source-position filename="gst/gstelementmetadata.h" line="43"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="ELEMENT_METADATA_LONGNAME"
+ value="long-name"
+ c:type="GST_ELEMENT_METADATA_LONGNAME">
+ <doc xml:space="preserve"
+ filename="gst/gstelementmetadata.h"
+ line="30">The long English name of the element. E.g. "File Sink"</doc>
+ <source-position filename="gst/gstelementmetadata.h" line="35"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <function-macro name="ELEMENT_NAME"
+ c:identifier="GST_ELEMENT_NAME"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="293">Gets the name of this element. This is not thread-safe by default
+(i.e. you will have to make sure the object lock is taken yourself).
+If in doubt use gst_element_get_name() instead.</doc>
+ <source-position filename="gst/gstelement.h" line="301"/>
+ <parameters>
+ <parameter name="elem">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="295">A #GstElement to query</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="ELEMENT_PADS"
+ c:identifier="GST_ELEMENT_PADS"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="333">Get the pads of this elements.</doc>
+ <source-position filename="gst/gstelement.h" line="339"/>
+ <parameters>
+ <parameter name="elem">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="335">A #GstElement to query</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="ELEMENT_PARENT"
+ c:identifier="GST_ELEMENT_PARENT"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="303">Get the parent object of this element. This is not thread-safe by default
+(i.e. you will have to make sure the object lock is taken yourself).
+If in doubt use gst_object_get_parent() instead.</doc>
+ <source-position filename="gst/gstelement.h" line="311"/>
+ <parameters>
+ <parameter name="elem">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="305">A #GstElement to query</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="ELEMENT_START_TIME"
+ c:identifier="GST_ELEMENT_START_TIME"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="341">This macro returns the start_time of the @elem. The start_time is the
+running_time of the pipeline when the element went to PAUSED.</doc>
+ <source-position filename="gst/gstelement.h" line="348"/>
+ <parameters>
+ <parameter name="elem">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="343">a #GstElement to return the start time for.</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="ELEMENT_WARNING"
+ c:identifier="GST_ELEMENT_WARNING"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="467">Utility function that elements can use in case they encountered a non-fatal
+data processing problem. The pipeline will post a warning message and the
+application will be informed.</doc>
+ <source-position filename="gst/gstelement.h" line="481"/>
+ <parameters>
+ <parameter name="el">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="469">the element that generates the warning</doc>
+ </parameter>
+ <parameter name="domain">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="470">like CORE, LIBRARY, RESOURCE or STREAM (see [GstGError](gsterror))</doc>
+ </parameter>
+ <parameter name="code">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="471">error code defined for that domain (see [GstGError](gsterror))</doc>
+ </parameter>
+ <parameter name="text">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="472">the message to display (format string and args enclosed in
+ parentheses)</doc>
+ </parameter>
+ <parameter name="debug">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="474">debugging information for the message (format string and args
+ enclosed in parentheses)</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="ELEMENT_WARNING_WITH_DETAILS"
+ c:identifier="GST_ELEMENT_WARNING_WITH_DETAILS"
+ version="1.10"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="434">Utility function that elements can use in case they encountered a non-fatal
+data processing problem. The pipeline will post a warning message and the
+application will be informed.</doc>
+ <source-position filename="gst/gstelement.h" line="453"/>
+ <parameters>
+ <parameter name="el">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="436">the element that generates the warning</doc>
+ </parameter>
+ <parameter name="domain">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="437">like CORE, LIBRARY, RESOURCE or STREAM (see [GstGError](gsterror))</doc>
+ </parameter>
+ <parameter name="code">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="438">error code defined for that domain (see [GstGError](gsterror))</doc>
+ </parameter>
+ <parameter name="text">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="439">the message to display (format string and args enclosed in
+ parentheses)</doc>
+ </parameter>
+ <parameter name="debug">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="441">debugging information for the message (format string and args
+ enclosed in parentheses)</doc>
+ </parameter>
+ <parameter name="args">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="443">optional name, type, value triplets, which will be stored
+ in the associated GstStructure. NULL terminator required.
+ Must be enclosed within parentheses.</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <constant name="ERROR_SYSTEM"
+ value="system error: %s"
+ c:type="GST_ERROR_SYSTEM"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gsterror.h"
+ line="237">Builds a string using errno describing the previously failed system
+call. To be used as the debug argument in #GST_ELEMENT_ERROR.</doc>
+ <source-position filename="gst/gsterror.h" line="243"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <function-macro name="EVENT" c:identifier="GST_EVENT" introspectable="0">
+ <source-position filename="gst/gstevent.h" line="238"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="EVENT_CAST"
+ c:identifier="GST_EVENT_CAST"
+ introspectable="0">
+ <source-position filename="gst/gstevent.h" line="237"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="EVENT_IS_DOWNSTREAM"
+ c:identifier="GST_EVENT_IS_DOWNSTREAM"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.h"
+ line="282">Check if an event can travel downstream.</doc>
+ <source-position filename="gst/gstevent.h" line="287"/>
+ <parameters>
+ <parameter name="ev">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.h"
+ line="284">the event to query</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="EVENT_IS_SERIALIZED"
+ c:identifier="GST_EVENT_IS_SERIALIZED"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.h"
+ line="289">Check if an event is serialized with the data stream.</doc>
+ <source-position filename="gst/gstevent.h" line="294"/>
+ <parameters>
+ <parameter name="ev">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.h"
+ line="291">the event to query</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="EVENT_IS_STICKY"
+ c:identifier="GST_EVENT_IS_STICKY"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.h"
+ line="296">Check if an event is sticky on the pads.</doc>
+ <source-position filename="gst/gstevent.h" line="301"/>
+ <parameters>
+ <parameter name="ev">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.h"
+ line="298">the event to query</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="EVENT_IS_UPSTREAM"
+ c:identifier="GST_EVENT_IS_UPSTREAM"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.h"
+ line="275">Check if an event can travel upstream.</doc>
+ <source-position filename="gst/gstevent.h" line="280"/>
+ <parameters>
+ <parameter name="ev">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.h"
+ line="277">the event to query</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="EVENT_MAKE_TYPE"
+ c:identifier="GST_EVENT_MAKE_TYPE"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.h"
+ line="62">when making custom event types, use this macro with the num and
+the given flags</doc>
+ <source-position filename="gst/gstevent.h" line="69"/>
+ <parameters>
+ <parameter name="num">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.h"
+ line="64">the event number to create</doc>
+ </parameter>
+ <parameter name="flags">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.h"
+ line="65">the event flags</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <constant name="EVENT_NUM_SHIFT" value="8" c:type="GST_EVENT_NUM_SHIFT">
+ <source-position filename="gst/gstevent.h" line="59"/>
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <function-macro name="EVENT_SEQNUM"
+ c:identifier="GST_EVENT_SEQNUM"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.h"
+ line="267">The sequence number of @event.</doc>
+ <source-position filename="gst/gstevent.h" line="272"/>
+ <parameters>
+ <parameter name="event">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.h"
+ line="269">the event to query</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="EVENT_TIMESTAMP"
+ c:identifier="GST_EVENT_TIMESTAMP"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.h"
+ line="257">Get the #GstClockTime timestamp of the event. This is the time when the event
+was created.</doc>
+ <source-position filename="gst/gstevent.h" line="264"/>
+ <parameters>
+ <parameter name="event">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.h"
+ line="259">the event to query</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="EVENT_TYPE"
+ c:identifier="GST_EVENT_TYPE"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.h"
+ line="241">Get the #GstEventType of the event.</doc>
+ <source-position filename="gst/gstevent.h" line="246"/>
+ <parameters>
+ <parameter name="event">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.h"
+ line="243">the event to query</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <constant name="EVENT_TYPE_BOTH" value="3" c:type="GST_EVENT_TYPE_BOTH">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.h"
+ line="52">The same thing as #GST_EVENT_TYPE_UPSTREAM | #GST_EVENT_TYPE_DOWNSTREAM.</doc>
+ <source-position filename="gst/gstevent.h" line="57"/>
+ <type name="EventTypeFlags" c:type="GstEventTypeFlags"/>
+ </constant>
+ <function-macro name="EVENT_TYPE_NAME"
+ c:identifier="GST_EVENT_TYPE_NAME"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.h"
+ line="249">Get a constant string representation of the #GstEventType of the event.</doc>
+ <source-position filename="gst/gstevent.h" line="254"/>
+ <parameters>
+ <parameter name="event">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.h"
+ line="251">the event to query</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <class name="Element"
+ c:symbol-prefix="element"
+ c:type="GstElement"
+ parent="Object"
+ abstract="1"
+ glib:type-name="GstElement"
+ glib:get-type="gst_element_get_type"
+ glib:type-struct="ElementClass">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="23">GstElement is the abstract base class needed to construct an element that
+can be used in a GStreamer pipeline. Please refer to the plugin writers
+guide for more information on creating #GstElement subclasses.
+
+The name of a #GstElement can be get with gst_element_get_name() and set with
+gst_element_set_name(). For speed, GST_ELEMENT_NAME() can be used in the
+core when using the appropriate locking. Do not use this in plug-ins or
+applications in order to retain ABI compatibility.
+
+Elements can have pads (of the type #GstPad). These pads link to pads on
+other elements. #GstBuffer flow between these linked pads.
+A #GstElement has a #GList of #GstPad structures for all their input (or sink)
+and output (or source) pads.
+Core and plug-in writers can add and remove pads with gst_element_add_pad()
+and gst_element_remove_pad().
+
+An existing pad of an element can be retrieved by name with
+gst_element_get_static_pad(). A new dynamic pad can be created using
+gst_element_request_pad() with a #GstPadTemplate.
+An iterator of all pads can be retrieved with gst_element_iterate_pads().
+
+Elements can be linked through their pads.
+If the link is straightforward, use the gst_element_link()
+convenience function to link two elements, or gst_element_link_many()
+for more elements in a row.
+Use gst_element_link_filtered() to link two elements constrained by
+a specified set of #GstCaps.
+For finer control, use gst_element_link_pads() and
+gst_element_link_pads_filtered() to specify the pads to link on
+each element by name.
+
+Each element has a state (see #GstState). You can get and set the state
+of an element with gst_element_get_state() and gst_element_set_state().
+Setting a state triggers a #GstStateChange. To get a string representation
+of a #GstState, use gst_element_state_get_name().
+
+You can get and set a #GstClock on an element using gst_element_get_clock()
+and gst_element_set_clock().
+Some elements can provide a clock for the pipeline if
+the #GST_ELEMENT_FLAG_PROVIDE_CLOCK flag is set. With the
+gst_element_provide_clock() method one can retrieve the clock provided by
+such an element.
+Not all elements require a clock to operate correctly. If the
+#GST_ELEMENT_FLAG_REQUIRE_CLOCK() flag is set, a clock should be set on the
+element with gst_element_set_clock().
+
+Note that clock selection and distribution is normally handled by the
+toplevel #GstPipeline so the clock functions are only to be used in very
+specific situations.</doc>
+ <source-position filename="gst/gstelement.h" line="744"/>
+ <function name="make_from_uri"
+ c:identifier="gst_element_make_from_uri"
+ throws="1">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="612">Creates an element for handling the given URI.</doc>
+ <source-position filename="gst/gsturi.h" line="161"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="621">a new element or %NULL if none
+could be created</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </return-value>
+ <parameters>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="614">Whether to create a source or a sink</doc>
+ <type name="URIType" c:type="const GstURIType"/>
+ </parameter>
+ <parameter name="uri" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="615">URI to create an element for</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="elementname"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="616">Name of created element, can be %NULL.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="register" c:identifier="gst_element_register">
+ <doc xml:space="preserve"
+ filename="gst/gstelementfactory.c"
+ line="187">Create a new elementfactory capable of instantiating objects of the
+@type and add the factory to @plugin.</doc>
+ <source-position filename="gst/gstelementfactory.h" line="90"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelementfactory.c"
+ line="198">%TRUE, if the registering succeeded, %FALSE on error</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="plugin"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstelementfactory.c"
+ line="189">#GstPlugin to register the element with, or %NULL for
+ a static element.</doc>
+ <type name="Plugin" c:type="GstPlugin*"/>
+ </parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelementfactory.c"
+ line="191">name of elements of this type</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="rank" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelementfactory.c"
+ line="192">rank of element (higher rank means more importance when autoplugging)</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelementfactory.c"
+ line="193">GType of element to register</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="state_change_return_get_name"
+ c:identifier="gst_element_state_change_return_get_name">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="1304">Gets a string representing the given state change result.</doc>
+ <source-position filename="gst/gstutils.h" line="996"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="1310">a string with the name of the state
+ result.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="state_ret" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="1306">a #GstStateChangeReturn to get the name of.</doc>
+ <type name="StateChangeReturn" c:type="GstStateChangeReturn"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="state_get_name"
+ c:identifier="gst_element_state_get_name">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="1276">Gets a string representing the given state.</doc>
+ <source-position filename="gst/gstutils.h" line="993"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="1282">a string with the name of the state.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="state" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="1278">a #GstState to get the name of.</doc>
+ <type name="State" c:type="GstState"/>
+ </parameter>
+ </parameters>
+ </function>
+ <virtual-method name="change_state" invoker="change_state">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="3022">Perform @transition on @element.
+
+This function must be called with STATE_LOCK held and is mainly used
+internally.</doc>
+ <source-position filename="gst/gstelement.h" line="722"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="3032">the #GstStateChangeReturn of the state transition.</doc>
+ <type name="StateChangeReturn" c:type="GstStateChangeReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="3024">a #GstElement</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </instance-parameter>
+ <parameter name="transition" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="3025">the requested transition</doc>
+ <type name="StateChange" c:type="GstStateChange"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="get_state" invoker="get_state">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="2553">Gets the state of the element.
+
+For elements that performed an ASYNC state change, as reported by
+gst_element_set_state(), this function will block up to the
+specified timeout value for the state change to complete.
+If the element completes the state change or goes into
+an error, this function returns immediately with a return value of
+%GST_STATE_CHANGE_SUCCESS or %GST_STATE_CHANGE_FAILURE respectively.
+
+For elements that did not return %GST_STATE_CHANGE_ASYNC, this function
+returns the current and pending state immediately.
+
+This function returns %GST_STATE_CHANGE_NO_PREROLL if the element
+successfully changed its state but is not able to provide data yet.
+This mostly happens for live sources that only produce data in
+%GST_STATE_PLAYING. While the state change return is equivalent to
+%GST_STATE_CHANGE_SUCCESS, it is returned to the application to signal that
+some sink elements might not be able to complete their state change because
+an element is not producing data to complete the preroll. When setting the
+element to playing, the preroll will complete and playback will start.</doc>
+ <source-position filename="gst/gstelement.h" line="719"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="2584">%GST_STATE_CHANGE_SUCCESS if the element has no more pending state
+ and the last state change succeeded, %GST_STATE_CHANGE_ASYNC if the
+ element is still performing a state change or
+ %GST_STATE_CHANGE_FAILURE if the last state change failed.
+
+MT safe.</doc>
+ <type name="StateChangeReturn" c:type="GstStateChangeReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="2555">a #GstElement to get the state of.</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </instance-parameter>
+ <parameter name="state"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="2556">a pointer to #GstState to hold the state.
+ Can be %NULL.</doc>
+ <type name="State" c:type="GstState*"/>
+ </parameter>
+ <parameter name="pending"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="2558">a pointer to #GstState to hold the pending
+ state. Can be %NULL.</doc>
+ <type name="State" c:type="GstState*"/>
+ </parameter>
+ <parameter name="timeout" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="2560">a #GstClockTime to specify the timeout for an async
+ state change or %GST_CLOCK_TIME_NONE for infinite timeout.</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="no_more_pads" invoker="no_more_pads">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="941">Use this function to signal that the element does not expect any more pads
+to show up in the current pipeline. This function should be called whenever
+pads have been added by the element itself. Elements with #GST_PAD_SOMETIMES
+pad templates use this in combination with autopluggers to figure out that
+the element is done initializing its pads.
+
+This function emits the #GstElement::no-more-pads signal.
+
+MT safe.</doc>
+ <source-position filename="gst/gstelement.h" line="706"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="943">a #GstElement</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="pad_added">
+ <source-position filename="gst/gstelement.h" line="704"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="element" transfer-ownership="none">
+ <type name="Element" c:type="GstElement*"/>
+ </instance-parameter>
+ <parameter name="pad" transfer-ownership="none">
+ <type name="Pad" c:type="GstPad*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="pad_removed">
+ <source-position filename="gst/gstelement.h" line="705"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="element" transfer-ownership="none">
+ <type name="Element" c:type="GstElement*"/>
+ </instance-parameter>
+ <parameter name="pad" transfer-ownership="none">
+ <type name="Pad" c:type="GstPad*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="post_message" invoker="post_message">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="2096">Post a message on the element's #GstBus. This function takes ownership of the
+message; if you want to access the message after this call, you should add an
+additional reference before calling.</doc>
+ <source-position filename="gst/gstelement.h" line="738"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="2105">%TRUE if the message was successfully posted. The function returns
+%FALSE if the element did not have a bus.
+
+MT safe.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="2098">a #GstElement posting the message</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </instance-parameter>
+ <parameter name="message" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="2099">a #GstMessage to post</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="provide_clock" invoker="provide_clock">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="371">Get the clock provided by the given element.
+&gt; An element is only required to provide a clock in the PAUSED
+&gt; state. Some elements can provide a clock in other states.</doc>
+ <source-position filename="gst/gstelement.h" line="730"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="379">the GstClock provided by the
+element or %NULL if no clock could be provided. Unref after usage.
+
+MT safe.</doc>
+ <type name="Clock" c:type="GstClock*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="373">a #GstElement to query</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="query" invoker="query">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="2021">Performs a query on the given element.
+
+For elements that don't implement a query handler, this function
+forwards the query to a random srcpad or to the peer of a
+random linked sinkpad of this element.
+
+Please note that some queries might need a running pipeline to work.</doc>
+ <source-position filename="gst/gstelement.h" line="736"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="2034">%TRUE if the query could be performed.
+
+MT safe.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="2023">a #GstElement to perform the query on.</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </instance-parameter>
+ <parameter name="query" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="2024">the #GstQuery.</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="release_pad">
+ <source-position filename="gst/gstelement.h" line="716"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="element" transfer-ownership="none">
+ <type name="Element" c:type="GstElement*"/>
+ </instance-parameter>
+ <parameter name="pad" transfer-ownership="none">
+ <type name="Pad" c:type="GstPad*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="request_new_pad" invoker="request_pad">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1232">Retrieves a request pad from the element according to the provided template.
+Pad templates can be looked up using
+gst_element_factory_get_static_pad_templates().
+
+The pad should be released with gst_element_release_request_pad().</doc>
+ <source-position filename="gst/gstelement.h" line="713"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1247">requested #GstPad if found,
+ otherwise %NULL. Release after usage.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1234">a #GstElement to find a request pad of.</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </instance-parameter>
+ <parameter name="templ" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1235">a #GstPadTemplate of which we want a pad of.</doc>
+ <type name="PadTemplate" c:type="GstPadTemplate*"/>
+ </parameter>
+ <parameter name="name"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1236">the name of the request #GstPad
+to retrieve. Can be %NULL.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="caps"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1238">the caps of the pad we want to
+request. Can be %NULL.</doc>
+ <type name="Caps" c:type="const GstCaps*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="send_event" invoker="send_event">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1915">Sends an event to an element. If the element doesn't implement an
+event handler, the event will be pushed on a random linked sink pad for
+downstream events or a random linked source pad for upstream events.
+
+This function takes ownership of the provided event so you should
+gst_event_ref() it if you want to reuse the event after this call.
+
+MT safe.</doc>
+ <source-position filename="gst/gstelement.h" line="734"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1929">%TRUE if the event was handled. Events that trigger a preroll (such
+as flushing seeks and steps) will emit %GST_MESSAGE_ASYNC_DONE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1917">a #GstElement to send the event to.</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </instance-parameter>
+ <parameter name="event" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1918">the #GstEvent to send to the element.</doc>
+ <type name="Event" c:type="GstEvent*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="set_bus" invoker="set_bus">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="3448">Sets the bus of the element. Increases the refcount on the bus.
+For internal use only, unless you're testing elements.
+
+MT safe.</doc>
+ <source-position filename="gst/gstelement.h" line="727"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="3450">a #GstElement to set the bus of.</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </instance-parameter>
+ <parameter name="bus"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="3451">the #GstBus to set.</doc>
+ <type name="Bus" c:type="GstBus*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="set_clock" invoker="set_clock">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="413">Sets the clock for the element. This function increases the
+refcount on the clock. Any previously set clock on the object
+is unreffed.</doc>
+ <source-position filename="gst/gstelement.h" line="731"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="422">%TRUE if the element accepted the clock. An element can refuse a
+clock when it, for example, is not able to slave its internal clock to the
+@clock or when it requires a specific clock to operate.
+
+MT safe.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="415">a #GstElement to set the clock for.</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </instance-parameter>
+ <parameter name="clock"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="416">the #GstClock to set for the element.</doc>
+ <type name="Clock" c:type="GstClock*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="set_context" invoker="set_context">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="3533">Sets the context of the element. Increases the refcount of the context.
+
+MT safe.</doc>
+ <source-position filename="gst/gstelement.h" line="740"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="3535">a #GstElement to set the context of.</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </instance-parameter>
+ <parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="3536">the #GstContext to set.</doc>
+ <type name="Context" c:type="GstContext*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="set_state" invoker="set_state">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="2867">Sets the state of the element. This function will try to set the
+requested state by going through all the intermediary states and calling
+the class's state change function for each.
+
+This function can return #GST_STATE_CHANGE_ASYNC, in which case the
+element will perform the remainder of the state change asynchronously in
+another thread.
+An application can use gst_element_get_state() to wait for the completion
+of the state change or it can wait for a %GST_MESSAGE_ASYNC_DONE or
+%GST_MESSAGE_STATE_CHANGED on the bus.
+
+State changes to %GST_STATE_READY or %GST_STATE_NULL never return
+#GST_STATE_CHANGE_ASYNC.</doc>
+ <source-position filename="gst/gstelement.h" line="721"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="2886">Result of the state change using #GstStateChangeReturn.
+
+MT safe.</doc>
+ <type name="StateChangeReturn" c:type="GstStateChangeReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="2869">a #GstElement to change state of.</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </instance-parameter>
+ <parameter name="state" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="2870">the element's new #GstState.</doc>
+ <type name="State" c:type="GstState"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="state_changed">
+ <source-position filename="gst/gstelement.h" line="723"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="element" transfer-ownership="none">
+ <type name="Element" c:type="GstElement*"/>
+ </instance-parameter>
+ <parameter name="oldstate" transfer-ownership="none">
+ <type name="State" c:type="GstState"/>
+ </parameter>
+ <parameter name="newstate" transfer-ownership="none">
+ <type name="State" c:type="GstState"/>
+ </parameter>
+ <parameter name="pending" transfer-ownership="none">
+ <type name="State" c:type="GstState"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <method name="abort_state" c:identifier="gst_element_abort_state">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="2608">Abort the state change of the element. This function is used
+by elements that do asynchronous state changes and find out
+something is wrong.
+
+This function should be called with the STATE_LOCK held.
+
+MT safe.</doc>
+ <source-position filename="gst/gstelement.h" line="1012"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="2610">a #GstElement to abort the state of.</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="add_pad" c:identifier="gst_element_add_pad">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="719">Adds a pad (link point) to @element. @pad's parent will be set to @element;
+see gst_object_set_parent() for refcounting information.
+
+Pads are automatically activated when added in the PAUSED or PLAYING
+state.
+
+The pad and the element should be unlocked when calling this function.
+
+This function will emit the #GstElement::pad-added signal on the element.</doc>
+ <source-position filename="gst/gstelement.h" line="894"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="734">%TRUE if the pad could be added. This function can fail when
+a pad with the same name already existed or the pad already had another
+parent.
+
+MT safe.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="721">a #GstElement to add the pad to.</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </instance-parameter>
+ <parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="722">the #GstPad to add to the element.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_property_deep_notify_watch"
+ c:identifier="gst_element_add_property_deep_notify_watch"
+ version="1.10">
+ <source-position filename="gst/gstelement.h" line="1051"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="3733">a watch id, which can be used in connection with
+ gst_element_remove_property_notify_watch() to remove the watch again.</doc>
+ <type name="gulong" c:type="gulong"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="3728">a #GstElement to watch (recursively) for property changes</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </instance-parameter>
+ <parameter name="property_name"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="3729">name of property to watch for changes, or
+ NULL to watch all properties</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="include_value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="3731">whether to include the new property value in the message</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_property_notify_watch"
+ c:identifier="gst_element_add_property_notify_watch"
+ version="1.10">
+ <source-position filename="gst/gstelement.h" line="1047"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="3701">a watch id, which can be used in connection with
+ gst_element_remove_property_notify_watch() to remove the watch again.</doc>
+ <type name="gulong" c:type="gulong"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="3696">a #GstElement to watch for property changes</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </instance-parameter>
+ <parameter name="property_name"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="3697">name of property to watch for changes, or
+ NULL to watch all properties</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="include_value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="3699">whether to include the new property value in the message</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="call_async"
+ c:identifier="gst_element_call_async"
+ version="1.10">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="3791">Calls @func from another thread and passes @user_data to it. This is to be
+used for cases when a state change has to be performed from a streaming
+thread, directly via gst_element_set_state() or indirectly e.g. via SEEK
+events.
+
+Calling those functions directly from the streaming thread will cause
+deadlocks in many situations, as they might involve waiting for the
+streaming thread to shut down from this very streaming thread.
+
+MT safe.</doc>
+ <source-position filename="gst/gstelement.h" line="1035"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="3793">a #GstElement</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </instance-parameter>
+ <parameter name="func"
+ transfer-ownership="none"
+ scope="notified"
+ closure="1"
+ destroy="2">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="3794">Function to call asynchronously from another thread</doc>
+ <type name="ElementCallAsyncFunc"
+ c:type="GstElementCallAsyncFunc"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="3795">Data to pass to @func</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="destroy_notify"
+ transfer-ownership="none"
+ scope="async">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="3796">GDestroyNotify for @user_data</doc>
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="change_state" c:identifier="gst_element_change_state">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="3022">Perform @transition on @element.
+
+This function must be called with STATE_LOCK held and is mainly used
+internally.</doc>
+ <source-position filename="gst/gstelement.h" line="1015"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="3032">the #GstStateChangeReturn of the state transition.</doc>
+ <type name="StateChangeReturn" c:type="GstStateChangeReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="3024">a #GstElement</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </instance-parameter>
+ <parameter name="transition" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="3025">the requested transition</doc>
+ <type name="StateChange" c:type="GstStateChange"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="continue_state" c:identifier="gst_element_continue_state">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="2683">Commit the state change of the element and proceed to the next
+pending state if any. This function is used
+by elements that do asynchronous state changes.
+The core will normally call this method automatically when an
+element returned %GST_STATE_CHANGE_SUCCESS from the state change function.
+
+If after calling this method the element still has not reached
+the pending state, the next state change is performed.
+
+This method is used internally and should normally not be called by plugins
+or applications.
+
+This function must be called with STATE_LOCK held.</doc>
+ <source-position filename="gst/gstelement.h" line="1019"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="2702">The result of the commit state change.
+
+MT safe.</doc>
+ <type name="StateChangeReturn" c:type="GstStateChangeReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="2685">a #GstElement to continue the state change of.</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </instance-parameter>
+ <parameter name="ret" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="2686">The previous state return value</doc>
+ <type name="StateChangeReturn" c:type="GstStateChangeReturn"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="create_all_pads"
+ c:identifier="gst_element_create_all_pads">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="881">Creates a pad for each pad template that is always available.
+This function is only useful during object initialization of
+subclasses of #GstElement.</doc>
+ <source-position filename="gst/gstutils.h" line="984"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="883">a #GstElement to create pads for</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="foreach_pad"
+ c:identifier="gst_element_foreach_pad"
+ version="1.14">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1429">Call @func with @user_data for each of @element's pads. @func will be called
+exactly once for each pad that exists at the time of this call, unless
+one of the calls to @func returns %FALSE in which case we will stop
+iterating pads and return early. If new pads are added or pads are removed
+while pads are being iterated, this will not be taken into account until
+next time this function is used.</doc>
+ <source-position filename="gst/gstelement.h" line="949"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1442">%FALSE if @element had no pads or if one of the calls to @func
+ returned %FALSE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1431">a #GstElement to iterate pads of</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </instance-parameter>
+ <parameter name="func"
+ transfer-ownership="none"
+ scope="call"
+ closure="1">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1432">function to call for each pad</doc>
+ <type name="ElementForeachPadFunc"
+ c:type="GstElementForeachPadFunc"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1433">user data passed to @func</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="foreach_sink_pad"
+ c:identifier="gst_element_foreach_sink_pad"
+ version="1.14">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1377">Call @func with @user_data for each of @element's sink pads. @func will be
+called exactly once for each sink pad that exists at the time of this call,
+unless one of the calls to @func returns %FALSE in which case we will stop
+iterating pads and return early. If new sink pads are added or sink pads
+are removed while the sink pads are being iterated, this will not be taken
+into account until next time this function is used.</doc>
+ <source-position filename="gst/gstelement.h" line="941"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1390">%FALSE if @element had no sink pads or if one of the calls to @func
+ returned %FALSE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1379">a #GstElement to iterate sink pads of</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </instance-parameter>
+ <parameter name="func"
+ transfer-ownership="none"
+ scope="call"
+ closure="1">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1380">function to call for each sink pad</doc>
+ <type name="ElementForeachPadFunc"
+ c:type="GstElementForeachPadFunc"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1381">user data passed to @func</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="foreach_src_pad"
+ c:identifier="gst_element_foreach_src_pad"
+ version="1.14">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1403">Call @func with @user_data for each of @element's source pads. @func will be
+called exactly once for each source pad that exists at the time of this call,
+unless one of the calls to @func returns %FALSE in which case we will stop
+iterating pads and return early. If new source pads are added or source pads
+are removed while the source pads are being iterated, this will not be taken
+into account until next time this function is used.</doc>
+ <source-position filename="gst/gstelement.h" line="945"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1416">%FALSE if @element had no source pads or if one of the calls
+ to @func returned %FALSE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1405">a #GstElement to iterate source pads of</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </instance-parameter>
+ <parameter name="func"
+ transfer-ownership="none"
+ scope="call"
+ closure="1">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1406">function to call for each source pad</doc>
+ <type name="ElementForeachPadFunc"
+ c:type="GstElementForeachPadFunc"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1407">user data passed to @func</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_base_time" c:identifier="gst_element_get_base_time">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="502">Returns the base time of the element. The base time is the
+absolute time of the clock when this element was last put to
+PLAYING. Subtracting the base time from the clock time gives
+the running time of the element.</doc>
+ <source-position filename="gst/gstelement.h" line="855"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="511">the base time of the element.
+
+MT safe.</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="504">a #GstElement.</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_bus" c:identifier="gst_element_get_bus">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="3471">Returns the bus of the element. Note that only a #GstPipeline will provide a
+bus for the application.</doc>
+ <source-position filename="gst/gstelement.h" line="875"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="3478">the element's #GstBus. unref after
+usage.
+
+MT safe.</doc>
+ <type name="Bus" c:type="GstBus*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="3473">a #GstElement to get the bus of.</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_clock" c:identifier="gst_element_get_clock">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="447">Gets the currently configured clock of the element. This is the clock as was
+last set with gst_element_set_clock().
+
+Elements in a pipeline will only have their clock set when the
+pipeline is in the PLAYING state.</doc>
+ <source-position filename="gst/gstelement.h" line="846"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="457">the #GstClock of the element. unref after usage.
+
+MT safe.</doc>
+ <type name="Clock" c:type="GstClock*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="449">a #GstElement to get the clock of.</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_compatible_pad"
+ c:identifier="gst_element_get_compatible_pad">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="1116">Looks for an unlinked pad to which the given pad can link. It is not
+guaranteed that linking the pads will work, though it should work in most
+cases.
+
+This function will first attempt to find a compatible unlinked ALWAYS pad,
+and if none can be found, it will request a compatible REQUEST pad by looking
+at the templates of @element.</doc>
+ <source-position filename="gst/gstutils.h" line="987"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="1130">the #GstPad to which a link
+ can be made, or %NULL if one cannot be found. gst_object_unref()
+ after usage.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="1118">a #GstElement in which the pad should be found.</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </instance-parameter>
+ <parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="1119">the #GstPad to find a compatible one for.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </parameter>
+ <parameter name="caps"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="1120">the #GstCaps to use as a filter.</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_compatible_pad_template"
+ c:identifier="gst_element_get_compatible_pad_template">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="914">Retrieves a pad template from @element that is compatible with @compattempl.
+Pads from compatible templates can be linked together.</doc>
+ <source-position filename="gst/gstutils.h" line="990"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="923">a compatible #GstPadTemplate,
+ or %NULL if none was found. No unreferencing is necessary.</doc>
+ <type name="PadTemplate" c:type="GstPadTemplate*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="916">a #GstElement to get a compatible pad template for</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </instance-parameter>
+ <parameter name="compattempl" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="917">the #GstPadTemplate to find a compatible
+ template for</doc>
+ <type name="PadTemplate" c:type="GstPadTemplate*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_context"
+ c:identifier="gst_element_get_context"
+ version="1.8">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="3625">Gets the context with @context_type set on the element or NULL.
+
+MT safe.</doc>
+ <source-position filename="gst/gstelement.h" line="886"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="3634">A #GstContext or NULL</doc>
+ <type name="Context" c:type="GstContext*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="3627">a #GstElement to get the context of.</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </instance-parameter>
+ <parameter name="context_type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="3628">a name of a context to retrieve</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_context_unlocked"
+ c:identifier="gst_element_get_context_unlocked"
+ version="1.8">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="3596">Gets the context with @context_type set on the element or NULL.</doc>
+ <source-position filename="gst/gstelement.h" line="889"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="3603">A #GstContext or NULL</doc>
+ <type name="Context" c:type="GstContext*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="3598">a #GstElement to get the context of.</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </instance-parameter>
+ <parameter name="context_type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="3599">a name of a context to retrieve</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_contexts"
+ c:identifier="gst_element_get_contexts"
+ version="1.8">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="3560">Gets the contexts set on the element.
+
+MT safe.</doc>
+ <source-position filename="gst/gstelement.h" line="883"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="3568">List of #GstContext</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="Context"/>
+ </type>
+ </return-value>
+ <parameters>
+ <instance-parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="3562">a #GstElement to set the context of.</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_current_clock_time"
+ c:identifier="gst_element_get_current_clock_time"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="633">Returns the current clock time of the element, as in, the time of the
+element's clock, or GST_CLOCK_TIME_NONE if there is no clock.</doc>
+ <source-position filename="gst/gstelement.h" line="867"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="640">the clock time of the element, or GST_CLOCK_TIME_NONE if there is
+no clock.</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="635">a #GstElement.</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_current_running_time"
+ c:identifier="gst_element_get_current_running_time"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="592">Returns the running time of the element. The running time is the
+element's clock time minus its base time. Will return GST_CLOCK_TIME_NONE
+if the element has no clock, or if its base time has not been set.</doc>
+ <source-position filename="gst/gstelement.h" line="864"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="600">the running time of the element, or GST_CLOCK_TIME_NONE if the
+element has no clock or its base time has not been set.</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="594">a #GstElement.</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_factory" c:identifier="gst_element_get_factory">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="3317">Retrieves the factory that was used to create this element.</doc>
+ <source-position filename="gst/gstelement.h" line="1042"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="3323">the #GstElementFactory used for creating this
+ element or %NULL if element has not been registered (static element). no refcounting is needed.</doc>
+ <type name="ElementFactory" c:type="GstElementFactory*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="3319">a #GstElement to request the element factory of.</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_metadata"
+ c:identifier="gst_element_get_metadata"
+ version="1.14">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1691">Get metadata with @key in @klass.</doc>
+ <source-position filename="gst/gstelement.h" line="1064"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1698">the metadata for @key.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1693">class to get metadata for</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </instance-parameter>
+ <parameter name="key" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1694">the key to get</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_pad_template"
+ c:identifier="gst_element_get_pad_template"
+ version="1.14">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1790">Retrieves a padtemplate from @element with the given name.</doc>
+ <source-position filename="gst/gstelement.h" line="1059"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1797">the #GstPadTemplate with the
+ given name, or %NULL if none was found. No unreferencing is
+ necessary.</doc>
+ <type name="PadTemplate" c:type="GstPadTemplate*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1792">a #GstElement to get the pad template of.</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </instance-parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1793">the name of the #GstPadTemplate to get.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_pad_template_list"
+ c:identifier="gst_element_get_pad_template_list"
+ version="1.14">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1732">Retrieves a list of the pad templates associated with @element. The
+list must not be modified by the calling code.</doc>
+ <source-position filename="gst/gstelement.h" line="1062"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1739">the #GList of
+ pad templates.</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="PadTemplate"/>
+ </type>
+ </return-value>
+ <parameters>
+ <instance-parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1734">a #GstElement to get pad templates of.</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_request_pad"
+ c:identifier="gst_element_get_request_pad">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1170">Retrieves a pad from the element by name (e.g. "src_\%d"). This version only
+retrieves request pads. The pad should be released with
+gst_element_release_request_pad().
+
+This method is slower than manually getting the pad template and calling
+gst_element_request_pad() if the pads should have a specific name (e.g.
+@name is "src_1" instead of "src_\%u").</doc>
+ <source-position filename="gst/gstelement.h" line="906"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1183">requested #GstPad if found,
+ otherwise %NULL. Release after usage.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1172">a #GstElement to find a request pad of.</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </instance-parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1173">the name of the request #GstPad to retrieve.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_start_time" c:identifier="gst_element_get_start_time">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="564">Returns the start time of the element. The start time is the
+running time of the clock when this element was last put to PAUSED.
+
+Usually the start_time is managed by a toplevel element such as
+#GstPipeline.
+
+MT safe.</doc>
+ <source-position filename="gst/gstelement.h" line="861"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="576">the start time of the element.</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="566">a #GstElement.</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_state" c:identifier="gst_element_get_state">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="2553">Gets the state of the element.
+
+For elements that performed an ASYNC state change, as reported by
+gst_element_set_state(), this function will block up to the
+specified timeout value for the state change to complete.
+If the element completes the state change or goes into
+an error, this function returns immediately with a return value of
+%GST_STATE_CHANGE_SUCCESS or %GST_STATE_CHANGE_FAILURE respectively.
+
+For elements that did not return %GST_STATE_CHANGE_ASYNC, this function
+returns the current and pending state immediately.
+
+This function returns %GST_STATE_CHANGE_NO_PREROLL if the element
+successfully changed its state but is not able to provide data yet.
+This mostly happens for live sources that only produce data in
+%GST_STATE_PLAYING. While the state change return is equivalent to
+%GST_STATE_CHANGE_SUCCESS, it is returned to the application to signal that
+some sink elements might not be able to complete their state change because
+an element is not producing data to complete the preroll. When setting the
+element to playing, the preroll will complete and playback will start.</doc>
+ <source-position filename="gst/gstelement.h" line="1004"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="2584">%GST_STATE_CHANGE_SUCCESS if the element has no more pending state
+ and the last state change succeeded, %GST_STATE_CHANGE_ASYNC if the
+ element is still performing a state change or
+ %GST_STATE_CHANGE_FAILURE if the last state change failed.
+
+MT safe.</doc>
+ <type name="StateChangeReturn" c:type="GstStateChangeReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="2555">a #GstElement to get the state of.</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </instance-parameter>
+ <parameter name="state"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="2556">a pointer to #GstState to hold the state.
+ Can be %NULL.</doc>
+ <type name="State" c:type="GstState*"/>
+ </parameter>
+ <parameter name="pending"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="2558">a pointer to #GstState to hold the pending
+ state. Can be %NULL.</doc>
+ <type name="State" c:type="GstState*"/>
+ </parameter>
+ <parameter name="timeout" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="2560">a #GstClockTime to specify the timeout for an async
+ state change or %GST_CLOCK_TIME_NONE for infinite timeout.</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_static_pad" c:identifier="gst_element_get_static_pad">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="975">Retrieves a pad from @element by name. This version only retrieves
+already-existing (i.e. 'static') pads.</doc>
+ <source-position filename="gst/gstelement.h" line="903"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="983">the requested #GstPad if
+ found, otherwise %NULL. unref after usage.
+
+MT safe.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="977">a #GstElement to find a static pad of.</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </instance-parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="978">the name of the static #GstPad to retrieve.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="is_locked_state"
+ c:identifier="gst_element_is_locked_state">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="2302">Checks if the state of an element is locked.
+If the state of an element is locked, state changes of the parent don't
+affect the element.
+This way you can leave currently unused elements inside bins. Just lock their
+state before changing the state from #GST_STATE_NULL.
+
+MT safe.</doc>
+ <source-position filename="gst/gstelement.h" line="995"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="2314">%TRUE, if the element's state is locked.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="2304">a #GstElement.</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="iterate_pads" c:identifier="gst_element_iterate_pads">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1275">Retrieves an iterator of @element's pads. The iterator should
+be freed after usage. Also more specialized iterators exists such as
+gst_element_iterate_src_pads() or gst_element_iterate_sink_pads().
+
+The order of pads returned by the iterator will be the order in which
+the pads were added to the element.</doc>
+ <source-position filename="gst/gstelement.h" line="915"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1286">the #GstIterator of #GstPad.
+
+MT safe.</doc>
+ <type name="Iterator" c:type="GstIterator*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1277">a #GstElement to iterate pads of.</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="iterate_sink_pads"
+ c:identifier="gst_element_iterate_sink_pads">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1319">Retrieves an iterator of @element's sink pads.
+
+The order of pads returned by the iterator will be the order in which
+the pads were added to the element.</doc>
+ <source-position filename="gst/gstelement.h" line="921"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1328">the #GstIterator of #GstPad.
+
+MT safe.</doc>
+ <type name="Iterator" c:type="GstIterator*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1321">a #GstElement.</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="iterate_src_pads"
+ c:identifier="gst_element_iterate_src_pads">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1298">Retrieves an iterator of @element's source pads.
+
+The order of pads returned by the iterator will be the order in which
+the pads were added to the element.</doc>
+ <source-position filename="gst/gstelement.h" line="918"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1307">the #GstIterator of #GstPad.
+
+MT safe.</doc>
+ <type name="Iterator" c:type="GstIterator*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1300">a #GstElement.</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="link" c:identifier="gst_element_link">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="2213">Links @src to @dest. The link must be from source to
+destination; the other direction will not be tried. The function looks for
+existing pads that aren't linked yet. It will request new pads if necessary.
+Such pads need to be released manually when unlinking.
+If multiple links are possible, only one is established.
+
+Make sure you have added your elements to a bin or pipeline with
+gst_bin_add() before trying to link them.</doc>
+ <source-position filename="gst/gstutils.h" line="1002"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="2227">%TRUE if the elements could be linked, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="src" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="2215">a #GstElement containing the source pad.</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </instance-parameter>
+ <parameter name="dest" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="2216">the #GstElement containing the destination pad.</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="link_filtered" c:identifier="gst_element_link_filtered">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="2273">Links @src to @dest using the given caps as filtercaps.
+The link must be from source to
+destination; the other direction will not be tried. The function looks for
+existing pads that aren't linked yet. It will request new pads if necessary.
+If multiple links are possible, only one is established.
+
+Make sure you have added your elements to a bin or pipeline with
+gst_bin_add() before trying to link them.</doc>
+ <source-position filename="gst/gstutils.h" line="1008"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="2289">%TRUE if the pads could be linked, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="src" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="2275">a #GstElement containing the source pad.</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </instance-parameter>
+ <parameter name="dest" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="2276">the #GstElement containing the destination pad.</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </parameter>
+ <parameter name="filter"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="2277">the #GstCaps to filter the link,
+ or %NULL for no filter.</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="link_many"
+ c:identifier="gst_element_link_many"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="2235">Chain together a series of elements. Uses gst_element_link().
+Make sure you have added your elements to a bin or pipeline with
+gst_bin_add() before trying to link them.</doc>
+ <source-position filename="gst/gstutils.h" line="1005"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="2245">%TRUE on success, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="element_1" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="2237">the first #GstElement in the link chain.</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </instance-parameter>
+ <parameter name="element_2" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="2238">the second #GstElement in the link chain.</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </parameter>
+ <parameter name="..." transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="2239">the %NULL-terminated list of elements to link in order.</doc>
+ <varargs/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="link_pads" c:identifier="gst_element_link_pads">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="2102">Links the two named pads of the source and destination elements.
+Side effect is that if one of the pads has no parent, it becomes a
+child of the parent of the other element. If they have different
+parents, the link fails.</doc>
+ <source-position filename="gst/gstutils.h" line="1018"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="2116">%TRUE if the pads could be linked, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="src" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="2104">a #GstElement containing the source pad.</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </instance-parameter>
+ <parameter name="srcpadname"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="2105">the name of the #GstPad in source element
+ or %NULL for any pad.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="dest" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="2107">the #GstElement containing the destination pad.</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </parameter>
+ <parameter name="destpadname"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="2108">the name of the #GstPad in destination element,
+or %NULL for any pad.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="link_pads_filtered"
+ c:identifier="gst_element_link_pads_filtered">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="2126">Links the two named pads of the source and destination elements. Side effect
+is that if one of the pads has no parent, it becomes a child of the parent of
+the other element. If they have different parents, the link fails. If @caps
+is not %NULL, makes sure that the caps of the link is a subset of @caps.</doc>
+ <source-position filename="gst/gstutils.h" line="1028"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="2142">%TRUE if the pads could be linked, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="src" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="2128">a #GstElement containing the source pad.</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </instance-parameter>
+ <parameter name="srcpadname"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="2129">the name of the #GstPad in source element
+ or %NULL for any pad.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="dest" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="2131">the #GstElement containing the destination pad.</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </parameter>
+ <parameter name="destpadname"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="2132">the name of the #GstPad in destination element
+ or %NULL for any pad.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="filter"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="2134">the #GstCaps to filter the link,
+ or %NULL for no filter.</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="link_pads_full" c:identifier="gst_element_link_pads_full">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="1779">Links the two named pads of the source and destination elements.
+Side effect is that if one of the pads has no parent, it becomes a
+child of the parent of the other element. If they have different
+parents, the link fails.
+
+Calling gst_element_link_pads_full() with @flags == %GST_PAD_LINK_CHECK_DEFAULT
+is the same as calling gst_element_link_pads() and the recommended way of
+linking pads with safety checks applied.
+
+This is a convenience function for gst_pad_link_full().</doc>
+ <source-position filename="gst/gstutils.h" line="1021"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="1800">%TRUE if the pads could be linked, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="src" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="1781">a #GstElement containing the source pad.</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </instance-parameter>
+ <parameter name="srcpadname"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="1782">the name of the #GstPad in source element
+ or %NULL for any pad.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="dest" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="1784">the #GstElement containing the destination pad.</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </parameter>
+ <parameter name="destpadname"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="1785">the name of the #GstPad in destination element,
+or %NULL for any pad.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="1787">the #GstPadLinkCheck to be performed when linking pads.</doc>
+ <type name="PadLinkCheck" c:type="GstPadLinkCheck"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="lost_state" c:identifier="gst_element_lost_state">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="2789">Brings the element to the lost state. The current state of the
+element is copied to the pending state so that any call to
+gst_element_get_state() will return %GST_STATE_CHANGE_ASYNC.
+
+An ASYNC_START message is posted. If the element was PLAYING, it will
+go to PAUSED. The element will be restored to its PLAYING state by
+the parent pipeline when it prerolls again.
+
+This is mostly used for elements that lost their preroll buffer
+in the %GST_STATE_PAUSED or %GST_STATE_PLAYING state after a flush,
+they will go to their pending state again when a new preroll buffer is
+queued. This function can only be called when the element is currently
+not in error or an async state change.
+
+This function is used internally and should normally not be called from
+plugins or applications.</doc>
+ <source-position filename="gst/gstelement.h" line="1022"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="2791">a #GstElement the state is lost of</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="message_full" c:identifier="gst_element_message_full">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="2270">Post an error, warning or info message on the bus from inside an element.
+
+@type must be of #GST_MESSAGE_ERROR, #GST_MESSAGE_WARNING or
+#GST_MESSAGE_INFO.
+
+MT safe.</doc>
+ <source-position filename="gst/gstelement.h" line="981"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="2272">a #GstElement to send message from</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </instance-parameter>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="2273">the #GstMessageType</doc>
+ <type name="MessageType" c:type="GstMessageType"/>
+ </parameter>
+ <parameter name="domain" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="2274">the GStreamer GError domain this message belongs to</doc>
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </parameter>
+ <parameter name="code" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="2275">the GError code belonging to the domain</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="text"
+ transfer-ownership="full"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="2276">an allocated text string to be used
+ as a replacement for the default message connected to code,
+ or %NULL</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="debug"
+ transfer-ownership="full"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="2279">an allocated debug message to be
+ used as a replacement for the default debugging information,
+ or %NULL</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="file" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="2282">the source code file where the error was generated</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="function" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="2283">the source code function where the error was generated</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="line" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="2284">the source code line where the error was generated</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="message_full_with_details"
+ c:identifier="gst_element_message_full_with_details"
+ version="1.10">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="2166">Post an error, warning or info message on the bus from inside an element.
+
+@type must be of #GST_MESSAGE_ERROR, #GST_MESSAGE_WARNING or
+#GST_MESSAGE_INFO.</doc>
+ <source-position filename="gst/gstelement.h" line="986"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="2168">a #GstElement to send message from</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </instance-parameter>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="2169">the #GstMessageType</doc>
+ <type name="MessageType" c:type="GstMessageType"/>
+ </parameter>
+ <parameter name="domain" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="2170">the GStreamer GError domain this message belongs to</doc>
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </parameter>
+ <parameter name="code" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="2171">the GError code belonging to the domain</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="text"
+ transfer-ownership="full"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="2172">an allocated text string to be used
+ as a replacement for the default message connected to code,
+ or %NULL</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="debug"
+ transfer-ownership="full"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="2175">an allocated debug message to be
+ used as a replacement for the default debugging information,
+ or %NULL</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ <parameter name="file" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="2178">the source code file where the error was generated</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="function" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="2179">the source code function where the error was generated</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="line" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="2180">the source code line where the error was generated</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="structure" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="2181">optional details structure</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="no_more_pads" c:identifier="gst_element_no_more_pads">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="941">Use this function to signal that the element does not expect any more pads
+to show up in the current pipeline. This function should be called whenever
+pads have been added by the element itself. Elements with #GST_PAD_SOMETIMES
+pad templates use this in combination with autopluggers to figure out that
+the element is done initializing its pads.
+
+This function emits the #GstElement::no-more-pads signal.
+
+MT safe.</doc>
+ <source-position filename="gst/gstelement.h" line="900"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="943">a #GstElement</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="post_message" c:identifier="gst_element_post_message">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="2096">Post a message on the element's #GstBus. This function takes ownership of the
+message; if you want to access the message after this call, you should add an
+additional reference before calling.</doc>
+ <source-position filename="gst/gstelement.h" line="968"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="2105">%TRUE if the message was successfully posted. The function returns
+%FALSE if the element did not have a bus.
+
+MT safe.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="2098">a #GstElement posting the message</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </instance-parameter>
+ <parameter name="message" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="2099">a #GstMessage to post</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="provide_clock" c:identifier="gst_element_provide_clock">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="371">Get the clock provided by the given element.
+&gt; An element is only required to provide a clock in the PAUSED
+&gt; state. Some elements can provide a clock in other states.</doc>
+ <source-position filename="gst/gstelement.h" line="843"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="379">the GstClock provided by the
+element or %NULL if no clock could be provided. Unref after usage.
+
+MT safe.</doc>
+ <type name="Clock" c:type="GstClock*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="373">a #GstElement to query</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="query" c:identifier="gst_element_query">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="2021">Performs a query on the given element.
+
+For elements that don't implement a query handler, this function
+forwards the query to a random srcpad or to the peer of a
+random linked sinkpad of this element.
+
+Please note that some queries might need a running pipeline to work.</doc>
+ <source-position filename="gst/gstelement.h" line="963"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="2034">%TRUE if the query could be performed.
+
+MT safe.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="2023">a #GstElement to perform the query on.</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </instance-parameter>
+ <parameter name="query" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="2024">the #GstQuery.</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="query_convert" c:identifier="gst_element_query_convert">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="2534">Queries an element to convert @src_val in @src_format to @dest_format.</doc>
+ <source-position filename="gst/gstutils.h" line="1060"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="2544">%TRUE if the query could be performed.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="2536">a #GstElement to invoke the convert query on.</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </instance-parameter>
+ <parameter name="src_format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="2537">a #GstFormat to convert from.</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ <parameter name="src_val" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="2538">a value to convert.</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ <parameter name="dest_format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="2539">the #GstFormat to convert to.</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ <parameter name="dest_val"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="2540">a pointer to the result.</doc>
+ <type name="gint64" c:type="gint64*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="query_duration" c:identifier="gst_element_query_duration">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="2493">Queries an element (usually top-level pipeline or playbin element) for the
+total stream duration in nanoseconds. This query will only work once the
+pipeline is prerolled (i.e. reached PAUSED or PLAYING state). The application
+will receive an ASYNC_DONE message on the pipeline bus when that is the case.
+
+If the duration changes for some reason, you will get a DURATION_CHANGED
+message on the pipeline bus, in which case you should re-query the duration
+using this function.</doc>
+ <source-position filename="gst/gstutils.h" line="1057"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="2508">%TRUE if the query could be performed.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="2495">a #GstElement to invoke the duration query on.</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </instance-parameter>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="2496">the #GstFormat requested</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ <parameter name="duration"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="2497">A location in which to store the total duration, or %NULL.</doc>
+ <type name="gint64" c:type="gint64*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="query_position" c:identifier="gst_element_query_position">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="2450">Queries an element (usually top-level pipeline or playbin element) for the
+stream position in nanoseconds. This will be a value between 0 and the
+stream duration (if the stream duration is known). This query will usually
+only work once the pipeline is prerolled (i.e. reached PAUSED or PLAYING
+state). The application will receive an ASYNC_DONE message on the pipeline
+bus when that is the case.
+
+If one repeatedly calls this function one can also create a query and reuse
+it in gst_element_query().</doc>
+ <source-position filename="gst/gstutils.h" line="1054"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="2467">%TRUE if the query could be performed.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="2452">a #GstElement to invoke the position query on.</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </instance-parameter>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="2453">the #GstFormat requested</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ <parameter name="cur"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="2454">a location in which to store the current
+ position, or %NULL.</doc>
+ <type name="gint64" c:type="gint64*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="release_request_pad"
+ c:identifier="gst_element_release_request_pad">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="335">Makes the element free the previously requested pad as obtained
+with gst_element_request_pad().
+
+This does not unref the pad. If the pad was created by using
+gst_element_request_pad(), gst_element_release_request_pad() needs to be
+followed by gst_object_unref() to free the @pad.
+
+MT safe.</doc>
+ <source-position filename="gst/gstelement.h" line="912"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="337">a #GstElement to release the request pad of.</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </instance-parameter>
+ <parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="338">the #GstPad to release.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="remove_pad" c:identifier="gst_element_remove_pad">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="831">Removes @pad from @element. @pad will be destroyed if it has not been
+referenced elsewhere using gst_object_unparent().
+
+This function is used by plugin developers and should not be used
+by applications. Pads that were dynamically requested from elements
+with gst_element_request_pad() should be released with the
+gst_element_release_request_pad() function instead.
+
+Pads are not automatically deactivated so elements should perform the needed
+steps to deactivate the pad in case this pad is removed in the PAUSED or
+PLAYING state. See gst_pad_set_active() for more information about
+deactivating pads.
+
+The pad and the element should be unlocked when calling this function.
+
+This function will emit the #GstElement::pad-removed signal on the element.</doc>
+ <source-position filename="gst/gstelement.h" line="897"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="853">%TRUE if the pad could be removed. Can return %FALSE if the
+pad does not belong to the provided element.
+
+MT safe.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="833">a #GstElement to remove pad from.</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </instance-parameter>
+ <parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="834">the #GstPad to remove from the element.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="remove_property_notify_watch"
+ c:identifier="gst_element_remove_property_notify_watch"
+ version="1.10">
+ <source-position filename="gst/gstelement.h" line="1055"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="3760">a #GstElement being watched for property changes</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </instance-parameter>
+ <parameter name="watch_id" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="3761">watch id to remove</doc>
+ <type name="gulong" c:type="gulong"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="request_pad" c:identifier="gst_element_request_pad">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1232">Retrieves a request pad from the element according to the provided template.
+Pad templates can be looked up using
+gst_element_factory_get_static_pad_templates().
+
+The pad should be released with gst_element_release_request_pad().</doc>
+ <source-position filename="gst/gstelement.h" line="909"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1247">requested #GstPad if found,
+ otherwise %NULL. Release after usage.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1234">a #GstElement to find a request pad of.</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </instance-parameter>
+ <parameter name="templ" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1235">a #GstPadTemplate of which we want a pad of.</doc>
+ <type name="PadTemplate" c:type="GstPadTemplate*"/>
+ </parameter>
+ <parameter name="name"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1236">the name of the request #GstPad
+to retrieve. Can be %NULL.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="caps"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1238">the caps of the pad we want to
+request. Can be %NULL.</doc>
+ <type name="Caps" c:type="const GstCaps*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="seek" c:identifier="gst_element_seek">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1956">Sends a seek event to an element. See gst_event_new_seek() for the details of
+the parameters. The seek event is sent to the element using
+gst_element_send_event().
+
+MT safe.</doc>
+ <source-position filename="gst/gstelement.h" line="958"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1973">%TRUE if the event was handled. Flushing seeks will trigger a
+preroll, which will emit %GST_MESSAGE_ASYNC_DONE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1958">a #GstElement to send the event to.</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </instance-parameter>
+ <parameter name="rate" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1959">The new playback rate</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </parameter>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1960">The format of the seek values</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1961">The optional seek flags.</doc>
+ <type name="SeekFlags" c:type="GstSeekFlags"/>
+ </parameter>
+ <parameter name="start_type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1962">The type and flags for the new start position</doc>
+ <type name="SeekType" c:type="GstSeekType"/>
+ </parameter>
+ <parameter name="start" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1963">The value of the new start position</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ <parameter name="stop_type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1964">The type and flags for the new stop position</doc>
+ <type name="SeekType" c:type="GstSeekType"/>
+ </parameter>
+ <parameter name="stop" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1965">The value of the new stop position</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="seek_simple" c:identifier="gst_element_seek_simple">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="2573">Simple API to perform a seek on the given element, meaning it just seeks
+to the given position relative to the start of the stream. For more complex
+operations like segment seeks (e.g. for looping) or changing the playback
+rate or seeking relative to the last configured playback segment you should
+use gst_element_seek().
+
+In a completely prerolled PAUSED or PLAYING pipeline, seeking is always
+guaranteed to return %TRUE on a seekable media type or %FALSE when the media
+type is certainly not seekable (such as a live stream).
+
+Some elements allow for seeking in the READY state, in this
+case they will store the seek event and execute it when they are put to
+PAUSED. If the element supports seek in READY, it will always return %TRUE when
+it receives the event in the READY state.</doc>
+ <source-position filename="gst/gstutils.h" line="1032"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="2599">%TRUE if the seek operation succeeded. Flushing seeks will trigger a
+preroll, which will emit %GST_MESSAGE_ASYNC_DONE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="2575">a #GstElement to seek on</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </instance-parameter>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="2576">a #GstFormat to execute the seek in, such as #GST_FORMAT_TIME</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ <parameter name="seek_flags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="2577">seek options; playback applications will usually want to use
+ GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_KEY_UNIT here</doc>
+ <type name="SeekFlags" c:type="GstSeekFlags"/>
+ </parameter>
+ <parameter name="seek_pos" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="2579">position to seek to (relative to the start); if you are doing
+ a seek in #GST_FORMAT_TIME this value is in nanoseconds -
+ multiply with #GST_SECOND to convert seconds to nanoseconds or
+ with #GST_MSECOND to convert milliseconds to nanoseconds.</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="send_event" c:identifier="gst_element_send_event">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1915">Sends an event to an element. If the element doesn't implement an
+event handler, the event will be pushed on a random linked sink pad for
+downstream events or a random linked source pad for upstream events.
+
+This function takes ownership of the provided event so you should
+gst_event_ref() it if you want to reuse the event after this call.
+
+MT safe.</doc>
+ <source-position filename="gst/gstelement.h" line="955"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1929">%TRUE if the event was handled. Events that trigger a preroll (such
+as flushing seeks and steps) will emit %GST_MESSAGE_ASYNC_DONE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1917">a #GstElement to send the event to.</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </instance-parameter>
+ <parameter name="event" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1918">the #GstEvent to send to the element.</doc>
+ <type name="Event" c:type="GstEvent*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_base_time" c:identifier="gst_element_set_base_time">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="476">Set the base time of an element. See gst_element_get_base_time().
+
+MT safe.</doc>
+ <source-position filename="gst/gstelement.h" line="852"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="478">a #GstElement.</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </instance-parameter>
+ <parameter name="time" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="479">the base time to set.</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_bus" c:identifier="gst_element_set_bus">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="3448">Sets the bus of the element. Increases the refcount on the bus.
+For internal use only, unless you're testing elements.
+
+MT safe.</doc>
+ <source-position filename="gst/gstelement.h" line="872"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="3450">a #GstElement to set the bus of.</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </instance-parameter>
+ <parameter name="bus"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="3451">the #GstBus to set.</doc>
+ <type name="Bus" c:type="GstBus*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_clock" c:identifier="gst_element_set_clock">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="413">Sets the clock for the element. This function increases the
+refcount on the clock. Any previously set clock on the object
+is unreffed.</doc>
+ <source-position filename="gst/gstelement.h" line="849"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="422">%TRUE if the element accepted the clock. An element can refuse a
+clock when it, for example, is not able to slave its internal clock to the
+@clock or when it requires a specific clock to operate.
+
+MT safe.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="415">a #GstElement to set the clock for.</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </instance-parameter>
+ <parameter name="clock"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="416">the #GstClock to set for the element.</doc>
+ <type name="Clock" c:type="GstClock*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_context" c:identifier="gst_element_set_context">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="3533">Sets the context of the element. Increases the refcount of the context.
+
+MT safe.</doc>
+ <source-position filename="gst/gstelement.h" line="880"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="3535">a #GstElement to set the context of.</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </instance-parameter>
+ <parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="3536">the #GstContext to set.</doc>
+ <type name="Context" c:type="GstContext*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_locked_state"
+ c:identifier="gst_element_set_locked_state">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="2330">Locks the state of an element, so state changes of the parent don't affect
+this element anymore.
+
+Note that this is racy if the state lock of the parent bin is not taken.
+The parent bin might've just checked the flag in another thread and as the
+next step proceed to change the child element's state.
+
+MT safe.</doc>
+ <source-position filename="gst/gstelement.h" line="998"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="2344">%TRUE if the state was changed, %FALSE if bad parameters were given
+or the elements state-locking needed no change.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="2332">a #GstElement</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </instance-parameter>
+ <parameter name="locked_state" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="2333">%TRUE to lock the element's state</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_start_time" c:identifier="gst_element_set_start_time">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="529">Set the start time of an element. The start time of the element is the
+running time of the element when it last went to the PAUSED state. In READY
+or after a flushing seek, it is set to 0.
+
+Toplevel elements like #GstPipeline will manage the start_time and
+base_time on its children. Setting the start_time to #GST_CLOCK_TIME_NONE
+on such a toplevel element will disable the distribution of the base_time to
+the children and can be useful if the application manages the base_time
+itself, for example if you want to synchronize capture from multiple
+pipelines, and you can also ensure that the pipelines have the same clock.
+
+MT safe.</doc>
+ <source-position filename="gst/gstelement.h" line="858"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="531">a #GstElement.</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </instance-parameter>
+ <parameter name="time" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="532">the base time to set.</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_state" c:identifier="gst_element_set_state">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="2867">Sets the state of the element. This function will try to set the
+requested state by going through all the intermediary states and calling
+the class's state change function for each.
+
+This function can return #GST_STATE_CHANGE_ASYNC, in which case the
+element will perform the remainder of the state change asynchronously in
+another thread.
+An application can use gst_element_get_state() to wait for the completion
+of the state change or it can wait for a %GST_MESSAGE_ASYNC_DONE or
+%GST_MESSAGE_STATE_CHANGED on the bus.
+
+State changes to %GST_STATE_READY or %GST_STATE_NULL never return
+#GST_STATE_CHANGE_ASYNC.</doc>
+ <source-position filename="gst/gstelement.h" line="1009"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="2886">Result of the state change using #GstStateChangeReturn.
+
+MT safe.</doc>
+ <type name="StateChangeReturn" c:type="GstStateChangeReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="2869">a #GstElement to change state of.</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </instance-parameter>
+ <parameter name="state" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="2870">the element's new #GstState.</doc>
+ <type name="State" c:type="GstState"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="sync_state_with_parent"
+ c:identifier="gst_element_sync_state_with_parent">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="2384">Tries to change the state of the element to the same as its parent.
+If this function returns %FALSE, the state of element is undefined.</doc>
+ <source-position filename="gst/gstelement.h" line="1001"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="2391">%TRUE, if the element's state could be synced to the parent's state.
+
+MT safe.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="2386">a #GstElement.</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="unlink" c:identifier="gst_element_unlink">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="2383">Unlinks all source pads of the source element with all sink pads
+of the sink element to which they are linked.
+
+If the link has been made using gst_element_link(), it could have created an
+requestpad, which has to be released using gst_element_release_request_pad().</doc>
+ <source-position filename="gst/gstutils.h" line="1012"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="src" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="2385">the source #GstElement to unlink.</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </instance-parameter>
+ <parameter name="dest" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="2386">the sink #GstElement to unlink.</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="unlink_many"
+ c:identifier="gst_element_unlink_many"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="2355">Unlinks a series of elements. Uses gst_element_unlink().</doc>
+ <source-position filename="gst/gstutils.h" line="1015"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="element_1" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="2357">the first #GstElement in the link chain.</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </instance-parameter>
+ <parameter name="element_2" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="2358">the second #GstElement in the link chain.</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </parameter>
+ <parameter name="..." transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="2359">the %NULL-terminated list of elements to unlink in order.</doc>
+ <varargs/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="unlink_pads" c:identifier="gst_element_unlink_pads">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="2298">Unlinks the two named pads of the source and destination elements.
+
+This is a convenience function for gst_pad_unlink().</doc>
+ <source-position filename="gst/gstutils.h" line="1025"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="src" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="2300">a (transfer none): #GstElement containing the source pad.</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </instance-parameter>
+ <parameter name="srcpadname" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="2301">the name of the #GstPad in source element.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="dest" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="2302">a #GstElement containing the destination pad.</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </parameter>
+ <parameter name="destpadname" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="2303">the name of the #GstPad in destination element.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <field name="object">
+ <type name="Object" c:type="GstObject"/>
+ </field>
+ <field name="state_lock">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="590">Used to serialize execution of gst_element_set_state()</doc>
+ <type name="GLib.RecMutex" c:type="GRecMutex"/>
+ </field>
+ <field name="state_cond">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="591">Used to signal completion of a state change</doc>
+ <type name="GLib.Cond" c:type="GCond"/>
+ </field>
+ <field name="state_cookie">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="592">Used to detect concurrent execution of
+gst_element_set_state() and gst_element_get_state()</doc>
+ <type name="guint32" c:type="guint32"/>
+ </field>
+ <field name="target_state">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="594">the target state of an element as set by the application</doc>
+ <type name="State" c:type="GstState"/>
+ </field>
+ <field name="current_state">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="595">the current state of an element</doc>
+ <type name="State" c:type="GstState"/>
+ </field>
+ <field name="next_state">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="596">the next state of an element, can be #GST_STATE_VOID_PENDING if
+the element is in the correct state.</doc>
+ <type name="State" c:type="GstState"/>
+ </field>
+ <field name="pending_state">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="598">the final state the element should go to, can be
+#GST_STATE_VOID_PENDING if the element is in the correct state</doc>
+ <type name="State" c:type="GstState"/>
+ </field>
+ <field name="last_return">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="600">the last return value of an element state change</doc>
+ <type name="StateChangeReturn" c:type="GstStateChangeReturn"/>
+ </field>
+ <field name="bus">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="601">the bus of the element. This bus is provided to the element by the
+parent element or the application. A #GstPipeline has a bus of its own.</doc>
+ <type name="Bus" c:type="GstBus*"/>
+ </field>
+ <field name="clock">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="603">the clock of the element. This clock is usually provided to the
+element by the toplevel #GstPipeline.</doc>
+ <type name="Clock" c:type="GstClock*"/>
+ </field>
+ <field name="base_time">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="605">the time of the clock right before the element is set to
+PLAYING. Subtracting @base_time from the current clock time in the PLAYING
+state will yield the running_time against the clock.</doc>
+ <type name="ClockTimeDiff" c:type="GstClockTimeDiff"/>
+ </field>
+ <field name="start_time">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="608">the running_time of the last PAUSED state</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </field>
+ <field name="numpads">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="609">number of pads of the element, includes both source and sink pads.</doc>
+ <type name="guint16" c:type="guint16"/>
+ </field>
+ <field name="pads">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="610">list of pads</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="Pad"/>
+ </type>
+ </field>
+ <field name="numsrcpads">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="611">number of source pads of the element.</doc>
+ <type name="guint16" c:type="guint16"/>
+ </field>
+ <field name="srcpads">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="612">list of source pads</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="Pad"/>
+ </type>
+ </field>
+ <field name="numsinkpads">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="613">number of sink pads of the element.</doc>
+ <type name="guint16" c:type="guint16"/>
+ </field>
+ <field name="sinkpads">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="614">list of sink pads</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="Pad"/>
+ </type>
+ </field>
+ <field name="pads_cookie">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="615">updated whenever the a pad is added or removed</doc>
+ <type name="guint32" c:type="guint32"/>
+ </field>
+ <field name="contexts">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="616">list of contexts</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="Context"/>
+ </type>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="3">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <glib:signal name="no-more-pads" when="last">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="252">This signals that the element will not generate more dynamic pads.
+Note that this signal will usually be emitted from the context of
+the streaming thread.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </glib:signal>
+ <glib:signal name="pad-added" when="last">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="226">a new #GstPad has been added to the element. Note that this signal will
+usually be emitted from the context of the streaming thread. Also keep in
+mind that if you add new elements to the pipeline in the signal handler
+you will need to set them to the desired target state with
+gst_element_set_state() or gst_element_sync_state_with_parent().</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="new_pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="229">the pad that has been added</doc>
+ <type name="Pad"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="pad-removed" when="last">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="241">a #GstPad has been removed from the element</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="old_pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="244">the pad that has been removed</doc>
+ <type name="Pad"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ </class>
+ <callback name="ElementCallAsyncFunc" c:type="GstElementCallAsyncFunc">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="1025">Callback prototype used in #gst_element_call_async</doc>
+ <source-position filename="gst/gstelement.h" line="1032"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="1027">The #GstElement this function has been called against</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1"
+ closure="1">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="1028">Data passed in the function where that callback has been passed</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <record name="ElementClass"
+ c:type="GstElementClass"
+ glib:is-gtype-struct-for="Element">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="660">GStreamer element class. Override the vmethods to implement the element
+functionality.</doc>
+ <source-position filename="gst/gstelement.h" line="744"/>
+ <field name="parent_class">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="662">the parent class structure</doc>
+ <type name="ObjectClass" c:type="GstObjectClass"/>
+ </field>
+ <field name="metadata">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="663">metadata for elements of this class</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <field name="elementfactory">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="664">the #GstElementFactory that creates these elements</doc>
+ <type name="ElementFactory" c:type="GstElementFactory*"/>
+ </field>
+ <field name="padtemplates">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="665">a #GList of #GstPadTemplate</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="gpointer" c:type="gpointer"/>
+ </type>
+ </field>
+ <field name="numpadtemplates">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="666">the number of padtemplates</doc>
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="pad_templ_cookie">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="667">changed whenever the padtemplates change</doc>
+ <type name="guint32" c:type="guint32"/>
+ </field>
+ <field name="pad_added">
+ <callback name="pad_added">
+ <source-position filename="gst/gstelement.h" line="704"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="element" transfer-ownership="none">
+ <type name="Element" c:type="GstElement*"/>
+ </parameter>
+ <parameter name="pad" transfer-ownership="none">
+ <type name="Pad" c:type="GstPad*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="pad_removed">
+ <callback name="pad_removed">
+ <source-position filename="gst/gstelement.h" line="705"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="element" transfer-ownership="none">
+ <type name="Element" c:type="GstElement*"/>
+ </parameter>
+ <parameter name="pad" transfer-ownership="none">
+ <type name="Pad" c:type="GstPad*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="no_more_pads">
+ <callback name="no_more_pads">
+ <source-position filename="gst/gstelement.h" line="706"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="943">a #GstElement</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="request_new_pad">
+ <callback name="request_new_pad">
+ <source-position filename="gst/gstelement.h" line="713"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1247">requested #GstPad if found,
+ otherwise %NULL. Release after usage.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </return-value>
+ <parameters>
+ <parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1234">a #GstElement to find a request pad of.</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </parameter>
+ <parameter name="templ" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1235">a #GstPadTemplate of which we want a pad of.</doc>
+ <type name="PadTemplate" c:type="GstPadTemplate*"/>
+ </parameter>
+ <parameter name="name"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1236">the name of the request #GstPad
+to retrieve. Can be %NULL.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="caps"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1238">the caps of the pad we want to
+request. Can be %NULL.</doc>
+ <type name="Caps" c:type="const GstCaps*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="release_pad">
+ <callback name="release_pad">
+ <source-position filename="gst/gstelement.h" line="716"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="element" transfer-ownership="none">
+ <type name="Element" c:type="GstElement*"/>
+ </parameter>
+ <parameter name="pad" transfer-ownership="none">
+ <type name="Pad" c:type="GstPad*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="get_state">
+ <callback name="get_state">
+ <source-position filename="gst/gstelement.h" line="719"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="2584">%GST_STATE_CHANGE_SUCCESS if the element has no more pending state
+ and the last state change succeeded, %GST_STATE_CHANGE_ASYNC if the
+ element is still performing a state change or
+ %GST_STATE_CHANGE_FAILURE if the last state change failed.
+
+MT safe.</doc>
+ <type name="StateChangeReturn" c:type="GstStateChangeReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="2555">a #GstElement to get the state of.</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </parameter>
+ <parameter name="state"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="2556">a pointer to #GstState to hold the state.
+ Can be %NULL.</doc>
+ <type name="State" c:type="GstState*"/>
+ </parameter>
+ <parameter name="pending"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="2558">a pointer to #GstState to hold the pending
+ state. Can be %NULL.</doc>
+ <type name="State" c:type="GstState*"/>
+ </parameter>
+ <parameter name="timeout" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="2560">a #GstClockTime to specify the timeout for an async
+ state change or %GST_CLOCK_TIME_NONE for infinite timeout.</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="set_state">
+ <callback name="set_state">
+ <source-position filename="gst/gstelement.h" line="721"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="2886">Result of the state change using #GstStateChangeReturn.
+
+MT safe.</doc>
+ <type name="StateChangeReturn" c:type="GstStateChangeReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="2869">a #GstElement to change state of.</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </parameter>
+ <parameter name="state" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="2870">the element's new #GstState.</doc>
+ <type name="State" c:type="GstState"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="change_state">
+ <callback name="change_state">
+ <source-position filename="gst/gstelement.h" line="722"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="3032">the #GstStateChangeReturn of the state transition.</doc>
+ <type name="StateChangeReturn" c:type="GstStateChangeReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="3024">a #GstElement</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </parameter>
+ <parameter name="transition" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="3025">the requested transition</doc>
+ <type name="StateChange" c:type="GstStateChange"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="state_changed">
+ <callback name="state_changed">
+ <source-position filename="gst/gstelement.h" line="723"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="element" transfer-ownership="none">
+ <type name="Element" c:type="GstElement*"/>
+ </parameter>
+ <parameter name="oldstate" transfer-ownership="none">
+ <type name="State" c:type="GstState"/>
+ </parameter>
+ <parameter name="newstate" transfer-ownership="none">
+ <type name="State" c:type="GstState"/>
+ </parameter>
+ <parameter name="pending" transfer-ownership="none">
+ <type name="State" c:type="GstState"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="set_bus">
+ <callback name="set_bus">
+ <source-position filename="gst/gstelement.h" line="727"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="3450">a #GstElement to set the bus of.</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </parameter>
+ <parameter name="bus"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="3451">the #GstBus to set.</doc>
+ <type name="Bus" c:type="GstBus*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="provide_clock">
+ <callback name="provide_clock">
+ <source-position filename="gst/gstelement.h" line="730"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="379">the GstClock provided by the
+element or %NULL if no clock could be provided. Unref after usage.
+
+MT safe.</doc>
+ <type name="Clock" c:type="GstClock*"/>
+ </return-value>
+ <parameters>
+ <parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="373">a #GstElement to query</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="set_clock">
+ <callback name="set_clock">
+ <source-position filename="gst/gstelement.h" line="731"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="422">%TRUE if the element accepted the clock. An element can refuse a
+clock when it, for example, is not able to slave its internal clock to the
+@clock or when it requires a specific clock to operate.
+
+MT safe.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="415">a #GstElement to set the clock for.</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </parameter>
+ <parameter name="clock"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="416">the #GstClock to set for the element.</doc>
+ <type name="Clock" c:type="GstClock*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="send_event">
+ <callback name="send_event">
+ <source-position filename="gst/gstelement.h" line="734"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1929">%TRUE if the event was handled. Events that trigger a preroll (such
+as flushing seeks and steps) will emit %GST_MESSAGE_ASYNC_DONE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1917">a #GstElement to send the event to.</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </parameter>
+ <parameter name="event" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1918">the #GstEvent to send to the element.</doc>
+ <type name="Event" c:type="GstEvent*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="query">
+ <callback name="query">
+ <source-position filename="gst/gstelement.h" line="736"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="2034">%TRUE if the query could be performed.
+
+MT safe.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="2023">a #GstElement to perform the query on.</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </parameter>
+ <parameter name="query" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="2024">the #GstQuery.</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="post_message">
+ <callback name="post_message">
+ <source-position filename="gst/gstelement.h" line="738"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="2105">%TRUE if the message was successfully posted. The function returns
+%FALSE if the element did not have a bus.
+
+MT safe.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="2098">a #GstElement posting the message</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </parameter>
+ <parameter name="message" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="2099">a #GstMessage to post</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="set_context">
+ <callback name="set_context">
+ <source-position filename="gst/gstelement.h" line="740"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="3535">a #GstElement to set the context of.</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </parameter>
+ <parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="3536">the #GstContext to set.</doc>
+ <type name="Context" c:type="GstContext*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="18">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <method name="add_metadata"
+ c:identifier="gst_element_class_add_metadata">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1541">Set @key with @value as metadata in @klass.</doc>
+ <source-position filename="gst/gstelement.h" line="780"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="klass" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1543">class to set metadata for</doc>
+ <type name="ElementClass" c:type="GstElementClass*"/>
+ </instance-parameter>
+ <parameter name="key" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1544">the key to set</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1545">the value to set</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_pad_template"
+ c:identifier="gst_element_class_add_pad_template">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1455">Adds a padtemplate to an element class. This is mainly used in the _class_init
+functions of classes. If a pad template with the same name as an already
+existing one is added the old one is replaced by the new one.
+
+@templ's reference count will be incremented, and any floating
+reference will be removed (see gst_object_ref_sink())</doc>
+ <source-position filename="gst/gstelement.h" line="749"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="klass" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1457">the #GstElementClass to add the pad template to.</doc>
+ <type name="ElementClass" c:type="GstElementClass*"/>
+ </instance-parameter>
+ <parameter name="templ" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1458">a #GstPadTemplate to add to the element class.</doc>
+ <type name="PadTemplate" c:type="GstPadTemplate*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_static_metadata"
+ c:identifier="gst_element_class_add_static_metadata">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1561">Set @key with @value as metadata in @klass.
+
+Same as gst_element_class_add_metadata(), but @value must be a static string
+or an inlined string, as it will not be copied. (GStreamer plugins will
+be made resident once loaded, so this function can be used even from
+dynamically loaded plugins.)</doc>
+ <source-position filename="gst/gstelement.h" line="783"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="klass" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1563">class to set metadata for</doc>
+ <type name="ElementClass" c:type="GstElementClass*"/>
+ </instance-parameter>
+ <parameter name="key" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1564">the key to set</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1565">the value to set</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_static_pad_template"
+ c:identifier="gst_element_class_add_static_pad_template"
+ version="1.8">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1499">Adds a pad template to an element class based on the static pad template
+@templ. This is mainly used in the _class_init functions of element
+implementations. If a pad template with the same name already exists,
+the old one is replaced by the new one.</doc>
+ <source-position filename="gst/gstelement.h" line="752"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="klass" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1501">the #GstElementClass to add the pad template to.</doc>
+ <type name="ElementClass" c:type="GstElementClass*"/>
+ </instance-parameter>
+ <parameter name="static_templ" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1502">#GstStaticPadTemplate to add as pad template to the element class.</doc>
+ <type name="StaticPadTemplate" c:type="GstStaticPadTemplate*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_static_pad_template_with_gtype"
+ c:identifier="gst_element_class_add_static_pad_template_with_gtype"
+ version="1.14">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1519">Adds a pad template to an element class based on the static pad template
+@templ. This is mainly used in the _class_init functions of element
+implementations. If a pad template with the same name already exists,
+the old one is replaced by the new one.</doc>
+ <source-position filename="gst/gstelement.h" line="755"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="klass" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1521">the #GstElementClass to add the pad template to.</doc>
+ <type name="ElementClass" c:type="GstElementClass*"/>
+ </instance-parameter>
+ <parameter name="static_templ" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1522">#GstStaticPadTemplate to add as pad template to the element class.</doc>
+ <type name="StaticPadTemplate" c:type="GstStaticPadTemplate*"/>
+ </parameter>
+ <parameter name="pad_type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1523">The #GType of the pad to create</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_metadata"
+ c:identifier="gst_element_class_get_metadata">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1673">Get metadata with @key in @klass.</doc>
+ <source-position filename="gst/gstelement.h" line="786"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1680">the metadata for @key.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="klass" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1675">class to get metadata for</doc>
+ <type name="ElementClass" c:type="GstElementClass*"/>
+ </instance-parameter>
+ <parameter name="key" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1676">the key to get</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_pad_template"
+ c:identifier="gst_element_class_get_pad_template">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1753">Retrieves a padtemplate from @element_class with the given name.
+&gt; If you use this function in the #GInstanceInitFunc of an object class
+&gt; that has subclasses, make sure to pass the g_class parameter of the
+&gt; #GInstanceInitFunc here.</doc>
+ <source-position filename="gst/gstelement.h" line="760"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1763">the #GstPadTemplate with the
+ given name, or %NULL if none was found. No unreferencing is
+ necessary.</doc>
+ <type name="PadTemplate" c:type="GstPadTemplate*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="element_class" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1755">a #GstElementClass to get the pad template of.</doc>
+ <type name="ElementClass" c:type="GstElementClass*"/>
+ </instance-parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1756">the name of the #GstPadTemplate to get.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_pad_template_list"
+ c:identifier="gst_element_class_get_pad_template_list">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1711">Retrieves a list of the pad templates associated with @element_class. The
+list must not be modified by the calling code.
+&gt; If you use this function in the #GInstanceInitFunc of an object class
+&gt; that has subclasses, make sure to pass the g_class parameter of the
+&gt; #GInstanceInitFunc here.</doc>
+ <source-position filename="gst/gstelement.h" line="763"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1721">the #GList of
+ pad templates.</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="PadTemplate"/>
+ </type>
+ </return-value>
+ <parameters>
+ <instance-parameter name="element_class" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1713">a #GstElementClass to get pad templates of.</doc>
+ <type name="ElementClass" c:type="GstElementClass*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="set_metadata"
+ c:identifier="gst_element_class_set_metadata">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1589">Sets the detailed information for a #GstElementClass.
+&gt; This function is for use in _class_init functions only.</doc>
+ <source-position filename="gst/gstelement.h" line="768"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="klass" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1591">class to set metadata for</doc>
+ <type name="ElementClass" c:type="GstElementClass*"/>
+ </instance-parameter>
+ <parameter name="longname" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1592">The long English name of the element. E.g. "File Sink"</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="classification" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1593">String describing the type of element, as an unordered list
+separated with slashes ('/'). See draft-klass.txt of the design docs
+for more details and common types. E.g: "Sink/File"</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="description" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1596">Sentence describing the purpose of the element.
+E.g: "Write stream to a file"</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="author" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1598">Name and contact details of the author(s). Use \n to separate
+multiple author metadata. E.g: "Joe Bloggs &amp;lt;joe.blogs at foo.com&amp;gt;"</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_static_metadata"
+ c:identifier="gst_element_class_set_static_metadata">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1622">Sets the detailed information for a #GstElementClass.
+
+&gt; This function is for use in _class_init functions only.
+
+Same as gst_element_class_set_metadata(), but @longname, @classification,
+@description, and @author must be static strings or inlined strings, as
+they will not be copied. (GStreamer plugins will be made resident once
+loaded, so this function can be used even from dynamically loaded plugins.)</doc>
+ <source-position filename="gst/gstelement.h" line="774"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="klass" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1624">class to set metadata for</doc>
+ <type name="ElementClass" c:type="GstElementClass*"/>
+ </instance-parameter>
+ <parameter name="longname" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1625">The long English name of the element. E.g. "File Sink"</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="classification" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1626">String describing the type of element, as an unordered list
+separated with slashes ('/'). See draft-klass.txt of the design docs
+for more details and common types. E.g: "Sink/File"</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="description" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1629">Sentence describing the purpose of the element.
+E.g: "Write stream to a file"</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="author" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="1631">Name and contact details of the author(s). Use \n to separate
+multiple author metadata. E.g: "Joe Bloggs &amp;lt;joe.blogs at foo.com&amp;gt;"</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ </record>
+ <class name="ElementFactory"
+ c:symbol-prefix="element_factory"
+ c:type="GstElementFactory"
+ parent="PluginFeature"
+ glib:type-name="GstElementFactory"
+ glib:get-type="gst_element_factory_get_type"
+ glib:type-struct="ElementFactoryClass">
+ <doc xml:space="preserve"
+ filename="gst/gstelementfactory.c"
+ line="24">#GstElementFactory is used to create instances of elements. A
+GstElementFactory can be added to a #GstPlugin as it is also a
+#GstPluginFeature.
+
+Use the gst_element_factory_find() and gst_element_factory_create()
+functions to create element instances or use gst_element_factory_make() as a
+convenient shortcut.
+
+The following code example shows you how to create a GstFileSrc element.
+
+## Using an element factory
+|[&lt;!-- language="C" --&gt;
+ #include &amp;lt;gst/gst.h&amp;gt;
+
+ GstElement *src;
+ GstElementFactory *srcfactory;
+
+ gst_init (&amp;amp;argc, &amp;amp;argv);
+
+ srcfactory = gst_element_factory_find ("filesrc");
+ g_return_if_fail (srcfactory != NULL);
+ src = gst_element_factory_create (srcfactory, "src");
+ g_return_if_fail (src != NULL);
+ ...
+]|</doc>
+ <source-position filename="gst/gstelementfactory.h" line="33"/>
+ <function name="find" c:identifier="gst_element_factory_find">
+ <doc xml:space="preserve"
+ filename="gst/gstelementfactory.c"
+ line="118">Search for an element factory of the given name. Refs the returned
+element factory; caller is responsible for unreffing.</doc>
+ <source-position filename="gst/gstelementfactory.h" line="57"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstelementfactory.c"
+ line="125">#GstElementFactory if found,
+%NULL otherwise</doc>
+ <type name="ElementFactory" c:type="GstElementFactory*"/>
+ </return-value>
+ <parameters>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelementfactory.c"
+ line="120">name of factory to find</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="list_filter"
+ c:identifier="gst_element_factory_list_filter">
+ <doc xml:space="preserve"
+ filename="gst/gstelementfactory.c"
+ line="827">Filter out all the elementfactories in @list that can handle @caps in
+the given direction.
+
+If @subsetonly is %TRUE, then only the elements whose pads templates
+are a complete superset of @caps will be returned. Else any element
+whose pad templates caps can intersect with @caps will be returned.</doc>
+ <source-position filename="gst/gstelementfactory.h" line="241"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstelementfactory.c"
+ line="842">a #GList of
+ #GstElementFactory elements that match the given requisites.
+ Use #gst_plugin_feature_list_free after usage.</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="ElementFactory"/>
+ </type>
+ </return-value>
+ <parameters>
+ <parameter name="list" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelementfactory.c"
+ line="829">a #GList of
+ #GstElementFactory to filter</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="ElementFactory"/>
+ </type>
+ </parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelementfactory.c"
+ line="831">a #GstCaps</doc>
+ <type name="Caps" c:type="const GstCaps*"/>
+ </parameter>
+ <parameter name="direction" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelementfactory.c"
+ line="832">a #GstPadDirection to filter on</doc>
+ <type name="PadDirection" c:type="GstPadDirection"/>
+ </parameter>
+ <parameter name="subsetonly" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelementfactory.c"
+ line="833">whether to filter on caps subsets or not.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="list_get_elements"
+ c:identifier="gst_element_factory_list_get_elements">
+ <doc xml:space="preserve"
+ filename="gst/gstelementfactory.c"
+ line="793">Get a list of factories that match the given @type. Only elements
+with a rank greater or equal to @minrank will be returned.
+The list of factories is returned by decreasing rank.</doc>
+ <source-position filename="gst/gstelementfactory.h" line="236"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstelementfactory.c"
+ line="802">a #GList of
+ #GstElementFactory elements. Use gst_plugin_feature_list_free() after
+ usage.</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="ElementFactory"/>
+ </type>
+ </return-value>
+ <parameters>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelementfactory.c"
+ line="795">a #GstElementFactoryListType</doc>
+ <type name="ElementFactoryListType"
+ c:type="GstElementFactoryListType"/>
+ </parameter>
+ <parameter name="minrank" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelementfactory.c"
+ line="796">Minimum rank</doc>
+ <type name="Rank" c:type="GstRank"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="make" c:identifier="gst_element_factory_make">
+ <doc xml:space="preserve"
+ filename="gst/gstelementfactory.c"
+ line="425">Create a new element of the type defined by the given element factory.
+If name is %NULL, then the element will receive a guaranteed unique name,
+consisting of the element factory name and a number.
+If name is given, it will be given the name supplied.</doc>
+ <source-position filename="gst/gstelementfactory.h" line="87"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstelementfactory.c"
+ line="436">new #GstElement or %NULL
+if unable to create element</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </return-value>
+ <parameters>
+ <parameter name="factoryname" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelementfactory.c"
+ line="427">a named factory to instantiate</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="name"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstelementfactory.c"
+ line="428">name of new element, or %NULL to automatically create
+ a unique name</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <method name="can_sink_all_caps"
+ c:identifier="gst_element_factory_can_sink_all_caps">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="1430">Checks if the factory can sink all possible capabilities.</doc>
+ <source-position filename="gst/gstutils.h" line="1040"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="1437">%TRUE if the caps are fully compatible.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="factory" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="1432">factory to query</doc>
+ <type name="ElementFactory" c:type="GstElementFactory*"/>
+ </instance-parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="1433">the caps to check</doc>
+ <type name="Caps" c:type="const GstCaps*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="can_sink_any_caps"
+ c:identifier="gst_element_factory_can_sink_any_caps">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="1464">Checks if the factory can sink any possible capability.</doc>
+ <source-position filename="gst/gstutils.h" line="1046"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="1471">%TRUE if the caps have a common subset.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="factory" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="1466">factory to query</doc>
+ <type name="ElementFactory" c:type="GstElementFactory*"/>
+ </instance-parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="1467">the caps to check</doc>
+ <type name="Caps" c:type="const GstCaps*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="can_src_all_caps"
+ c:identifier="gst_element_factory_can_src_all_caps">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="1447">Checks if the factory can src all possible capabilities.</doc>
+ <source-position filename="gst/gstutils.h" line="1043"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="1454">%TRUE if the caps are fully compatible.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="factory" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="1449">factory to query</doc>
+ <type name="ElementFactory" c:type="GstElementFactory*"/>
+ </instance-parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="1450">the caps to check</doc>
+ <type name="Caps" c:type="const GstCaps*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="can_src_any_caps"
+ c:identifier="gst_element_factory_can_src_any_caps">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="1481">Checks if the factory can src any possible capability.</doc>
+ <source-position filename="gst/gstutils.h" line="1049"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="1488">%TRUE if the caps have a common subset.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="factory" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="1483">factory to query</doc>
+ <type name="ElementFactory" c:type="GstElementFactory*"/>
+ </instance-parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="1484">the caps to check</doc>
+ <type name="Caps" c:type="const GstCaps*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="create" c:identifier="gst_element_factory_create">
+ <doc xml:space="preserve"
+ filename="gst/gstelementfactory.c"
+ line="328">Create a new element of the type defined by the given elementfactory.
+It will be given the name supplied, since all elements require a name as
+their first argument.</doc>
+ <source-position filename="gst/gstelementfactory.h" line="84"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstelementfactory.c"
+ line="338">new #GstElement or %NULL
+ if the element couldn't be created</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="factory" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelementfactory.c"
+ line="330">factory to instantiate</doc>
+ <type name="ElementFactory" c:type="GstElementFactory*"/>
+ </instance-parameter>
+ <parameter name="name"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstelementfactory.c"
+ line="331">name of new element, or %NULL to automatically create
+ a unique name</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_element_type"
+ c:identifier="gst_element_factory_get_element_type">
+ <doc xml:space="preserve"
+ filename="gst/gstelementfactory.c"
+ line="490">Get the #GType for elements managed by this factory. The type can
+only be retrieved if the element factory is loaded, which can be
+assured with gst_plugin_feature_load().</doc>
+ <source-position filename="gst/gstelementfactory.h" line="60"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelementfactory.c"
+ line="498">the #GType for elements managed by this factory or 0 if
+the factory is not loaded.</doc>
+ <type name="GType" c:type="GType"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="factory" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelementfactory.c"
+ line="492">factory to get managed #GType from</doc>
+ <type name="ElementFactory" c:type="GstElementFactory*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_metadata"
+ c:identifier="gst_element_factory_get_metadata">
+ <doc xml:space="preserve"
+ filename="gst/gstelementfactory.c"
+ line="509">Get the metadata on @factory with @key.</doc>
+ <source-position filename="gst/gstelementfactory.h" line="63"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstelementfactory.c"
+ line="516">the metadata with @key on @factory or %NULL
+when there was no metadata with the given @key.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="factory" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelementfactory.c"
+ line="511">a #GstElementFactory</doc>
+ <type name="ElementFactory" c:type="GstElementFactory*"/>
+ </instance-parameter>
+ <parameter name="key" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelementfactory.c"
+ line="512">a key</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_metadata_keys"
+ c:identifier="gst_element_factory_get_metadata_keys">
+ <doc xml:space="preserve"
+ filename="gst/gstelementfactory.c"
+ line="528">Get the available keys for the metadata on @factory.</doc>
+ <source-position filename="gst/gstelementfactory.h" line="66"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstelementfactory.c"
+ line="534">
+a %NULL-terminated array of key strings, or %NULL when there is no
+metadata. Free with g_strfreev() when no longer needed.</doc>
+ <array c:type="gchar**">
+ <type name="utf8"/>
+ </array>
+ </return-value>
+ <parameters>
+ <instance-parameter name="factory" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelementfactory.c"
+ line="530">a #GstElementFactory</doc>
+ <type name="ElementFactory" c:type="GstElementFactory*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_num_pad_templates"
+ c:identifier="gst_element_factory_get_num_pad_templates">
+ <doc xml:space="preserve"
+ filename="gst/gstelementfactory.c"
+ line="563">Gets the number of pad_templates in this factory.</doc>
+ <source-position filename="gst/gstelementfactory.h" line="69"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelementfactory.c"
+ line="569">the number of pad_templates</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="factory" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelementfactory.c"
+ line="565">a #GstElementFactory</doc>
+ <type name="ElementFactory" c:type="GstElementFactory*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_static_pad_templates"
+ c:identifier="gst_element_factory_get_static_pad_templates">
+ <doc xml:space="preserve"
+ filename="gst/gstelementfactory.c"
+ line="600">Gets the #GList of #GstStaticPadTemplate for this factory.</doc>
+ <source-position filename="gst/gstelementfactory.h" line="72"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelementfactory.c"
+ line="606">the
+ static pad templates</doc>
+ <type name="GLib.List" c:type="const GList*">
+ <type name="StaticPadTemplate"/>
+ </type>
+ </return-value>
+ <parameters>
+ <instance-parameter name="factory" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelementfactory.c"
+ line="602">a #GstElementFactory</doc>
+ <type name="ElementFactory" c:type="GstElementFactory*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_uri_protocols"
+ c:identifier="gst_element_factory_get_uri_protocols">
+ <doc xml:space="preserve"
+ filename="gst/gstelementfactory.c"
+ line="633">Gets a %NULL-terminated array of protocols this element supports or %NULL if
+no protocols are supported. You may not change the contents of the returned
+array, as it is still owned by the element factory. Use g_strdupv() to
+make a copy of the protocol string array if you need to.</doc>
+ <source-position filename="gst/gstelementfactory.h" line="78"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelementfactory.c"
+ line="642">the supported protocols
+ or %NULL</doc>
+ <array c:type="const gchar* const*">
+ <type name="utf8"/>
+ </array>
+ </return-value>
+ <parameters>
+ <instance-parameter name="factory" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelementfactory.c"
+ line="635">a #GstElementFactory</doc>
+ <type name="ElementFactory" c:type="GstElementFactory*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_uri_type"
+ c:identifier="gst_element_factory_get_uri_type">
+ <doc xml:space="preserve"
+ filename="gst/gstelementfactory.c"
+ line="617">Gets the type of URIs the element supports or #GST_URI_UNKNOWN if none.</doc>
+ <source-position filename="gst/gstelementfactory.h" line="75"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelementfactory.c"
+ line="623">type of URIs this element supports</doc>
+ <type name="URIType" c:type="GstURIType"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="factory" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelementfactory.c"
+ line="619">a #GstElementFactory</doc>
+ <type name="ElementFactory" c:type="GstElementFactory*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="has_interface"
+ c:identifier="gst_element_factory_has_interface">
+ <doc xml:space="preserve"
+ filename="gst/gstelementfactory.c"
+ line="653">Check if @factory implements the interface with name @interfacename.</doc>
+ <source-position filename="gst/gstelementfactory.h" line="81"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelementfactory.c"
+ line="660">%TRUE when @factory implement the interface.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="factory" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelementfactory.c"
+ line="655">a #GstElementFactory</doc>
+ <type name="ElementFactory" c:type="GstElementFactory*"/>
+ </instance-parameter>
+ <parameter name="interfacename" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelementfactory.c"
+ line="656">an interface name</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="list_is_type"
+ c:identifier="gst_element_factory_list_is_type">
+ <doc xml:space="preserve"
+ filename="gst/gstelementfactory.c"
+ line="687">Check if @factory is of the given types.</doc>
+ <source-position filename="gst/gstelementfactory.h" line="232"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelementfactory.c"
+ line="694">%TRUE if @factory is of @type.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="factory" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelementfactory.c"
+ line="689">a #GstElementFactory</doc>
+ <type name="ElementFactory" c:type="GstElementFactory*"/>
+ </instance-parameter>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelementfactory.c"
+ line="690">a #GstElementFactoryListType</doc>
+ <type name="ElementFactoryListType"
+ c:type="GstElementFactoryListType"/>
+ </parameter>
+ </parameters>
+ </method>
+ </class>
+ <record name="ElementFactoryClass"
+ c:type="GstElementFactoryClass"
+ disguised="1"
+ glib:is-gtype-struct-for="ElementFactory">
+ <source-position filename="gst/gstelementfactory.h" line="33"/>
+ </record>
+ <bitfield name="ElementFlags"
+ glib:type-name="GstElementFlags"
+ glib:get-type="gst_element_flags_get_type"
+ c:type="GstElementFlags">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="260">The standard flags that an element may have.</doc>
+ <member name="locked_state"
+ value="16"
+ c:identifier="GST_ELEMENT_FLAG_LOCKED_STATE"
+ glib:nick="locked-state">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="262">ignore state changes from parent</doc>
+ </member>
+ <member name="sink"
+ value="32"
+ c:identifier="GST_ELEMENT_FLAG_SINK"
+ glib:nick="sink">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="263">the element is a sink</doc>
+ </member>
+ <member name="source"
+ value="64"
+ c:identifier="GST_ELEMENT_FLAG_SOURCE"
+ glib:nick="source">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="264">the element is a source.</doc>
+ </member>
+ <member name="provide_clock"
+ value="128"
+ c:identifier="GST_ELEMENT_FLAG_PROVIDE_CLOCK"
+ glib:nick="provide-clock">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="265">the element can provide a clock</doc>
+ </member>
+ <member name="require_clock"
+ value="256"
+ c:identifier="GST_ELEMENT_FLAG_REQUIRE_CLOCK"
+ glib:nick="require-clock">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="266">the element requires a clock</doc>
+ </member>
+ <member name="indexable"
+ value="512"
+ c:identifier="GST_ELEMENT_FLAG_INDEXABLE"
+ glib:nick="indexable">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="267">the element can use an index</doc>
+ </member>
+ <member name="last"
+ value="16384"
+ c:identifier="GST_ELEMENT_FLAG_LAST"
+ glib:nick="last">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="268">offset to define more flags</doc>
+ </member>
+ </bitfield>
+ <callback name="ElementForeachPadFunc"
+ c:type="GstElementForeachPadFunc"
+ version="1.14">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="923">Function called for each pad when using gst_element_foreach_sink_pad(),
+gst_element_foreach_src_pad(), or gst_element_foreach_pad().</doc>
+ <source-position filename="gst/gstelement.h" line="936"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="932">%FALSE to stop iterating pads, %TRUE to continue</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="925">the #GstElement</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </parameter>
+ <parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="926">a #GstPad</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1"
+ closure="2">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="927">user data passed to the foreach function</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <record name="Event"
+ c:type="GstEvent"
+ glib:type-name="GstEvent"
+ glib:get-type="gst_event_get_type"
+ c:symbol-prefix="event">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="24">The event class provides factory methods to construct events for sending
+and functions to query (parse) received events.
+
+Events are usually created with gst_event_new_*() which takes event-type
+specific parameters as arguments.
+To send an event application will usually use gst_element_send_event() and
+elements will use gst_pad_send_event() or gst_pad_push_event().
+The event should be unreffed with gst_event_unref() if it has not been sent.
+
+Events that have been received can be parsed with their respective
+gst_event_parse_*() functions. It is valid to pass %NULL for unwanted details.
+
+Events are passed between elements in parallel to the data stream. Some events
+are serialized with buffers, others are not. Some events only travel downstream,
+others only upstream. Some events can travel both upstream and downstream.
+
+The events are used to signal special conditions in the datastream such as
+EOS (end of stream) or the start of a new stream-segment.
+Events are also used to flush the pipeline of any pending data.
+
+Most of the event API is used inside plugins. Applications usually only
+construct and use seek events.
+To do that gst_event_new_seek() is used to create a seek event. It takes
+the needed parameters to specify seeking time and mode.
+|[&lt;!-- language="C" --&gt;
+ GstEvent *event;
+ gboolean result;
+ ...
+ // construct a seek event to play the media from second 2 to 5, flush
+ // the pipeline to decrease latency.
+ event = gst_event_new_seek (1.0,
+ GST_FORMAT_TIME,
+ GST_SEEK_FLAG_FLUSH,
+ GST_SEEK_TYPE_SET, 2 * GST_SECOND,
+ GST_SEEK_TYPE_SET, 5 * GST_SECOND);
+ ...
+ result = gst_element_send_event (pipeline, event);
+ if (!result)
+ g_warning ("seek failed");
+ ...
+]|</doc>
+ <source-position filename="gst/gstevent.h" line="438"/>
+ <field name="mini_object" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.h"
+ line="423">the parent structure</doc>
+ <type name="MiniObject" c:type="GstMiniObject"/>
+ </field>
+ <field name="type" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.h"
+ line="424">the #GstEventType of the event</doc>
+ <type name="EventType" c:type="GstEventType"/>
+ </field>
+ <field name="timestamp" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.h"
+ line="425">the timestamp of the event</doc>
+ <type name="guint64" c:type="guint64"/>
+ </field>
+ <field name="seqnum" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.h"
+ line="426">the sequence number of the event</doc>
+ <type name="guint32" c:type="guint32"/>
+ </field>
+ <constructor name="new_buffer_size"
+ c:identifier="gst_event_new_buffer_size">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1081">Create a new buffersize event. The event is sent downstream and notifies
+elements that they should provide a buffer of the specified dimensions.
+
+When the @async flag is set, a thread boundary is preferred.</doc>
+ <source-position filename="gst/gstevent.h" line="683"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1093">a new #GstEvent</doc>
+ <type name="Event" c:type="GstEvent*"/>
+ </return-value>
+ <parameters>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1083">buffer format</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ <parameter name="minsize" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1084">minimum buffer size</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ <parameter name="maxsize" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1085">maximum buffer size</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ <parameter name="async" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1086">thread behavior</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_caps" c:identifier="gst_event_new_caps">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="870">Create a new CAPS event for @caps. The caps event can only travel downstream
+synchronized with the buffer flow and contains the format of the buffers
+that will follow after the event.</doc>
+ <source-position filename="gst/gstevent.h" line="639"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="878">the new CAPS event.</doc>
+ <type name="Event" c:type="GstEvent*"/>
+ </return-value>
+ <parameters>
+ <parameter name="caps" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="872">a #GstCaps</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_custom" c:identifier="gst_event_new_custom">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="284">Create a new custom-typed event. This can be used for anything not
+handled by other event-specific functions to pass an event to another
+element.
+
+Make sure to allocate an event type with the #GST_EVENT_MAKE_TYPE macro,
+assigning a free number and filling in the correct direction and
+serialization flags.
+
+New custom events can also be created by subclassing the event type if
+needed.</doc>
+ <source-position filename="gst/gstevent.h" line="521"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="301">the new custom event.</doc>
+ <type name="Event" c:type="GstEvent*"/>
+ </return-value>
+ <parameters>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="286">The type of the new event</doc>
+ <type name="EventType" c:type="GstEventType"/>
+ </parameter>
+ <parameter name="structure" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="287">the structure for the event. The event will
+ take ownership of the structure.</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_eos" c:identifier="gst_event_new_eos">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="746">Create a new EOS event. The eos event can only travel downstream
+synchronized with the buffer flow. Elements that receive the EOS
+event on a pad can return #GST_FLOW_EOS as a #GstFlowReturn
+when data after the EOS event arrives.
+
+The EOS event will travel down to the sink elements in the pipeline
+which will then post the #GST_MESSAGE_EOS on the bus after they have
+finished playing any buffered data.
+
+When all sinks have posted an EOS message, an EOS message is
+forwarded to the application.
+
+The EOS event itself will not cause any state transitions of the pipeline.</doc>
+ <source-position filename="gst/gstevent.h" line="616"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="763">the new EOS event.</doc>
+ <type name="Event" c:type="GstEvent*"/>
+ </return-value>
+ </constructor>
+ <constructor name="new_flush_start"
+ c:identifier="gst_event_new_flush_start">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="534">Allocate a new flush start event. The flush start event can be sent
+upstream and downstream and travels out-of-bounds with the dataflow.
+
+It marks pads as being flushing and will make them return
+#GST_FLOW_FLUSHING when used for data flow with gst_pad_push(),
+gst_pad_chain(), gst_pad_get_range() and gst_pad_pull_range().
+Any event (except a #GST_EVENT_FLUSH_STOP) received
+on a flushing pad will return %FALSE immediately.
+
+Elements should unlock any blocking functions and exit their streaming
+functions as fast as possible when this event is received.
+
+This event is typically generated after a seek to flush out all queued data
+in the pipeline so that the new media is played as soon as possible.</doc>
+ <source-position filename="gst/gstevent.h" line="581"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="552">a new flush start event.</doc>
+ <type name="Event" c:type="GstEvent*"/>
+ </return-value>
+ </constructor>
+ <constructor name="new_flush_stop"
+ c:identifier="gst_event_new_flush_stop">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="560">Allocate a new flush stop event. The flush stop event can be sent
+upstream and downstream and travels serialized with the dataflow.
+It is typically sent after sending a FLUSH_START event to make the
+pads accept data again.
+
+Elements can process this event synchronized with the dataflow since
+the preceding FLUSH_START event stopped the dataflow.
+
+This event is typically generated to complete a seek and to resume
+dataflow.</doc>
+ <source-position filename="gst/gstevent.h" line="584"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="575">a new flush stop event.</doc>
+ <type name="Event" c:type="GstEvent*"/>
+ </return-value>
+ <parameters>
+ <parameter name="reset_time" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="562">if time should be reset</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_gap" c:identifier="gst_event_new_gap">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="771">Create a new GAP event. A gap event can be thought of as conceptually
+equivalent to a buffer to signal that there is no data for a certain
+amount of time. This is useful to signal a gap to downstream elements
+which may wait for data, such as muxers or mixers or overlays, especially
+for sparse streams such as subtitle streams.</doc>
+ <source-position filename="gst/gstevent.h" line="621"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="782">the new GAP event.</doc>
+ <type name="Event" c:type="GstEvent*"/>
+ </return-value>
+ <parameters>
+ <parameter name="timestamp" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="773">the start time (pts) of the gap</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="duration" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="774">the duration of the gap</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_instant_rate_change"
+ c:identifier="gst_event_new_instant_rate_change"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="2244">Create a new instant-rate-change event. This event is sent by seek
+handlers (e.g. demuxers) when receiving a seek with the
+%GST_SEEK_FLAG_INSTANT_RATE_CHANGE and signals to downstream elements that
+the playback rate in the existing segment should be immediately multiplied
+by the @rate_multiplier factor.
+
+The flags provided replace any flags in the existing segment, for the
+flags within the %GST_SEGMENT_INSTANT_FLAGS set. Other GstSegmentFlags
+are ignored and not transferred in the event.</doc>
+ <source-position filename="gst/gstevent.h" line="770"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="2259">the new instant-rate-change event.</doc>
+ <type name="Event" c:type="GstEvent*"/>
+ </return-value>
+ <parameters>
+ <parameter name="rate_multiplier" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="2246">the multiplier to be applied to the playback rate</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </parameter>
+ <parameter name="new_flags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="2247">A new subset of segment flags to replace in segments</doc>
+ <type name="SegmentFlags" c:type="GstSegmentFlags"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_instant_rate_sync_time"
+ c:identifier="gst_event_new_instant_rate_sync_time"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="2311">Create a new instant-rate-sync-time event. This event is sent by the
+pipeline to notify elements handling the instant-rate-change event about
+the running-time when the new rate should be applied. The running time
+may be in the past when elements handle this event, which can lead to
+switching artifacts. The magnitude of those depends on the exact timing
+of event delivery to each element and the magnitude of the change in
+playback rate being applied.
+
+The @running_time and @upstream_running_time are the same if this
+is the first instant-rate adjustment, but will differ for later ones
+to compensate for the accumulated offset due to playing at a rate
+different to the one indicated in the playback segments.</doc>
+ <source-position filename="gst/gstevent.h" line="779"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="2331">the new instant-rate-sync-time event.</doc>
+ <type name="Event" c:type="GstEvent*"/>
+ </return-value>
+ <parameters>
+ <parameter name="rate_multiplier" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="2313">the new playback rate multiplier to be applied</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </parameter>
+ <parameter name="running_time" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="2314">Running time when the rate change should be applied</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="upstream_running_time" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="2315">The upstream-centric running-time when the
+ rate change should be applied.</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_latency" c:identifier="gst_event_new_latency">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1502">Create a new latency event. The event is sent upstream from the sinks and
+notifies elements that they should add an additional @latency to the
+running time before synchronising against the clock.
+
+The latency is mostly used in live sinks and is always expressed in
+the time format.</doc>
+ <source-position filename="gst/gstevent.h" line="732"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1513">a new #GstEvent</doc>
+ <type name="Event" c:type="GstEvent*"/>
+ </return-value>
+ <parameters>
+ <parameter name="latency" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1504">the new latency value</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_navigation"
+ c:identifier="gst_event_new_navigation">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1485">Create a new navigation event from the given description.</doc>
+ <source-position filename="gst/gstevent.h" line="727"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1492">a new #GstEvent</doc>
+ <type name="Event" c:type="GstEvent*"/>
+ </return-value>
+ <parameters>
+ <parameter name="structure" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1487">description of the event. The event will take
+ ownership of the structure.</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_protection"
+ c:identifier="gst_event_new_protection"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="2074">Creates a new event containing information specific to a particular
+protection system (uniquely identified by @system_id), by which that
+protection system can acquire key(s) to decrypt a protected stream.
+
+In order for a decryption element to decrypt media
+protected using a specific system, it first needs all the
+protection system specific information necessary to acquire the decryption
+key(s) for that stream. The functions defined here enable this information
+to be passed in events from elements that extract it
+(e.g., ISOBMFF demuxers, MPEG DASH demuxers) to protection decrypter
+elements that use it.
+
+Events containing protection system specific information are created using
+#gst_event_new_protection, and they can be parsed by downstream elements
+using #gst_event_parse_protection.
+
+In Common Encryption, protection system specific information may be located
+within ISOBMFF files, both in movie (moov) boxes and movie fragment (moof)
+boxes; it may also be contained in ContentProtection elements within MPEG
+DASH MPDs. The events created by #gst_event_new_protection contain data
+identifying from which of these locations the encapsulated protection system
+specific information originated. This origin information is required as
+some protection systems use different encodings depending upon where the
+information originates.
+
+The events returned by gst_event_new_protection() are implemented
+in such a way as to ensure that the most recently-pushed protection info
+event of a particular @origin and @system_id will
+be stuck to the output pad of the sending element.</doc>
+ <source-position filename="gst/gstevent.h" line="674"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="2114">a #GST_EVENT_PROTECTION event, if successful; %NULL
+if unsuccessful.</doc>
+ <type name="Event" c:type="GstEvent*"/>
+ </return-value>
+ <parameters>
+ <parameter name="system_id" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="2076">a string holding a UUID that uniquely
+identifies a protection system.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="2078">a #GstBuffer holding protection system specific
+information. The reference count of the buffer will be incremented by one.</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="origin" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="2080">a string indicating where the protection
+information carried in the event was extracted from. The allowed values
+of this string will depend upon the protection scheme.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_qos" c:identifier="gst_event_new_qos">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1155">Allocate a new qos event with the given values.
+The QOS event is generated in an element that wants an upstream
+element to either reduce or increase its rate because of
+high/low CPU load or other resource usage such as network performance or
+throttling. Typically sinks generate these events for each buffer
+they receive.
+
+@type indicates the reason for the QoS event. #GST_QOS_TYPE_OVERFLOW is
+used when a buffer arrived in time or when the sink cannot keep up with
+the upstream datarate. #GST_QOS_TYPE_UNDERFLOW is when the sink is not
+receiving buffers fast enough and thus has to drop late buffers.
+#GST_QOS_TYPE_THROTTLE is used when the datarate is artificially limited
+by the application, for example to reduce power consumption.
+
+@proportion indicates the real-time performance of the streaming in the
+element that generated the QoS event (usually the sink). The value is
+generally computed based on more long term statistics about the streams
+timestamps compared to the clock.
+A value &lt; 1.0 indicates that the upstream element is producing data faster
+than real-time. A value &gt; 1.0 indicates that the upstream element is not
+producing data fast enough. 1.0 is the ideal @proportion value. The
+proportion value can safely be used to lower or increase the quality of
+the element.
+
+@diff is the difference against the clock in running time of the last
+buffer that caused the element to generate the QOS event. A negative value
+means that the buffer with @timestamp arrived in time. A positive value
+indicates how late the buffer with @timestamp was. When throttling is
+enabled, @diff will be set to the requested throttling interval.
+
+@timestamp is the timestamp of the last buffer that cause the element
+to generate the QOS event. It is expressed in running time and thus an ever
+increasing value.
+
+The upstream element can use the @diff and @timestamp values to decide
+whether to process more buffers. For positive @diff, all buffers with
+timestamp &lt;= @timestamp + @diff will certainly arrive late in the sink
+as well. A (negative) @diff value so that @timestamp + @diff would yield a
+result smaller than 0 is not allowed.
+
+The application can use general event probes to intercept the QoS
+event and implement custom application specific QoS handling.</doc>
+ <source-position filename="gst/gstevent.h" line="700"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1205">a new QOS event.</doc>
+ <type name="Event" c:type="GstEvent*"/>
+ </return-value>
+ <parameters>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1157">the QoS type</doc>
+ <type name="QOSType" c:type="GstQOSType"/>
+ </parameter>
+ <parameter name="proportion" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1158">the proportion of the qos message</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </parameter>
+ <parameter name="diff" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1159">The time difference of the last Clock sync</doc>
+ <type name="ClockTimeDiff" c:type="GstClockTimeDiff"/>
+ </parameter>
+ <parameter name="timestamp" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1160">The timestamp of the buffer</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_reconfigure"
+ c:identifier="gst_event_new_reconfigure">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1636">Create a new reconfigure event. The purpose of the reconfigure event is
+to travel upstream and make elements renegotiate their caps or reconfigure
+their buffer pools. This is useful when changing properties on elements
+or changing the topology of the pipeline.</doc>
+ <source-position filename="gst/gstevent.h" line="749"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1644">a new #GstEvent</doc>
+ <type name="Event" c:type="GstEvent*"/>
+ </return-value>
+ </constructor>
+ <constructor name="new_seek" c:identifier="gst_event_new_seek">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1289">Allocate a new seek event with the given parameters.
+
+The seek event configures playback of the pipeline between @start to @stop
+at the speed given in @rate, also called a playback segment.
+The @start and @stop values are expressed in @format.
+
+A @rate of 1.0 means normal playback rate, 2.0 means double speed.
+Negatives values means backwards playback. A value of 0.0 for the
+rate is not allowed and should be accomplished instead by PAUSING the
+pipeline.
+
+A pipeline has a default playback segment configured with a start
+position of 0, a stop position of -1 and a rate of 1.0. The currently
+configured playback segment can be queried with #GST_QUERY_SEGMENT.
+
+@start_type and @stop_type specify how to adjust the currently configured
+start and stop fields in playback segment. Adjustments can be made relative
+or absolute to the last configured values. A type of #GST_SEEK_TYPE_NONE
+means that the position should not be updated.
+
+When the rate is positive and @start has been updated, playback will start
+from the newly configured start position.
+
+For negative rates, playback will start from the newly configured stop
+position (if any). If the stop position is updated, it must be different from
+-1 (#GST_CLOCK_TIME_NONE) for negative rates.
+
+It is not possible to seek relative to the current playback position, to do
+this, PAUSE the pipeline, query the current playback position with
+#GST_QUERY_POSITION and update the playback segment current position with a
+#GST_SEEK_TYPE_SET to the desired position.</doc>
+ <source-position filename="gst/gstevent.h" line="709"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1331">a new seek event.</doc>
+ <type name="Event" c:type="GstEvent*"/>
+ </return-value>
+ <parameters>
+ <parameter name="rate" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1291">The new playback rate</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </parameter>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1292">The format of the seek values</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1293">The optional seek flags</doc>
+ <type name="SeekFlags" c:type="GstSeekFlags"/>
+ </parameter>
+ <parameter name="start_type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1294">The type and flags for the new start position</doc>
+ <type name="SeekType" c:type="GstSeekType"/>
+ </parameter>
+ <parameter name="start" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1295">The value of the new start position</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ <parameter name="stop_type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1296">The type and flags for the new stop position</doc>
+ <type name="SeekType" c:type="GstSeekType"/>
+ </parameter>
+ <parameter name="stop" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1297">The value of the new stop position</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_segment" c:identifier="gst_event_new_segment">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="920">Create a new SEGMENT event for @segment. The segment event can only travel
+downstream synchronized with the buffer flow and contains timing information
+and playback properties for the buffers that will follow.
+
+The segment event marks the range of buffers to be processed. All
+data not within the segment range is not to be processed. This can be
+used intelligently by plugins to apply more efficient methods of skipping
+unneeded data. The valid range is expressed with the @start and @stop
+values.
+
+The time value of the segment is used in conjunction with the start
+value to convert the buffer timestamps into the stream time. This is
+usually done in sinks to report the current stream_time.
+@time represents the stream_time of a buffer carrying a timestamp of
+@start. @time cannot be -1.
+
+@start cannot be -1, @stop can be -1. If there
+is a valid @stop given, it must be greater or equal the @start, including
+when the indicated playback @rate is &lt; 0.
+
+The @applied_rate value provides information about any rate adjustment that
+has already been made to the timestamps and content on the buffers of the
+stream. (@rate * @applied_rate) should always equal the rate that has been
+requested for playback. For example, if an element has an input segment
+with intended playback @rate of 2.0 and applied_rate of 1.0, it can adjust
+incoming timestamps and buffer content by half and output a segment event
+with @rate of 1.0 and @applied_rate of 2.0
+
+After a segment event, the buffer stream time is calculated with:
+
+ time + (TIMESTAMP(buf) - start) * ABS (rate * applied_rate)</doc>
+ <source-position filename="gst/gstevent.h" line="647"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="956">the new SEGMENT event.</doc>
+ <type name="Event" c:type="GstEvent*"/>
+ </return-value>
+ <parameters>
+ <parameter name="segment" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="922">a #GstSegment</doc>
+ <type name="Segment" c:type="const GstSegment*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_segment_done"
+ c:identifier="gst_event_new_segment_done">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="2187">Create a new segment-done event. This event is sent by elements that
+finish playback of a segment as a result of a segment seek.</doc>
+ <source-position filename="gst/gstevent.h" line="762"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="2195">a new #GstEvent</doc>
+ <type name="Event" c:type="GstEvent*"/>
+ </return-value>
+ <parameters>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="2189">The format of the position being done</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ <parameter name="position" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="2190">The position of the segment being done</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_select_streams"
+ c:identifier="gst_event_new_select_streams"
+ version="1.10">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="613">Allocate a new select-streams event.
+
+The select-streams event requests the specified @streams to be activated.
+
+The list of @streams corresponds to the "Stream ID" of each stream to be
+activated. Those ID can be obtained via the #GstStream objects present
+in #GST_EVENT_STREAM_START, #GST_EVENT_STREAM_COLLECTION or
+#GST_MESSAGE_STREAM_COLLECTION.
+
+Note: The list of @streams can not be empty.</doc>
+ <source-position filename="gst/gstevent.h" line="600"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="629">a new select-streams event or %NULL in case of
+an error (like an empty streams list).</doc>
+ <type name="Event" c:type="GstEvent*"/>
+ </return-value>
+ <parameters>
+ <parameter name="streams" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="615">the list of streams to
+activate</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="utf8"/>
+ </type>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_sink_message"
+ c:identifier="gst_event_new_sink_message">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1658">Create a new sink-message event. The purpose of the sink-message event is
+to instruct a sink to post the message contained in the event synchronized
+with the stream.
+
+@name is used to store multiple sticky events on one pad.</doc>
+ <source-position filename="gst/gstevent.h" line="692"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1669">a new #GstEvent</doc>
+ <type name="Event" c:type="GstEvent*"/>
+ </return-value>
+ <parameters>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1660">a name for the event</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1661">the #GstMessage to be posted</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_step" c:identifier="gst_event_new_step">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1550">Create a new step event. The purpose of the step event is to instruct a sink
+to skip @amount (expressed in @format) of media. It can be used to implement
+stepping through the video frame by frame or for doing fast trick modes.
+
+A rate of &lt;= 0.0 is not allowed. Pause the pipeline, for the effect of rate
+= 0.0 or first reverse the direction of playback using a seek event to get
+the same effect as rate &lt; 0.0.
+
+The @flush flag will clear any pending data in the pipeline before starting
+the step operation.
+
+The @intermediate flag instructs the pipeline that this step operation is
+part of a larger step operation.</doc>
+ <source-position filename="gst/gstevent.h" line="740"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1572">a new #GstEvent</doc>
+ <type name="Event" c:type="GstEvent*"/>
+ </return-value>
+ <parameters>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1552">the format of @amount</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ <parameter name="amount" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1553">the amount of data to step</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ <parameter name="rate" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1554">the step rate</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </parameter>
+ <parameter name="flush" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1555">flushing steps</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ <parameter name="intermediate" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1556">intermediate steps</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_stream_collection"
+ c:identifier="gst_event_new_stream_collection"
+ version="1.10">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1910">Create a new STREAM_COLLECTION event. The stream collection event can only
+travel downstream synchronized with the buffer flow.
+
+Source elements, demuxers and other elements that manage collections
+of streams and post #GstStreamCollection messages on the bus also send
+this event downstream on each pad involved in the collection, so that
+activation of a new collection can be tracked through the downstream
+data flow.</doc>
+ <source-position filename="gst/gstevent.h" line="592"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1923">the new STREAM_COLLECTION event.</doc>
+ <type name="Event" c:type="GstEvent*"/>
+ </return-value>
+ <parameters>
+ <parameter name="collection" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1912">Active collection for this data flow</doc>
+ <type name="StreamCollection" c:type="GstStreamCollection*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_stream_group_done"
+ c:identifier="gst_event_new_stream_group_done"
+ version="1.10">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="693">Create a new Stream Group Done event. The stream-group-done event can
+only travel downstream synchronized with the buffer flow. Elements
+that receive the event on a pad should handle it mostly like EOS,
+and emit any data or pending buffers that would depend on more data
+arriving and unblock, since there won't be any more data.
+
+This event is followed by EOS at some point in the future, and is
+generally used when switching pads - to unblock downstream so that
+new pads can be exposed before sending EOS on the existing pads.</doc>
+ <source-position filename="gst/gstevent.h" line="608"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="707">the new stream-group-done event.</doc>
+ <type name="Event" c:type="GstEvent*"/>
+ </return-value>
+ <parameters>
+ <parameter name="group_id" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="695">the group id of the stream group which is ending</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_stream_start"
+ c:identifier="gst_event_new_stream_start">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1711">Create a new STREAM_START event. The stream start event can only
+travel downstream synchronized with the buffer flow. It is expected
+to be the first event that is sent for a new stream.
+
+Source elements, demuxers and other elements that create new streams
+are supposed to send this event as the first event of a new stream. It
+should not be sent after a flushing seek or in similar situations
+and is used to mark the beginning of a new logical stream. Elements
+combining multiple streams must ensure that this event is only forwarded
+downstream once and not for every single input stream.
+
+The @stream_id should be a unique string that consists of the upstream
+stream-id, / as separator and a unique stream-id for this specific
+stream. A new stream-id should only be created for a stream if the upstream
+stream is split into (potentially) multiple new streams, e.g. in a demuxer,
+but not for every single element in the pipeline.
+gst_pad_create_stream_id() or gst_pad_create_stream_id_printf() can be
+used to create a stream-id. There are no particular semantics for the
+stream-id, though it should be deterministic (to support stream matching)
+and it might be used to order streams (besides any information conveyed by
+stream flags).</doc>
+ <source-position filename="gst/gstevent.h" line="555"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1737">the new STREAM_START event.</doc>
+ <type name="Event" c:type="GstEvent*"/>
+ </return-value>
+ <parameters>
+ <parameter name="stream_id" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1713">Identifier for this stream</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_tag" c:identifier="gst_event_new_tag">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1024">Generates a metadata tag event from the given @taglist.
+
+The scope of the taglist specifies if the taglist applies to the
+complete medium or only to this specific stream. As the tag event
+is a sticky event, elements should merge tags received from
+upstream with a given scope with their own tags with the same
+scope and create a new tag event from it.</doc>
+ <source-position filename="gst/gstevent.h" line="658"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1037">a new #GstEvent</doc>
+ <type name="Event" c:type="GstEvent*"/>
+ </return-value>
+ <parameters>
+ <parameter name="taglist" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1026">metadata list. The event will take ownership
+ of the taglist.</doc>
+ <type name="TagList" c:type="GstTagList*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_toc" c:identifier="gst_event_new_toc">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1967">Generate a TOC event from the given @toc. The purpose of the TOC event is to
+inform elements that some kind of the TOC was found.</doc>
+ <source-position filename="gst/gstevent.h" line="666"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1975">a new #GstEvent.</doc>
+ <type name="Event" c:type="GstEvent*"/>
+ </return-value>
+ <parameters>
+ <parameter name="toc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1969">#GstToc structure.</doc>
+ <type name="Toc" c:type="GstToc*"/>
+ </parameter>
+ <parameter name="updated" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1970">whether @toc was updated or not.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_toc_select"
+ c:identifier="gst_event_new_toc_select">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="2025">Generate a TOC select event with the given @uid. The purpose of the
+TOC select event is to start playback based on the TOC's entry with the
+given @uid.</doc>
+ <source-position filename="gst/gstevent.h" line="754"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="2033">a new #GstEvent.</doc>
+ <type name="Event" c:type="GstEvent*"/>
+ </return-value>
+ <parameters>
+ <parameter name="uid" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="2027">UID in the TOC to start playback from.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <method name="copy" c:identifier="gst_event_copy" introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.h"
+ line="500">Copy the event using the event specific copy function.</doc>
+ <source-position filename="gst/gstevent.h" line="508"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.h"
+ line="506">the new event</doc>
+ <type name="Event" c:type="GstEvent*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="event" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.h"
+ line="502">The event to copy</doc>
+ <type name="Event" c:type="const GstEvent*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="copy_segment" c:identifier="gst_event_copy_segment">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1002">Parses a segment @event and copies the #GstSegment into the location
+given by @segment.</doc>
+ <source-position filename="gst/gstevent.h" line="653"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="event" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1004">The event to parse</doc>
+ <type name="Event" c:type="GstEvent*"/>
+ </instance-parameter>
+ <parameter name="segment" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1005">a pointer to a #GstSegment</doc>
+ <type name="Segment" c:type="GstSegment*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_running_time_offset"
+ c:identifier="gst_event_get_running_time_offset"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="485">Retrieve the accumulated running time offset of the event.
+
+Events passing through #GstPads that have a running time
+offset set via gst_pad_set_offset() will get their offset
+adjusted according to the pad's offset.
+
+If the event contains any information that related to the
+running time, this information will need to be updated
+before usage with this offset.</doc>
+ <source-position filename="gst/gstevent.h" line="547"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="499">The event's running time offset
+
+MT safe.</doc>
+ <type name="gint64" c:type="gint64"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="event" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="487">A #GstEvent.</doc>
+ <type name="Event" c:type="GstEvent*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_seqnum" c:identifier="gst_event_get_seqnum">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="433">Retrieve the sequence number of a event.
+
+Events have ever-incrementing sequence numbers, which may also be set
+explicitly via gst_event_set_seqnum(). Sequence numbers are typically used to
+indicate that a event corresponds to some other set of events or messages,
+for example an EOS event corresponding to a SEEK event. It is considered good
+practice to make this correspondence when possible, though it is not
+required.
+
+Note that events and messages share the same sequence number incrementor;
+two events or messages will never have the same sequence number unless
+that correspondence was made explicitly.</doc>
+ <source-position filename="gst/gstevent.h" line="539"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="450">The event's sequence number.
+
+MT safe.</doc>
+ <type name="guint32" c:type="guint32"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="event" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="435">A #GstEvent.</doc>
+ <type name="Event" c:type="GstEvent*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_structure" c:identifier="gst_event_get_structure">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="335">Access the structure of the event.</doc>
+ <source-position filename="gst/gstevent.h" line="525"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="341">The structure of the event. The
+structure is still owned by the event, which means that you should not free
+it and that the pointer becomes invalid when you free the event.
+
+MT safe.</doc>
+ <type name="Structure" c:type="const GstStructure*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="event" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="337">The #GstEvent.</doc>
+ <type name="Event" c:type="GstEvent*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="has_name" c:identifier="gst_event_has_name">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="389">Checks if @event has the given @name. This function is usually used to
+check the name of a custom event.</doc>
+ <source-position filename="gst/gstevent.h" line="531"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="397">%TRUE if @name matches the name of the event structure.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="event" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="391">The #GstEvent.</doc>
+ <type name="Event" c:type="GstEvent*"/>
+ </instance-parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="392">name to check</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="has_name_id"
+ c:identifier="gst_event_has_name_id"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="410">Checks if @event has the given @name. This function is usually used to
+check the name of a custom event.</doc>
+ <source-position filename="gst/gstevent.h" line="534"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="418">%TRUE if @name matches the name of the event structure.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="event" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="412">The #GstEvent.</doc>
+ <type name="Event" c:type="GstEvent*"/>
+ </instance-parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="413">name to check as a GQuark</doc>
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_buffer_size"
+ c:identifier="gst_event_parse_buffer_size">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1117">Get the format, minsize, maxsize and async-flag in the buffersize event.</doc>
+ <source-position filename="gst/gstevent.h" line="686"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="event" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1119">The event to query</doc>
+ <type name="Event" c:type="GstEvent*"/>
+ </instance-parameter>
+ <parameter name="format"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1120">A pointer to store the format in</doc>
+ <type name="Format" c:type="GstFormat*"/>
+ </parameter>
+ <parameter name="minsize"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1121">A pointer to store the minsize in</doc>
+ <type name="gint64" c:type="gint64*"/>
+ </parameter>
+ <parameter name="maxsize"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1122">A pointer to store the maxsize in</doc>
+ <type name="gint64" c:type="gint64*"/>
+ </parameter>
+ <parameter name="async"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1123">A pointer to store the async-flag in</doc>
+ <type name="gboolean" c:type="gboolean*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_caps" c:identifier="gst_event_parse_caps">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="897">Get the caps from @event. The caps remains valid as long as @event remains
+valid.</doc>
+ <source-position filename="gst/gstevent.h" line="642"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="event" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="899">The event to parse</doc>
+ <type name="Event" c:type="GstEvent*"/>
+ </instance-parameter>
+ <parameter name="caps"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="900">A pointer to the caps</doc>
+ <type name="Caps" c:type="GstCaps**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_flush_stop"
+ c:identifier="gst_event_parse_flush_stop">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="591">Parse the FLUSH_STOP event and retrieve the @reset_time member.</doc>
+ <source-position filename="gst/gstevent.h" line="587"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="event" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="593">The event to parse</doc>
+ <type name="Event" c:type="GstEvent*"/>
+ </instance-parameter>
+ <parameter name="reset_time"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="594">if time should be reset</doc>
+ <type name="gboolean" c:type="gboolean*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_gap" c:identifier="gst_event_parse_gap">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="804">Extract timestamp and duration from a new GAP event.</doc>
+ <source-position filename="gst/gstevent.h" line="624"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="event" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="806">a #GstEvent of type #GST_EVENT_GAP</doc>
+ <type name="Event" c:type="GstEvent*"/>
+ </instance-parameter>
+ <parameter name="timestamp"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="807">location where to store the
+ start time (pts) of the gap, or %NULL</doc>
+ <type name="ClockTime" c:type="GstClockTime*"/>
+ </parameter>
+ <parameter name="duration"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="809">location where to store the duration of
+ the gap, or %NULL</doc>
+ <type name="ClockTime" c:type="GstClockTime*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_gap_flags"
+ c:identifier="gst_event_parse_gap_flags"
+ version="1.20">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="850">Retrieve the gap flags that may have been set on a gap event with
+gst_event_set_gap_flags().</doc>
+ <source-position filename="gst/gstevent.h" line="633"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="event" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="852">a #GstEvent of type #GST_EVENT_GAP</doc>
+ <type name="Event" c:type="GstEvent*"/>
+ </instance-parameter>
+ <parameter name="flags"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="853">a #GstGapFlags or %NULL</doc>
+ <type name="GapFlags" c:type="GstGapFlags*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_group_id"
+ c:identifier="gst_event_parse_group_id"
+ version="1.2">
+ <source-position filename="gst/gstevent.h" line="576"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1890">%TRUE if a group id was set on the event and could be parsed,
+ %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="event" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1887">a stream-start event</doc>
+ <type name="Event" c:type="GstEvent*"/>
+ </instance-parameter>
+ <parameter name="group_id"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1888">address of variable where to store the group id</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_instant_rate_change"
+ c:identifier="gst_event_parse_instant_rate_change"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="2284">Extract rate and flags from an instant-rate-change event.</doc>
+ <source-position filename="gst/gstevent.h" line="773"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="event" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="2286">a #GstEvent of type #GST_EVENT_INSTANT_RATE_CHANGE</doc>
+ <type name="Event" c:type="GstEvent*"/>
+ </instance-parameter>
+ <parameter name="rate_multiplier"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="2287">location in which to store the rate
+ multiplier of the instant-rate-change event, or %NULL</doc>
+ <type name="gdouble" c:type="gdouble*"/>
+ </parameter>
+ <parameter name="new_flags"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="2289">location in which to store the new
+ segment flags of the instant-rate-change event, or %NULL</doc>
+ <type name="SegmentFlags" c:type="GstSegmentFlags*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_instant_rate_sync_time"
+ c:identifier="gst_event_parse_instant_rate_sync_time"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="2360">Extract the rate multiplier and running times from an instant-rate-sync-time event.</doc>
+ <source-position filename="gst/gstevent.h" line="784"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="event" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="2362">a #GstEvent of type #GST_EVENT_INSTANT_RATE_CHANGE</doc>
+ <type name="Event" c:type="GstEvent*"/>
+ </instance-parameter>
+ <parameter name="rate_multiplier"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="2363">location where to store the rate of
+ the instant-rate-sync-time event, or %NULL</doc>
+ <type name="gdouble" c:type="gdouble*"/>
+ </parameter>
+ <parameter name="running_time"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="2365">location in which to store the running time
+ of the instant-rate-sync-time event, or %NULL</doc>
+ <type name="ClockTime" c:type="GstClockTime*"/>
+ </parameter>
+ <parameter name="upstream_running_time"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="2367">location in which to store the
+ upstream running time of the instant-rate-sync-time event, or %NULL</doc>
+ <type name="ClockTime" c:type="GstClockTime*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_latency" c:identifier="gst_event_parse_latency">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1531">Get the latency in the latency event.</doc>
+ <source-position filename="gst/gstevent.h" line="735"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="event" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1533">The event to query</doc>
+ <type name="Event" c:type="GstEvent*"/>
+ </instance-parameter>
+ <parameter name="latency"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1534">A pointer to store the latency in.</doc>
+ <type name="ClockTime" c:type="GstClockTime*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_protection"
+ c:identifier="gst_event_parse_protection"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="2146">Parses an event containing protection system specific information and stores
+the results in @system_id, @data and @origin. The data stored in @system_id,
+@origin and @data are valid until @event is released.</doc>
+ <source-position filename="gst/gstevent.h" line="677"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="event" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="2148">a #GST_EVENT_PROTECTION event.</doc>
+ <type name="Event" c:type="GstEvent*"/>
+ </instance-parameter>
+ <parameter name="system_id"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="none"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="2149">pointer to store the UUID
+string uniquely identifying a content protection system.</doc>
+ <type name="utf8" c:type="const gchar**"/>
+ </parameter>
+ <parameter name="data"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="none"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="2151">pointer to store a #GstBuffer
+holding protection system specific information.</doc>
+ <type name="Buffer" c:type="GstBuffer**"/>
+ </parameter>
+ <parameter name="origin"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="none"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="2153">pointer to store a value that
+indicates where the protection information carried by @event was extracted
+from.</doc>
+ <type name="utf8" c:type="const gchar**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_qos" c:identifier="gst_event_parse_qos">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1232">Get the type, proportion, diff and timestamp in the qos event. See
+gst_event_new_qos() for more information about the different QoS values.
+
+@timestamp will be adjusted for any pad offsets of pads it was passing through.</doc>
+ <source-position filename="gst/gstevent.h" line="703"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="event" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1234">The event to query</doc>
+ <type name="Event" c:type="GstEvent*"/>
+ </instance-parameter>
+ <parameter name="type"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1235">A pointer to store the QoS type in</doc>
+ <type name="QOSType" c:type="GstQOSType*"/>
+ </parameter>
+ <parameter name="proportion"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1236">A pointer to store the proportion in</doc>
+ <type name="gdouble" c:type="gdouble*"/>
+ </parameter>
+ <parameter name="diff"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1237">A pointer to store the diff in</doc>
+ <type name="ClockTimeDiff" c:type="GstClockTimeDiff*"/>
+ </parameter>
+ <parameter name="timestamp"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1238">A pointer to store the timestamp in</doc>
+ <type name="ClockTime" c:type="GstClockTime*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_seek" c:identifier="gst_event_parse_seek">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1389">Parses a seek @event and stores the results in the given result locations.</doc>
+ <source-position filename="gst/gstevent.h" line="713"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="event" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1391">a seek event</doc>
+ <type name="Event" c:type="GstEvent*"/>
+ </instance-parameter>
+ <parameter name="rate"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1392">result location for the rate</doc>
+ <type name="gdouble" c:type="gdouble*"/>
+ </parameter>
+ <parameter name="format"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1393">result location for the stream format</doc>
+ <type name="Format" c:type="GstFormat*"/>
+ </parameter>
+ <parameter name="flags"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1394">result location for the #GstSeekFlags</doc>
+ <type name="SeekFlags" c:type="GstSeekFlags*"/>
+ </parameter>
+ <parameter name="start_type"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1395">result location for the #GstSeekType of the start position</doc>
+ <type name="SeekType" c:type="GstSeekType*"/>
+ </parameter>
+ <parameter name="start"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1396">result location for the start position expressed in @format</doc>
+ <type name="gint64" c:type="gint64*"/>
+ </parameter>
+ <parameter name="stop_type"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1397">result location for the #GstSeekType of the stop position</doc>
+ <type name="SeekType" c:type="GstSeekType*"/>
+ </parameter>
+ <parameter name="stop"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1398">result location for the stop position expressed in @format</doc>
+ <type name="gint64" c:type="gint64*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_seek_trickmode_interval"
+ c:identifier="gst_event_parse_seek_trickmode_interval"
+ version="1.16">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1464">Retrieve the trickmode interval that may have been set on a
+seek event with gst_event_set_seek_trickmode_interval().</doc>
+ <source-position filename="gst/gstevent.h" line="722"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="event" transfer-ownership="none">
+ <type name="Event" c:type="GstEvent*"/>
+ </instance-parameter>
+ <parameter name="interval"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <type name="ClockTime" c:type="GstClockTime*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_segment" c:identifier="gst_event_parse_segment">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="978">Parses a segment @event and stores the result in the given @segment location.
+@segment remains valid only until the @event is freed. Don't modify the segment
+and make a copy if you want to modify it or store it for later use.</doc>
+ <source-position filename="gst/gstevent.h" line="650"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="event" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="980">The event to parse</doc>
+ <type name="Event" c:type="GstEvent*"/>
+ </instance-parameter>
+ <parameter name="segment"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="981">a pointer to a #GstSegment</doc>
+ <type name="Segment" c:type="const GstSegment**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_segment_done"
+ c:identifier="gst_event_parse_segment_done">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="2214">Extracts the position and format from the segment done message.</doc>
+ <source-position filename="gst/gstevent.h" line="765"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="event" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="2216">A valid #GstEvent of type GST_EVENT_SEGMENT_DONE.</doc>
+ <type name="Event" c:type="GstEvent*"/>
+ </instance-parameter>
+ <parameter name="format"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="2217">Result location for the format, or %NULL</doc>
+ <type name="Format" c:type="GstFormat*"/>
+ </parameter>
+ <parameter name="position"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="2218">Result location for the position, or %NULL</doc>
+ <type name="gint64" c:type="gint64*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_select_streams"
+ c:identifier="gst_event_parse_select_streams"
+ version="1.10">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="661">Parse the SELECT_STREAMS event and retrieve the contained streams.</doc>
+ <source-position filename="gst/gstevent.h" line="603"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="event" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="663">The event to parse</doc>
+ <type name="Event" c:type="GstEvent*"/>
+ </instance-parameter>
+ <parameter name="streams"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="664">the streams</doc>
+ <type name="GLib.List" c:type="GList**">
+ <type name="utf8"/>
+ </type>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_sink_message"
+ c:identifier="gst_event_parse_sink_message">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1689">Parse the sink-message event. Unref @msg after usage.</doc>
+ <source-position filename="gst/gstevent.h" line="695"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="event" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1691">The event to query</doc>
+ <type name="Event" c:type="GstEvent*"/>
+ </instance-parameter>
+ <parameter name="msg"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1692">a pointer to store the #GstMessage in.</doc>
+ <type name="Message" c:type="GstMessage**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_step" c:identifier="gst_event_parse_step">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1596">Parse the step event.</doc>
+ <source-position filename="gst/gstevent.h" line="743"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="event" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1598">The event to query</doc>
+ <type name="Event" c:type="GstEvent*"/>
+ </instance-parameter>
+ <parameter name="format"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1599">a pointer to store the format in</doc>
+ <type name="Format" c:type="GstFormat*"/>
+ </parameter>
+ <parameter name="amount"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1600">a pointer to store the amount in</doc>
+ <type name="guint64" c:type="guint64*"/>
+ </parameter>
+ <parameter name="rate"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1601">a pointer to store the rate in</doc>
+ <type name="gdouble" c:type="gdouble*"/>
+ </parameter>
+ <parameter name="flush"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1602">a pointer to store the flush boolean in</doc>
+ <type name="gboolean" c:type="gboolean*"/>
+ </parameter>
+ <parameter name="intermediate"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1603">a pointer to store the intermediate
+ boolean in</doc>
+ <type name="gboolean" c:type="gboolean*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_stream"
+ c:identifier="gst_event_parse_stream"
+ version="1.10">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1799">Parse a stream-start @event and extract the #GstStream from it.</doc>
+ <source-position filename="gst/gstevent.h" line="564"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="event" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1801">a stream-start event</doc>
+ <type name="Event" c:type="GstEvent*"/>
+ </instance-parameter>
+ <parameter name="stream"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1802">address of variable to store the stream</doc>
+ <type name="Stream" c:type="GstStream**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_stream_collection"
+ c:identifier="gst_event_parse_stream_collection"
+ version="1.10">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1941">Retrieve new #GstStreamCollection from STREAM_COLLECTION event @event.</doc>
+ <source-position filename="gst/gstevent.h" line="595"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="event" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1943">a stream-collection event</doc>
+ <type name="Event" c:type="GstEvent*"/>
+ </instance-parameter>
+ <parameter name="collection"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1944">pointer to store the collection</doc>
+ <type name="StreamCollection" c:type="GstStreamCollection**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_stream_flags"
+ c:identifier="gst_event_parse_stream_flags"
+ version="1.2">
+ <source-position filename="gst/gstevent.h" line="570"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="event" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1841">a stream-start event</doc>
+ <type name="Event" c:type="GstEvent*"/>
+ </instance-parameter>
+ <parameter name="flags"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1842">address of variable where to store the stream flags</doc>
+ <type name="StreamFlags" c:type="GstStreamFlags*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_stream_group_done"
+ c:identifier="gst_event_parse_stream_group_done"
+ version="1.10">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="724">Parse a stream-group-done @event and store the result in the given
+@group_id location.</doc>
+ <source-position filename="gst/gstevent.h" line="611"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="event" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="726">a stream-group-done event.</doc>
+ <type name="Event" c:type="GstEvent*"/>
+ </instance-parameter>
+ <parameter name="group_id"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="727">address of variable to store the group id into</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_stream_start"
+ c:identifier="gst_event_parse_stream_start">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1753">Parse a stream-id @event and store the result in the given @stream_id
+location. The string stored in @stream_id must not be modified and will
+remain valid only until @event gets freed. Make a copy if you want to
+modify it or store it for later use.</doc>
+ <source-position filename="gst/gstevent.h" line="558"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="event" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1755">a stream-start event.</doc>
+ <type name="Event" c:type="GstEvent*"/>
+ </instance-parameter>
+ <parameter name="stream_id"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1756">pointer to store the stream-id</doc>
+ <type name="utf8" c:type="const gchar**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_tag" c:identifier="gst_event_parse_tag">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1055">Parses a tag @event and stores the results in the given @taglist location.
+No reference to the taglist will be returned, it remains valid only until
+the @event is freed. Don't modify or free the taglist, make a copy if you
+want to modify it or store it for later use.</doc>
+ <source-position filename="gst/gstevent.h" line="661"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="event" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1057">a tag event</doc>
+ <type name="Event" c:type="GstEvent*"/>
+ </instance-parameter>
+ <parameter name="taglist"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1058">pointer to metadata list</doc>
+ <type name="TagList" c:type="GstTagList**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_toc" c:identifier="gst_event_parse_toc">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="2001">Parse a TOC @event and store the results in the given @toc and @updated locations.</doc>
+ <source-position filename="gst/gstevent.h" line="669"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="event" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="2003">a TOC event.</doc>
+ <type name="Event" c:type="GstEvent*"/>
+ </instance-parameter>
+ <parameter name="toc"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="2004">pointer to #GstToc structure.</doc>
+ <type name="Toc" c:type="GstToc**"/>
+ </parameter>
+ <parameter name="updated"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="2005">pointer to store TOC updated flag.</doc>
+ <type name="gboolean" c:type="gboolean*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_toc_select"
+ c:identifier="gst_event_parse_toc_select">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="2050">Parse a TOC select @event and store the results in the given @uid location.</doc>
+ <source-position filename="gst/gstevent.h" line="757"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="event" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="2052">a TOC select event.</doc>
+ <type name="Event" c:type="GstEvent*"/>
+ </instance-parameter>
+ <parameter name="uid"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="2053">storage for the selection UID.</doc>
+ <type name="utf8" c:type="gchar**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="ref" c:identifier="gst_event_ref" introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.h"
+ line="452">Increase the refcount of this event.</doc>
+ <source-position filename="gst/gstevent.h" line="460"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.h"
+ line="458">@event (for convenience when doing assignments)</doc>
+ <type name="Event" c:type="GstEvent*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="event" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.h"
+ line="454">The event to refcount</doc>
+ <type name="Event" c:type="GstEvent*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="set_gap_flags"
+ c:identifier="gst_event_set_gap_flags"
+ version="1.20">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="829">Sets @flags on @event to give additional information about the reason for
+the #GST_EVENT_GAP.</doc>
+ <source-position filename="gst/gstevent.h" line="629"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="event" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="831">a #GstEvent of type #GST_EVENT_GAP</doc>
+ <type name="Event" c:type="GstEvent*"/>
+ </instance-parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="832">a #GstGapFlags</doc>
+ <type name="GapFlags" c:type="GstGapFlags"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_group_id"
+ c:identifier="gst_event_set_group_id"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1858">All streams that have the same group id are supposed to be played
+together, i.e. all streams inside a container file should have the
+same group id but different stream ids. The group id should change
+each time the stream is started, resulting in different group ids
+each time a file is played for example.
+
+Use gst_util_group_id_next() to get a new group id.</doc>
+ <source-position filename="gst/gstevent.h" line="573"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="event" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1860">a stream-start event</doc>
+ <type name="Event" c:type="GstEvent*"/>
+ </instance-parameter>
+ <parameter name="group_id" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1861">the group id to set</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_running_time_offset"
+ c:identifier="gst_event_set_running_time_offset"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="513">Set the running time offset of a event. See
+gst_event_get_running_time_offset() for more information.
+
+MT safe.</doc>
+ <source-position filename="gst/gstevent.h" line="550"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="event" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="515">A #GstEvent.</doc>
+ <type name="Event" c:type="GstEvent*"/>
+ </instance-parameter>
+ <parameter name="offset" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="516">A the new running time offset</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_seek_trickmode_interval"
+ c:identifier="gst_event_set_seek_trickmode_interval"
+ version="1.16">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1443">Sets a trickmode interval on a (writable) seek event. Elements
+that support TRICKMODE_KEY_UNITS seeks SHOULD use this as the minimal
+interval between each frame they may output.</doc>
+ <source-position filename="gst/gstevent.h" line="719"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="event" transfer-ownership="none">
+ <type name="Event" c:type="GstEvent*"/>
+ </instance-parameter>
+ <parameter name="interval" transfer-ownership="none">
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_seqnum" c:identifier="gst_event_set_seqnum">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="462">Set the sequence number of a event.
+
+This function might be called by the creator of a event to indicate that the
+event relates to other events or messages. See gst_event_get_seqnum() for
+more information.
+
+MT safe.</doc>
+ <source-position filename="gst/gstevent.h" line="542"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="event" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="464">A #GstEvent.</doc>
+ <type name="Event" c:type="GstEvent*"/>
+ </instance-parameter>
+ <parameter name="seqnum" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="465">A sequence number.</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_stream"
+ c:identifier="gst_event_set_stream"
+ version="1.10">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1779">Set the @stream on the stream-start @event</doc>
+ <source-position filename="gst/gstevent.h" line="561"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="event" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1781">a stream-start event</doc>
+ <type name="Event" c:type="GstEvent*"/>
+ </instance-parameter>
+ <parameter name="stream" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1782">the stream object to set</doc>
+ <type name="Stream" c:type="GstStream*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_stream_flags"
+ c:identifier="gst_event_set_stream_flags"
+ version="1.2">
+ <source-position filename="gst/gstevent.h" line="567"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="event" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1823">a stream-start event</doc>
+ <type name="Event" c:type="GstEvent*"/>
+ </instance-parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="1824">the stream flags to set</doc>
+ <type name="StreamFlags" c:type="GstStreamFlags"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="unref" c:identifier="gst_event_unref" introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.h"
+ line="467">Decrease the refcount of an event, freeing it if the refcount reaches 0.</doc>
+ <source-position filename="gst/gstevent.h" line="473"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="event" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.h"
+ line="469">the event to refcount</doc>
+ <type name="Event" c:type="GstEvent*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="writable_structure"
+ c:identifier="gst_event_writable_structure">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="355">Get a writable version of the structure.</doc>
+ <source-position filename="gst/gstevent.h" line="528"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="361">The structure of the event. The structure
+is still owned by the event, which means that you should not free
+it and that the pointer becomes invalid when you free the event.
+This function checks if @event is writable and will never return
+%NULL.
+
+MT safe.</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="event" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="357">The #GstEvent.</doc>
+ <type name="Event" c:type="GstEvent*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <function name="replace"
+ c:identifier="gst_event_replace"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.h"
+ line="324">Modifies a pointer to a #GstEvent to point to a different #GstEvent. The
+modification is done atomically (so this is useful for ensuring thread safety
+in some cases), and the reference counts are updated appropriately (the old
+event is unreffed, the new one is reffed).
+
+Either @new_event or the #GstEvent pointed to by @old_event may be %NULL.</doc>
+ <source-position filename="gst/gstevent.h" line="340"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.h"
+ line="338">%TRUE if @new_event was different from @old_event</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="old_event"
+ direction="inout"
+ caller-allocates="0"
+ transfer-ownership="full"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.h"
+ line="326">pointer to a
+ pointer to a #GstEvent to be replaced.</doc>
+ <type name="Event" c:type="GstEvent**"/>
+ </parameter>
+ <parameter name="new_event"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.h"
+ line="328">pointer to a #GstEvent that will
+ replace the event pointed to by @old_event.</doc>
+ <type name="Event" c:type="GstEvent*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="steal" c:identifier="gst_event_steal" introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.h"
+ line="347">Atomically replace the #GstEvent pointed to by @old_event with %NULL and
+return the original event.</doc>
+ <source-position filename="gst/gstevent.h" line="357"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.h"
+ line="355">the #GstEvent that was in @old_event</doc>
+ <type name="Event" c:type="GstEvent*"/>
+ </return-value>
+ <parameters>
+ <parameter name="old_event"
+ direction="inout"
+ caller-allocates="0"
+ transfer-ownership="full"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.h"
+ line="349">pointer to a
+ pointer to a #GstEvent to be stolen.</doc>
+ <type name="Event" c:type="GstEvent**"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="take" c:identifier="gst_event_take" introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.h"
+ line="364">Modifies a pointer to a #GstEvent to point to a different #GstEvent. This
+function is similar to gst_event_replace() except that it takes ownership of
+@new_event.
+
+Either @new_event or the #GstEvent pointed to by @old_event may be %NULL.</doc>
+ <source-position filename="gst/gstevent.h" line="379"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.h"
+ line="377">%TRUE if @new_event was different from @old_event</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="old_event"
+ direction="inout"
+ caller-allocates="0"
+ transfer-ownership="full"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.h"
+ line="366">pointer to a
+ pointer to a #GstEvent to be stolen.</doc>
+ <type name="Event" c:type="GstEvent**"/>
+ </parameter>
+ <parameter name="new_event"
+ transfer-ownership="full"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.h"
+ line="368">pointer to a #GstEvent that will
+ replace the event pointed to by @old_event.</doc>
+ <type name="Event" c:type="GstEvent*"/>
+ </parameter>
+ </parameters>
+ </function>
+ </record>
+ <enumeration name="EventType"
+ glib:type-name="GstEventType"
+ glib:get-type="gst_event_type_get_type"
+ c:type="GstEventType">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.h"
+ line="75">#GstEventType lists the standard event types that can be sent in a pipeline.
+
+The custom event types can be used for private messages between elements
+that can't be expressed using normal
+GStreamer buffer passing semantics. Custom events carry an arbitrary
+#GstStructure.
+Specific custom events are distinguished by the name of the structure.</doc>
+ <member name="unknown"
+ value="0"
+ c:identifier="GST_EVENT_UNKNOWN"
+ glib:nick="unknown">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.h"
+ line="77">unknown event.</doc>
+ </member>
+ <member name="flush_start"
+ value="2563"
+ c:identifier="GST_EVENT_FLUSH_START"
+ glib:nick="flush-start">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.h"
+ line="78">Start a flush operation. This event clears all data
+ from the pipeline and unblock all streaming threads.</doc>
+ </member>
+ <member name="flush_stop"
+ value="5127"
+ c:identifier="GST_EVENT_FLUSH_STOP"
+ glib:nick="flush-stop">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.h"
+ line="80">Stop a flush operation. This event resets the
+ running-time of the pipeline.</doc>
+ </member>
+ <member name="stream_start"
+ value="10254"
+ c:identifier="GST_EVENT_STREAM_START"
+ glib:nick="stream-start">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.h"
+ line="83">Event to mark the start of a new stream. Sent before any
+ other serialized event and only sent at the start of a new stream,
+ not after flushing seeks.</doc>
+ </member>
+ <member name="caps"
+ value="12814"
+ c:identifier="GST_EVENT_CAPS"
+ glib:nick="caps">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.h"
+ line="86">#GstCaps event. Notify the pad of a new media type.</doc>
+ </member>
+ <member name="segment"
+ value="17934"
+ c:identifier="GST_EVENT_SEGMENT"
+ glib:nick="segment">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.h"
+ line="87">A new media segment follows in the dataflow. The
+ segment events contains information for clipping buffers and
+ converting buffer timestamps to running-time and
+ stream-time.</doc>
+ </member>
+ <member name="stream_collection"
+ value="19230"
+ c:identifier="GST_EVENT_STREAM_COLLECTION"
+ glib:nick="stream-collection">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.h"
+ line="91">A new #GstStreamCollection is available (Since: 1.10)</doc>
+ </member>
+ <member name="tag"
+ value="20510"
+ c:identifier="GST_EVENT_TAG"
+ glib:nick="tag">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.h"
+ line="92">A new set of metadata tags has been found in the stream.</doc>
+ </member>
+ <member name="buffersize"
+ value="23054"
+ c:identifier="GST_EVENT_BUFFERSIZE"
+ glib:nick="buffersize">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.h"
+ line="93">Notification of buffering requirements. Currently not
+ used yet.</doc>
+ </member>
+ <member name="sink_message"
+ value="25630"
+ c:identifier="GST_EVENT_SINK_MESSAGE"
+ glib:nick="sink-message">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.h"
+ line="95">An event that sinks turn into a message. Used to
+ send messages that should be emitted in sync with
+ rendering.</doc>
+ </member>
+ <member name="stream_group_done"
+ value="26894"
+ c:identifier="GST_EVENT_STREAM_GROUP_DONE"
+ glib:nick="stream-group-done">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.h"
+ line="98">Indicates that there is no more data for
+ the stream group ID in the message. Sent before EOS
+ in some instances and should be handled mostly the same. (Since: 1.10)</doc>
+ </member>
+ <member name="eos"
+ value="28174"
+ c:identifier="GST_EVENT_EOS"
+ glib:nick="eos">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.h"
+ line="101">End-Of-Stream. No more data is to be expected to follow
+ without either a STREAM_START event, or a FLUSH_STOP and a SEGMENT
+ event.</doc>
+ </member>
+ <member name="toc"
+ value="30750"
+ c:identifier="GST_EVENT_TOC"
+ glib:nick="toc">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.h"
+ line="106">An event which indicates that a new table of contents (TOC)
+ was found or updated.</doc>
+ </member>
+ <member name="protection"
+ value="33310"
+ c:identifier="GST_EVENT_PROTECTION"
+ glib:nick="protection">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.h"
+ line="108">An event which indicates that new or updated
+ encryption information has been found in the stream.</doc>
+ </member>
+ <member name="segment_done"
+ value="38406"
+ c:identifier="GST_EVENT_SEGMENT_DONE"
+ glib:nick="segment-done">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.h"
+ line="104">Marks the end of a segment playback.</doc>
+ </member>
+ <member name="gap"
+ value="40966"
+ c:identifier="GST_EVENT_GAP"
+ glib:nick="gap">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.h"
+ line="105">Marks a gap in the datastream.</doc>
+ </member>
+ <member name="instant_rate_change"
+ value="46090"
+ c:identifier="GST_EVENT_INSTANT_RATE_CHANGE"
+ glib:nick="instant-rate-change">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.h"
+ line="124">Notify downstream that a playback rate override
+ should be applied as soon as possible. (Since: 1.18)</doc>
+ </member>
+ <member name="qos"
+ value="48641"
+ c:identifier="GST_EVENT_QOS"
+ glib:nick="qos">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.h"
+ line="110">A quality message. Used to indicate to upstream elements
+ that the downstream elements should adjust their processing
+ rate.</doc>
+ </member>
+ <member name="seek"
+ value="51201"
+ c:identifier="GST_EVENT_SEEK"
+ glib:nick="seek">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.h"
+ line="113">A request for a new playback position and rate.</doc>
+ </member>
+ <member name="navigation"
+ value="53761"
+ c:identifier="GST_EVENT_NAVIGATION"
+ glib:nick="navigation">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.h"
+ line="114">Navigation events are usually used for communicating
+ user requests, such as mouse or keyboard movements,
+ to upstream elements.</doc>
+ </member>
+ <member name="latency"
+ value="56321"
+ c:identifier="GST_EVENT_LATENCY"
+ glib:nick="latency">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.h"
+ line="117">Notification of new latency adjustment. Sinks will use
+ the latency information to adjust their synchronisation.</doc>
+ </member>
+ <member name="step"
+ value="58881"
+ c:identifier="GST_EVENT_STEP"
+ glib:nick="step">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.h"
+ line="119">A request for stepping through the media. Sinks will usually
+ execute the step operation.</doc>
+ </member>
+ <member name="reconfigure"
+ value="61441"
+ c:identifier="GST_EVENT_RECONFIGURE"
+ glib:nick="reconfigure">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.h"
+ line="121">A request for upstream renegotiating caps and reconfiguring.</doc>
+ </member>
+ <member name="toc_select"
+ value="64001"
+ c:identifier="GST_EVENT_TOC_SELECT"
+ glib:nick="toc-select">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.h"
+ line="122">A request for a new playback position based on TOC
+ entry's UID.</doc>
+ </member>
+ <member name="select_streams"
+ value="66561"
+ c:identifier="GST_EVENT_SELECT_STREAMS"
+ glib:nick="select-streams">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.h"
+ line="82">A request to select one or more streams (Since: 1.10)</doc>
+ </member>
+ <member name="instant_rate_sync_time"
+ value="66817"
+ c:identifier="GST_EVENT_INSTANT_RATE_SYNC_TIME"
+ glib:nick="instant-rate-sync-time">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.h"
+ line="126">Sent by the pipeline to notify elements that handle the
+ instant-rate-change event about the running-time when
+ the rate multiplier should be applied (or was applied). (Since: 1.18)</doc>
+ </member>
+ <member name="custom_upstream"
+ value="69121"
+ c:identifier="GST_EVENT_CUSTOM_UPSTREAM"
+ glib:nick="custom-upstream">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.h"
+ line="129">Upstream custom event</doc>
+ </member>
+ <member name="custom_downstream"
+ value="71686"
+ c:identifier="GST_EVENT_CUSTOM_DOWNSTREAM"
+ glib:nick="custom-downstream">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.h"
+ line="130">Downstream custom event that travels in the
+ data flow.</doc>
+ </member>
+ <member name="custom_downstream_oob"
+ value="74242"
+ c:identifier="GST_EVENT_CUSTOM_DOWNSTREAM_OOB"
+ glib:nick="custom-downstream-oob">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.h"
+ line="132">Custom out-of-band downstream event.</doc>
+ </member>
+ <member name="custom_downstream_sticky"
+ value="76830"
+ c:identifier="GST_EVENT_CUSTOM_DOWNSTREAM_STICKY"
+ glib:nick="custom-downstream-sticky">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.h"
+ line="133">Custom sticky downstream event.</doc>
+ </member>
+ <member name="custom_both"
+ value="79367"
+ c:identifier="GST_EVENT_CUSTOM_BOTH"
+ glib:nick="custom-both">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.h"
+ line="134">Custom upstream or downstream event.
+ In-band when travelling downstream.</doc>
+ </member>
+ <member name="custom_both_oob"
+ value="81923"
+ c:identifier="GST_EVENT_CUSTOM_BOTH_OOB"
+ glib:nick="custom-both-oob">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.h"
+ line="136">Custom upstream or downstream out-of-band event.</doc>
+ </member>
+ <function name="get_flags" c:identifier="gst_event_type_get_flags">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="198">Gets the #GstEventTypeFlags associated with @type.</doc>
+ <source-position filename="gst/gstevent.h" line="448"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="204">a #GstEventTypeFlags.</doc>
+ <type name="EventTypeFlags" c:type="GstEventTypeFlags"/>
+ </return-value>
+ <parameters>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="200">a #GstEventType</doc>
+ <type name="EventType" c:type="GstEventType"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="get_name" c:identifier="gst_event_type_get_name">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="158">Get a printable name for the given event type. Do not modify or free.</doc>
+ <source-position filename="gst/gstevent.h" line="441"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="164">a reference to the static name of the event.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="160">the event type</doc>
+ <type name="EventType" c:type="GstEventType"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="to_quark" c:identifier="gst_event_type_to_quark">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="178">Get the unique quark for the given event type.</doc>
+ <source-position filename="gst/gstevent.h" line="444"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="184">the quark associated with the event type</doc>
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </return-value>
+ <parameters>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="180">the event type</doc>
+ <type name="EventType" c:type="GstEventType"/>
+ </parameter>
+ </parameters>
+ </function>
+ </enumeration>
+ <bitfield name="EventTypeFlags"
+ glib:type-name="GstEventTypeFlags"
+ glib:get-type="gst_event_type_flags_get_type"
+ c:type="GstEventTypeFlags">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.h"
+ line="30">#GstEventTypeFlags indicate the aspects of the different #GstEventType
+values. You can get the type flags of a #GstEventType with the
+gst_event_type_get_flags() function.</doc>
+ <member name="upstream"
+ value="1"
+ c:identifier="GST_EVENT_TYPE_UPSTREAM"
+ glib:nick="upstream">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.h"
+ line="32">Set if the event can travel upstream.</doc>
+ </member>
+ <member name="downstream"
+ value="2"
+ c:identifier="GST_EVENT_TYPE_DOWNSTREAM"
+ glib:nick="downstream">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.h"
+ line="33">Set if the event can travel downstream.</doc>
+ </member>
+ <member name="serialized"
+ value="4"
+ c:identifier="GST_EVENT_TYPE_SERIALIZED"
+ glib:nick="serialized">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.h"
+ line="34">Set if the event should be serialized with data
+ flow.</doc>
+ </member>
+ <member name="sticky"
+ value="8"
+ c:identifier="GST_EVENT_TYPE_STICKY"
+ glib:nick="sticky">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.h"
+ line="36">Set if the event is sticky on the pads.</doc>
+ </member>
+ <member name="sticky_multi"
+ value="16"
+ c:identifier="GST_EVENT_TYPE_STICKY_MULTI"
+ glib:nick="sticky-multi">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.h"
+ line="37">Multiple sticky events can be on a pad, each
+ identified by the event name.</doc>
+ </member>
+ </bitfield>
+ <constant name="FLAG_SET_MASK_EXACT"
+ value="4294967295"
+ c:type="GST_FLAG_SET_MASK_EXACT"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.h"
+ line="214">A mask value with all bits set, for use as a
+GstFlagSet mask where all flag bits must match
+exactly</doc>
+ <source-position filename="gst/gstvalue.h" line="223"/>
+ <type name="guint" c:type="guint"/>
+ </constant>
+ <constant name="FORMAT_PERCENT_MAX"
+ value="1000000"
+ c:type="GST_FORMAT_PERCENT_MAX">
+ <doc xml:space="preserve"
+ filename="gst/gstformat.h"
+ line="62">The PERCENT format is between 0 and this value</doc>
+ <source-position filename="gst/gstformat.h" line="67"/>
+ <type name="gint64" c:type="gint64"/>
+ </constant>
+ <constant name="FORMAT_PERCENT_SCALE"
+ value="10000"
+ c:type="GST_FORMAT_PERCENT_SCALE">
+ <doc xml:space="preserve"
+ filename="gst/gstformat.h"
+ line="68">The value used to scale down the reported PERCENT format value to
+its real value.</doc>
+ <source-position filename="gst/gstformat.h" line="74"/>
+ <type name="gint64" c:type="gint64"/>
+ </constant>
+ <function-macro name="FOURCC_ARGS"
+ c:identifier="GST_FOURCC_ARGS"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.h"
+ line="77">Can be used together with #GST_FOURCC_FORMAT to properly output a
+#guint32 fourcc value in a printf\()-style text message.</doc>
+ <source-position filename="gst/gstvalue.h" line="87"/>
+ <parameters>
+ <parameter name="fourcc">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.h"
+ line="79">a #guint32 fourcc value to output</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <constant name="FOURCC_FORMAT"
+ value="c%c%c%c"
+ c:type="GST_FOURCC_FORMAT"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.h"
+ line="64">Can be used together with #GST_FOURCC_ARGS to properly output a
+#guint32 fourcc value in a printf\()-style text message.
+
+|[
+printf ("fourcc: %" GST_FOURCC_FORMAT "\n", GST_FOURCC_ARGS (fcc));
+]|</doc>
+ <source-position filename="gst/gstvalue.h" line="75"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <class name="FlagSet"
+ c:symbol-prefix="flagset"
+ glib:type-name="GstFlagSet"
+ glib:get-type="gst_flagset_get_type"
+ glib:fundamental="1">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.h"
+ line="376">A fundamental type that describes a 32-bit flag bitfield, with 32-bit
+mask indicating which of the bits in the field are explicitly set.</doc>
+ <function name="register"
+ c:identifier="gst_flagset_register"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="8091">Create a new sub-class of #GST_TYPE_FLAG_SET
+which will pretty-print the human-readable flags
+when serializing, for easier debugging.</doc>
+ <source-position filename="gst/gstvalue.h" line="815"/>
+ <return-value transfer-ownership="none">
+ <type name="GType" c:type="GType"/>
+ </return-value>
+ <parameters>
+ <parameter name="flags_type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="8093">a #GType of a #G_TYPE_FLAGS type.</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ </parameters>
+ </function>
+ </class>
+ <enumeration name="FlowReturn"
+ glib:type-name="GstFlowReturn"
+ glib:get-type="gst_flow_return_get_type"
+ c:type="GstFlowReturn">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="132">The result of passing data to a pad.
+
+Note that the custom return values should not be exposed outside of the
+element scope.</doc>
+ <member name="custom_success_2"
+ value="102"
+ c:identifier="GST_FLOW_CUSTOM_SUCCESS_2"
+ glib:nick="custom-success-2">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="149">Pre-defined custom success code.</doc>
+ </member>
+ <member name="custom_success_1"
+ value="101"
+ c:identifier="GST_FLOW_CUSTOM_SUCCESS_1"
+ glib:nick="custom-success-1">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="146">Pre-defined custom success code (define your
+ custom success code to this to avoid compiler
+ warnings).</doc>
+ </member>
+ <member name="custom_success"
+ value="100"
+ c:identifier="GST_FLOW_CUSTOM_SUCCESS"
+ glib:nick="custom-success">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="143">Elements can use values starting from
+ this (and higher) to define custom success
+ codes.</doc>
+ </member>
+ <member name="ok" value="0" c:identifier="GST_FLOW_OK" glib:nick="ok">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="134">Data passing was ok.</doc>
+ </member>
+ <member name="not_linked"
+ value="-1"
+ c:identifier="GST_FLOW_NOT_LINKED"
+ glib:nick="not-linked">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="135">Pad is not linked.</doc>
+ </member>
+ <member name="flushing"
+ value="-2"
+ c:identifier="GST_FLOW_FLUSHING"
+ glib:nick="flushing">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="136">Pad is flushing.</doc>
+ </member>
+ <member name="eos"
+ value="-3"
+ c:identifier="GST_FLOW_EOS"
+ glib:nick="eos">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="137">Pad is EOS.</doc>
+ </member>
+ <member name="not_negotiated"
+ value="-4"
+ c:identifier="GST_FLOW_NOT_NEGOTIATED"
+ glib:nick="not-negotiated">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="138">Pad is not negotiated.</doc>
+ </member>
+ <member name="error"
+ value="-5"
+ c:identifier="GST_FLOW_ERROR"
+ glib:nick="error">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="139">Some (fatal) error occurred. Element generating
+ this error should post an error message using
+ GST_ELEMENT_ERROR() with more details.</doc>
+ </member>
+ <member name="not_supported"
+ value="-6"
+ c:identifier="GST_FLOW_NOT_SUPPORTED"
+ glib:nick="not-supported">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="142">This operation is not supported.</doc>
+ </member>
+ <member name="custom_error"
+ value="-100"
+ c:identifier="GST_FLOW_CUSTOM_ERROR"
+ glib:nick="custom-error">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="150">Elements can use values starting from
+ this (and lower) to define custom error codes.</doc>
+ </member>
+ <member name="custom_error_1"
+ value="-101"
+ c:identifier="GST_FLOW_CUSTOM_ERROR_1"
+ glib:nick="custom-error-1">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="152">Pre-defined custom error code (define your
+ custom error code to this to avoid compiler
+ warnings).</doc>
+ </member>
+ <member name="custom_error_2"
+ value="-102"
+ c:identifier="GST_FLOW_CUSTOM_ERROR_2"
+ glib:nick="custom-error-2">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="155">Pre-defined custom error code.</doc>
+ </member>
+ </enumeration>
+ <enumeration name="Format"
+ glib:type-name="GstFormat"
+ glib:get-type="gst_format_get_type"
+ c:type="GstFormat">
+ <doc xml:space="preserve"
+ filename="gst/gstformat.h"
+ line="34">Standard predefined formats</doc>
+ <member name="undefined"
+ value="0"
+ c:identifier="GST_FORMAT_UNDEFINED"
+ glib:nick="undefined">
+ <doc xml:space="preserve"
+ filename="gst/gstformat.h"
+ line="36">undefined format</doc>
+ </member>
+ <member name="default"
+ value="1"
+ c:identifier="GST_FORMAT_DEFAULT"
+ glib:nick="default">
+ <doc xml:space="preserve"
+ filename="gst/gstformat.h"
+ line="37">the default format of the pad/element. This can be
+ samples for raw audio, frames/fields for raw video (some, but not all,
+ elements support this; use @GST_FORMAT_TIME if you don't have a good
+ reason to query for samples/frames)</doc>
+ </member>
+ <member name="bytes"
+ value="2"
+ c:identifier="GST_FORMAT_BYTES"
+ glib:nick="bytes">
+ <doc xml:space="preserve"
+ filename="gst/gstformat.h"
+ line="41">bytes</doc>
+ </member>
+ <member name="time"
+ value="3"
+ c:identifier="GST_FORMAT_TIME"
+ glib:nick="time">
+ <doc xml:space="preserve"
+ filename="gst/gstformat.h"
+ line="42">time in nanoseconds</doc>
+ </member>
+ <member name="buffers"
+ value="4"
+ c:identifier="GST_FORMAT_BUFFERS"
+ glib:nick="buffers">
+ <doc xml:space="preserve"
+ filename="gst/gstformat.h"
+ line="43">buffers (few, if any, elements implement this as of
+ May 2009)</doc>
+ </member>
+ <member name="percent"
+ value="5"
+ c:identifier="GST_FORMAT_PERCENT"
+ glib:nick="percent">
+ <doc xml:space="preserve"
+ filename="gst/gstformat.h"
+ line="45">percentage of stream (few, if any, elements implement
+ this as of May 2009)</doc>
+ </member>
+ <function name="get_by_nick" c:identifier="gst_format_get_by_nick">
+ <doc xml:space="preserve"
+ filename="gst/gstformat.c"
+ line="172">Return the format registered with the given nick.</doc>
+ <source-position filename="gst/gstformat.h" line="108"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstformat.c"
+ line="178">The format with @nick or GST_FORMAT_UNDEFINED
+if the format was not registered.</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </return-value>
+ <parameters>
+ <parameter name="nick" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstformat.c"
+ line="174">The nick of the format</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="get_details" c:identifier="gst_format_get_details">
+ <doc xml:space="preserve"
+ filename="gst/gstformat.c"
+ line="223">Get details about the given format.</doc>
+ <source-position filename="gst/gstformat.h" line="119"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstformat.c"
+ line="229">The #GstFormatDefinition for @format or %NULL
+on failure.
+
+MT safe.</doc>
+ <type name="FormatDefinition" c:type="const GstFormatDefinition*"/>
+ </return-value>
+ <parameters>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstformat.c"
+ line="225">The format to get details of</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="get_name" c:identifier="gst_format_get_name">
+ <doc xml:space="preserve"
+ filename="gst/gstformat.c"
+ line="83">Get a printable name for the given format. Do not modify or free.</doc>
+ <source-position filename="gst/gstformat.h" line="96"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstformat.c"
+ line="89">a reference to the static name of the format
+or %NULL if the format is unknown.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstformat.c"
+ line="85">a #GstFormat</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="iterate_definitions"
+ c:identifier="gst_format_iterate_definitions">
+ <doc xml:space="preserve"
+ filename="gst/gstformat.c"
+ line="246">Iterate all the registered formats. The format definition is read
+only.</doc>
+ <source-position filename="gst/gstformat.h" line="122"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstformat.c"
+ line="252">a GstIterator of #GstFormatDefinition.</doc>
+ <type name="Iterator" c:type="GstIterator*"/>
+ </return-value>
+ </function>
+ <function name="register" c:identifier="gst_format_register">
+ <doc xml:space="preserve"
+ filename="gst/gstformat.c"
+ line="129">Create a new GstFormat based on the nick or return an
+already registered format with that nick.</doc>
+ <source-position filename="gst/gstformat.h" line="104"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstformat.c"
+ line="137">A new GstFormat or an already registered format
+with the same nick.
+
+MT safe.</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </return-value>
+ <parameters>
+ <parameter name="nick" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstformat.c"
+ line="131">The nick of the new format</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="description" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstformat.c"
+ line="132">The description of the new format</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="to_quark" c:identifier="gst_format_to_quark">
+ <doc xml:space="preserve"
+ filename="gst/gstformat.c"
+ line="106">Get the unique quark for the given format.</doc>
+ <source-position filename="gst/gstformat.h" line="99"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstformat.c"
+ line="112">the quark associated with the format or 0 if the format
+is unknown.</doc>
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </return-value>
+ <parameters>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstformat.c"
+ line="108">a #GstFormat</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ </parameters>
+ </function>
+ </enumeration>
+ <record name="FormatDefinition" c:type="GstFormatDefinition">
+ <doc xml:space="preserve"
+ filename="gst/gstformat.h"
+ line="78">A format definition</doc>
+ <source-position filename="gst/gstformat.h" line="93"/>
+ <field name="value" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstformat.h"
+ line="80">The unique id of this format</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </field>
+ <field name="nick" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstformat.h"
+ line="81">A short nick of the format</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </field>
+ <field name="description" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstformat.h"
+ line="82">A longer description of the format</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </field>
+ <field name="quark" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstformat.h"
+ line="83">A quark for the nick</doc>
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </field>
+ </record>
+ <class name="Fraction"
+ c:symbol-prefix="fraction"
+ glib:type-name="GstFraction"
+ glib:get-type="gst_fraction_get_type"
+ glib:fundamental="1">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.h"
+ line="338">A fundamental type that describes a fraction of an integer numerator
+over an integer denominator</doc>
+ </class>
+ <class name="FractionRange"
+ c:symbol-prefix="fraction_range"
+ glib:type-name="GstFractionRange"
+ glib:get-type="gst_fraction_range_get_type"
+ glib:fundamental="1">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.h"
+ line="278">A fundamental type that describes a #GstFractionRange range</doc>
+ </class>
+ <function-macro name="GHOST_PAD"
+ c:identifier="GST_GHOST_PAD"
+ introspectable="0">
+ <source-position filename="gst/gstghostpad.h" line="84"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="GHOST_PAD_CAST"
+ c:identifier="GST_GHOST_PAD_CAST"
+ introspectable="0">
+ <source-position filename="gst/gstghostpad.h" line="86"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="GHOST_PAD_CLASS"
+ c:identifier="GST_GHOST_PAD_CLASS"
+ introspectable="0">
+ <source-position filename="gst/gstghostpad.h" line="85"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <constant name="GROUP_ID_INVALID"
+ value="0"
+ c:type="GST_GROUP_ID_INVALID"
+ version="1.14">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.h"
+ line="120">A value which is guaranteed to never be returned by
+gst_util_group_id_next().
+
+Can be used as a default value in variables used to store group_id.</doc>
+ <source-position filename="gst/gstutils.h" line="130"/>
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <bitfield name="GapFlags"
+ version="1.20"
+ glib:type-name="GstGapFlags"
+ glib:get-type="gst_gap_flags_get_type"
+ c:type="GstGapFlags">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.h"
+ line="407">The different flags that can be set on #GST_EVENT_GAP events. See
+gst_event_set_gap_flags() for details.</doc>
+ <member name="data"
+ value="1"
+ c:identifier="GST_GAP_FLAG_MISSING_DATA"
+ glib:nick="data">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.h"
+ line="409">The #GST_EVENT_GAP signals missing data,
+ for example because of packet loss.</doc>
+ </member>
+ </bitfield>
+ <class name="GhostPad"
+ c:symbol-prefix="ghost_pad"
+ c:type="GstGhostPad"
+ parent="ProxyPad"
+ glib:type-name="GstGhostPad"
+ glib:get-type="gst_ghost_pad_get_type"
+ glib:type-struct="GhostPadClass">
+ <doc xml:space="preserve"
+ filename="gst/gstghostpad.c"
+ line="25">GhostPads are useful when organizing pipelines with #GstBin like elements.
+The idea here is to create hierarchical element graphs. The bin element
+contains a sub-graph. Now one would like to treat the bin-element like any
+other #GstElement. This is where GhostPads come into play. A GhostPad acts as
+a proxy for another pad. Thus the bin can have sink and source ghost-pads
+that are associated with sink and source pads of the child elements.
+
+If the target pad is known at creation time, gst_ghost_pad_new() is the
+function to use to get a ghost-pad. Otherwise one can use gst_ghost_pad_new_no_target()
+to create the ghost-pad and use gst_ghost_pad_set_target() to establish the
+association later on.
+
+Note that GhostPads add overhead to the data processing of a pipeline.</doc>
+ <source-position filename="gst/gstghostpad.h" line="111"/>
+ <constructor name="new" c:identifier="gst_ghost_pad_new">
+ <doc xml:space="preserve"
+ filename="gst/gstghostpad.c"
+ line="653">Create a new ghostpad with @target as the target. The direction will be taken
+from the target pad. @target must be unlinked.
+
+Will ref the target.</doc>
+ <source-position filename="gst/gstghostpad.h" line="118"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstghostpad.c"
+ line="663">a new #GstPad, or %NULL in
+case of an error.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </return-value>
+ <parameters>
+ <parameter name="name"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstghostpad.c"
+ line="655">the name of the new pad, or %NULL to assign a default name</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="target" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstghostpad.c"
+ line="656">the pad to ghost.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_from_template"
+ c:identifier="gst_ghost_pad_new_from_template">
+ <doc xml:space="preserve"
+ filename="gst/gstghostpad.c"
+ line="693">Create a new ghostpad with @target as the target. The direction will be taken
+from the target pad. The template used on the ghostpad will be @template.
+
+Will ref the target.</doc>
+ <source-position filename="gst/gstghostpad.h" line="124"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstghostpad.c"
+ line="704">a new #GstPad, or %NULL in
+case of an error.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </return-value>
+ <parameters>
+ <parameter name="name"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstghostpad.c"
+ line="695">the name of the new pad, or %NULL to assign a default name.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="target" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstghostpad.c"
+ line="696">the pad to ghost.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </parameter>
+ <parameter name="templ" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstghostpad.c"
+ line="697">the #GstPadTemplate to use on the ghostpad.</doc>
+ <type name="PadTemplate" c:type="GstPadTemplate*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_no_target"
+ c:identifier="gst_ghost_pad_new_no_target">
+ <doc xml:space="preserve"
+ filename="gst/gstghostpad.c"
+ line="625">Create a new ghostpad without a target with the given direction.
+A target can be set on the ghostpad later with the
+gst_ghost_pad_set_target() function.
+
+The created ghostpad will not have a padtemplate.</doc>
+ <source-position filename="gst/gstghostpad.h" line="121"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstghostpad.c"
+ line="636">a new #GstPad, or %NULL in
+case of an error.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </return-value>
+ <parameters>
+ <parameter name="name"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstghostpad.c"
+ line="627">the name of the new pad, or %NULL to assign a default name.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="dir" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstghostpad.c"
+ line="628">the direction of the ghostpad</doc>
+ <type name="PadDirection" c:type="GstPadDirection"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_no_target_from_template"
+ c:identifier="gst_ghost_pad_new_no_target_from_template">
+ <doc xml:space="preserve"
+ filename="gst/gstghostpad.c"
+ line="739">Create a new ghostpad based on @templ, without setting a target. The
+direction will be taken from the @templ.</doc>
+ <source-position filename="gst/gstghostpad.h" line="127"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstghostpad.c"
+ line="747">a new #GstPad, or %NULL in
+case of an error.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </return-value>
+ <parameters>
+ <parameter name="name"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstghostpad.c"
+ line="741">the name of the new pad, or %NULL to assign a default name</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="templ" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstghostpad.c"
+ line="742">the #GstPadTemplate to create the ghostpad from.</doc>
+ <type name="PadTemplate" c:type="GstPadTemplate*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <function name="activate_mode_default"
+ c:identifier="gst_ghost_pad_activate_mode_default">
+ <doc xml:space="preserve"
+ filename="gst/gstghostpad.c"
+ line="413">Invoke the default activate mode function of a ghost pad.</doc>
+ <source-position filename="gst/gstghostpad.h" line="139"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstghostpad.c"
+ line="422">%TRUE if the operation was successful.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstghostpad.c"
+ line="415">the #GstPad to activate or deactivate.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </parameter>
+ <parameter name="parent"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstghostpad.c"
+ line="416">the parent of @pad or %NULL</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="mode" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstghostpad.c"
+ line="417">the requested activation mode</doc>
+ <type name="PadMode" c:type="GstPadMode"/>
+ </parameter>
+ <parameter name="active" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstghostpad.c"
+ line="418">whether the pad should be active or not.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="internal_activate_mode_default"
+ c:identifier="gst_ghost_pad_internal_activate_mode_default">
+ <doc xml:space="preserve"
+ filename="gst/gstghostpad.c"
+ line="322">Invoke the default activate mode function of a proxy pad that is
+owned by a ghost pad.</doc>
+ <source-position filename="gst/gstghostpad.h" line="142"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstghostpad.c"
+ line="332">%TRUE if the operation was successful.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstghostpad.c"
+ line="324">the #GstPad to activate or deactivate.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </parameter>
+ <parameter name="parent"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstghostpad.c"
+ line="325">the parent of @pad or %NULL</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="mode" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstghostpad.c"
+ line="326">the requested activation mode</doc>
+ <type name="PadMode" c:type="GstPadMode"/>
+ </parameter>
+ <parameter name="active" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstghostpad.c"
+ line="327">whether the pad should be active or not.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </function>
+ <method name="construct"
+ c:identifier="gst_ghost_pad_construct"
+ deprecated="1">
+ <doc xml:space="preserve"
+ filename="gst/gstghostpad.c"
+ line="577">Finish initialization of a newly allocated ghost pad.
+
+This function is most useful in language bindings and when subclassing
+#GstGhostPad; plugin and application developers normally will not call this
+function. Call this function directly after a call to g_object_new
+(GST_TYPE_GHOST_PAD, "direction", @dir, ..., NULL).</doc>
+ <doc-deprecated xml:space="preserve">This function is deprecated since 1.18 and does nothing
+anymore.</doc-deprecated>
+ <source-position filename="gst/gstghostpad.h" line="136"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstghostpad.c"
+ line="591">%TRUE if the construction succeeds, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="gpad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstghostpad.c"
+ line="579">the newly allocated ghost pad</doc>
+ <type name="GhostPad" c:type="GstGhostPad*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_target" c:identifier="gst_ghost_pad_get_target">
+ <doc xml:space="preserve"
+ filename="gst/gstghostpad.c"
+ line="764">Get the target pad of @gpad. Unref target pad after usage.</doc>
+ <source-position filename="gst/gstghostpad.h" line="130"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstghostpad.c"
+ line="770">the target #GstPad, can be
+%NULL if the ghostpad has no target set. Unref target pad after
+usage.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="gpad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstghostpad.c"
+ line="766">the #GstGhostPad</doc>
+ <type name="GhostPad" c:type="GstGhostPad*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="set_target" c:identifier="gst_ghost_pad_set_target">
+ <doc xml:space="preserve"
+ filename="gst/gstghostpad.c"
+ line="788">Set the new target of the ghostpad @gpad. Any existing target
+is unlinked and links to the new target are established. if @newtarget is
+%NULL the target will be cleared.</doc>
+ <source-position filename="gst/gstghostpad.h" line="133"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstghostpad.c"
+ line="797">%TRUE if the new target could be set. This function
+ can return %FALSE when the internal pads could not be linked.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="gpad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstghostpad.c"
+ line="790">the #GstGhostPad</doc>
+ <type name="GhostPad" c:type="GstGhostPad*"/>
+ </instance-parameter>
+ <parameter name="newtarget"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstghostpad.c"
+ line="791">the new pad target</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <field name="pad">
+ <type name="ProxyPad" c:type="GstProxyPad"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="GhostPadPrivate" c:type="GstGhostPadPrivate*"/>
+ </field>
+ </class>
+ <record name="GhostPadClass"
+ c:type="GstGhostPadClass"
+ glib:is-gtype-struct-for="GhostPad">
+ <source-position filename="gst/gstghostpad.h" line="111"/>
+ <field name="parent_class">
+ <type name="ProxyPadClass" c:type="GstProxyPadClass"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="GhostPadPrivate" c:type="GstGhostPadPrivate" disguised="1">
+ <source-position filename="gst/gstghostpad.h" line="94"/>
+ </record>
+ <function-macro name="IS_ALLOCATOR"
+ c:identifier="GST_IS_ALLOCATOR"
+ introspectable="0">
+ <source-position filename="gst/gstallocator.h" line="35"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_ALLOCATOR_CLASS"
+ c:identifier="GST_IS_ALLOCATOR_CLASS"
+ introspectable="0">
+ <source-position filename="gst/gstallocator.h" line="36"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_BIN" c:identifier="GST_IS_BIN" introspectable="0">
+ <source-position filename="gst/gstbin.h" line="34"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_BIN_CLASS"
+ c:identifier="GST_IS_BIN_CLASS"
+ introspectable="0">
+ <source-position filename="gst/gstbin.h" line="35"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_BUFFER"
+ c:identifier="GST_IS_BUFFER"
+ introspectable="0">
+ <source-position filename="gst/gstbuffer.h" line="42"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_BUFFER_LIST"
+ c:identifier="GST_IS_BUFFER_LIST"
+ introspectable="0">
+ <source-position filename="gst/gstbufferlist.h" line="33"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_BUFFER_POOL"
+ c:identifier="GST_IS_BUFFER_POOL"
+ introspectable="0">
+ <source-position filename="gst/gstbufferpool.h" line="36"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_BUFFER_POOL_CLASS"
+ c:identifier="GST_IS_BUFFER_POOL_CLASS"
+ introspectable="0">
+ <source-position filename="gst/gstbufferpool.h" line="37"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_BUS" c:identifier="GST_IS_BUS" introspectable="0">
+ <source-position filename="gst/gstbus.h" line="37"/>
+ <parameters>
+ <parameter name="bus">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_BUS_CLASS"
+ c:identifier="GST_IS_BUS_CLASS"
+ introspectable="0">
+ <source-position filename="gst/gstbus.h" line="39"/>
+ <parameters>
+ <parameter name="bclass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_CAPS"
+ c:identifier="GST_IS_CAPS"
+ introspectable="0">
+ <source-position filename="gst/gstcaps.h" line="34"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_CAPS_FEATURES"
+ c:identifier="GST_IS_CAPS_FEATURES"
+ introspectable="0">
+ <source-position filename="gst/gstcapsfeatures.h" line="36"/>
+ <parameters>
+ <parameter name="object">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_CHILD_PROXY"
+ c:identifier="GST_IS_CHILD_PROXY"
+ introspectable="0">
+ <source-position filename="gst/gstchildproxy.h" line="33"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_CLOCK"
+ c:identifier="GST_IS_CLOCK"
+ introspectable="0">
+ <source-position filename="gst/gstclock.h" line="35"/>
+ <parameters>
+ <parameter name="clock">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_CLOCK_CLASS"
+ c:identifier="GST_IS_CLOCK_CLASS"
+ introspectable="0">
+ <source-position filename="gst/gstclock.h" line="37"/>
+ <parameters>
+ <parameter name="cclass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_CONTEXT"
+ c:identifier="GST_IS_CONTEXT"
+ introspectable="0">
+ <source-position filename="gst/gstcontext.h" line="39"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_CONTROL_BINDING"
+ c:identifier="GST_IS_CONTROL_BINDING"
+ introspectable="0">
+ <source-position filename="gst/gstcontrolbinding.h" line="37"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_CONTROL_BINDING_CLASS"
+ c:identifier="GST_IS_CONTROL_BINDING_CLASS"
+ introspectable="0">
+ <source-position filename="gst/gstcontrolbinding.h" line="39"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_CONTROL_SOURCE"
+ c:identifier="GST_IS_CONTROL_SOURCE"
+ introspectable="0">
+ <source-position filename="gst/gstcontrolsource.h" line="39"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_CONTROL_SOURCE_CLASS"
+ c:identifier="GST_IS_CONTROL_SOURCE_CLASS"
+ introspectable="0">
+ <source-position filename="gst/gstcontrolsource.h" line="41"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_DEVICE"
+ c:identifier="GST_IS_DEVICE"
+ introspectable="0">
+ <source-position filename="gst/gstdevice.h" line="38"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_DEVICE_CLASS"
+ c:identifier="GST_IS_DEVICE_CLASS"
+ introspectable="0">
+ <source-position filename="gst/gstdevice.h" line="39"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_DEVICE_MONITOR"
+ c:identifier="GST_IS_DEVICE_MONITOR"
+ introspectable="0">
+ <source-position filename="gst/gstdevicemonitor.h" line="38"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_DEVICE_MONITOR_CLASS"
+ c:identifier="GST_IS_DEVICE_MONITOR_CLASS"
+ introspectable="0">
+ <source-position filename="gst/gstdevicemonitor.h" line="39"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_DEVICE_PROVIDER"
+ c:identifier="GST_IS_DEVICE_PROVIDER"
+ introspectable="0">
+ <source-position filename="gst/gstdeviceprovider.h" line="38"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_DEVICE_PROVIDER_CLASS"
+ c:identifier="GST_IS_DEVICE_PROVIDER_CLASS"
+ introspectable="0">
+ <source-position filename="gst/gstdeviceprovider.h" line="39"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_DEVICE_PROVIDER_FACTORY"
+ c:identifier="GST_IS_DEVICE_PROVIDER_FACTORY"
+ introspectable="0">
+ <source-position filename="gst/gstdeviceproviderfactory.h" line="59"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_DEVICE_PROVIDER_FACTORY_CLASS"
+ c:identifier="GST_IS_DEVICE_PROVIDER_FACTORY_CLASS"
+ introspectable="0">
+ <source-position filename="gst/gstdeviceproviderfactory.h" line="60"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_DYNAMIC_TYPE_FACTORY"
+ c:identifier="GST_IS_DYNAMIC_TYPE_FACTORY"
+ introspectable="0">
+ <source-position filename="gst/gstdynamictypefactory.h" line="46"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_DYNAMIC_TYPE_FACTORY_CLASS"
+ c:identifier="GST_IS_DYNAMIC_TYPE_FACTORY_CLASS"
+ introspectable="0">
+ <source-position filename="gst/gstdynamictypefactory.h" line="47"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_ELEMENT"
+ c:identifier="GST_IS_ELEMENT"
+ introspectable="0">
+ <source-position filename="gst/gstelement.h" line="59"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_ELEMENT_CLASS"
+ c:identifier="GST_IS_ELEMENT_CLASS"
+ introspectable="0">
+ <source-position filename="gst/gstelement.h" line="60"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_ELEMENT_FACTORY"
+ c:identifier="GST_IS_ELEMENT_FACTORY"
+ introspectable="0">
+ <source-position filename="gst/gstelementfactory.h" line="49"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_ELEMENT_FACTORY_CLASS"
+ c:identifier="GST_IS_ELEMENT_FACTORY_CLASS"
+ introspectable="0">
+ <source-position filename="gst/gstelementfactory.h" line="50"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_EVENT"
+ c:identifier="GST_IS_EVENT"
+ introspectable="0">
+ <source-position filename="gst/gstevent.h" line="236"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_GHOST_PAD"
+ c:identifier="GST_IS_GHOST_PAD"
+ introspectable="0">
+ <source-position filename="gst/gstghostpad.h" line="82"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_GHOST_PAD_CLASS"
+ c:identifier="GST_IS_GHOST_PAD_CLASS"
+ introspectable="0">
+ <source-position filename="gst/gstghostpad.h" line="83"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_MESSAGE"
+ c:identifier="GST_IS_MESSAGE"
+ introspectable="0">
+ <source-position filename="gst/gstmessage.h" line="200"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_MINI_OBJECT_TYPE"
+ c:identifier="GST_IS_MINI_OBJECT_TYPE"
+ introspectable="0">
+ <source-position filename="gst/gstminiobject.h" line="32"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ <parameter name="type">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_OBJECT"
+ c:identifier="GST_IS_OBJECT"
+ introspectable="0">
+ <source-position filename="gst/gstobject.h" line="34"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_OBJECT_CLASS"
+ c:identifier="GST_IS_OBJECT_CLASS"
+ introspectable="0">
+ <source-position filename="gst/gstobject.h" line="35"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_PAD" c:identifier="GST_IS_PAD" introspectable="0">
+ <source-position filename="gst/gstpad.h" line="84"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_PAD_CLASS"
+ c:identifier="GST_IS_PAD_CLASS"
+ introspectable="0">
+ <source-position filename="gst/gstpad.h" line="85"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_PAD_TEMPLATE"
+ c:identifier="GST_IS_PAD_TEMPLATE"
+ introspectable="0">
+ <source-position filename="gst/gstpadtemplate.h" line="47"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_PAD_TEMPLATE_CLASS"
+ c:identifier="GST_IS_PAD_TEMPLATE_CLASS"
+ introspectable="0">
+ <source-position filename="gst/gstpadtemplate.h" line="48"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_PARAM_SPEC_ARRAY_LIST"
+ c:identifier="GST_IS_PARAM_SPEC_ARRAY_LIST"
+ introspectable="0">
+ <source-position filename="gst/gstparamspecs.h" line="117"/>
+ <parameters>
+ <parameter name="pspec">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_PARAM_SPEC_FRACTION"
+ c:identifier="GST_IS_PARAM_SPEC_FRACTION"
+ introspectable="0">
+ <source-position filename="gst/gstparamspecs.h" line="104"/>
+ <parameters>
+ <parameter name="pspec">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_PIPELINE"
+ c:identifier="GST_IS_PIPELINE"
+ introspectable="0">
+ <source-position filename="gst/gstpipeline.h" line="33"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_PIPELINE_CLASS"
+ c:identifier="GST_IS_PIPELINE_CLASS"
+ introspectable="0">
+ <source-position filename="gst/gstpipeline.h" line="35"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_PLUGIN"
+ c:identifier="GST_IS_PLUGIN"
+ introspectable="0">
+ <source-position filename="gst/gstplugin.h" line="189"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_PLUGIN_CLASS"
+ c:identifier="GST_IS_PLUGIN_CLASS"
+ introspectable="0">
+ <source-position filename="gst/gstplugin.h" line="190"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_PLUGIN_FEATURE"
+ c:identifier="GST_IS_PLUGIN_FEATURE"
+ introspectable="0">
+ <source-position filename="gst/gstpluginfeature.h" line="35"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_PLUGIN_FEATURE_CLASS"
+ c:identifier="GST_IS_PLUGIN_FEATURE_CLASS"
+ introspectable="0">
+ <source-position filename="gst/gstpluginfeature.h" line="37"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_PRESET"
+ c:identifier="GST_IS_PRESET"
+ introspectable="0">
+ <source-position filename="gst/gstpreset.h" line="32"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_PROXY_PAD"
+ c:identifier="GST_IS_PROXY_PAD"
+ introspectable="0">
+ <source-position filename="gst/gstghostpad.h" line="35"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_PROXY_PAD_CLASS"
+ c:identifier="GST_IS_PROXY_PAD_CLASS"
+ introspectable="0">
+ <source-position filename="gst/gstghostpad.h" line="36"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_QUERY"
+ c:identifier="GST_IS_QUERY"
+ introspectable="0">
+ <source-position filename="gst/gstquery.h" line="134"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_REGISTRY"
+ c:identifier="GST_IS_REGISTRY"
+ introspectable="0">
+ <source-position filename="gst/gstregistry.h" line="35"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_REGISTRY_CLASS"
+ c:identifier="GST_IS_REGISTRY_CLASS"
+ introspectable="0">
+ <source-position filename="gst/gstregistry.h" line="37"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_SAMPLE"
+ c:identifier="GST_IS_SAMPLE"
+ introspectable="0">
+ <source-position filename="gst/gstsample.h" line="37"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_SHARED_TASK_POOL"
+ c:identifier="GST_IS_SHARED_TASK_POOL"
+ introspectable="0">
+ <source-position filename="gst/gsttaskpool.h" line="128"/>
+ <parameters>
+ <parameter name="pool">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_SHARED_TASK_POOL_CLASS"
+ c:identifier="GST_IS_SHARED_TASK_POOL_CLASS"
+ introspectable="0">
+ <source-position filename="gst/gsttaskpool.h" line="130"/>
+ <parameters>
+ <parameter name="pclass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_STREAM"
+ c:identifier="GST_IS_STREAM"
+ introspectable="0">
+ <source-position filename="gst/gststreams.h" line="33"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_STREAM_CLASS"
+ c:identifier="GST_IS_STREAM_CLASS"
+ introspectable="0">
+ <source-position filename="gst/gststreams.h" line="34"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_STREAM_COLLECTION"
+ c:identifier="GST_IS_STREAM_COLLECTION"
+ introspectable="0">
+ <source-position filename="gst/gststreamcollection.h" line="33"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_STREAM_COLLECTION_CLASS"
+ c:identifier="GST_IS_STREAM_COLLECTION_CLASS"
+ introspectable="0">
+ <source-position filename="gst/gststreamcollection.h" line="34"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_STRUCTURE"
+ c:identifier="GST_IS_STRUCTURE"
+ introspectable="0">
+ <source-position filename="gst/gststructure.h" line="36"/>
+ <parameters>
+ <parameter name="object">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_SYSTEM_CLOCK"
+ c:identifier="GST_IS_SYSTEM_CLOCK"
+ introspectable="0">
+ <source-position filename="gst/gstsystemclock.h" line="35"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_SYSTEM_CLOCK_CLASS"
+ c:identifier="GST_IS_SYSTEM_CLOCK_CLASS"
+ introspectable="0">
+ <source-position filename="gst/gstsystemclock.h" line="37"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_TAG_LIST"
+ c:identifier="GST_IS_TAG_LIST"
+ introspectable="0">
+ <source-position filename="gst/gsttaglist.h" line="112"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_TAG_SETTER"
+ c:identifier="GST_IS_TAG_SETTER"
+ introspectable="0">
+ <source-position filename="gst/gsttagsetter.h" line="31"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_TASK"
+ c:identifier="GST_IS_TASK"
+ introspectable="0">
+ <source-position filename="gst/gsttask.h" line="43"/>
+ <parameters>
+ <parameter name="task">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_TASK_CLASS"
+ c:identifier="GST_IS_TASK_CLASS"
+ introspectable="0">
+ <source-position filename="gst/gsttask.h" line="45"/>
+ <parameters>
+ <parameter name="tclass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_TASK_POOL"
+ c:identifier="GST_IS_TASK_POOL"
+ introspectable="0">
+ <source-position filename="gst/gsttaskpool.h" line="32"/>
+ <parameters>
+ <parameter name="pool">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_TASK_POOL_CLASS"
+ c:identifier="GST_IS_TASK_POOL_CLASS"
+ introspectable="0">
+ <source-position filename="gst/gsttaskpool.h" line="34"/>
+ <parameters>
+ <parameter name="pclass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_TOC_SETTER"
+ c:identifier="GST_IS_TOC_SETTER"
+ introspectable="0">
+ <source-position filename="gst/gsttocsetter.h" line="31"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_TRACER"
+ c:identifier="GST_IS_TRACER"
+ introspectable="0">
+ <source-position filename="gst/gsttracer.h" line="39"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_TRACER_CLASS"
+ c:identifier="GST_IS_TRACER_CLASS"
+ introspectable="0">
+ <source-position filename="gst/gsttracer.h" line="40"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_TRACER_FACTORY"
+ c:identifier="GST_IS_TRACER_FACTORY"
+ introspectable="0">
+ <source-position filename="gst/gsttracerfactory.h" line="33"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_TRACER_FACTORY_CLASS"
+ c:identifier="GST_IS_TRACER_FACTORY_CLASS"
+ introspectable="0">
+ <source-position filename="gst/gsttracerfactory.h" line="35"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_TRACER_RECORD"
+ c:identifier="GST_IS_TRACER_RECORD"
+ introspectable="0">
+ <source-position filename="gst/gsttracerrecord.h" line="42"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_TRACER_RECORD_CLASS"
+ c:identifier="GST_IS_TRACER_RECORD_CLASS"
+ introspectable="0">
+ <source-position filename="gst/gsttracerrecord.h" line="43"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_TYPE_FIND_FACTORY"
+ c:identifier="GST_IS_TYPE_FIND_FACTORY"
+ introspectable="0">
+ <source-position filename="gst/gsttypefindfactory.h" line="34"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_TYPE_FIND_FACTORY_CLASS"
+ c:identifier="GST_IS_TYPE_FIND_FACTORY_CLASS"
+ introspectable="0">
+ <source-position filename="gst/gsttypefindfactory.h" line="36"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_URI" c:identifier="GST_IS_URI" introspectable="0">
+ <source-position filename="gst/gsturi.h" line="189"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_URI_HANDLER"
+ c:identifier="GST_IS_URI_HANDLER"
+ introspectable="0">
+ <source-position filename="gst/gsturi.h" line="94"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="ITERATOR"
+ c:identifier="GST_ITERATOR"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.h"
+ line="153">Macro to cast to a #GstIterator</doc>
+ <source-position filename="gst/gstiterator.h" line="159"/>
+ <parameters>
+ <parameter name="it">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.h"
+ line="155">the #GstIterator value</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="ITERATOR_COOKIE"
+ c:identifier="GST_ITERATOR_COOKIE"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.h"
+ line="167">Macro to get the cookie of a #GstIterator. The cookie of the
+iterator is the value of the master cookie when the iterator
+was created.
+Whenever the iterator is iterated, the value is compared to the
+value of the master cookie. If they are different, a concurrent
+modification happened to the iterator and a resync is needed.</doc>
+ <source-position filename="gst/gstiterator.h" line="178"/>
+ <parameters>
+ <parameter name="it">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.h"
+ line="169">the #GstIterator to get the cookie of</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="ITERATOR_LOCK"
+ c:identifier="GST_ITERATOR_LOCK"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.h"
+ line="160">Macro to get the lock protecting the datastructure being iterated.</doc>
+ <source-position filename="gst/gstiterator.h" line="166"/>
+ <parameters>
+ <parameter name="it">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.h"
+ line="162">the #GstIterator to get the lock of</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="ITERATOR_ORIG_COOKIE"
+ c:identifier="GST_ITERATOR_ORIG_COOKIE"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.h"
+ line="179">Macro to get a pointer to where the master cookie is stored. The
+master cookie protects the structure being iterated and gets updated
+whenever the datastructure changes.</doc>
+ <source-position filename="gst/gstiterator.h" line="187"/>
+ <parameters>
+ <parameter name="it">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.h"
+ line="181">the #GstIterator to get the master cookie of</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <class name="Int64Range"
+ c:symbol-prefix="int64_range"
+ glib:type-name="GstInt64Range"
+ glib:get-type="gst_int64_range_get_type"
+ glib:fundamental="1">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.h"
+ line="244">A fundamental type that describes a #gint64 range</doc>
+ </class>
+ <class name="IntRange"
+ c:symbol-prefix="int_range"
+ glib:type-name="GstIntRange"
+ glib:get-type="gst_int_range_get_type"
+ glib:fundamental="1">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.h"
+ line="227">A fundamental type that describes a #gint range</doc>
+ </class>
+ <record name="Iterator"
+ c:type="GstIterator"
+ glib:type-name="GstIterator"
+ glib:get-type="gst_iterator_get_type"
+ c:symbol-prefix="iterator">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.c"
+ line="23">A GstIterator is used to retrieve multiple objects from another object in
+a threadsafe way.
+
+Various GStreamer objects provide access to their internal structures using
+an iterator.
+
+Note that if calling a GstIterator function results in your code receiving
+a refcounted object (with, say, g_value_get_object()), the refcount for that
+object will not be increased. Your code is responsible for taking a reference
+if it wants to continue using it later.
+
+The basic use pattern of an iterator is as follows:
+|[&lt;!-- language="C" --&gt;
+ GstIterator *it = _get_iterator(object);
+ GValue item = G_VALUE_INIT;
+ done = FALSE;
+ while (!done) {
+ switch (gst_iterator_next (it, &amp;amp;item)) {
+ case GST_ITERATOR_OK:
+ ...get/use/change item here...
+ g_value_reset (&amp;amp;item);
+ break;
+ case GST_ITERATOR_RESYNC:
+ ...rollback changes to items...
+ gst_iterator_resync (it);
+ break;
+ case GST_ITERATOR_ERROR:
+ ...wrong parameters were given...
+ done = TRUE;
+ break;
+ case GST_ITERATOR_DONE:
+ done = TRUE;
+ break;
+ }
+ }
+ g_value_unset (&amp;amp;item);
+ gst_iterator_free (it);
+]|</doc>
+ <source-position filename="gst/gstiterator.h" line="226"/>
+ <field name="copy" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.h"
+ line="191">The function to copy the iterator</doc>
+ <type name="IteratorCopyFunction" c:type="GstIteratorCopyFunction"/>
+ </field>
+ <field name="next" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.h"
+ line="192">The function to get the next item in the iterator</doc>
+ <type name="IteratorNextFunction" c:type="GstIteratorNextFunction"/>
+ </field>
+ <field name="item" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.h"
+ line="193">The function to be called for each item retrieved</doc>
+ <type name="IteratorItemFunction" c:type="GstIteratorItemFunction"/>
+ </field>
+ <field name="resync" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.h"
+ line="194">The function to call when a resync is needed.</doc>
+ <type name="IteratorResyncFunction"
+ c:type="GstIteratorResyncFunction"/>
+ </field>
+ <field name="free" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.h"
+ line="195">The function to call when the iterator is freed</doc>
+ <type name="IteratorFreeFunction" c:type="GstIteratorFreeFunction"/>
+ </field>
+ <field name="pushed" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.h"
+ line="196">The iterator that is currently pushed with gst_iterator_push()</doc>
+ <type name="Iterator" c:type="GstIterator*"/>
+ </field>
+ <field name="type" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.h"
+ line="197">The type of the object that this iterator will return</doc>
+ <type name="GType" c:type="GType"/>
+ </field>
+ <field name="lock" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.h"
+ line="198">The lock protecting the data structure and the cookie.</doc>
+ <type name="GLib.Mutex" c:type="GMutex*"/>
+ </field>
+ <field name="cookie" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.h"
+ line="199">The cookie; the value of the master_cookie when this iterator was
+ created.</doc>
+ <type name="guint32" c:type="guint32"/>
+ </field>
+ <field name="master_cookie" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.h"
+ line="201">A pointer to the master cookie.</doc>
+ <type name="guint32" c:type="guint32*"/>
+ </field>
+ <field name="size" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.h"
+ line="202">the size of the iterator</doc>
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <constructor name="new"
+ c:identifier="gst_iterator_new"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.c"
+ line="120">Create a new iterator. This function is mainly used for objects
+implementing the next/resync/free function to iterate a data structure.
+
+For each item retrieved, the @item function is called with the lock
+held. The @free function is called when the iterator is freed.</doc>
+ <source-position filename="gst/gstiterator.h" line="234"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.c"
+ line="139">the new #GstIterator.
+
+MT safe.</doc>
+ <type name="Iterator" c:type="GstIterator*"/>
+ </return-value>
+ <parameters>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.c"
+ line="122">the size of the iterator structure</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.c"
+ line="123">#GType of children</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ <parameter name="lock" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.c"
+ line="124">pointer to a #GMutex.</doc>
+ <type name="GLib.Mutex" c:type="GMutex*"/>
+ </parameter>
+ <parameter name="master_cookie" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.c"
+ line="125">pointer to a guint32 that is changed when the items in the
+ iterator changed.</doc>
+ <type name="guint32" c:type="guint32*"/>
+ </parameter>
+ <parameter name="copy" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.c"
+ line="127">copy function</doc>
+ <type name="IteratorCopyFunction"
+ c:type="GstIteratorCopyFunction"/>
+ </parameter>
+ <parameter name="next" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.c"
+ line="128">function to get next item</doc>
+ <type name="IteratorNextFunction"
+ c:type="GstIteratorNextFunction"/>
+ </parameter>
+ <parameter name="item" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.c"
+ line="129">function to call on each item retrieved</doc>
+ <type name="IteratorItemFunction"
+ c:type="GstIteratorItemFunction"/>
+ </parameter>
+ <parameter name="resync" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.c"
+ line="130">function to resync the iterator</doc>
+ <type name="IteratorResyncFunction"
+ c:type="GstIteratorResyncFunction"/>
+ </parameter>
+ <parameter name="free" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.c"
+ line="131">function to free the iterator</doc>
+ <type name="IteratorFreeFunction"
+ c:type="GstIteratorFreeFunction"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_list"
+ c:identifier="gst_iterator_new_list"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.c"
+ line="218">Create a new iterator designed for iterating @list.
+
+The list you iterate is usually part of a data structure @owner and is
+protected with @lock.
+
+The iterator will use @lock to retrieve the next item of the list and it
+will then call the @item function before releasing @lock again.
+
+When a concurrent update to the list is performed, usually by @owner while
+holding @lock, @master_cookie will be updated. The iterator implementation
+will notice the update of the cookie and will return %GST_ITERATOR_RESYNC to
+the user of the iterator in the next call to gst_iterator_next().</doc>
+ <source-position filename="gst/gstiterator.h" line="244"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.c"
+ line="241">the new #GstIterator for @list.
+
+MT safe.</doc>
+ <type name="Iterator" c:type="GstIterator*"/>
+ </return-value>
+ <parameters>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.c"
+ line="220">#GType of elements</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ <parameter name="lock" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.c"
+ line="221">pointer to a #GMutex protecting the list.</doc>
+ <type name="GLib.Mutex" c:type="GMutex*"/>
+ </parameter>
+ <parameter name="master_cookie" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.c"
+ line="222">pointer to a guint32 that is incremented when the list
+ is changed.</doc>
+ <type name="guint32" c:type="guint32*"/>
+ </parameter>
+ <parameter name="list" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.c"
+ line="224">pointer to the list</doc>
+ <type name="GLib.List" c:type="GList**">
+ <type name="gpointer" c:type="gpointer"/>
+ </type>
+ </parameter>
+ <parameter name="owner" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.c"
+ line="225">object owning the list</doc>
+ <type name="GObject.Object" c:type="GObject*"/>
+ </parameter>
+ <parameter name="item" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.c"
+ line="226">function to call on each item retrieved</doc>
+ <type name="IteratorItemFunction"
+ c:type="GstIteratorItemFunction"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_single" c:identifier="gst_iterator_new_single">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.c"
+ line="796">This #GstIterator is a convenient iterator for the common
+case where a #GstIterator needs to be returned but only
+a single object has to be considered. This happens often
+for the #GstPadIterIntLinkFunction.</doc>
+ <source-position filename="gst/gstiterator.h" line="251"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.c"
+ line="806">the new #GstIterator for @object.</doc>
+ <type name="Iterator" c:type="GstIterator*"/>
+ </return-value>
+ <parameters>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.c"
+ line="798">#GType of the passed object</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ <parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.c"
+ line="799">object that this iterator should return</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <method name="copy" c:identifier="gst_iterator_copy">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.c"
+ line="73">Copy the iterator and its state.</doc>
+ <source-position filename="gst/gstiterator.h" line="254"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.c"
+ line="79">a new copy of @it.</doc>
+ <type name="Iterator" c:type="GstIterator*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="it" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.c"
+ line="75">a #GstIterator</doc>
+ <type name="Iterator" c:type="const GstIterator*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="filter" c:identifier="gst_iterator_filter">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.c"
+ line="527">Create a new iterator from an existing iterator. The new iterator
+will only return those elements that match the given compare function @func.
+The first parameter that is passed to @func is the #GValue of the current
+iterator element and the second parameter is @user_data. @func should
+return 0 for elements that should be included in the filtered iterator.
+
+When this iterator is freed, @it will also be freed.</doc>
+ <source-position filename="gst/gstiterator.h" line="273"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.c"
+ line="541">a new #GstIterator.
+
+MT safe.</doc>
+ <type name="Iterator" c:type="GstIterator*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="it" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.c"
+ line="529">The #GstIterator to filter</doc>
+ <type name="Iterator" c:type="GstIterator*"/>
+ </instance-parameter>
+ <parameter name="func" transfer-ownership="none" scope="call">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.c"
+ line="530">the compare function to select elements</doc>
+ <type name="GLib.CompareFunc" c:type="GCompareFunc"/>
+ </parameter>
+ <parameter name="user_data" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.c"
+ line="531">user data passed to the compare function</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="find_custom" c:identifier="gst_iterator_find_custom">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.c"
+ line="697">Find the first element in @it that matches the compare function @func.
+@func should return 0 when the element is found. The first parameter
+to @func will be the current element of the iterator and the
+second parameter will be @user_data.
+The result will be stored in @elem if a result is found.
+
+The iterator will not be freed.
+
+This function will return %FALSE if an error happened to the iterator
+or if the element wasn't found.</doc>
+ <source-position filename="gst/gstiterator.h" line="283"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.c"
+ line="715">Returns %TRUE if the element was found, else %FALSE.
+
+MT safe.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="it" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.c"
+ line="699">The #GstIterator to iterate</doc>
+ <type name="Iterator" c:type="GstIterator*"/>
+ </instance-parameter>
+ <parameter name="func"
+ transfer-ownership="none"
+ scope="call"
+ closure="2">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.c"
+ line="700">the compare function to use</doc>
+ <type name="GLib.CompareFunc" c:type="GCompareFunc"/>
+ </parameter>
+ <parameter name="elem"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.c"
+ line="701">pointer to a #GValue where to store the result</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.c"
+ line="702">user data passed to the compare function</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="fold" c:identifier="gst_iterator_fold">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.c"
+ line="577">Folds @func over the elements of @iter. That is to say, @func will be called
+as @func (object, @ret, @user_data) for each object in @it. The normal use
+of this procedure is to accumulate the results of operating on the objects in
+@ret.
+
+This procedure can be used (and is used internally) to implement the
+gst_iterator_foreach() and gst_iterator_find_custom() operations.
+
+The fold will proceed as long as @func returns %TRUE. When the iterator has no
+more arguments, %GST_ITERATOR_DONE will be returned. If @func returns %FALSE,
+the fold will stop, and %GST_ITERATOR_OK will be returned. Errors or resyncs
+will cause fold to return %GST_ITERATOR_ERROR or %GST_ITERATOR_RESYNC as
+appropriate.
+
+The iterator will not be freed.</doc>
+ <source-position filename="gst/gstiterator.h" line="276"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.c"
+ line="600">A #GstIteratorResult, as described above.
+
+MT safe.</doc>
+ <type name="IteratorResult" c:type="GstIteratorResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="it" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.c"
+ line="579">The #GstIterator to fold over</doc>
+ <type name="Iterator" c:type="GstIterator*"/>
+ </instance-parameter>
+ <parameter name="func"
+ transfer-ownership="none"
+ scope="call"
+ closure="2">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.c"
+ line="580">the fold function</doc>
+ <type name="IteratorFoldFunction"
+ c:type="GstIteratorFoldFunction"/>
+ </parameter>
+ <parameter name="ret" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.c"
+ line="581">the seed value passed to the fold function</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.c"
+ line="582">user data passed to the fold function</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="foreach" c:identifier="gst_iterator_foreach">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.c"
+ line="650">Iterate over all element of @it and call the given function @func for
+each element.</doc>
+ <source-position filename="gst/gstiterator.h" line="280"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.c"
+ line="659">the result call to gst_iterator_fold(). The iterator will not be
+freed.
+
+MT safe.</doc>
+ <type name="IteratorResult" c:type="GstIteratorResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="it" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.c"
+ line="652">The #GstIterator to iterate</doc>
+ <type name="Iterator" c:type="GstIterator*"/>
+ </instance-parameter>
+ <parameter name="func"
+ transfer-ownership="none"
+ scope="call"
+ closure="1">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.c"
+ line="653">the function to call for each element.</doc>
+ <type name="IteratorForeachFunction"
+ c:type="GstIteratorForeachFunction"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.c"
+ line="654">user data passed to the function</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="free" c:identifier="gst_iterator_free">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.c"
+ line="408">Free the iterator.
+
+MT safe.</doc>
+ <source-position filename="gst/gstiterator.h" line="265"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="it" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.c"
+ line="410">The #GstIterator to free</doc>
+ <type name="Iterator" c:type="GstIterator*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="next" c:identifier="gst_iterator_next">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.c"
+ line="295">Get the next item from the iterator in @elem.
+
+Only when this function returns %GST_ITERATOR_OK, @elem will contain a valid
+value. @elem must have been initialized to the type of the iterator or
+initialized to zeroes with g_value_unset(). The caller is responsible for
+unsetting or resetting @elem with g_value_unset() or g_value_reset()
+after usage.
+
+When this function returns %GST_ITERATOR_DONE, no more elements can be
+retrieved from @it.
+
+A return value of %GST_ITERATOR_RESYNC indicates that the element list was
+concurrently updated. The user of @it should call gst_iterator_resync() to
+get the newly updated list.
+
+A return value of %GST_ITERATOR_ERROR indicates an unrecoverable fatal error.</doc>
+ <source-position filename="gst/gstiterator.h" line="259"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.c"
+ line="317">The result of the iteration. Unset @elem after usage.
+
+MT safe.</doc>
+ <type name="IteratorResult" c:type="GstIteratorResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="it" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.c"
+ line="297">The #GstIterator to iterate</doc>
+ <type name="Iterator" c:type="GstIterator*"/>
+ </instance-parameter>
+ <parameter name="elem"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.c"
+ line="298">pointer to hold next element</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="push" c:identifier="gst_iterator_push">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.c"
+ line="428">Pushes @other iterator onto @it. All calls performed on @it are
+forwarded to @other. If @other returns %GST_ITERATOR_DONE, it is
+popped again and calls are handled by @it again.
+
+This function is mainly used by objects implementing the iterator
+next function to recurse into substructures.
+
+When gst_iterator_resync() is called on @it, @other will automatically be
+popped.
+
+MT safe.</doc>
+ <source-position filename="gst/gstiterator.h" line="268"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="it" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.c"
+ line="430">The #GstIterator to use</doc>
+ <type name="Iterator" c:type="GstIterator*"/>
+ </instance-parameter>
+ <parameter name="other" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.c"
+ line="431">The #GstIterator to push</doc>
+ <type name="Iterator" c:type="GstIterator*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="resync" c:identifier="gst_iterator_resync">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.c"
+ line="381">Resync the iterator. this function is mostly called
+after gst_iterator_next() returned %GST_ITERATOR_RESYNC.
+
+When an iterator was pushed on @it, it will automatically be popped again
+with this function.
+
+MT safe.</doc>
+ <source-position filename="gst/gstiterator.h" line="262"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="it" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.c"
+ line="383">The #GstIterator to resync</doc>
+ <type name="Iterator" c:type="GstIterator*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ </record>
+ <callback name="IteratorCopyFunction" c:type="GstIteratorCopyFunction">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.h"
+ line="65">This function will be called when creating a copy of @it and should
+create a copy of all custom iterator fields or increase their
+reference counts.</doc>
+ <source-position filename="gst/gstiterator.h" line="74"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="it" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.h"
+ line="67">The original iterator</doc>
+ <type name="Iterator" c:type="const GstIterator*"/>
+ </parameter>
+ <parameter name="copy" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.h"
+ line="68">The copied iterator</doc>
+ <type name="Iterator" c:type="GstIterator*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <callback name="IteratorFoldFunction" c:type="GstIteratorFoldFunction">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.h"
+ line="141">A function to be passed to gst_iterator_fold().</doc>
+ <source-position filename="gst/gstiterator.h" line="151"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.h"
+ line="149">%TRUE if the fold should continue, %FALSE if it should stop.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="item" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.h"
+ line="143">the item to fold</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </parameter>
+ <parameter name="ret" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.h"
+ line="144">a #GValue collecting the result</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1"
+ closure="2">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.h"
+ line="145">data passed to gst_iterator_fold()</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <callback name="IteratorForeachFunction"
+ c:type="GstIteratorForeachFunction">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.h"
+ line="132">A function that is called by gst_iterator_foreach() for every element.</doc>
+ <source-position filename="gst/gstiterator.h" line="139"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="item" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.h"
+ line="134">The item</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1"
+ closure="1">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.h"
+ line="135">User data</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <callback name="IteratorFreeFunction" c:type="GstIteratorFreeFunction">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.h"
+ line="120">This function will be called when the iterator is freed.
+
+Implementors of a #GstIterator should implement this
+function and pass it to the constructor of the custom iterator.
+The function will be called with the iterator lock held.</doc>
+ <source-position filename="gst/gstiterator.h" line="130"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="it" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.h"
+ line="122">the iterator</doc>
+ <type name="Iterator" c:type="GstIterator*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <enumeration name="IteratorItem"
+ glib:type-name="GstIteratorItem"
+ glib:get-type="gst_iterator_item_get_type"
+ c:type="GstIteratorItem">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.h"
+ line="51">The result of a #GstIteratorItemFunction.</doc>
+ <member name="skip"
+ value="0"
+ c:identifier="GST_ITERATOR_ITEM_SKIP"
+ glib:nick="skip">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.h"
+ line="53">Skip this item</doc>
+ </member>
+ <member name="pass"
+ value="1"
+ c:identifier="GST_ITERATOR_ITEM_PASS"
+ glib:nick="pass">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.h"
+ line="54">Return item</doc>
+ </member>
+ <member name="end"
+ value="2"
+ c:identifier="GST_ITERATOR_ITEM_END"
+ glib:nick="end">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.h"
+ line="55">Stop after this item.</doc>
+ </member>
+ </enumeration>
+ <callback name="IteratorItemFunction" c:type="GstIteratorItemFunction">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.h"
+ line="76">The function that will be called after the next item of the iterator
+has been retrieved. This function can be used to skip items or stop
+the iterator.
+
+The function will be called with the iterator lock held.</doc>
+ <source-position filename="gst/gstiterator.h" line="89"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.h"
+ line="87">the result of the operation.</doc>
+ <type name="IteratorItem" c:type="GstIteratorItem"/>
+ </return-value>
+ <parameters>
+ <parameter name="it" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.h"
+ line="78">the iterator</doc>
+ <type name="Iterator" c:type="GstIterator*"/>
+ </parameter>
+ <parameter name="item" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.h"
+ line="79">the item being retrieved.</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <callback name="IteratorNextFunction" c:type="GstIteratorNextFunction">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.h"
+ line="91">The function that will be called when the next element of the iterator
+should be retrieved.
+
+Implementors of a #GstIterator should implement this
+function and pass it to the constructor of the custom iterator.
+The function will be called with the iterator lock held.</doc>
+ <source-position filename="gst/gstiterator.h" line="105"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.h"
+ line="103">the result of the operation.</doc>
+ <type name="IteratorResult" c:type="GstIteratorResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="it" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.h"
+ line="93">the iterator</doc>
+ <type name="Iterator" c:type="GstIterator*"/>
+ </parameter>
+ <parameter name="result" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.h"
+ line="94">a pointer to hold the next item</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <enumeration name="IteratorResult"
+ glib:type-name="GstIteratorResult"
+ glib:get-type="gst_iterator_result_get_type"
+ c:type="GstIteratorResult">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.h"
+ line="33">The result of gst_iterator_next().</doc>
+ <member name="done"
+ value="0"
+ c:identifier="GST_ITERATOR_DONE"
+ glib:nick="done">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.h"
+ line="35">No more items in the iterator</doc>
+ </member>
+ <member name="ok"
+ value="1"
+ c:identifier="GST_ITERATOR_OK"
+ glib:nick="ok">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.h"
+ line="36">An item was retrieved</doc>
+ </member>
+ <member name="resync"
+ value="2"
+ c:identifier="GST_ITERATOR_RESYNC"
+ glib:nick="resync">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.h"
+ line="37">Datastructure changed while iterating</doc>
+ </member>
+ <member name="error"
+ value="3"
+ c:identifier="GST_ITERATOR_ERROR"
+ glib:nick="error">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.h"
+ line="38">An error happened</doc>
+ </member>
+ </enumeration>
+ <callback name="IteratorResyncFunction" c:type="GstIteratorResyncFunction">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.h"
+ line="106">This function will be called whenever a concurrent update happened
+to the iterated datastructure. The implementor of the iterator should
+restart the iterator from the beginning and clean up any state it might
+have.
+
+Implementors of a #GstIterator should implement this
+function and pass it to the constructor of the custom iterator.
+The function will be called with the iterator lock held.</doc>
+ <source-position filename="gst/gstiterator.h" line="119"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="it" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstiterator.h"
+ line="108">the iterator</doc>
+ <type name="Iterator" c:type="GstIterator*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <constant name="LICENSE_UNKNOWN"
+ value="unknown"
+ c:type="GST_LICENSE_UNKNOWN">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.h"
+ line="290">To be used in GST_PLUGIN_DEFINE if unsure about the licence.</doc>
+ <source-position filename="gst/gstplugin.h" line="295"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="LOCK_FLAG_READWRITE"
+ value="3"
+ c:type="GST_LOCK_FLAG_READWRITE">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.h"
+ line="169">GstLockFlags value alias for GST_LOCK_FLAG_READ | GST_LOCK_FLAG_WRITE</doc>
+ <source-position filename="gst/gstminiobject.h" line="174"/>
+ <type name="LockFlags" c:type="GstLockFlags"/>
+ </constant>
+ <enumeration name="LibraryError"
+ glib:type-name="GstLibraryError"
+ glib:get-type="gst_library_error_get_type"
+ c:type="GstLibraryError"
+ glib:error-domain="gst-library-error-quark">
+ <doc xml:space="preserve"
+ filename="gst/gsterror.h"
+ line="82">Library errors are for errors from the library being used by elements
+(initializing, finalizing, settings, ...)</doc>
+ <member name="failed"
+ value="1"
+ c:identifier="GST_LIBRARY_ERROR_FAILED"
+ glib:nick="failed">
+ <doc xml:space="preserve"
+ filename="gst/gsterror.h"
+ line="84">a general error which doesn't fit in any other
+category. Make sure you add a custom message to the error call.</doc>
+ </member>
+ <member name="too_lazy"
+ value="2"
+ c:identifier="GST_LIBRARY_ERROR_TOO_LAZY"
+ glib:nick="too-lazy">
+ <doc xml:space="preserve"
+ filename="gst/gsterror.h"
+ line="86">do not use this except as a placeholder for
+deciding where to go while developing code.</doc>
+ </member>
+ <member name="init"
+ value="3"
+ c:identifier="GST_LIBRARY_ERROR_INIT"
+ glib:nick="init">
+ <doc xml:space="preserve"
+ filename="gst/gsterror.h"
+ line="88">used when the library could not be opened.</doc>
+ </member>
+ <member name="shutdown"
+ value="4"
+ c:identifier="GST_LIBRARY_ERROR_SHUTDOWN"
+ glib:nick="shutdown">
+ <doc xml:space="preserve"
+ filename="gst/gsterror.h"
+ line="89">used when the library could not be closed.</doc>
+ </member>
+ <member name="settings"
+ value="5"
+ c:identifier="GST_LIBRARY_ERROR_SETTINGS"
+ glib:nick="settings">
+ <doc xml:space="preserve"
+ filename="gst/gsterror.h"
+ line="90">used when the library doesn't accept settings.</doc>
+ </member>
+ <member name="encode"
+ value="6"
+ c:identifier="GST_LIBRARY_ERROR_ENCODE"
+ glib:nick="encode">
+ <doc xml:space="preserve"
+ filename="gst/gsterror.h"
+ line="91">used when the library generated an encoding error.</doc>
+ </member>
+ <member name="num_errors"
+ value="7"
+ c:identifier="GST_LIBRARY_ERROR_NUM_ERRORS"
+ glib:nick="num-errors">
+ <doc xml:space="preserve"
+ filename="gst/gsterror.h"
+ line="92">the number of library error types.</doc>
+ </member>
+ <function name="quark" c:identifier="gst_library_error_quark">
+ <attribute name="doc.skip" value="true"/>
+ <return-value transfer-ownership="none">
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </return-value>
+ </function>
+ </enumeration>
+ <bitfield name="LockFlags"
+ glib:type-name="GstLockFlags"
+ glib:get-type="gst_lock_flags_get_type"
+ c:type="GstLockFlags">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.h"
+ line="152">Flags used when locking miniobjects</doc>
+ <member name="read"
+ value="1"
+ c:identifier="GST_LOCK_FLAG_READ"
+ glib:nick="read">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.h"
+ line="154">lock for read access</doc>
+ </member>
+ <member name="write"
+ value="2"
+ c:identifier="GST_LOCK_FLAG_WRITE"
+ glib:nick="write">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.h"
+ line="155">lock for write access</doc>
+ </member>
+ <member name="exclusive"
+ value="4"
+ c:identifier="GST_LOCK_FLAG_EXCLUSIVE"
+ glib:nick="exclusive">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.h"
+ line="156">lock for exclusive access</doc>
+ </member>
+ <member name="last"
+ value="256"
+ c:identifier="GST_LOCK_FLAG_LAST"
+ glib:nick="last">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.h"
+ line="157">first flag that can be used for custom purposes</doc>
+ </member>
+ </bitfield>
+ <callback name="LogFunction" c:type="GstLogFunction">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.h"
+ line="333">Function prototype for a logging function that can be registered with
+gst_debug_add_log_function().
+Use G_GNUC_NO_INSTRUMENT on that function.</doc>
+ <source-position filename="gst/gstinfo.h" line="348"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="category" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.h"
+ line="335">a #GstDebugCategory</doc>
+ <type name="DebugCategory" c:type="GstDebugCategory*"/>
+ </parameter>
+ <parameter name="level" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.h"
+ line="336">a #GstDebugLevel</doc>
+ <type name="DebugLevel" c:type="GstDebugLevel"/>
+ </parameter>
+ <parameter name="file" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.h"
+ line="337">file name</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="function" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.h"
+ line="338">function name</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="line" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.h"
+ line="339">line number</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.h"
+ line="340">a #GObject</doc>
+ <type name="GObject.Object" c:type="GObject*"/>
+ </parameter>
+ <parameter name="message" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.h"
+ line="341">the message</doc>
+ <type name="DebugMessage" c:type="GstDebugMessage*"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1"
+ closure="7">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.h"
+ line="342">user data for the log function</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <function-macro name="MAKE_FOURCC"
+ c:identifier="GST_MAKE_FOURCC"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.h"
+ line="30">Transform four characters into a #guint32 fourcc value with host
+endianness.
+
+|[
+guint32 fourcc = GST_MAKE_FOURCC ('M', 'J', 'P', 'G');
+]|</doc>
+ <source-position filename="gst/gstvalue.h" line="45"/>
+ <parameters>
+ <parameter name="a">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.h"
+ line="32">the first character</doc>
+ </parameter>
+ <parameter name="b">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.h"
+ line="33">the second character</doc>
+ </parameter>
+ <parameter name="c">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.h"
+ line="34">the third character</doc>
+ </parameter>
+ <parameter name="d">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.h"
+ line="35">the fourth character</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <constant name="MAP_READWRITE" value="3" c:type="GST_MAP_READWRITE">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.h"
+ line="188">GstMapFlags value alias for GST_MAP_READ | GST_MAP_WRITE</doc>
+ <source-position filename="gst/gstmemory.h" line="193"/>
+ <type name="MapFlags" c:type="GstMapFlags"/>
+ </constant>
+ <function-macro name="MEMDUMP"
+ c:identifier="GST_MEMDUMP"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.h"
+ line="1065">Output a hexdump of @data.
+
+There is no need to finish the end of the message string with a newline
+character, a newline character will be added automatically.</doc>
+ <source-position filename="gst/gstinfo.h" line="734"/>
+ <parameters>
+ <parameter name="msg">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.h"
+ line="1067">message string to log with the data</doc>
+ </parameter>
+ <parameter name="data">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.h"
+ line="1068">pointer to the data to output</doc>
+ </parameter>
+ <parameter name="length">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.h"
+ line="1069">length of the data to output</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="MEMDUMP_OBJECT"
+ c:identifier="GST_MEMDUMP_OBJECT"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.h"
+ line="988">Output a logging message belonging to the given object in the default category.
+
+There is no need to finish the end of the message string with a newline
+character, a newline character will be added automatically.</doc>
+ <source-position filename="gst/gstinfo.h" line="732"/>
+ <parameters>
+ <parameter name="obj">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.h"
+ line="990">the #GObject the message belongs to</doc>
+ </parameter>
+ <parameter name="msg">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.h"
+ line="991">message string to log with the data</doc>
+ </parameter>
+ <parameter name="data">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.h"
+ line="992">pointer to the data to output</doc>
+ </parameter>
+ <parameter name="length">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.h"
+ line="993">length of the data to output</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="MEMORY_CAST"
+ c:identifier="GST_MEMORY_CAST"
+ introspectable="0">
+ <source-position filename="gst/gstmemory.h" line="43"/>
+ <parameters>
+ <parameter name="mem">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="MEMORY_FLAGS"
+ c:identifier="GST_MEMORY_FLAGS"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.h"
+ line="75">A flags word containing #GstMemoryFlags flags set on @mem</doc>
+ <source-position filename="gst/gstmemory.h" line="81"/>
+ <parameters>
+ <parameter name="mem">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.h"
+ line="77">a #GstMemory.</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="MEMORY_FLAG_IS_SET"
+ c:identifier="GST_MEMORY_FLAG_IS_SET"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.h"
+ line="82">Gives the status of a specific flag on a @mem.</doc>
+ <source-position filename="gst/gstmemory.h" line="89"/>
+ <parameters>
+ <parameter name="mem">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.h"
+ line="84">a #GstMemory.</doc>
+ </parameter>
+ <parameter name="flag">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.h"
+ line="85">the #GstMemoryFlags to check.</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="MEMORY_FLAG_UNSET"
+ c:identifier="GST_MEMORY_FLAG_UNSET"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.h"
+ line="90">Clear a specific flag on a @mem.</doc>
+ <source-position filename="gst/gstmemory.h" line="97"/>
+ <parameters>
+ <parameter name="mem">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.h"
+ line="92">a #GstMemory.</doc>
+ </parameter>
+ <parameter name="flag">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.h"
+ line="93">the #GstMemoryFlags to clear.</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="MEMORY_IS_NOT_MAPPABLE"
+ c:identifier="GST_MEMORY_IS_NOT_MAPPABLE"
+ version="1.2"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.h"
+ line="138">Check if @mem can't be mapped via gst_memory_map() without any preconditions</doc>
+ <source-position filename="gst/gstmemory.h" line="146"/>
+ <parameters>
+ <parameter name="mem">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.h"
+ line="140">a #GstMemory.</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="MEMORY_IS_NO_SHARE"
+ c:identifier="GST_MEMORY_IS_NO_SHARE"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.h"
+ line="106">Check if @mem cannot be shared between buffers</doc>
+ <source-position filename="gst/gstmemory.h" line="112"/>
+ <parameters>
+ <parameter name="mem">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.h"
+ line="108">a #GstMemory.</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="MEMORY_IS_PHYSICALLY_CONTIGUOUS"
+ c:identifier="GST_MEMORY_IS_PHYSICALLY_CONTIGUOUS"
+ version="1.2"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.h"
+ line="128">Check if @mem is physically contiguous.</doc>
+ <source-position filename="gst/gstmemory.h" line="136"/>
+ <parameters>
+ <parameter name="mem">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.h"
+ line="130">a #GstMemory.</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="MEMORY_IS_READONLY"
+ c:identifier="GST_MEMORY_IS_READONLY"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.h"
+ line="99">Check if @mem is readonly.</doc>
+ <source-position filename="gst/gstmemory.h" line="105"/>
+ <parameters>
+ <parameter name="mem">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.h"
+ line="101">a #GstMemory.</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="MEMORY_IS_ZERO_PADDED"
+ c:identifier="GST_MEMORY_IS_ZERO_PADDED"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.h"
+ line="120">Check if the padding in @mem is 0 filled.</doc>
+ <source-position filename="gst/gstmemory.h" line="126"/>
+ <parameters>
+ <parameter name="mem">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.h"
+ line="122">a #GstMemory.</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="MEMORY_IS_ZERO_PREFIXED"
+ c:identifier="GST_MEMORY_IS_ZERO_PREFIXED"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.h"
+ line="113">Check if the prefix in @mem is 0 filled.</doc>
+ <source-position filename="gst/gstmemory.h" line="119"/>
+ <parameters>
+ <parameter name="mem">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.h"
+ line="115">a #GstMemory.</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="MESSAGE"
+ c:identifier="GST_MESSAGE"
+ introspectable="0">
+ <source-position filename="gst/gstmessage.h" line="202"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="MESSAGE_CAST"
+ c:identifier="GST_MESSAGE_CAST"
+ introspectable="0">
+ <source-position filename="gst/gstmessage.h" line="201"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="MESSAGE_GET_COND"
+ c:identifier="GST_MESSAGE_GET_COND"
+ introspectable="0">
+ <source-position filename="gst/gstmessage.h" line="210"/>
+ <parameters>
+ <parameter name="message">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="MESSAGE_GET_LOCK"
+ c:identifier="GST_MESSAGE_GET_LOCK"
+ introspectable="0">
+ <source-position filename="gst/gstmessage.h" line="207"/>
+ <parameters>
+ <parameter name="message">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="MESSAGE_LOCK"
+ c:identifier="GST_MESSAGE_LOCK"
+ introspectable="0">
+ <source-position filename="gst/gstmessage.h" line="208"/>
+ <parameters>
+ <parameter name="message">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="MESSAGE_SEQNUM"
+ c:identifier="GST_MESSAGE_SEQNUM"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.h"
+ line="253">Get the sequence number of @message.</doc>
+ <source-position filename="gst/gstmessage.h" line="259"/>
+ <parameters>
+ <parameter name="message">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.h"
+ line="255">a #GstMessage</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="MESSAGE_SIGNAL"
+ c:identifier="GST_MESSAGE_SIGNAL"
+ introspectable="0">
+ <source-position filename="gst/gstmessage.h" line="212"/>
+ <parameters>
+ <parameter name="message">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="MESSAGE_SRC"
+ c:identifier="GST_MESSAGE_SRC"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.h"
+ line="245">Get the object that posted @message.</doc>
+ <source-position filename="gst/gstmessage.h" line="251"/>
+ <parameters>
+ <parameter name="message">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.h"
+ line="247">a #GstMessage</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="MESSAGE_SRC_NAME"
+ c:identifier="GST_MESSAGE_SRC_NAME"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.h"
+ line="261">Get the name of the object that posted @message. Returns "(NULL)" if
+the message has no source object set.</doc>
+ <source-position filename="gst/gstmessage.h" line="268"/>
+ <parameters>
+ <parameter name="message">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.h"
+ line="263">a #GstMessage</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="MESSAGE_TIMESTAMP"
+ c:identifier="GST_MESSAGE_TIMESTAMP"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.h"
+ line="237">Get the timestamp of @message. This is the timestamp when the message
+was created.</doc>
+ <source-position filename="gst/gstmessage.h" line="244"/>
+ <parameters>
+ <parameter name="message">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.h"
+ line="239">a #GstMessage</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="MESSAGE_TYPE"
+ c:identifier="GST_MESSAGE_TYPE"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.h"
+ line="214">Get the #GstMessageType of @message.</doc>
+ <source-position filename="gst/gstmessage.h" line="220"/>
+ <parameters>
+ <parameter name="message">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.h"
+ line="216">a #GstMessage</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="MESSAGE_TYPE_IS_EXTENDED"
+ c:identifier="GST_MESSAGE_TYPE_IS_EXTENDED"
+ version="1.4"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.h"
+ line="221">Check if the message is in the extended message group</doc>
+ <source-position filename="gst/gstmessage.h" line="228"/>
+ <parameters>
+ <parameter name="message">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.h"
+ line="223">a #GstMessage</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="MESSAGE_TYPE_NAME"
+ c:identifier="GST_MESSAGE_TYPE_NAME"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.h"
+ line="230">Get a constant string representation of the #GstMessageType of @message.</doc>
+ <source-position filename="gst/gstmessage.h" line="236"/>
+ <parameters>
+ <parameter name="message">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.h"
+ line="232">a #GstMessage</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="MESSAGE_UNLOCK"
+ c:identifier="GST_MESSAGE_UNLOCK"
+ introspectable="0">
+ <source-position filename="gst/gstmessage.h" line="209"/>
+ <parameters>
+ <parameter name="message">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="MESSAGE_WAIT"
+ c:identifier="GST_MESSAGE_WAIT"
+ introspectable="0">
+ <source-position filename="gst/gstmessage.h" line="211"/>
+ <parameters>
+ <parameter name="message">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="META_CAST"
+ c:identifier="GST_META_CAST"
+ introspectable="0">
+ <source-position filename="gst/gstmeta.h" line="33"/>
+ <parameters>
+ <parameter name="meta">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="META_FLAGS"
+ c:identifier="GST_META_FLAGS"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.h"
+ line="54">A flags word containing #GstMetaFlags flags set on @meta</doc>
+ <source-position filename="gst/gstmeta.h" line="60"/>
+ <parameters>
+ <parameter name="meta">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.h"
+ line="56">a #GstMeta.</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="META_FLAG_IS_SET"
+ c:identifier="GST_META_FLAG_IS_SET"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.h"
+ line="61">Gives the status of a specific flag on a metadata.</doc>
+ <source-position filename="gst/gstmeta.h" line="68"/>
+ <parameters>
+ <parameter name="meta">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.h"
+ line="63">a #GstMeta.</doc>
+ </parameter>
+ <parameter name="flag">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.h"
+ line="64">the #GstMetaFlags to check.</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="META_FLAG_SET"
+ c:identifier="GST_META_FLAG_SET"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.h"
+ line="69">Sets a metadata flag on a metadata.</doc>
+ <source-position filename="gst/gstmeta.h" line="76"/>
+ <parameters>
+ <parameter name="meta">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.h"
+ line="71">a #GstMeta.</doc>
+ </parameter>
+ <parameter name="flag">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.h"
+ line="72">the #GstMetaFlags to set.</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="META_FLAG_UNSET"
+ c:identifier="GST_META_FLAG_UNSET"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.h"
+ line="77">Clears a metadata flag.</doc>
+ <source-position filename="gst/gstmeta.h" line="84"/>
+ <parameters>
+ <parameter name="meta">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.h"
+ line="79">a #GstMeta.</doc>
+ </parameter>
+ <parameter name="flag">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.h"
+ line="80">the #GstMetaFlags to clear.</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <constant name="META_TAG_MEMORY_STR"
+ value="memory"
+ c:type="GST_META_TAG_MEMORY_STR"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.h"
+ line="86">This metadata stays relevant as long as memory layout is unchanged.</doc>
+ <source-position filename="gst/gstmeta.h" line="93"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <function-macro name="META_TRANSFORM_IS_COPY"
+ c:identifier="GST_META_TRANSFORM_IS_COPY"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.h"
+ line="148">Check if the transform type is a copy transform</doc>
+ <source-position filename="gst/gstmeta.h" line="154"/>
+ <parameters>
+ <parameter name="type">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.h"
+ line="150">a transform type</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="MINI_OBJECT"
+ c:identifier="GST_MINI_OBJECT"
+ introspectable="0">
+ <source-position filename="gst/gstminiobject.h" line="35"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="MINI_OBJECT_CAST"
+ c:identifier="GST_MINI_OBJECT_CAST"
+ introspectable="0">
+ <source-position filename="gst/gstminiobject.h" line="33"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="MINI_OBJECT_CONST_CAST"
+ c:identifier="GST_MINI_OBJECT_CONST_CAST"
+ introspectable="0">
+ <source-position filename="gst/gstminiobject.h" line="34"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="MINI_OBJECT_FLAGS"
+ c:identifier="GST_MINI_OBJECT_FLAGS"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.h"
+ line="89">This macro returns the entire set of flags for the mini-object.</doc>
+ <source-position filename="gst/gstminiobject.h" line="95"/>
+ <parameters>
+ <parameter name="obj">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.h"
+ line="91">MiniObject to return flags for.</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="MINI_OBJECT_FLAG_IS_SET"
+ c:identifier="GST_MINI_OBJECT_FLAG_IS_SET"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.h"
+ line="96">This macro checks to see if the given flag is set.</doc>
+ <source-position filename="gst/gstminiobject.h" line="103"/>
+ <parameters>
+ <parameter name="obj">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.h"
+ line="98">MiniObject to check for flags.</doc>
+ </parameter>
+ <parameter name="flag">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.h"
+ line="99">Flag to check for</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="MINI_OBJECT_FLAG_SET"
+ c:identifier="GST_MINI_OBJECT_FLAG_SET"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.h"
+ line="104">This macro sets the given bits.</doc>
+ <source-position filename="gst/gstminiobject.h" line="111"/>
+ <parameters>
+ <parameter name="obj">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.h"
+ line="106">MiniObject to set flag in.</doc>
+ </parameter>
+ <parameter name="flag">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.h"
+ line="107">Flag to set, can by any number of bits in guint32.</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="MINI_OBJECT_FLAG_UNSET"
+ c:identifier="GST_MINI_OBJECT_FLAG_UNSET"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.h"
+ line="112">This macro unsets the given bits.</doc>
+ <source-position filename="gst/gstminiobject.h" line="119"/>
+ <parameters>
+ <parameter name="obj">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.h"
+ line="114">MiniObject to unset flag in.</doc>
+ </parameter>
+ <parameter name="flag">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.h"
+ line="115">Flag to set, must be a single bit in guint32.</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="MINI_OBJECT_IS_LOCKABLE"
+ c:identifier="GST_MINI_OBJECT_IS_LOCKABLE"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.h"
+ line="143">Check if @obj is lockable. A lockable object can be locked and unlocked with
+gst_mini_object_lock() and gst_mini_object_unlock().</doc>
+ <source-position filename="gst/gstminiobject.h" line="150"/>
+ <parameters>
+ <parameter name="obj">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.h"
+ line="145">a #GstMiniObject</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="MINI_OBJECT_REFCOUNT"
+ c:identifier="GST_MINI_OBJECT_REFCOUNT"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.h"
+ line="176">Get access to the reference count field of the mini-object.</doc>
+ <source-position filename="gst/gstminiobject.h" line="182"/>
+ <parameters>
+ <parameter name="obj">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.h"
+ line="178">a #GstMiniObject</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="MINI_OBJECT_REFCOUNT_VALUE"
+ c:identifier="GST_MINI_OBJECT_REFCOUNT_VALUE"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.h"
+ line="183">Get the reference count value of the mini-object.</doc>
+ <source-position filename="gst/gstminiobject.h" line="189"/>
+ <parameters>
+ <parameter name="obj">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.h"
+ line="185">a #GstMiniObject</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="MINI_OBJECT_TYPE"
+ c:identifier="GST_MINI_OBJECT_TYPE"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.h"
+ line="81">This macro returns the type of the mini-object.</doc>
+ <source-position filename="gst/gstminiobject.h" line="87"/>
+ <parameters>
+ <parameter name="obj">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.h"
+ line="83">MiniObject to return type for.</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <constant name="MSECOND" value="1000000" c:type="GST_MSECOND">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.h"
+ line="104">Constant that defines one GStreamer millisecond.</doc>
+ <source-position filename="gst/gstclock.h" line="109"/>
+ <type name="ClockTimeDiff" c:type="GstClockTimeDiff"/>
+ </constant>
+ <bitfield name="MapFlags"
+ glib:type-name="GstMapFlags"
+ glib:get-type="gst_map_flags_get_type"
+ c:type="GstMapFlags">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.h"
+ line="173">Flags used when mapping memory</doc>
+ <member name="read"
+ value="1"
+ c:identifier="GST_MAP_READ"
+ glib:nick="read">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.h"
+ line="175">map for read access</doc>
+ </member>
+ <member name="write"
+ value="2"
+ c:identifier="GST_MAP_WRITE"
+ glib:nick="write">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.h"
+ line="176">map for write access</doc>
+ </member>
+ <member name="flag_last"
+ value="65536"
+ c:identifier="GST_MAP_FLAG_LAST"
+ glib:nick="flag-last">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.h"
+ line="177">first flag that can be used for custom purposes</doc>
+ </member>
+ </bitfield>
+ <record name="MapInfo" c:type="GstMapInfo">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.h"
+ line="196">A structure containing the result of a map operation such as
+gst_memory_map(). It contains the data and size.</doc>
+ <source-position filename="gst/gstmemory.h" line="220"/>
+ <field name="memory" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.h"
+ line="198">a pointer to the mapped memory</doc>
+ <type name="Memory" c:type="GstMemory*"/>
+ </field>
+ <field name="flags" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.h"
+ line="199">flags used when mapping the memory</doc>
+ <type name="MapFlags" c:type="GstMapFlags"/>
+ </field>
+ <field name="data" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.h"
+ line="200">a pointer to the mapped data</doc>
+ <array length="3" zero-terminated="0" c:type="guint8*">
+ <type name="guint8" c:type="guint8"/>
+ </array>
+ </field>
+ <field name="size" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.h"
+ line="201">the valid size in @data</doc>
+ <type name="gsize" c:type="gsize"/>
+ </field>
+ <field name="maxsize" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.h"
+ line="202">the maximum bytes in @data</doc>
+ <type name="gsize" c:type="gsize"/>
+ </field>
+ <field name="user_data" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.h"
+ line="203">extra private user_data that the implementation of the memory
+ can use to store extra info.</doc>
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="Memory"
+ c:type="GstMemory"
+ glib:type-name="GstMemory"
+ glib:get-type="gst_memory_get_type"
+ c:symbol-prefix="memory">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.c"
+ line="22">GstMemory is a lightweight refcounted object that wraps a region of memory.
+They are typically used to manage the data of a #GstBuffer.
+
+A GstMemory object has an allocated region of memory of maxsize. The maximum
+size does not change during the lifetime of the memory object. The memory
+also has an offset and size property that specifies the valid range of memory
+in the allocated region.
+
+Memory is usually created by allocators with a gst_allocator_alloc()
+method call. When %NULL is used as the allocator, the default allocator will
+be used.
+
+New allocators can be registered with gst_allocator_register().
+Allocators are identified by name and can be retrieved with
+gst_allocator_find(). gst_allocator_set_default() can be used to change the
+default allocator.
+
+New memory can be created with gst_memory_new_wrapped() that wraps the memory
+allocated elsewhere.
+
+Refcounting of the memory block is performed with gst_memory_ref() and
+gst_memory_unref().
+
+The size of the memory can be retrieved and changed with
+gst_memory_get_sizes() and gst_memory_resize() respectively.
+
+Getting access to the data of the memory is performed with gst_memory_map().
+The call will return a pointer to offset bytes into the region of memory.
+After the memory access is completed, gst_memory_unmap() should be called.
+
+Memory can be copied with gst_memory_copy(), which will return a writable
+copy. gst_memory_share() will create a new memory block that shares the
+memory with an existing memory block at a custom offset and with a custom
+size.
+
+Memory can be efficiently merged when gst_memory_is_span() returns %TRUE.</doc>
+ <source-position filename="gst/gstmemory.h" line="171"/>
+ <field name="mini_object" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.h"
+ line="150">parent structure</doc>
+ <type name="MiniObject" c:type="GstMiniObject"/>
+ </field>
+ <field name="allocator" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.h"
+ line="151">pointer to the #GstAllocator</doc>
+ <type name="Allocator" c:type="GstAllocator*"/>
+ </field>
+ <field name="parent" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.h"
+ line="152">parent memory block</doc>
+ <type name="Memory" c:type="GstMemory*"/>
+ </field>
+ <field name="maxsize" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.h"
+ line="153">the maximum size allocated</doc>
+ <type name="gsize" c:type="gsize"/>
+ </field>
+ <field name="align" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.h"
+ line="154">the alignment of the memory</doc>
+ <type name="gsize" c:type="gsize"/>
+ </field>
+ <field name="offset" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.h"
+ line="155">the offset where valid data starts</doc>
+ <type name="gsize" c:type="gsize"/>
+ </field>
+ <field name="size" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.h"
+ line="156">the size of valid data</doc>
+ <type name="gsize" c:type="gsize"/>
+ </field>
+ <constructor name="new_wrapped" c:identifier="gst_memory_new_wrapped">
+ <doc xml:space="preserve"
+ filename="gst/gstallocator.c"
+ line="614">Allocate a new memory block that wraps the given @data.
+
+The prefix/padding must be filled with 0 if @flags contains
+#GST_MEMORY_FLAG_ZERO_PREFIXED and #GST_MEMORY_FLAG_ZERO_PADDED respectively.</doc>
+ <source-position filename="gst/gstallocator.h" line="190"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstallocator.c"
+ line="630">a new #GstMemory.</doc>
+ <type name="Memory" c:type="GstMemory*"/>
+ </return-value>
+ <parameters>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstallocator.c"
+ line="616">#GstMemoryFlags</doc>
+ <type name="MemoryFlags" c:type="GstMemoryFlags"/>
+ </parameter>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstallocator.c"
+ line="617">data to
+ wrap</doc>
+ <array length="4" zero-terminated="0" c:type="gpointer">
+ <type name="guint8"/>
+ </array>
+ </parameter>
+ <parameter name="maxsize" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstallocator.c"
+ line="619">allocated size of @data</doc>
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ <parameter name="offset" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstallocator.c"
+ line="620">offset in @data</doc>
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstallocator.c"
+ line="621">size of valid data</doc>
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstallocator.c"
+ line="622">user_data</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="notify"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1"
+ scope="async"
+ closure="5">
+ <doc xml:space="preserve"
+ filename="gst/gstallocator.c"
+ line="623">called with @user_data when the memory is freed</doc>
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <method name="copy" c:identifier="gst_memory_copy">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.c"
+ line="355">Return a copy of @size bytes from @mem starting from @offset. This copy is
+guaranteed to be writable. @size can be set to -1 to return a copy
+from @offset to the end of the memory region.</doc>
+ <source-position filename="gst/gstmemory.h" line="382"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.c"
+ line="365">a new #GstMemory.</doc>
+ <type name="Memory" c:type="GstMemory*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="mem" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.c"
+ line="357">a #GstMemory</doc>
+ <type name="Memory" c:type="GstMemory*"/>
+ </instance-parameter>
+ <parameter name="offset" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.c"
+ line="358">offset to copy from</doc>
+ <type name="gssize" c:type="gssize"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.c"
+ line="359">size to copy, or -1 to copy to the end of the memory region</doc>
+ <type name="gssize" c:type="gssize"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_sizes" c:identifier="gst_memory_get_sizes">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.c"
+ line="164">Get the current @size, @offset and @maxsize of @mem.</doc>
+ <source-position filename="gst/gstmemory.h" line="358"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.c"
+ line="172">the current size of @mem</doc>
+ <type name="gsize" c:type="gsize"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="mem" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.c"
+ line="166">a #GstMemory</doc>
+ <type name="Memory" c:type="GstMemory*"/>
+ </instance-parameter>
+ <parameter name="offset"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.c"
+ line="167">pointer to offset</doc>
+ <type name="gsize" c:type="gsize*"/>
+ </parameter>
+ <parameter name="maxsize"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.c"
+ line="168">pointer to maxsize</doc>
+ <type name="gsize" c:type="gsize*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="init" c:identifier="gst_memory_init" introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.c"
+ line="102">Initializes a newly allocated @mem with the given parameters. This function
+will call gst_mini_object_init() with the default memory parameters.</doc>
+ <source-position filename="gst/gstmemory.h" line="319"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="mem" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.c"
+ line="104">a #GstMemory</doc>
+ <type name="Memory" c:type="GstMemory*"/>
+ </instance-parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.c"
+ line="105">#GstMemoryFlags</doc>
+ <type name="MemoryFlags" c:type="GstMemoryFlags"/>
+ </parameter>
+ <parameter name="allocator" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.c"
+ line="106">the #GstAllocator</doc>
+ <type name="Allocator" c:type="GstAllocator*"/>
+ </parameter>
+ <parameter name="parent" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.c"
+ line="107">the parent of @mem</doc>
+ <type name="Memory" c:type="GstMemory*"/>
+ </parameter>
+ <parameter name="maxsize" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.c"
+ line="108">the total size of the memory</doc>
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ <parameter name="align" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.c"
+ line="109">the alignment of the memory</doc>
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ <parameter name="offset" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.c"
+ line="110">The offset in the memory</doc>
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.c"
+ line="111">the size of valid data in the memory</doc>
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="is_span" c:identifier="gst_memory_is_span">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.c"
+ line="426">Check if @mem1 and mem2 share the memory with a common parent memory object
+and that the memory is contiguous.
+
+If this is the case, the memory of @mem1 and @mem2 can be merged
+efficiently by performing gst_memory_share() on the parent object from
+the returned @offset.</doc>
+ <source-position filename="gst/gstmemory.h" line="390"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.c"
+ line="439">%TRUE if the memory is contiguous and of a common parent.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="mem1" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.c"
+ line="428">a #GstMemory</doc>
+ <type name="Memory" c:type="GstMemory*"/>
+ </instance-parameter>
+ <parameter name="mem2" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.c"
+ line="429">a #GstMemory</doc>
+ <type name="Memory" c:type="GstMemory*"/>
+ </parameter>
+ <parameter name="offset"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.c"
+ line="430">a pointer to a result offset</doc>
+ <type name="gsize" c:type="gsize*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="is_type" c:identifier="gst_memory_is_type" version="1.2">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.c"
+ line="143">Check if @mem if allocated with an allocator for @mem_type.</doc>
+ <source-position filename="gst/gstmemory.h" line="324"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.c"
+ line="150">%TRUE if @mem was allocated from an allocator for @mem_type.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="mem" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.c"
+ line="145">a #GstMemory</doc>
+ <type name="Memory" c:type="GstMemory*"/>
+ </instance-parameter>
+ <parameter name="mem_type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.c"
+ line="146">a memory type</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="make_mapped" c:identifier="gst_memory_make_mapped">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.c"
+ line="219">Create a #GstMemory object that is mapped with @flags. If @mem is mappable
+with @flags, this function returns the mapped @mem directly. Otherwise a
+mapped copy of @mem is returned.
+
+This function takes ownership of old @mem and returns a reference to a new
+#GstMemory.</doc>
+ <source-position filename="gst/gstmemory.h" line="371"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.c"
+ line="232">a #GstMemory object mapped
+with @flags or %NULL when a mapping is not possible.</doc>
+ <type name="Memory" c:type="GstMemory*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="mem" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.c"
+ line="221">a #GstMemory</doc>
+ <type name="Memory" c:type="GstMemory*"/>
+ </instance-parameter>
+ <parameter name="info"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.c"
+ line="222">pointer for info</doc>
+ <type name="MapInfo" c:type="GstMapInfo*"/>
+ </parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.c"
+ line="223">mapping flags</doc>
+ <type name="MapFlags" c:type="GstMapFlags"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="map" c:identifier="gst_memory_map">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.c"
+ line="269">Fill @info with the pointer and sizes of the memory in @mem that can be
+accessed according to @flags.
+
+This function can return %FALSE for various reasons:
+- the memory backed by @mem is not accessible with the given @flags.
+- the memory was already mapped with a different mapping.
+
+@info and its contents remain valid for as long as @mem is valid and
+until gst_memory_unmap() is called.
+
+For each gst_memory_map() call, a corresponding gst_memory_unmap() call
+should be done.</doc>
+ <source-position filename="gst/gstmemory.h" line="374"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.c"
+ line="288">%TRUE if the map operation was successful.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="mem" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.c"
+ line="271">a #GstMemory</doc>
+ <type name="Memory" c:type="GstMemory*"/>
+ </instance-parameter>
+ <parameter name="info"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.c"
+ line="272">pointer for info</doc>
+ <type name="MapInfo" c:type="GstMapInfo*"/>
+ </parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.c"
+ line="273">mapping flags</doc>
+ <type name="MapFlags" c:type="GstMapFlags"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="ref" c:identifier="gst_memory_ref" introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.h"
+ line="327">Increase the refcount of this memory.</doc>
+ <source-position filename="gst/gstmemory.h" line="335"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.h"
+ line="333">@memory (for convenience when doing assignments)</doc>
+ <type name="Memory" c:type="GstMemory*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="memory" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.h"
+ line="329">The memory to refcount</doc>
+ <type name="Memory" c:type="GstMemory*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="resize" c:identifier="gst_memory_resize">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.c"
+ line="187">Resize the memory region. @mem should be writable and offset + size should be
+less than the maxsize of @mem.
+
+#GST_MEMORY_FLAG_ZERO_PREFIXED and #GST_MEMORY_FLAG_ZERO_PADDED will be
+cleared when offset or padding is increased respectively.</doc>
+ <source-position filename="gst/gstmemory.h" line="361"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="mem" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.c"
+ line="189">a #GstMemory</doc>
+ <type name="Memory" c:type="GstMemory*"/>
+ </instance-parameter>
+ <parameter name="offset" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.c"
+ line="190">a new offset</doc>
+ <type name="gssize" c:type="gssize"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.c"
+ line="191">a new size</doc>
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="share" c:identifier="gst_memory_share">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.c"
+ line="379">Return a shared copy of @size bytes from @mem starting from @offset. No
+memory copy is performed and the memory region is simply shared. The result
+is guaranteed to be non-writable. @size can be set to -1 to return a shared
+copy from @offset to the end of the memory region.</doc>
+ <source-position filename="gst/gstmemory.h" line="385"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.c"
+ line="390">a new #GstMemory.</doc>
+ <type name="Memory" c:type="GstMemory*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="mem" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.c"
+ line="381">a #GstMemory</doc>
+ <type name="Memory" c:type="GstMemory*"/>
+ </instance-parameter>
+ <parameter name="offset" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.c"
+ line="382">offset to share from</doc>
+ <type name="gssize" c:type="gssize"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.c"
+ line="383">size to share, or -1 to share to the end of the memory region</doc>
+ <type name="gssize" c:type="gssize"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="unmap" c:identifier="gst_memory_unmap">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.c"
+ line="334">Release the memory obtained with gst_memory_map()</doc>
+ <source-position filename="gst/gstmemory.h" line="377"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="mem" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.c"
+ line="336">a #GstMemory</doc>
+ <type name="Memory" c:type="GstMemory*"/>
+ </instance-parameter>
+ <parameter name="info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.c"
+ line="337">a #GstMapInfo</doc>
+ <type name="MapInfo" c:type="GstMapInfo*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="unref" c:identifier="gst_memory_unref" introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.h"
+ line="342">Decrease the refcount of a memory, freeing it if the refcount reaches 0.</doc>
+ <source-position filename="gst/gstmemory.h" line="348"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="memory" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.h"
+ line="344">the memory to refcount</doc>
+ <type name="Memory" c:type="GstMemory*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ </record>
+ <callback name="MemoryCopyFunction" c:type="GstMemoryCopyFunction">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.h"
+ line="276">Copy @size bytes from @mem starting at @offset and return them wrapped in a
+new GstMemory object.
+If @size is set to -1, all bytes starting at @offset are copied.</doc>
+ <source-position filename="gst/gstmemory.h" line="289"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.h"
+ line="286">a new #GstMemory object wrapping a copy of the requested region in
+@mem.</doc>
+ <type name="Memory" c:type="GstMemory*"/>
+ </return-value>
+ <parameters>
+ <parameter name="mem" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.h"
+ line="278">a #GstMemory</doc>
+ <type name="Memory" c:type="GstMemory*"/>
+ </parameter>
+ <parameter name="offset" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.h"
+ line="279">an offset</doc>
+ <type name="gssize" c:type="gssize"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.h"
+ line="280">a size or -1</doc>
+ <type name="gssize" c:type="gssize"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <bitfield name="MemoryFlags"
+ glib:type-name="GstMemoryFlags"
+ glib:get-type="gst_memory_flags_get_type"
+ c:type="GstMemoryFlags">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.h"
+ line="45">Flags for wrapped memory.</doc>
+ <member name="readonly"
+ value="2"
+ c:identifier="GST_MEMORY_FLAG_READONLY"
+ glib:nick="readonly">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.h"
+ line="47">memory is readonly. It is not allowed to map the
+memory with #GST_MAP_WRITE.</doc>
+ </member>
+ <member name="no_share"
+ value="16"
+ c:identifier="GST_MEMORY_FLAG_NO_SHARE"
+ glib:nick="no-share">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.h"
+ line="49">memory must not be shared. Copies will have to be
+made when this memory needs to be shared between buffers. (DEPRECATED:
+do not use in new code, instead you should create a custom GstAllocator for
+memory pooling instead of relying on the GstBuffer they were originally
+attached to.)</doc>
+ </member>
+ <member name="zero_prefixed"
+ value="32"
+ c:identifier="GST_MEMORY_FLAG_ZERO_PREFIXED"
+ glib:nick="zero-prefixed">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.h"
+ line="54">the memory prefix is filled with 0 bytes</doc>
+ </member>
+ <member name="zero_padded"
+ value="64"
+ c:identifier="GST_MEMORY_FLAG_ZERO_PADDED"
+ glib:nick="zero-padded">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.h"
+ line="55">the memory padding is filled with 0 bytes</doc>
+ </member>
+ <member name="physically_contiguous"
+ value="128"
+ c:identifier="GST_MEMORY_FLAG_PHYSICALLY_CONTIGUOUS"
+ glib:nick="physically-contiguous">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.h"
+ line="56">the memory is physically
+contiguous. (Since: 1.2)</doc>
+ </member>
+ <member name="not_mappable"
+ value="256"
+ c:identifier="GST_MEMORY_FLAG_NOT_MAPPABLE"
+ glib:nick="not-mappable">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.h"
+ line="58">the memory can't be mapped via
+gst_memory_map() without any preconditions. (Since: 1.2)</doc>
+ </member>
+ <member name="last"
+ value="1048576"
+ c:identifier="GST_MEMORY_FLAG_LAST"
+ glib:nick="last">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.h"
+ line="60">first flag that can be used for custom purposes</doc>
+ </member>
+ </bitfield>
+ <callback name="MemoryIsSpanFunction" c:type="GstMemoryIsSpanFunction">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.h"
+ line="305">Check if @mem1 and @mem2 occupy contiguous memory and return the offset of
+@mem1 in the parent buffer in @offset.</doc>
+ <source-position filename="gst/gstmemory.h" line="316"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.h"
+ line="314">%TRUE if @mem1 and @mem2 are in contiguous memory.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="mem1" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.h"
+ line="307">a #GstMemory</doc>
+ <type name="Memory" c:type="GstMemory*"/>
+ </parameter>
+ <parameter name="mem2" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.h"
+ line="308">a #GstMemory</doc>
+ <type name="Memory" c:type="GstMemory*"/>
+ </parameter>
+ <parameter name="offset" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.h"
+ line="309">a result offset</doc>
+ <type name="gsize" c:type="gsize*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <callback name="MemoryMapFullFunction" c:type="GstMemoryMapFullFunction">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.h"
+ line="244">Get the memory of @mem that can be accessed according to the mode specified
+in @info's flags. The function should return a pointer that contains at least
+@maxsize bytes.</doc>
+ <source-position filename="gst/gstmemory.h" line="257"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.h"
+ line="254">a pointer to memory of which at least @maxsize bytes can be
+accessed according to the access pattern in @info's flags.</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </return-value>
+ <parameters>
+ <parameter name="mem" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.h"
+ line="246">a #GstMemory</doc>
+ <type name="Memory" c:type="GstMemory*"/>
+ </parameter>
+ <parameter name="info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.h"
+ line="247">the #GstMapInfo to map with</doc>
+ <type name="MapInfo" c:type="GstMapInfo*"/>
+ </parameter>
+ <parameter name="maxsize" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.h"
+ line="248">size to map</doc>
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <callback name="MemoryMapFunction" c:type="GstMemoryMapFunction">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.h"
+ line="229">Get the memory of @mem that can be accessed according to the mode specified
+in @flags. The function should return a pointer that contains at least
+@maxsize bytes.</doc>
+ <source-position filename="gst/gstmemory.h" line="242"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.h"
+ line="239">a pointer to memory of which at least @maxsize bytes can be
+accessed according to the access pattern in @flags.</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </return-value>
+ <parameters>
+ <parameter name="mem" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.h"
+ line="231">a #GstMemory</doc>
+ <type name="Memory" c:type="GstMemory*"/>
+ </parameter>
+ <parameter name="maxsize" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.h"
+ line="232">size to map</doc>
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.h"
+ line="233">access mode for the memory</doc>
+ <type name="MapFlags" c:type="GstMapFlags"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <callback name="MemoryShareFunction" c:type="GstMemoryShareFunction">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.h"
+ line="291">Share @size bytes from @mem starting at @offset and return them wrapped in a
+new GstMemory object. If @size is set to -1, all bytes starting at @offset are
+shared. This function does not make a copy of the bytes in @mem.</doc>
+ <source-position filename="gst/gstmemory.h" line="303"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.h"
+ line="301">a new #GstMemory object sharing the requested region in @mem.</doc>
+ <type name="Memory" c:type="GstMemory*"/>
+ </return-value>
+ <parameters>
+ <parameter name="mem" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.h"
+ line="293">a #GstMemory</doc>
+ <type name="Memory" c:type="GstMemory*"/>
+ </parameter>
+ <parameter name="offset" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.h"
+ line="294">an offset</doc>
+ <type name="gssize" c:type="gssize"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.h"
+ line="295">a size or -1</doc>
+ <type name="gssize" c:type="gssize"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <callback name="MemoryUnmapFullFunction"
+ c:type="GstMemoryUnmapFullFunction">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.h"
+ line="267">Release the pointer previously retrieved with gst_memory_map() with @info.</doc>
+ <source-position filename="gst/gstmemory.h" line="274"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="mem" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.h"
+ line="269">a #GstMemory</doc>
+ <type name="Memory" c:type="GstMemory*"/>
+ </parameter>
+ <parameter name="info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.h"
+ line="270">a #GstMapInfo</doc>
+ <type name="MapInfo" c:type="GstMapInfo*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <callback name="MemoryUnmapFunction" c:type="GstMemoryUnmapFunction">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.h"
+ line="259">Release the pointer previously retrieved with gst_memory_map().</doc>
+ <source-position filename="gst/gstmemory.h" line="265"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="mem" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmemory.h"
+ line="261">a #GstMemory</doc>
+ <type name="Memory" c:type="GstMemory*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <record name="Message"
+ c:type="GstMessage"
+ glib:type-name="GstMessage"
+ glib:get-type="gst_message_get_type"
+ c:symbol-prefix="message">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="22">Messages are implemented as a subclass of #GstMiniObject with a generic
+#GstStructure as the content. This allows for writing custom messages without
+requiring an API change while allowing a wide range of different types
+of messages.
+
+Messages are posted by objects in the pipeline and are passed to the
+application using the #GstBus.
+
+The basic use pattern of posting a message on a #GstBus is as follows:
+|[&lt;!-- language="C" --&gt;
+ gst_bus_post (bus, gst_message_new_eos());
+]|
+
+A #GstElement usually posts messages on the bus provided by the parent
+container using gst_element_post_message().</doc>
+ <source-position filename="gst/gstmessage.h" line="350"/>
+ <field name="mini_object" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.h"
+ line="329">the parent structure</doc>
+ <type name="MiniObject" c:type="GstMiniObject"/>
+ </field>
+ <field name="type" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.h"
+ line="330">the #GstMessageType of the message</doc>
+ <type name="MessageType" c:type="GstMessageType"/>
+ </field>
+ <field name="timestamp" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.h"
+ line="331">the timestamp of the message</doc>
+ <type name="guint64" c:type="guint64"/>
+ </field>
+ <field name="src" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.h"
+ line="332">the src of the message</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </field>
+ <field name="seqnum" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.h"
+ line="333">the sequence number of the message</doc>
+ <type name="guint32" c:type="guint32"/>
+ </field>
+ <field name="lock" readable="0" private="1">
+ <type name="GLib.Mutex" c:type="GMutex"/>
+ </field>
+ <field name="cond" readable="0" private="1">
+ <type name="GLib.Cond" c:type="GCond"/>
+ </field>
+ <constructor name="new_application"
+ c:identifier="gst_message_new_application">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="984">Create a new application-typed message. GStreamer will never create these
+messages; they are a gift from us to you. Enjoy.</doc>
+ <source-position filename="gst/gstmessage.h" line="644"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="993">The new application message.
+
+MT safe.</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </return-value>
+ <parameters>
+ <parameter name="src"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="986">The object originating the message.</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="structure" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="987">the structure for the message. The message
+ will take ownership of the structure.</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_async_done"
+ c:identifier="gst_message_new_async_done">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1072">The message is posted when elements completed an ASYNC state change.
+@running_time contains the time of the desired running_time when this
+elements goes to PLAYING. A value of #GST_CLOCK_TIME_NONE for @running_time
+means that the element has no clock interaction and thus doesn't care about
+the running_time of the pipeline.</doc>
+ <source-position filename="gst/gstmessage.h" line="687"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1083">The new async_done message.
+
+MT safe.</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </return-value>
+ <parameters>
+ <parameter name="src"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1074">The object originating the message.</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="running_time" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1075">the desired running_time</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_async_start"
+ c:identifier="gst_message_new_async_start">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1052">This message is posted by elements when they start an ASYNC state change.</doc>
+ <source-position filename="gst/gstmessage.h" line="682"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1058">The new async_start message.
+
+MT safe.</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </return-value>
+ <parameters>
+ <parameter name="src"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1054">The object originating the message.</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_buffering"
+ c:identifier="gst_message_new_buffering">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="705">Create a new buffering message. This message can be posted by an element that
+needs to buffer data before it can continue processing. @percent should be a
+value between 0 and 100. A value of 100 means that the buffering completed.
+
+When @percent is &lt; 100 the application should PAUSE a PLAYING pipeline. When
+@percent is 100, the application can set the pipeline (back) to PLAYING.
+The application must be prepared to receive BUFFERING messages in the
+PREROLLING state and may only set the pipeline to PLAYING after receiving a
+message with @percent set to 100, which can happen after the pipeline
+completed prerolling.
+
+MT safe.</doc>
+ <source-position filename="gst/gstmessage.h" line="578"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="723">The new buffering message.</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </return-value>
+ <parameters>
+ <parameter name="src"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="707">The object originating the message.</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="percent" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="708">The buffering percent</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_clock_lost"
+ c:identifier="gst_message_new_clock_lost">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="831">Create a clock lost message. This message is posted whenever the
+clock is not valid anymore.
+
+If this message is posted by the pipeline, the pipeline will
+select a new clock again when it goes to PLAYING. It might therefore
+be needed to set the pipeline to PAUSED and PLAYING again.</doc>
+ <source-position filename="gst/gstmessage.h" line="628"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="843">The new clock lost message.
+
+MT safe.</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </return-value>
+ <parameters>
+ <parameter name="src"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="833">The object originating the message.</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="clock" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="834">the clock that was lost</doc>
+ <type name="Clock" c:type="GstClock*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_clock_provide"
+ c:identifier="gst_message_new_clock_provide">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="799">Create a clock provide message. This message is posted whenever an
+element is ready to provide a clock or lost its ability to provide
+a clock (maybe because it paused or became EOS).
+
+This message is mainly used internally to manage the clock
+selection.</doc>
+ <source-position filename="gst/gstmessage.h" line="619"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="812">the new provide clock message.
+
+MT safe.</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </return-value>
+ <parameters>
+ <parameter name="src"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="801">The object originating the message.</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="clock" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="802">the clock it provides</doc>
+ <type name="Clock" c:type="GstClock*"/>
+ </parameter>
+ <parameter name="ready" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="803">%TRUE if the sender can provide a clock</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_custom" c:identifier="gst_message_new_custom">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="281">Create a new custom-typed message. This can be used for anything not
+handled by other message-specific functions to pass a message to the
+app. The structure field can be %NULL.</doc>
+ <source-position filename="gst/gstmessage.h" line="499"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="292">The new message.
+
+MT safe.</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </return-value>
+ <parameters>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="283">The #GstMessageType to distinguish messages</doc>
+ <type name="MessageType" c:type="GstMessageType"/>
+ </parameter>
+ <parameter name="src"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="284">The object originating the message.</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="structure"
+ transfer-ownership="full"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="285">the structure for the
+ message. The message will take ownership of the structure.</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_device_added"
+ c:identifier="gst_message_new_device_added"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2592">Creates a new device-added message. The device-added message is produced by
+#GstDeviceProvider or a #GstDeviceMonitor. They announce the appearance
+of monitored devices.</doc>
+ <source-position filename="gst/gstmessage.h" line="809"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2601">a newly allocated #GstMessage</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2594">The #GstObject that created the message</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="device" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2595">The new #GstDevice</doc>
+ <type name="Device" c:type="GstDevice*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_device_changed"
+ c:identifier="gst_message_new_device_changed"
+ version="1.16">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2696">Creates a new device-changed message. The device-changed message is produced
+by #GstDeviceProvider or a #GstDeviceMonitor. They announce that a device
+properties has changed and @device represent the new modified version of @changed_device.</doc>
+ <source-position filename="gst/gstmessage.h" line="825"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2706">a newly allocated #GstMessage</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2698">The #GstObject that created the message</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="device" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2699">The newly created device representing @replaced_device
+ with its new configuration.</doc>
+ <type name="Device" c:type="GstDevice*"/>
+ </parameter>
+ <parameter name="changed_device" transfer-ownership="none">
+ <type name="Device" c:type="GstDevice*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_device_removed"
+ c:identifier="gst_message_new_device_removed"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2644">Creates a new device-removed message. The device-removed message is produced
+by #GstDeviceProvider or a #GstDeviceMonitor. They announce the
+disappearance of monitored devices.</doc>
+ <source-position filename="gst/gstmessage.h" line="817"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2653">a newly allocated #GstMessage</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2646">The #GstObject that created the message</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="device" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2647">The removed #GstDevice</doc>
+ <type name="Device" c:type="GstDevice*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_duration_changed"
+ c:identifier="gst_message_new_duration_changed">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1028">Create a new duration changed message. This message is posted by elements
+that know the duration of a stream when the duration changes. This message
+is received by bins and is used to calculate the total duration of a
+pipeline.</doc>
+ <source-position filename="gst/gstmessage.h" line="672"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1037">The new duration-changed message.
+
+MT safe.</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </return-value>
+ <parameters>
+ <parameter name="src"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1030">The object originating the message.</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_element" c:identifier="gst_message_new_element">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1005">Create a new element-specific message. This is meant as a generic way of
+allowing one-way communication from an element to an application, for example
+"the firewire cable was unplugged". The format of the message should be
+documented in the element's documentation. The structure field can be %NULL.</doc>
+ <source-position filename="gst/gstmessage.h" line="649"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1016">The new element message.
+
+MT safe.</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </return-value>
+ <parameters>
+ <parameter name="src"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1007">The object originating the message.</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="structure" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1008">The structure for the
+ message. The message will take ownership of the structure.</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_eos" c:identifier="gst_message_new_eos">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="380">Create a new eos message. This message is generated and posted in
+the sink elements of a GstBin. The bin will only forward the EOS
+message to the application if all sinks have posted an EOS message.</doc>
+ <source-position filename="gst/gstmessage.h" line="523"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="388">The new eos message.
+
+MT safe.</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </return-value>
+ <parameters>
+ <parameter name="src"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="382">The object originating the message.</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_error" c:identifier="gst_message_new_error">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="447">Create a new error message. The message will copy @error and
+@debug. This message is posted by element when a fatal event
+occurred. The pipeline will probably (partially) stop. The application
+receiving this message should stop the pipeline.</doc>
+ <source-position filename="gst/gstmessage.h" line="528"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="458">the new error message.
+
+MT safe.</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </return-value>
+ <parameters>
+ <parameter name="src"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="449">The object originating the message.</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="error" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="450">The GError for this message.</doc>
+ <type name="GLib.Error" c:type="GError*"/>
+ </parameter>
+ <parameter name="debug" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="451">A debugging string.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_error_with_details"
+ c:identifier="gst_message_new_error_with_details"
+ version="1.10">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="402">Create a new error message. The message will copy @error and
+@debug. This message is posted by element when a fatal event
+occurred. The pipeline will probably (partially) stop. The application
+receiving this message should stop the pipeline.</doc>
+ <source-position filename="gst/gstmessage.h" line="531"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="414">the new error message.</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </return-value>
+ <parameters>
+ <parameter name="src"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="404">The object originating the message.</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="error" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="405">The GError for this message.</doc>
+ <type name="GLib.Error" c:type="GError*"/>
+ </parameter>
+ <parameter name="debug" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="406">A debugging string.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="details"
+ transfer-ownership="full"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="407">A GstStructure with details</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_have_context"
+ c:identifier="gst_message_new_have_context"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2542">This message is posted when an element has a new local #GstContext.</doc>
+ <source-position filename="gst/gstmessage.h" line="801"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2549">The new have-context message.
+
+MT safe.</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </return-value>
+ <parameters>
+ <parameter name="src"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2544">The object originating the message.</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="context" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2545">the context</doc>
+ <type name="Context" c:type="GstContext*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_info" c:identifier="gst_message_new_info">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="629">Create a new info message. The message will make copies of @error and
+@debug.</doc>
+ <source-position filename="gst/gstmessage.h" line="556"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="638">the new info message.
+
+MT safe.</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </return-value>
+ <parameters>
+ <parameter name="src"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="631">The object originating the message.</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="error" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="632">The GError for this message.</doc>
+ <type name="GLib.Error" c:type="GError*"/>
+ </parameter>
+ <parameter name="debug" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="633">A debugging string.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_info_with_details"
+ c:identifier="gst_message_new_info_with_details"
+ version="1.10">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="586">Create a new info message. The message will make copies of @error and
+@debug.</doc>
+ <source-position filename="gst/gstmessage.h" line="559"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="596">the new warning message.</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </return-value>
+ <parameters>
+ <parameter name="src"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="588">The object originating the message.</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="error" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="589">The GError for this message.</doc>
+ <type name="GLib.Error" c:type="GError*"/>
+ </parameter>
+ <parameter name="debug" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="590">A debugging string.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="details"
+ transfer-ownership="full"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="591">A GstStructure with details</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_instant_rate_request"
+ c:identifier="gst_message_new_instant_rate_request"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="3272">Creates a new instant-rate-request message. Elements handling the
+instant-rate-change event must post this message. The message is
+handled at the pipeline, and allows the pipeline to select the
+running time when the rate change should happen and to send an
+@GST_EVENT_INSTANT_RATE_SYNC_TIME event to notify the elements
+in the pipeline.</doc>
+ <source-position filename="gst/gstmessage.h" line="881"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="3284">a newly allocated #GstMessage</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="3274">The #GstObject that posted the message</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="rate_multiplier" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="3275">the rate multiplier factor that should be applied</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_latency" c:identifier="gst_message_new_latency">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1100">This message can be posted by elements when their latency requirements have
+changed.</doc>
+ <source-position filename="gst/gstmessage.h" line="677"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1107">The new latency message.
+
+MT safe.</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </return-value>
+ <parameters>
+ <parameter name="src"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1102">The object originating the message.</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_need_context"
+ c:identifier="gst_message_new_need_context"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2483">This message is posted when an element needs a specific #GstContext.</doc>
+ <source-position filename="gst/gstmessage.h" line="793"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2490">The new need-context message.
+
+MT safe.</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </return-value>
+ <parameters>
+ <parameter name="src"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2485">The object originating the message.</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="context_type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2486">The context type that is needed</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_new_clock"
+ c:identifier="gst_message_new_new_clock">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="860">Create a new clock message. This message is posted whenever the
+pipeline selects a new clock for the pipeline.</doc>
+ <source-position filename="gst/gstmessage.h" line="636"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="868">The new new clock message.
+
+MT safe.</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </return-value>
+ <parameters>
+ <parameter name="src"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="862">The object originating the message.</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="clock" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="863">the new selected clock</doc>
+ <type name="Clock" c:type="GstClock*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_progress" c:identifier="gst_message_new_progress">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2223">Progress messages are posted by elements when they use an asynchronous task
+to perform actions triggered by a state change.
+
+@code contains a well defined string describing the action.
+@text should contain a user visible string detailing the current action.</doc>
+ <source-position filename="gst/gstmessage.h" line="757"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2236">The new qos message.</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2225">The object originating the message.</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2226">a #GstProgressType</doc>
+ <type name="ProgressType" c:type="GstProgressType"/>
+ </parameter>
+ <parameter name="code" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2227">a progress code</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="text" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2228">free, user visible text describing the progress</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_property_notify"
+ c:identifier="gst_message_new_property_notify"
+ version="1.10">
+ <source-position filename="gst/gstmessage.h" line="834"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2765">a newly allocated #GstMessage</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2761">The #GstObject whose property changed (may or may not be a #GstElement)</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="property_name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2762">name of the property that changed</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="val"
+ transfer-ownership="full"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2763">new property value, or %NULL</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_qos" c:identifier="gst_message_new_qos">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2001">A QOS message is posted on the bus whenever an element decides to drop a
+buffer because of QoS reasons or whenever it changes its processing strategy
+because of QoS reasons (quality adjustments such as processing at lower
+accuracy).
+
+This message can be posted by an element that performs synchronisation against the
+clock (live) or it could be dropped by an element that performs QoS because of QOS
+events received from a downstream element (!live).
+
+@running_time, @stream_time, @timestamp, @duration should be set to the
+respective running-time, stream-time, timestamp and duration of the (dropped)
+buffer that generated the QoS event. Values can be left to
+GST_CLOCK_TIME_NONE when unknown.</doc>
+ <source-position filename="gst/gstmessage.h" line="737"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2024">The new qos message.
+
+MT safe.</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2003">The object originating the message.</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="live" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2004">if the message was generated by a live element</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ <parameter name="running_time" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2005">the running time of the buffer that generated the message</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ <parameter name="stream_time" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2006">the stream time of the buffer that generated the message</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ <parameter name="timestamp" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2007">the timestamps of the buffer that generated the message</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ <parameter name="duration" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2008">the duration of the buffer that generated the message</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_redirect"
+ c:identifier="gst_message_new_redirect"
+ version="1.10">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="3032">Creates a new redirect message and adds a new entry to it. Redirect messages
+are posted when an element detects that the actual data has to be retrieved
+from a different location. This is useful if such a redirection cannot be
+handled inside a source element, for example when HTTP 302/303 redirects
+return a non-HTTP URL.
+
+The redirect message can hold multiple entries. The first one is added
+when the redirect message is created, with the given location, tag_list,
+entry_struct arguments. Use gst_message_add_redirect_entry() to add more
+entries.
+
+Each entry has a location, a tag list, and a structure. All of these are
+optional. The tag list and structure are useful for additional metadata,
+such as bitrate statistics for the given location.
+
+By default, message recipients should treat entries in the order they are
+stored. The recipient should therefore try entry \#0 first, and if this
+entry is not acceptable or working, try entry \#1 etc. Senders must make
+sure that they add entries in this order. However, recipients are free to
+ignore the order and pick an entry that is "best" for them. One example
+would be a recipient that scans the entries for the one with the highest
+bitrate tag.
+
+The specified location string is copied. However, ownership over the tag
+list and structure are transferred to the message.</doc>
+ <source-position filename="gst/gstmessage.h" line="867"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="3065">a newly allocated #GstMessage</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="3034">The #GstObject whose property changed (may or may not be a #GstElement)</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="location" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="3035">location string for the new entry</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="tag_list"
+ transfer-ownership="full"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="3036">tag list for the new entry</doc>
+ <type name="TagList" c:type="GstTagList*"/>
+ </parameter>
+ <parameter name="entry_struct"
+ transfer-ownership="full"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="3037">structure for the new entry</doc>
+ <type name="Structure" c:type="const GstStructure*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_request_state"
+ c:identifier="gst_message_new_request_state">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1121">This message can be posted by elements when they want to have their state
+changed. A typical use case would be an audio server that wants to pause the
+pipeline because a higher priority stream is being played.</doc>
+ <source-position filename="gst/gstmessage.h" line="718"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1130">the new request state message.
+
+MT safe.</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </return-value>
+ <parameters>
+ <parameter name="src"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1123">The object originating the message.</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="state" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1124">The new requested state</doc>
+ <type name="State" c:type="GstState"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_reset_time"
+ c:identifier="gst_message_new_reset_time">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2339">This message is posted when the pipeline running-time should be reset to
+@running_time, like after a flushing seek.</doc>
+ <source-position filename="gst/gstmessage.h" line="774"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2347">The new reset_time message.
+
+MT safe.</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </return-value>
+ <parameters>
+ <parameter name="src"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2341">The object originating the message.</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="running_time" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2342">the requested running-time</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_segment_done"
+ c:identifier="gst_message_new_segment_done">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="954">Create a new segment done message. This message is posted by elements that
+finish playback of a segment as a result of a segment seek. This message
+is received by the application after all elements that posted a segment_start
+have posted the segment_done.</doc>
+ <source-position filename="gst/gstmessage.h" line="663"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="965">the new segment done message.
+
+MT safe.</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </return-value>
+ <parameters>
+ <parameter name="src"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="956">The object originating the message.</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="957">The format of the position being done</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ <parameter name="position" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="958">The position of the segment being done</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_segment_start"
+ c:identifier="gst_message_new_segment_start">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="924">Create a new segment message. This message is posted by elements that
+start playback of a segment as a result of a segment seek. This message
+is not received by the application but is used for maintenance reasons in
+container elements.</doc>
+ <source-position filename="gst/gstmessage.h" line="654"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="935">the new segment start message.
+
+MT safe.</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </return-value>
+ <parameters>
+ <parameter name="src"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="926">The object originating the message.</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="927">The format of the position being played</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ <parameter name="position" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="928">The position of the segment being played</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_state_changed"
+ c:identifier="gst_message_new_state_changed">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="747">Create a state change message. This message is posted whenever an element
+changed its state.</doc>
+ <source-position filename="gst/gstmessage.h" line="595"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="757">the new state change message.
+
+MT safe.</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </return-value>
+ <parameters>
+ <parameter name="src"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="749">The object originating the message.</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="oldstate" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="750">the previous state</doc>
+ <type name="State" c:type="GstState"/>
+ </parameter>
+ <parameter name="newstate" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="751">the new (current) state</doc>
+ <type name="State" c:type="GstState"/>
+ </parameter>
+ <parameter name="pending" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="752">the pending (target) state</doc>
+ <type name="State" c:type="GstState"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_state_dirty"
+ c:identifier="gst_message_new_state_dirty">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="777">Create a state dirty message. This message is posted whenever an element
+changed its state asynchronously and is used internally to update the
+states of container objects.</doc>
+ <source-position filename="gst/gstmessage.h" line="604"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="785">the new state dirty message.
+
+MT safe.</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </return-value>
+ <parameters>
+ <parameter name="src"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="779">The object originating the message</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_step_done"
+ c:identifier="gst_message_new_step_done">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1845">This message is posted by elements when they complete a part, when @intermediate set
+to %TRUE, or a complete step operation.
+
+@duration will contain the amount of time (in GST_FORMAT_TIME) of the stepped
+@amount of media in format @format.</doc>
+ <source-position filename="gst/gstmessage.h" line="609"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1862">the new step_done message.
+
+MT safe.</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1847">The object originating the message.</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1848">the format of @amount</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ <parameter name="amount" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1849">the amount of stepped data</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ <parameter name="rate" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1850">the rate of the stepped amount</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </parameter>
+ <parameter name="flush" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1851">is this an flushing step</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ <parameter name="intermediate" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1852">is this an intermediate step</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ <parameter name="duration" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1853">the duration of the data</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ <parameter name="eos" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1854">the step caused EOS</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_step_start"
+ c:identifier="gst_message_new_step_start">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1923">This message is posted by elements when they accept or activate a new step
+event for @amount in @format.
+
+@active is set to %FALSE when the element accepted the new step event and has
+queued it for execution in the streaming threads.
+
+@active is set to %TRUE when the element has activated the step operation and
+is now ready to start executing the step in the streaming thread. After this
+message is emitted, the application can queue a new step operation in the
+element.</doc>
+ <source-position filename="gst/gstmessage.h" line="726"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1944">The new step_start message.
+
+MT safe.</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1925">The object originating the message.</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="active" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1926">if the step is active or queued</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1927">the format of @amount</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ <parameter name="amount" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1928">the amount of stepped data</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ <parameter name="rate" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1929">the rate of the stepped amount</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </parameter>
+ <parameter name="flush" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1930">is this an flushing step</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ <parameter name="intermediate" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1931">is this an intermediate step</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_stream_collection"
+ c:identifier="gst_message_new_stream_collection"
+ version="1.10">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2831">Creates a new stream-collection message. The message is used to announce new
+#GstStreamCollection</doc>
+ <source-position filename="gst/gstmessage.h" line="842"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2839">a newly allocated #GstMessage</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2833">The #GstObject that created the message</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="collection" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2834">The #GstStreamCollection</doc>
+ <type name="StreamCollection" c:type="GstStreamCollection*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_stream_start"
+ c:identifier="gst_message_new_stream_start">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2389">Create a new stream_start message. This message is generated and posted in
+the sink elements of a GstBin. The bin will only forward the STREAM_START
+message to the application if all sinks have posted an STREAM_START message.</doc>
+ <source-position filename="gst/gstmessage.h" line="782"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2397">The new stream_start message.
+
+MT safe.</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </return-value>
+ <parameters>
+ <parameter name="src"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2391">The object originating the message.</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_stream_status"
+ c:identifier="gst_message_new_stream_status">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1735">Create a new stream status message. This message is posted when a streaming
+thread is created/destroyed or when the state changed.</doc>
+ <source-position filename="gst/gstmessage.h" line="704"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1744">the new stream status message.
+
+MT safe.</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1737">The object originating the message.</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1738">The stream status type.</doc>
+ <type name="StreamStatusType" c:type="GstStreamStatusType"/>
+ </parameter>
+ <parameter name="owner" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1739">the owner element of @src.</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_streams_selected"
+ c:identifier="gst_message_new_streams_selected"
+ version="1.10">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2885">Creates a new steams-selected message. The message is used to announce
+that an array of streams has been selected. This is generally in response
+to a #GST_EVENT_SELECT_STREAMS event, or when an element (such as decodebin3)
+makes an initial selection of streams.
+
+The message also contains the #GstStreamCollection to which the various streams
+belong to.
+
+Users of gst_message_new_streams_selected() can add the selected streams with
+gst_message_streams_selected_add().</doc>
+ <source-position filename="gst/gstmessage.h" line="850"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2901">a newly allocated #GstMessage</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2887">The #GstObject that created the message</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="collection" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2888">The #GstStreamCollection</doc>
+ <type name="StreamCollection" c:type="GstStreamCollection*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_structure_change"
+ c:identifier="gst_message_new_structure_change">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="885">Create a new structure change message. This message is posted when the
+structure of a pipeline is in the process of being changed, for example
+when pads are linked or unlinked.
+
+@src should be the sinkpad that unlinked or linked.</doc>
+ <source-position filename="gst/gstmessage.h" line="695"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="898">the new structure change message.
+
+MT safe.</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </return-value>
+ <parameters>
+ <parameter name="src"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="887">The object originating the message.</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="888">The change type.</doc>
+ <type name="StructureChangeType" c:type="GstStructureChangeType"/>
+ </parameter>
+ <parameter name="owner" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="889">The owner element of @src.</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </parameter>
+ <parameter name="busy" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="890">Whether the structure change is busy.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_tag" c:identifier="gst_message_new_tag">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="676">Create a new tag message. The message will take ownership of the tag list.
+The message is posted by elements that discovered a new taglist.</doc>
+ <source-position filename="gst/gstmessage.h" line="570"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="684">the new tag message.
+
+MT safe.</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </return-value>
+ <parameters>
+ <parameter name="src"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="678">The object originating the message.</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="tag_list" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="679">the tag list for the message.</doc>
+ <type name="TagList" c:type="GstTagList*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_toc" c:identifier="gst_message_new_toc">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2288">Create a new TOC message. The message is posted by elements
+that discovered or updated a TOC.</doc>
+ <source-position filename="gst/gstmessage.h" line="766"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2297">a new TOC message.
+
+MT safe.</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2290">the object originating the message.</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="toc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2291">#GstToc structure for the message.</doc>
+ <type name="Toc" c:type="GstToc*"/>
+ </parameter>
+ <parameter name="updated" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2292">whether TOC was updated or not.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_warning" c:identifier="gst_message_new_warning">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="539">Create a new warning message. The message will make copies of @error and
+@debug.</doc>
+ <source-position filename="gst/gstmessage.h" line="542"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="548">the new warning message.
+
+MT safe.</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </return-value>
+ <parameters>
+ <parameter name="src"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="541">The object originating the message.</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="error" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="542">The GError for this message.</doc>
+ <type name="GLib.Error" c:type="GError*"/>
+ </parameter>
+ <parameter name="debug" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="543">A debugging string.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_warning_with_details"
+ c:identifier="gst_message_new_warning_with_details"
+ version="1.10">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="496">Create a new warning message. The message will make copies of @error and
+@debug.</doc>
+ <source-position filename="gst/gstmessage.h" line="545"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="506">the new warning message.</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </return-value>
+ <parameters>
+ <parameter name="src"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="498">The object originating the message.</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="error" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="499">The GError for this message.</doc>
+ <type name="GLib.Error" c:type="GError*"/>
+ </parameter>
+ <parameter name="debug" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="500">A debugging string.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="details"
+ transfer-ownership="full"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="501">A GstStructure with details</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <method name="add_redirect_entry"
+ c:identifier="gst_message_add_redirect_entry"
+ version="1.10">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="3101">Creates and appends a new entry.
+
+The specified location string is copied. However, ownership over the tag
+list and structure are transferred to the message.</doc>
+ <source-position filename="gst/gstmessage.h" line="870"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="message" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="3103">a #GstMessage of type %GST_MESSAGE_REDIRECT</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </instance-parameter>
+ <parameter name="location" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="3104">location string for the new entry</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="tag_list"
+ transfer-ownership="full"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="3105">tag list for the new entry</doc>
+ <type name="TagList" c:type="GstTagList*"/>
+ </parameter>
+ <parameter name="entry_struct"
+ transfer-ownership="full"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="3106">structure for the new entry</doc>
+ <type name="Structure" c:type="const GstStructure*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="copy" c:identifier="gst_message_copy" introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.h"
+ line="413">Creates a copy of the message. Returns a copy of the message.</doc>
+ <source-position filename="gst/gstmessage.h" line="423"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.h"
+ line="419">a new copy of @msg.
+
+MT safe</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.h"
+ line="415">the message to copy</doc>
+ <type name="Message" c:type="const GstMessage*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_num_redirect_entries"
+ c:identifier="gst_message_get_num_redirect_entries"
+ version="1.10">
+ <source-position filename="gst/gstmessage.h" line="876"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="3232">the number of entries stored in the message</doc>
+ <type name="gsize" c:type="gsize"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="message" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="3230">a #GstMessage of type %GST_MESSAGE_REDIRECT</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_seqnum" c:identifier="gst_message_get_seqnum">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="329">Retrieve the sequence number of a message.
+
+Messages have ever-incrementing sequence numbers, which may also be set
+explicitly via gst_message_set_seqnum(). Sequence numbers are typically used
+to indicate that a message corresponds to some other set of messages or
+events, for example a SEGMENT_DONE message corresponding to a SEEK event. It
+is considered good practice to make this correspondence when possible, though
+it is not required.
+
+Note that events and messages share the same sequence number incrementor;
+two events or messages will never have the same sequence number unless
+that correspondence was made explicitly.</doc>
+ <source-position filename="gst/gstmessage.h" line="515"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="346">The message's sequence number.
+
+MT safe.</doc>
+ <type name="guint32" c:type="guint32"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="message" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="331">A #GstMessage.</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_stream_status_object"
+ c:identifier="gst_message_get_stream_status_object">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1818">Extracts the object managing the streaming thread from @message.</doc>
+ <source-position filename="gst/gstmessage.h" line="713"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1824">a GValue containing the object that manages the
+streaming thread. This object is usually of type GstTask but other types can
+be added in the future. The object remains valid as long as @message is
+valid.</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="message" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1820">A valid #GstMessage of type GST_MESSAGE_STREAM_STATUS.</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_structure" c:identifier="gst_message_get_structure">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1147">Access the structure of the message.</doc>
+ <source-position filename="gst/gstmessage.h" line="504"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1153">The structure of the message. The
+structure is still owned by the message, which means that you should not
+free it and that the pointer becomes invalid when you free the message.
+
+MT safe.</doc>
+ <type name="Structure" c:type="const GstStructure*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="message" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1149">The #GstMessage.</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="has_name" c:identifier="gst_message_has_name">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1204">Checks if @message has the given @name. This function is usually used to
+check the name of a custom message.</doc>
+ <source-position filename="gst/gstmessage.h" line="510"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1212">%TRUE if @name matches the name of the message structure.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="message" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1206">The #GstMessage.</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </instance-parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1207">name to check</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_async_done"
+ c:identifier="gst_message_parse_async_done">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1687">Extract the running_time from the async_done message.
+
+MT safe.</doc>
+ <source-position filename="gst/gstmessage.h" line="690"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="message" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1689">A valid #GstMessage of type GST_MESSAGE_ASYNC_DONE.</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </instance-parameter>
+ <parameter name="running_time"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1690">Result location for the running_time or %NULL</doc>
+ <type name="ClockTime" c:type="GstClockTime*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_buffering"
+ c:identifier="gst_message_parse_buffering">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1267">Extracts the buffering percent from the GstMessage. see also
+gst_message_new_buffering().
+
+MT safe.</doc>
+ <source-position filename="gst/gstmessage.h" line="581"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="message" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1269">A valid #GstMessage of type GST_MESSAGE_BUFFERING.</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </instance-parameter>
+ <parameter name="percent"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1270">Return location for the percent.</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_buffering_stats"
+ c:identifier="gst_message_parse_buffering_stats">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1313">Extracts the buffering stats values from @message.</doc>
+ <source-position filename="gst/gstmessage.h" line="588"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="message" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1315">A valid #GstMessage of type GST_MESSAGE_BUFFERING.</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </instance-parameter>
+ <parameter name="mode"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1316">a buffering mode, or %NULL</doc>
+ <type name="BufferingMode" c:type="GstBufferingMode*"/>
+ </parameter>
+ <parameter name="avg_in"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1317">the average input rate, or %NULL</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ <parameter name="avg_out"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1318">the average output rate, or %NULL</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ <parameter name="buffering_left"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1319">amount of buffering time left in
+ milliseconds, or %NULL</doc>
+ <type name="gint64" c:type="gint64*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_clock_lost"
+ c:identifier="gst_message_parse_clock_lost">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1439">Extracts the lost clock from the GstMessage.
+The clock object returned remains valid until the message is freed.
+
+MT safe.</doc>
+ <source-position filename="gst/gstmessage.h" line="631"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="message" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1441">A valid #GstMessage of type GST_MESSAGE_CLOCK_LOST.</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </instance-parameter>
+ <parameter name="clock"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="none"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1442">a pointer to hold the lost clock</doc>
+ <type name="Clock" c:type="GstClock**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_clock_provide"
+ c:identifier="gst_message_parse_clock_provide">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1404">Extracts the clock and ready flag from the GstMessage.
+The clock object returned remains valid until the message is freed.
+
+MT safe.</doc>
+ <source-position filename="gst/gstmessage.h" line="622"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="message" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1406">A valid #GstMessage of type GST_MESSAGE_CLOCK_PROVIDE.</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </instance-parameter>
+ <parameter name="clock"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="none"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1407">a pointer to hold a clock
+ object, or %NULL</doc>
+ <type name="Clock" c:type="GstClock**"/>
+ </parameter>
+ <parameter name="ready"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1409">a pointer to hold the ready flag, or %NULL</doc>
+ <type name="gboolean" c:type="gboolean*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_context_type"
+ c:identifier="gst_message_parse_context_type"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2511">Parse a context type from an existing GST_MESSAGE_NEED_CONTEXT message.</doc>
+ <source-position filename="gst/gstmessage.h" line="796"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2518">a #gboolean indicating if the parsing succeeded.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="message" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2513">a GST_MESSAGE_NEED_CONTEXT type message</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </instance-parameter>
+ <parameter name="context_type"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="none"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2514">the context type, or %NULL</doc>
+ <type name="utf8" c:type="const gchar**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_device_added"
+ c:identifier="gst_message_parse_device_added"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2621">Parses a device-added message. The device-added message is produced by
+#GstDeviceProvider or a #GstDeviceMonitor. It announces the appearance
+of monitored devices.</doc>
+ <source-position filename="gst/gstmessage.h" line="812"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="message" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2623">a #GstMessage of type %GST_MESSAGE_DEVICE_ADDED</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </instance-parameter>
+ <parameter name="device"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2624">A location where to store a
+ pointer to the new #GstDevice, or %NULL</doc>
+ <type name="Device" c:type="GstDevice**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_device_changed"
+ c:identifier="gst_message_parse_device_changed"
+ version="1.16">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2728">Parses a device-changed message. The device-changed message is produced by
+#GstDeviceProvider or a #GstDeviceMonitor. It announces the
+disappearance of monitored devices. * It announce that a device properties has
+changed and @device represents the new modified version of @changed_device.</doc>
+ <source-position filename="gst/gstmessage.h" line="828"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="message" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2730">a #GstMessage of type %GST_MESSAGE_DEVICE_CHANGED</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </instance-parameter>
+ <parameter name="device"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2731">A location where to store a
+ pointer to the updated version of the #GstDevice, or %NULL</doc>
+ <type name="Device" c:type="GstDevice**"/>
+ </parameter>
+ <parameter name="changed_device"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2733">A location where to store a
+ pointer to the old version of the #GstDevice, or %NULL</doc>
+ <type name="Device" c:type="GstDevice**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_device_removed"
+ c:identifier="gst_message_parse_device_removed"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2673">Parses a device-removed message. The device-removed message is produced by
+#GstDeviceProvider or a #GstDeviceMonitor. It announces the
+disappearance of monitored devices.</doc>
+ <source-position filename="gst/gstmessage.h" line="820"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="message" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2675">a #GstMessage of type %GST_MESSAGE_DEVICE_REMOVED</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </instance-parameter>
+ <parameter name="device"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2676">A location where to store a
+ pointer to the removed #GstDevice, or %NULL</doc>
+ <type name="Device" c:type="GstDevice**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_error" c:identifier="gst_message_parse_error">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1536">Extracts the GError and debug string from the GstMessage. The values returned
+in the output arguments are copies; the caller must free them when done.
+
+Typical usage of this function might be:
+|[&lt;!-- language="C" --&gt;
+ ...
+ switch (GST_MESSAGE_TYPE (msg)) {
+ case GST_MESSAGE_ERROR: {
+ GError *err = NULL;
+ gchar *dbg_info = NULL;
+
+ gst_message_parse_error (msg, &amp;amp;err, &amp;amp;dbg_info);
+ g_printerr ("ERROR from element %s: %s\n",
+ GST_OBJECT_NAME (msg-&gt;src), err-&gt;message);
+ g_printerr ("Debugging info: %s\n", (dbg_info) ? dbg_info : "none");
+ g_error_free (err);
+ g_free (dbg_info);
+ break;
+ }
+ ...
+ }
+ ...
+]|
+
+MT safe.</doc>
+ <source-position filename="gst/gstmessage.h" line="534"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="message" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1538">A valid #GstMessage of type GST_MESSAGE_ERROR.</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </instance-parameter>
+ <parameter name="gerror"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1539">location for the GError</doc>
+ <type name="GLib.Error" c:type="GError**"/>
+ </parameter>
+ <parameter name="debug"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1540">location for the debug message,
+ or %NULL</doc>
+ <type name="utf8" c:type="gchar**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_error_details"
+ c:identifier="gst_message_parse_error_details"
+ version="1.10">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="468">Returns the optional details structure, may be NULL if none.
+The returned structure must not be freed.</doc>
+ <source-position filename="gst/gstmessage.h" line="537"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="message" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="470">The message object</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </instance-parameter>
+ <parameter name="structure"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="471">A pointer to the returned details</doc>
+ <type name="Structure" c:type="const GstStructure**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_group_id"
+ c:identifier="gst_message_parse_group_id"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2446">Extract the group from the STREAM_START message.</doc>
+ <source-position filename="gst/gstmessage.h" line="788"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2454">%TRUE if the message had a group id set, %FALSE otherwise
+
+MT safe.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="message" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2448">A valid #GstMessage of type GST_MESSAGE_STREAM_START.</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </instance-parameter>
+ <parameter name="group_id"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2449">Result location for the group id or
+ %NULL</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_have_context"
+ c:identifier="gst_message_parse_have_context"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2569">Extract the context from the HAVE_CONTEXT message.
+
+MT safe.</doc>
+ <source-position filename="gst/gstmessage.h" line="804"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="message" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2571">A valid #GstMessage of type GST_MESSAGE_HAVE_CONTEXT.</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </instance-parameter>
+ <parameter name="context"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2572">Result location for the
+ context or %NULL</doc>
+ <type name="Context" c:type="GstContext**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_info" c:identifier="gst_message_parse_info">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1604">Extracts the GError and debug string from the GstMessage. The values returned
+in the output arguments are copies; the caller must free them when done.
+
+MT safe.</doc>
+ <source-position filename="gst/gstmessage.h" line="562"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="message" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1606">A valid #GstMessage of type GST_MESSAGE_INFO.</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </instance-parameter>
+ <parameter name="gerror"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1607">location for the GError</doc>
+ <type name="GLib.Error" c:type="GError**"/>
+ </parameter>
+ <parameter name="debug"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1608">location for the debug message,
+ or %NULL</doc>
+ <type name="utf8" c:type="gchar**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_info_details"
+ c:identifier="gst_message_parse_info_details"
+ version="1.10">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="648">Returns the optional details structure, may be NULL if none
+The returned structure must not be freed.</doc>
+ <source-position filename="gst/gstmessage.h" line="565"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="message" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="650">The message object</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </instance-parameter>
+ <parameter name="structure"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="651">A pointer to the returned details structure</doc>
+ <type name="Structure" c:type="const GstStructure**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_instant_rate_request"
+ c:identifier="gst_message_parse_instant_rate_request"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="3304">Parses the rate_multiplier from the instant-rate-request message.</doc>
+ <source-position filename="gst/gstmessage.h" line="883"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="message" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="3306">a #GstMessage of type %GST_MESSAGE_INSTANT_RATE_REQUEST</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </instance-parameter>
+ <parameter name="rate_multiplier"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="3307">return location for the rate, or %NULL</doc>
+ <type name="gdouble" c:type="gdouble*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_new_clock"
+ c:identifier="gst_message_parse_new_clock">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1467">Extracts the new clock from the GstMessage.
+The clock object returned remains valid until the message is freed.
+
+MT safe.</doc>
+ <source-position filename="gst/gstmessage.h" line="639"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="message" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1469">A valid #GstMessage of type GST_MESSAGE_NEW_CLOCK.</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </instance-parameter>
+ <parameter name="clock"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="none"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1470">a pointer to hold the selected
+ new clock</doc>
+ <type name="Clock" c:type="GstClock**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_progress" c:identifier="gst_message_parse_progress">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2263">Parses the progress @type, @code and @text.</doc>
+ <source-position filename="gst/gstmessage.h" line="760"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="message" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2265">A valid #GstMessage of type GST_MESSAGE_PROGRESS.</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </instance-parameter>
+ <parameter name="type"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2266">location for the type</doc>
+ <type name="ProgressType" c:type="GstProgressType*"/>
+ </parameter>
+ <parameter name="code"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2267">location for the code</doc>
+ <type name="utf8" c:type="gchar**"/>
+ </parameter>
+ <parameter name="text"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2268">location for the text</doc>
+ <type name="utf8" c:type="gchar**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_property_notify"
+ c:identifier="gst_message_parse_property_notify"
+ version="1.10">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2789">Parses a property-notify message. These will be posted on the bus only
+when set up with gst_element_add_property_notify_watch() or
+gst_element_add_property_deep_notify_watch().</doc>
+ <source-position filename="gst/gstmessage.h" line="837"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="message" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2791">a #GstMessage of type %GST_MESSAGE_PROPERTY_NOTIFY</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </instance-parameter>
+ <parameter name="object"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="none"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2792">location where to store a
+ pointer to the object whose property got changed, or %NULL</doc>
+ <type name="Object" c:type="GstObject**"/>
+ </parameter>
+ <parameter name="property_name"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="none"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2794">return location for
+ the name of the property that got changed, or %NULL</doc>
+ <type name="utf8" c:type="const gchar**"/>
+ </parameter>
+ <parameter name="property_value"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="none"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2796">return location for
+ the new value of the property that got changed, or %NULL. This will
+ only be set if the property notify watch was told to include the value
+ when it was set up</doc>
+ <type name="GObject.Value" c:type="const GValue**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_qos" c:identifier="gst_message_parse_qos">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2116">Extract the timestamps and live status from the QoS message.
+
+The returned values give the running_time, stream_time, timestamp and
+duration of the dropped buffer. Values of GST_CLOCK_TIME_NONE mean unknown
+values.
+
+MT safe.</doc>
+ <source-position filename="gst/gstmessage.h" line="746"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="message" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2118">A valid #GstMessage of type GST_MESSAGE_QOS.</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </instance-parameter>
+ <parameter name="live"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2119">if the message was generated by a live element</doc>
+ <type name="gboolean" c:type="gboolean*"/>
+ </parameter>
+ <parameter name="running_time"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2120">the running time of the buffer that
+ generated the message</doc>
+ <type name="guint64" c:type="guint64*"/>
+ </parameter>
+ <parameter name="stream_time"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2122">the stream time of the buffer that
+ generated the message</doc>
+ <type name="guint64" c:type="guint64*"/>
+ </parameter>
+ <parameter name="timestamp"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2124">the timestamps of the buffer that
+ generated the message</doc>
+ <type name="guint64" c:type="guint64*"/>
+ </parameter>
+ <parameter name="duration"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2126">the duration of the buffer that
+ generated the message</doc>
+ <type name="guint64" c:type="guint64*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_qos_stats"
+ c:identifier="gst_message_parse_qos_stats">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2187">Extract the QoS stats representing the history of the current continuous
+pipeline playback period.
+
+When @format is @GST_FORMAT_UNDEFINED both @dropped and @processed are
+invalid. Values of -1 for either @processed or @dropped mean unknown values.
+
+MT safe.</doc>
+ <source-position filename="gst/gstmessage.h" line="752"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="message" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2189">A valid #GstMessage of type GST_MESSAGE_QOS.</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </instance-parameter>
+ <parameter name="format"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2190">Units of the 'processed' and 'dropped' fields.
+ Video sinks and video filters will use GST_FORMAT_BUFFERS (frames).
+ Audio sinks and audio filters will likely use GST_FORMAT_DEFAULT
+ (samples).</doc>
+ <type name="Format" c:type="GstFormat*"/>
+ </parameter>
+ <parameter name="processed"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2194">Total number of units correctly processed
+ since the last state change to READY or a flushing operation.</doc>
+ <type name="guint64" c:type="guint64*"/>
+ </parameter>
+ <parameter name="dropped"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2196">Total number of units dropped since the last
+ state change to READY or a flushing operation.</doc>
+ <type name="guint64" c:type="guint64*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_qos_values"
+ c:identifier="gst_message_parse_qos_values">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2156">Extract the QoS values that have been calculated/analysed from the QoS data
+
+MT safe.</doc>
+ <source-position filename="gst/gstmessage.h" line="749"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="message" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2158">A valid #GstMessage of type GST_MESSAGE_QOS.</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </instance-parameter>
+ <parameter name="jitter"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2159">The difference of the running-time against
+ the deadline.</doc>
+ <type name="gint64" c:type="gint64*"/>
+ </parameter>
+ <parameter name="proportion"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2161">Long term prediction of the ideal rate
+ relative to normal rate to get optimal quality.</doc>
+ <type name="gdouble" c:type="gdouble*"/>
+ </parameter>
+ <parameter name="quality"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2163">An element dependent integer value that
+ specifies the current quality level of the element. The default
+ maximum quality is 1000000.</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_redirect_entry"
+ c:identifier="gst_message_parse_redirect_entry"
+ version="1.10">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="3160">Parses the location and/or structure from the entry with the given index.
+The index must be between 0 and gst_message_get_num_redirect_entries() - 1.
+Returned pointers are valid for as long as this message exists.</doc>
+ <source-position filename="gst/gstmessage.h" line="873"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="message" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="3162">a #GstMessage of type %GST_MESSAGE_REDIRECT</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </instance-parameter>
+ <parameter name="entry_index" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="3163">index of the entry to parse</doc>
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ <parameter name="location"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="none"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="3164">return location for
+ the pointer to the entry's location string, or %NULL</doc>
+ <type name="utf8" c:type="const gchar**"/>
+ </parameter>
+ <parameter name="tag_list"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="none"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="3166">return location for
+ the pointer to the entry's tag list, or %NULL</doc>
+ <type name="TagList" c:type="GstTagList**"/>
+ </parameter>
+ <parameter name="entry_struct"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="none"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="3168">return location
+ for the pointer to the entry's structure, or %NULL</doc>
+ <type name="Structure" c:type="const GstStructure**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_request_state"
+ c:identifier="gst_message_parse_request_state">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1711">Extract the requested state from the request_state message.
+
+MT safe.</doc>
+ <source-position filename="gst/gstmessage.h" line="721"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="message" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1713">A valid #GstMessage of type GST_MESSAGE_REQUEST_STATE.</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </instance-parameter>
+ <parameter name="state"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1714">Result location for the requested state or %NULL</doc>
+ <type name="State" c:type="GstState*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_reset_time"
+ c:identifier="gst_message_parse_reset_time">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2364">Extract the running-time from the RESET_TIME message.
+
+MT safe.</doc>
+ <source-position filename="gst/gstmessage.h" line="777"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="message" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2366">A valid #GstMessage of type GST_MESSAGE_RESET_TIME.</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </instance-parameter>
+ <parameter name="running_time"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2367">Result location for the running_time or
+ %NULL</doc>
+ <type name="ClockTime" c:type="GstClockTime*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_segment_done"
+ c:identifier="gst_message_parse_segment_done">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1657">Extracts the position and format from the segment done message.
+
+MT safe.</doc>
+ <source-position filename="gst/gstmessage.h" line="666"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="message" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1659">A valid #GstMessage of type GST_MESSAGE_SEGMENT_DONE.</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </instance-parameter>
+ <parameter name="format"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1660">Result location for the format, or %NULL</doc>
+ <type name="Format" c:type="GstFormat*"/>
+ </parameter>
+ <parameter name="position"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1661">Result location for the position, or %NULL</doc>
+ <type name="gint64" c:type="gint64*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_segment_start"
+ c:identifier="gst_message_parse_segment_start">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1627">Extracts the position and format from the segment start message.
+
+MT safe.</doc>
+ <source-position filename="gst/gstmessage.h" line="657"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="message" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1629">A valid #GstMessage of type GST_MESSAGE_SEGMENT_START.</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </instance-parameter>
+ <parameter name="format"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1630">Result location for the format, or %NULL</doc>
+ <type name="Format" c:type="GstFormat*"/>
+ </parameter>
+ <parameter name="position"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1631">Result location for the position, or %NULL</doc>
+ <type name="gint64" c:type="gint64*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_state_changed"
+ c:identifier="gst_message_parse_state_changed">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1350">Extracts the old and new states from the GstMessage.
+
+Typical usage of this function might be:
+|[&lt;!-- language="C" --&gt;
+ ...
+ switch (GST_MESSAGE_TYPE (msg)) {
+ case GST_MESSAGE_STATE_CHANGED: {
+ GstState old_state, new_state;
+
+ gst_message_parse_state_changed (msg, &amp;amp;old_state, &amp;amp;new_state, NULL);
+ g_print ("Element %s changed state from %s to %s.\n",
+ GST_OBJECT_NAME (msg-&gt;src),
+ gst_element_state_get_name (old_state),
+ gst_element_state_get_name (new_state));
+ break;
+ }
+ ...
+ }
+ ...
+]|
+
+MT safe.</doc>
+ <source-position filename="gst/gstmessage.h" line="598"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="message" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1352">a valid #GstMessage of type GST_MESSAGE_STATE_CHANGED</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </instance-parameter>
+ <parameter name="oldstate"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1353">the previous state, or %NULL</doc>
+ <type name="State" c:type="GstState*"/>
+ </parameter>
+ <parameter name="newstate"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1354">the new (current) state, or %NULL</doc>
+ <type name="State" c:type="GstState*"/>
+ </parameter>
+ <parameter name="pending"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1355">the pending (target) state, or %NULL</doc>
+ <type name="State" c:type="GstState*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_step_done"
+ c:identifier="gst_message_parse_step_done">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1887">Extract the values the step_done message.
+
+MT safe.</doc>
+ <source-position filename="gst/gstmessage.h" line="613"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="message" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1889">A valid #GstMessage of type GST_MESSAGE_STEP_DONE.</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </instance-parameter>
+ <parameter name="format"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1890">result location for the format</doc>
+ <type name="Format" c:type="GstFormat*"/>
+ </parameter>
+ <parameter name="amount"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1891">result location for the amount</doc>
+ <type name="guint64" c:type="guint64*"/>
+ </parameter>
+ <parameter name="rate"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1892">result location for the rate</doc>
+ <type name="gdouble" c:type="gdouble*"/>
+ </parameter>
+ <parameter name="flush"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1893">result location for the flush flag</doc>
+ <type name="gboolean" c:type="gboolean*"/>
+ </parameter>
+ <parameter name="intermediate"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1894">result location for the intermediate flag</doc>
+ <type name="gboolean" c:type="gboolean*"/>
+ </parameter>
+ <parameter name="duration"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1895">result location for the duration</doc>
+ <type name="guint64" c:type="guint64*"/>
+ </parameter>
+ <parameter name="eos"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1896">result location for the EOS flag</doc>
+ <type name="gboolean" c:type="gboolean*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_step_start"
+ c:identifier="gst_message_parse_step_start">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1967">Extract the values from step_start message.
+
+MT safe.</doc>
+ <source-position filename="gst/gstmessage.h" line="730"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="message" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1969">A valid #GstMessage of type GST_MESSAGE_STEP_DONE.</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </instance-parameter>
+ <parameter name="active"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1970">result location for the active flag</doc>
+ <type name="gboolean" c:type="gboolean*"/>
+ </parameter>
+ <parameter name="format"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1971">result location for the format</doc>
+ <type name="Format" c:type="GstFormat*"/>
+ </parameter>
+ <parameter name="amount"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1972">result location for the amount</doc>
+ <type name="guint64" c:type="guint64*"/>
+ </parameter>
+ <parameter name="rate"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1973">result location for the rate</doc>
+ <type name="gdouble" c:type="gdouble*"/>
+ </parameter>
+ <parameter name="flush"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1974">result location for the flush flag</doc>
+ <type name="gboolean" c:type="gboolean*"/>
+ </parameter>
+ <parameter name="intermediate"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1975">result location for the intermediate flag</doc>
+ <type name="gboolean" c:type="gboolean*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_stream_collection"
+ c:identifier="gst_message_parse_stream_collection"
+ version="1.10">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2862">Parses a stream-collection message.</doc>
+ <source-position filename="gst/gstmessage.h" line="845"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="message" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2864">a #GstMessage of type %GST_MESSAGE_STREAM_COLLECTION</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </instance-parameter>
+ <parameter name="collection"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2865">A location where to store a
+ pointer to the #GstStreamCollection, or %NULL</doc>
+ <type name="StreamCollection" c:type="GstStreamCollection**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_stream_status"
+ c:identifier="gst_message_parse_stream_status">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1763">Extracts the stream status type and owner the GstMessage. The returned
+owner remains valid for as long as the reference to @message is valid and
+should thus not be unreffed.
+
+MT safe.</doc>
+ <source-position filename="gst/gstmessage.h" line="707"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="message" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1765">A valid #GstMessage of type GST_MESSAGE_STREAM_STATUS.</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </instance-parameter>
+ <parameter name="type"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1766">A pointer to hold the status type</doc>
+ <type name="StreamStatusType" c:type="GstStreamStatusType*"/>
+ </parameter>
+ <parameter name="owner"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1767">The owner element of the message source</doc>
+ <type name="Element" c:type="GstElement**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_streams_selected"
+ c:identifier="gst_message_parse_streams_selected"
+ version="1.10">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="3010">Parses a streams-selected message.</doc>
+ <source-position filename="gst/gstmessage.h" line="856"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="message" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="3012">a #GstMessage of type %GST_MESSAGE_STREAMS_SELECTED</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </instance-parameter>
+ <parameter name="collection"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="3013">A location where to store a
+ pointer to the #GstStreamCollection, or %NULL</doc>
+ <type name="StreamCollection" c:type="GstStreamCollection**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_structure_change"
+ c:identifier="gst_message_parse_structure_change">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1496">Extracts the change type and completion status from the GstMessage.
+
+MT safe.</doc>
+ <source-position filename="gst/gstmessage.h" line="698"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="message" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1498">A valid #GstMessage of type GST_MESSAGE_STRUCTURE_CHANGE.</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </instance-parameter>
+ <parameter name="type"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1499">A pointer to hold the change type</doc>
+ <type name="StructureChangeType" c:type="GstStructureChangeType*"/>
+ </parameter>
+ <parameter name="owner"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="none"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1500">The owner element of the
+ message source</doc>
+ <type name="Element" c:type="GstElement**"/>
+ </parameter>
+ <parameter name="busy"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1502">a pointer to hold whether the change is in
+ progress or has been completed</doc>
+ <type name="gboolean" c:type="gboolean*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_tag" c:identifier="gst_message_parse_tag">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1228">Extracts the tag list from the GstMessage. The tag list returned in the
+output argument is a copy; the caller must free it when done.
+
+Typical usage of this function might be:
+|[&lt;!-- language="C" --&gt;
+ ...
+ switch (GST_MESSAGE_TYPE (msg)) {
+ case GST_MESSAGE_TAG: {
+ GstTagList *tags = NULL;
+
+ gst_message_parse_tag (msg, &amp;amp;tags);
+ g_print ("Got tags from element %s\n", GST_OBJECT_NAME (msg-&gt;src));
+ handle_tags (tags);
+ gst_tag_list_unref (tags);
+ break;
+ }
+ ...
+ }
+ ...
+]|
+
+MT safe.</doc>
+ <source-position filename="gst/gstmessage.h" line="573"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="message" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1230">A valid #GstMessage of type GST_MESSAGE_TAG.</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </instance-parameter>
+ <parameter name="tag_list"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1231">return location for the tag-list.</doc>
+ <type name="TagList" c:type="GstTagList**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_toc" c:identifier="gst_message_parse_toc">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2315">Extract the TOC from the #GstMessage. The TOC returned in the
+output argument is a copy; the caller must free it with
+gst_toc_unref() when done.
+
+MT safe.</doc>
+ <source-position filename="gst/gstmessage.h" line="769"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="message" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2317">a valid #GstMessage of type GST_MESSAGE_TOC.</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </instance-parameter>
+ <parameter name="toc"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2318">return location for the TOC.</doc>
+ <type name="Toc" c:type="GstToc**"/>
+ </parameter>
+ <parameter name="updated"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2319">return location for the updated flag.</doc>
+ <type name="gboolean" c:type="gboolean*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_warning" c:identifier="gst_message_parse_warning">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1580">Extracts the GError and debug string from the GstMessage. The values returned
+in the output arguments are copies; the caller must free them when done.
+
+MT safe.</doc>
+ <source-position filename="gst/gstmessage.h" line="548"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="message" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1582">A valid #GstMessage of type GST_MESSAGE_WARNING.</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </instance-parameter>
+ <parameter name="gerror"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1583">location for the GError</doc>
+ <type name="GLib.Error" c:type="GError**"/>
+ </parameter>
+ <parameter name="debug"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1584">location for the debug message,
+ or %NULL</doc>
+ <type name="utf8" c:type="gchar**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_warning_details"
+ c:identifier="gst_message_parse_warning_details"
+ version="1.10">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="558">Returns the optional details structure, may be NULL if none
+The returned structure must not be freed.</doc>
+ <source-position filename="gst/gstmessage.h" line="551"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="message" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="560">The message object</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </instance-parameter>
+ <parameter name="structure"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="561">A pointer to the returned details structure</doc>
+ <type name="Structure" c:type="const GstStructure**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="ref" c:identifier="gst_message_ref" introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.h"
+ line="364">Convenience macro to increase the reference count of the message.</doc>
+ <source-position filename="gst/gstmessage.h" line="372"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.h"
+ line="370">@msg (for convenience when doing assignments)</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.h"
+ line="366">the message to ref</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="set_buffering_stats"
+ c:identifier="gst_message_set_buffering_stats">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1289">Configures the buffering stats values in @message.</doc>
+ <source-position filename="gst/gstmessage.h" line="584"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="message" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1291">A valid #GstMessage of type GST_MESSAGE_BUFFERING.</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </instance-parameter>
+ <parameter name="mode" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1292">a buffering mode</doc>
+ <type name="BufferingMode" c:type="GstBufferingMode"/>
+ </parameter>
+ <parameter name="avg_in" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1293">the average input rate</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="avg_out" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1294">the average output rate</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="buffering_left" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1295">amount of buffering time left in milliseconds</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_group_id"
+ c:identifier="gst_message_set_group_id"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2414">Sets the group id on the stream-start message.
+
+All streams that have the same group id are supposed to be played
+together, i.e. all streams inside a container file should have the
+same group id but different stream ids. The group id should change
+each time the stream is started, resulting in different group ids
+each time a file is played for example.
+
+MT safe.</doc>
+ <source-position filename="gst/gstmessage.h" line="785"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="message" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2416">the message</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </instance-parameter>
+ <parameter name="group_id" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2417">the group id</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_qos_stats" c:identifier="gst_message_set_qos_stats">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2081">Set the QoS stats representing the history of the current continuous pipeline
+playback period.
+
+When @format is @GST_FORMAT_UNDEFINED both @dropped and @processed are
+invalid. Values of -1 for either @processed or @dropped mean unknown values.
+
+MT safe.</doc>
+ <source-position filename="gst/gstmessage.h" line="743"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="message" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2083">A valid #GstMessage of type GST_MESSAGE_QOS.</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </instance-parameter>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2084">Units of the 'processed' and 'dropped' fields. Video sinks and video
+filters will use GST_FORMAT_BUFFERS (frames). Audio sinks and audio filters
+will likely use GST_FORMAT_DEFAULT (samples).</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ <parameter name="processed" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2087">Total number of units correctly processed since the last state
+change to READY or a flushing operation.</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ <parameter name="dropped" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2089">Total number of units dropped since the last state change to READY
+or a flushing operation.</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_qos_values" c:identifier="gst_message_set_qos_values">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2052">Set the QoS values that have been calculated/analysed from the QoS data
+
+MT safe.</doc>
+ <source-position filename="gst/gstmessage.h" line="740"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="message" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2054">A valid #GstMessage of type GST_MESSAGE_QOS.</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </instance-parameter>
+ <parameter name="jitter" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2055">The difference of the running-time against the deadline.</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ <parameter name="proportion" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2056">Long term prediction of the ideal rate relative to normal rate
+to get optimal quality.</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </parameter>
+ <parameter name="quality" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2058">An element dependent integer value that specifies the current
+quality level of the element. The default maximum quality is 1000000.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_seqnum" c:identifier="gst_message_set_seqnum">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="358">Set the sequence number of a message.
+
+This function might be called by the creator of a message to indicate that
+the message relates to other messages or events. See gst_message_get_seqnum()
+for more information.
+
+MT safe.</doc>
+ <source-position filename="gst/gstmessage.h" line="518"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="message" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="360">A #GstMessage.</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </instance-parameter>
+ <parameter name="seqnum" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="361">A sequence number.</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_stream_status_object"
+ c:identifier="gst_message_set_stream_status_object">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1797">Configures the object handling the streaming thread. This is usually a
+GstTask object but other objects might be added in the future.</doc>
+ <source-position filename="gst/gstmessage.h" line="710"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="message" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1799">A valid #GstMessage of type GST_MESSAGE_STREAM_STATUS.</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </instance-parameter>
+ <parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1800">the object controlling the streaming</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="streams_selected_add"
+ c:identifier="gst_message_streams_selected_add"
+ version="1.10">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2952">Adds the @stream to the @message.</doc>
+ <source-position filename="gst/gstmessage.h" line="853"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="message" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2954">a #GstMessage of type %GST_MESSAGE_STREAMS_SELECTED</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </instance-parameter>
+ <parameter name="stream" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2955">a #GstStream to add to @message</doc>
+ <type name="Stream" c:type="GstStream*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="streams_selected_get_size"
+ c:identifier="gst_message_streams_selected_get_size"
+ version="1.10">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2927">Returns the number of streams contained in the @message.</doc>
+ <source-position filename="gst/gstmessage.h" line="859"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2933">The number of streams contained within.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="message" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2929">a #GstMessage of type %GST_MESSAGE_STREAMS_SELECTED</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="streams_selected_get_stream"
+ c:identifier="gst_message_streams_selected_get_stream"
+ version="1.10">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2979">Retrieves the #GstStream with index @index from the @message.</doc>
+ <source-position filename="gst/gstmessage.h" line="862"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2986">A #GstStream</doc>
+ <type name="Stream" c:type="GstStream*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="message" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2981">a #GstMessage of type %GST_MESSAGE_STREAMS_SELECTED</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </instance-parameter>
+ <parameter name="idx" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="2982">Index of the stream to retrieve</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="unref" c:identifier="gst_message_unref" introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.h"
+ line="379">Convenience macro to decrease the reference count of the message, possibly
+freeing it.</doc>
+ <source-position filename="gst/gstmessage.h" line="386"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.h"
+ line="381">the message to unref</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="writable_structure"
+ c:identifier="gst_message_writable_structure"
+ version="1.14">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1167">Get a writable version of the structure.</doc>
+ <source-position filename="gst/gstmessage.h" line="507"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1173">The structure of the message. The structure
+is still owned by the message, which means that you should not free
+it and that the pointer becomes invalid when you free the message.
+This function checks if @message is writable and will never return
+%NULL.
+
+MT safe.</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="message" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="1169">The #GstMessage.</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <function name="replace"
+ c:identifier="gst_message_replace"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.h"
+ line="450">Modifies a pointer to a #GstMessage to point to a different #GstMessage. The
+modification is done atomically (so this is useful for ensuring thread safety
+in some cases), and the reference counts are updated appropriately (the old
+message is unreffed, the new one is reffed).
+
+Either @new_message or the #GstMessage pointed to by @old_message may be %NULL.</doc>
+ <source-position filename="gst/gstmessage.h" line="466"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.h"
+ line="464">%TRUE if @new_message was different from @old_message</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="old_message"
+ direction="inout"
+ caller-allocates="0"
+ transfer-ownership="full"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.h"
+ line="452">pointer to a
+ pointer to a #GstMessage to be replaced.</doc>
+ <type name="Message" c:type="GstMessage**"/>
+ </parameter>
+ <parameter name="new_message"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.h"
+ line="454">pointer to a #GstMessage that will
+ replace the message pointed to by @old_message.</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </parameter>
+ </parameters>
+ </function>
+ </record>
+ <bitfield name="MessageType"
+ glib:type-name="GstMessageType"
+ glib:get-type="gst_message_type_get_type"
+ c:type="GstMessageType">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.h"
+ line="31">The different message types that are available.</doc>
+ <member name="unknown"
+ value="0"
+ c:identifier="GST_MESSAGE_UNKNOWN"
+ glib:nick="unknown">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.h"
+ line="33">an undefined message</doc>
+ </member>
+ <member name="eos"
+ value="1"
+ c:identifier="GST_MESSAGE_EOS"
+ glib:nick="eos">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.h"
+ line="34">end-of-stream reached in a pipeline. The application will
+only receive this message in the PLAYING state and every time it sets a
+pipeline to PLAYING that is in the EOS state. The application can perform a
+flushing seek in the pipeline, which will undo the EOS state again.</doc>
+ </member>
+ <member name="error"
+ value="2"
+ c:identifier="GST_MESSAGE_ERROR"
+ glib:nick="error">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.h"
+ line="38">an error occurred. When the application receives an error
+message it should stop playback of the pipeline and not assume that more
+data will be played. It is possible to specify a redirection url to the error
+messages by setting a `redirect-location` field into the error message, application
+or high level bins might use the information as required.</doc>
+ </member>
+ <member name="warning"
+ value="4"
+ c:identifier="GST_MESSAGE_WARNING"
+ glib:nick="warning">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.h"
+ line="43">a warning occurred.</doc>
+ </member>
+ <member name="info"
+ value="8"
+ c:identifier="GST_MESSAGE_INFO"
+ glib:nick="info">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.h"
+ line="44">an info message occurred</doc>
+ </member>
+ <member name="tag"
+ value="16"
+ c:identifier="GST_MESSAGE_TAG"
+ glib:nick="tag">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.h"
+ line="45">a tag was found.</doc>
+ </member>
+ <member name="buffering"
+ value="32"
+ c:identifier="GST_MESSAGE_BUFFERING"
+ glib:nick="buffering">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.h"
+ line="46">the pipeline is buffering. When the application
+receives a buffering message in the PLAYING state for a non-live pipeline it
+must PAUSE the pipeline until the buffering completes, when the percentage
+field in the message is 100%. For live pipelines, no action must be
+performed and the buffering percentage can be used to inform the user about
+the progress.</doc>
+ </member>
+ <member name="state_changed"
+ value="64"
+ c:identifier="GST_MESSAGE_STATE_CHANGED"
+ glib:nick="state-changed">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.h"
+ line="52">a state change happened</doc>
+ </member>
+ <member name="state_dirty"
+ value="128"
+ c:identifier="GST_MESSAGE_STATE_DIRTY"
+ glib:nick="state-dirty">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.h"
+ line="53">an element changed state in a streaming thread.
+This message is deprecated.</doc>
+ </member>
+ <member name="step_done"
+ value="256"
+ c:identifier="GST_MESSAGE_STEP_DONE"
+ glib:nick="step-done">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.h"
+ line="55">a stepping operation finished.</doc>
+ </member>
+ <member name="clock_provide"
+ value="512"
+ c:identifier="GST_MESSAGE_CLOCK_PROVIDE"
+ glib:nick="clock-provide">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.h"
+ line="56">an element notifies its capability of providing
+ a clock. This message is used internally and
+ never forwarded to the application.</doc>
+ </member>
+ <member name="clock_lost"
+ value="1024"
+ c:identifier="GST_MESSAGE_CLOCK_LOST"
+ glib:nick="clock-lost">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.h"
+ line="59">The current clock as selected by the pipeline became
+ unusable. The pipeline will select a new clock on
+ the next PLAYING state change. The application
+ should set the pipeline to PAUSED and back to
+ PLAYING when this message is received.</doc>
+ </member>
+ <member name="new_clock"
+ value="2048"
+ c:identifier="GST_MESSAGE_NEW_CLOCK"
+ glib:nick="new-clock">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.h"
+ line="64">a new clock was selected in the pipeline.</doc>
+ </member>
+ <member name="structure_change"
+ value="4096"
+ c:identifier="GST_MESSAGE_STRUCTURE_CHANGE"
+ glib:nick="structure-change">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.h"
+ line="65">the structure of the pipeline changed. This
+message is used internally and never forwarded to the application.</doc>
+ </member>
+ <member name="stream_status"
+ value="8192"
+ c:identifier="GST_MESSAGE_STREAM_STATUS"
+ glib:nick="stream-status">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.h"
+ line="67">status about a stream, emitted when it starts,
+ stops, errors, etc..</doc>
+ </member>
+ <member name="application"
+ value="16384"
+ c:identifier="GST_MESSAGE_APPLICATION"
+ glib:nick="application">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.h"
+ line="69">message posted by the application, possibly
+ via an application-specific element.</doc>
+ </member>
+ <member name="element"
+ value="32768"
+ c:identifier="GST_MESSAGE_ELEMENT"
+ glib:nick="element">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.h"
+ line="71">element-specific message, see the specific element's
+ documentation</doc>
+ </member>
+ <member name="segment_start"
+ value="65536"
+ c:identifier="GST_MESSAGE_SEGMENT_START"
+ glib:nick="segment-start">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.h"
+ line="73">pipeline started playback of a segment. This
+message is used internally and never forwarded to the application.</doc>
+ </member>
+ <member name="segment_done"
+ value="131072"
+ c:identifier="GST_MESSAGE_SEGMENT_DONE"
+ glib:nick="segment-done">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.h"
+ line="75">pipeline completed playback of a segment. This
+message is forwarded to the application after all elements that posted
+@GST_MESSAGE_SEGMENT_START posted a GST_MESSAGE_SEGMENT_DONE message.</doc>
+ </member>
+ <member name="duration_changed"
+ value="262144"
+ c:identifier="GST_MESSAGE_DURATION_CHANGED"
+ glib:nick="duration-changed">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.h"
+ line="78">The duration of a pipeline changed. The
+application can get the new duration with a duration query.</doc>
+ </member>
+ <member name="latency"
+ value="524288"
+ c:identifier="GST_MESSAGE_LATENCY"
+ glib:nick="latency">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.h"
+ line="86">Posted by elements when their latency changes. The
+application should recalculate and distribute a new latency.</doc>
+ </member>
+ <member name="async_start"
+ value="1048576"
+ c:identifier="GST_MESSAGE_ASYNC_START"
+ glib:nick="async-start">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.h"
+ line="80">Posted by elements when they start an ASYNC
+#GstStateChange. This message is not forwarded to the application but is used
+internally.</doc>
+ </member>
+ <member name="async_done"
+ value="2097152"
+ c:identifier="GST_MESSAGE_ASYNC_DONE"
+ glib:nick="async-done">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.h"
+ line="83">Posted by elements when they complete an ASYNC
+#GstStateChange. The application will only receive this message from the toplevel
+pipeline.</doc>
+ </member>
+ <member name="request_state"
+ value="4194304"
+ c:identifier="GST_MESSAGE_REQUEST_STATE"
+ glib:nick="request-state">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.h"
+ line="88">Posted by elements when they want the pipeline to
+change state. This message is a suggestion to the application which can
+decide to perform the state change on (part of) the pipeline.</doc>
+ </member>
+ <member name="step_start"
+ value="8388608"
+ c:identifier="GST_MESSAGE_STEP_START"
+ glib:nick="step-start">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.h"
+ line="91">A stepping operation was started.</doc>
+ </member>
+ <member name="qos"
+ value="16777216"
+ c:identifier="GST_MESSAGE_QOS"
+ glib:nick="qos">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.h"
+ line="92">A buffer was dropped or an element changed its processing
+strategy for Quality of Service reasons.</doc>
+ </member>
+ <member name="progress"
+ value="33554432"
+ c:identifier="GST_MESSAGE_PROGRESS"
+ glib:nick="progress">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.h"
+ line="94">A progress message.</doc>
+ </member>
+ <member name="toc"
+ value="67108864"
+ c:identifier="GST_MESSAGE_TOC"
+ glib:nick="toc">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.h"
+ line="95">A new table of contents (TOC) was found or previously found TOC
+was updated.</doc>
+ </member>
+ <member name="reset_time"
+ value="134217728"
+ c:identifier="GST_MESSAGE_RESET_TIME"
+ glib:nick="reset-time">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.h"
+ line="97">Message to request resetting the pipeline's
+ running time from the pipeline. This is an internal message which
+ applications will likely never receive.</doc>
+ </member>
+ <member name="stream_start"
+ value="268435456"
+ c:identifier="GST_MESSAGE_STREAM_START"
+ glib:nick="stream-start">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.h"
+ line="100">Message indicating start of a new stream. Useful
+ e.g. when using playbin in gapless playback mode, to get notified when
+ the next title actually starts playing (which will be some time after
+ the URI for the next title has been set).</doc>
+ </member>
+ <member name="need_context"
+ value="536870912"
+ c:identifier="GST_MESSAGE_NEED_CONTEXT"
+ glib:nick="need-context">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.h"
+ line="104">Message indicating that an element wants a specific context (Since: 1.2)</doc>
+ </member>
+ <member name="have_context"
+ value="1073741824"
+ c:identifier="GST_MESSAGE_HAVE_CONTEXT"
+ glib:nick="have-context">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.h"
+ line="105">Message indicating that an element created a context (Since: 1.2)</doc>
+ </member>
+ <member name="extended"
+ value="2147483648"
+ c:identifier="GST_MESSAGE_EXTENDED"
+ glib:nick="extended">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.h"
+ line="106">Message is an extended message type (see below).
+ These extended message IDs can't be used directly with mask-based API
+ like gst_bus_poll() or gst_bus_timed_pop_filtered(), but you can still
+ filter for GST_MESSAGE_EXTENDED and then check the result for the
+ specific type. (Since: 1.4)</doc>
+ </member>
+ <member name="device_added"
+ value="2147483649"
+ c:identifier="GST_MESSAGE_DEVICE_ADDED"
+ glib:nick="device-added">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.h"
+ line="111">Message indicating a #GstDevice was added to
+ a #GstDeviceProvider (Since: 1.4)</doc>
+ </member>
+ <member name="device_removed"
+ value="2147483650"
+ c:identifier="GST_MESSAGE_DEVICE_REMOVED"
+ glib:nick="device-removed">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.h"
+ line="113">Message indicating a #GstDevice was removed
+ from a #GstDeviceProvider (Since: 1.4)</doc>
+ </member>
+ <member name="property_notify"
+ value="2147483651"
+ c:identifier="GST_MESSAGE_PROPERTY_NOTIFY"
+ glib:nick="property-notify">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.h"
+ line="115">Message indicating a #GObject property has
+ changed (Since: 1.10)</doc>
+ </member>
+ <member name="stream_collection"
+ value="2147483652"
+ c:identifier="GST_MESSAGE_STREAM_COLLECTION"
+ glib:nick="stream-collection">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.h"
+ line="117">Message indicating a new #GstStreamCollection
+ is available (Since: 1.10)</doc>
+ </member>
+ <member name="streams_selected"
+ value="2147483653"
+ c:identifier="GST_MESSAGE_STREAMS_SELECTED"
+ glib:nick="streams-selected">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.h"
+ line="119">Message indicating the active selection of
+ #GstStreams has changed (Since: 1.10)</doc>
+ </member>
+ <member name="redirect"
+ value="2147483654"
+ c:identifier="GST_MESSAGE_REDIRECT"
+ glib:nick="redirect">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.h"
+ line="121">Message indicating to request the application to
+ try to play the given URL(s). Useful if for example a HTTP 302/303
+ response is received with a non-HTTP URL inside. (Since: 1.10)</doc>
+ </member>
+ <member name="device_changed"
+ value="2147483655"
+ c:identifier="GST_MESSAGE_DEVICE_CHANGED"
+ glib:nick="device-changed">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.h"
+ line="124">Message indicating a #GstDevice was changed
+ a #GstDeviceProvider (Since: 1.16)</doc>
+ </member>
+ <member name="instant_rate_request"
+ value="2147483656"
+ c:identifier="GST_MESSAGE_INSTANT_RATE_REQUEST"
+ glib:nick="instant-rate-request">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.h"
+ line="126">Message sent by elements to request the
+ running time from the pipeline when an instant rate change should
+ be applied (which may be in the past when the answer arrives). (Since: 1.18)</doc>
+ </member>
+ <member name="any"
+ value="4294967295"
+ c:identifier="GST_MESSAGE_ANY"
+ glib:nick="any">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.h"
+ line="129">mask for all of the above messages.</doc>
+ </member>
+ <function name="get_name" c:identifier="gst_message_type_get_name">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="140">Get a printable name for the given message type. Do not modify or free.</doc>
+ <source-position filename="gst/gstmessage.h" line="358"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="146">a reference to the static name of the message.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="142">the message type</doc>
+ <type name="MessageType" c:type="GstMessageType"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="to_quark" c:identifier="gst_message_type_to_quark">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="160">Get the unique quark for the given message type.</doc>
+ <source-position filename="gst/gstmessage.h" line="361"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="166">the quark associated with the message type</doc>
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </return-value>
+ <parameters>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="162">the message type</doc>
+ <type name="MessageType" c:type="GstMessageType"/>
+ </parameter>
+ </parameters>
+ </function>
+ </bitfield>
+ <record name="Meta" c:type="GstMeta">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.c"
+ line="22">The #GstMeta structure should be included as the first member of a #GstBuffer
+metadata structure. The structure defines the API of the metadata and should
+be accessible to all elements using the metadata.
+
+A metadata API is registered with gst_meta_api_type_register() which takes a
+name for the metadata API and some tags associated with the metadata.
+With gst_meta_api_type_has_tag() one can check if a certain metadata API
+contains a given tag.
+
+Multiple implementations of a metadata API can be registered.
+To implement a metadata API, gst_meta_register() should be used. This
+function takes all parameters needed to create, free and transform metadata
+along with the size of the metadata. The function returns a #GstMetaInfo
+structure that contains the information for the implementation of the API.
+
+A specific implementation can be retrieved by name with gst_meta_get_info().
+
+See #GstBuffer for how the metadata can be added, retrieved and removed from
+buffers.</doc>
+ <source-position filename="gst/gstmeta.h" line="106"/>
+ <field name="flags" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.h"
+ line="97">extra flags for the metadata</doc>
+ <type name="MetaFlags" c:type="GstMetaFlags"/>
+ </field>
+ <field name="info" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.h"
+ line="98">pointer to the #GstMetaInfo</doc>
+ <type name="MetaInfo" c:type="const GstMetaInfo*"/>
+ </field>
+ <method name="compare_seqnum"
+ c:identifier="gst_meta_compare_seqnum"
+ version="1.16">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.c"
+ line="461">Meta sequence number compare function. Can be used as #GCompareFunc
+or a #GCompareDataFunc.</doc>
+ <source-position filename="gst/gstmeta.h" line="279"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.c"
+ line="469">a negative number if @meta1 comes before @meta2, 0 if both metas
+ have an equal sequence number, or a positive integer if @meta1 comes
+ after @meta2.</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="meta1" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.c"
+ line="463">a #GstMeta</doc>
+ <type name="Meta" c:type="const GstMeta*"/>
+ </instance-parameter>
+ <parameter name="meta2" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.c"
+ line="464">a #GstMeta</doc>
+ <type name="Meta" c:type="const GstMeta*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_seqnum"
+ c:identifier="gst_meta_get_seqnum"
+ version="1.16">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.c"
+ line="439">Gets seqnum for this meta.</doc>
+ <source-position filename="gst/gstmeta.h" line="276"/>
+ <return-value transfer-ownership="none">
+ <type name="guint64" c:type="guint64"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="meta" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.c"
+ line="441">a #GstMeta</doc>
+ <type name="Meta" c:type="const GstMeta*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <function name="api_type_get_tags"
+ c:identifier="gst_meta_api_type_get_tags"
+ version="1.2">
+ <source-position filename="gst/gstmeta.h" line="273"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.c"
+ line="335">an array of tags as strings.</doc>
+ <array c:type="const gchar* const*">
+ <type name="utf8"/>
+ </array>
+ </return-value>
+ <parameters>
+ <parameter name="api" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.c"
+ line="333">an API</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="api_type_has_tag"
+ c:identifier="gst_meta_api_type_has_tag">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.c"
+ line="313">Check if @api was registered with @tag.</doc>
+ <source-position filename="gst/gstmeta.h" line="246"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.c"
+ line="320">%TRUE if @api was registered with @tag.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="api" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.c"
+ line="315">an API</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.c"
+ line="316">the tag to check</doc>
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="api_type_register"
+ c:identifier="gst_meta_api_type_register">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.c"
+ line="115">Register and return a GType for the @api and associate it with
+@tags.</doc>
+ <source-position filename="gst/gstmeta.h" line="243"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.c"
+ line="123">a unique GType for @api.</doc>
+ <type name="GType" c:type="GType"/>
+ </return-value>
+ <parameters>
+ <parameter name="api" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.c"
+ line="117">an API to register</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="tags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.c"
+ line="118">tags for @api</doc>
+ <array c:type="const gchar**">
+ <type name="utf8" c:type="gchar*"/>
+ </array>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="get_info" c:identifier="gst_meta_get_info">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.c"
+ line="415">Lookup a previously registered meta info structure by its implementation name
+@impl.</doc>
+ <source-position filename="gst/gstmeta.h" line="270"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.c"
+ line="422">a #GstMetaInfo with @impl, or
+%NULL when no such metainfo exists.</doc>
+ <type name="MetaInfo" c:type="const GstMetaInfo*"/>
+ </return-value>
+ <parameters>
+ <parameter name="impl" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.c"
+ line="417">the name</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="register" c:identifier="gst_meta_register">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.c"
+ line="353">Register a new #GstMeta implementation.
+
+The same @info can be retrieved later with gst_meta_get_info() by using
+@impl as the key.</doc>
+ <source-position filename="gst/gstmeta.h" line="249"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.c"
+ line="367">a #GstMetaInfo that can be used to
+access metadata.</doc>
+ <type name="MetaInfo" c:type="const GstMetaInfo*"/>
+ </return-value>
+ <parameters>
+ <parameter name="api" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.c"
+ line="355">the type of the #GstMeta API</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ <parameter name="impl" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.c"
+ line="356">the name of the #GstMeta implementation</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.c"
+ line="357">the size of the #GstMeta structure</doc>
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ <parameter name="init_func" transfer-ownership="none" scope="async">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.c"
+ line="358">a #GstMetaInitFunction</doc>
+ <type name="MetaInitFunction" c:type="GstMetaInitFunction"/>
+ </parameter>
+ <parameter name="free_func" transfer-ownership="none" scope="async">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.c"
+ line="359">a #GstMetaFreeFunction</doc>
+ <type name="MetaFreeFunction" c:type="GstMetaFreeFunction"/>
+ </parameter>
+ <parameter name="transform_func"
+ transfer-ownership="none"
+ scope="async">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.c"
+ line="360">a #GstMetaTransformFunction</doc>
+ <type name="MetaTransformFunction"
+ c:type="GstMetaTransformFunction"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="register_custom"
+ c:identifier="gst_meta_register_custom"
+ version="1.20">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.c"
+ line="236">Register a new custom #GstMeta implementation, backed by an opaque
+structure holding a #GstStructure.
+
+The registered info can be retrieved later with gst_meta_get_info() by using
+@name as the key.
+
+The backing #GstStructure can be retrieved with
+gst_custom_meta_get_structure(), its mutability is conditioned by the
+writability of the buffer the meta is attached to.
+
+When @transform_func is %NULL, the meta and its backing #GstStructure
+will always be copied when the transform operation is copy, other operations
+are discarded, copy regions are ignored.</doc>
+ <source-position filename="gst/gstmeta.h" line="256"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.c"
+ line="258">a #GstMetaInfo that can be used to
+access metadata.</doc>
+ <type name="MetaInfo" c:type="const GstMetaInfo*"/>
+ </return-value>
+ <parameters>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.c"
+ line="238">the name of the #GstMeta implementation</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="tags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.c"
+ line="239">tags for @api</doc>
+ <array c:type="const gchar**">
+ <type name="utf8" c:type="gchar*"/>
+ </array>
+ </parameter>
+ <parameter name="transform_func"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1"
+ scope="notified"
+ closure="3"
+ destroy="4">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.c"
+ line="240">a #GstMetaTransformFunction</doc>
+ <type name="CustomMetaTransformFunction"
+ c:type="GstCustomMetaTransformFunction"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.c"
+ line="241">user data passed to @transform_func</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="destroy_data"
+ transfer-ownership="none"
+ scope="async">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.c"
+ line="242">#GDestroyNotify for user_data</doc>
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </parameter>
+ </parameters>
+ </function>
+ </record>
+ <bitfield name="MetaFlags"
+ glib:type-name="GstMetaFlags"
+ glib:get-type="gst_meta_flags_get_type"
+ c:type="GstMetaFlags">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.h"
+ line="35">Extra metadata flags.</doc>
+ <member name="none"
+ value="0"
+ c:identifier="GST_META_FLAG_NONE"
+ glib:nick="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.h"
+ line="37">no flags</doc>
+ </member>
+ <member name="readonly"
+ value="1"
+ c:identifier="GST_META_FLAG_READONLY"
+ glib:nick="readonly">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.h"
+ line="38">metadata should not be modified</doc>
+ </member>
+ <member name="pooled"
+ value="2"
+ c:identifier="GST_META_FLAG_POOLED"
+ glib:nick="pooled">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.h"
+ line="39">metadata is managed by a bufferpool</doc>
+ </member>
+ <member name="locked"
+ value="4"
+ c:identifier="GST_META_FLAG_LOCKED"
+ glib:nick="locked">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.h"
+ line="40">metadata should not be removed</doc>
+ </member>
+ <member name="last"
+ value="65536"
+ c:identifier="GST_META_FLAG_LAST"
+ glib:nick="last">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.h"
+ line="41">additional flags can be added starting from this flag.</doc>
+ </member>
+ </bitfield>
+ <callback name="MetaFreeFunction" c:type="GstMetaFreeFunction">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.h"
+ line="131">Function called when @meta is freed in @buffer.</doc>
+ <source-position filename="gst/gstmeta.h" line="138"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="meta" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.h"
+ line="133">a #GstMeta</doc>
+ <type name="Meta" c:type="GstMeta*"/>
+ </parameter>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.h"
+ line="134">a #GstBuffer</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <record name="MetaInfo" c:type="GstMetaInfo">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.h"
+ line="216">The #GstMetaInfo provides information about a specific metadata
+structure.</doc>
+ <source-position filename="gst/gstmeta.h" line="240"/>
+ <field name="api" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.h"
+ line="218">tag identifying the metadata structure and api</doc>
+ <type name="GType" c:type="GType"/>
+ </field>
+ <field name="type" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.h"
+ line="219">type identifying the implementor of the api</doc>
+ <type name="GType" c:type="GType"/>
+ </field>
+ <field name="size" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.h"
+ line="220">size of the metadata</doc>
+ <type name="gsize" c:type="gsize"/>
+ </field>
+ <field name="init_func" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.h"
+ line="221">function for initializing the metadata</doc>
+ <type name="MetaInitFunction" c:type="GstMetaInitFunction"/>
+ </field>
+ <field name="free_func" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.h"
+ line="222">function for freeing the metadata</doc>
+ <type name="MetaFreeFunction" c:type="GstMetaFreeFunction"/>
+ </field>
+ <field name="transform_func" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.h"
+ line="223">function for transforming the metadata</doc>
+ <type name="MetaTransformFunction" c:type="GstMetaTransformFunction"/>
+ </field>
+ <method name="is_custom"
+ c:identifier="gst_meta_info_is_custom"
+ version="1.20">
+ <source-position filename="gst/gstmeta.h" line="261"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.c"
+ line="301">whether @info was registered as a #GstCustomMeta with
+ gst_meta_register_custom()</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="info" transfer-ownership="none">
+ <type name="MetaInfo" c:type="const GstMetaInfo*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ </record>
+ <callback name="MetaInitFunction" c:type="GstMetaInitFunction">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.h"
+ line="121">Function called when @meta is initialized in @buffer.</doc>
+ <source-position filename="gst/gstmeta.h" line="129"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="meta" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.h"
+ line="123">a #GstMeta</doc>
+ <type name="Meta" c:type="GstMeta*"/>
+ </parameter>
+ <parameter name="params"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.h"
+ line="124">parameters passed to the init function</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.h"
+ line="125">a #GstBuffer</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <record name="MetaTransformCopy" c:type="GstMetaTransformCopy">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.h"
+ line="156">Extra data passed to a "gst-copy" transform #GstMetaTransformFunction.</doc>
+ <source-position filename="gst/gstmeta.h" line="168"/>
+ <field name="region" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.h"
+ line="158">%TRUE if only region is copied</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="offset" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.h"
+ line="159">the offset to copy, 0 if @region is %FALSE, otherwise &gt; 0</doc>
+ <type name="gsize" c:type="gsize"/>
+ </field>
+ <field name="size" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.h"
+ line="160">the size to copy, -1 or the buffer size when @region is %FALSE</doc>
+ <type name="gsize" c:type="gsize"/>
+ </field>
+ </record>
+ <callback name="MetaTransformFunction" c:type="GstMetaTransformFunction">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.h"
+ line="170">Function called for each @meta in @buffer as a result of performing a
+transformation on @transbuf. Additional @type specific transform data
+is passed to the function as @data.
+
+Implementations should check the @type of the transform and parse
+additional type specific fields in @data that should be used to update
+the metadata on @transbuf.</doc>
+ <source-position filename="gst/gstmeta.h" line="188"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.h"
+ line="186">%TRUE if the transform could be performed</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="transbuf" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.h"
+ line="172">a #GstBuffer</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="meta" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.h"
+ line="173">a #GstMeta</doc>
+ <type name="Meta" c:type="GstMeta*"/>
+ </parameter>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.h"
+ line="174">a #GstBuffer</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.h"
+ line="175">the transform type</doc>
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </parameter>
+ <parameter name="data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.h"
+ line="176">transform specific data.</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <record name="MiniObject" c:type="GstMiniObject">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.c"
+ line="21">#GstMiniObject is a simple structure that can be used to implement refcounted
+types.
+
+Subclasses will include #GstMiniObject as the first member in their structure
+and then call gst_mini_object_init() to initialize the #GstMiniObject fields.
+
+gst_mini_object_ref() and gst_mini_object_unref() increment and decrement the
+refcount respectively. When the refcount of a mini-object reaches 0, the
+dispose function is called first and when this returns %TRUE, the free
+function of the miniobject is called.
+
+A copy can be made with gst_mini_object_copy().
+
+gst_mini_object_is_writable() will return %TRUE when the refcount of the
+object is exactly 1 and there is no parent or a single parent exists and is
+writable itself, meaning the current caller has the only reference to the
+object. gst_mini_object_make_writable() will return a writable version of
+the object, which might be a new copy when the refcount was not 1.
+
+Opaque data can be associated with a #GstMiniObject with
+gst_mini_object_set_qdata() and gst_mini_object_get_qdata(). The data is
+meant to be specific to the particular object and is not automatically copied
+with gst_mini_object_copy() or similar methods.
+
+A weak reference can be added and remove with gst_mini_object_weak_ref()
+and gst_mini_object_weak_unref() respectively.</doc>
+ <source-position filename="gst/gstminiobject.h" line="219"/>
+ <field name="type" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.h"
+ line="193">the GType of the object</doc>
+ <type name="GType" c:type="GType"/>
+ </field>
+ <field name="refcount" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.h"
+ line="194">atomic refcount</doc>
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="lockstate" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.h"
+ line="195">atomic state of the locks</doc>
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="flags" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.h"
+ line="196">extra flags.</doc>
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="copy" introspectable="0" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.h"
+ line="197">a copy function</doc>
+ <type name="MiniObjectCopyFunction"
+ c:type="GstMiniObjectCopyFunction"/>
+ </field>
+ <field name="dispose" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.h"
+ line="198">a dispose function</doc>
+ <type name="MiniObjectDisposeFunction"
+ c:type="GstMiniObjectDisposeFunction"/>
+ </field>
+ <field name="free" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.h"
+ line="199">the free function</doc>
+ <type name="MiniObjectFreeFunction"
+ c:type="GstMiniObjectFreeFunction"/>
+ </field>
+ <field name="priv_uint" readable="0" private="1">
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="priv_pointer" readable="0" private="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <method name="add_parent"
+ c:identifier="gst_mini_object_add_parent"
+ version="1.16">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.c"
+ line="984">This adds @parent as a parent for @object. Having one ore more parents affects the
+writability of @object: if a @parent is not writable, @object is also not
+writable, regardless of its refcount. @object is only writable if all
+the parents are writable and its own refcount is exactly 1.
+
+Note: This function does not take ownership of @parent and also does not
+take an additional reference. It is the responsibility of the caller to
+remove the parent again at a later time.</doc>
+ <source-position filename="gst/gstminiobject.h" line="280"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.c"
+ line="986">a #GstMiniObject</doc>
+ <type name="MiniObject" c:type="GstMiniObject*"/>
+ </instance-parameter>
+ <parameter name="parent" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.c"
+ line="987">a parent #GstMiniObject</doc>
+ <type name="MiniObject" c:type="GstMiniObject*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="copy"
+ c:identifier="gst_mini_object_copy"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.c"
+ line="169">Creates a copy of the mini-object.
+
+MT safe</doc>
+ <source-position filename="gst/gstminiobject.h" line="267"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.c"
+ line="177">the new mini-object if copying is
+possible, %NULL otherwise.</doc>
+ <type name="MiniObject" c:type="GstMiniObject*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="mini_object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.c"
+ line="171">the mini-object to copy</doc>
+ <type name="MiniObject" c:type="const GstMiniObject*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_qdata" c:identifier="gst_mini_object_get_qdata">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.c"
+ line="918">This function gets back user data pointers stored via
+gst_mini_object_set_qdata().</doc>
+ <source-position filename="gst/gstminiobject.h" line="274"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.c"
+ line="926">The user data pointer set, or
+%NULL</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.c"
+ line="920">The GstMiniObject to get a stored user data pointer from</doc>
+ <type name="MiniObject" c:type="GstMiniObject*"/>
+ </instance-parameter>
+ <parameter name="quark" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.c"
+ line="921">A #GQuark, naming the user data pointer</doc>
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="init"
+ c:identifier="gst_mini_object_init"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.c"
+ line="135">Initializes a mini-object with the desired type and copy/dispose/free
+functions.</doc>
+ <source-position filename="gst/gstminiobject.h" line="222"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="mini_object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.c"
+ line="137">a #GstMiniObject</doc>
+ <type name="MiniObject" c:type="GstMiniObject*"/>
+ </instance-parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.c"
+ line="138">initial #GstMiniObjectFlags</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.c"
+ line="139">the #GType of the mini-object to create</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ <parameter name="copy_func"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.c"
+ line="140">the copy function, or %NULL</doc>
+ <type name="MiniObjectCopyFunction"
+ c:type="GstMiniObjectCopyFunction"/>
+ </parameter>
+ <parameter name="dispose_func"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.c"
+ line="141">the dispose function, or %NULL</doc>
+ <type name="MiniObjectDisposeFunction"
+ c:type="GstMiniObjectDisposeFunction"/>
+ </parameter>
+ <parameter name="free_func"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.c"
+ line="142">the free function or %NULL</doc>
+ <type name="MiniObjectFreeFunction"
+ c:type="GstMiniObjectFreeFunction"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="is_writable" c:identifier="gst_mini_object_is_writable">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.c"
+ line="328">If @mini_object has the LOCKABLE flag set, check if the current EXCLUSIVE
+lock on @object is the only one, this means that changes to the object will
+not be visible to any other object.
+
+If the LOCKABLE flag is not set, check if the refcount of @mini_object is
+exactly 1, meaning that no other reference exists to the object and that the
+object is therefore writable.
+
+Modification of a mini-object should only be done after verifying that it
+is writable.</doc>
+ <source-position filename="gst/gstminiobject.h" line="259"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.c"
+ line="343">%TRUE if the object is writable.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="mini_object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.c"
+ line="330">the mini-object to check</doc>
+ <type name="MiniObject" c:type="const GstMiniObject*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="lock" c:identifier="gst_mini_object_lock">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.c"
+ line="195">Lock the mini-object with the specified access mode in @flags.</doc>
+ <source-position filename="gst/gstminiobject.h" line="253"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.c"
+ line="202">%TRUE if @object could be locked.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.c"
+ line="197">the mini-object to lock</doc>
+ <type name="MiniObject" c:type="GstMiniObject*"/>
+ </instance-parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.c"
+ line="198">#GstLockFlags</doc>
+ <type name="LockFlags" c:type="GstLockFlags"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="make_writable"
+ c:identifier="gst_mini_object_make_writable"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.c"
+ line="403">Checks if a mini-object is writable. If not, a writable copy is made and
+returned. This gives away the reference to the original mini object,
+and returns a reference to the new object.
+
+MT safe</doc>
+ <source-position filename="gst/gstminiobject.h" line="262"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.c"
+ line="413">a mini-object (possibly the same pointer) that
+ is writable.</doc>
+ <type name="MiniObject" c:type="GstMiniObject*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="mini_object" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.c"
+ line="405">the mini-object to make writable</doc>
+ <type name="MiniObject" c:type="GstMiniObject*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="ref" c:identifier="gst_mini_object_ref" introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.c"
+ line="435">Increase the reference count of the mini-object.
+
+Note that the refcount affects the writability
+of @mini-object, see gst_mini_object_is_writable(). It is
+important to note that keeping additional references to
+GstMiniObject instances can potentially increase the number
+of memcpy operations in a pipeline, especially if the miniobject
+is a #GstBuffer.</doc>
+ <source-position filename="gst/gstminiobject.h" line="232"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.c"
+ line="448">the mini-object.</doc>
+ <type name="MiniObject" c:type="GstMiniObject*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="mini_object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.c"
+ line="437">the mini-object</doc>
+ <type name="MiniObject" c:type="GstMiniObject*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="remove_parent"
+ c:identifier="gst_mini_object_remove_parent"
+ version="1.16">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.c"
+ line="1052">This removes @parent as a parent for @object. See
+gst_mini_object_add_parent().</doc>
+ <source-position filename="gst/gstminiobject.h" line="282"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.c"
+ line="1054">a #GstMiniObject</doc>
+ <type name="MiniObject" c:type="GstMiniObject*"/>
+ </instance-parameter>
+ <parameter name="parent" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.c"
+ line="1055">a parent #GstMiniObject</doc>
+ <type name="MiniObject" c:type="GstMiniObject*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_qdata" c:identifier="gst_mini_object_set_qdata">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.c"
+ line="868">This sets an opaque, named pointer on a miniobject.
+The name is specified through a #GQuark (retrieved e.g. via
+g_quark_from_static_string()), and the pointer
+can be gotten back from the @object with gst_mini_object_get_qdata()
+until the @object is disposed.
+Setting a previously set user data pointer, overrides (frees)
+the old pointer set, using %NULL as pointer essentially
+removes the data stored.
+
+@destroy may be specified which is called with @data as argument
+when the @object is disposed, or the data is being overwritten by
+a call to gst_mini_object_set_qdata() with the same @quark.</doc>
+ <source-position filename="gst/gstminiobject.h" line="271"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.c"
+ line="870">a #GstMiniObject</doc>
+ <type name="MiniObject" c:type="GstMiniObject*"/>
+ </instance-parameter>
+ <parameter name="quark" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.c"
+ line="871">A #GQuark, naming the user data pointer</doc>
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </parameter>
+ <parameter name="data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.c"
+ line="872">An opaque user data pointer</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="destroy" transfer-ownership="none" scope="async">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.c"
+ line="873">Function to invoke with @data as argument, when @data
+ needs to be freed</doc>
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="steal_qdata" c:identifier="gst_mini_object_steal_qdata">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.c"
+ line="950">This function gets back user data pointers stored via gst_mini_object_set_qdata()
+and removes the data from @object without invoking its `destroy()` function (if
+any was set).</doc>
+ <source-position filename="gst/gstminiobject.h" line="277"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.c"
+ line="959">The user data pointer set, or
+%NULL</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.c"
+ line="952">The GstMiniObject to get a stored user data pointer from</doc>
+ <type name="MiniObject" c:type="GstMiniObject*"/>
+ </instance-parameter>
+ <parameter name="quark" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.c"
+ line="953">A #GQuark, naming the user data pointer</doc>
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="unlock" c:identifier="gst_mini_object_unlock">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.c"
+ line="261">Unlock the mini-object with the specified access mode in @flags.</doc>
+ <source-position filename="gst/gstminiobject.h" line="256"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.c"
+ line="263">the mini-object to unlock</doc>
+ <type name="MiniObject" c:type="GstMiniObject*"/>
+ </instance-parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.c"
+ line="264">#GstLockFlags</doc>
+ <type name="LockFlags" c:type="GstLockFlags"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="unref"
+ c:identifier="gst_mini_object_unref"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.c"
+ line="627">Decreases the reference count of the mini-object, possibly freeing
+the mini-object.</doc>
+ <source-position filename="gst/gstminiobject.h" line="235"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="mini_object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.c"
+ line="629">the mini-object</doc>
+ <type name="MiniObject" c:type="GstMiniObject*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="weak_ref"
+ c:identifier="gst_mini_object_weak_ref"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.c"
+ line="815">Adds a weak reference callback to a mini object. Weak references are
+used for notification when a mini object is finalized. They are called
+"weak references" because they allow you to safely hold a pointer
+to the mini object without calling gst_mini_object_ref()
+(gst_mini_object_ref() adds a strong reference, that is, forces the object
+to stay alive).</doc>
+ <source-position filename="gst/gstminiobject.h" line="242"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.c"
+ line="817">#GstMiniObject to reference weakly</doc>
+ <type name="MiniObject" c:type="GstMiniObject*"/>
+ </instance-parameter>
+ <parameter name="notify" transfer-ownership="none" closure="1">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.c"
+ line="818">callback to invoke before the mini object is freed</doc>
+ <type name="MiniObjectNotify" c:type="GstMiniObjectNotify"/>
+ </parameter>
+ <parameter name="data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.c"
+ line="819">extra data to pass to notify</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="weak_unref"
+ c:identifier="gst_mini_object_weak_unref"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.c"
+ line="841">Removes a weak reference callback from a mini object.</doc>
+ <source-position filename="gst/gstminiobject.h" line="246"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.c"
+ line="843">#GstMiniObject to remove a weak reference from</doc>
+ <type name="MiniObject" c:type="GstMiniObject*"/>
+ </instance-parameter>
+ <parameter name="notify" transfer-ownership="none" closure="1">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.c"
+ line="844">callback to search for</doc>
+ <type name="MiniObjectNotify" c:type="GstMiniObjectNotify"/>
+ </parameter>
+ <parameter name="data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.c"
+ line="845">data to search for</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </method>
+ <function name="replace" c:identifier="gst_mini_object_replace">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.c"
+ line="700">Atomically modifies a pointer to point to a new mini-object.
+The reference count of @olddata is decreased and the reference count of
+@newdata is increased.
+
+Either @newdata and the value pointed to by @olddata may be %NULL.</doc>
+ <source-position filename="gst/gstminiobject.h" line="285"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.c"
+ line="712">%TRUE if @newdata was different from @olddata</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="olddata"
+ direction="inout"
+ caller-allocates="0"
+ transfer-ownership="full"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.c"
+ line="702">pointer to a pointer to a
+ mini-object to be replaced</doc>
+ <type name="MiniObject" c:type="GstMiniObject**"/>
+ </parameter>
+ <parameter name="newdata"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.c"
+ line="704">pointer to new mini-object</doc>
+ <type name="MiniObject" c:type="GstMiniObject*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="steal"
+ c:identifier="gst_mini_object_steal"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.c"
+ line="746">Replace the current #GstMiniObject pointer to by @olddata with %NULL and
+return the old value.</doc>
+ <source-position filename="gst/gstminiobject.h" line="291"/>
+ <return-value nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.c"
+ line="754">the #GstMiniObject at @oldata</doc>
+ <type name="MiniObject" c:type="GstMiniObject*"/>
+ </return-value>
+ <parameters>
+ <parameter name="olddata"
+ direction="inout"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.c"
+ line="748">pointer to a pointer to a mini-object to
+ be stolen</doc>
+ <type name="MiniObject" c:type="GstMiniObject**"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="take" c:identifier="gst_mini_object_take">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.c"
+ line="776">Modifies a pointer to point to a new mini-object. The modification
+is done atomically. This version is similar to gst_mini_object_replace()
+except that it does not increase the refcount of @newdata and thus
+takes ownership of @newdata.
+
+Either @newdata and the value pointed to by @olddata may be %NULL.</doc>
+ <source-position filename="gst/gstminiobject.h" line="288"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.c"
+ line="789">%TRUE if @newdata was different from @olddata</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="olddata"
+ direction="inout"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.c"
+ line="778">pointer to a pointer to a mini-object to
+ be replaced</doc>
+ <type name="MiniObject" c:type="GstMiniObject**"/>
+ </parameter>
+ <parameter name="newdata" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.c"
+ line="780">pointer to new mini-object</doc>
+ <type name="MiniObject" c:type="GstMiniObject*"/>
+ </parameter>
+ </parameters>
+ </function>
+ </record>
+ <callback name="MiniObjectCopyFunction"
+ c:type="GstMiniObjectCopyFunction"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.h"
+ line="39">Function prototype for methods to create copies of instances.</doc>
+ <source-position filename="gst/gstminiobject.h" line="47"/>
+ <return-value>
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.h"
+ line="45">reference to cloned instance.</doc>
+ <type name="MiniObject" c:type="GstMiniObject*"/>
+ </return-value>
+ <parameters>
+ <parameter name="obj" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.h"
+ line="41">MiniObject to copy</doc>
+ <type name="MiniObject" c:type="const GstMiniObject*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <callback name="MiniObjectDisposeFunction"
+ c:type="GstMiniObjectDisposeFunction">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.h"
+ line="48">Function prototype for when a miniobject has lost its last refcount.
+Implementation of the mini object are allowed to revive the
+passed object by doing a gst_mini_object_ref(). If the object is not
+revived after the dispose function, the function should return %TRUE
+and the memory associated with the object is freed.</doc>
+ <source-position filename="gst/gstminiobject.h" line="60"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.h"
+ line="58">%TRUE if the object should be cleaned up.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="obj" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.h"
+ line="50">MiniObject to dispose</doc>
+ <type name="MiniObject" c:type="GstMiniObject*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <bitfield name="MiniObjectFlags"
+ glib:type-name="GstMiniObjectFlags"
+ glib:get-type="gst_mini_object_flags_get_type"
+ c:type="GstMiniObjectFlags">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.h"
+ line="121">Flags for the mini object</doc>
+ <member name="lockable"
+ value="1"
+ c:identifier="GST_MINI_OBJECT_FLAG_LOCKABLE"
+ glib:nick="lockable">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.h"
+ line="123">the object can be locked and unlocked with
+gst_mini_object_lock() and gst_mini_object_unlock().</doc>
+ </member>
+ <member name="lock_readonly"
+ value="2"
+ c:identifier="GST_MINI_OBJECT_FLAG_LOCK_READONLY"
+ glib:nick="lock-readonly">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.h"
+ line="125">the object is permanently locked in
+READONLY mode. Only read locks can be performed on the object.</doc>
+ </member>
+ <member name="may_be_leaked"
+ value="4"
+ c:identifier="GST_MINI_OBJECT_FLAG_MAY_BE_LEAKED"
+ glib:nick="may-be-leaked">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.h"
+ line="127">the object is expected to stay alive
+even after gst_deinit() has been called and so should be ignored by leak
+detection tools. (Since: 1.10)</doc>
+ </member>
+ <member name="last"
+ value="16"
+ c:identifier="GST_MINI_OBJECT_FLAG_LAST"
+ glib:nick="last">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.h"
+ line="130">first flag that can be used by subclasses.</doc>
+ </member>
+ </bitfield>
+ <callback name="MiniObjectFreeFunction" c:type="GstMiniObjectFreeFunction">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.h"
+ line="61">Virtual function prototype for methods to free resources used by
+mini-objects.</doc>
+ <source-position filename="gst/gstminiobject.h" line="68"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="obj" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.h"
+ line="63">MiniObject to free</doc>
+ <type name="MiniObject" c:type="GstMiniObject*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <callback name="MiniObjectNotify" c:type="GstMiniObjectNotify">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.h"
+ line="70">A #GstMiniObjectNotify function can be added to a mini object as a
+callback that gets triggered when gst_mini_object_unref() drops the
+last ref and @obj is about to be freed.</doc>
+ <source-position filename="gst/gstminiobject.h" line="79"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1"
+ closure="0">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.h"
+ line="72">data that was provided when the notify was added</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="obj" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.h"
+ line="73">the mini object</doc>
+ <type name="MiniObject" c:type="GstMiniObject*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <constant name="NSECOND" value="1" c:type="GST_NSECOND">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.h"
+ line="116">Constant that defines one GStreamer nanosecond</doc>
+ <source-position filename="gst/gstclock.h" line="121"/>
+ <type name="ClockTimeDiff" c:type="GstClockTimeDiff"/>
+ </constant>
+ <function-macro name="OBJECT" c:identifier="GST_OBJECT" introspectable="0">
+ <source-position filename="gst/gstobject.h" line="37"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="OBJECT_CAST"
+ c:identifier="GST_OBJECT_CAST"
+ introspectable="0">
+ <source-position filename="gst/gstobject.h" line="39"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="OBJECT_CLASS"
+ c:identifier="GST_OBJECT_CLASS"
+ introspectable="0">
+ <source-position filename="gst/gstobject.h" line="38"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="OBJECT_CLASS_CAST"
+ c:identifier="GST_OBJECT_CLASS_CAST"
+ introspectable="0">
+ <source-position filename="gst/gstobject.h" line="40"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="OBJECT_FLAGS"
+ c:identifier="GST_OBJECT_FLAGS"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.h"
+ line="128">This macro returns the entire set of flags for the object.</doc>
+ <source-position filename="gst/gstobject.h" line="134"/>
+ <parameters>
+ <parameter name="obj">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.h"
+ line="130">a #GstObject</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="OBJECT_FLAG_IS_SET"
+ c:identifier="GST_OBJECT_FLAG_IS_SET"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.h"
+ line="135">This macro checks to see if the given flag is set.</doc>
+ <source-position filename="gst/gstobject.h" line="142"/>
+ <parameters>
+ <parameter name="obj">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.h"
+ line="137">a #GstObject</doc>
+ </parameter>
+ <parameter name="flag">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.h"
+ line="138">Flag to check for</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="OBJECT_FLAG_SET"
+ c:identifier="GST_OBJECT_FLAG_SET"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.h"
+ line="143">This macro sets the given bits.</doc>
+ <source-position filename="gst/gstobject.h" line="150"/>
+ <parameters>
+ <parameter name="obj">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.h"
+ line="145">a #GstObject</doc>
+ </parameter>
+ <parameter name="flag">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.h"
+ line="146">Flag to set</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="OBJECT_FLAG_UNSET"
+ c:identifier="GST_OBJECT_FLAG_UNSET"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.h"
+ line="151">This macro unsets the given bits.</doc>
+ <source-position filename="gst/gstobject.h" line="158"/>
+ <parameters>
+ <parameter name="obj">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.h"
+ line="153">a #GstObject</doc>
+ </parameter>
+ <parameter name="flag">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.h"
+ line="154">Flag to set</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="OBJECT_GET_CLASS"
+ c:identifier="GST_OBJECT_GET_CLASS"
+ introspectable="0">
+ <source-position filename="gst/gstobject.h" line="36"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="OBJECT_GET_LOCK"
+ c:identifier="GST_OBJECT_GET_LOCK"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.h"
+ line="76">Acquire a reference to the mutex of this object.</doc>
+ <source-position filename="gst/gstobject.h" line="82"/>
+ <parameters>
+ <parameter name="obj">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.h"
+ line="78">a #GstObject</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="OBJECT_LOCK"
+ c:identifier="GST_OBJECT_LOCK"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.h"
+ line="83">This macro will obtain a lock on the object, making serialization possible.
+It blocks until the lock can be obtained.</doc>
+ <source-position filename="gst/gstobject.h" line="90"/>
+ <parameters>
+ <parameter name="obj">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.h"
+ line="85">a #GstObject to lock</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="OBJECT_NAME"
+ c:identifier="GST_OBJECT_NAME"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.h"
+ line="108">Get the name of this object. This is not thread-safe by default
+(i.e. you will have to make sure the object lock is taken yourself).
+If in doubt use gst_object_get_name() instead.</doc>
+ <source-position filename="gst/gstobject.h" line="116"/>
+ <parameters>
+ <parameter name="obj">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.h"
+ line="110">a #GstObject</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="OBJECT_PARENT"
+ c:identifier="GST_OBJECT_PARENT"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.h"
+ line="117">Get the parent of this object. This is not thread-safe by default
+(i.e. you will have to make sure the object lock is taken yourself).
+If in doubt use gst_object_get_parent() instead.</doc>
+ <source-position filename="gst/gstobject.h" line="125"/>
+ <parameters>
+ <parameter name="obj">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.h"
+ line="119">a #GstObject</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="OBJECT_REFCOUNT"
+ c:identifier="GST_OBJECT_REFCOUNT"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.h"
+ line="58">Get access to the reference count field of the object.</doc>
+ <source-position filename="gst/gstobject.h" line="64"/>
+ <parameters>
+ <parameter name="obj">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.h"
+ line="60">a #GstObject</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="OBJECT_REFCOUNT_VALUE"
+ c:identifier="GST_OBJECT_REFCOUNT_VALUE"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.h"
+ line="65">Get the reference count value of the object.</doc>
+ <source-position filename="gst/gstobject.h" line="71"/>
+ <parameters>
+ <parameter name="obj">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.h"
+ line="67">a #GstObject</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="OBJECT_TRYLOCK"
+ c:identifier="GST_OBJECT_TRYLOCK"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.h"
+ line="91">This macro will try to obtain a lock on the object, but will return with
+%FALSE if it can't get it immediately.</doc>
+ <source-position filename="gst/gstobject.h" line="98"/>
+ <parameters>
+ <parameter name="obj">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.h"
+ line="93">a #GstObject.</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="OBJECT_UNLOCK"
+ c:identifier="GST_OBJECT_UNLOCK"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.h"
+ line="99">This macro releases a lock on the object.</doc>
+ <source-position filename="gst/gstobject.h" line="105"/>
+ <parameters>
+ <parameter name="obj">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.h"
+ line="101">a #GstObject to unlock.</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <class name="Object"
+ c:symbol-prefix="object"
+ c:type="GstObject"
+ parent="GObject.InitiallyUnowned"
+ abstract="1"
+ glib:type-name="GstObject"
+ glib:get-type="gst_object_get_type"
+ glib:type-struct="ObjectClass">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="24">#GstObject provides a root for the object hierarchy tree filed in by the
+GStreamer library. It is currently a thin wrapper on top of
+#GInitiallyUnowned. It is an abstract class that is not very usable on its own.
+
+#GstObject gives us basic refcounting, parenting functionality and locking.
+Most of the functions are just extended for special GStreamer needs and can be
+found under the same name in the base class of #GstObject which is #GObject
+(e.g. g_object_ref() becomes gst_object_ref()).
+
+Since #GstObject derives from #GInitiallyUnowned, it also inherits the
+floating reference. Be aware that functions such as gst_bin_add() and
+gst_element_add_pad() take ownership of the floating reference.
+
+In contrast to #GObject instances, #GstObject adds a name property. The functions
+gst_object_set_name() and gst_object_get_name() are used to set/get the name
+of the object.
+
+## controlled properties
+
+Controlled properties offers a lightweight way to adjust gobject properties
+over stream-time. It works by using time-stamped value pairs that are queued
+for element-properties. At run-time the elements continuously pull value
+changes for the current stream-time.
+
+What needs to be changed in a #GstElement?
+Very little - it is just two steps to make a plugin controllable!
+
+ * mark gobject-properties paramspecs that make sense to be controlled,
+ by GST_PARAM_CONTROLLABLE.
+
+ * when processing data (get, chain, loop function) at the beginning call
+ gst_object_sync_values(element,timestamp).
+ This will make the controller update all GObject properties that are
+ under its control with the current values based on the timestamp.
+
+What needs to be done in applications? Again it's not a lot to change.
+
+ * create a #GstControlSource.
+ csource = gst_interpolation_control_source_new ();
+ g_object_set (csource, "mode", GST_INTERPOLATION_MODE_LINEAR, NULL);
+
+ * Attach the #GstControlSource on the controller to a property.
+ gst_object_add_control_binding (object, gst_direct_control_binding_new (object, "prop1", csource));
+
+ * Set the control values
+ gst_timed_value_control_source_set ((GstTimedValueControlSource *)csource,0 * GST_SECOND, value1);
+ gst_timed_value_control_source_set ((GstTimedValueControlSource *)csource,1 * GST_SECOND, value2);
+
+ * start your pipeline</doc>
+ <source-position filename="gst/gstobject.h" line="210"/>
+ <function name="check_uniqueness"
+ c:identifier="gst_object_check_uniqueness">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="885">Checks to see if there is any object named @name in @list. This function
+does not do any locking of any kind. You might want to protect the
+provided list with the lock of the owner of the list. This function
+will lock each #GstObject in the list to compare the name, so be
+careful when passing a list with a locked object.</doc>
+ <source-position filename="gst/gstobject.h" line="277"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="897">%TRUE if a #GstObject named @name does not appear in @list,
+%FALSE if it does.
+
+MT safe. Grabs and releases the LOCK of each object in the list.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="list" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="887">a list of #GstObject to
+ check through</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="Object"/>
+ </type>
+ </parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="889">the name to search for</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="default_deep_notify"
+ c:identifier="gst_object_default_deep_notify">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="488">A default deep_notify signal callback for an object. The user data
+should contain a pointer to an array of strings that should be excluded
+from the notify. The default handler will print the new value of the property
+using g_print.
+
+MT safe. This function grabs and releases @object's LOCK for getting its
+ path string.</doc>
+ <source-position filename="gst/gstobject.h" line="246"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="490">the #GObject that signalled the notify.</doc>
+ <type name="GObject.Object" c:type="GObject*"/>
+ </parameter>
+ <parameter name="orig" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="491">a #GstObject that initiated the notify.</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="pspec" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="492">a #GParamSpec of the property.</doc>
+ <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
+ </parameter>
+ <parameter name="excluded_props"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="493">
+ a set of user-specified properties to exclude or %NULL to show
+ all changes.</doc>
+ <array c:type="gchar**">
+ <type name="utf8"/>
+ </array>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="ref_sink"
+ c:identifier="gst_object_ref_sink"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="270">Increase the reference count of @object, and possibly remove the floating
+reference, if @object has a floating reference.
+
+In other words, if the object is floating, then this call "assumes ownership"
+of the floating reference, converting it to a normal reference by clearing
+the floating flag while leaving the reference count unchanged. If the object
+is not floating, then this call adds a new normal reference increasing the
+reference count by one.
+
+For more background on "floating references" please see the #GObject
+documentation.</doc>
+ <source-position filename="gst/gstobject.h" line="262"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </return-value>
+ <parameters>
+ <parameter name="object"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="272">a #GstObject to sink</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="replace" c:identifier="gst_object_replace">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="323">Atomically modifies a pointer to point to a new object.
+The reference count of @oldobj is decreased and the reference count of
+@newobj is increased.
+
+Either @newobj and the value pointed to by @oldobj may be %NULL.</doc>
+ <source-position filename="gst/gstobject.h" line="267"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="335">%TRUE if @newobj was different from @oldobj</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="oldobj"
+ direction="inout"
+ caller-allocates="0"
+ transfer-ownership="full"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="325">pointer to a place of
+ a #GstObject to replace</doc>
+ <type name="Object" c:type="GstObject**"/>
+ </parameter>
+ <parameter name="newobj"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="327">a new #GstObject</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <virtual-method name="deep_notify">
+ <source-position filename="gst/gstobject.h" line="203"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <type name="Object" c:type="GstObject*"/>
+ </instance-parameter>
+ <parameter name="orig" transfer-ownership="none">
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="pspec" transfer-ownership="none">
+ <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <method name="add_control_binding"
+ c:identifier="gst_object_add_control_binding">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="1239">Attach the #GstControlBinding to the object. If there already was a
+#GstControlBinding for this property it will be replaced.
+
+The object's reference count will be incremented, and any floating
+reference will be removed (see gst_object_ref_sink())</doc>
+ <source-position filename="gst/gstobject.h" line="301"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="1250">%FALSE if the given @binding has not been setup for this object or
+has been setup for a non suitable property, %TRUE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="1241">the controller object</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </instance-parameter>
+ <parameter name="binding" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="1242">the #GstControlBinding that should be used</doc>
+ <type name="ControlBinding" c:type="GstControlBinding*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="default_error" c:identifier="gst_object_default_error">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="2660">A default error function that uses g_printerr() to display the error message
+and the optional debug string..
+
+The default handler will simply print the error string using g_print.</doc>
+ <source-position filename="gst/gstutils.h" line="977"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="source" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="2662">the #GstObject that initiated the error.</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </instance-parameter>
+ <parameter name="error" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="2663">the GError.</doc>
+ <type name="GLib.Error" c:type="const GError*"/>
+ </parameter>
+ <parameter name="debug"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="2664">an additional debug information string, or %NULL</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_control_binding"
+ c:identifier="gst_object_get_control_binding">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="1276">Gets the corresponding #GstControlBinding for the property. This should be
+unreferenced again after use.</doc>
+ <source-position filename="gst/gstobject.h" line="305"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="1284">the #GstControlBinding for
+@property_name or %NULL if the property is not controlled.</doc>
+ <type name="ControlBinding" c:type="GstControlBinding*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="1278">the object</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </instance-parameter>
+ <parameter name="property_name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="1279">name of the property</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_control_rate"
+ c:identifier="gst_object_get_control_rate">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="1455">Obtain the control-rate for this @object. Audio processing #GstElement
+objects will use this rate to sub-divide their processing loop and call
+gst_object_sync_values() in between. The length of the processing segment
+should be up to @control-rate nanoseconds.
+
+If the @object is not under property control, this will return
+%GST_CLOCK_TIME_NONE. This allows the element to avoid the sub-dividing.
+
+The control-rate is not expected to change if the element is in
+%GST_STATE_PAUSED or %GST_STATE_PLAYING.</doc>
+ <source-position filename="gst/gstobject.h" line="322"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="1470">the control rate in nanoseconds</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="1457">the object that has controlled properties</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_g_value_array"
+ c:identifier="gst_object_get_g_value_array">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="1413">Gets a number of #GValues for the given controlled property starting at the
+requested time. The array @values need to hold enough space for @n_values of
+#GValue.
+
+This function is useful if one wants to e.g. draw a graph of the control
+curve or apply a control curve sample by sample.</doc>
+ <source-position filename="gst/gstobject.h" line="318"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="1429">%TRUE if the given array could be filled, %FALSE otherwise</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="1415">the object that has controlled properties</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </instance-parameter>
+ <parameter name="property_name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="1416">the name of the property to get</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="timestamp" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="1417">the time that should be processed</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="interval" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="1418">the time spacing between subsequent values</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="n_values" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="1419">the number of values</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="values" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="1420">array to put control-values in</doc>
+ <array length="3" zero-terminated="0" c:type="GValue*">
+ <type name="GObject.Value" c:type="GValue"/>
+ </array>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_name" c:identifier="gst_object_get_name">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="658">Returns a copy of the name of @object.
+Caller should g_free() the return value after usage.
+For a nameless object, this returns %NULL, which you can safely g_free()
+as well.
+
+Free-function: g_free</doc>
+ <source-position filename="gst/gstobject.h" line="223"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="669">the name of @object. g_free()
+after usage.
+
+MT safe. This function grabs and releases @object's LOCK.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="660">a #GstObject</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_parent" c:identifier="gst_object_get_parent">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="740">Returns the parent of @object. This function increases the refcount
+of the parent object so you should gst_object_unref() it after usage.</doc>
+ <source-position filename="gst/gstobject.h" line="231"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="747">parent of @object, this can be
+ %NULL if @object has no parent. unref after usage.
+
+MT safe. Grabs and releases @object's LOCK.</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="742">a #GstObject</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_path_string" c:identifier="gst_object_get_path_string">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="970">Generates a string describing the path of @object in
+the object hierarchy. Only useful (or used) for debugging.
+
+Free-function: g_free</doc>
+ <source-position filename="gst/gstobject.h" line="272"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="979">a string describing the path of @object. You must
+ g_free() the string after usage.
+
+MT safe. Grabs and releases the #GstObject's LOCK for all objects
+ in the hierarchy.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="972">a #GstObject</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_value" c:identifier="gst_object_get_value">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="1337">Gets the value for the given controlled property at the requested time.</doc>
+ <source-position filename="gst/gstobject.h" line="311"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="1345">the GValue of the property at the given time,
+or %NULL if the property isn't controlled.</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="1339">the object that has controlled properties</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </instance-parameter>
+ <parameter name="property_name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="1340">the name of the property to get</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="timestamp" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="1341">the time the control-change should be read from</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_value_array"
+ c:identifier="gst_object_get_value_array"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="1368">Gets a number of values for the given controlled property starting at the
+requested time. The array @values need to hold enough space for @n_values of
+the same type as the objects property's type.
+
+This function is useful if one wants to e.g. draw a graph of the control
+curve or apply a control curve sample by sample.
+
+The values are unboxed and ready to be used. The similar function
+gst_object_get_g_value_array() returns the array as #GValues and is
+better suites for bindings.</doc>
+ <source-position filename="gst/gstobject.h" line="314"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="1388">%TRUE if the given array could be filled, %FALSE otherwise</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="1370">the object that has controlled properties</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </instance-parameter>
+ <parameter name="property_name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="1371">the name of the property to get</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="timestamp" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="1372">the time that should be processed</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="interval" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="1373">the time spacing between subsequent values</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="n_values" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="1374">the number of values</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="values"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="1375">array to put control-values in</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="has_active_control_bindings"
+ c:identifier="gst_object_has_active_control_bindings">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="1163">Check if the @object has active controlled properties.</doc>
+ <source-position filename="gst/gstobject.h" line="290"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="1169">%TRUE if the object has active controlled properties</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="1165">the object that has controlled properties</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="has_ancestor"
+ c:identifier="gst_object_has_ancestor"
+ deprecated="1">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="863">Check if @object has an ancestor @ancestor somewhere up in
+the hierarchy. One can e.g. check if a #GstElement is inside a #GstPipeline.</doc>
+ <doc-deprecated xml:space="preserve">Use gst_object_has_as_ancestor() instead.
+
+MT safe. Grabs and releases @object's locks.</doc-deprecated>
+ <source-position filename="gst/gstobject.h" line="243"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="871">%TRUE if @ancestor is an ancestor of @object.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="865">a #GstObject to check</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </instance-parameter>
+ <parameter name="ancestor" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="866">a #GstObject to check as ancestor</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="has_as_ancestor" c:identifier="gst_object_has_as_ancestor">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="828">Check if @object has an ancestor @ancestor somewhere up in
+the hierarchy. One can e.g. check if a #GstElement is inside a #GstPipeline.</doc>
+ <source-position filename="gst/gstobject.h" line="240"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="836">%TRUE if @ancestor is an ancestor of @object.
+
+MT safe. Grabs and releases @object's locks.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="830">a #GstObject to check</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </instance-parameter>
+ <parameter name="ancestor" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="831">a #GstObject to check as ancestor</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="has_as_parent"
+ c:identifier="gst_object_has_as_parent"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="800">Check if @parent is the parent of @object.
+E.g. a #GstElement can check if it owns a given #GstPad.</doc>
+ <source-position filename="gst/gstobject.h" line="237"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="808">%FALSE if either @object or @parent is %NULL. %TRUE if @parent is
+ the parent of @object. Otherwise %FALSE.
+
+MT safe. Grabs and releases @object's locks.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="802">a #GstObject to check</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </instance-parameter>
+ <parameter name="parent" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="803">a #GstObject to check as parent</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="ref" c:identifier="gst_object_ref">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="216">Increments the reference count on @object. This function
+does not take the lock on @object because it relies on
+atomic refcounting.
+
+This object returns the input parameter to ease writing
+constructs like :
+ result = gst_object_ref (object-&gt;parent);</doc>
+ <source-position filename="gst/gstobject.h" line="252"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="228">A pointer to @object</doc>
+ <type name="Object" c:type="gpointer"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="218">a #GstObject to reference</doc>
+ <type name="Object" c:type="gpointer"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="remove_control_binding"
+ c:identifier="gst_object_remove_control_binding">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="1304">Removes the corresponding #GstControlBinding. If it was the
+last ref of the binding, it will be disposed.</doc>
+ <source-position filename="gst/gstobject.h" line="308"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="1312">%TRUE if the binding could be removed.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="1306">the object</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </instance-parameter>
+ <parameter name="binding" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="1307">the binding</doc>
+ <type name="ControlBinding" c:type="GstControlBinding*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_control_binding_disabled"
+ c:identifier="gst_object_set_control_binding_disabled">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="1211">This function is used to disable the control bindings on a property for
+some time, i.e. gst_object_sync_values() will do nothing for the
+property.</doc>
+ <source-position filename="gst/gstobject.h" line="296"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="1213">the object that has controlled properties</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </instance-parameter>
+ <parameter name="property_name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="1214">property to disable</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="disabled" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="1215">boolean that specifies whether to disable the controller
+or not.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_control_bindings_disabled"
+ c:identifier="gst_object_set_control_bindings_disabled">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="1187">This function is used to disable all controlled properties of the @object for
+some time, i.e. gst_object_sync_values() will do nothing.</doc>
+ <source-position filename="gst/gstobject.h" line="293"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="1189">the object that has controlled properties</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </instance-parameter>
+ <parameter name="disabled" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="1190">boolean that specifies whether to disable the controller
+or not.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_control_rate"
+ c:identifier="gst_object_set_control_rate">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="1480">Change the control-rate for this @object. Audio processing #GstElement
+objects will use this rate to sub-divide their processing loop and call
+gst_object_sync_values() in between. The length of the processing segment
+should be up to @control-rate nanoseconds.
+
+The control-rate should not change if the element is in %GST_STATE_PAUSED or
+%GST_STATE_PLAYING.</doc>
+ <source-position filename="gst/gstobject.h" line="325"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="1482">the object that has controlled properties</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </instance-parameter>
+ <parameter name="control_rate" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="1483">the new control-rate in nanoseconds.</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_name" c:identifier="gst_object_set_name">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="630">Sets the name of @object, or gives @object a guaranteed unique
+name (if @name is %NULL).
+This function makes a copy of the provided name, so the caller
+retains ownership of the name it sent.</doc>
+ <source-position filename="gst/gstobject.h" line="220"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="640">%TRUE if the name could be set. Since Objects that have
+a parent cannot be renamed, this function returns %FALSE in those
+cases.
+
+MT safe. This function grabs and releases @object's LOCK.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="632">a #GstObject</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </instance-parameter>
+ <parameter name="name"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="633">new name of object</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_parent" c:identifier="gst_object_set_parent">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="688">Sets the parent of @object to @parent. The object's reference count will
+be incremented, and any floating reference will be removed (see gst_object_ref_sink()).</doc>
+ <source-position filename="gst/gstobject.h" line="228"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="696">%TRUE if @parent could be set or %FALSE when @object
+already had a parent or @object and @parent are the same.
+
+MT safe. Grabs and releases @object's LOCK.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="690">a #GstObject</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </instance-parameter>
+ <parameter name="parent" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="691">new parent of object</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="suggest_next_sync"
+ c:identifier="gst_object_suggest_next_sync">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="1089">Returns a suggestion for timestamps where buffers should be split
+to get best controller results.</doc>
+ <source-position filename="gst/gstobject.h" line="284"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="1096">Returns the suggested timestamp or %GST_CLOCK_TIME_NONE
+if no control-rate was set.</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="1091">the object that has controlled properties</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="sync_values" c:identifier="gst_object_sync_values">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="1121">Sets the properties of the object, according to the #GstControlSources that
+(maybe) handle them and for the given timestamp.
+
+If this function fails, it is most likely the application developers fault.
+Most probably the control sources are not setup correctly.</doc>
+ <source-position filename="gst/gstobject.h" line="287"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="1132">%TRUE if the controller values could be applied to the object
+properties, %FALSE otherwise</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="1123">the object that has controlled properties</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </instance-parameter>
+ <parameter name="timestamp" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="1124">the time that should be processed</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="unparent" c:identifier="gst_object_unparent">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="768">Clear the parent of @object, removing the associated reference.
+This function decreases the refcount of @object.
+
+MT safe. Grabs and releases @object's lock.</doc>
+ <source-position filename="gst/gstobject.h" line="234"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="770">a #GstObject to unparent</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="unref" c:identifier="gst_object_unref">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="245">Decrements the reference count on @object. If reference count hits
+zero, destroy @object. This function does not take the lock
+on @object as it relies on atomic refcounting.
+
+The unref method should never be called with the LOCK held since
+this might deadlock the dispose function.</doc>
+ <source-position filename="gst/gstobject.h" line="255"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="247">a #GstObject to unreference</doc>
+ <type name="Object" c:type="gpointer"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <property name="name"
+ writable="1"
+ construct="1"
+ transfer-ownership="none">
+ <type name="utf8" c:type="gchar*"/>
+ </property>
+ <property name="parent" writable="1" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="159">The parent of the object. Please note, that when changing the 'parent'
+property, we don't emit #GObject::notify and #GstObject::deep-notify
+signals due to locking issues. In some cases one can use
+#GstBin::element-added or #GstBin::element-removed signals on the parent to
+achieve a similar effect.</doc>
+ <type name="Object"/>
+ </property>
+ <field name="object">
+ <type name="GObject.InitiallyUnowned" c:type="GInitiallyUnowned"/>
+ </field>
+ <field name="lock">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.h"
+ line="165">object LOCK</doc>
+ <type name="GLib.Mutex" c:type="GMutex"/>
+ </field>
+ <field name="name">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.h"
+ line="166">The name of the object</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="parent">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.h"
+ line="167">this object's parent, weak ref</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </field>
+ <field name="flags">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.h"
+ line="168">flags for this object</doc>
+ <type name="guint32" c:type="guint32"/>
+ </field>
+ <field name="control_bindings" readable="0" private="1">
+ <type name="GLib.List" c:type="GList*">
+ <type name="gpointer" c:type="gpointer"/>
+ </type>
+ </field>
+ <field name="control_rate" readable="0" private="1">
+ <type name="guint64" c:type="guint64"/>
+ </field>
+ <field name="last_sync" readable="0" private="1">
+ <type name="guint64" c:type="guint64"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <glib:signal name="deep-notify"
+ when="first"
+ no-recurse="1"
+ detailed="1"
+ no-hooks="1">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="175">The deep notify signal is used to be notified of property changes. It is
+typically attached to the toplevel bin to receive notifications from all
+the elements contained in that bin.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="prop_object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="178">the object that originated the signal</doc>
+ <type name="Object"/>
+ </parameter>
+ <parameter name="prop" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="179">the property that changed</doc>
+ <type name="GObject.ParamSpec"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ </class>
+ <record name="ObjectClass"
+ c:type="GstObjectClass"
+ glib:is-gtype-struct-for="Object">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.h"
+ line="189">GStreamer base object class.</doc>
+ <source-position filename="gst/gstobject.h" line="210"/>
+ <field name="parent_class">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.h"
+ line="191">parent</doc>
+ <type name="GObject.InitiallyUnownedClass"
+ c:type="GInitiallyUnownedClass"/>
+ </field>
+ <field name="path_string_separator">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.h"
+ line="192">separator used by gst_object_get_path_string()</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </field>
+ <field name="deep_notify">
+ <callback name="deep_notify">
+ <source-position filename="gst/gstobject.h" line="203"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="orig" transfer-ownership="none">
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="pspec" transfer-ownership="none">
+ <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <bitfield name="ObjectFlags"
+ glib:type-name="GstObjectFlags"
+ glib:get-type="gst_object_flags_get_type"
+ c:type="GstObjectFlags">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.h"
+ line="42">The standard flags that an gstobject may have.</doc>
+ <member name="may_be_leaked"
+ value="1"
+ c:identifier="GST_OBJECT_FLAG_MAY_BE_LEAKED"
+ glib:nick="may-be-leaked">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.h"
+ line="44">the object is expected to stay alive even
+after gst_deinit() has been called and so should be ignored by leak
+detection tools. (Since: 1.10)</doc>
+ </member>
+ <member name="last"
+ value="16"
+ c:identifier="GST_OBJECT_FLAG_LAST"
+ glib:nick="last">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.h"
+ line="47">subclasses can add additional flags starting from this flag</doc>
+ </member>
+ </bitfield>
+ <function-macro name="PAD" c:identifier="GST_PAD" introspectable="0">
+ <source-position filename="gst/gstpad.h" line="86"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="PAD_ACTIVATEFUNC"
+ c:identifier="GST_PAD_ACTIVATEFUNC"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="882">Get the #GstPadActivateFunction from @pad.</doc>
+ <source-position filename="gst/gstpad.h" line="888"/>
+ <parameters>
+ <parameter name="pad">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="884">a #GstPad</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="PAD_ACTIVATEMODEFUNC"
+ c:identifier="GST_PAD_ACTIVATEMODEFUNC"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="889">Get the #GstPadActivateModeFunction from the given @pad.</doc>
+ <source-position filename="gst/gstpad.h" line="895"/>
+ <parameters>
+ <parameter name="pad">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="891">a #GstPad</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="PAD_BLOCK_BROADCAST"
+ c:identifier="GST_PAD_BLOCK_BROADCAST"
+ introspectable="0">
+ <source-position filename="gst/gstpad.h" line="1277"/>
+ <parameters>
+ <parameter name="pad">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="PAD_BLOCK_GET_COND"
+ c:identifier="GST_PAD_BLOCK_GET_COND"
+ introspectable="0">
+ <source-position filename="gst/gstpad.h" line="1274"/>
+ <parameters>
+ <parameter name="pad">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="PAD_BLOCK_SIGNAL"
+ c:identifier="GST_PAD_BLOCK_SIGNAL"
+ introspectable="0">
+ <source-position filename="gst/gstpad.h" line="1276"/>
+ <parameters>
+ <parameter name="pad">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="PAD_BLOCK_WAIT"
+ c:identifier="GST_PAD_BLOCK_WAIT"
+ introspectable="0">
+ <source-position filename="gst/gstpad.h" line="1275"/>
+ <parameters>
+ <parameter name="pad">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="PAD_CAST"
+ c:identifier="GST_PAD_CAST"
+ introspectable="0">
+ <source-position filename="gst/gstpad.h" line="88"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="PAD_CHAINFUNC"
+ c:identifier="GST_PAD_CHAINFUNC"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="896">Get the #GstPadChainFunction from the given @pad.</doc>
+ <source-position filename="gst/gstpad.h" line="902"/>
+ <parameters>
+ <parameter name="pad">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="898">a #GstPad</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="PAD_CHAINLISTFUNC"
+ c:identifier="GST_PAD_CHAINLISTFUNC"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="903">Get the #GstPadChainListFunction from the given @pad.</doc>
+ <source-position filename="gst/gstpad.h" line="909"/>
+ <parameters>
+ <parameter name="pad">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="905">a #GstPad</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="PAD_CLASS"
+ c:identifier="GST_PAD_CLASS"
+ introspectable="0">
+ <source-position filename="gst/gstpad.h" line="87"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="PAD_DIRECTION"
+ c:identifier="GST_PAD_DIRECTION"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="856">Get the #GstPadDirection of the given @pad. Accessor macro, use
+gst_pad_get_direction() instead.</doc>
+ <source-position filename="gst/gstpad.h" line="863"/>
+ <parameters>
+ <parameter name="pad">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="858">a #GstPad</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="PAD_ELEMENT_PRIVATE"
+ c:identifier="GST_PAD_ELEMENT_PRIVATE"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="839">Get the private data of @pad, which is usually some pad- or stream-specific
+structure created by the element and set on the pad when creating it.
+No locking is performed in this function.</doc>
+ <source-position filename="gst/gstpad.h" line="847"/>
+ <parameters>
+ <parameter name="pad">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="841">a #GstPad</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="PAD_EVENTFULLFUNC"
+ c:identifier="GST_PAD_EVENTFULLFUNC"
+ version="1.8"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="928">Get the #GstPadEventFullFunction from the given @pad, which
+is the function that handles events on the pad. You can
+use this to set your own event handling function on a pad
+after you create it. If your element derives from a base
+class, use the base class's virtual functions instead.</doc>
+ <source-position filename="gst/gstpad.h" line="940"/>
+ <parameters>
+ <parameter name="pad">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="930">a #GstPad</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="PAD_EVENTFUNC"
+ c:identifier="GST_PAD_EVENTFUNC"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="917">Get the #GstPadEventFunction from the given @pad, which
+is the function that handles events on the pad. You can
+use this to set your own event handling function on a pad
+after you create it. If your element derives from a base
+class, use the base class's virtual functions instead.</doc>
+ <source-position filename="gst/gstpad.h" line="927"/>
+ <parameters>
+ <parameter name="pad">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="919">a #GstPad</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="PAD_GETRANGEFUNC"
+ c:identifier="GST_PAD_GETRANGEFUNC"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="910">Get the #GstPadGetRangeFunction from the given @pad.</doc>
+ <source-position filename="gst/gstpad.h" line="916"/>
+ <parameters>
+ <parameter name="pad">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="912">a #GstPad</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="PAD_GET_STREAM_LOCK"
+ c:identifier="GST_PAD_GET_STREAM_LOCK"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="1231">Get the stream lock of @pad. The stream lock is protecting the
+resources used in the data processing functions of @pad. Accessor
+macro, use GST_PAD_STREAM_LOCK() and GST_PAD_STREAM_UNLOCK() instead
+to take/release the pad's stream lock.</doc>
+ <source-position filename="gst/gstpad.h" line="1240"/>
+ <parameters>
+ <parameter name="pad">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="1233">a #GstPad</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="PAD_HAS_PENDING_EVENTS"
+ c:identifier="GST_PAD_HAS_PENDING_EVENTS"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="1067">Check if the given @pad has pending events. This is used internally by
+GStreamer.</doc>
+ <source-position filename="gst/gstpad.h" line="1074"/>
+ <parameters>
+ <parameter name="pad">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="1069">a #GstPad</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="PAD_IS_ACCEPT_INTERSECT"
+ c:identifier="GST_PAD_IS_ACCEPT_INTERSECT"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="1173">Check if the pad's accept intersect flag is set. The default accept-caps
+handler will check if the caps intersect the query-caps result instead of
+checking for a subset. This is interesting for parser elements that can
+accept incompletely specified caps.</doc>
+ <source-position filename="gst/gstpad.h" line="1182"/>
+ <parameters>
+ <parameter name="pad">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="1175">a #GstPad</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="PAD_IS_ACCEPT_TEMPLATE"
+ c:identifier="GST_PAD_IS_ACCEPT_TEMPLATE"
+ version="1.6"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="1199">Check if the pad's accept caps operation will use the pad template caps.
+The default accept-caps will do a query caps to get the caps, which might
+be querying downstream causing unnecessary overhead. It is recommended to
+implement a proper accept-caps query handler or to use this flag to prevent
+recursive accept-caps handling.</doc>
+ <source-position filename="gst/gstpad.h" line="1211"/>
+ <parameters>
+ <parameter name="pad">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="1201">a #GstPad</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="PAD_IS_ACTIVE"
+ c:identifier="GST_PAD_IS_ACTIVE"
+ introspectable="0">
+ <source-position filename="gst/gstpad.h" line="1009"/>
+ <parameters>
+ <parameter name="pad">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="1005">a #GstPad</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="PAD_IS_BLOCKED"
+ c:identifier="GST_PAD_IS_BLOCKED"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="1010">Check if the dataflow on a @pad is blocked. Use gst_pad_is_blocked() instead.</doc>
+ <source-position filename="gst/gstpad.h" line="1016"/>
+ <parameters>
+ <parameter name="pad">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="1012">a #GstPad</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="PAD_IS_BLOCKING"
+ c:identifier="GST_PAD_IS_BLOCKING"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="1017">Check if the @pad is currently blocking on a buffer or event. Use
+gst_pad_is_blocking() instead.</doc>
+ <source-position filename="gst/gstpad.h" line="1024"/>
+ <parameters>
+ <parameter name="pad">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="1019">a #GstPad</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="PAD_IS_EOS"
+ c:identifier="GST_PAD_IS_EOS"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="1051">Check if the @pad is in EOS state.</doc>
+ <source-position filename="gst/gstpad.h" line="1057"/>
+ <parameters>
+ <parameter name="pad">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="1053">a #GstPad</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="PAD_IS_FIXED_CAPS"
+ c:identifier="GST_PAD_IS_FIXED_CAPS"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="1075">Check if the given @pad is using fixed caps, which means that
+once the caps are set on the @pad, the caps query function will
+only return those caps. See gst_pad_use_fixed_caps().</doc>
+ <source-position filename="gst/gstpad.h" line="1083"/>
+ <parameters>
+ <parameter name="pad">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="1077">a #GstPad</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="PAD_IS_FLUSHING"
+ c:identifier="GST_PAD_IS_FLUSHING"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="1025">Check if the given @pad is flushing.</doc>
+ <source-position filename="gst/gstpad.h" line="1031"/>
+ <parameters>
+ <parameter name="pad">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="1027">a #GstPad</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="PAD_IS_LINKED"
+ c:identifier="GST_PAD_IS_LINKED"
+ introspectable="0">
+ <source-position filename="gst/gstpad.h" line="1002"/>
+ <parameters>
+ <parameter name="pad">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="997">a #GstPad</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="PAD_IS_PROXY_ALLOCATION"
+ c:identifier="GST_PAD_IS_PROXY_ALLOCATION"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="1119">Check if the given @pad is set as proxy allocation which means
+that the default query handler will forward allocation queries to the
+internally linked @pads instead of discarding them.</doc>
+ <source-position filename="gst/gstpad.h" line="1127"/>
+ <parameters>
+ <parameter name="pad">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="1121">a #GstPad</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="PAD_IS_PROXY_CAPS"
+ c:identifier="GST_PAD_IS_PROXY_CAPS"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="1092">Check if the given @pad is set to proxy caps. This means that the default
+event and query handler will forward all events and queries to the
+internally linked @pads instead of discarding them.</doc>
+ <source-position filename="gst/gstpad.h" line="1100"/>
+ <parameters>
+ <parameter name="pad">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="1094">a #GstPad</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="PAD_IS_PROXY_SCHEDULING"
+ c:identifier="GST_PAD_IS_PROXY_SCHEDULING"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="1147">Check if the given @pad is set to proxy scheduling queries, which means that
+the default query handler will forward scheduling queries to the internally
+linked @pads instead of discarding them.</doc>
+ <source-position filename="gst/gstpad.h" line="1155"/>
+ <parameters>
+ <parameter name="pad">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="1149">a #GstPad</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="PAD_IS_SINK"
+ c:identifier="GST_PAD_IS_SINK"
+ introspectable="0">
+ <source-position filename="gst/gstpad.h" line="994"/>
+ <parameters>
+ <parameter name="pad">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="990">a #GstPad</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="PAD_IS_SRC"
+ c:identifier="GST_PAD_IS_SRC"
+ introspectable="0">
+ <source-position filename="gst/gstpad.h" line="987"/>
+ <parameters>
+ <parameter name="pad">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="983">a #GstPad</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="PAD_ITERINTLINKFUNC"
+ c:identifier="GST_PAD_ITERINTLINKFUNC"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="952">Get the #GstPadIterIntLinkFunction from the given @pad.</doc>
+ <source-position filename="gst/gstpad.h" line="958"/>
+ <parameters>
+ <parameter name="pad">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="954">a #GstPad</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="PAD_LAST_FLOW_RETURN"
+ c:identifier="GST_PAD_LAST_FLOW_RETURN"
+ version="1.4"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="1264">Gets the last flow return on this pad</doc>
+ <source-position filename="gst/gstpad.h" line="1272"/>
+ <parameters>
+ <parameter name="pad">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="1266">a #GstPad</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="PAD_LINKFUNC"
+ c:identifier="GST_PAD_LINKFUNC"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="967">Get the #GstPadLinkFunction for the given @pad.</doc>
+ <source-position filename="gst/gstpad.h" line="973"/>
+ <parameters>
+ <parameter name="pad">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="969">a #GstPad</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="PAD_LINK_FAILED"
+ c:identifier="GST_PAD_LINK_FAILED"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="114">Macro to test if the given #GstPadLinkReturn value indicates a failed
+link step.</doc>
+ <source-position filename="gst/gstpad.h" line="121"/>
+ <parameters>
+ <parameter name="ret">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="116">the #GstPadLinkReturn value</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="PAD_LINK_SUCCESSFUL"
+ c:identifier="GST_PAD_LINK_SUCCESSFUL"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="123">Macro to test if the given #GstPadLinkReturn value indicates a successful
+link step.</doc>
+ <source-position filename="gst/gstpad.h" line="130"/>
+ <parameters>
+ <parameter name="ret">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="125">the #GstPadLinkReturn value</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="PAD_MODE"
+ c:identifier="GST_PAD_MODE"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="873">Get the #GstPadMode of pad, which will be GST_PAD_MODE_NONE if the pad
+has not been activated yet, and otherwise either GST_PAD_MODE_PUSH or
+GST_PAD_MODE_PULL depending on which mode the pad was activated in.</doc>
+ <source-position filename="gst/gstpad.h" line="881"/>
+ <parameters>
+ <parameter name="pad">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="875">a #GstPad</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="PAD_NAME"
+ c:identifier="GST_PAD_NAME"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="823">Get name of the given pad.
+No locking is performed in this function, use gst_pad_get_name() instead.</doc>
+ <source-position filename="gst/gstpad.h" line="830"/>
+ <parameters>
+ <parameter name="pad">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="825">a #GstPad</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="PAD_NEEDS_PARENT"
+ c:identifier="GST_PAD_NEEDS_PARENT"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="1084">Check if there is a parent object before calling into the @pad callbacks.
+This is used internally by GStreamer.</doc>
+ <source-position filename="gst/gstpad.h" line="1091"/>
+ <parameters>
+ <parameter name="pad">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="1086">a #GstPad</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="PAD_NEEDS_RECONFIGURE"
+ c:identifier="GST_PAD_NEEDS_RECONFIGURE"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="1058">Check if the @pad should be reconfigured/renegotiated.
+The flag has to be unset manually after reconfiguration happened.
+Use gst_pad_needs_reconfigure() or gst_pad_check_reconfigure() instead.</doc>
+ <source-position filename="gst/gstpad.h" line="1066"/>
+ <parameters>
+ <parameter name="pad">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="1060">a #GstPad</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="PAD_PAD_TEMPLATE"
+ c:identifier="GST_PAD_PAD_TEMPLATE"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="848">Get the @pad #GstPadTemplate. It describes the possible media types
+a @pad or an element factory can handle.</doc>
+ <source-position filename="gst/gstpad.h" line="855"/>
+ <parameters>
+ <parameter name="pad">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="850">a #GstPad</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="PAD_PARENT"
+ c:identifier="GST_PAD_PARENT"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="831">Get the @pad parent.
+No locking is performed in this function, use gst_pad_get_parent() instead.</doc>
+ <source-position filename="gst/gstpad.h" line="838"/>
+ <parameters>
+ <parameter name="pad">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="833">a #GstPad</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="PAD_PEER"
+ c:identifier="GST_PAD_PEER"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="959">Return the pad's peer member. This member is a pointer to the linked @pad.
+No locking is performed in this function, use gst_pad_get_peer() instead.</doc>
+ <source-position filename="gst/gstpad.h" line="966"/>
+ <parameters>
+ <parameter name="pad">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="961">a #GstPad</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="PAD_PROBE_INFO_BUFFER"
+ c:identifier="GST_PAD_PROBE_INFO_BUFFER"
+ introspectable="0">
+ <source-position filename="gst/gstpad.h" line="610"/>
+ <parameters>
+ <parameter name="d">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="PAD_PROBE_INFO_BUFFER_LIST"
+ c:identifier="GST_PAD_PROBE_INFO_BUFFER_LIST"
+ introspectable="0">
+ <source-position filename="gst/gstpad.h" line="611"/>
+ <parameters>
+ <parameter name="d">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="PAD_PROBE_INFO_DATA"
+ c:identifier="GST_PAD_PROBE_INFO_DATA"
+ introspectable="0">
+ <source-position filename="gst/gstpad.h" line="607"/>
+ <parameters>
+ <parameter name="d">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="PAD_PROBE_INFO_EVENT"
+ c:identifier="GST_PAD_PROBE_INFO_EVENT"
+ introspectable="0">
+ <source-position filename="gst/gstpad.h" line="612"/>
+ <parameters>
+ <parameter name="d">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="PAD_PROBE_INFO_FLOW_RETURN"
+ c:identifier="GST_PAD_PROBE_INFO_FLOW_RETURN"
+ introspectable="0">
+ <source-position filename="gst/gstpad.h" line="608"/>
+ <parameters>
+ <parameter name="d">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="PAD_PROBE_INFO_ID"
+ c:identifier="GST_PAD_PROBE_INFO_ID"
+ introspectable="0">
+ <source-position filename="gst/gstpad.h" line="606"/>
+ <parameters>
+ <parameter name="d">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="PAD_PROBE_INFO_OFFSET"
+ c:identifier="GST_PAD_PROBE_INFO_OFFSET"
+ introspectable="0">
+ <source-position filename="gst/gstpad.h" line="615"/>
+ <parameters>
+ <parameter name="d">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="PAD_PROBE_INFO_QUERY"
+ c:identifier="GST_PAD_PROBE_INFO_QUERY"
+ introspectable="0">
+ <source-position filename="gst/gstpad.h" line="613"/>
+ <parameters>
+ <parameter name="d">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="PAD_PROBE_INFO_SIZE"
+ c:identifier="GST_PAD_PROBE_INFO_SIZE"
+ introspectable="0">
+ <source-position filename="gst/gstpad.h" line="616"/>
+ <parameters>
+ <parameter name="d">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="PAD_PROBE_INFO_TYPE"
+ c:identifier="GST_PAD_PROBE_INFO_TYPE"
+ introspectable="0">
+ <source-position filename="gst/gstpad.h" line="605"/>
+ <parameters>
+ <parameter name="d">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="PAD_QUERYFUNC"
+ c:identifier="GST_PAD_QUERYFUNC"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="941">Get the #GstPadQueryFunction from @pad, which is the function
+that handles queries on the pad. You can use this to set your
+own query handling function on a pad after you create it. If your
+element derives from a base class, use the base class's virtual
+functions instead.</doc>
+ <source-position filename="gst/gstpad.h" line="951"/>
+ <parameters>
+ <parameter name="pad">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="943">a #GstPad</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="PAD_SET_ACCEPT_INTERSECT"
+ c:identifier="GST_PAD_SET_ACCEPT_INTERSECT"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="1183">Set @pad to by default accept caps by intersecting the result instead of
+checking for a subset. This is interesting for parser elements that can
+accept incompletely specified caps.</doc>
+ <source-position filename="gst/gstpad.h" line="1191"/>
+ <parameters>
+ <parameter name="pad">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="1185">a #GstPad</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="PAD_SET_ACCEPT_TEMPLATE"
+ c:identifier="GST_PAD_SET_ACCEPT_TEMPLATE"
+ version="1.6"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="1212">Set @pad to by default use the pad template caps to compare with
+the accept caps instead of using a caps query result.</doc>
+ <source-position filename="gst/gstpad.h" line="1221"/>
+ <parameters>
+ <parameter name="pad">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="1214">a #GstPad</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="PAD_SET_FLUSHING"
+ c:identifier="GST_PAD_SET_FLUSHING"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="1032">Set the given @pad to flushing state, which means it will not accept any
+more events, queries or buffers, and return GST_FLOW_FLUSHING if any buffers
+are pushed on it. This usually happens when the pad is shut down or when
+a flushing seek happens. This is used inside GStreamer when flush start/stop
+events pass through pads, or when an element state is changed and pads are
+activated or deactivated.</doc>
+ <source-position filename="gst/gstpad.h" line="1043"/>
+ <parameters>
+ <parameter name="pad">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="1034">a #GstPad</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="PAD_SET_PROXY_ALLOCATION"
+ c:identifier="GST_PAD_SET_PROXY_ALLOCATION"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="1128">Set @pad to proxy allocation queries, which means that the default query
+handler will forward allocation queries to the internally linked @pads
+instead of discarding them.
+Set this if the element always outputs data in the exact same format as it
+receives as input. This is just for convenience to avoid implementing some
+standard query handling code in an element.</doc>
+ <source-position filename="gst/gstpad.h" line="1139"/>
+ <parameters>
+ <parameter name="pad">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="1130">a #GstPad</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="PAD_SET_PROXY_CAPS"
+ c:identifier="GST_PAD_SET_PROXY_CAPS"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="1101">Set @pad to proxy caps, so that all caps-related events and queries are
+proxied down- or upstream to the other side of the element automatically.
+Set this if the element always outputs data in the exact same format as it
+receives as input. This is just for convenience to avoid implementing some
+standard event and query handling code in an element.</doc>
+ <source-position filename="gst/gstpad.h" line="1111"/>
+ <parameters>
+ <parameter name="pad">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="1103">a #GstPad</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="PAD_SET_PROXY_SCHEDULING"
+ c:identifier="GST_PAD_SET_PROXY_SCHEDULING"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="1156">Set @pad to proxy scheduling queries, which means that the default query
+handler will forward scheduling queries to the internally linked @pads
+instead of discarding them. You will usually want to handle scheduling
+queries explicitly if your element supports multiple scheduling modes.</doc>
+ <source-position filename="gst/gstpad.h" line="1165"/>
+ <parameters>
+ <parameter name="pad">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="1158">a #GstPad</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="PAD_STREAM_LOCK"
+ c:identifier="GST_PAD_STREAM_LOCK"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="1241">Take the pad's stream lock. The stream lock is recursive and will be taken
+when buffers or serialized downstream events are pushed on a pad.</doc>
+ <source-position filename="gst/gstpad.h" line="1248"/>
+ <parameters>
+ <parameter name="pad">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="1243">a #GstPad</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="PAD_STREAM_TRYLOCK"
+ c:identifier="GST_PAD_STREAM_TRYLOCK"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="1249">Try to take the pad's stream lock, and return %TRUE if the lock could be
+taken, and otherwise %FALSE.</doc>
+ <source-position filename="gst/gstpad.h" line="1256"/>
+ <parameters>
+ <parameter name="pad">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="1251">a #GstPad</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="PAD_STREAM_UNLOCK"
+ c:identifier="GST_PAD_STREAM_UNLOCK"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="1257">Release the pad's stream lock.</doc>
+ <source-position filename="gst/gstpad.h" line="1263"/>
+ <parameters>
+ <parameter name="pad">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="1259">a #GstPad</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="PAD_TASK"
+ c:identifier="GST_PAD_TASK"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="864">Get the #GstTask of @pad. Accessor macro used by GStreamer. Use the
+gst_pad_start_task(), gst_pad_stop_task() and gst_pad_pause_task()
+functions instead.</doc>
+ <source-position filename="gst/gstpad.h" line="872"/>
+ <parameters>
+ <parameter name="pad">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="866">a #GstPad</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="PAD_TEMPLATE"
+ c:identifier="GST_PAD_TEMPLATE"
+ introspectable="0">
+ <source-position filename="gst/gstpadtemplate.h" line="45"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="PAD_TEMPLATE_CAPS"
+ c:identifier="GST_PAD_TEMPLATE_CAPS"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstpadtemplate.h"
+ line="89">Get a handle to the padtemplate #GstCaps</doc>
+ <source-position filename="gst/gstpadtemplate.h" line="95"/>
+ <parameters>
+ <parameter name="templ">
+ <doc xml:space="preserve"
+ filename="gst/gstpadtemplate.h"
+ line="91">the template to query</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="PAD_TEMPLATE_CLASS"
+ c:identifier="GST_PAD_TEMPLATE_CLASS"
+ introspectable="0">
+ <source-position filename="gst/gstpadtemplate.h" line="46"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="PAD_TEMPLATE_DIRECTION"
+ c:identifier="GST_PAD_TEMPLATE_DIRECTION"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstpadtemplate.h"
+ line="73">Get the #GstPadDirection of the padtemplate.</doc>
+ <source-position filename="gst/gstpadtemplate.h" line="79"/>
+ <parameters>
+ <parameter name="templ">
+ <doc xml:space="preserve"
+ filename="gst/gstpadtemplate.h"
+ line="75">the template to query</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="PAD_TEMPLATE_GTYPE"
+ c:identifier="GST_PAD_TEMPLATE_GTYPE"
+ version="1.14"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstpadtemplate.h"
+ line="97">Get the #GType of the padtemplate</doc>
+ <source-position filename="gst/gstpadtemplate.h" line="105"/>
+ <parameters>
+ <parameter name="templ">
+ <doc xml:space="preserve"
+ filename="gst/gstpadtemplate.h"
+ line="99">the template to query</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="PAD_TEMPLATE_IS_FIXED"
+ c:identifier="GST_PAD_TEMPLATE_IS_FIXED"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstpadtemplate.h"
+ line="118">Check if the properties of the padtemplate are fixed</doc>
+ <source-position filename="gst/gstpadtemplate.h" line="124"/>
+ <parameters>
+ <parameter name="templ">
+ <doc xml:space="preserve"
+ filename="gst/gstpadtemplate.h"
+ line="120">the template to query</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="PAD_TEMPLATE_NAME_TEMPLATE"
+ c:identifier="GST_PAD_TEMPLATE_NAME_TEMPLATE"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstpadtemplate.h"
+ line="65">Get the nametemplate of the padtemplate.</doc>
+ <source-position filename="gst/gstpadtemplate.h" line="71"/>
+ <parameters>
+ <parameter name="templ">
+ <doc xml:space="preserve"
+ filename="gst/gstpadtemplate.h"
+ line="67">the template to query</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="PAD_TEMPLATE_PRESENCE"
+ c:identifier="GST_PAD_TEMPLATE_PRESENCE"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstpadtemplate.h"
+ line="81">Get the #GstPadPresence of the padtemplate.</doc>
+ <source-position filename="gst/gstpadtemplate.h" line="87"/>
+ <parameters>
+ <parameter name="templ">
+ <doc xml:space="preserve"
+ filename="gst/gstpadtemplate.h"
+ line="83">the template to query</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="PAD_UNLINKFUNC"
+ c:identifier="GST_PAD_UNLINKFUNC"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="974">Get the #GstPadUnlinkFunction from the given @pad.</doc>
+ <source-position filename="gst/gstpad.h" line="980"/>
+ <parameters>
+ <parameter name="pad">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="976">a #GstPad</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="PAD_UNSET_ACCEPT_INTERSECT"
+ c:identifier="GST_PAD_UNSET_ACCEPT_INTERSECT"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="1192">Unset accept intersect flag.</doc>
+ <source-position filename="gst/gstpad.h" line="1198"/>
+ <parameters>
+ <parameter name="pad">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="1194">a #GstPad</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="PAD_UNSET_ACCEPT_TEMPLATE"
+ c:identifier="GST_PAD_UNSET_ACCEPT_TEMPLATE"
+ version="1.6"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="1222">Unset accept template flag.</doc>
+ <source-position filename="gst/gstpad.h" line="1230"/>
+ <parameters>
+ <parameter name="pad">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="1224">a #GstPad</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="PAD_UNSET_FLUSHING"
+ c:identifier="GST_PAD_UNSET_FLUSHING"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="1044">Unset the flushing flag.</doc>
+ <source-position filename="gst/gstpad.h" line="1050"/>
+ <parameters>
+ <parameter name="pad">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="1046">a #GstPad</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="PAD_UNSET_PROXY_ALLOCATION"
+ c:identifier="GST_PAD_UNSET_PROXY_ALLOCATION"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="1140">Unset proxy allocation flag.</doc>
+ <source-position filename="gst/gstpad.h" line="1146"/>
+ <parameters>
+ <parameter name="pad">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="1142">a #GstPad</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="PAD_UNSET_PROXY_CAPS"
+ c:identifier="GST_PAD_UNSET_PROXY_CAPS"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="1112">Unset proxy caps flag.</doc>
+ <source-position filename="gst/gstpad.h" line="1118"/>
+ <parameters>
+ <parameter name="pad">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="1114">a #GstPad</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="PAD_UNSET_PROXY_SCHEDULING"
+ c:identifier="GST_PAD_UNSET_PROXY_SCHEDULING"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="1166">Unset proxy scheduling flag.</doc>
+ <source-position filename="gst/gstpad.h" line="1172"/>
+ <parameters>
+ <parameter name="pad">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="1168">a #GstPad</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <constant name="PARAM_CONDITIONALLY_AVAILABLE"
+ value="16384"
+ c:type="GST_PARAM_CONDITIONALLY_AVAILABLE"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="gst/gstparamspecs.h"
+ line="74">Use this flag on GObject properties of GstObject to indicate that
+they might not be available depending on environment such as OS, device, etc,
+so such properties will be installed conditionally only if the GstObject is
+able to support it.</doc>
+ <source-position filename="gst/gstparamspecs.h" line="84"/>
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="PARAM_CONTROLLABLE"
+ value="512"
+ c:type="GST_PARAM_CONTROLLABLE">
+ <doc xml:space="preserve"
+ filename="gst/gstparamspecs.h"
+ line="29">Use this flag on GObject properties to signal they can make sense to be.
+controlled over time. This hint is used by the GstController.</doc>
+ <source-position filename="gst/gstparamspecs.h" line="35"/>
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="PARAM_DOC_SHOW_DEFAULT"
+ value="8192"
+ c:type="GST_PARAM_DOC_SHOW_DEFAULT"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="gst/gstparamspecs.h"
+ line="63">Use this flag on GObject properties of GstObject to indicate that
+during `gst-inspect` and friends, the default value should be used
+as default instead of the current value.</doc>
+ <source-position filename="gst/gstparamspecs.h" line="72"/>
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="PARAM_MUTABLE_PAUSED"
+ value="2048"
+ c:type="GST_PARAM_MUTABLE_PAUSED">
+ <doc xml:space="preserve"
+ filename="gst/gstparamspecs.h"
+ line="45">Use this flag on GObject properties of GstElements to indicate that
+they can be changed when the element is in the PAUSED or lower state.
+This flag implies GST_PARAM_MUTABLE_READY.</doc>
+ <source-position filename="gst/gstparamspecs.h" line="52"/>
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="PARAM_MUTABLE_PLAYING"
+ value="4096"
+ c:type="GST_PARAM_MUTABLE_PLAYING">
+ <doc xml:space="preserve"
+ filename="gst/gstparamspecs.h"
+ line="54">Use this flag on GObject properties of GstElements to indicate that
+they can be changed when the element is in the PLAYING or lower state.
+This flag implies GST_PARAM_MUTABLE_PAUSED.</doc>
+ <source-position filename="gst/gstparamspecs.h" line="61"/>
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="PARAM_MUTABLE_READY"
+ value="1024"
+ c:type="GST_PARAM_MUTABLE_READY">
+ <doc xml:space="preserve"
+ filename="gst/gstparamspecs.h"
+ line="37">Use this flag on GObject properties of GstElements to indicate that
+they can be changed when the element is in the READY or lower state.</doc>
+ <source-position filename="gst/gstparamspecs.h" line="43"/>
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <function-macro name="PARAM_SPEC_ARRAY_LIST"
+ c:identifier="GST_PARAM_SPEC_ARRAY_LIST"
+ introspectable="0">
+ <source-position filename="gst/gstparamspecs.h" line="118"/>
+ <parameters>
+ <parameter name="pspec">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="PARAM_SPEC_FRACTION"
+ c:identifier="GST_PARAM_SPEC_FRACTION"
+ introspectable="0">
+ <source-position filename="gst/gstparamspecs.h" line="105"/>
+ <parameters>
+ <parameter name="pspec">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <constant name="PARAM_USER_SHIFT"
+ value="65536"
+ c:type="GST_PARAM_USER_SHIFT">
+ <doc xml:space="preserve"
+ filename="gst/gstparamspecs.h"
+ line="86">Bits based on GST_PARAM_USER_SHIFT can be used by 3rd party applications.</doc>
+ <source-position filename="gst/gstparamspecs.h" line="91"/>
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <function-macro name="PIPELINE"
+ c:identifier="GST_PIPELINE"
+ introspectable="0">
+ <source-position filename="gst/gstpipeline.h" line="32"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="PIPELINE_CAST"
+ c:identifier="GST_PIPELINE_CAST"
+ introspectable="0">
+ <source-position filename="gst/gstpipeline.h" line="37"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="PIPELINE_CLASS"
+ c:identifier="GST_PIPELINE_CLASS"
+ introspectable="0">
+ <source-position filename="gst/gstpipeline.h" line="34"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="PIPELINE_GET_CLASS"
+ c:identifier="GST_PIPELINE_GET_CLASS"
+ introspectable="0">
+ <source-position filename="gst/gstpipeline.h" line="36"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="PLUGIN" c:identifier="GST_PLUGIN" introspectable="0">
+ <source-position filename="gst/gstplugin.h" line="192"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="PLUGIN_CAST"
+ c:identifier="GST_PLUGIN_CAST"
+ introspectable="0">
+ <source-position filename="gst/gstplugin.h" line="194"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="PLUGIN_CLASS"
+ c:identifier="GST_PLUGIN_CLASS"
+ introspectable="0">
+ <source-position filename="gst/gstplugin.h" line="193"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="PLUGIN_DEFINE"
+ c:identifier="GST_PLUGIN_DEFINE"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.h"
+ line="230">This macro needs to be used to define the entry point and meta data of a
+plugin. One would use this macro to export a plugin, so that it can be used
+by other applications.
+
+The macro uses a define named PACKAGE for the #GstPluginDesc,source field.
+When using autoconf, this is usually set automatically via the AC_INIT
+macro, and set in config.h. If you are not using autoconf, you will need to
+define PACKAGE yourself and set it to a short mnemonic string identifying
+your application/package, e.g. 'someapp' or 'my-plugins-foo.
+
+If defined, the GST_PACKAGE_RELEASE_DATETIME will also be used for the
+#GstPluginDesc,release_datetime field.</doc>
+ <source-position filename="gst/gstplugin.h" line="255"/>
+ <parameters>
+ <parameter name="major">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.h"
+ line="232">major version number of the gstreamer-core that plugin was compiled for</doc>
+ </parameter>
+ <parameter name="minor">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.h"
+ line="233">minor version number of the gstreamer-core that plugin was compiled for</doc>
+ </parameter>
+ <parameter name="name">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.h"
+ line="234">short, but unique name of the plugin</doc>
+ </parameter>
+ <parameter name="description">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.h"
+ line="235">information about the purpose of the plugin</doc>
+ </parameter>
+ <parameter name="init">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.h"
+ line="236">function pointer to the plugin_init method with the signature of &lt;code&gt;static gboolean plugin_init (GstPlugin * plugin)&lt;/code&gt;.</doc>
+ </parameter>
+ <parameter name="version">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.h"
+ line="237">full version string (e.g. VERSION from config.h)</doc>
+ </parameter>
+ <parameter name="license">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.h"
+ line="238">under which licence the package has been released, e.g. GPL, LGPL.</doc>
+ </parameter>
+ <parameter name="package">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.h"
+ line="239">the package-name (e.g. PACKAGE_NAME from config.h)</doc>
+ </parameter>
+ <parameter name="origin">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.h"
+ line="240">a description from where the package comes from (e.g. the homepage URL)</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="PLUGIN_FEATURE"
+ c:identifier="GST_PLUGIN_FEATURE"
+ introspectable="0">
+ <source-position filename="gst/gstpluginfeature.h" line="34"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="PLUGIN_FEATURE_CAST"
+ c:identifier="GST_PLUGIN_FEATURE_CAST"
+ introspectable="0">
+ <source-position filename="gst/gstpluginfeature.h" line="39"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="PLUGIN_FEATURE_CLASS"
+ c:identifier="GST_PLUGIN_FEATURE_CLASS"
+ introspectable="0">
+ <source-position filename="gst/gstpluginfeature.h" line="36"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="PLUGIN_FEATURE_GET_CLASS"
+ c:identifier="GST_PLUGIN_FEATURE_GET_CLASS"
+ introspectable="0">
+ <source-position filename="gst/gstpluginfeature.h" line="38"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="PLUGIN_FEATURE_LIST_DEBUG"
+ c:identifier="GST_PLUGIN_FEATURE_LIST_DEBUG"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstpluginfeature.h"
+ line="136">Debug the plugin feature names in @list.</doc>
+ <source-position filename="gst/gstpluginfeature.h" line="144"/>
+ <parameters>
+ <parameter name="list">
+ <doc xml:space="preserve"
+ filename="gst/gstpluginfeature.h"
+ line="138">a #GList of
+ plugin features</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="PLUGIN_GET_CLASS"
+ c:identifier="GST_PLUGIN_GET_CLASS"
+ introspectable="0">
+ <source-position filename="gst/gstplugin.h" line="191"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="PLUGIN_STATIC_DECLARE"
+ c:identifier="GST_PLUGIN_STATIC_DECLARE"
+ version="1.2"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.h"
+ line="202">This macro can be used to initialize statically linked plugins. It is
+necessary to call this macro before the plugin can be used.
+It has to be used in combination with GST_PLUGIN_STATIC_REGISTER
+and must be placed outside any block to declare the plugin initialization
+function.</doc>
+ <source-position filename="gst/gstplugin.h" line="214"/>
+ <parameters>
+ <parameter name="name">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.h"
+ line="204">short, but unique name of the plugin</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="PLUGIN_STATIC_REGISTER"
+ c:identifier="GST_PLUGIN_STATIC_REGISTER"
+ version="1.2"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.h"
+ line="217">This macro can be used to initialize statically linked plugins. It is
+necessary to call this macro before the plugin can be used.
+It has to be used in combination with GST_PLUGIN_STATIC_DECLARE and
+calls the plugin initialization function.</doc>
+ <source-position filename="gst/gstplugin.h" line="228"/>
+ <parameters>
+ <parameter name="name">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.h"
+ line="219">short, but unique name of the plugin</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="PRESET" c:identifier="GST_PRESET" introspectable="0">
+ <source-position filename="gst/gstpreset.h" line="31"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="PRESET_GET_INTERFACE"
+ c:identifier="GST_PRESET_GET_INTERFACE"
+ introspectable="0">
+ <source-position filename="gst/gstpreset.h" line="33"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="PROMISE"
+ c:identifier="GST_PROMISE"
+ introspectable="0">
+ <source-position filename="gst/gstpromise.h" line="30"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <constant name="PROTECTION_SYSTEM_ID_CAPS_FIELD"
+ value="protection-system"
+ c:type="GST_PROTECTION_SYSTEM_ID_CAPS_FIELD"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst/gstprotection.h"
+ line="27">The field name in a GstCaps that is used to signal the UUID of the protection
+system.</doc>
+ <source-position filename="gst/gstprotection.h" line="35"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="PROTECTION_UNSPECIFIED_SYSTEM_ID"
+ value="unspecified-system-id"
+ c:type="GST_PROTECTION_UNSPECIFIED_SYSTEM_ID"
+ version="1.16">
+ <doc xml:space="preserve"
+ filename="gst/gstprotection.h"
+ line="37">The protection system value of the unspecified UUID.
+In some cases the system protection ID is not present in the contents or in their
+metadata, as encrypted WebM.
+This define is used to set the value of the "system_id" field in GstProtectionEvent,
+with this value, the application will use an external information to choose which
+protection system to use.
+
+Example: The matroskademux uses this value in the case of encrypted WebM,
+the application will choose the appropriate protection system based on the information
+received through EME API.</doc>
+ <source-position filename="gst/gstprotection.h" line="53"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <function-macro name="PROXY_PAD"
+ c:identifier="GST_PROXY_PAD"
+ introspectable="0">
+ <source-position filename="gst/gstghostpad.h" line="37"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="PROXY_PAD_CLASS"
+ c:identifier="GST_PROXY_PAD_CLASS"
+ introspectable="0">
+ <source-position filename="gst/gstghostpad.h" line="38"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <constant name="PTR_FORMAT"
+ value="paA"
+ c:type="GST_PTR_FORMAT"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.h"
+ line="278">printf format type used to debug GStreamer types. You can use this in
+combination with GStreamer's debug logging system as well as the functions
+gst_info_vasprintf(), gst_info_strdup_vprintf() and gst_info_strdup_printf()
+to pretty-print the following types: #GstCaps, #GstStructure,
+#GstCapsFeatures, #GstTagList, #GstDateTime, #GstBuffer, #GstBufferList,
+#GstMessage, #GstEvent, #GstQuery, #GstContext, #GstPad, #GstObject. All
+#GObject types will be printed as typename plus pointer, and everything
+else will simply be printed as pointer address.
+
+This can only be used on types whose size is &gt;= sizeof(gpointer).</doc>
+ <source-position filename="gst/gstinfo.h" line="292"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <class name="Pad"
+ c:symbol-prefix="pad"
+ c:type="GstPad"
+ parent="Object"
+ glib:type-name="GstPad"
+ glib:get-type="gst_pad_get_type"
+ glib:type-struct="PadClass">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="22">A #GstElement is linked to other elements via "pads", which are extremely
+light-weight generic link points.
+
+Pads have a #GstPadDirection, source pads produce data, sink pads consume
+data.
+
+Pads are typically created from a #GstPadTemplate with
+gst_pad_new_from_template() and are then added to a #GstElement. This usually
+happens when the element is created but it can also happen dynamically based
+on the data that the element is processing or based on the pads that the
+application requests.
+
+Pads without pad templates can be created with gst_pad_new(),
+which takes a direction and a name as an argument. If the name is %NULL,
+then a guaranteed unique name will be assigned to it.
+
+A #GstElement creating a pad will typically use the various
+gst_pad_set_*_function\() calls to register callbacks for events, queries or
+dataflow on the pads.
+
+gst_pad_get_parent() will retrieve the #GstElement that owns the pad.
+
+After two pads are retrieved from an element by gst_element_get_static_pad(),
+the pads can be linked with gst_pad_link(). (For quick links,
+you can also use gst_element_link(), which will make the obvious
+link for you if it's straightforward.). Pads can be unlinked again with
+gst_pad_unlink(). gst_pad_get_peer() can be used to check what the pad is
+linked to.
+
+Before dataflow is possible on the pads, they need to be activated with
+gst_pad_set_active().
+
+gst_pad_query() and gst_pad_peer_query() can be used to query various
+properties of the pad and the stream.
+
+To send a #GstEvent on a pad, use gst_pad_send_event() and
+gst_pad_push_event(). Some events will be sticky on the pad, meaning that
+after they pass on the pad they can be queried later with
+gst_pad_get_sticky_event() and gst_pad_sticky_events_foreach().
+gst_pad_get_current_caps() and gst_pad_has_current_caps() are convenience
+functions to query the current sticky CAPS event on a pad.
+
+GstElements will use gst_pad_push() and gst_pad_pull_range() to push out
+or pull in a buffer.
+
+The dataflow, events and queries that happen on a pad can be monitored with
+probes that can be installed with gst_pad_add_probe(). gst_pad_is_blocked()
+can be used to check if a block probe is installed on the pad.
+gst_pad_is_blocking() checks if the blocking probe is currently blocking the
+pad. gst_pad_remove_probe() is used to remove a previously installed probe
+and unblock blocking probes if any.
+
+Pad have an offset that can be retrieved with gst_pad_get_offset(). This
+offset will be applied to the running_time of all data passing over the pad.
+gst_pad_set_offset() can be used to change the offset.
+
+Convenience functions exist to start, pause and stop the task on a pad with
+gst_pad_start_task(), gst_pad_pause_task() and gst_pad_stop_task()
+respectively.</doc>
+ <source-position filename="gst/gstpad.h" line="817"/>
+ <constructor name="new" c:identifier="gst_pad_new">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="825">Creates a new pad with the given name in the given direction.
+If name is %NULL, a guaranteed unique name (across all pads)
+will be assigned.
+This function makes a copy of the name so you can safely free the name.</doc>
+ <source-position filename="gst/gstpad.h" line="1285"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="835">a new #GstPad.
+
+MT safe.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </return-value>
+ <parameters>
+ <parameter name="name"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="827">the name of the new pad.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="direction" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="828">the #GstPadDirection of the pad.</doc>
+ <type name="PadDirection" c:type="GstPadDirection"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_from_static_template"
+ c:identifier="gst_pad_new_from_static_template">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="871">Creates a new pad with the given name from the given static template.
+If name is %NULL, a guaranteed unique name (across all pads)
+will be assigned.
+This function makes a copy of the name so you can safely free the name.</doc>
+ <source-position filename="gst/gstpad.h" line="1291"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="881">a new #GstPad.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </return-value>
+ <parameters>
+ <parameter name="templ" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="873">the #GstStaticPadTemplate to use</doc>
+ <type name="StaticPadTemplate" c:type="GstStaticPadTemplate*"/>
+ </parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="874">the name of the pad</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_from_template"
+ c:identifier="gst_pad_new_from_template">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="846">Creates a new pad with the given name from the given template.
+If name is %NULL, a guaranteed unique name (across all pads)
+will be assigned.
+This function makes a copy of the name so you can safely free the name.</doc>
+ <source-position filename="gst/gstpad.h" line="1288"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="856">a new #GstPad.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </return-value>
+ <parameters>
+ <parameter name="templ" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="848">the pad template to use</doc>
+ <type name="PadTemplate" c:type="GstPadTemplate*"/>
+ </parameter>
+ <parameter name="name"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="849">the name of the pad</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <function name="link_get_name"
+ c:identifier="gst_pad_link_get_name"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="271">Gets a string representing the given pad-link return.</doc>
+ <source-position filename="gst/gstpad.h" line="192"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="277">a static string with the name of the pad-link return.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="ret" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="273">a #GstPadLinkReturn to get the name of.</doc>
+ <type name="PadLinkReturn" c:type="GstPadLinkReturn"/>
+ </parameter>
+ </parameters>
+ </function>
+ <virtual-method name="linked">
+ <source-position filename="gst/gstpad.h" line="812"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pad" transfer-ownership="none">
+ <type name="Pad" c:type="GstPad*"/>
+ </instance-parameter>
+ <parameter name="peer" transfer-ownership="none">
+ <type name="Pad" c:type="GstPad*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="unlinked">
+ <source-position filename="gst/gstpad.h" line="813"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pad" transfer-ownership="none">
+ <type name="Pad" c:type="GstPad*"/>
+ </instance-parameter>
+ <parameter name="peer" transfer-ownership="none">
+ <type name="Pad" c:type="GstPad*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <method name="activate_mode" c:identifier="gst_pad_activate_mode">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="1287">Activates or deactivates the given pad in @mode via dispatching to the
+pad's activatemodefunc. For use from within pad activation functions only.
+
+If you don't know what this is, you probably don't want to call it.</doc>
+ <source-position filename="gst/gstpad.h" line="1327"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="1298">%TRUE if the operation was successful.
+
+MT safe.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="1289">the #GstPad to activate or deactivate.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </instance-parameter>
+ <parameter name="mode" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="1290">the requested activation mode</doc>
+ <type name="PadMode" c:type="GstPadMode"/>
+ </parameter>
+ <parameter name="active" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="1291">whether or not the pad should be active.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_probe" c:identifier="gst_pad_add_probe">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="1398">Be notified of different states of pads. The provided callback is called for
+every state that matches @mask.
+
+Probes are called in groups: First GST_PAD_PROBE_TYPE_BLOCK probes are
+called, then others, then finally GST_PAD_PROBE_TYPE_IDLE. The only
+exception here are GST_PAD_PROBE_TYPE_IDLE probes that are called
+immediately if the pad is already idle while calling gst_pad_add_probe().
+In each of the groups, probes are called in the order in which they were
+added.</doc>
+ <source-position filename="gst/gstpad.h" line="1330"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="1417">an id or 0 if no probe is pending. The id can be used to remove the
+probe with gst_pad_remove_probe(). When using GST_PAD_PROBE_TYPE_IDLE it can
+happen that the probe can be run immediately and if the probe returns
+GST_PAD_PROBE_REMOVE this functions returns 0.
+
+MT safe.</doc>
+ <type name="gulong" c:type="gulong"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="1400">the #GstPad to add the probe to</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </instance-parameter>
+ <parameter name="mask" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="1401">the probe mask</doc>
+ <type name="PadProbeType" c:type="GstPadProbeType"/>
+ </parameter>
+ <parameter name="callback"
+ transfer-ownership="none"
+ scope="notified"
+ closure="2"
+ destroy="3">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="1402">#GstPadProbeCallback that will be called with notifications of
+ the pad state</doc>
+ <type name="PadProbeCallback" c:type="GstPadProbeCallback"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="1404">user data passed to the callback</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="destroy_data"
+ transfer-ownership="none"
+ scope="async">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="1405">#GDestroyNotify for user_data</doc>
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="can_link" c:identifier="gst_pad_can_link">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="2441">Checks if the source pad and the sink pad are compatible so they can be
+linked.</doc>
+ <source-position filename="gst/gstpad.h" line="1437"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="2449">%TRUE if the pads can be linked.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="srcpad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="2443">the source #GstPad.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </instance-parameter>
+ <parameter name="sinkpad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="2444">the sink #GstPad.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="chain" c:identifier="gst_pad_chain">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="4496">Chain a buffer to @pad.
+
+The function returns #GST_FLOW_FLUSHING if the pad was flushing.
+
+If the buffer type is not acceptable for @pad (as negotiated with a
+preceding GST_EVENT_CAPS event), this function returns
+#GST_FLOW_NOT_NEGOTIATED.
+
+The function proceeds calling the chain function installed on @pad (see
+gst_pad_set_chain_function()) and the return value of that function is
+returned to the caller. #GST_FLOW_NOT_SUPPORTED is returned if @pad has no
+chain function.
+
+In all cases, success or failure, the caller loses its reference to @buffer
+after calling this function.</doc>
+ <source-position filename="gst/gstpad.h" line="1501"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="4518">a #GstFlowReturn from the pad.
+
+MT safe.</doc>
+ <type name="FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="4498">a sink #GstPad, returns GST_FLOW_ERROR if not.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </instance-parameter>
+ <parameter name="buffer" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="4499">the #GstBuffer to send, return GST_FLOW_ERROR
+ if not.</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="chain_list" c:identifier="gst_pad_chain_list">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="4560">Chain a bufferlist to @pad.
+
+The function returns #GST_FLOW_FLUSHING if the pad was flushing.
+
+If @pad was not negotiated properly with a CAPS event, this function
+returns #GST_FLOW_NOT_NEGOTIATED.
+
+The function proceeds calling the chainlist function installed on @pad (see
+gst_pad_set_chain_list_function()) and the return value of that function is
+returned to the caller. #GST_FLOW_NOT_SUPPORTED is returned if @pad has no
+chainlist function.
+
+In all cases, success or failure, the caller loses its reference to @list
+after calling this function.
+
+MT safe.</doc>
+ <source-position filename="gst/gstpad.h" line="1504"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="4583">a #GstFlowReturn from the pad.</doc>
+ <type name="FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="4562">a sink #GstPad, returns GST_FLOW_ERROR if not.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </instance-parameter>
+ <parameter name="list" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="4563">the #GstBufferList to send, return GST_FLOW_ERROR
+ if not.</doc>
+ <type name="BufferList" c:type="GstBufferList*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="check_reconfigure"
+ c:identifier="gst_pad_check_reconfigure">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="1654">Check and clear the #GST_PAD_FLAG_NEED_RECONFIGURE flag on @pad and return %TRUE
+if the flag was set.</doc>
+ <source-position filename="gst/gstpad.h" line="1351"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="1661">%TRUE is the GST_PAD_FLAG_NEED_RECONFIGURE flag was set on @pad.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="1656">the #GstPad to check</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="create_stream_id" c:identifier="gst_pad_create_stream_id">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="4123">Creates a stream-id for the source #GstPad @pad by combining the
+upstream information with the optional @stream_id of the stream
+of @pad. @pad must have a parent #GstElement and which must have zero
+or one sinkpad. @stream_id can only be %NULL if the parent element
+of @pad has only a single source pad.
+
+This function generates an unique stream-id by getting the upstream
+stream-start event stream ID and appending @stream_id to it. If the
+element has no sinkpad it will generate an upstream stream-id by
+doing an URI query on the element and in the worst case just uses
+a random number. Source elements that don't implement the URI
+handler interface should ideally generate a unique, deterministic
+stream-id manually instead.
+
+Since stream IDs are sorted alphabetically, any numbers in the
+stream ID should be printed with a fixed number of characters,
+preceded by 0's, such as by using the format \%03u instead of \%u.</doc>
+ <source-position filename="gst/gstutils.h" line="1117"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="4147">A stream-id for @pad. g_free() after usage.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="4125">A source #GstPad</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </instance-parameter>
+ <parameter name="parent" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="4126">Parent #GstElement of @pad</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </parameter>
+ <parameter name="stream_id"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="4127">The stream-id</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="create_stream_id_printf"
+ c:identifier="gst_pad_create_stream_id_printf"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="4085">Creates a stream-id for the source #GstPad @pad by combining the
+upstream information with the optional @stream_id of the stream
+of @pad. @pad must have a parent #GstElement and which must have zero
+or one sinkpad. @stream_id can only be %NULL if the parent element
+of @pad has only a single source pad.
+
+This function generates an unique stream-id by getting the upstream
+stream-start event stream ID and appending @stream_id to it. If the
+element has no sinkpad it will generate an upstream stream-id by
+doing an URI query on the element and in the worst case just uses
+a random number. Source elements that don't implement the URI
+handler interface should ideally generate a unique, deterministic
+stream-id manually instead.</doc>
+ <source-position filename="gst/gstutils.h" line="1120"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="4106">A stream-id for @pad. g_free() after usage.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="4087">A source #GstPad</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </instance-parameter>
+ <parameter name="parent" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="4088">Parent #GstElement of @pad</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </parameter>
+ <parameter name="stream_id"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="4089">The stream-id</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="..." transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="4090">parameters for the @stream_id format string</doc>
+ <varargs/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="create_stream_id_printf_valist"
+ c:identifier="gst_pad_create_stream_id_printf_valist"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="4046">Creates a stream-id for the source #GstPad @pad by combining the
+upstream information with the optional @stream_id of the stream
+of @pad. @pad must have a parent #GstElement and which must have zero
+or one sinkpad. @stream_id can only be %NULL if the parent element
+of @pad has only a single source pad.
+
+This function generates an unique stream-id by getting the upstream
+stream-start event stream ID and appending @stream_id to it. If the
+element has no sinkpad it will generate an upstream stream-id by
+doing an URI query on the element and in the worst case just uses
+a random number. Source elements that don't implement the URI
+handler interface should ideally generate a unique, deterministic
+stream-id manually instead.</doc>
+ <source-position filename="gst/gstutils.h" line="1123"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="4067">A stream-id for @pad. g_free() after usage.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="4048">A source #GstPad</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </instance-parameter>
+ <parameter name="parent" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="4049">Parent #GstElement of @pad</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </parameter>
+ <parameter name="stream_id"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="4050">The stream-id</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="var_args" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="4051">parameters for the @stream_id format string</doc>
+ <type name="va_list" c:type="va_list"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="event_default" c:identifier="gst_pad_event_default">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="3128">Invokes the default event handler for the given pad.
+
+The EOS event will pause the task associated with @pad before it is forwarded
+to all internally linked pads,
+
+The event is sent to all pads internally linked to @pad. This function
+takes ownership of @event.</doc>
+ <source-position filename="gst/gstpad.h" line="1493"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="3142">%TRUE if the event was sent successfully.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="3130">a #GstPad to call the default event handler on.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </instance-parameter>
+ <parameter name="parent"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="3131">the parent of @pad or %NULL</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="event" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="3132">the #GstEvent to handle.</doc>
+ <type name="Event" c:type="GstEvent*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="forward" c:identifier="gst_pad_forward">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="3029">Calls @forward for all internally linked pads of @pad. This function deals with
+dynamically changing internal pads and will make sure that the @forward
+function is only called once for each pad.
+
+When @forward returns %TRUE, no further pads will be processed.</doc>
+ <source-position filename="gst/gstpad.h" line="1566"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="3041">%TRUE if one of the dispatcher functions returned %TRUE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="3031">a #GstPad</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </instance-parameter>
+ <parameter name="forward"
+ transfer-ownership="none"
+ scope="call"
+ closure="1">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="3032">a #GstPadForwardFunction</doc>
+ <type name="PadForwardFunction" c:type="GstPadForwardFunction"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="3033">user data passed to @forward</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_allowed_caps" c:identifier="gst_pad_get_allowed_caps">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="2786">Gets the capabilities of the allowed media types that can flow through
+@pad and its peer.
+
+The allowed capabilities is calculated as the intersection of the results of
+calling gst_pad_query_caps() on @pad and its peer. The caller owns a reference
+on the resulting caps.</doc>
+ <source-position filename="gst/gstpad.h" line="1468"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="2797">the allowed #GstCaps of the
+ pad link. Unref the caps when you no longer need it. This
+ function returns %NULL when @pad has no peer.
+
+MT safe.</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="2788">a #GstPad.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_current_caps" c:identifier="gst_pad_get_current_caps">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="2712">Gets the capabilities currently configured on @pad with the last
+#GST_EVENT_CAPS event.</doc>
+ <source-position filename="gst/gstpad.h" line="1460"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="2719">the current caps of the pad with
+incremented ref-count or %NULL when pad has no caps. Unref after usage.</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="2714">a #GstPad to get the current capabilities of.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_direction" c:identifier="gst_pad_get_direction">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="910">Gets the direction of the pad. The direction of the pad is
+decided at construction time so this function does not take
+the LOCK.</doc>
+ <source-position filename="gst/gstpad.h" line="1318"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="918">the #GstPadDirection of the pad.
+
+MT safe.</doc>
+ <type name="PadDirection" c:type="GstPadDirection"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="912">a #GstPad to get the direction of.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_element_private"
+ c:identifier="gst_pad_get_element_private">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="6052">Gets the private data of a pad.
+No locking is performed in this function.</doc>
+ <source-position filename="gst/gstpad.h" line="1357"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="6059">a #gpointer to the private data.</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="6054">the #GstPad to get the private data of.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_last_flow_return"
+ c:identifier="gst_pad_get_last_flow_return"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="6482">Gets the #GstFlowReturn return from the last data passed by this pad.</doc>
+ <source-position filename="gst/gstpad.h" line="1496"/>
+ <return-value transfer-ownership="none">
+ <type name="FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="6484">the #GstPad</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_offset" c:identifier="gst_pad_get_offset">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="3903">Get the offset applied to the running time of @pad. @pad has to be a source
+pad.</doc>
+ <source-position filename="gst/gstpad.h" line="1473"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="3910">the offset.</doc>
+ <type name="gint64" c:type="gint64"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="3905">a #GstPad</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_pad_template" c:identifier="gst_pad_get_pad_template">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="2664">Gets the template for @pad.</doc>
+ <source-position filename="gst/gstpad.h" line="1360"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="2670">the #GstPadTemplate from which
+ this pad was instantiated, or %NULL if this pad has no
+ template. Unref after usage.</doc>
+ <type name="PadTemplate" c:type="GstPadTemplate*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="2666">a #GstPad.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_pad_template_caps"
+ c:identifier="gst_pad_get_pad_template_caps">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="2739">Gets the capabilities for @pad's template.</doc>
+ <source-position filename="gst/gstpad.h" line="1455"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="2745">the #GstCaps of this pad template.
+Unref after usage.</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="2741">a #GstPad to get the template capabilities from.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_parent_element"
+ c:identifier="gst_pad_get_parent_element">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="2631">Gets the parent of @pad, cast to a #GstElement. If a @pad has no parent or
+its parent is not an element, return %NULL.</doc>
+ <source-position filename="gst/gstutils.h" line="1069"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="2638">the parent of the pad. The
+caller has a reference on the parent, so unref when you're finished
+with it.
+
+MT safe.</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="2633">a pad</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_peer" c:identifier="gst_pad_get_peer">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="2759">Gets the peer of @pad. This function refs the peer pad so
+you need to unref it after use.</doc>
+ <source-position filename="gst/gstpad.h" line="1452"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="2766">the peer #GstPad. Unref after usage.
+
+MT safe.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="2761">a #GstPad to get the peer of.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_range" c:identifier="gst_pad_get_range">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="4981">When @pad is flushing this function returns #GST_FLOW_FLUSHING
+immediately and @buffer is %NULL.
+
+Calls the getrange function of @pad, see #GstPadGetRangeFunction for a
+description of a getrange function. If @pad has no getrange function
+installed (see gst_pad_set_getrange_function()) this function returns
+#GST_FLOW_NOT_SUPPORTED.
+
+If @buffer points to a variable holding %NULL, a valid new #GstBuffer will be
+placed in @buffer when this function returns #GST_FLOW_OK. The new buffer
+must be freed with gst_buffer_unref() after usage.
+
+When @buffer points to a variable that points to a valid #GstBuffer, the
+buffer will be filled with the result data when this function returns
+#GST_FLOW_OK. If the provided buffer is larger than @size, only
+@size bytes will be filled in the result buffer and its size will be updated
+accordingly.
+
+Note that less than @size bytes can be returned in @buffer when, for example,
+an EOS condition is near or when @buffer is not large enough to hold @size
+bytes. The caller should check the result buffer size to get the result size.
+
+When this function returns any other result value than #GST_FLOW_OK, @buffer
+will be unchanged.
+
+This is a lowlevel function. Usually gst_pad_pull_range() is used.</doc>
+ <source-position filename="gst/gstpad.h" line="1507"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="5016">a #GstFlowReturn from the pad.
+
+MT safe.</doc>
+ <type name="FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="4983">a src #GstPad, returns #GST_FLOW_ERROR if not.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </instance-parameter>
+ <parameter name="offset" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="4984">The start offset of the buffer</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="4985">The length of the buffer</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="buffer"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="4986">a pointer to hold the #GstBuffer,
+ returns #GST_FLOW_ERROR if %NULL.</doc>
+ <type name="Buffer" c:type="GstBuffer**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_single_internal_link"
+ c:identifier="gst_pad_get_single_internal_link"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="2853">If there is a single internal link of the given pad, this function will
+return it. Otherwise, it will return NULL.</doc>
+ <source-position filename="gst/gstpad.h" line="1543"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="2860">a #GstPad, or %NULL if @pad has none
+or more than one internal links. Unref returned pad with
+gst_object_unref().</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="2855">the #GstPad to get the internal link of.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_sticky_event" c:identifier="gst_pad_get_sticky_event">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="6067">Returns a new reference of the sticky event of type @event_type
+from the event.</doc>
+ <source-position filename="gst/gstpad.h" line="1366"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="6076">a #GstEvent of type
+@event_type or %NULL when no event of @event_type was on
+@pad. Unref after usage.</doc>
+ <type name="Event" c:type="GstEvent*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="6069">the #GstPad to get the event from.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </instance-parameter>
+ <parameter name="event_type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="6070">the #GstEventType that should be retrieved.</doc>
+ <type name="EventType" c:type="GstEventType"/>
+ </parameter>
+ <parameter name="idx" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="6071">the index of the event</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_stream"
+ c:identifier="gst_pad_get_stream"
+ version="1.10">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="4197">Returns the current #GstStream for the @pad, or %NULL if none has been
+set yet, i.e. the pad has not received a stream-start event yet.
+
+This is a convenience wrapper around gst_pad_get_sticky_event() and
+gst_event_parse_stream().</doc>
+ <source-position filename="gst/gstutils.h" line="1129"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="4207">the current #GstStream for @pad, or %NULL.
+ unref the returned stream when no longer needed.</doc>
+ <type name="Stream" c:type="GstStream*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="4199">A source #GstPad</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_stream_id"
+ c:identifier="gst_pad_get_stream_id"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="4156">Returns the current stream-id for the @pad, or %NULL if none has been
+set yet, i.e. the pad has not received a stream-start event yet.
+
+This is a convenience wrapper around gst_pad_get_sticky_event() and
+gst_event_parse_stream_start().
+
+The returned stream-id string should be treated as an opaque string, its
+contents should not be interpreted.</doc>
+ <source-position filename="gst/gstutils.h" line="1126"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="4169">a newly-allocated copy of the stream-id for
+ @pad, or %NULL. g_free() the returned string when no longer
+ needed.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="4158">A source #GstPad</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_task_state"
+ c:identifier="gst_pad_get_task_state"
+ version="1.12">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="6309">Get @pad task state. If no task is currently
+set, #GST_TASK_STOPPED is returned.</doc>
+ <source-position filename="gst/gstpad.h" line="1524"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="6316">The current state of @pad's task.</doc>
+ <type name="TaskState" c:type="GstTaskState"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="6311">the #GstPad to get task state from</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="has_current_caps" c:identifier="gst_pad_has_current_caps">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="2686">Check if @pad has caps set on it with a #GST_EVENT_CAPS event.</doc>
+ <source-position filename="gst/gstpad.h" line="1463"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="2692">%TRUE when @pad has caps associated with it.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="2688">a #GstPad to check</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="is_active" c:identifier="gst_pad_is_active">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="1343">Query if a pad is active</doc>
+ <source-position filename="gst/gstpad.h" line="1324"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="1349">%TRUE if the pad is active.
+
+MT safe.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="1345">the #GstPad to query</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="is_blocked" c:identifier="gst_pad_is_blocked">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="1578">Checks if the pad is blocked or not. This function returns the
+last requested state of the pad. It is not certain that the pad
+is actually blocking at this point (see gst_pad_is_blocking()).</doc>
+ <source-position filename="gst/gstpad.h" line="1339"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="1586">%TRUE if the pad is blocked.
+
+MT safe.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="1580">the #GstPad to query</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="is_blocking" c:identifier="gst_pad_is_blocking">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="1604">Checks if the pad is blocking or not. This is a guaranteed state
+of whether the pad is actually blocking on a #GstBuffer or a #GstEvent.</doc>
+ <source-position filename="gst/gstpad.h" line="1342"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="1611">%TRUE if the pad is blocking.
+
+MT safe.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="1606">the #GstPad to query</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="is_linked" c:identifier="gst_pad_is_linked">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="2213">Checks if a @pad is linked to another pad or not.</doc>
+ <source-position filename="gst/gstpad.h" line="1449"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="2219">%TRUE if the pad is linked, %FALSE otherwise.
+
+MT safe.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="2215">pad to check</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="iterate_internal_links"
+ c:identifier="gst_pad_iterate_internal_links">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="2985">Gets an iterator for the pads to which the given pad is linked to inside
+of the parent element.
+
+Each #GstPad element yielded by the iterator will have its refcount increased,
+so unref after use.
+
+Free-function: gst_iterator_free</doc>
+ <source-position filename="gst/gstpad.h" line="1535"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="2997">a new #GstIterator of #GstPad
+ or %NULL when the pad does not have an iterator function
+ configured. Use gst_iterator_free() after usage.</doc>
+ <type name="Iterator" c:type="GstIterator*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="2987">the GstPad to get the internal links of.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="iterate_internal_links_default"
+ c:identifier="gst_pad_iterate_internal_links_default">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="2919">Iterate the list of pads to which the given pad is linked to inside of
+the parent element.
+This is the default handler, and thus returns an iterator of all of the
+pads inside the parent element with opposite direction.
+
+The caller must free this iterator after use with gst_iterator_free().</doc>
+ <source-position filename="gst/gstpad.h" line="1538"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="2931">a #GstIterator of #GstPad, or %NULL if @pad
+has no parent. Unref each returned pad with gst_object_unref().</doc>
+ <type name="Iterator" c:type="GstIterator*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="2921">the #GstPad to get the internal links of.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </instance-parameter>
+ <parameter name="parent"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="2922">the parent of @pad or %NULL</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="link" c:identifier="gst_pad_link">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="2630">Links the source pad and the sink pad.</doc>
+ <source-position filename="gst/gstpad.h" line="1440"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="2637">A result code indicating if the connection worked or
+ what went wrong.
+
+MT Safe.</doc>
+ <type name="PadLinkReturn" c:type="GstPadLinkReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="srcpad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="2632">the source #GstPad to link.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </instance-parameter>
+ <parameter name="sinkpad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="2633">the sink #GstPad to link.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="link_full" c:identifier="gst_pad_link_full">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="2477">Links the source pad and the sink pad.
+
+This variant of #gst_pad_link provides a more granular control on the
+checks being done when linking. While providing some considerable speedups
+the caller of this method must be aware that wrong usage of those flags
+can cause severe issues. Refer to the documentation of #GstPadLinkCheck
+for more information.
+
+MT Safe.</doc>
+ <source-position filename="gst/gstpad.h" line="1443"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="2493">A result code indicating if the connection worked or
+ what went wrong.</doc>
+ <type name="PadLinkReturn" c:type="GstPadLinkReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="srcpad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="2479">the source #GstPad to link.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </instance-parameter>
+ <parameter name="sinkpad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="2480">the sink #GstPad to link.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="2481">the checks to validate when linking</doc>
+ <type name="PadLinkCheck" c:type="GstPadLinkCheck"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="link_maybe_ghosting"
+ c:identifier="gst_pad_link_maybe_ghosting"
+ version="1.10">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="1742">Links @src to @sink, creating any #GstGhostPad's in between as necessary.
+
+This is a convenience function to save having to create and add intermediate
+#GstGhostPad's as required for linking across #GstBin boundaries.
+
+If @src or @sink pads don't have parent elements or do not share a common
+ancestor, the link will fail.</doc>
+ <source-position filename="gst/gstutils.h" line="1095"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="1755">whether the link succeeded.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="src" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="1744">a #GstPad</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </instance-parameter>
+ <parameter name="sink" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="1745">a #GstPad</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="link_maybe_ghosting_full"
+ c:identifier="gst_pad_link_maybe_ghosting_full"
+ version="1.10">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="1710">Links @src to @sink, creating any #GstGhostPad's in between as necessary.
+
+This is a convenience function to save having to create and add intermediate
+#GstGhostPad's as required for linking across #GstBin boundaries.
+
+If @src or @sink pads don't have parent elements or do not share a common
+ancestor, the link will fail.
+
+Calling gst_pad_link_maybe_ghosting_full() with
+@flags == %GST_PAD_LINK_CHECK_DEFAULT is the recommended way of linking
+pads with safety checks applied.</doc>
+ <source-position filename="gst/gstutils.h" line="1098"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="1728">whether the link succeeded.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="src" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="1712">a #GstPad</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </instance-parameter>
+ <parameter name="sink" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="1713">a #GstPad</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="1714">some #GstPadLinkCheck flags</doc>
+ <type name="PadLinkCheck" c:type="GstPadLinkCheck"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="mark_reconfigure" c:identifier="gst_pad_mark_reconfigure">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="1681">Mark a pad for needing reconfiguration. The next call to
+gst_pad_check_reconfigure() will return %TRUE after this call.</doc>
+ <source-position filename="gst/gstpad.h" line="1345"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="1683">the #GstPad to mark</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="needs_reconfigure"
+ c:identifier="gst_pad_needs_reconfigure">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="1630">Check the #GST_PAD_FLAG_NEED_RECONFIGURE flag on @pad and return %TRUE
+if the flag was set.</doc>
+ <source-position filename="gst/gstpad.h" line="1348"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="1637">%TRUE is the GST_PAD_FLAG_NEED_RECONFIGURE flag is set on @pad.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="1632">the #GstPad to check</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="pause_task" c:identifier="gst_pad_pause_task">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="6263">Pause the task of @pad. This function will also wait until the
+function executed by the task is finished if this function is not
+called from the task function.</doc>
+ <source-position filename="gst/gstpad.h" line="1518"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="6271">a %TRUE if the task could be paused or %FALSE when the pad
+has no task.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="6265">the #GstPad to pause the task of</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="peer_query" c:identifier="gst_pad_peer_query">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="4217">Performs gst_pad_query() on the peer of @pad.
+
+The caller is responsible for both the allocation and deallocation of
+the query structure.</doc>
+ <source-position filename="gst/gstpad.h" line="1551"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="4227">%TRUE if the query could be performed. This function returns %FALSE
+if @pad has no peer.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="4219">a #GstPad to invoke the peer query on.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </instance-parameter>
+ <parameter name="query" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="4220">the #GstQuery to perform.</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="peer_query_accept_caps"
+ c:identifier="gst_pad_peer_query_accept_caps">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="3198">Check if the peer of @pad accepts @caps. If @pad has no peer, this function
+returns %TRUE.</doc>
+ <source-position filename="gst/gstutils.h" line="1114"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="3206">%TRUE if the peer of @pad can accept the caps or @pad has no peer.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="3200">a #GstPad to check the peer of</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </instance-parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="3201">a #GstCaps to check on the pad</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="peer_query_caps" c:identifier="gst_pad_peer_query_caps">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="3121">Gets the capabilities of the peer connected to this pad. Similar to
+gst_pad_query_caps().
+
+When called on srcpads @filter contains the caps that
+upstream could produce in the order preferred by upstream. When
+called on sinkpads @filter contains the caps accepted by
+downstream in the preferred order. @filter might be %NULL but
+if it is not %NULL the returned caps will be a subset of @filter.</doc>
+ <source-position filename="gst/gstutils.h" line="1111"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="3135">the caps of the peer pad with incremented
+ref-count. When there is no peer pad, this function returns @filter or,
+when @filter is %NULL, ANY caps.</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="3123">a #GstPad to get the capabilities of.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </instance-parameter>
+ <parameter name="filter"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="3124">a #GstCaps filter, or %NULL.</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="peer_query_convert"
+ c:identifier="gst_pad_peer_query_convert">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="3036">Queries the peer pad of a given sink pad to convert @src_val in @src_format
+to @dest_format.</doc>
+ <source-position filename="gst/gstutils.h" line="1108"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="3048">%TRUE if the query could be performed.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="3038">a #GstPad, on whose peer pad to invoke the convert query on.
+ Must be a sink pad.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </instance-parameter>
+ <parameter name="src_format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="3040">a #GstFormat to convert from.</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ <parameter name="src_val" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="3041">a value to convert.</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ <parameter name="dest_format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="3042">the #GstFormat to convert to.</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ <parameter name="dest_val"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="3043">a pointer to the result.</doc>
+ <type name="gint64" c:type="gint64*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="peer_query_duration"
+ c:identifier="gst_pad_peer_query_duration">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="2967">Queries the peer pad of a given sink pad for the total stream duration.</doc>
+ <source-position filename="gst/gstutils.h" line="1105"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="2977">%TRUE if the query could be performed.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="2969">a #GstPad on whose peer pad to invoke the duration query on.
+ Must be a sink pad.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </instance-parameter>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="2971">the #GstFormat requested</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ <parameter name="duration"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="2972">a location in which to store the total
+ duration, or %NULL.</doc>
+ <type name="gint64" c:type="gint64*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="peer_query_position"
+ c:identifier="gst_pad_peer_query_position">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="2904">Queries the peer of a given sink pad for the stream position.</doc>
+ <source-position filename="gst/gstutils.h" line="1102"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="2914">%TRUE if the query could be performed.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="2906">a #GstPad on whose peer to invoke the position query on.
+ Must be a sink pad.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </instance-parameter>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="2908">the #GstFormat requested</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ <parameter name="cur"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="2909">a location in which to store the current
+ position, or %NULL.</doc>
+ <type name="gint64" c:type="gint64*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="proxy_query_accept_caps"
+ c:identifier="gst_pad_proxy_query_accept_caps">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="2759">Checks if all internally linked pads of @pad accepts the caps in @query and
+returns the intersection of the results.
+
+This function is useful as a default accept caps query function for an element
+that can handle any stream format, but requires caps that are acceptable for
+all opposite pads.</doc>
+ <source-position filename="gst/gstutils.h" line="1074"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="2771">%TRUE if @query could be executed</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="2761">a #GstPad to proxy.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </instance-parameter>
+ <parameter name="query" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="2762">an ACCEPT_CAPS #GstQuery.</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="proxy_query_caps" c:identifier="gst_pad_proxy_query_caps">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="2827">Calls gst_pad_query_caps() for all internally linked pads of @pad and returns
+the intersection of the results.
+
+This function is useful as a default caps query function for an element
+that can handle any stream format, but requires all its pads to have
+the same caps. Two such elements are tee and adder.</doc>
+ <source-position filename="gst/gstutils.h" line="1077"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="2839">%TRUE if @query could be executed</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="2829">a #GstPad to proxy.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </instance-parameter>
+ <parameter name="query" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="2830">a CAPS #GstQuery.</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="pull_range" c:identifier="gst_pad_pull_range">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="5033">Pulls a @buffer from the peer pad or fills up a provided buffer.
+
+This function will first trigger the pad block signal if it was
+installed.
+
+When @pad is not linked #GST_FLOW_NOT_LINKED is returned else this
+function returns the result of gst_pad_get_range() on the peer pad.
+See gst_pad_get_range() for a list of return values and for the
+semantics of the arguments of this function.
+
+If @buffer points to a variable holding %NULL, a valid new #GstBuffer will be
+placed in @buffer when this function returns #GST_FLOW_OK. The new buffer
+must be freed with gst_buffer_unref() after usage. When this function
+returns any other result value, @buffer will still point to %NULL.
+
+When @buffer points to a variable that points to a valid #GstBuffer, the
+buffer will be filled with the result data when this function returns
+#GST_FLOW_OK. When this function returns any other result value,
+@buffer will be unchanged. If the provided buffer is larger than @size, only
+@size bytes will be filled in the result buffer and its size will be updated
+accordingly.
+
+Note that less than @size bytes can be returned in @buffer when, for example,
+an EOS condition is near or when @buffer is not large enough to hold @size
+bytes. The caller should check the result buffer size to get the result size.</doc>
+ <source-position filename="gst/gstpad.h" line="1487"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="5067">a #GstFlowReturn from the peer pad.
+
+MT safe.</doc>
+ <type name="FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="5035">a sink #GstPad, returns GST_FLOW_ERROR if not.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </instance-parameter>
+ <parameter name="offset" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="5036">The start offset of the buffer</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="5037">The length of the buffer</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="buffer"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="5038">a pointer to hold the #GstBuffer, returns
+ GST_FLOW_ERROR if %NULL.</doc>
+ <type name="Buffer" c:type="GstBuffer**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="push" c:identifier="gst_pad_push">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="4742">Pushes a buffer to the peer of @pad.
+
+This function will call installed block probes before triggering any
+installed data probes.
+
+The function proceeds calling gst_pad_chain() on the peer pad and returns
+the value from that function. If @pad has no peer, #GST_FLOW_NOT_LINKED will
+be returned.
+
+In all cases, success or failure, the caller loses its reference to @buffer
+after calling this function.</doc>
+ <source-position filename="gst/gstpad.h" line="1481"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="4760">a #GstFlowReturn from the peer pad.
+
+MT safe.</doc>
+ <type name="FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="4744">a source #GstPad, returns #GST_FLOW_ERROR if not.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </instance-parameter>
+ <parameter name="buffer" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="4745">the #GstBuffer to push returns GST_FLOW_ERROR
+ if not.</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="push_event" c:identifier="gst_pad_push_event">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="5559">Sends the event to the peer of the given pad. This function is
+mainly used by elements to send events to their peer
+elements.
+
+This function takes ownership of the provided event so you should
+gst_event_ref() it if you want to reuse the event after this call.</doc>
+ <source-position filename="gst/gstpad.h" line="1490"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="5571">%TRUE if the event was handled.
+
+MT safe.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="5561">a #GstPad to push the event to.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </instance-parameter>
+ <parameter name="event" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="5562">the #GstEvent to send to the pad.</doc>
+ <type name="Event" c:type="GstEvent*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="push_list" c:identifier="gst_pad_push_list">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="4780">Pushes a buffer list to the peer of @pad.
+
+This function will call installed block probes before triggering any
+installed data probes.
+
+The function proceeds calling the chain function on the peer pad and returns
+the value from that function. If @pad has no peer, #GST_FLOW_NOT_LINKED will
+be returned. If the peer pad does not have any installed chainlist function
+every group buffer of the list will be merged into a normal #GstBuffer and
+chained via gst_pad_chain().
+
+In all cases, success or failure, the caller loses its reference to @list
+after calling this function.</doc>
+ <source-position filename="gst/gstpad.h" line="1484"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="4800">a #GstFlowReturn from the peer pad.
+
+MT safe.</doc>
+ <type name="FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="4782">a source #GstPad, returns #GST_FLOW_ERROR if not.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </instance-parameter>
+ <parameter name="list" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="4783">the #GstBufferList to push returns GST_FLOW_ERROR
+ if not.</doc>
+ <type name="BufferList" c:type="GstBufferList*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="query" c:identifier="gst_pad_query">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="4084">Dispatches a query to a pad. The query should have been allocated by the
+caller via one of the type-specific allocation functions. The element that
+the pad belongs to is responsible for filling the query with an appropriate
+response, which should then be parsed with a type-specific query parsing
+function.
+
+Again, the caller is responsible for both the allocation and deallocation of
+the query structure.
+
+Please also note that some queries might need a running pipeline to work.</doc>
+ <source-position filename="gst/gstpad.h" line="1548"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="4100">%TRUE if the query could be performed.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="4086">a #GstPad to invoke the default query on.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </instance-parameter>
+ <parameter name="query" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="4087">the #GstQuery to perform.</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="query_accept_caps"
+ c:identifier="gst_pad_query_accept_caps">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="3167">Check if the given pad accepts the caps.</doc>
+ <source-position filename="gst/gstutils.h" line="1092"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="3174">%TRUE if the pad can accept the caps.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="3169">a #GstPad to check</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </instance-parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="3170">a #GstCaps to check on the pad</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="query_caps" c:identifier="gst_pad_query_caps">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="3070">Gets the capabilities this pad can produce or consume.
+Note that this method doesn't necessarily return the caps set by sending a
+gst_event_new_caps() - use gst_pad_get_current_caps() for that instead.
+gst_pad_query_caps returns all possible caps a pad can operate with, using
+the pad's CAPS query function, If the query fails, this function will return
+@filter, if not %NULL, otherwise ANY.
+
+When called on sinkpads @filter contains the caps that
+upstream could produce in the order preferred by upstream. When
+called on srcpads @filter contains the caps accepted by
+downstream in the preferred order. @filter might be %NULL but
+if it is not %NULL the returned caps will be a subset of @filter.
+
+Note that this function does not return writable #GstCaps, use
+gst_caps_make_writable() before modifying the caps.</doc>
+ <source-position filename="gst/gstutils.h" line="1089"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="3091">the caps of the pad with incremented ref-count.</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="3072">a #GstPad to get the capabilities of.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </instance-parameter>
+ <parameter name="filter"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="3073">suggested #GstCaps, or %NULL</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="query_convert" c:identifier="gst_pad_query_convert">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="3000">Queries a pad to convert @src_val in @src_format to @dest_format.</doc>
+ <source-position filename="gst/gstutils.h" line="1086"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="3010">%TRUE if the query could be performed.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="3002">a #GstPad to invoke the convert query on.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </instance-parameter>
+ <parameter name="src_format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="3003">a #GstFormat to convert from.</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ <parameter name="src_val" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="3004">a value to convert.</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ <parameter name="dest_format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="3005">the #GstFormat to convert to.</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ <parameter name="dest_val"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="3006">a pointer to the result.</doc>
+ <type name="gint64" c:type="gint64*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="query_default" c:identifier="gst_pad_query_default">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="3456">Invokes the default query handler for the given pad.
+The query is sent to all pads internally linked to @pad. Note that
+if there are many possible sink pads that are internally linked to
+@pad, only one will be sent the query.
+Multi-sinkpad elements should implement custom query handlers.</doc>
+ <source-position filename="gst/gstpad.h" line="1558"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="3468">%TRUE if the query was performed successfully.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="3458">a #GstPad to call the default query handler on.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </instance-parameter>
+ <parameter name="parent"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="3459">the parent of @pad or %NULL</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="query" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="3460">the #GstQuery to handle.</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="query_duration" c:identifier="gst_pad_query_duration">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="2936">Queries a pad for the total stream duration.</doc>
+ <source-position filename="gst/gstutils.h" line="1083"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="2945">%TRUE if the query could be performed.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="2938">a #GstPad to invoke the duration query on.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </instance-parameter>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="2939">the #GstFormat requested</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ <parameter name="duration"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="2940">a location in which to store the total
+ duration, or %NULL.</doc>
+ <type name="gint64" c:type="gint64*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="query_position" c:identifier="gst_pad_query_position">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="2874">Queries a pad for the stream position.</doc>
+ <source-position filename="gst/gstutils.h" line="1080"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="2882">%TRUE if the query could be performed.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="2876">a #GstPad to invoke the position query on.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </instance-parameter>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="2877">the #GstFormat requested</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ <parameter name="cur"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="2878">A location in which to store the current position, or %NULL.</doc>
+ <type name="gint64" c:type="gint64*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="remove_probe" c:identifier="gst_pad_remove_probe">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="1541">Remove the probe with @id from @pad.
+
+MT safe.</doc>
+ <source-position filename="gst/gstpad.h" line="1336"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="1543">the #GstPad with the probe</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </instance-parameter>
+ <parameter name="id" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="1544">the probe id to remove</doc>
+ <type name="gulong" c:type="gulong"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="send_event" c:identifier="gst_pad_send_event">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="5966">Sends the event to the pad. This function can be used
+by applications to send events in the pipeline.
+
+If @pad is a source pad, @event should be an upstream event. If @pad is a
+sink pad, @event should be a downstream event. For example, you would not
+send a #GST_EVENT_EOS on a src pad; EOS events only propagate downstream.
+Furthermore, some downstream events have to be serialized with data flow,
+like EOS, while some can travel out-of-band, like #GST_EVENT_FLUSH_START. If
+the event needs to be serialized with data flow, this function will take the
+pad's stream lock while calling its event function.
+
+To find out whether an event type is upstream, downstream, or downstream and
+serialized, see #GstEventTypeFlags, gst_event_type_get_flags(),
+#GST_EVENT_IS_UPSTREAM, #GST_EVENT_IS_DOWNSTREAM, and
+#GST_EVENT_IS_SERIALIZED. Note that in practice that an application or
+plugin doesn't need to bother itself with this information; the core handles
+all necessary locks and checks.
+
+This function takes ownership of the provided event so you should
+gst_event_ref() it if you want to reuse the event after this call.</doc>
+ <source-position filename="gst/gstpad.h" line="1510"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="5992">%TRUE if the event was handled.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="5968">a #GstPad to send the event to.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </instance-parameter>
+ <parameter name="event" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="5969">the #GstEvent to send to the pad.</doc>
+ <type name="Event" c:type="GstEvent*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_activate_function_full"
+ c:identifier="gst_pad_set_activate_function_full">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="1706">Sets the given activate function for @pad. The activate function will
+dispatch to gst_pad_activate_mode() to perform the actual activation.
+Only makes sense to set on sink pads.
+
+Call this function if your sink pad can start a pull-based task.</doc>
+ <source-position filename="gst/gstpad.h" line="1375"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="1708">a #GstPad.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </instance-parameter>
+ <parameter name="activate"
+ transfer-ownership="none"
+ scope="notified"
+ closure="1"
+ destroy="2">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="1709">the #GstPadActivateFunction to set.</doc>
+ <type name="PadActivateFunction" c:type="GstPadActivateFunction"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="1710">user_data passed to @notify</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="notify" transfer-ownership="none" scope="async">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="1711">notify called when @activate will not be used anymore.</doc>
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_activatemode_function_full"
+ c:identifier="gst_pad_set_activatemode_function_full">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="1743">Sets the given activate_mode function for the pad. An activate_mode function
+prepares the element for data passing.</doc>
+ <source-position filename="gst/gstpad.h" line="1380"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="1745">a #GstPad.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </instance-parameter>
+ <parameter name="activatemode"
+ transfer-ownership="none"
+ scope="notified"
+ closure="1"
+ destroy="2">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="1746">the #GstPadActivateModeFunction to set.</doc>
+ <type name="PadActivateModeFunction"
+ c:type="GstPadActivateModeFunction"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="1747">user_data passed to @notify</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="notify" transfer-ownership="none" scope="async">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="1748">notify called when @activatemode will not be used anymore.</doc>
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_active" c:identifier="gst_pad_set_active">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="1064">Activates or deactivates the given pad.
+Normally called from within core state change functions.
+
+If @active, makes sure the pad is active. If it is already active, either in
+push or pull mode, just return. Otherwise dispatches to the pad's activate
+function to perform the actual activation.
+
+If not @active, calls gst_pad_activate_mode() with the pad's current mode
+and a %FALSE argument.</doc>
+ <source-position filename="gst/gstpad.h" line="1321"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="1079">%TRUE if the operation was successful.
+
+MT safe.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="1066">the #GstPad to activate or deactivate.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </instance-parameter>
+ <parameter name="active" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="1067">whether or not the pad should be active.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_chain_function_full"
+ c:identifier="gst_pad_set_chain_function_full">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="1778">Sets the given chain function for the pad. The chain function is called to
+process a #GstBuffer input buffer. see #GstPadChainFunction for more details.</doc>
+ <source-position filename="gst/gstpad.h" line="1387"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="1780">a sink #GstPad.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </instance-parameter>
+ <parameter name="chain"
+ transfer-ownership="none"
+ scope="notified"
+ closure="1"
+ destroy="2">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="1781">the #GstPadChainFunction to set.</doc>
+ <type name="PadChainFunction" c:type="GstPadChainFunction"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="1782">user_data passed to @notify</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="notify" transfer-ownership="none" scope="async">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="1783">notify called when @chain will not be used anymore.</doc>
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_chain_list_function_full"
+ c:identifier="gst_pad_set_chain_list_function_full">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="1813">Sets the given chain list function for the pad. The chainlist function is
+called to process a #GstBufferList input buffer list. See
+#GstPadChainListFunction for more details.</doc>
+ <source-position filename="gst/gstpad.h" line="1392"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="1815">a sink #GstPad.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </instance-parameter>
+ <parameter name="chainlist"
+ transfer-ownership="none"
+ scope="notified"
+ closure="1"
+ destroy="2">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="1816">the #GstPadChainListFunction to set.</doc>
+ <type name="PadChainListFunction"
+ c:type="GstPadChainListFunction"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="1817">user_data passed to @notify</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="notify" transfer-ownership="none" scope="async">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="1818">notify called when @chainlist will not be used anymore.</doc>
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_element_private"
+ c:identifier="gst_pad_set_element_private">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="6037">Set the given private data gpointer on the pad.
+This function can only be used by the element that owns the pad.
+No locking is performed in this function.</doc>
+ <source-position filename="gst/gstpad.h" line="1354"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="6039">the #GstPad to set the private data of.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </instance-parameter>
+ <parameter name="priv"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="6040">The private data to attach to the pad.</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_event_full_function_full"
+ c:identifier="gst_pad_set_event_full_function_full"
+ version="1.8">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="1930">Sets the given event handler for the pad.</doc>
+ <source-position filename="gst/gstpad.h" line="1407"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="1932">a #GstPad of either direction.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </instance-parameter>
+ <parameter name="event"
+ transfer-ownership="none"
+ scope="notified"
+ closure="1"
+ destroy="2">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="1933">the #GstPadEventFullFunction to set.</doc>
+ <type name="PadEventFullFunction"
+ c:type="GstPadEventFullFunction"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="1934">user_data passed to @notify</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="notify" transfer-ownership="none" scope="async">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="1935">notify called when @event will not be used anymore.</doc>
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_event_function_full"
+ c:identifier="gst_pad_set_event_function_full">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="1886">Sets the given event handler for the pad.</doc>
+ <source-position filename="gst/gstpad.h" line="1402"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="1888">a #GstPad of either direction.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </instance-parameter>
+ <parameter name="event"
+ transfer-ownership="none"
+ scope="notified"
+ closure="1"
+ destroy="2">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="1889">the #GstPadEventFunction to set.</doc>
+ <type name="PadEventFunction" c:type="GstPadEventFunction"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="1890">user_data passed to @notify</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="notify" transfer-ownership="none" scope="async">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="1891">notify called when @event will not be used anymore.</doc>
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_getrange_function_full"
+ c:identifier="gst_pad_set_getrange_function_full">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="1850">Sets the given getrange function for the pad. The getrange function is
+called to produce a new #GstBuffer to start the processing pipeline. see
+#GstPadGetRangeFunction for a description of the getrange function.</doc>
+ <source-position filename="gst/gstpad.h" line="1397"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="1852">a source #GstPad.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </instance-parameter>
+ <parameter name="get"
+ transfer-ownership="none"
+ scope="notified"
+ closure="1"
+ destroy="2">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="1853">the #GstPadGetRangeFunction to set.</doc>
+ <type name="PadGetRangeFunction" c:type="GstPadGetRangeFunction"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="1854">user_data passed to @notify</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="notify" transfer-ownership="none" scope="async">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="1855">notify called when @get will not be used anymore.</doc>
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_iterate_internal_links_function_full"
+ c:identifier="gst_pad_set_iterate_internal_links_function_full">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="1999">Sets the given internal link iterator function for the pad.</doc>
+ <source-position filename="gst/gstpad.h" line="1529"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="2001">a #GstPad of either direction.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </instance-parameter>
+ <parameter name="iterintlink"
+ transfer-ownership="none"
+ scope="notified"
+ closure="1"
+ destroy="2">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="2002">the #GstPadIterIntLinkFunction to set.</doc>
+ <type name="PadIterIntLinkFunction"
+ c:type="GstPadIterIntLinkFunction"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="2003">user_data passed to @notify</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="notify" transfer-ownership="none" scope="async">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="2004">notify called when @iterintlink will not be used anymore.</doc>
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_link_function_full"
+ c:identifier="gst_pad_set_link_function_full">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="2033">Sets the given link function for the pad. It will be called when
+the pad is linked with another pad.
+
+The return value #GST_PAD_LINK_OK should be used when the connection can be
+made.
+
+The return value #GST_PAD_LINK_REFUSED should be used when the connection
+cannot be made for some reason.
+
+If @link is installed on a source pad, it should call the #GstPadLinkFunction
+of the peer sink pad, if present.</doc>
+ <source-position filename="gst/gstpad.h" line="1423"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="2035">a #GstPad.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </instance-parameter>
+ <parameter name="link"
+ transfer-ownership="none"
+ scope="notified"
+ closure="1"
+ destroy="2">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="2036">the #GstPadLinkFunction to set.</doc>
+ <type name="PadLinkFunction" c:type="GstPadLinkFunction"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="2037">user_data passed to @notify</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="notify" transfer-ownership="none" scope="async">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="2038">notify called when @link will not be used anymore.</doc>
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_offset" c:identifier="gst_pad_set_offset">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="3933">Set the offset that will be applied to the running time of @pad.</doc>
+ <source-position filename="gst/gstpad.h" line="1476"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="3935">a #GstPad</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </instance-parameter>
+ <parameter name="offset" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="3936">the offset</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_query_function_full"
+ c:identifier="gst_pad_set_query_function_full">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="1966">Set the given query function for the pad.</doc>
+ <source-position filename="gst/gstpad.h" line="1554"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="1968">a #GstPad of either direction.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </instance-parameter>
+ <parameter name="query"
+ transfer-ownership="none"
+ scope="notified"
+ closure="1"
+ destroy="2">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="1969">the #GstPadQueryFunction to set.</doc>
+ <type name="PadQueryFunction" c:type="GstPadQueryFunction"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="1970">user_data passed to @notify</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="notify" transfer-ownership="none" scope="async">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="1971">notify called when @query will not be used anymore.</doc>
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_unlink_function_full"
+ c:identifier="gst_pad_set_unlink_function_full">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="2076">Sets the given unlink function for the pad. It will be called
+when the pad is unlinked.
+
+Note that the pad's lock is already held when the unlink
+function is called, so most pad functions cannot be called
+from within the callback.</doc>
+ <source-position filename="gst/gstpad.h" line="1428"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="2078">a #GstPad.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </instance-parameter>
+ <parameter name="unlink"
+ transfer-ownership="none"
+ scope="notified"
+ closure="1"
+ destroy="2">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="2079">the #GstPadUnlinkFunction to set.</doc>
+ <type name="PadUnlinkFunction" c:type="GstPadUnlinkFunction"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="2080">user_data passed to @notify</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="notify" transfer-ownership="none" scope="async">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="2081">notify called when @unlink will not be used anymore.</doc>
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="start_task" c:identifier="gst_pad_start_task">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="6202">Starts a task that repeatedly calls @func with @user_data. This function
+is mostly used in pad activation functions to start the dataflow.
+The #GST_PAD_STREAM_LOCK of @pad will automatically be acquired
+before @func is called.</doc>
+ <source-position filename="gst/gstpad.h" line="1515"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="6214">a %TRUE if the task could be started.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="6204">the #GstPad to start the task of</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </instance-parameter>
+ <parameter name="func"
+ transfer-ownership="none"
+ scope="notified"
+ closure="1"
+ destroy="2">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="6205">the task function to call</doc>
+ <type name="TaskFunction" c:type="GstTaskFunction"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="6206">user data passed to the task function</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="notify" transfer-ownership="none" scope="async">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="6207">called when @user_data is no longer referenced</doc>
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="sticky_events_foreach"
+ c:identifier="gst_pad_sticky_events_foreach">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="6121">Iterates all sticky events on @pad and calls @foreach_func for every
+event. If @foreach_func returns %FALSE the iteration is immediately stopped.</doc>
+ <source-position filename="gst/gstpad.h" line="1370"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="6123">the #GstPad that should be used for iteration.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </instance-parameter>
+ <parameter name="foreach_func"
+ transfer-ownership="none"
+ scope="call"
+ closure="1">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="6124">the #GstPadStickyEventsForeachFunction that
+ should be called for every event.</doc>
+ <type name="PadStickyEventsForeachFunction"
+ c:type="GstPadStickyEventsForeachFunction"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="6126">the optional user data.</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="stop_task" c:identifier="gst_pad_stop_task">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="6345">Stop the task of @pad. This function will also make sure that the
+function executed by the task will effectively stop if not called
+from the GstTaskFunction.
+
+This function will deadlock if called from the GstTaskFunction of
+the task. Use gst_task_pause() instead.
+
+Regardless of whether the pad has a task, the stream lock is acquired and
+released so as to ensure that streaming through this pad has finished.</doc>
+ <source-position filename="gst/gstpad.h" line="1521"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="6359">a %TRUE if the task could be stopped or %FALSE on error.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="6347">the #GstPad to stop the task of</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="store_sticky_event"
+ c:identifier="gst_pad_store_sticky_event"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="5336">Store the sticky @event on @pad</doc>
+ <source-position filename="gst/gstpad.h" line="1363"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="5343">#GST_FLOW_OK on success, #GST_FLOW_FLUSHING when the pad
+was flushing or #GST_FLOW_EOS when the pad was EOS.</doc>
+ <type name="FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="5338">a #GstPad</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </instance-parameter>
+ <parameter name="event" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="5339">a #GstEvent</doc>
+ <type name="Event" c:type="GstEvent*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="unlink" c:identifier="gst_pad_unlink">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="2106">Unlinks the source pad from the sink pad. Will emit the #GstPad::unlinked
+signal on both pads.</doc>
+ <source-position filename="gst/gstpad.h" line="1446"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="2114">%TRUE if the pads were unlinked. This function returns %FALSE if
+the pads were not linked together.
+
+MT safe.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="srcpad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="2108">the source #GstPad to unlink.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </instance-parameter>
+ <parameter name="sinkpad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="2109">the sink #GstPad to unlink.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="use_fixed_caps" c:identifier="gst_pad_use_fixed_caps">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="2613">A helper function you can use that sets the FIXED_CAPS flag
+This way the default CAPS query will always return the negotiated caps
+or in case the pad is not negotiated, the padtemplate caps.
+
+The negotiated caps are the caps of the last CAPS event that passed on the
+pad. Use this function on a pad that, once it negotiated to a CAPS, cannot
+be renegotiated to something else.</doc>
+ <source-position filename="gst/gstutils.h" line="1066"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="2615">the pad to use</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <property name="caps" transfer-ownership="none">
+ <type name="Caps"/>
+ </property>
+ <property name="direction"
+ writable="1"
+ construct-only="1"
+ transfer-ownership="none">
+ <type name="PadDirection"/>
+ </property>
+ <property name="offset"
+ version="1.6"
+ writable="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="376">The offset that will be applied to the running time of the pad.</doc>
+ <type name="gint64" c:type="gint64"/>
+ </property>
+ <property name="template" writable="1" transfer-ownership="none">
+ <type name="PadTemplate"/>
+ </property>
+ <field name="object">
+ <type name="Object" c:type="GstObject"/>
+ </field>
+ <field name="element_private">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="723">private data owned by the parent element</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <field name="padtemplate">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="724">padtemplate for this pad</doc>
+ <type name="PadTemplate" c:type="GstPadTemplate*"/>
+ </field>
+ <field name="direction">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="725">the direction of the pad, cannot change after creating
+ the pad.</doc>
+ <type name="PadDirection" c:type="GstPadDirection"/>
+ </field>
+ <field name="stream_rec_lock" readable="0" private="1">
+ <type name="GLib.RecMutex" c:type="GRecMutex"/>
+ </field>
+ <field name="task" readable="0" private="1">
+ <type name="Task" c:type="GstTask*"/>
+ </field>
+ <field name="block_cond" readable="0" private="1">
+ <type name="GLib.Cond" c:type="GCond"/>
+ </field>
+ <field name="probes" readable="0" private="1">
+ <type name="GLib.HookList" c:type="GHookList"/>
+ </field>
+ <field name="mode" readable="0" private="1">
+ <type name="PadMode" c:type="GstPadMode"/>
+ </field>
+ <field name="activatefunc" readable="0" private="1">
+ <type name="PadActivateFunction" c:type="GstPadActivateFunction"/>
+ </field>
+ <field name="activatedata" readable="0" private="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <field name="activatenotify" readable="0" private="1">
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </field>
+ <field name="activatemodefunc" readable="0" private="1">
+ <type name="PadActivateModeFunction"
+ c:type="GstPadActivateModeFunction"/>
+ </field>
+ <field name="activatemodedata" readable="0" private="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <field name="activatemodenotify" readable="0" private="1">
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </field>
+ <field name="peer" readable="0" private="1">
+ <type name="Pad" c:type="GstPad*"/>
+ </field>
+ <field name="linkfunc" readable="0" private="1">
+ <type name="PadLinkFunction" c:type="GstPadLinkFunction"/>
+ </field>
+ <field name="linkdata" readable="0" private="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <field name="linknotify" readable="0" private="1">
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </field>
+ <field name="unlinkfunc" readable="0" private="1">
+ <type name="PadUnlinkFunction" c:type="GstPadUnlinkFunction"/>
+ </field>
+ <field name="unlinkdata" readable="0" private="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <field name="unlinknotify" readable="0" private="1">
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </field>
+ <field name="chainfunc" readable="0" private="1">
+ <type name="PadChainFunction" c:type="GstPadChainFunction"/>
+ </field>
+ <field name="chaindata" readable="0" private="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <field name="chainnotify" readable="0" private="1">
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </field>
+ <field name="chainlistfunc" readable="0" private="1">
+ <type name="PadChainListFunction" c:type="GstPadChainListFunction"/>
+ </field>
+ <field name="chainlistdata" readable="0" private="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <field name="chainlistnotify" readable="0" private="1">
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </field>
+ <field name="getrangefunc" readable="0" private="1">
+ <type name="PadGetRangeFunction" c:type="GstPadGetRangeFunction"/>
+ </field>
+ <field name="getrangedata" readable="0" private="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <field name="getrangenotify" readable="0" private="1">
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </field>
+ <field name="eventfunc" readable="0" private="1">
+ <type name="PadEventFunction" c:type="GstPadEventFunction"/>
+ </field>
+ <field name="eventdata" readable="0" private="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <field name="eventnotify" readable="0" private="1">
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </field>
+ <field name="offset" readable="0" private="1">
+ <type name="gint64" c:type="gint64"/>
+ </field>
+ <field name="queryfunc" readable="0" private="1">
+ <type name="PadQueryFunction" c:type="GstPadQueryFunction"/>
+ </field>
+ <field name="querydata" readable="0" private="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <field name="querynotify" readable="0" private="1">
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </field>
+ <field name="iterintlinkfunc" readable="0" private="1">
+ <type name="PadIterIntLinkFunction"
+ c:type="GstPadIterIntLinkFunction"/>
+ </field>
+ <field name="iterintlinkdata" readable="0" private="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <field name="iterintlinknotify" readable="0" private="1">
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </field>
+ <field name="num_probes" readable="0" private="1">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="num_blocked" readable="0" private="1">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="PadPrivate" c:type="GstPadPrivate*"/>
+ </field>
+ <union name="ABI" c:type="ABI">
+ <source-position filename="gst/gstpad.h" line="805"/>
+ <field name="_gst_reserved" writable="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <record name="abi" c:type="abi">
+ <source-position filename="gst/gstpad.h" line="804"/>
+ <field name="last_flowret" writable="1">
+ <type name="FlowReturn" c:type="GstFlowReturn"/>
+ </field>
+ <field name="eventfullfunc" writable="1">
+ <type name="PadEventFullFunction"
+ c:type="GstPadEventFullFunction"/>
+ </field>
+ </record>
+ </union>
+ <glib:signal name="linked" when="last">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="337">Signals that a pad has been linked to the peer pad.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="peer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="340">the peer pad that has been connected</doc>
+ <type name="Pad"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="unlinked" when="last">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="348">Signals that a pad has been unlinked from the peer pad.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="peer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="351">the peer pad that has been disconnected</doc>
+ <type name="Pad"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ </class>
+ <callback name="PadActivateFunction" c:type="GstPadActivateFunction">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="235">This function is called when the pad is activated during the element
+READY to PAUSED state change. By default this function will call the
+activate function that puts the pad in push mode but elements can
+override this function to activate the pad in pull mode if they wish.</doc>
+ <source-position filename="gst/gstpad.h" line="247"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="245">%TRUE if the pad could be activated.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="237">a #GstPad</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </parameter>
+ <parameter name="parent" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="238">the parent of @pad</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <callback name="PadActivateModeFunction"
+ c:type="GstPadActivateModeFunction">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="248">The prototype of the push and pull activate functions.</doc>
+ <source-position filename="gst/gstpad.h" line="259"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="257">%TRUE if the pad could be activated or deactivated.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="250">a #GstPad</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </parameter>
+ <parameter name="parent" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="251">the parent of @pad</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="mode" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="252">the requested activation mode of @pad</doc>
+ <type name="PadMode" c:type="GstPadMode"/>
+ </parameter>
+ <parameter name="active" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="253">activate or deactivate the pad.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <callback name="PadChainFunction" c:type="GstPadChainFunction">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="264">A function that will be called on sinkpads when chaining buffers.
+The function typically processes the data contained in the buffer and
+either consumes the data or passes it on to the internally linked pad(s).
+
+The implementer of this function receives a refcount to @buffer and should
+gst_buffer_unref() when the buffer is no longer needed.
+
+When a chain function detects an error in the data stream, it must post an
+error on the bus and return an appropriate #GstFlowReturn value.</doc>
+ <source-position filename="gst/gstpad.h" line="284"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="282">#GST_FLOW_OK for success</doc>
+ <type name="FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="266">the sink #GstPad that performed the chain.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </parameter>
+ <parameter name="parent"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="267">the parent of @pad. If the #GST_PAD_FLAG_NEED_PARENT
+ flag is set, @parent is guaranteed to be not-%NULL and remain valid
+ during the execution of this function.</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="buffer" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="270">the #GstBuffer that is chained, not %NULL.</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <callback name="PadChainListFunction" c:type="GstPadChainListFunction">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="287">A function that will be called on sinkpads when chaining buffer lists.
+The function typically processes the data contained in the buffer list and
+either consumes the data or passes it on to the internally linked pad(s).
+
+The implementer of this function receives a refcount to @list and
+should gst_buffer_list_unref() when the list is no longer needed.
+
+When a chainlist function detects an error in the data stream, it must
+post an error on the bus and return an appropriate #GstFlowReturn value.</doc>
+ <source-position filename="gst/gstpad.h" line="307"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="305">#GST_FLOW_OK for success</doc>
+ <type name="FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="289">the sink #GstPad that performed the chain.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </parameter>
+ <parameter name="parent"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="290">the parent of @pad. If the #GST_PAD_FLAG_NEED_PARENT
+ flag is set, @parent is guaranteed to be not-%NULL and remain valid
+ during the execution of this function.</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="list" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="293">the #GstBufferList that is chained, not %NULL.</doc>
+ <type name="BufferList" c:type="GstBufferList*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <record name="PadClass"
+ c:type="GstPadClass"
+ glib:is-gtype-struct-for="Pad">
+ <source-position filename="gst/gstpad.h" line="817"/>
+ <field name="parent_class">
+ <type name="ObjectClass" c:type="GstObjectClass"/>
+ </field>
+ <field name="linked">
+ <callback name="linked">
+ <source-position filename="gst/gstpad.h" line="812"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="pad" transfer-ownership="none">
+ <type name="Pad" c:type="GstPad*"/>
+ </parameter>
+ <parameter name="peer" transfer-ownership="none">
+ <type name="Pad" c:type="GstPad*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="unlinked">
+ <callback name="unlinked">
+ <source-position filename="gst/gstpad.h" line="813"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="pad" transfer-ownership="none">
+ <type name="Pad" c:type="GstPad*"/>
+ </parameter>
+ <parameter name="peer" transfer-ownership="none">
+ <type name="Pad" c:type="GstPad*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <enumeration name="PadDirection"
+ glib:type-name="GstPadDirection"
+ glib:get-type="gst_pad_direction_get_type"
+ c:type="GstPadDirection">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="34">The direction of a pad.</doc>
+ <member name="unknown"
+ value="0"
+ c:identifier="GST_PAD_UNKNOWN"
+ glib:nick="unknown">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="36">direction is unknown.</doc>
+ </member>
+ <member name="src" value="1" c:identifier="GST_PAD_SRC" glib:nick="src">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="37">the pad is a source pad.</doc>
+ </member>
+ <member name="sink"
+ value="2"
+ c:identifier="GST_PAD_SINK"
+ glib:nick="sink">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="38">the pad is a sink pad.</doc>
+ </member>
+ </enumeration>
+ <callback name="PadEventFullFunction"
+ c:type="GstPadEventFullFunction"
+ version="1.8">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="376">Function signature to handle an event for the pad.
+
+This variant is for specific elements that will take into account the
+last downstream flow return (from a pad push), in which case they can
+return it.</doc>
+ <source-position filename="gst/gstpad.h" line="395"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="390">%GST_FLOW_OK if the event was handled properly, or any other
+#GstFlowReturn dependent on downstream state.</doc>
+ <type name="FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="378">the #GstPad to handle the event.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </parameter>
+ <parameter name="parent"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="379">the parent of @pad. If the #GST_PAD_FLAG_NEED_PARENT
+ flag is set, @parent is guaranteed to be not-%NULL and remain valid
+ during the execution of this function.</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="event" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="382">the #GstEvent to handle.</doc>
+ <type name="Event" c:type="GstEvent*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <callback name="PadEventFunction" c:type="GstPadEventFunction">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="361">Function signature to handle an event for the pad.</doc>
+ <source-position filename="gst/gstpad.h" line="373"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="371">%TRUE if the pad could handle the event.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="363">the #GstPad to handle the event.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </parameter>
+ <parameter name="parent"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="364">the parent of @pad. If the #GST_PAD_FLAG_NEED_PARENT
+ flag is set, @parent is guaranteed to be not-%NULL and remain valid
+ during the execution of this function.</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="event" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="367">the #GstEvent to handle.</doc>
+ <type name="Event" c:type="GstEvent*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <bitfield name="PadFlags"
+ glib:type-name="GstPadFlags"
+ glib:get-type="gst_pad_flags_get_type"
+ c:type="GstPadFlags">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="667">Pad state flags</doc>
+ <member name="blocked"
+ value="16"
+ c:identifier="GST_PAD_FLAG_BLOCKED"
+ glib:nick="blocked">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="669">is dataflow on a pad blocked</doc>
+ </member>
+ <member name="flushing"
+ value="32"
+ c:identifier="GST_PAD_FLAG_FLUSHING"
+ glib:nick="flushing">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="670">is pad flushing</doc>
+ </member>
+ <member name="eos"
+ value="64"
+ c:identifier="GST_PAD_FLAG_EOS"
+ glib:nick="eos">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="671">is pad in EOS state</doc>
+ </member>
+ <member name="blocking"
+ value="128"
+ c:identifier="GST_PAD_FLAG_BLOCKING"
+ glib:nick="blocking">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="672">is pad currently blocking on a buffer or event</doc>
+ </member>
+ <member name="need_parent"
+ value="256"
+ c:identifier="GST_PAD_FLAG_NEED_PARENT"
+ glib:nick="need-parent">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="673">ensure that there is a parent object before calling
+ into the pad callbacks.</doc>
+ </member>
+ <member name="need_reconfigure"
+ value="512"
+ c:identifier="GST_PAD_FLAG_NEED_RECONFIGURE"
+ glib:nick="need-reconfigure">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="675">the pad should be reconfigured/renegotiated.
+ The flag has to be unset manually after
+ reconfiguration happened.</doc>
+ </member>
+ <member name="pending_events"
+ value="1024"
+ c:identifier="GST_PAD_FLAG_PENDING_EVENTS"
+ glib:nick="pending-events">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="678">the pad has pending events</doc>
+ </member>
+ <member name="fixed_caps"
+ value="2048"
+ c:identifier="GST_PAD_FLAG_FIXED_CAPS"
+ glib:nick="fixed-caps">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="679">the pad is using fixed caps. This means that
+ once the caps are set on the pad, the default caps query function
+ will only return those caps.</doc>
+ </member>
+ <member name="proxy_caps"
+ value="4096"
+ c:identifier="GST_PAD_FLAG_PROXY_CAPS"
+ glib:nick="proxy-caps">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="682">the default event and query handler will forward
+ all events and queries to the internally linked pads
+ instead of discarding them.</doc>
+ </member>
+ <member name="proxy_allocation"
+ value="8192"
+ c:identifier="GST_PAD_FLAG_PROXY_ALLOCATION"
+ glib:nick="proxy-allocation">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="685">the default query handler will forward
+ allocation queries to the internally linked pads
+ instead of discarding them.</doc>
+ </member>
+ <member name="proxy_scheduling"
+ value="16384"
+ c:identifier="GST_PAD_FLAG_PROXY_SCHEDULING"
+ glib:nick="proxy-scheduling">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="688">the default query handler will forward
+ scheduling queries to the internally linked pads
+ instead of discarding them.</doc>
+ </member>
+ <member name="accept_intersect"
+ value="32768"
+ c:identifier="GST_PAD_FLAG_ACCEPT_INTERSECT"
+ glib:nick="accept-intersect">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="691">the default accept-caps handler will check
+ it the caps intersect the query-caps result instead
+ of checking for a subset. This is interesting for
+ parsers that can accept incompletely specified caps.</doc>
+ </member>
+ <member name="accept_template"
+ value="65536"
+ c:identifier="GST_PAD_FLAG_ACCEPT_TEMPLATE"
+ glib:nick="accept-template">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="695">the default accept-caps handler will use
+ the template pad caps instead of query caps to
+ compare with the accept caps. Use this in combination
+ with %GST_PAD_FLAG_ACCEPT_INTERSECT. (Since: 1.6)</doc>
+ </member>
+ <member name="last"
+ value="1048576"
+ c:identifier="GST_PAD_FLAG_LAST"
+ glib:nick="last">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="699">offset to define more flags</doc>
+ </member>
+ </bitfield>
+ <callback name="PadForwardFunction" c:type="GstPadForwardFunction">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="463">A forward function is called for all internally linked pads, see
+gst_pad_forward().</doc>
+ <source-position filename="gst/gstpad.h" line="473"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="471">%TRUE if the dispatching procedure has to be stopped.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="465">the #GstPad that is forwarded.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1"
+ closure="1">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="466">the gpointer to optional user data.</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <callback name="PadGetRangeFunction" c:type="GstPadGetRangeFunction">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="310">This function will be called on source pads when a peer element
+request a buffer at the specified @offset and @length. If this function
+returns #GST_FLOW_OK, the result buffer will be stored in @buffer. The
+contents of @buffer is invalid for any other return value.
+
+This function is installed on a source pad with
+gst_pad_set_getrange_function() and can only be called on source pads after
+they are successfully activated with gst_pad_activate_mode() with the
+#GST_PAD_MODE_PULL.
+
+@offset and @length are always given in byte units. @offset must normally be a value
+between 0 and the length in bytes of the data available on @pad. The
+length (duration in bytes) can be retrieved with a #GST_QUERY_DURATION or with a
+#GST_QUERY_SEEKING.
+
+Any @offset larger or equal than the length will make the function return
+#GST_FLOW_EOS, which corresponds to EOS. In this case @buffer does not
+contain a valid buffer.
+
+The buffer size of @buffer will only be smaller than @length when @offset is
+near the end of the stream. In all other cases, the size of @buffer must be
+exactly the requested size.
+
+It is allowed to call this function with a 0 @length and valid @offset, in
+which case @buffer will contain a 0-sized buffer and the function returns
+#GST_FLOW_OK.
+
+When this function is called with a -1 @offset, the sequentially next buffer
+of length @length in the stream is returned.
+
+When this function is called with a -1 @length, a buffer with a default
+optimal length is returned in @buffer. The length might depend on the value
+of @offset.</doc>
+ <source-position filename="gst/gstpad.h" line="357"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="354">#GST_FLOW_OK for success and a valid buffer in @buffer. Any other
+return value leaves @buffer undefined.</doc>
+ <type name="FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="312">the src #GstPad to perform the getrange on.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </parameter>
+ <parameter name="parent"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="313">the parent of @pad. If the #GST_PAD_FLAG_NEED_PARENT
+ flag is set, @parent is guaranteed to be not-%NULL and remain valid
+ during the execution of this function.</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="offset" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="316">the offset of the range</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ <parameter name="length" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="317">the length of the range</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="318">a memory location to hold the result buffer, cannot be %NULL.</doc>
+ <type name="Buffer" c:type="GstBuffer**"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <callback name="PadIterIntLinkFunction" c:type="GstPadIterIntLinkFunction">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="400">The signature of the internal pad link iterator function.</doc>
+ <source-position filename="gst/gstpad.h" line="414"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="409">a new #GstIterator that will iterate over all pads that are
+linked to the given pad on the inside of the parent element.
+
+the caller must call gst_iterator_free() after usage.</doc>
+ <type name="Iterator" c:type="GstIterator*"/>
+ </return-value>
+ <parameters>
+ <parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="402">The #GstPad to query.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </parameter>
+ <parameter name="parent"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="403">the parent of @pad. If the #GST_PAD_FLAG_NEED_PARENT
+ flag is set, @parent is guaranteed to be not-%NULL and remain valid
+ during the execution of this function.</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <bitfield name="PadLinkCheck"
+ glib:type-name="GstPadLinkCheck"
+ glib:get-type="gst_pad_link_check_get_type"
+ c:type="GstPadLinkCheck">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="194">The amount of checking to be done when linking pads. @GST_PAD_LINK_CHECK_CAPS
+and @GST_PAD_LINK_CHECK_TEMPLATE_CAPS are mutually exclusive. If both are
+specified, expensive but safe @GST_PAD_LINK_CHECK_CAPS are performed.
+
+&gt; Only disable some of the checks if you are 100% certain you know the link
+&gt; will not fail because of hierarchy/caps compatibility failures. If uncertain,
+&gt; use the default checks (%GST_PAD_LINK_CHECK_DEFAULT) or the regular methods
+&gt; for linking the pads.</doc>
+ <member name="nothing"
+ value="0"
+ c:identifier="GST_PAD_LINK_CHECK_NOTHING"
+ glib:nick="nothing">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="196">Don't check hierarchy or caps compatibility.</doc>
+ </member>
+ <member name="hierarchy"
+ value="1"
+ c:identifier="GST_PAD_LINK_CHECK_HIERARCHY"
+ glib:nick="hierarchy">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="197">Check the pads have same parents/grandparents.
+ Could be omitted if it is already known that the two elements that own the
+ pads are in the same bin.</doc>
+ </member>
+ <member name="template_caps"
+ value="2"
+ c:identifier="GST_PAD_LINK_CHECK_TEMPLATE_CAPS"
+ glib:nick="template-caps">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="200">Check if the pads are compatible by using
+ their template caps. This is much faster than @GST_PAD_LINK_CHECK_CAPS, but
+ would be unsafe e.g. if one pad has %GST_CAPS_ANY.</doc>
+ </member>
+ <member name="caps"
+ value="4"
+ c:identifier="GST_PAD_LINK_CHECK_CAPS"
+ glib:nick="caps">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="203">Check if the pads are compatible by comparing the
+ caps returned by gst_pad_query_caps().</doc>
+ </member>
+ <member name="no_reconfigure"
+ value="8"
+ c:identifier="GST_PAD_LINK_CHECK_NO_RECONFIGURE"
+ glib:nick="no-reconfigure">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="205">Disables pushing a reconfigure event when pads are
+ linked.</doc>
+ </member>
+ <member name="default"
+ value="5"
+ c:identifier="GST_PAD_LINK_CHECK_DEFAULT"
+ glib:nick="default">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="207">The default checks done when linking
+ pads (i.e. the ones used by gst_pad_link()).</doc>
+ </member>
+ </bitfield>
+ <callback name="PadLinkFunction" c:type="GstPadLinkFunction">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="434">Function signature to handle a new link on the pad.</doc>
+ <source-position filename="gst/gstpad.h" line="446"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="444">the result of the link with the specified peer.</doc>
+ <type name="PadLinkReturn" c:type="GstPadLinkReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="436">the #GstPad that is linked.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </parameter>
+ <parameter name="parent"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="437">the parent of @pad. If the #GST_PAD_FLAG_NEED_PARENT
+ flag is set, @parent is guaranteed to be not-%NULL and remain valid
+ during the execution of this function.</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="peer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="440">the peer #GstPad of the link</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <enumeration name="PadLinkReturn"
+ glib:type-name="GstPadLinkReturn"
+ glib:get-type="gst_pad_link_return_get_type"
+ c:type="GstPadLinkReturn">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="92">Result values from gst_pad_link and friends.</doc>
+ <member name="ok"
+ value="0"
+ c:identifier="GST_PAD_LINK_OK"
+ glib:nick="ok">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="94">link succeeded</doc>
+ </member>
+ <member name="wrong_hierarchy"
+ value="-1"
+ c:identifier="GST_PAD_LINK_WRONG_HIERARCHY"
+ glib:nick="wrong-hierarchy">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="95">pads have no common grandparent</doc>
+ </member>
+ <member name="was_linked"
+ value="-2"
+ c:identifier="GST_PAD_LINK_WAS_LINKED"
+ glib:nick="was-linked">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="96">pad was already linked</doc>
+ </member>
+ <member name="wrong_direction"
+ value="-3"
+ c:identifier="GST_PAD_LINK_WRONG_DIRECTION"
+ glib:nick="wrong-direction">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="97">pads have wrong direction</doc>
+ </member>
+ <member name="noformat"
+ value="-4"
+ c:identifier="GST_PAD_LINK_NOFORMAT"
+ glib:nick="noformat">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="98">pads do not have common format</doc>
+ </member>
+ <member name="nosched"
+ value="-5"
+ c:identifier="GST_PAD_LINK_NOSCHED"
+ glib:nick="nosched">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="99">pads cannot cooperate in scheduling</doc>
+ </member>
+ <member name="refused"
+ value="-6"
+ c:identifier="GST_PAD_LINK_REFUSED"
+ glib:nick="refused">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="100">refused for some reason</doc>
+ </member>
+ </enumeration>
+ <enumeration name="PadMode"
+ glib:type-name="GstPadMode"
+ glib:get-type="gst_pad_mode_get_type"
+ c:type="GstPadMode">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="48">The status of a GstPad. After activating a pad, which usually happens when the
+parent element goes from READY to PAUSED, the GstPadMode defines if the
+pad operates in push or pull mode.</doc>
+ <member name="none"
+ value="0"
+ c:identifier="GST_PAD_MODE_NONE"
+ glib:nick="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="50">Pad will not handle dataflow</doc>
+ </member>
+ <member name="push"
+ value="1"
+ c:identifier="GST_PAD_MODE_PUSH"
+ glib:nick="push">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="51">Pad handles dataflow in downstream push mode</doc>
+ </member>
+ <member name="pull"
+ value="2"
+ c:identifier="GST_PAD_MODE_PULL"
+ glib:nick="pull">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="52">Pad handles dataflow in upstream pull mode</doc>
+ </member>
+ <function name="get_name" c:identifier="gst_pad_mode_get_name">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="944">Return the name of a pad mode, for use in debug messages mostly.</doc>
+ <source-position filename="gst/gstpad.h" line="67"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="950">short mnemonic for pad mode @mode</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="mode" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="946">the pad mode</doc>
+ <type name="PadMode" c:type="GstPadMode"/>
+ </parameter>
+ </parameters>
+ </function>
+ </enumeration>
+ <enumeration name="PadPresence"
+ glib:type-name="GstPadPresence"
+ glib:get-type="gst_pad_presence_get_type"
+ c:type="GstPadPresence">
+ <doc xml:space="preserve"
+ filename="gst/gstpadtemplate.h"
+ line="50">Indicates when this pad will become available.</doc>
+ <member name="always"
+ value="0"
+ c:identifier="GST_PAD_ALWAYS"
+ glib:nick="always">
+ <doc xml:space="preserve"
+ filename="gst/gstpadtemplate.h"
+ line="52">the pad is always available</doc>
+ </member>
+ <member name="sometimes"
+ value="1"
+ c:identifier="GST_PAD_SOMETIMES"
+ glib:nick="sometimes">
+ <doc xml:space="preserve"
+ filename="gst/gstpadtemplate.h"
+ line="53">the pad will become available depending on the media stream</doc>
+ </member>
+ <member name="request"
+ value="2"
+ c:identifier="GST_PAD_REQUEST"
+ glib:nick="request">
+ <doc xml:space="preserve"
+ filename="gst/gstpadtemplate.h"
+ line="54">the pad is only available on request with
+ gst_element_request_pad().</doc>
+ </member>
+ </enumeration>
+ <record name="PadPrivate" c:type="GstPadPrivate" disguised="1">
+ <source-position filename="gst/gstpad.h" line="30"/>
+ </record>
+ <callback name="PadProbeCallback" c:type="GstPadProbeCallback">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="630">Callback used by gst_pad_add_probe(). Gets called to notify about the current
+blocking type.
+
+The callback is allowed to modify the data pointer in @info.</doc>
+ <source-position filename="gst/gstpad.h" line="643"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="641">a #GstPadProbeReturn</doc>
+ <type name="PadProbeReturn" c:type="GstPadProbeReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="632">the #GstPad that is blocked</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </parameter>
+ <parameter name="info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="633">#GstPadProbeInfo</doc>
+ <type name="PadProbeInfo" c:type="GstPadProbeInfo*"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1"
+ closure="2">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="634">the gpointer to optional user data.</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <record name="PadProbeInfo" c:type="GstPadProbeInfo">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="575">Info passed in the #GstPadProbeCallback.</doc>
+ <source-position filename="gst/gstpad.h" line="603"/>
+ <field name="type" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="577">the current probe type</doc>
+ <type name="PadProbeType" c:type="GstPadProbeType"/>
+ </field>
+ <field name="id" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="578">the id of the probe</doc>
+ <type name="gulong" c:type="gulong"/>
+ </field>
+ <field name="data" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="579">type specific data, check the @type field to know the
+ datatype. This field can be %NULL.</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <field name="offset" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="581">offset of pull probe, this field is valid when @type contains
+ #GST_PAD_PROBE_TYPE_PULL</doc>
+ <type name="guint64" c:type="guint64"/>
+ </field>
+ <field name="size" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="583">size of pull probe, this field is valid when @type contains
+ #GST_PAD_PROBE_TYPE_PULL</doc>
+ <type name="guint" c:type="guint"/>
+ </field>
+ <union name="ABI" c:type="ABI">
+ <source-position filename="gst/gstpad.h" line="602"/>
+ <field name="_gst_reserved" writable="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <record name="abi" c:type="abi">
+ <source-position filename="gst/gstpad.h" line="601"/>
+ <field name="flow_ret" writable="1">
+ <type name="FlowReturn" c:type="GstFlowReturn"/>
+ </field>
+ </record>
+ </union>
+ <method name="get_buffer" c:identifier="gst_pad_probe_info_get_buffer">
+ <source-position filename="gst/gstpad.h" line="625"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="6456">The #GstBuffer from the probe</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="6454">a #GstPadProbeInfo</doc>
+ <type name="PadProbeInfo" c:type="GstPadProbeInfo*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_buffer_list"
+ c:identifier="gst_pad_probe_info_get_buffer_list">
+ <source-position filename="gst/gstpad.h" line="628"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="6471">The #GstBufferList from the probe</doc>
+ <type name="BufferList" c:type="GstBufferList*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="6469">a #GstPadProbeInfo</doc>
+ <type name="PadProbeInfo" c:type="GstPadProbeInfo*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_event" c:identifier="gst_pad_probe_info_get_event">
+ <source-position filename="gst/gstpad.h" line="619"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="6423">The #GstEvent from the probe</doc>
+ <type name="Event" c:type="GstEvent*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="6421">a #GstPadProbeInfo</doc>
+ <type name="PadProbeInfo" c:type="GstPadProbeInfo*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_query" c:identifier="gst_pad_probe_info_get_query">
+ <source-position filename="gst/gstpad.h" line="622"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="6440">The #GstQuery from the probe</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="6438">a #GstPadProbeInfo</doc>
+ <type name="PadProbeInfo" c:type="GstPadProbeInfo*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ </record>
+ <enumeration name="PadProbeReturn"
+ glib:type-name="GstPadProbeReturn"
+ glib:get-type="gst_pad_probe_return_get_type"
+ c:type="GstPadProbeReturn">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="539">Different return values for the #GstPadProbeCallback.</doc>
+ <member name="drop"
+ value="0"
+ c:identifier="GST_PAD_PROBE_DROP"
+ glib:nick="drop">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="546">drop data in data probes. For push mode this means that
+ the data item is not sent downstream. For pull mode, it means that
+ the data item is not passed upstream. In both cases, no other probes
+ are called for this item and %GST_FLOW_OK or %TRUE is returned to the
+ caller.</doc>
+ </member>
+ <member name="ok"
+ value="1"
+ c:identifier="GST_PAD_PROBE_OK"
+ glib:nick="ok">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="541">normal probe return value. This leaves the probe in
+ place, and defers decisions about dropping or passing data to other
+ probes, if any. If there are no other probes, the default behaviour
+ for the probe type applies ('block' for blocking probes,
+ and 'pass' for non-blocking probes).</doc>
+ </member>
+ <member name="remove"
+ value="2"
+ c:identifier="GST_PAD_PROBE_REMOVE"
+ glib:nick="remove">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="551">remove this probe.</doc>
+ </member>
+ <member name="pass"
+ value="3"
+ c:identifier="GST_PAD_PROBE_PASS"
+ glib:nick="pass">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="552">pass the data item in the block probe and block on the
+ next item.</doc>
+ </member>
+ <member name="handled"
+ value="4"
+ c:identifier="GST_PAD_PROBE_HANDLED"
+ glib:nick="handled">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="554">Data has been handled in the probe and will not be
+ forwarded further. For events and buffers this is the same behaviour as
+ %GST_PAD_PROBE_DROP (except that in this case you need to unref the buffer
+ or event yourself). For queries it will also return %TRUE to the caller.
+ The probe can also modify the #GstFlowReturn value by using the
+ #GST_PAD_PROBE_INFO_FLOW_RETURN() accessor.
+ Note that the resulting query must contain valid entries.
+ Since: 1.6</doc>
+ </member>
+ </enumeration>
+ <bitfield name="PadProbeType"
+ glib:type-name="GstPadProbeType"
+ glib:get-type="gst_pad_probe_type_get_type"
+ c:type="GstPadProbeType">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="475">The different probing types that can occur. When either one of
+@GST_PAD_PROBE_TYPE_IDLE or @GST_PAD_PROBE_TYPE_BLOCK is used, the probe will be a
+blocking probe.</doc>
+ <member name="invalid"
+ value="0"
+ c:identifier="GST_PAD_PROBE_TYPE_INVALID"
+ glib:nick="invalid">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="477">invalid probe type</doc>
+ </member>
+ <member name="idle"
+ value="1"
+ c:identifier="GST_PAD_PROBE_TYPE_IDLE"
+ glib:nick="idle">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="478">probe idle pads and block while the callback is called</doc>
+ </member>
+ <member name="block"
+ value="2"
+ c:identifier="GST_PAD_PROBE_TYPE_BLOCK"
+ glib:nick="block">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="479">probe and block pads</doc>
+ </member>
+ <member name="buffer"
+ value="16"
+ c:identifier="GST_PAD_PROBE_TYPE_BUFFER"
+ glib:nick="buffer">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="480">probe buffers</doc>
+ </member>
+ <member name="buffer_list"
+ value="32"
+ c:identifier="GST_PAD_PROBE_TYPE_BUFFER_LIST"
+ glib:nick="buffer-list">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="481">probe buffer lists</doc>
+ </member>
+ <member name="event_downstream"
+ value="64"
+ c:identifier="GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM"
+ glib:nick="event-downstream">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="482">probe downstream events</doc>
+ </member>
+ <member name="event_upstream"
+ value="128"
+ c:identifier="GST_PAD_PROBE_TYPE_EVENT_UPSTREAM"
+ glib:nick="event-upstream">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="483">probe upstream events</doc>
+ </member>
+ <member name="event_flush"
+ value="256"
+ c:identifier="GST_PAD_PROBE_TYPE_EVENT_FLUSH"
+ glib:nick="event-flush">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="484">probe flush events. This probe has to be
+ explicitly enabled and is not included in the
+ @@GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM or
+ @@GST_PAD_PROBE_TYPE_EVENT_UPSTREAM probe types.</doc>
+ </member>
+ <member name="query_downstream"
+ value="512"
+ c:identifier="GST_PAD_PROBE_TYPE_QUERY_DOWNSTREAM"
+ glib:nick="query-downstream">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="488">probe downstream queries</doc>
+ </member>
+ <member name="query_upstream"
+ value="1024"
+ c:identifier="GST_PAD_PROBE_TYPE_QUERY_UPSTREAM"
+ glib:nick="query-upstream">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="489">probe upstream queries</doc>
+ </member>
+ <member name="push"
+ value="4096"
+ c:identifier="GST_PAD_PROBE_TYPE_PUSH"
+ glib:nick="push">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="490">probe push</doc>
+ </member>
+ <member name="pull"
+ value="8192"
+ c:identifier="GST_PAD_PROBE_TYPE_PULL"
+ glib:nick="pull">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="491">probe pull</doc>
+ </member>
+ <member name="blocking"
+ value="3"
+ c:identifier="GST_PAD_PROBE_TYPE_BLOCKING"
+ glib:nick="blocking">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="492">probe and block at the next opportunity, at data flow or when idle</doc>
+ </member>
+ <member name="data_downstream"
+ value="112"
+ c:identifier="GST_PAD_PROBE_TYPE_DATA_DOWNSTREAM"
+ glib:nick="data-downstream">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="493">probe downstream data (buffers, buffer lists, and events)</doc>
+ </member>
+ <member name="data_upstream"
+ value="128"
+ c:identifier="GST_PAD_PROBE_TYPE_DATA_UPSTREAM"
+ glib:nick="data-upstream">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="494">probe upstream data (events)</doc>
+ </member>
+ <member name="data_both"
+ value="240"
+ c:identifier="GST_PAD_PROBE_TYPE_DATA_BOTH"
+ glib:nick="data-both">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="495">probe upstream and downstream data (buffers, buffer lists, and events)</doc>
+ </member>
+ <member name="block_downstream"
+ value="114"
+ c:identifier="GST_PAD_PROBE_TYPE_BLOCK_DOWNSTREAM"
+ glib:nick="block-downstream">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="496">probe and block downstream data (buffers, buffer lists, and events)</doc>
+ </member>
+ <member name="block_upstream"
+ value="130"
+ c:identifier="GST_PAD_PROBE_TYPE_BLOCK_UPSTREAM"
+ glib:nick="block-upstream">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="497">probe and block upstream data (events)</doc>
+ </member>
+ <member name="event_both"
+ value="192"
+ c:identifier="GST_PAD_PROBE_TYPE_EVENT_BOTH"
+ glib:nick="event-both">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="498">probe upstream and downstream events</doc>
+ </member>
+ <member name="query_both"
+ value="1536"
+ c:identifier="GST_PAD_PROBE_TYPE_QUERY_BOTH"
+ glib:nick="query-both">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="499">probe upstream and downstream queries</doc>
+ </member>
+ <member name="all_both"
+ value="1776"
+ c:identifier="GST_PAD_PROBE_TYPE_ALL_BOTH"
+ glib:nick="all-both">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="500">probe upstream events and queries and downstream buffers, buffer lists, events and queries</doc>
+ </member>
+ <member name="scheduling"
+ value="12288"
+ c:identifier="GST_PAD_PROBE_TYPE_SCHEDULING"
+ glib:nick="scheduling">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="501">probe push and pull</doc>
+ </member>
+ </bitfield>
+ <callback name="PadQueryFunction" c:type="GstPadQueryFunction">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="417">The signature of the query function.</doc>
+ <source-position filename="gst/gstpad.h" line="429"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="427">%TRUE if the query could be performed.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="419">the #GstPad to query.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </parameter>
+ <parameter name="parent"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="420">the parent of @pad. If the #GST_PAD_FLAG_NEED_PARENT
+ flag is set, @parent is guaranteed to be not-%NULL and remain valid
+ during the execution of this function.</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="query" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="423">the #GstQuery object to execute</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <callback name="PadStickyEventsForeachFunction"
+ c:type="GstPadStickyEventsForeachFunction">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="646">Callback used by gst_pad_sticky_events_foreach().
+
+When this function returns %TRUE, the next event will be
+returned. When %FALSE is returned, gst_pad_sticky_events_foreach() will return.
+
+When @event is set to %NULL, the item will be removed from the list of sticky events.
+@event can be replaced by assigning a new reference to it.
+This function is responsible for unreffing the old event when
+removing or modifying.</doc>
+ <source-position filename="gst/gstpad.h" line="664"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="662">%TRUE if the iteration should continue</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="648">the #GstPad.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </parameter>
+ <parameter name="event"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="649">a sticky #GstEvent.</doc>
+ <type name="Event" c:type="GstEvent**"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1"
+ closure="2">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="650">the #gpointer to optional user data.</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <class name="PadTemplate"
+ c:symbol-prefix="pad_template"
+ c:type="GstPadTemplate"
+ parent="Object"
+ glib:type-name="GstPadTemplate"
+ glib:get-type="gst_pad_template_get_type"
+ glib:type-struct="PadTemplateClass">
+ <doc xml:space="preserve"
+ filename="gst/gstpadtemplate.c"
+ line="23">Padtemplates describe the possible media types a pad or an elementfactory can
+handle. This allows for both inspection of handled types before loading the
+element plugin as well as identifying pads on elements that are not yet
+created (request or sometimes pads).
+
+Pad and PadTemplates have #GstCaps attached to it to describe the media type
+they are capable of dealing with. gst_pad_template_get_caps() or
+GST_PAD_TEMPLATE_CAPS() are used to get the caps of a padtemplate. It's not
+possible to modify the caps of a padtemplate after creation.
+
+PadTemplates have a #GstPadPresence property which identifies the lifetime
+of the pad and that can be retrieved with GST_PAD_TEMPLATE_PRESENCE(). Also
+the direction of the pad can be retrieved from the #GstPadTemplate with
+GST_PAD_TEMPLATE_DIRECTION().
+
+The GST_PAD_TEMPLATE_NAME_TEMPLATE () is important for GST_PAD_REQUEST pads
+because it has to be used as the name in the gst_element_get_request_pad()
+call to instantiate a pad from this template.
+
+Padtemplates can be created with gst_pad_template_new() or with
+gst_static_pad_template_get (), which creates a #GstPadTemplate from a
+#GstStaticPadTemplate that can be filled with the
+convenient GST_STATIC_PAD_TEMPLATE() macro.
+
+A padtemplate can be used to create a pad (see gst_pad_new_from_template()
+or gst_pad_new_from_static_template ()) or to add to an element class
+(see gst_element_class_add_static_pad_template ()).
+
+The following code example shows the code to create a pad from a padtemplate.
+|[&lt;!-- language="C" --&gt;
+ GstStaticPadTemplate my_template =
+ GST_STATIC_PAD_TEMPLATE (
+ "sink", // the name of the pad
+ GST_PAD_SINK, // the direction of the pad
+ GST_PAD_ALWAYS, // when this pad will be present
+ GST_STATIC_CAPS ( // the capabilities of the padtemplate
+ "audio/x-raw, "
+ "channels = (int) [ 1, 6 ]"
+ )
+ );
+ void
+ my_method (void)
+ {
+ GstPad *pad;
+ pad = gst_pad_new_from_static_template (&amp;amp;my_template, "sink");
+ ...
+ }
+]|
+
+The following example shows you how to add the padtemplate to an
+element class, this is usually done in the class_init of the class:
+|[&lt;!-- language="C" --&gt;
+ static void
+ my_element_class_init (GstMyElementClass *klass)
+ {
+ GstElementClass *gstelement_class = GST_ELEMENT_CLASS (klass);
+
+ gst_element_class_add_static_pad_template (gstelement_class, &amp;amp;my_template);
+ }
+]|</doc>
+ <source-position filename="gst/gstpadtemplate.h" line="157"/>
+ <constructor name="new" c:identifier="gst_pad_template_new">
+ <doc xml:space="preserve"
+ filename="gst/gstpadtemplate.c"
+ line="366">Creates a new pad template with a name according to the given template
+and with the given arguments.</doc>
+ <source-position filename="gst/gstpadtemplate.h" line="211"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstpadtemplate.c"
+ line="376">a new #GstPadTemplate.</doc>
+ <type name="PadTemplate" c:type="GstPadTemplate*"/>
+ </return-value>
+ <parameters>
+ <parameter name="name_template" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpadtemplate.c"
+ line="368">the name template.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="direction" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpadtemplate.c"
+ line="369">the #GstPadDirection of the template.</doc>
+ <type name="PadDirection" c:type="GstPadDirection"/>
+ </parameter>
+ <parameter name="presence" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpadtemplate.c"
+ line="370">the #GstPadPresence of the pad.</doc>
+ <type name="PadPresence" c:type="GstPadPresence"/>
+ </parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpadtemplate.c"
+ line="371">a #GstCaps set for the template.</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_from_static_pad_template_with_gtype"
+ c:identifier="gst_pad_template_new_from_static_pad_template_with_gtype"
+ version="1.14">
+ <doc xml:space="preserve"
+ filename="gst/gstpadtemplate.c"
+ line="329">Converts a #GstStaticPadTemplate into a #GstPadTemplate with a type.</doc>
+ <source-position filename="gst/gstpadtemplate.h" line="222"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstpadtemplate.c"
+ line="336">a new #GstPadTemplate.</doc>
+ <type name="PadTemplate" c:type="GstPadTemplate*"/>
+ </return-value>
+ <parameters>
+ <parameter name="pad_template" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpadtemplate.c"
+ line="331">the static pad template</doc>
+ <type name="StaticPadTemplate" c:type="GstStaticPadTemplate*"/>
+ </parameter>
+ <parameter name="pad_type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpadtemplate.c"
+ line="332">The #GType of the pad to create</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_with_gtype"
+ c:identifier="gst_pad_template_new_with_gtype"
+ version="1.14">
+ <doc xml:space="preserve"
+ filename="gst/gstpadtemplate.c"
+ line="402">Creates a new pad template with a name according to the given template
+and with the given arguments.</doc>
+ <source-position filename="gst/gstpadtemplate.h" line="215"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstpadtemplate.c"
+ line="413">a new #GstPadTemplate.</doc>
+ <type name="PadTemplate" c:type="GstPadTemplate*"/>
+ </return-value>
+ <parameters>
+ <parameter name="name_template" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpadtemplate.c"
+ line="404">the name template.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="direction" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpadtemplate.c"
+ line="405">the #GstPadDirection of the template.</doc>
+ <type name="PadDirection" c:type="GstPadDirection"/>
+ </parameter>
+ <parameter name="presence" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpadtemplate.c"
+ line="406">the #GstPadPresence of the pad.</doc>
+ <type name="PadPresence" c:type="GstPadPresence"/>
+ </parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpadtemplate.c"
+ line="407">a #GstCaps set for the template.</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </parameter>
+ <parameter name="pad_type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpadtemplate.c"
+ line="408">The #GType of the pad to create</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <virtual-method name="pad_created" invoker="pad_created">
+ <doc xml:space="preserve"
+ filename="gst/gstpadtemplate.c"
+ line="529">Emit the pad-created signal for this template when created by this pad.</doc>
+ <source-position filename="gst/gstpadtemplate.h" line="153"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="templ" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpadtemplate.c"
+ line="531">a #GstPadTemplate that has been created</doc>
+ <type name="PadTemplate" c:type="GstPadTemplate*"/>
+ </instance-parameter>
+ <parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpadtemplate.c"
+ line="532">the #GstPad that created it</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <method name="get_caps" c:identifier="gst_pad_template_get_caps">
+ <doc xml:space="preserve"
+ filename="gst/gstpadtemplate.c"
+ line="463">Gets the capabilities of the pad template.</doc>
+ <source-position filename="gst/gstpadtemplate.h" line="230"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstpadtemplate.c"
+ line="469">the #GstCaps of the pad template.
+Unref after usage.</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="templ" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpadtemplate.c"
+ line="465">a #GstPadTemplate to get capabilities of.</doc>
+ <type name="PadTemplate" c:type="GstPadTemplate*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_documentation_caps"
+ c:identifier="gst_pad_template_get_documentation_caps"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="gst/gstpadtemplate.c"
+ line="507">See gst_pad_template_set_documentation_caps().</doc>
+ <source-position filename="gst/gstpadtemplate.h" line="236"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstpadtemplate.c"
+ line="513">The caps to document. For convenience, this will return
+ gst_pad_template_get_caps() when no documentation caps were set.</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="templ" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpadtemplate.c"
+ line="509">the pad template to get documented capabilities on</doc>
+ <type name="PadTemplate" c:type="GstPadTemplate*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="pad_created" c:identifier="gst_pad_template_pad_created">
+ <doc xml:space="preserve"
+ filename="gst/gstpadtemplate.c"
+ line="529">Emit the pad-created signal for this template when created by this pad.</doc>
+ <source-position filename="gst/gstpadtemplate.h" line="239"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="templ" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpadtemplate.c"
+ line="531">a #GstPadTemplate that has been created</doc>
+ <type name="PadTemplate" c:type="GstPadTemplate*"/>
+ </instance-parameter>
+ <parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpadtemplate.c"
+ line="532">the #GstPad that created it</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_documentation_caps"
+ c:identifier="gst_pad_template_set_documentation_caps"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="gst/gstpadtemplate.c"
+ line="483">Certain elements will dynamically construct the caps of their
+pad templates. In order not to let environment-specific information
+into the documentation, element authors should use this method to
+expose "stable" caps to the reader.</doc>
+ <source-position filename="gst/gstpadtemplate.h" line="233"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="templ" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpadtemplate.c"
+ line="485">the pad template to set documented capabilities on</doc>
+ <type name="PadTemplate" c:type="GstPadTemplate*"/>
+ </instance-parameter>
+ <parameter name="caps" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstpadtemplate.c"
+ line="486">the documented capabilities</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="caps"
+ writable="1"
+ construct-only="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpadtemplate.c"
+ line="188">The capabilities of the pad described by the pad template.</doc>
+ <type name="Caps"/>
+ </property>
+ <property name="direction"
+ writable="1"
+ construct-only="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpadtemplate.c"
+ line="166">The direction of the pad described by the pad template.</doc>
+ <type name="PadDirection"/>
+ </property>
+ <property name="gtype"
+ version="1.14"
+ writable="1"
+ construct-only="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpadtemplate.c"
+ line="199">The type of the pad described by the pad template.</doc>
+ <type name="GType" c:type="GType"/>
+ </property>
+ <property name="name-template"
+ writable="1"
+ construct-only="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpadtemplate.c"
+ line="156">The name template of the pad template.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </property>
+ <property name="presence"
+ writable="1"
+ construct-only="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpadtemplate.c"
+ line="177">When the pad described by the pad template will become available.</doc>
+ <type name="PadPresence"/>
+ </property>
+ <field name="object">
+ <type name="Object" c:type="GstObject"/>
+ </field>
+ <field name="name_template">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="direction">
+ <type name="PadDirection" c:type="GstPadDirection"/>
+ </field>
+ <field name="presence">
+ <type name="PadPresence" c:type="GstPadPresence"/>
+ </field>
+ <field name="caps">
+ <type name="Caps" c:type="GstCaps*"/>
+ </field>
+ <union name="ABI" c:type="ABI">
+ <source-position filename="gst/gstpadtemplate.h" line="146"/>
+ <field name="_gst_reserved" writable="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <record name="abi" c:type="abi">
+ <source-position filename="gst/gstpadtemplate.h" line="145"/>
+ <field name="gtype" writable="1">
+ <type name="GType" c:type="GType"/>
+ </field>
+ <field name="documentation_caps" writable="1">
+ <type name="Caps" c:type="GstCaps*"/>
+ </field>
+ </record>
+ </union>
+ <glib:signal name="pad-created" when="last">
+ <doc xml:space="preserve"
+ filename="gst/gstpadtemplate.c"
+ line="139">This signal is fired when an element creates a pad from this template.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpadtemplate.c"
+ line="142">the pad that was created.</doc>
+ <type name="Pad"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ </class>
+ <record name="PadTemplateClass"
+ c:type="GstPadTemplateClass"
+ glib:is-gtype-struct-for="PadTemplate">
+ <source-position filename="gst/gstpadtemplate.h" line="157"/>
+ <field name="parent_class">
+ <type name="ObjectClass" c:type="GstObjectClass"/>
+ </field>
+ <field name="pad_created">
+ <callback name="pad_created">
+ <source-position filename="gst/gstpadtemplate.h" line="153"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="templ" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpadtemplate.c"
+ line="531">a #GstPadTemplate that has been created</doc>
+ <type name="PadTemplate" c:type="GstPadTemplate*"/>
+ </parameter>
+ <parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpadtemplate.c"
+ line="532">the #GstPad that created it</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <bitfield name="PadTemplateFlags"
+ glib:type-name="GstPadTemplateFlags"
+ glib:get-type="gst_pad_template_flags_get_type"
+ c:type="GstPadTemplateFlags">
+ <doc xml:space="preserve"
+ filename="gst/gstpadtemplate.h"
+ line="107">Flags for the padtemplate</doc>
+ <member name="last"
+ value="256"
+ c:identifier="GST_PAD_TEMPLATE_FLAG_LAST"
+ glib:nick="last">
+ <doc xml:space="preserve"
+ filename="gst/gstpadtemplate.h"
+ line="109">first flag that can be used by subclasses.</doc>
+ </member>
+ </bitfield>
+ <callback name="PadUnlinkFunction" c:type="GstPadUnlinkFunction">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="447">Function signature to handle a unlinking the pad prom its peer.
+
+The pad's lock is already held when the unlink function is called, so most
+pad functions cannot be called from within the callback.</doc>
+ <source-position filename="gst/gstpad.h" line="459"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="449">the #GstPad that is linked.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </parameter>
+ <parameter name="parent"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="450">the parent of @pad. If the #GST_PAD_FLAG_NEED_PARENT
+ flag is set, @parent is guaranteed to be not-%NULL and remain valid
+ during the execution of this function.</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <class name="ParamArray"
+ c:symbol-prefix="param_spec_array"
+ version="1.12"
+ parent="GObject.ParamSpec"
+ glib:type-name="GstParamArray"
+ glib:get-type="gst_param_spec_array_get_type"
+ glib:fundamental="1">
+ <doc xml:space="preserve"
+ filename="gst/gstparamspecs.h"
+ line="107">A fundamental type that describes a #GParamSpec for arrays of
+values</doc>
+ </class>
+ <class name="ParamFraction"
+ c:symbol-prefix="param_spec_fraction"
+ parent="GObject.ParamSpec"
+ glib:type-name="GstParamFraction"
+ glib:get-type="gst_param_spec_fraction_get_type"
+ glib:fundamental="1">
+ <doc xml:space="preserve"
+ filename="gst/gstparamspecs.h"
+ line="96">A fundamental type that describes a #GParamSpec for fractional
+properties</doc>
+ </class>
+ <record name="ParamSpecArray" c:type="GstParamSpecArray">
+ <doc xml:space="preserve"
+ filename="gst/gstparamspecs.h"
+ line="156">A GParamSpec derived structure for arrays of values.</doc>
+ <source-position filename="gst/gstparamspecs.h" line="167"/>
+ <field name="parent_instance" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstparamspecs.h"
+ line="158">super class</doc>
+ <type name="GObject.ParamSpec" c:type="GParamSpec"/>
+ </field>
+ <field name="element_spec" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstparamspecs.h"
+ line="159">the #GParamSpec of the type of values in the array</doc>
+ <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
+ </field>
+ </record>
+ <record name="ParamSpecFraction" c:type="GstParamSpecFraction">
+ <doc xml:space="preserve"
+ filename="gst/gstparamspecs.h"
+ line="135">A GParamSpec derived structure that contains the meta data for fractional
+properties.</doc>
+ <source-position filename="gst/gstparamspecs.h" line="154"/>
+ <field name="parent_instance" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstparamspecs.h"
+ line="137">super class</doc>
+ <type name="GObject.ParamSpec" c:type="GParamSpec"/>
+ </field>
+ <field name="min_num" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstparamspecs.h"
+ line="138">minimal numerator</doc>
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="min_den" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstparamspecs.h"
+ line="139">minimal denominator</doc>
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="max_num" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstparamspecs.h"
+ line="140">maximal numerator</doc>
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="max_den" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstparamspecs.h"
+ line="141">maximal denominator</doc>
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="def_num" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstparamspecs.h"
+ line="142">default numerator</doc>
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="def_den" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstparamspecs.h"
+ line="143">default denominator</doc>
+ <type name="gint" c:type="gint"/>
+ </field>
+ </record>
+ <record name="ParentBufferMeta" c:type="GstParentBufferMeta" version="1.6">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="705">The #GstParentBufferMeta is a #GstMeta which can be attached to a #GstBuffer
+to hold a reference to another buffer that is only released when the child
+#GstBuffer is released.
+
+Typically, #GstParentBufferMeta is used when the child buffer is directly
+using the #GstMemory of the parent buffer, and wants to prevent the parent
+buffer from being returned to a buffer pool until the #GstMemory is available
+for re-use.</doc>
+ <source-position filename="gst/gstbuffer.h" line="727"/>
+ <field name="parent" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="707">the parent #GstMeta structure</doc>
+ <type name="Meta" c:type="GstMeta"/>
+ </field>
+ <field name="buffer" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="708">the #GstBuffer on which a reference is being held.</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </field>
+ <function name="get_info"
+ c:identifier="gst_parent_buffer_meta_get_info"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="2675">Get the global #GstMetaInfo describing the #GstParentBufferMeta meta.</doc>
+ <source-position filename="gst/gstbuffer.h" line="747"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="2680">The #GstMetaInfo</doc>
+ <type name="MetaInfo" c:type="const GstMetaInfo*"/>
+ </return-value>
+ </function>
+ </record>
+ <record name="ParseContext"
+ c:type="GstParseContext"
+ glib:type-name="GstParseContext"
+ glib:get-type="gst_parse_context_get_type"
+ c:symbol-prefix="parse_context">
+ <doc xml:space="preserve"
+ filename="gst/gstparse.h"
+ line="90">Opaque structure.</doc>
+ <source-position filename="gst/gstparse.h" line="95"/>
+ <constructor name="new" c:identifier="gst_parse_context_new">
+ <doc xml:space="preserve"
+ filename="gst/gstparse.c"
+ line="70">Allocates a parse context for use with gst_parse_launch_full() or
+gst_parse_launchv_full().
+
+Free-function: gst_parse_context_free</doc>
+ <source-position filename="gst/gstparse.h" line="103"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstparse.c"
+ line="78">a newly-allocated parse context. Free
+ with gst_parse_context_free() when no longer needed.</doc>
+ <type name="ParseContext" c:type="GstParseContext*"/>
+ </return-value>
+ </constructor>
+ <method name="copy"
+ c:identifier="gst_parse_context_copy"
+ version="1.12.1">
+ <doc xml:space="preserve"
+ filename="gst/gstparse.c"
+ line="96">Copies the @context.</doc>
+ <source-position filename="gst/gstparse.h" line="112"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstparse.c"
+ line="102">A copied #GstParseContext</doc>
+ <type name="ParseContext" c:type="GstParseContext*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstparse.c"
+ line="98">a #GstParseContext</doc>
+ <type name="ParseContext" c:type="const GstParseContext*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="free" c:identifier="gst_parse_context_free">
+ <doc xml:space="preserve"
+ filename="gst/gstparse.c"
+ line="126">Frees a parse context previously allocated with gst_parse_context_new().</doc>
+ <source-position filename="gst/gstparse.h" line="109"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="context" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstparse.c"
+ line="128">a #GstParseContext</doc>
+ <type name="ParseContext" c:type="GstParseContext*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_missing_elements"
+ c:identifier="gst_parse_context_get_missing_elements">
+ <doc xml:space="preserve"
+ filename="gst/gstparse.c"
+ line="144">Retrieve missing elements from a previous run of gst_parse_launch_full()
+or gst_parse_launchv_full(). Will only return results if an error code
+of %GST_PARSE_ERROR_NO_SUCH_ELEMENT was returned.</doc>
+ <source-position filename="gst/gstparse.h" line="106"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstparse.c"
+ line="152">a
+ %NULL-terminated array of element factory name strings of missing
+ elements. Free with g_strfreev() when no longer needed.</doc>
+ <array c:type="gchar**">
+ <type name="utf8"/>
+ </array>
+ </return-value>
+ <parameters>
+ <instance-parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstparse.c"
+ line="146">a #GstParseContext</doc>
+ <type name="ParseContext" c:type="GstParseContext*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ </record>
+ <enumeration name="ParseError"
+ glib:type-name="GstParseError"
+ glib:get-type="gst_parse_error_get_type"
+ c:type="GstParseError"
+ glib:error-domain="gst_parse_error">
+ <doc xml:space="preserve"
+ filename="gst/gstparse.h"
+ line="41">The different parsing errors that can occur.</doc>
+ <member name="syntax"
+ value="0"
+ c:identifier="GST_PARSE_ERROR_SYNTAX"
+ glib:nick="syntax">
+ <doc xml:space="preserve"
+ filename="gst/gstparse.h"
+ line="43">A syntax error occurred.</doc>
+ </member>
+ <member name="no_such_element"
+ value="1"
+ c:identifier="GST_PARSE_ERROR_NO_SUCH_ELEMENT"
+ glib:nick="no-such-element">
+ <doc xml:space="preserve"
+ filename="gst/gstparse.h"
+ line="44">The description contained an unknown element</doc>
+ </member>
+ <member name="no_such_property"
+ value="2"
+ c:identifier="GST_PARSE_ERROR_NO_SUCH_PROPERTY"
+ glib:nick="no-such-property">
+ <doc xml:space="preserve"
+ filename="gst/gstparse.h"
+ line="45">An element did not have a specified property</doc>
+ </member>
+ <member name="link"
+ value="3"
+ c:identifier="GST_PARSE_ERROR_LINK"
+ glib:nick="link">
+ <doc xml:space="preserve"
+ filename="gst/gstparse.h"
+ line="46">There was an error linking two pads.</doc>
+ </member>
+ <member name="could_not_set_property"
+ value="4"
+ c:identifier="GST_PARSE_ERROR_COULD_NOT_SET_PROPERTY"
+ glib:nick="could-not-set-property">
+ <doc xml:space="preserve"
+ filename="gst/gstparse.h"
+ line="47">There was an error setting a property</doc>
+ </member>
+ <member name="empty_bin"
+ value="5"
+ c:identifier="GST_PARSE_ERROR_EMPTY_BIN"
+ glib:nick="empty-bin">
+ <doc xml:space="preserve"
+ filename="gst/gstparse.h"
+ line="48">An empty bin was specified.</doc>
+ </member>
+ <member name="empty"
+ value="6"
+ c:identifier="GST_PARSE_ERROR_EMPTY"
+ glib:nick="empty">
+ <doc xml:space="preserve"
+ filename="gst/gstparse.h"
+ line="49">An empty description was specified</doc>
+ </member>
+ <member name="delayed_link"
+ value="7"
+ c:identifier="GST_PARSE_ERROR_DELAYED_LINK"
+ glib:nick="delayed-link">
+ <doc xml:space="preserve"
+ filename="gst/gstparse.h"
+ line="50">A delayed link did not get resolved.</doc>
+ </member>
+ <function name="quark" c:identifier="gst_parse_error_quark">
+ <doc xml:space="preserve"
+ filename="gst/gstparse.c"
+ line="52">Get the error quark used by the parsing subsystem.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstparse.c"
+ line="57">the quark of the parse errors.</doc>
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </return-value>
+ </function>
+ </enumeration>
+ <bitfield name="ParseFlags"
+ glib:type-name="GstParseFlags"
+ glib:get-type="gst_parse_flags_get_type"
+ c:type="GstParseFlags">
+ <doc xml:space="preserve"
+ filename="gst/gstparse.h"
+ line="66">Parsing options.</doc>
+ <member name="none"
+ value="0"
+ c:identifier="GST_PARSE_FLAG_NONE"
+ glib:nick="none">
+ <doc xml:space="preserve"
+ filename="gst/gstparse.h"
+ line="68">Do not use any special parsing options.</doc>
+ </member>
+ <member name="fatal_errors"
+ value="1"
+ c:identifier="GST_PARSE_FLAG_FATAL_ERRORS"
+ glib:nick="fatal-errors">
+ <doc xml:space="preserve"
+ filename="gst/gstparse.h"
+ line="69">Always return %NULL when an error occurs
+ (default behaviour is to return partially constructed bins or elements
+ in some cases)</doc>
+ </member>
+ <member name="no_single_element_bins"
+ value="2"
+ c:identifier="GST_PARSE_FLAG_NO_SINGLE_ELEMENT_BINS"
+ glib:nick="no-single-element-bins">
+ <doc xml:space="preserve"
+ filename="gst/gstparse.h"
+ line="72">If a bin only has a single element,
+ just return the element.</doc>
+ </member>
+ <member name="place_in_bin"
+ value="4"
+ c:identifier="GST_PARSE_FLAG_PLACE_IN_BIN"
+ glib:nick="place-in-bin">
+ <doc xml:space="preserve"
+ filename="gst/gstparse.h"
+ line="74">If more than one toplevel element is described
+ by the pipeline description string, put them in a #GstBin instead of a
+ #GstPipeline. (Since: 1.10)</doc>
+ </member>
+ </bitfield>
+ <class name="Pipeline"
+ c:symbol-prefix="pipeline"
+ c:type="GstPipeline"
+ parent="Bin"
+ glib:type-name="GstPipeline"
+ glib:get-type="gst_pipeline_get_type"
+ glib:type-struct="PipelineClass">
+ <doc xml:space="preserve"
+ filename="gst/gstpipeline.c"
+ line="23">A #GstPipeline is a special #GstBin used as the toplevel container for
+the filter graph. The #GstPipeline will manage the selection and
+distribution of a global #GstClock as well as provide a #GstBus to the
+application.
+
+gst_pipeline_new() is used to create a pipeline. when you are done with
+the pipeline, use gst_object_unref() to free its resources including all
+added #GstElement objects (if not otherwise referenced).
+
+Elements are added and removed from the pipeline using the #GstBin
+methods like gst_bin_add() and gst_bin_remove() (see #GstBin).
+
+Before changing the state of the #GstPipeline (see #GstElement) a #GstBus
+can be retrieved with gst_pipeline_get_bus(). This bus can then be
+used to receive #GstMessage from the elements in the pipeline.
+
+By default, a #GstPipeline will automatically flush the pending #GstBus
+messages when going to the NULL state to ensure that no circular
+references exist when no messages are read from the #GstBus. This
+behaviour can be changed with gst_pipeline_set_auto_flush_bus().
+
+When the #GstPipeline performs the PAUSED to PLAYING state change it will
+select a clock for the elements. The clock selection algorithm will by
+default select a clock provided by an element that is most upstream
+(closest to the source). For live pipelines (ones that return
+#GST_STATE_CHANGE_NO_PREROLL from the gst_element_set_state() call) this
+will select the clock provided by the live source. For normal pipelines
+this will select a clock provided by the sinks (most likely the audio
+sink). If no element provides a clock, a default #GstSystemClock is used.
+
+The clock selection can be controlled with the gst_pipeline_use_clock()
+method, which will enforce a given clock on the pipeline. With
+gst_pipeline_auto_clock() the default clock selection algorithm can be
+restored.
+
+A #GstPipeline maintains a running time for the elements. The running
+time is defined as the difference between the current clock time and
+the base time. When the pipeline goes to READY or a flushing seek is
+performed on it, the running time is reset to 0. When the pipeline is
+set from PLAYING to PAUSED, the current clock time is sampled and used to
+configure the base time for the elements when the pipeline is set
+to PLAYING again. The effect is that the running time (as the difference
+between the clock time and the base time) will count how much time was spent
+in the PLAYING state. This default behaviour can be changed with the
+gst_element_set_start_time() method.</doc>
+ <source-position filename="gst/gstpipeline.h" line="89"/>
+ <implements name="ChildProxy"/>
+ <constructor name="new" c:identifier="gst_pipeline_new">
+ <doc xml:space="preserve"
+ filename="gst/gstpipeline.c"
+ line="331">Create a new pipeline with the given name.</doc>
+ <source-position filename="gst/gstpipeline.h" line="95"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpipeline.c"
+ line="337">newly created GstPipeline
+
+MT safe.</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </return-value>
+ <parameters>
+ <parameter name="name"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstpipeline.c"
+ line="333">name of new pipeline</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <method name="auto_clock" c:identifier="gst_pipeline_auto_clock">
+ <doc xml:space="preserve"
+ filename="gst/gstpipeline.c"
+ line="887">Let @pipeline select a clock automatically. This is the default
+behaviour.
+
+Use this function if you previous forced a fixed clock with
+gst_pipeline_use_clock() and want to restore the default
+pipeline clock selection algorithm.
+
+MT safe.</doc>
+ <source-position filename="gst/gstpipeline.h" line="113"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pipeline" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpipeline.c"
+ line="889">a #GstPipeline</doc>
+ <type name="Pipeline" c:type="GstPipeline*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_auto_flush_bus"
+ c:identifier="gst_pipeline_get_auto_flush_bus">
+ <doc xml:space="preserve"
+ filename="gst/gstpipeline.c"
+ line="1000">Check if @pipeline will automatically flush messages when going to
+the NULL state.</doc>
+ <source-position filename="gst/gstpipeline.h" line="131"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpipeline.c"
+ line="1007">whether the pipeline will automatically flush its bus when
+going from READY to NULL state or not.
+
+MT safe.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pipeline" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpipeline.c"
+ line="1002">a #GstPipeline</doc>
+ <type name="Pipeline" c:type="GstPipeline*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_bus" c:identifier="gst_pipeline_get_bus">
+ <doc xml:space="preserve"
+ filename="gst/gstpipeline.c"
+ line="737">Gets the #GstBus of @pipeline. The bus allows applications to receive
+#GstMessage packets.</doc>
+ <source-position filename="gst/gstpipeline.h" line="98"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstpipeline.c"
+ line="744">a #GstBus, unref after usage.
+
+MT safe.</doc>
+ <type name="Bus" c:type="GstBus*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pipeline" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpipeline.c"
+ line="739">a #GstPipeline</doc>
+ <type name="Pipeline" c:type="GstPipeline*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_clock"
+ c:identifier="gst_pipeline_get_clock"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstpipeline.c"
+ line="790">Gets the current clock used by @pipeline. Users of object
+oriented languages should use gst_pipeline_get_pipeline_clock()
+to avoid confusion with gst_element_get_clock() which has a different behavior.
+
+Unlike gst_element_get_clock(), this function will always return a
+clock, even if the pipeline is not in the PLAYING state.</doc>
+ <source-position filename="gst/gstpipeline.h" line="107"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstpipeline.c"
+ line="801">a #GstClock, unref after usage.</doc>
+ <type name="Clock" c:type="GstClock*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pipeline" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpipeline.c"
+ line="792">a #GstPipeline</doc>
+ <type name="Pipeline" c:type="GstPipeline*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_delay" c:identifier="gst_pipeline_get_delay">
+ <doc xml:space="preserve"
+ filename="gst/gstpipeline.c"
+ line="945">Get the configured delay (see gst_pipeline_set_delay()).</doc>
+ <source-position filename="gst/gstpipeline.h" line="119"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpipeline.c"
+ line="951">The configured delay.
+
+MT safe.</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pipeline" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpipeline.c"
+ line="947">a #GstPipeline</doc>
+ <type name="Pipeline" c:type="GstPipeline*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_latency"
+ c:identifier="gst_pipeline_get_latency"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst/gstpipeline.c"
+ line="1057">Gets the latency that should be configured on the pipeline. See
+gst_pipeline_set_latency().</doc>
+ <source-position filename="gst/gstpipeline.h" line="125"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpipeline.c"
+ line="1064">Latency to configure on the pipeline or GST_CLOCK_TIME_NONE</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pipeline" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpipeline.c"
+ line="1059">a #GstPipeline</doc>
+ <type name="Pipeline" c:type="GstPipeline*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_pipeline_clock"
+ c:identifier="gst_pipeline_get_pipeline_clock"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst/gstpipeline.c"
+ line="809">Gets the current clock used by @pipeline.
+
+Unlike gst_element_get_clock(), this function will always return a
+clock, even if the pipeline is not in the PLAYING state.</doc>
+ <source-position filename="gst/gstpipeline.h" line="110"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstpipeline.c"
+ line="818">a #GstClock, unref after usage.</doc>
+ <type name="Clock" c:type="GstClock*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pipeline" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpipeline.c"
+ line="811">a #GstPipeline</doc>
+ <type name="Pipeline" c:type="GstPipeline*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="set_auto_flush_bus"
+ c:identifier="gst_pipeline_set_auto_flush_bus">
+ <doc xml:space="preserve"
+ filename="gst/gstpipeline.c"
+ line="969">Usually, when a pipeline goes from READY to NULL state, it automatically
+flushes all pending messages on the bus, which is done for refcounting
+purposes, to break circular references.
+
+This means that applications that update state using (async) bus messages
+(e.g. do certain things when a pipeline goes from PAUSED to READY) might
+not get to see messages when the pipeline is shut down, because they might
+be flushed before they can be dispatched in the main thread. This behaviour
+can be disabled using this function.
+
+It is important that all messages on the bus are handled when the
+automatic flushing is disabled else memory leaks will be introduced.
+
+MT safe.</doc>
+ <source-position filename="gst/gstpipeline.h" line="128"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pipeline" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpipeline.c"
+ line="971">a #GstPipeline</doc>
+ <type name="Pipeline" c:type="GstPipeline*"/>
+ </instance-parameter>
+ <parameter name="auto_flush" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpipeline.c"
+ line="972">whether or not to automatically flush the bus when
+the pipeline goes from READY to NULL state</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_clock"
+ c:identifier="gst_pipeline_set_clock"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstpipeline.c"
+ line="863">Set the clock for @pipeline. The clock will be distributed
+to all the elements managed by the pipeline.</doc>
+ <source-position filename="gst/gstpipeline.h" line="104"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpipeline.c"
+ line="871">%TRUE if the clock could be set on the pipeline. %FALSE if
+ some element did not accept the clock.
+
+MT safe.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pipeline" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpipeline.c"
+ line="865">a #GstPipeline</doc>
+ <type name="Pipeline" c:type="GstPipeline*"/>
+ </instance-parameter>
+ <parameter name="clock" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpipeline.c"
+ line="866">the clock to set</doc>
+ <type name="Clock" c:type="GstClock*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_delay" c:identifier="gst_pipeline_set_delay">
+ <doc xml:space="preserve"
+ filename="gst/gstpipeline.c"
+ line="918">Set the expected delay needed for all elements to perform the
+PAUSED to PLAYING state change. @delay will be added to the
+base time of the elements so that they wait an additional @delay
+amount of time before starting to process buffers and cannot be
+#GST_CLOCK_TIME_NONE.
+
+This option is used for tuning purposes and should normally not be
+used.
+
+MT safe.</doc>
+ <source-position filename="gst/gstpipeline.h" line="116"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pipeline" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpipeline.c"
+ line="920">a #GstPipeline</doc>
+ <type name="Pipeline" c:type="GstPipeline*"/>
+ </instance-parameter>
+ <parameter name="delay" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpipeline.c"
+ line="921">the delay</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_latency"
+ c:identifier="gst_pipeline_set_latency"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst/gstpipeline.c"
+ line="1026">Sets the latency that should be configured on the pipeline. Setting
+GST_CLOCK_TIME_NONE will restore the default behaviour of using the minimum
+latency from the LATENCY query. Setting this is usually not required and
+the pipeline will figure out an appropriate latency automatically.
+
+Setting a too low latency, especially lower than the minimum latency from
+the LATENCY query, will most likely cause the pipeline to fail.</doc>
+ <source-position filename="gst/gstpipeline.h" line="122"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pipeline" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpipeline.c"
+ line="1028">a #GstPipeline</doc>
+ <type name="Pipeline" c:type="GstPipeline*"/>
+ </instance-parameter>
+ <parameter name="latency" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpipeline.c"
+ line="1029">latency to configure</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="use_clock" c:identifier="gst_pipeline_use_clock">
+ <doc xml:space="preserve"
+ filename="gst/gstpipeline.c"
+ line="831">Force @pipeline to use the given @clock. The pipeline will
+always use the given clock even if new clock providers are added
+to this pipeline.
+
+If @clock is %NULL all clocking will be disabled which will make
+the pipeline run as fast as possible.
+
+MT safe.</doc>
+ <source-position filename="gst/gstpipeline.h" line="101"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pipeline" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpipeline.c"
+ line="833">a #GstPipeline</doc>
+ <type name="Pipeline" c:type="GstPipeline*"/>
+ </instance-parameter>
+ <parameter name="clock"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstpipeline.c"
+ line="834">the clock to use</doc>
+ <type name="Clock" c:type="GstClock*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="auto-flush-bus" writable="1" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpipeline.c"
+ line="179">Whether or not to automatically flush all messages on the
+pipeline's bus when going from READY to NULL state. Please see
+gst_pipeline_set_auto_flush_bus() for more information on this option.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </property>
+ <property name="delay" writable="1" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpipeline.c"
+ line="166">The expected delay needed for elements to spin up to the
+PLAYING state expressed in nanoseconds.
+see gst_pipeline_set_delay() for more information on this option.</doc>
+ <type name="guint64" c:type="guint64"/>
+ </property>
+ <property name="latency"
+ version="1.6"
+ writable="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpipeline.c"
+ line="192">Latency to configure on the pipeline. See gst_pipeline_set_latency().</doc>
+ <type name="guint64" c:type="guint64"/>
+ </property>
+ <field name="bin">
+ <type name="Bin" c:type="GstBin"/>
+ </field>
+ <field name="fixed_clock">
+ <doc xml:space="preserve"
+ filename="gst/gstpipeline.h"
+ line="58">The fixed clock of the pipeline, used when
+ GST_PIPELINE_FLAG_FIXED_CLOCK is set.</doc>
+ <type name="Clock" c:type="GstClock*"/>
+ </field>
+ <field name="stream_time">
+ <doc xml:space="preserve"
+ filename="gst/gstpipeline.h"
+ line="60">The stream time of the pipeline. A better name for this
+ property would be the running_time, the total time spent in the
+ PLAYING state without being flushed. (deprecated, use the start_time
+ on GstElement).</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </field>
+ <field name="delay">
+ <doc xml:space="preserve"
+ filename="gst/gstpipeline.h"
+ line="64">Extra delay added to base_time to compensate for computing delays
+ when setting elements to PLAYING.</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="PipelinePrivate" c:type="GstPipelinePrivate*"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="PipelineClass"
+ c:type="GstPipelineClass"
+ glib:is-gtype-struct-for="Pipeline">
+ <source-position filename="gst/gstpipeline.h" line="89"/>
+ <field name="parent_class">
+ <type name="BinClass" c:type="GstBinClass"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <bitfield name="PipelineFlags"
+ glib:type-name="GstPipelineFlags"
+ glib:get-type="gst_pipeline_flags_get_type"
+ c:type="GstPipelineFlags">
+ <doc xml:space="preserve"
+ filename="gst/gstpipeline.h"
+ line="43">Pipeline flags</doc>
+ <member name="fixed_clock"
+ value="524288"
+ c:identifier="GST_PIPELINE_FLAG_FIXED_CLOCK"
+ glib:nick="fixed-clock">
+ <doc xml:space="preserve"
+ filename="gst/gstpipeline.h"
+ line="45">this pipeline works with a fixed clock</doc>
+ </member>
+ <member name="last"
+ value="8388608"
+ c:identifier="GST_PIPELINE_FLAG_LAST"
+ glib:nick="last">
+ <doc xml:space="preserve"
+ filename="gst/gstpipeline.h"
+ line="46">offset to define more flags</doc>
+ </member>
+ </bitfield>
+ <record name="PipelinePrivate" c:type="GstPipelinePrivate" disguised="1">
+ <source-position filename="gst/gstpipeline.h" line="41"/>
+ </record>
+ <class name="Plugin"
+ c:symbol-prefix="plugin"
+ c:type="GstPlugin"
+ parent="Object"
+ glib:type-name="GstPlugin"
+ glib:get-type="gst_plugin_get_type"
+ glib:type-struct="PluginClass">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.c"
+ line="23">GStreamer is extensible, so #GstElement instances can be loaded at runtime.
+A plugin system can provide one or more of the basic GStreamer
+#GstPluginFeature subclasses.
+
+A plugin should export a symbol `gst_plugin_desc` that is a
+struct of type #GstPluginDesc.
+the plugin loader will check the version of the core library the plugin was
+linked against and will create a new #GstPlugin. It will then call the
+#GstPluginInitFunc function that was provided in the
+`gst_plugin_desc`.
+
+Once you have a handle to a #GstPlugin (e.g. from the #GstRegistry), you
+can add any object that subclasses #GstPluginFeature.
+
+Usually plugins are always automatically loaded so you don't need to call
+gst_plugin_load() explicitly to bring it into memory. There are options to
+statically link plugins to an app or even use GStreamer without a plugin
+repository in which case gst_plugin_load() can be needed to bring the plugin
+into memory.</doc>
+ <source-position filename="gst/gstplugin.h" line="41"/>
+ <function name="list_free" c:identifier="gst_plugin_list_free">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.c"
+ line="1396">Unrefs each member of @list, then frees the list.</doc>
+ <source-position filename="gst/gstplugin.h" line="396"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="list" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.c"
+ line="1398">list of #GstPlugin</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="Plugin"/>
+ </type>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="load_by_name" c:identifier="gst_plugin_load_by_name">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.c"
+ line="1320">Load the named plugin. Refs the plugin.</doc>
+ <source-position filename="gst/gstplugin.h" line="381"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.c"
+ line="1326">a reference to a loaded plugin, or
+%NULL on error.</doc>
+ <type name="Plugin" c:type="GstPlugin*"/>
+ </return-value>
+ <parameters>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.c"
+ line="1322">name of plugin to load</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="load_file"
+ c:identifier="gst_plugin_load_file"
+ throws="1">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.c"
+ line="676">Loads the given plugin and refs it. Caller needs to unref after use.</doc>
+ <source-position filename="gst/gstplugin.h" line="375"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.c"
+ line="683">a reference to the existing loaded GstPlugin, a
+reference to the newly-loaded GstPlugin, or %NULL if an error occurred.</doc>
+ <type name="Plugin" c:type="GstPlugin*"/>
+ </return-value>
+ <parameters>
+ <parameter name="filename" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.c"
+ line="678">the plugin filename to load</doc>
+ <type name="filename" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="register_static"
+ c:identifier="gst_plugin_register_static">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.c"
+ line="179">Registers a static plugin, ie. a plugin which is private to an application
+or library and contained within the application or library (as opposed to
+being shipped as a separate module file).
+
+You must make sure that GStreamer has been initialised (with gst_init() or
+via gst_init_get_option_group()) before calling this function.</doc>
+ <source-position filename="gst/gstplugin.h" line="316"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.c"
+ line="204">%TRUE if the plugin was registered correctly, otherwise %FALSE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="major_version" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.c"
+ line="181">the major version number of the GStreamer core that the
+ plugin was compiled for, you can just use GST_VERSION_MAJOR here</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="minor_version" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.c"
+ line="183">the minor version number of the GStreamer core that the
+ plugin was compiled for, you can just use GST_VERSION_MINOR here</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.c"
+ line="185">a unique name of the plugin (ideally prefixed with an application- or
+ library-specific namespace prefix in order to avoid name conflicts in
+ case a similar plugin with the same name ever gets added to GStreamer)</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="description" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.c"
+ line="188">description of the plugin</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="init_func" transfer-ownership="none" scope="call">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.c"
+ line="189">pointer to the init function of this plugin.</doc>
+ <type name="PluginInitFunc" c:type="GstPluginInitFunc"/>
+ </parameter>
+ <parameter name="version" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.c"
+ line="190">version string of the plugin</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="license" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.c"
+ line="191">effective license of plugin. Must be one of the approved licenses
+ (see #GstPluginDesc above) or the plugin will not be registered.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="source" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.c"
+ line="193">source module plugin belongs to</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="package" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.c"
+ line="194">shipped package plugin belongs to</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="origin" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.c"
+ line="195">URL to provider of plugin</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="register_static_full"
+ c:identifier="gst_plugin_register_static_full">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.c"
+ line="240">Registers a static plugin, ie. a plugin which is private to an application
+or library and contained within the application or library (as opposed to
+being shipped as a separate module file) with a #GstPluginInitFullFunc
+which allows user data to be passed to the callback function (useful
+for bindings).
+
+You must make sure that GStreamer has been initialised (with gst_init() or
+via gst_init_get_option_group()) before calling this function.</doc>
+ <source-position filename="gst/gstplugin.h" line="327"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.c"
+ line="269">%TRUE if the plugin was registered correctly, otherwise %FALSE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="major_version" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.c"
+ line="242">the major version number of the GStreamer core that the
+ plugin was compiled for, you can just use GST_VERSION_MAJOR here</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="minor_version" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.c"
+ line="244">the minor version number of the GStreamer core that the
+ plugin was compiled for, you can just use GST_VERSION_MINOR here</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.c"
+ line="246">a unique name of the plugin (ideally prefixed with an application- or
+ library-specific namespace prefix in order to avoid name conflicts in
+ case a similar plugin with the same name ever gets added to GStreamer)</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="description" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.c"
+ line="249">description of the plugin</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="init_full_func"
+ transfer-ownership="none"
+ scope="call"
+ closure="10">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.c"
+ line="250">pointer to the init function with user data
+ of this plugin.</doc>
+ <type name="PluginInitFullFunc" c:type="GstPluginInitFullFunc"/>
+ </parameter>
+ <parameter name="version" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.c"
+ line="252">version string of the plugin</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="license" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.c"
+ line="253">effective license of plugin. Must be one of the approved licenses
+ (see #GstPluginDesc above) or the plugin will not be registered.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="source" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.c"
+ line="255">source module plugin belongs to</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="package" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.c"
+ line="256">shipped package plugin belongs to</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="origin" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.c"
+ line="257">URL to provider of plugin</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.c"
+ line="258">gpointer to user data</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </function>
+ <method name="add_dependency" c:identifier="gst_plugin_add_dependency">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.c"
+ line="1828">Make GStreamer aware of external dependencies which affect the feature
+set of this plugin (ie. the elements or typefinders associated with it).
+
+GStreamer will re-inspect plugins with external dependencies whenever any
+of the external dependencies change. This is useful for plugins which wrap
+other plugin systems, e.g. a plugin which wraps a plugin-based visualisation
+library and makes visualisations available as GStreamer elements, or a
+codec loader which exposes elements and/or caps dependent on what external
+codec libraries are currently installed.</doc>
+ <source-position filename="gst/gstplugin.h" line="384"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="plugin" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.c"
+ line="1830">a #GstPlugin</doc>
+ <type name="Plugin" c:type="GstPlugin*"/>
+ </instance-parameter>
+ <parameter name="env_vars"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.c"
+ line="1831">%NULL-terminated array of environment variables affecting the
+ feature set of the plugin (e.g. an environment variable containing
+ paths where to look for additional modules/plugins of a library),
+ or %NULL. Environment variable names may be followed by a path component
+ which will be added to the content of the environment variable, e.g.
+ "HOME/.mystuff/plugins".</doc>
+ <array c:type="const gchar**">
+ <type name="utf8" c:type="gchar*"/>
+ </array>
+ </parameter>
+ <parameter name="paths"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.c"
+ line="1837">%NULL-terminated array of directories/paths where dependent files
+ may be, or %NULL.</doc>
+ <array c:type="const gchar**">
+ <type name="utf8" c:type="gchar*"/>
+ </array>
+ </parameter>
+ <parameter name="names"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.c"
+ line="1839">%NULL-terminated array of file names (or file name suffixes,
+ depending on @flags) to be used in combination with the paths from
+ @paths and/or the paths extracted from the environment variables in
+ @env_vars, or %NULL.</doc>
+ <array c:type="const gchar**">
+ <type name="utf8" c:type="gchar*"/>
+ </array>
+ </parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.c"
+ line="1843">optional flags, or #GST_PLUGIN_DEPENDENCY_FLAG_NONE</doc>
+ <type name="PluginDependencyFlags"
+ c:type="GstPluginDependencyFlags"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_dependency_simple"
+ c:identifier="gst_plugin_add_dependency_simple">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.c"
+ line="1899">Make GStreamer aware of external dependencies which affect the feature
+set of this plugin (ie. the elements or typefinders associated with it).
+
+GStreamer will re-inspect plugins with external dependencies whenever any
+of the external dependencies change. This is useful for plugins which wrap
+other plugin systems, e.g. a plugin which wraps a plugin-based visualisation
+library and makes visualisations available as GStreamer elements, or a
+codec loader which exposes elements and/or caps dependent on what external
+codec libraries are currently installed.
+
+Convenience wrapper function for gst_plugin_add_dependency() which
+takes simple strings as arguments instead of string arrays, with multiple
+arguments separated by predefined delimiters (see above).</doc>
+ <source-position filename="gst/gstplugin.h" line="390"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="plugin" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.c"
+ line="1901">the #GstPlugin</doc>
+ <type name="Plugin" c:type="GstPlugin*"/>
+ </instance-parameter>
+ <parameter name="env_vars"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.c"
+ line="1902">one or more environment variables (separated by ':', ';' or ','),
+ or %NULL. Environment variable names may be followed by a path component
+ which will be added to the content of the environment variable, e.g.
+ "HOME/.mystuff/plugins:MYSTUFF_PLUGINS_PATH"</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="paths"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.c"
+ line="1906">one ore more directory paths (separated by ':' or ';' or ','),
+ or %NULL. Example: "/usr/lib/mystuff/plugins"</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="names"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.c"
+ line="1908">one or more file names or file name suffixes (separated by commas),
+ or %NULL</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.c"
+ line="1910">optional flags, or #GST_PLUGIN_DEPENDENCY_FLAG_NONE</doc>
+ <type name="PluginDependencyFlags"
+ c:type="GstPluginDependencyFlags"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_cache_data" c:identifier="gst_plugin_get_cache_data">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.c"
+ line="1118">Gets the plugin specific data cache. If it is %NULL there is no cached data
+stored. This is the case when the registry is getting rebuilt.</doc>
+ <source-position filename="gst/gstplugin.h" line="366"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.c"
+ line="1125">The cached data as a
+#GstStructure or %NULL.</doc>
+ <type name="Structure" c:type="const GstStructure*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="plugin" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.c"
+ line="1120">a plugin</doc>
+ <type name="Plugin" c:type="GstPlugin*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_description" c:identifier="gst_plugin_get_description">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.c"
+ line="966">Get the long descriptive name of the plugin</doc>
+ <source-position filename="gst/gstplugin.h" line="342"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.c"
+ line="972">the long name of the plugin</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="plugin" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.c"
+ line="968">plugin to get long name of</doc>
+ <type name="Plugin" c:type="GstPlugin*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_filename" c:identifier="gst_plugin_get_filename">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.c"
+ line="982">get the filename of the plugin</doc>
+ <source-position filename="gst/gstplugin.h" line="345"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.c"
+ line="988">the filename of the plugin</doc>
+ <type name="filename" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="plugin" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.c"
+ line="984">plugin to get the filename of</doc>
+ <type name="Plugin" c:type="GstPlugin*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_license" c:identifier="gst_plugin_get_license">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.c"
+ line="1014">get the license of the plugin</doc>
+ <source-position filename="gst/gstplugin.h" line="351"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.c"
+ line="1020">the license of the plugin</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="plugin" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.c"
+ line="1016">plugin to get the license of</doc>
+ <type name="Plugin" c:type="GstPlugin*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_name" c:identifier="gst_plugin_get_name">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.c"
+ line="950">Get the short name of the plugin</doc>
+ <source-position filename="gst/gstplugin.h" line="339"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.c"
+ line="956">the name of the plugin</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="plugin" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.c"
+ line="952">plugin to get the name of</doc>
+ <type name="Plugin" c:type="GstPlugin*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_origin" c:identifier="gst_plugin_get_origin">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.c"
+ line="1062">get the URL where the plugin comes from</doc>
+ <source-position filename="gst/gstplugin.h" line="360"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.c"
+ line="1068">the origin of the plugin</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="plugin" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.c"
+ line="1064">plugin to get the origin of</doc>
+ <type name="Plugin" c:type="GstPlugin*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_package" c:identifier="gst_plugin_get_package">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.c"
+ line="1046">get the package the plugin belongs to.</doc>
+ <source-position filename="gst/gstplugin.h" line="357"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.c"
+ line="1052">the package of the plugin</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="plugin" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.c"
+ line="1048">plugin to get the package of</doc>
+ <type name="Plugin" c:type="GstPlugin*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_release_date_string"
+ c:identifier="gst_plugin_get_release_date_string">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.c"
+ line="1078">Get the release date (and possibly time) in form of a string, if available.
+
+For normal GStreamer plugin releases this will usually just be a date in
+the form of "YYYY-MM-DD", while pre-releases and builds from git may contain
+a time component after the date as well, in which case the string will be
+formatted like "YYYY-MM-DDTHH:MMZ" (e.g. "2012-04-30T09:30Z").
+
+There may be plugins that do not have a valid release date set on them.</doc>
+ <source-position filename="gst/gstplugin.h" line="363"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.c"
+ line="1091">the date string of the plugin, or %NULL if not
+available.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="plugin" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.c"
+ line="1080">plugin to get the release date of</doc>
+ <type name="Plugin" c:type="GstPlugin*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_source" c:identifier="gst_plugin_get_source">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.c"
+ line="1030">get the source module the plugin belongs to.</doc>
+ <source-position filename="gst/gstplugin.h" line="354"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.c"
+ line="1036">the source of the plugin</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="plugin" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.c"
+ line="1032">plugin to get the source of</doc>
+ <type name="Plugin" c:type="GstPlugin*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_version" c:identifier="gst_plugin_get_version">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.c"
+ line="998">get the version of the plugin</doc>
+ <source-position filename="gst/gstplugin.h" line="348"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.c"
+ line="1004">the version of the plugin</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="plugin" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.c"
+ line="1000">plugin to get the version of</doc>
+ <type name="Plugin" c:type="GstPlugin*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="is_loaded" c:identifier="gst_plugin_is_loaded">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.c"
+ line="1102">queries if the plugin is loaded into memory</doc>
+ <source-position filename="gst/gstplugin.h" line="372"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.c"
+ line="1108">%TRUE is loaded, %FALSE otherwise</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="plugin" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.c"
+ line="1104">plugin to query</doc>
+ <type name="Plugin" c:type="GstPlugin*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="load" c:identifier="gst_plugin_load">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.c"
+ line="1355">Loads @plugin. Note that the *return value* is the loaded plugin; @plugin is
+untouched. The normal use pattern of this function goes like this:
+
+|[
+GstPlugin *loaded_plugin;
+loaded_plugin = gst_plugin_load (plugin);
+// presumably, we're no longer interested in the potentially-unloaded plugin
+gst_object_unref (plugin);
+plugin = loaded_plugin;
+]|</doc>
+ <source-position filename="gst/gstplugin.h" line="378"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.c"
+ line="1370">a reference to a loaded plugin, or
+%NULL on error.</doc>
+ <type name="Plugin" c:type="GstPlugin*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="plugin" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.c"
+ line="1357">plugin to load</doc>
+ <type name="Plugin" c:type="GstPlugin*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="set_cache_data" c:identifier="gst_plugin_set_cache_data">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.c"
+ line="1136">Adds plugin specific data to cache. Passes the ownership of the structure to
+the @plugin.
+
+The cache is flushed every time the registry is rebuilt.</doc>
+ <source-position filename="gst/gstplugin.h" line="369"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="plugin" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.c"
+ line="1138">a plugin</doc>
+ <type name="Plugin" c:type="GstPlugin*"/>
+ </instance-parameter>
+ <parameter name="cache_data" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.c"
+ line="1139">a structure containing the data to cache</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </parameter>
+ </parameters>
+ </method>
+ </class>
+ <bitfield name="PluginAPIFlags"
+ version="1.18"
+ glib:type-name="GstPluginAPIFlags"
+ glib:get-type="gst_plugin_api_flags_get_type"
+ c:type="GstPluginAPIFlags">
+ <member name="members"
+ value="1"
+ c:identifier="GST_PLUGIN_API_FLAG_IGNORE_ENUM_MEMBERS"
+ glib:nick="members">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.h"
+ line="1176">Ignore enum members when generating
+ the plugins cache. This is useful if the members of the enum are generated
+ dynamically, in order not to expose incorrect documentation to the end user.</doc>
+ </member>
+ </bitfield>
+ <record name="PluginClass"
+ c:type="GstPluginClass"
+ disguised="1"
+ glib:is-gtype-struct-for="Plugin">
+ <source-position filename="gst/gstplugin.h" line="41"/>
+ </record>
+ <bitfield name="PluginDependencyFlags"
+ glib:type-name="GstPluginDependencyFlags"
+ glib:get-type="gst_plugin_dependency_flags_get_type"
+ c:type="GstPluginDependencyFlags">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.h"
+ line="89">Flags used in connection with gst_plugin_add_dependency().</doc>
+ <member name="none"
+ value="0"
+ c:identifier="GST_PLUGIN_DEPENDENCY_FLAG_NONE"
+ glib:nick="none">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.h"
+ line="91">no special flags</doc>
+ </member>
+ <member name="recurse"
+ value="1"
+ c:identifier="GST_PLUGIN_DEPENDENCY_FLAG_RECURSE"
+ glib:nick="recurse">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.h"
+ line="92">recurse into subdirectories</doc>
+ </member>
+ <member name="paths_are_default_only"
+ value="2"
+ c:identifier="GST_PLUGIN_DEPENDENCY_FLAG_PATHS_ARE_DEFAULT_ONLY"
+ glib:nick="paths-are-default-only">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.h"
+ line="93">use paths
+ argument only if none of the environment variables is set</doc>
+ </member>
+ <member name="file_name_is_suffix"
+ value="4"
+ c:identifier="GST_PLUGIN_DEPENDENCY_FLAG_FILE_NAME_IS_SUFFIX"
+ glib:nick="file-name-is-suffix">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.h"
+ line="95">interpret
+ filename argument as filter suffix and check all matching files in
+ the directory</doc>
+ </member>
+ <member name="file_name_is_prefix"
+ value="8"
+ c:identifier="GST_PLUGIN_DEPENDENCY_FLAG_FILE_NAME_IS_PREFIX"
+ glib:nick="file-name-is-prefix">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.h"
+ line="98">interpret
+ filename argument as filter prefix and check all matching files in
+ the directory. Since: 1.8.</doc>
+ </member>
+ <member name="paths_are_relative_to_exe"
+ value="16"
+ c:identifier="GST_PLUGIN_DEPENDENCY_FLAG_PATHS_ARE_RELATIVE_TO_EXE"
+ glib:nick="paths-are-relative-to-exe">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.h"
+ line="101">interpret
+ non-absolute paths as relative to the main executable directory. Since
+ 1.14.</doc>
+ </member>
+ </bitfield>
+ <record name="PluginDesc" c:type="GstPluginDesc">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.h"
+ line="146">A plugin should export a variable of this type called plugin_desc. The plugin
+loader will use the data provided there to initialize the plugin.
+
+The @licence parameter must be one of: LGPL, GPL, QPL, GPL/QPL, MPL,
+BSD, MIT/X11, Proprietary, unknown.</doc>
+ <source-position filename="gst/gstplugin.h" line="185"/>
+ <field name="major_version" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.h"
+ line="148">the major version number of core that plugin was compiled for</doc>
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="minor_version" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.h"
+ line="149">the minor version number of core that plugin was compiled for</doc>
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="name" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.h"
+ line="150">a unique name of the plugin</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </field>
+ <field name="description" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.h"
+ line="151">description of plugin</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </field>
+ <field name="plugin_init" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.h"
+ line="152">pointer to the init function of this plugin.</doc>
+ <type name="PluginInitFunc" c:type="GstPluginInitFunc"/>
+ </field>
+ <field name="version" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.h"
+ line="153">version of the plugin</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </field>
+ <field name="license" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.h"
+ line="154">effective license of plugin</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </field>
+ <field name="source" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.h"
+ line="155">source module plugin belongs to</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </field>
+ <field name="package" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.h"
+ line="156">shipped package plugin belongs to</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </field>
+ <field name="origin" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.h"
+ line="157">URL to provider of plugin</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </field>
+ <field name="release_datetime" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.h"
+ line="158">date time string in ISO 8601
+ format (or rather, a subset thereof), or %NULL. Allowed are the
+ following formats: "YYYY-MM-DD" and "YYY-MM-DDTHH:MMZ" (with
+ 'T' a separator and 'Z' indicating UTC/Zulu time). This field
+ should be set via the GST_PACKAGE_RELEASE_DATETIME
+ preprocessor macro.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <enumeration name="PluginError"
+ glib:type-name="GstPluginError"
+ glib:get-type="gst_plugin_error_get_type"
+ c:type="GstPluginError"
+ glib:error-domain="gst_plugin_error">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.h"
+ line="61">The plugin loading errors</doc>
+ <member name="module"
+ value="0"
+ c:identifier="GST_PLUGIN_ERROR_MODULE"
+ glib:nick="module">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.h"
+ line="63">The plugin could not be loaded</doc>
+ </member>
+ <member name="dependencies"
+ value="1"
+ c:identifier="GST_PLUGIN_ERROR_DEPENDENCIES"
+ glib:nick="dependencies">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.h"
+ line="64">The plugin has unresolved dependencies</doc>
+ </member>
+ <member name="name_mismatch"
+ value="2"
+ c:identifier="GST_PLUGIN_ERROR_NAME_MISMATCH"
+ glib:nick="name-mismatch">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.h"
+ line="65">The plugin has already be loaded from a different file</doc>
+ </member>
+ <function name="quark" c:identifier="gst_plugin_error_quark">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.h"
+ line="44">Get the error quark.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.h"
+ line="49">The error quark used in GError messages</doc>
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </return-value>
+ </function>
+ </enumeration>
+ <class name="PluginFeature"
+ c:symbol-prefix="plugin_feature"
+ c:type="GstPluginFeature"
+ parent="Object"
+ abstract="1"
+ glib:type-name="GstPluginFeature"
+ glib:get-type="gst_plugin_feature_get_type"
+ glib:type-struct="PluginFeatureClass">
+ <doc xml:space="preserve"
+ filename="gst/gstpluginfeature.c"
+ line="23">This is a base class for anything that can be added to a #GstPlugin.</doc>
+ <source-position filename="gst/gstpluginfeature.h" line="47"/>
+ <function name="list_copy" c:identifier="gst_plugin_feature_list_copy">
+ <doc xml:space="preserve"
+ filename="gst/gstpluginfeature.c"
+ line="248">Copies the list of features. Caller should call @gst_plugin_feature_list_free
+when done with the list.</doc>
+ <source-position filename="gst/gstpluginfeature.h" line="131"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstpluginfeature.c"
+ line="256">a copy of @list,
+ with each feature's reference count incremented.</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="PluginFeature"/>
+ </type>
+ </return-value>
+ <parameters>
+ <parameter name="list" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpluginfeature.c"
+ line="250">list
+ of #GstPluginFeature</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="PluginFeature"/>
+ </type>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="list_debug" c:identifier="gst_plugin_feature_list_debug">
+ <doc xml:space="preserve"
+ filename="gst/gstpluginfeature.c"
+ line="285">Debug the plugin feature names in @list.</doc>
+ <source-position filename="gst/gstpluginfeature.h" line="134"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="list" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpluginfeature.c"
+ line="287">a #GList of
+ plugin features</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="PluginFeature"/>
+ </type>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="list_free" c:identifier="gst_plugin_feature_list_free">
+ <doc xml:space="preserve"
+ filename="gst/gstpluginfeature.c"
+ line="228">Unrefs each member of @list, then frees the list.</doc>
+ <source-position filename="gst/gstpluginfeature.h" line="128"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="list" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstpluginfeature.c"
+ line="230">list
+ of #GstPluginFeature</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="PluginFeature"/>
+ </type>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rank_compare_func"
+ c:identifier="gst_plugin_feature_rank_compare_func">
+ <doc xml:space="preserve"
+ filename="gst/gstpluginfeature.c"
+ line="378">Compares the two given #GstPluginFeature instances. This function can be
+used as a #GCompareFunc when sorting by rank and then by name.</doc>
+ <source-position filename="gst/gstpluginfeature.h" line="155"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpluginfeature.c"
+ line="386">negative value if the rank of p1 &gt; the rank of p2 or the ranks are
+equal but the name of p1 comes before the name of p2; zero if the rank
+and names are equal; positive value if the rank of p1 &lt; the rank of p2 or the
+ranks are equal but the name of p2 comes before the name of p1</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <parameter name="p1"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstpluginfeature.c"
+ line="380">a #GstPluginFeature</doc>
+ <type name="gpointer" c:type="gconstpointer"/>
+ </parameter>
+ <parameter name="p2"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstpluginfeature.c"
+ line="381">a #GstPluginFeature</doc>
+ <type name="gpointer" c:type="gconstpointer"/>
+ </parameter>
+ </parameters>
+ </function>
+ <method name="check_version"
+ c:identifier="gst_plugin_feature_check_version">
+ <doc xml:space="preserve"
+ filename="gst/gstpluginfeature.c"
+ line="304">Checks whether the given plugin feature is at least
+ the required version</doc>
+ <source-position filename="gst/gstpluginfeature.h" line="150"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpluginfeature.c"
+ line="314">%TRUE if the plugin feature has at least
+ the required version, otherwise %FALSE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="feature" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpluginfeature.c"
+ line="306">a feature</doc>
+ <type name="PluginFeature" c:type="GstPluginFeature*"/>
+ </instance-parameter>
+ <parameter name="min_major" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpluginfeature.c"
+ line="307">minimum required major version</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="min_minor" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpluginfeature.c"
+ line="308">minimum required minor version</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="min_micro" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpluginfeature.c"
+ line="309">minimum required micro version</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_plugin" c:identifier="gst_plugin_feature_get_plugin">
+ <doc xml:space="preserve"
+ filename="gst/gstpluginfeature.c"
+ line="184">Get the plugin that provides this feature.</doc>
+ <source-position filename="gst/gstpluginfeature.h" line="122"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstpluginfeature.c"
+ line="190">the plugin that provides this
+ feature, or %NULL. Unref with gst_object_unref() when no
+ longer needed.</doc>
+ <type name="Plugin" c:type="GstPlugin*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="feature" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpluginfeature.c"
+ line="186">a feature</doc>
+ <type name="PluginFeature" c:type="GstPluginFeature*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_plugin_name"
+ c:identifier="gst_plugin_feature_get_plugin_name"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="gst/gstpluginfeature.c"
+ line="205">Get the name of the plugin that provides this feature.</doc>
+ <source-position filename="gst/gstpluginfeature.h" line="125"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstpluginfeature.c"
+ line="211">the name of the plugin that provides this
+ feature, or %NULL if the feature is not associated with a
+ plugin.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="feature" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpluginfeature.c"
+ line="207">a feature</doc>
+ <type name="PluginFeature" c:type="GstPluginFeature*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_rank" c:identifier="gst_plugin_feature_get_rank">
+ <doc xml:space="preserve"
+ filename="gst/gstpluginfeature.c"
+ line="168">Gets the rank of a plugin feature.</doc>
+ <source-position filename="gst/gstpluginfeature.h" line="119"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpluginfeature.c"
+ line="174">The rank of the feature</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="feature" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpluginfeature.c"
+ line="170">a feature</doc>
+ <type name="PluginFeature" c:type="GstPluginFeature*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="load" c:identifier="gst_plugin_feature_load">
+ <doc xml:space="preserve"
+ filename="gst/gstpluginfeature.c"
+ line="77">Loads the plugin containing @feature if it's not already loaded. @feature is
+unaffected; use the return value instead.
+
+Normally this function is used like this:
+|[&lt;!-- language="C" --&gt;
+GstPluginFeature *loaded_feature;
+
+loaded_feature = gst_plugin_feature_load (feature);
+// presumably, we're no longer interested in the potentially-unloaded feature
+gst_object_unref (feature);
+feature = loaded_feature;
+]|</doc>
+ <source-position filename="gst/gstpluginfeature.h" line="113"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstpluginfeature.c"
+ line="94">a reference to the loaded
+feature, or %NULL on error</doc>
+ <type name="PluginFeature" c:type="GstPluginFeature*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="feature" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpluginfeature.c"
+ line="79">the plugin feature to check</doc>
+ <type name="PluginFeature" c:type="GstPluginFeature*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="set_rank" c:identifier="gst_plugin_feature_set_rank">
+ <doc xml:space="preserve"
+ filename="gst/gstpluginfeature.c"
+ line="151">Specifies a rank for a plugin feature, so that autoplugging uses
+the most appropriate feature.</doc>
+ <source-position filename="gst/gstpluginfeature.h" line="116"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="feature" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpluginfeature.c"
+ line="153">feature to rank</doc>
+ <type name="PluginFeature" c:type="GstPluginFeature*"/>
+ </instance-parameter>
+ <parameter name="rank" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpluginfeature.c"
+ line="154">rank value - higher number means more priority rank</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ </class>
+ <record name="PluginFeatureClass"
+ c:type="GstPluginFeatureClass"
+ disguised="1"
+ glib:is-gtype-struct-for="PluginFeature">
+ <source-position filename="gst/gstpluginfeature.h" line="47"/>
+ </record>
+ <callback name="PluginFeatureFilter" c:type="GstPluginFeatureFilter">
+ <doc xml:space="preserve"
+ filename="gst/gstpluginfeature.h"
+ line="92">A function that can be used with e.g. gst_registry_feature_filter()
+to get a list of pluginfeature that match certain criteria.</doc>
+ <source-position filename="gst/gstpluginfeature.h" line="103"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpluginfeature.h"
+ line="101">%TRUE for a positive match, %FALSE otherwise</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="feature" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpluginfeature.h"
+ line="94">the pluginfeature to check</doc>
+ <type name="PluginFeature" c:type="GstPluginFeature*"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1"
+ closure="1">
+ <doc xml:space="preserve"
+ filename="gst/gstpluginfeature.h"
+ line="95">the user_data that has been passed on e.g.
+ gst_registry_feature_filter()</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <callback name="PluginFilter" c:type="GstPluginFilter">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.h"
+ line="299">A function that can be used with e.g. gst_registry_plugin_filter()
+to get a list of plugins that match certain criteria.</doc>
+ <source-position filename="gst/gstplugin.h" line="309"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.h"
+ line="307">%TRUE for a positive match, %FALSE otherwise</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="plugin" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.h"
+ line="301">the plugin to check</doc>
+ <type name="Plugin" c:type="GstPlugin*"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1"
+ closure="1">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.h"
+ line="302">the user_data that has been passed on e.g. gst_registry_plugin_filter()</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <bitfield name="PluginFlags"
+ glib:type-name="GstPluginFlags"
+ glib:get-type="gst_plugin_flags_get_type"
+ c:type="GstPluginFlags">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.h"
+ line="76">The plugin loading state</doc>
+ <member name="cached"
+ value="16"
+ c:identifier="GST_PLUGIN_FLAG_CACHED"
+ glib:nick="cached">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.h"
+ line="78">Temporarily loaded plugins</doc>
+ </member>
+ <member name="blacklisted"
+ value="32"
+ c:identifier="GST_PLUGIN_FLAG_BLACKLISTED"
+ glib:nick="blacklisted">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.h"
+ line="79">The plugin won't be scanned (again)</doc>
+ </member>
+ </bitfield>
+ <callback name="PluginInitFullFunc" c:type="GstPluginInitFullFunc">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.h"
+ line="130">A plugin should provide a pointer to a function of either #GstPluginInitFunc
+or this type in the plugin_desc struct.
+The function will be called by the loader at startup. One would then
+register each #GstPluginFeature. This version allows
+user data to be passed to init function (useful for bindings).</doc>
+ <source-position filename="gst/gstplugin.h" line="144"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.h"
+ line="141">%TRUE if plugin initialised successfully</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="plugin" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.h"
+ line="132">The plugin object</doc>
+ <type name="Plugin" c:type="GstPlugin*"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1"
+ closure="1">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.h"
+ line="133">extra data</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <callback name="PluginInitFunc" c:type="GstPluginInitFunc">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.h"
+ line="116">A plugin should provide a pointer to a function of this type in the
+plugin_desc struct.
+This function will be called by the loader at startup. One would then
+register each #GstPluginFeature.</doc>
+ <source-position filename="gst/gstplugin.h" line="128"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.h"
+ line="125">%TRUE if plugin initialised successfully</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="plugin" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.h"
+ line="118">The plugin object</doc>
+ <type name="Plugin" c:type="GstPlugin*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <record name="Poll" c:type="GstPoll" disguised="1">
+ <doc xml:space="preserve"
+ filename="gst/gstpoll.c"
+ line="24">A #GstPoll keeps track of file descriptors much like fd_set (used with
+select ()) or a struct pollfd array (used with poll ()). Once created with
+gst_poll_new(), the set can be used to wait for file descriptors to be
+readable and/or writable. It is possible to make this wait be controlled
+by specifying %TRUE for the @controllable flag when creating the set (or
+later calling gst_poll_set_controllable()).
+
+New file descriptors are added to the set using gst_poll_add_fd(), and
+removed using gst_poll_remove_fd(). Controlling which file descriptors
+should be waited for to become readable and/or writable are done using
+gst_poll_fd_ctl_read(), gst_poll_fd_ctl_write() and gst_poll_fd_ctl_pri().
+
+Use gst_poll_wait() to wait for the file descriptors to actually become
+readable and/or writable, or to timeout if no file descriptor is available
+in time. The wait can be controlled by calling gst_poll_restart() and
+gst_poll_set_flushing().
+
+Once the file descriptor set has been waited for, one can use
+gst_poll_fd_has_closed() to see if the file descriptor has been closed,
+gst_poll_fd_has_error() to see if it has generated an error,
+gst_poll_fd_can_read() to see if it is possible to read from the file
+descriptor, and gst_poll_fd_can_write() to see if it is possible to
+write to it.</doc>
+ <source-position filename="gst/gstpoll.h" line="39"/>
+ <method name="add_fd" c:identifier="gst_poll_add_fd">
+ <doc xml:space="preserve"
+ filename="gst/gstpoll.c"
+ line="885">Add a file descriptor to the file descriptor set.</doc>
+ <source-position filename="gst/gstpoll.h" line="80"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpoll.c"
+ line="892">%TRUE if the file descriptor was successfully added to the set.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="set" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpoll.c"
+ line="887">a file descriptor set.</doc>
+ <type name="Poll" c:type="GstPoll*"/>
+ </instance-parameter>
+ <parameter name="fd" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpoll.c"
+ line="888">a file descriptor.</doc>
+ <type name="PollFD" c:type="GstPollFD*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="fd_can_read" c:identifier="gst_poll_fd_can_read">
+ <doc xml:space="preserve"
+ filename="gst/gstpoll.c"
+ line="1271">Check if @fd in @set has data to be read.</doc>
+ <source-position filename="gst/gstpoll.h" line="104"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpoll.c"
+ line="1278">%TRUE if the descriptor has data to be read.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="set" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpoll.c"
+ line="1273">a file descriptor set.</doc>
+ <type name="Poll" c:type="const GstPoll*"/>
+ </instance-parameter>
+ <parameter name="fd" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpoll.c"
+ line="1274">a file descriptor.</doc>
+ <type name="PollFD" c:type="GstPollFD*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="fd_can_write" c:identifier="gst_poll_fd_can_write">
+ <doc xml:space="preserve"
+ filename="gst/gstpoll.c"
+ line="1298">Check if @fd in @set can be used for writing.</doc>
+ <source-position filename="gst/gstpoll.h" line="107"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpoll.c"
+ line="1305">%TRUE if the descriptor can be used for writing.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="set" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpoll.c"
+ line="1300">a file descriptor set.</doc>
+ <type name="Poll" c:type="const GstPoll*"/>
+ </instance-parameter>
+ <parameter name="fd" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpoll.c"
+ line="1301">a file descriptor.</doc>
+ <type name="PollFD" c:type="GstPollFD*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="fd_ctl_pri"
+ c:identifier="gst_poll_fd_ctl_pri"
+ version="1.16">
+ <doc xml:space="preserve"
+ filename="gst/gstpoll.c"
+ line="1067">Control whether the descriptor @fd in @set will be monitored for
+exceptional conditions (POLLPRI).
+
+Not implemented on Windows (will just return %FALSE there).</doc>
+ <source-position filename="gst/gstpoll.h" line="92"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpoll.c"
+ line="1078">%TRUE if the descriptor was successfully updated.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="set" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpoll.c"
+ line="1069">a file descriptor set.</doc>
+ <type name="Poll" c:type="GstPoll*"/>
+ </instance-parameter>
+ <parameter name="fd" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpoll.c"
+ line="1070">a file descriptor.</doc>
+ <type name="PollFD" c:type="GstPollFD*"/>
+ </parameter>
+ <parameter name="active" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpoll.c"
+ line="1071">a new status.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="fd_ctl_read" c:identifier="gst_poll_fd_ctl_read">
+ <doc xml:space="preserve"
+ filename="gst/gstpoll.c"
+ line="1038">Control whether the descriptor @fd in @set will be monitored for
+readability.</doc>
+ <source-position filename="gst/gstpoll.h" line="89"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpoll.c"
+ line="1047">%TRUE if the descriptor was successfully updated.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="set" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpoll.c"
+ line="1040">a file descriptor set.</doc>
+ <type name="Poll" c:type="GstPoll*"/>
+ </instance-parameter>
+ <parameter name="fd" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpoll.c"
+ line="1041">a file descriptor.</doc>
+ <type name="PollFD" c:type="GstPollFD*"/>
+ </parameter>
+ <parameter name="active" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpoll.c"
+ line="1042">a new status.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="fd_ctl_write" c:identifier="gst_poll_fd_ctl_write">
+ <doc xml:space="preserve"
+ filename="gst/gstpoll.c"
+ line="959">Control whether the descriptor @fd in @set will be monitored for
+writability.</doc>
+ <source-position filename="gst/gstpoll.h" line="86"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpoll.c"
+ line="968">%TRUE if the descriptor was successfully updated.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="set" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpoll.c"
+ line="961">a file descriptor set.</doc>
+ <type name="Poll" c:type="GstPoll*"/>
+ </instance-parameter>
+ <parameter name="fd" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpoll.c"
+ line="962">a file descriptor.</doc>
+ <type name="PollFD" c:type="GstPollFD*"/>
+ </parameter>
+ <parameter name="active" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpoll.c"
+ line="963">a new status.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="fd_has_closed" c:identifier="gst_poll_fd_has_closed">
+ <doc xml:space="preserve"
+ filename="gst/gstpoll.c"
+ line="1158">Check if @fd in @set has closed the connection.</doc>
+ <source-position filename="gst/gstpoll.h" line="98"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpoll.c"
+ line="1165">%TRUE if the connection was closed.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="set" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpoll.c"
+ line="1160">a file descriptor set.</doc>
+ <type name="Poll" c:type="const GstPoll*"/>
+ </instance-parameter>
+ <parameter name="fd" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpoll.c"
+ line="1161">a file descriptor.</doc>
+ <type name="PollFD" c:type="GstPollFD*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="fd_has_error" c:identifier="gst_poll_fd_has_error">
+ <doc xml:space="preserve"
+ filename="gst/gstpoll.c"
+ line="1200">Check if @fd in @set has an error.</doc>
+ <source-position filename="gst/gstpoll.h" line="101"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpoll.c"
+ line="1207">%TRUE if the descriptor has an error.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="set" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpoll.c"
+ line="1202">a file descriptor set.</doc>
+ <type name="Poll" c:type="const GstPoll*"/>
+ </instance-parameter>
+ <parameter name="fd" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpoll.c"
+ line="1203">a file descriptor.</doc>
+ <type name="PollFD" c:type="GstPollFD*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="fd_has_pri"
+ c:identifier="gst_poll_fd_has_pri"
+ version="1.16">
+ <doc xml:space="preserve"
+ filename="gst/gstpoll.c"
+ line="1340">Check if @fd in @set has an exceptional condition (POLLPRI).
+
+Not implemented on Windows (will just return %FALSE there).</doc>
+ <source-position filename="gst/gstpoll.h" line="110"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpoll.c"
+ line="1349">%TRUE if the descriptor has an exceptional condition.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="set" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpoll.c"
+ line="1342">a file descriptor set.</doc>
+ <type name="Poll" c:type="const GstPoll*"/>
+ </instance-parameter>
+ <parameter name="fd" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpoll.c"
+ line="1343">a file descriptor.</doc>
+ <type name="PollFD" c:type="GstPollFD*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="fd_ignored" c:identifier="gst_poll_fd_ignored">
+ <doc xml:space="preserve"
+ filename="gst/gstpoll.c"
+ line="1120">Mark @fd as ignored so that the next call to gst_poll_wait() will yield
+the same result for @fd as last time. This function must be called if no
+operation (read/write/recv/send/etc.) will be performed on @fd before
+the next call to gst_poll_wait().
+
+The reason why this is needed is because the underlying implementation
+might not allow querying the fd more than once between calls to one of
+the re-enabling operations.</doc>
+ <source-position filename="gst/gstpoll.h" line="95"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="set" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpoll.c"
+ line="1122">a file descriptor set.</doc>
+ <type name="Poll" c:type="GstPoll*"/>
+ </instance-parameter>
+ <parameter name="fd" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpoll.c"
+ line="1123">a file descriptor.</doc>
+ <type name="PollFD" c:type="GstPollFD*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="free" c:identifier="gst_poll_free">
+ <doc xml:space="preserve"
+ filename="gst/gstpoll.c"
+ line="761">Free a file descriptor set.</doc>
+ <source-position filename="gst/gstpoll.h" line="71"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="set" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstpoll.c"
+ line="763">a file descriptor set.</doc>
+ <type name="Poll" c:type="GstPoll*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_read_gpollfd" c:identifier="gst_poll_get_read_gpollfd">
+ <doc xml:space="preserve"
+ filename="gst/gstpoll.c"
+ line="800">Get a GPollFD for the reading part of the control socket. This is useful when
+integrating with a GSource and GMainLoop.</doc>
+ <source-position filename="gst/gstpoll.h" line="74"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="set" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpoll.c"
+ line="802">a #GstPoll</doc>
+ <type name="Poll" c:type="GstPoll*"/>
+ </instance-parameter>
+ <parameter name="fd" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpoll.c"
+ line="803">a #GPollFD</doc>
+ <type name="GLib.PollFD" c:type="GPollFD*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="read_control" c:identifier="gst_poll_read_control">
+ <doc xml:space="preserve"
+ filename="gst/gstpoll.c"
+ line="1764">Read a byte from the control socket of the controllable @set.
+
+This function only works for timer #GstPoll objects created with
+gst_poll_new_timer().</doc>
+ <source-position filename="gst/gstpoll.h" line="128"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpoll.c"
+ line="1773">%TRUE on success. %FALSE when when there was no byte to read or
+reading the byte failed. If there was no byte to read, and only then, errno
+will contain EWOULDBLOCK or EAGAIN. For all other values of errno this always signals a
+critical error.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="set" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpoll.c"
+ line="1766">a #GstPoll.</doc>
+ <type name="Poll" c:type="GstPoll*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="remove_fd" c:identifier="gst_poll_remove_fd">
+ <doc xml:space="preserve"
+ filename="gst/gstpoll.c"
+ line="912">Remove a file descriptor from the file descriptor set.</doc>
+ <source-position filename="gst/gstpoll.h" line="83"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpoll.c"
+ line="919">%TRUE if the file descriptor was successfully removed from the set.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="set" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpoll.c"
+ line="914">a file descriptor set.</doc>
+ <type name="Poll" c:type="GstPoll*"/>
+ </instance-parameter>
+ <parameter name="fd" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpoll.c"
+ line="915">a file descriptor.</doc>
+ <type name="PollFD" c:type="GstPollFD*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="restart" c:identifier="gst_poll_restart">
+ <doc xml:space="preserve"
+ filename="gst/gstpoll.c"
+ line="1674">Restart any gst_poll_wait() that is in progress. This function is typically
+used after adding or removing descriptors to @set.
+
+If @set is not controllable, then this call will have no effect.
+
+This function only works for non-timer #GstPoll objects created with
+gst_poll_new().</doc>
+ <source-position filename="gst/gstpoll.h" line="119"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="set" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpoll.c"
+ line="1676">a #GstPoll.</doc>
+ <type name="Poll" c:type="GstPoll*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="set_controllable" c:identifier="gst_poll_set_controllable">
+ <doc xml:space="preserve"
+ filename="gst/gstpoll.c"
+ line="1647">When @controllable is %TRUE, this function ensures that future calls to
+gst_poll_wait() will be affected by gst_poll_restart() and
+gst_poll_set_flushing().
+
+This function only works for non-timer #GstPoll objects created with
+gst_poll_new().</doc>
+ <source-position filename="gst/gstpoll.h" line="116"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpoll.c"
+ line="1659">%TRUE if the controllability of @set could be updated.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="set" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpoll.c"
+ line="1649">a #GstPoll.</doc>
+ <type name="Poll" c:type="GstPoll*"/>
+ </instance-parameter>
+ <parameter name="controllable" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpoll.c"
+ line="1650">new controllable state.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_flushing" c:identifier="gst_poll_set_flushing">
+ <doc xml:space="preserve"
+ filename="gst/gstpoll.c"
+ line="1699">When @flushing is %TRUE, this function ensures that current and future calls
+to gst_poll_wait() will return -1, with errno set to EBUSY.
+
+Unsetting the flushing state will restore normal operation of @set.
+
+This function only works for non-timer #GstPoll objects created with
+gst_poll_new().</doc>
+ <source-position filename="gst/gstpoll.h" line="122"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="set" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpoll.c"
+ line="1701">a #GstPoll.</doc>
+ <type name="Poll" c:type="GstPoll*"/>
+ </instance-parameter>
+ <parameter name="flushing" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpoll.c"
+ line="1702">new flushing state.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="wait" c:identifier="gst_poll_wait">
+ <doc xml:space="preserve"
+ filename="gst/gstpoll.c"
+ line="1384">Wait for activity on the file descriptors in @set. This function waits up to
+the specified @timeout. A timeout of #GST_CLOCK_TIME_NONE waits forever.
+
+For #GstPoll objects created with gst_poll_new(), this function can only be
+called from a single thread at a time. If called from multiple threads,
+-1 will be returned with errno set to EPERM.
+
+This is not true for timer #GstPoll objects created with
+gst_poll_new_timer(), where it is allowed to have multiple threads waiting
+simultaneously.</doc>
+ <source-position filename="gst/gstpoll.h" line="113"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpoll.c"
+ line="1400">The number of #GstPollFD in @set that have activity or 0 when no
+activity was detected after @timeout. If an error occurs, -1 is returned
+and errno is set.</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="set" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpoll.c"
+ line="1386">a #GstPoll.</doc>
+ <type name="Poll" c:type="GstPoll*"/>
+ </instance-parameter>
+ <parameter name="timeout" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpoll.c"
+ line="1387">a timeout in nanoseconds.</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="write_control" c:identifier="gst_poll_write_control">
+ <doc xml:space="preserve"
+ filename="gst/gstpoll.c"
+ line="1731">Write a byte to the control socket of the controllable @set.
+This function is mostly useful for timer #GstPoll objects created with
+gst_poll_new_timer().
+
+It will make any current and future gst_poll_wait() function return with
+1, meaning the control socket is set. After an equal amount of calls to
+gst_poll_read_control() have been performed, calls to gst_poll_wait() will
+block again until their timeout expired.
+
+This function only works for timer #GstPoll objects created with
+gst_poll_new_timer().</doc>
+ <source-position filename="gst/gstpoll.h" line="125"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpoll.c"
+ line="1747">%TRUE on success. %FALSE when when the byte could not be written.
+errno contains the detailed error code but will never be EAGAIN, EINTR or
+EWOULDBLOCK. %FALSE always signals a critical error.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="set" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpoll.c"
+ line="1733">a #GstPoll.</doc>
+ <type name="Poll" c:type="GstPoll*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <function name="new" c:identifier="gst_poll_new" introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstpoll.c"
+ line="662">Create a new file descriptor set. If @controllable, it
+is possible to restart or flush a call to gst_poll_wait() with
+gst_poll_restart() and gst_poll_set_flushing() respectively.
+
+Free-function: gst_poll_free</doc>
+ <source-position filename="gst/gstpoll.h" line="65"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstpoll.c"
+ line="672">a new #GstPoll, or %NULL in
+ case of an error. Free with gst_poll_free().</doc>
+ <type name="Poll" c:type="GstPoll*"/>
+ </return-value>
+ <parameters>
+ <parameter name="controllable" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpoll.c"
+ line="664">whether it should be possible to control a wait.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="new_timer"
+ c:identifier="gst_poll_new_timer"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstpoll.c"
+ line="731">Create a new poll object that can be used for scheduling cancellable
+timeouts.
+
+A timeout is performed with gst_poll_wait(). Multiple timeouts can be
+performed from different threads.
+
+Free-function: gst_poll_free</doc>
+ <source-position filename="gst/gstpoll.h" line="68"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstpoll.c"
+ line="742">a new #GstPoll, or %NULL in
+ case of an error. Free with gst_poll_free().</doc>
+ <type name="Poll" c:type="GstPoll*"/>
+ </return-value>
+ </function>
+ </record>
+ <record name="PollFD" c:type="GstPollFD">
+ <doc xml:space="preserve"
+ filename="gst/gstpoll.h"
+ line="41">A file descriptor object.</doc>
+ <source-position filename="gst/gstpoll.h" line="52"/>
+ <field name="fd" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstpoll.h"
+ line="43">a file descriptor</doc>
+ <type name="gint" c:type="int"/>
+ </field>
+ <field name="idx" readable="0" private="1">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <method name="init" c:identifier="gst_poll_fd_init">
+ <doc xml:space="preserve"
+ filename="gst/gstpoll.c"
+ line="827">Initializes @fd. Alternatively you can initialize it with
+#GST_POLL_FD_INIT.</doc>
+ <source-position filename="gst/gstpoll.h" line="77"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="fd" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpoll.c"
+ line="829">a #GstPollFD</doc>
+ <type name="PollFD" c:type="GstPollFD*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ </record>
+ <interface name="Preset"
+ c:symbol-prefix="preset"
+ c:type="GstPreset"
+ glib:type-name="GstPreset"
+ glib:get-type="gst_preset_get_type"
+ glib:type-struct="PresetInterface">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="21">This interface offers methods to query and manipulate parameter preset sets.
+A preset is a bunch of property settings, together with meta data and a name.
+The name of a preset serves as key for subsequent method calls to manipulate
+single presets.
+All instances of one type will share the list of presets. The list is created
+on demand, if presets are not used, the list is not created.
+
+The interface comes with a default implementation that serves most plugins.
+Wrapper plugins will override most methods to implement support for the
+native preset format of those wrapped plugins.
+One method that is useful to be overridden is gst_preset_get_property_names().
+With that one can control which properties are saved and in which order.
+When implementing support for read-only presets, one should set the vmethods
+for gst_preset_save_preset() and gst_preset_delete_preset() to %NULL.
+Applications can use gst_preset_is_editable() to check for that.
+
+The default implementation supports presets located in a system directory,
+application specific directory and in the users home directory. When getting
+a list of presets individual presets are read and overlaid in 1) system,
+2) application and 3) user order. Whenever an earlier entry is newer, the
+later entries will be updated. Since 1.8 you can also provide extra paths
+where to find presets through the GST_PRESET_PATH environment variable.
+Presets found in those paths will be considered as "app presets".</doc>
+ <source-position filename="gst/gstpreset.h" line="78"/>
+ <function name="get_app_dir" c:identifier="gst_preset_get_app_dir">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1234">Gets the directory for application specific presets if set by the
+application.</doc>
+ <source-position filename="gst/gstpreset.h" line="111"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1240">the directory or %NULL, don't free or modify
+the string</doc>
+ <type name="filename" c:type="const gchar*"/>
+ </return-value>
+ </function>
+ <function name="set_app_dir" c:identifier="gst_preset_set_app_dir">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1212">Sets an extra directory as an absolute path that should be considered when
+looking for presets. Any presets in the application dir will shadow the
+system presets.</doc>
+ <source-position filename="gst/gstpreset.h" line="108"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1220">%TRUE for success, %FALSE if the dir already has been set</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="app_dir" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1214">the application specific preset dir</doc>
+ <type name="filename" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <virtual-method name="delete_preset" invoker="delete_preset">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1145">Delete the given preset.</doc>
+ <source-position filename="gst/gstpreset.h" line="70"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1152">%TRUE for success, %FALSE if e.g. there is no preset with that @name</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="preset" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1147">a #GObject that implements #GstPreset</doc>
+ <type name="Preset" c:type="GstPreset*"/>
+ </instance-parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1148">preset name to remove</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="get_meta" invoker="get_meta">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1187">Gets the @value for an existing meta data @tag. Meta data @tag names can be
+something like e.g. "comment". Returned values need to be released when done.</doc>
+ <source-position filename="gst/gstpreset.h" line="74"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1197">%TRUE for success, %FALSE if e.g. there is no preset with that @name
+or no value for the given @tag</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="preset" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1189">a #GObject that implements #GstPreset</doc>
+ <type name="Preset" c:type="GstPreset*"/>
+ </instance-parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1190">preset name</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1191">meta data item name</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="value"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1192">value</doc>
+ <type name="utf8" c:type="gchar**"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="get_preset_names" invoker="get_preset_names">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1051">Get a copy of preset names as a %NULL terminated string array.</doc>
+ <source-position filename="gst/gstpreset.h" line="62"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1057">
+ list with names, use g_strfreev() after usage.</doc>
+ <array c:type="gchar**">
+ <type name="utf8"/>
+ </array>
+ </return-value>
+ <parameters>
+ <instance-parameter name="preset" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1053">a #GObject that implements #GstPreset</doc>
+ <type name="Preset" c:type="GstPreset*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="get_property_names" invoker="get_property_names">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1068">Get a the names of the GObject properties that can be used for presets.</doc>
+ <source-position filename="gst/gstpreset.h" line="64"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1074">an
+ array of property names which should be freed with g_strfreev() after use.</doc>
+ <array c:type="gchar**">
+ <type name="utf8"/>
+ </array>
+ </return-value>
+ <parameters>
+ <instance-parameter name="preset" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1070">a #GObject that implements #GstPreset</doc>
+ <type name="Preset" c:type="GstPreset*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="load_preset" invoker="load_preset">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1085">Load the given preset.</doc>
+ <source-position filename="gst/gstpreset.h" line="66"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1092">%TRUE for success, %FALSE if e.g. there is no preset with that @name</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="preset" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1087">a #GObject that implements #GstPreset</doc>
+ <type name="Preset" c:type="GstPreset*"/>
+ </instance-parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1088">preset name to load</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="rename_preset" invoker="rename_preset">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1122">Renames a preset. If there is already a preset by the @new_name it will be
+overwritten.</doc>
+ <source-position filename="gst/gstpreset.h" line="68"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1131">%TRUE for success, %FALSE if e.g. there is no preset with @old_name</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="preset" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1124">a #GObject that implements #GstPreset</doc>
+ <type name="Preset" c:type="GstPreset*"/>
+ </instance-parameter>
+ <parameter name="old_name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1125">current preset name</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="new_name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1126">new preset name</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="save_preset" invoker="save_preset">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1103">Save the current object settings as a preset under the given name. If there
+is already a preset by this @name it will be overwritten.</doc>
+ <source-position filename="gst/gstpreset.h" line="67"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1111">%TRUE for success, %FALSE</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="preset" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1105">a #GObject that implements #GstPreset</doc>
+ <type name="Preset" c:type="GstPreset*"/>
+ </instance-parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1106">preset name to save</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="set_meta" invoker="set_meta">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1163">Sets a new @value for an existing meta data item or adds a new item. Meta
+data @tag names can be something like e.g. "comment". Supplying %NULL for the
+@value will unset an existing value.</doc>
+ <source-position filename="gst/gstpreset.h" line="72"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1174">%TRUE for success, %FALSE if e.g. there is no preset with that @name</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="preset" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1165">a #GObject that implements #GstPreset</doc>
+ <type name="Preset" c:type="GstPreset*"/>
+ </instance-parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1166">preset name</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1167">meta data item name</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="value"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1168">new value</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <method name="delete_preset" c:identifier="gst_preset_delete_preset">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1145">Delete the given preset.</doc>
+ <source-position filename="gst/gstpreset.h" line="99"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1152">%TRUE for success, %FALSE if e.g. there is no preset with that @name</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="preset" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1147">a #GObject that implements #GstPreset</doc>
+ <type name="Preset" c:type="GstPreset*"/>
+ </instance-parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1148">preset name to remove</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_meta" c:identifier="gst_preset_get_meta">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1187">Gets the @value for an existing meta data @tag. Meta data @tag names can be
+something like e.g. "comment". Returned values need to be released when done.</doc>
+ <source-position filename="gst/gstpreset.h" line="105"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1197">%TRUE for success, %FALSE if e.g. there is no preset with that @name
+or no value for the given @tag</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="preset" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1189">a #GObject that implements #GstPreset</doc>
+ <type name="Preset" c:type="GstPreset*"/>
+ </instance-parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1190">preset name</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1191">meta data item name</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="value"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1192">value</doc>
+ <type name="utf8" c:type="gchar**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_preset_names"
+ c:identifier="gst_preset_get_preset_names">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1051">Get a copy of preset names as a %NULL terminated string array.</doc>
+ <source-position filename="gst/gstpreset.h" line="84"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1057">
+ list with names, use g_strfreev() after usage.</doc>
+ <array c:type="gchar**">
+ <type name="utf8"/>
+ </array>
+ </return-value>
+ <parameters>
+ <instance-parameter name="preset" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1053">a #GObject that implements #GstPreset</doc>
+ <type name="Preset" c:type="GstPreset*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_property_names"
+ c:identifier="gst_preset_get_property_names">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1068">Get a the names of the GObject properties that can be used for presets.</doc>
+ <source-position filename="gst/gstpreset.h" line="87"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1074">an
+ array of property names which should be freed with g_strfreev() after use.</doc>
+ <array c:type="gchar**">
+ <type name="utf8"/>
+ </array>
+ </return-value>
+ <parameters>
+ <instance-parameter name="preset" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1070">a #GObject that implements #GstPreset</doc>
+ <type name="Preset" c:type="GstPreset*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="is_editable"
+ c:identifier="gst_preset_is_editable"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1249">Check if one can add new presets, change existing ones and remove presets.</doc>
+ <source-position filename="gst/gstpreset.h" line="114"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1255">%TRUE if presets are editable or %FALSE if they are static</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="preset" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1251">a #GObject that implements #GstPreset</doc>
+ <type name="Preset" c:type="GstPreset*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="load_preset" c:identifier="gst_preset_load_preset">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1085">Load the given preset.</doc>
+ <source-position filename="gst/gstpreset.h" line="90"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1092">%TRUE for success, %FALSE if e.g. there is no preset with that @name</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="preset" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1087">a #GObject that implements #GstPreset</doc>
+ <type name="Preset" c:type="GstPreset*"/>
+ </instance-parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1088">preset name to load</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="rename_preset" c:identifier="gst_preset_rename_preset">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1122">Renames a preset. If there is already a preset by the @new_name it will be
+overwritten.</doc>
+ <source-position filename="gst/gstpreset.h" line="96"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1131">%TRUE for success, %FALSE if e.g. there is no preset with @old_name</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="preset" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1124">a #GObject that implements #GstPreset</doc>
+ <type name="Preset" c:type="GstPreset*"/>
+ </instance-parameter>
+ <parameter name="old_name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1125">current preset name</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="new_name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1126">new preset name</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="save_preset" c:identifier="gst_preset_save_preset">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1103">Save the current object settings as a preset under the given name. If there
+is already a preset by this @name it will be overwritten.</doc>
+ <source-position filename="gst/gstpreset.h" line="93"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1111">%TRUE for success, %FALSE</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="preset" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1105">a #GObject that implements #GstPreset</doc>
+ <type name="Preset" c:type="GstPreset*"/>
+ </instance-parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1106">preset name to save</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_meta" c:identifier="gst_preset_set_meta">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1163">Sets a new @value for an existing meta data item or adds a new item. Meta
+data @tag names can be something like e.g. "comment". Supplying %NULL for the
+@value will unset an existing value.</doc>
+ <source-position filename="gst/gstpreset.h" line="102"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1174">%TRUE for success, %FALSE if e.g. there is no preset with that @name</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="preset" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1165">a #GObject that implements #GstPreset</doc>
+ <type name="Preset" c:type="GstPreset*"/>
+ </instance-parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1166">preset name</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1167">meta data item name</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="value"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1168">new value</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ </interface>
+ <record name="PresetInterface"
+ c:type="GstPresetInterface"
+ glib:is-gtype-struct-for="Preset">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.h"
+ line="43">#GstPreset interface.</doc>
+ <source-position filename="gst/gstpreset.h" line="78"/>
+ <field name="parent">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.h"
+ line="45">parent interface type.</doc>
+ <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
+ </field>
+ <field name="get_preset_names">
+ <callback name="get_preset_names">
+ <source-position filename="gst/gstpreset.h" line="62"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1057">
+ list with names, use g_strfreev() after usage.</doc>
+ <array c:type="gchar**">
+ <type name="utf8"/>
+ </array>
+ </return-value>
+ <parameters>
+ <parameter name="preset" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1053">a #GObject that implements #GstPreset</doc>
+ <type name="Preset" c:type="GstPreset*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="get_property_names">
+ <callback name="get_property_names">
+ <source-position filename="gst/gstpreset.h" line="64"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1074">an
+ array of property names which should be freed with g_strfreev() after use.</doc>
+ <array c:type="gchar**">
+ <type name="utf8"/>
+ </array>
+ </return-value>
+ <parameters>
+ <parameter name="preset" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1070">a #GObject that implements #GstPreset</doc>
+ <type name="Preset" c:type="GstPreset*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="load_preset">
+ <callback name="load_preset">
+ <source-position filename="gst/gstpreset.h" line="66"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1092">%TRUE for success, %FALSE if e.g. there is no preset with that @name</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="preset" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1087">a #GObject that implements #GstPreset</doc>
+ <type name="Preset" c:type="GstPreset*"/>
+ </parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1088">preset name to load</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="save_preset">
+ <callback name="save_preset">
+ <source-position filename="gst/gstpreset.h" line="67"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1111">%TRUE for success, %FALSE</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="preset" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1105">a #GObject that implements #GstPreset</doc>
+ <type name="Preset" c:type="GstPreset*"/>
+ </parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1106">preset name to save</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="rename_preset">
+ <callback name="rename_preset">
+ <source-position filename="gst/gstpreset.h" line="68"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1131">%TRUE for success, %FALSE if e.g. there is no preset with @old_name</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="preset" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1124">a #GObject that implements #GstPreset</doc>
+ <type name="Preset" c:type="GstPreset*"/>
+ </parameter>
+ <parameter name="old_name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1125">current preset name</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="new_name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1126">new preset name</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="delete_preset">
+ <callback name="delete_preset">
+ <source-position filename="gst/gstpreset.h" line="70"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1152">%TRUE for success, %FALSE if e.g. there is no preset with that @name</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="preset" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1147">a #GObject that implements #GstPreset</doc>
+ <type name="Preset" c:type="GstPreset*"/>
+ </parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1148">preset name to remove</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="set_meta">
+ <callback name="set_meta">
+ <source-position filename="gst/gstpreset.h" line="72"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1174">%TRUE for success, %FALSE if e.g. there is no preset with that @name</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="preset" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1165">a #GObject that implements #GstPreset</doc>
+ <type name="Preset" c:type="GstPreset*"/>
+ </parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1166">preset name</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1167">meta data item name</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="value"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1168">new value</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="get_meta">
+ <callback name="get_meta">
+ <source-position filename="gst/gstpreset.h" line="74"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1197">%TRUE for success, %FALSE if e.g. there is no preset with that @name
+or no value for the given @tag</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="preset" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1189">a #GObject that implements #GstPreset</doc>
+ <type name="Preset" c:type="GstPreset*"/>
+ </parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1190">preset name</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1191">meta data item name</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="value"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1192">value</doc>
+ <type name="utf8" c:type="gchar**"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <enumeration name="ProgressType"
+ glib:type-name="GstProgressType"
+ glib:get-type="gst_progress_type_get_type"
+ c:type="GstProgressType">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.h"
+ line="307">The type of a %GST_MESSAGE_PROGRESS. The progress messages inform the
+application of the status of asynchronous tasks.</doc>
+ <member name="start"
+ value="0"
+ c:identifier="GST_PROGRESS_TYPE_START"
+ glib:nick="start">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.h"
+ line="309">A new task started.</doc>
+ </member>
+ <member name="continue"
+ value="1"
+ c:identifier="GST_PROGRESS_TYPE_CONTINUE"
+ glib:nick="continue">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.h"
+ line="310">A task completed and a new one continues.</doc>
+ </member>
+ <member name="complete"
+ value="2"
+ c:identifier="GST_PROGRESS_TYPE_COMPLETE"
+ glib:nick="complete">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.h"
+ line="311">A task completed.</doc>
+ </member>
+ <member name="canceled"
+ value="3"
+ c:identifier="GST_PROGRESS_TYPE_CANCELED"
+ glib:nick="canceled">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.h"
+ line="312">A task was canceled.</doc>
+ </member>
+ <member name="error"
+ value="4"
+ c:identifier="GST_PROGRESS_TYPE_ERROR"
+ glib:nick="error">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.h"
+ line="313">A task caused an error. An error message is also
+ posted on the bus.</doc>
+ </member>
+ </enumeration>
+ <record name="Promise"
+ c:type="GstPromise"
+ version="1.14"
+ glib:type-name="GstPromise"
+ glib:get-type="gst_promise_get_type"
+ c:symbol-prefix="promise">
+ <doc xml:space="preserve"
+ filename="gst/gstpromise.c"
+ line="31">The #GstPromise object implements the container for values that may
+be available later. i.e. a Future or a Promise in
+&lt;https://en.wikipedia.org/wiki/Futures_and_promises&gt;.
+As with all Future/Promise-like functionality, there is the concept of the
+producer of the value and the consumer of the value.
+
+A #GstPromise is created with gst_promise_new() by the consumer and passed
+to the producer to avoid thread safety issues with the change callback.
+A #GstPromise can be replied to with a value (or an error) by the producer
+with gst_promise_reply(). The exact value returned is defined by the API
+contract of the producer and %NULL may be a valid reply.
+gst_promise_interrupt() is for the consumer to
+indicate to the producer that the value is not needed anymore and producing
+that value can stop. The @GST_PROMISE_RESULT_EXPIRED state set by a call
+to gst_promise_expire() indicates to the consumer that a value will never
+be produced and is intended to be called by a third party that implements
+some notion of message handling such as #GstBus.
+A callback can also be installed at #GstPromise creation for
+result changes with gst_promise_new_with_change_func().
+The change callback can be used to chain #GstPromises's together as in the
+following example.
+|[&lt;!-- language="C" --&gt;
+const GstStructure *reply;
+GstPromise *p;
+if (gst_promise_wait (promise) != GST_PROMISE_RESULT_REPLIED)
+ return; // interrupted or expired value
+reply = gst_promise_get_reply (promise);
+if (error in reply)
+ return; // propagate error
+p = gst_promise_new_with_change_func (another_promise_change_func, user_data, notify);
+pass p to promise-using API
+]|
+
+Each #GstPromise starts out with a #GstPromiseResult of
+%GST_PROMISE_RESULT_PENDING and only ever transitions once
+into one of the other #GstPromiseResult's.
+
+In order to support multi-threaded code, gst_promise_reply(),
+gst_promise_interrupt() and gst_promise_expire() may all be from
+different threads with some restrictions and the final result of the promise
+is whichever call is made first. There are two restrictions on ordering:
+
+1. That gst_promise_reply() and gst_promise_interrupt() cannot be called
+after gst_promise_expire()
+2. That gst_promise_reply() and gst_promise_interrupt()
+cannot be called twice.
+
+The change function set with gst_promise_new_with_change_func() is
+called directly from either the gst_promise_reply(),
+gst_promise_interrupt() or gst_promise_expire() and can be called
+from an arbitrary thread. #GstPromise using APIs can restrict this to
+a single thread or a subset of threads but that is entirely up to the API
+that uses #GstPromise.</doc>
+ <source-position filename="gst/gstpromise.h" line="74"/>
+ <field name="parent" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstpromise.h"
+ line="67">parent #GstMiniObject</doc>
+ <type name="MiniObject" c:type="GstMiniObject"/>
+ </field>
+ <constructor name="new" c:identifier="gst_promise_new" version="1.14">
+ <source-position filename="gst/gstpromise.h" line="77"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstpromise.c"
+ line="368">a new #GstPromise</doc>
+ <type name="Promise" c:type="GstPromise*"/>
+ </return-value>
+ </constructor>
+ <constructor name="new_with_change_func"
+ c:identifier="gst_promise_new_with_change_func"
+ version="1.14">
+ <doc xml:space="preserve"
+ filename="gst/gstpromise.c"
+ line="383">@func will be called exactly once when transitioning out of
+%GST_PROMISE_RESULT_PENDING into any of the other #GstPromiseResult
+states.</doc>
+ <source-position filename="gst/gstpromise.h" line="79"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstpromise.c"
+ line="393">a new #GstPromise</doc>
+ <type name="Promise" c:type="GstPromise*"/>
+ </return-value>
+ <parameters>
+ <parameter name="func"
+ transfer-ownership="none"
+ scope="notified"
+ closure="1"
+ destroy="2">
+ <doc xml:space="preserve"
+ filename="gst/gstpromise.c"
+ line="385">a #GstPromiseChangeFunc to call</doc>
+ <type name="PromiseChangeFunc" c:type="GstPromiseChangeFunc"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstpromise.c"
+ line="386">argument to call @func with</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="notify" transfer-ownership="none" scope="async">
+ <doc xml:space="preserve"
+ filename="gst/gstpromise.c"
+ line="387">notification function that @user_data is no longer needed</doc>
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <method name="expire" c:identifier="gst_promise_expire" version="1.14">
+ <doc xml:space="preserve"
+ filename="gst/gstpromise.c"
+ line="285">Expire a @promise. This will wake up any waiters with
+%GST_PROMISE_RESULT_EXPIRED. Called by a message loop when the parent
+message is handled and/or destroyed (possibly unanswered).</doc>
+ <source-position filename="gst/gstpromise.h" line="91"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="promise" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpromise.c"
+ line="287">a #GstPromise</doc>
+ <type name="Promise" c:type="GstPromise*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_reply"
+ c:identifier="gst_promise_get_reply"
+ version="1.14">
+ <doc xml:space="preserve"
+ filename="gst/gstpromise.c"
+ line="216">Retrieve the reply set on @promise. @promise must be in
+%GST_PROMISE_RESULT_REPLIED and the returned structure is owned by @promise</doc>
+ <source-position filename="gst/gstpromise.h" line="94"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstpromise.c"
+ line="223">The reply set on @promise</doc>
+ <type name="Structure" c:type="const GstStructure*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="promise" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpromise.c"
+ line="218">a #GstPromise</doc>
+ <type name="Promise" c:type="GstPromise*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="interrupt"
+ c:identifier="gst_promise_interrupt"
+ version="1.14">
+ <doc xml:space="preserve"
+ filename="gst/gstpromise.c"
+ line="244">Interrupt waiting for a @promise. This will wake up any waiters with
+%GST_PROMISE_RESULT_INTERRUPTED. Called when the consumer does not want
+the value produced anymore.</doc>
+ <source-position filename="gst/gstpromise.h" line="89"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="promise" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpromise.c"
+ line="246">a #GstPromise</doc>
+ <type name="Promise" c:type="GstPromise*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="reply" c:identifier="gst_promise_reply" version="1.14">
+ <doc xml:space="preserve"
+ filename="gst/gstpromise.c"
+ line="149">Set a reply on @promise. This will wake up any waiters with
+%GST_PROMISE_RESULT_REPLIED. Called by the producer of the value to
+indicate success (or failure).
+
+If @promise has already been interrupted by the consumer, then this reply
+is not visible to the consumer.</doc>
+ <source-position filename="gst/gstpromise.h" line="86"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="promise"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstpromise.c"
+ line="151">a #GstPromise</doc>
+ <type name="Promise" c:type="GstPromise*"/>
+ </instance-parameter>
+ <parameter name="s"
+ transfer-ownership="full"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstpromise.c"
+ line="152">a #GstStructure with the the reply contents</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="wait" c:identifier="gst_promise_wait" version="1.14">
+ <doc xml:space="preserve"
+ filename="gst/gstpromise.c"
+ line="115">Wait for @promise to move out of the %GST_PROMISE_RESULT_PENDING state.
+If @promise is not in %GST_PROMISE_RESULT_PENDING then it will return
+immediately with the current result.</doc>
+ <source-position filename="gst/gstpromise.h" line="84"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpromise.c"
+ line="123">the result of the promise</doc>
+ <type name="PromiseResult" c:type="GstPromiseResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="promise" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpromise.c"
+ line="117">a #GstPromise</doc>
+ <type name="Promise" c:type="GstPromise*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ </record>
+ <callback name="PromiseChangeFunc"
+ c:type="GstPromiseChangeFunc"
+ version="1.14">
+ <source-position filename="gst/gstpromise.h" line="63"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="promise" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpromise.h"
+ line="58">a #GstPromise</doc>
+ <type name="Promise" c:type="GstPromise*"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1"
+ closure="1">
+ <doc xml:space="preserve"
+ filename="gst/gstpromise.h"
+ line="59">user data</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <enumeration name="PromiseResult"
+ version="1.14"
+ glib:type-name="GstPromiseResult"
+ glib:get-type="gst_promise_result_get_type"
+ c:type="GstPromiseResult">
+ <doc xml:space="preserve"
+ filename="gst/gstpromise.h"
+ line="34">The result of a #GstPromise</doc>
+ <member name="pending"
+ value="0"
+ c:identifier="GST_PROMISE_RESULT_PENDING"
+ glib:nick="pending">
+ <doc xml:space="preserve"
+ filename="gst/gstpromise.h"
+ line="36">Initial state. Waiting for transition to any
+ other state.</doc>
+ </member>
+ <member name="interrupted"
+ value="1"
+ c:identifier="GST_PROMISE_RESULT_INTERRUPTED"
+ glib:nick="interrupted">
+ <doc xml:space="preserve"
+ filename="gst/gstpromise.h"
+ line="38">Interrupted by the consumer as it doesn't
+ want the value anymore.</doc>
+ </member>
+ <member name="replied"
+ value="2"
+ c:identifier="GST_PROMISE_RESULT_REPLIED"
+ glib:nick="replied">
+ <doc xml:space="preserve"
+ filename="gst/gstpromise.h"
+ line="40">A producer marked a reply</doc>
+ </member>
+ <member name="expired"
+ value="3"
+ c:identifier="GST_PROMISE_RESULT_EXPIRED"
+ glib:nick="expired">
+ <doc xml:space="preserve"
+ filename="gst/gstpromise.h"
+ line="41">The promise expired (the carrying object
+ lost all refs) and the promise will never be fulfilled.</doc>
+ </member>
+ </enumeration>
+ <record name="ProtectionMeta" c:type="GstProtectionMeta" version="1.6">
+ <doc xml:space="preserve"
+ filename="gst/gstprotection.h"
+ line="56">Metadata type that holds information about a sample from a protection-protected
+track, including the information needed to decrypt it (if it is encrypted).</doc>
+ <source-position filename="gst/gstprotection.h" line="71"/>
+ <field name="meta" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstprotection.h"
+ line="58">the parent #GstMeta.</doc>
+ <type name="Meta" c:type="GstMeta"/>
+ </field>
+ <field name="info" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstprotection.h"
+ line="59">the cryptographic information needed to decrypt the sample.</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </field>
+ <function name="get_info" c:identifier="gst_protection_meta_get_info">
+ <source-position filename="gst/gstprotection.h" line="87"/>
+ <return-value transfer-ownership="none">
+ <type name="MetaInfo" c:type="const GstMetaInfo*"/>
+ </return-value>
+ </function>
+ </record>
+ <class name="ProxyPad"
+ c:symbol-prefix="proxy_pad"
+ c:type="GstProxyPad"
+ parent="Pad"
+ glib:type-name="GstProxyPad"
+ glib:get-type="gst_proxy_pad_get_type"
+ glib:type-struct="ProxyPadClass">
+ <source-position filename="gst/gstghostpad.h" line="58"/>
+ <function name="chain_default"
+ c:identifier="gst_proxy_pad_chain_default">
+ <doc xml:space="preserve"
+ filename="gst/gstghostpad.c"
+ line="105">Invoke the default chain function of the proxy pad.</doc>
+ <source-position filename="gst/gstghostpad.h" line="71"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstghostpad.c"
+ line="114">a #GstFlowReturn from the pad.</doc>
+ <type name="FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstghostpad.c"
+ line="107">a sink #GstPad, returns GST_FLOW_ERROR if not.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </parameter>
+ <parameter name="parent"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstghostpad.c"
+ line="108">the parent of @pad or %NULL</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="buffer" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstghostpad.c"
+ line="109">the #GstBuffer to send, return GST_FLOW_ERROR
+ if not.</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="chain_list_default"
+ c:identifier="gst_proxy_pad_chain_list_default">
+ <doc xml:space="preserve"
+ filename="gst/gstghostpad.c"
+ line="133">Invoke the default chain list function of the proxy pad.</doc>
+ <source-position filename="gst/gstghostpad.h" line="74"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstghostpad.c"
+ line="142">a #GstFlowReturn from the pad.</doc>
+ <type name="FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstghostpad.c"
+ line="135">a sink #GstPad, returns GST_FLOW_ERROR if not.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </parameter>
+ <parameter name="parent"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstghostpad.c"
+ line="136">the parent of @pad or %NULL</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="list" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstghostpad.c"
+ line="137">the #GstBufferList to send, return GST_FLOW_ERROR
+ if not.</doc>
+ <type name="BufferList" c:type="GstBufferList*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="getrange_default"
+ c:identifier="gst_proxy_pad_getrange_default">
+ <doc xml:space="preserve"
+ filename="gst/gstghostpad.c"
+ line="161">Invoke the default getrange function of the proxy pad.</doc>
+ <source-position filename="gst/gstghostpad.h" line="77"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstghostpad.c"
+ line="172">a #GstFlowReturn from the pad.</doc>
+ <type name="FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstghostpad.c"
+ line="163">a src #GstPad, returns #GST_FLOW_ERROR if not.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </parameter>
+ <parameter name="parent" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstghostpad.c"
+ line="164">the parent of @pad</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="offset" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstghostpad.c"
+ line="165">The start offset of the buffer</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstghostpad.c"
+ line="166">The length of the buffer</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="buffer"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstghostpad.c"
+ line="167">a pointer to hold the #GstBuffer,
+ returns #GST_FLOW_ERROR if %NULL.</doc>
+ <type name="Buffer" c:type="GstBuffer**"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="iterate_internal_links_default"
+ c:identifier="gst_proxy_pad_iterate_internal_links_default">
+ <doc xml:space="preserve"
+ filename="gst/gstghostpad.c"
+ line="76">Invoke the default iterate internal links function of the proxy pad.</doc>
+ <source-position filename="gst/gstghostpad.h" line="68"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstghostpad.c"
+ line="83">a #GstIterator of #GstPad, or %NULL if @pad
+has no parent. Unref each returned pad with gst_object_unref().</doc>
+ <type name="Iterator" c:type="GstIterator*"/>
+ </return-value>
+ <parameters>
+ <parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstghostpad.c"
+ line="78">the #GstPad to get the internal links of.</doc>
+ <type name="Pad" c:type="GstPad*"/>
+ </parameter>
+ <parameter name="parent"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstghostpad.c"
+ line="79">the parent of @pad or %NULL</doc>
+ <type name="Object" c:type="GstObject*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <method name="get_internal" c:identifier="gst_proxy_pad_get_internal">
+ <doc xml:space="preserve"
+ filename="gst/gstghostpad.c"
+ line="203">Get the internal pad of @pad. Unref target pad after usage.
+
+The internal pad of a #GstGhostPad is the internally used
+pad of opposite direction, which is used to link to the target.</doc>
+ <source-position filename="gst/gstghostpad.h" line="64"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstghostpad.c"
+ line="212">the target #GstProxyPad, can
+be %NULL. Unref target pad after usage.</doc>
+ <type name="ProxyPad" c:type="GstProxyPad*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstghostpad.c"
+ line="205">the #GstProxyPad</doc>
+ <type name="ProxyPad" c:type="GstProxyPad*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <field name="pad">
+ <type name="Pad" c:type="GstPad"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="ProxyPadPrivate" c:type="GstProxyPadPrivate*"/>
+ </field>
+ </class>
+ <record name="ProxyPadClass"
+ c:type="GstProxyPadClass"
+ glib:is-gtype-struct-for="ProxyPad">
+ <source-position filename="gst/gstghostpad.h" line="58"/>
+ <field name="parent_class">
+ <type name="PadClass" c:type="GstPadClass"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="ProxyPadPrivate" c:type="GstProxyPadPrivate" disguised="1">
+ <source-position filename="gst/gstghostpad.h" line="41"/>
+ </record>
+ <enumeration name="QOSType"
+ glib:type-name="GstQOSType"
+ glib:get-type="gst_qos_type_get_type"
+ c:type="GstQOSType">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.h"
+ line="386">The different types of QoS events that can be given to the
+gst_event_new_qos() method.</doc>
+ <member name="overflow"
+ value="0"
+ c:identifier="GST_QOS_TYPE_OVERFLOW"
+ glib:nick="overflow">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.h"
+ line="388">The QoS event type that is produced when upstream
+ elements are producing data too quickly and the element can't keep up
+ processing the data. Upstream should reduce their production rate. This
+ type is also used when buffers arrive early or in time.</doc>
+ </member>
+ <member name="underflow"
+ value="1"
+ c:identifier="GST_QOS_TYPE_UNDERFLOW"
+ glib:nick="underflow">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.h"
+ line="392">The QoS event type that is produced when upstream
+ elements are producing data too slowly and need to speed up their
+ production rate.</doc>
+ </member>
+ <member name="throttle"
+ value="2"
+ c:identifier="GST_QOS_TYPE_THROTTLE"
+ glib:nick="throttle">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.h"
+ line="395">The QoS event type that is produced when the
+ application enabled throttling to limit the data rate.</doc>
+ </member>
+ </enumeration>
+ <function-macro name="QUERY" c:identifier="GST_QUERY" introspectable="0">
+ <source-position filename="gst/gstquery.h" line="136"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="QUERY_CAST"
+ c:identifier="GST_QUERY_CAST"
+ introspectable="0">
+ <source-position filename="gst/gstquery.h" line="135"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="QUERY_IS_DOWNSTREAM"
+ c:identifier="GST_QUERY_IS_DOWNSTREAM"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.h"
+ line="162">Check if an query can travel downstream.</doc>
+ <source-position filename="gst/gstquery.h" line="167"/>
+ <parameters>
+ <parameter name="ev">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.h"
+ line="164">the query to query</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="QUERY_IS_SERIALIZED"
+ c:identifier="GST_QUERY_IS_SERIALIZED"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.h"
+ line="169">Check if an query is serialized with the data stream.</doc>
+ <source-position filename="gst/gstquery.h" line="174"/>
+ <parameters>
+ <parameter name="ev">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.h"
+ line="171">the query to query</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="QUERY_IS_UPSTREAM"
+ c:identifier="GST_QUERY_IS_UPSTREAM"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.h"
+ line="155">Check if an query can travel upstream.</doc>
+ <source-position filename="gst/gstquery.h" line="160"/>
+ <parameters>
+ <parameter name="ev">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.h"
+ line="157">the query to query</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="QUERY_MAKE_TYPE"
+ c:identifier="GST_QUERY_MAKE_TYPE"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.h"
+ line="66">when making custom query types, use this macro with the num and
+the given flags</doc>
+ <source-position filename="gst/gstquery.h" line="73"/>
+ <parameters>
+ <parameter name="num">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.h"
+ line="68">the query number to create</doc>
+ </parameter>
+ <parameter name="flags">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.h"
+ line="69">the query flags</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <constant name="QUERY_NUM_SHIFT" value="8" c:type="GST_QUERY_NUM_SHIFT">
+ <source-position filename="gst/gstquery.h" line="63"/>
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <function-macro name="QUERY_TYPE"
+ c:identifier="GST_QUERY_TYPE"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.h"
+ line="139">Get the #GstQueryType of the query.</doc>
+ <source-position filename="gst/gstquery.h" line="144"/>
+ <parameters>
+ <parameter name="query">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.h"
+ line="141">the query to query</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <constant name="QUERY_TYPE_BOTH" value="3" c:type="GST_QUERY_TYPE_BOTH">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.h"
+ line="56">The same thing as #GST_QUERY_TYPE_UPSTREAM | #GST_QUERY_TYPE_DOWNSTREAM.</doc>
+ <source-position filename="gst/gstquery.h" line="61"/>
+ <type name="QueryTypeFlags" c:type="GstQueryTypeFlags"/>
+ </constant>
+ <function-macro name="QUERY_TYPE_NAME"
+ c:identifier="GST_QUERY_TYPE_NAME"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.h"
+ line="147">Get a constant string representation of the #GstQueryType of the query.</doc>
+ <source-position filename="gst/gstquery.h" line="152"/>
+ <parameters>
+ <parameter name="query">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.h"
+ line="149">the query to query</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <record name="Query"
+ c:type="GstQuery"
+ glib:type-name="GstQuery"
+ glib:get-type="gst_query_get_type"
+ c:symbol-prefix="query">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="24">Queries can be performed on pads (gst_pad_query()) and elements
+(gst_element_query()). Please note that some queries might need a running
+pipeline to work.
+
+Queries can be created using the gst_query_new_*() functions.
+Query values can be set using gst_query_set_*(), and parsed using
+gst_query_parse_*() helpers.
+
+The following example shows how to query the duration of a pipeline:
+|[&lt;!-- language="C" --&gt;
+ GstQuery *query;
+ gboolean res;
+ query = gst_query_new_duration (GST_FORMAT_TIME);
+ res = gst_element_query (pipeline, query);
+ if (res) {
+ gint64 duration;
+ gst_query_parse_duration (query, NULL, &amp;amp;duration);
+ g_print ("duration = %"GST_TIME_FORMAT, GST_TIME_ARGS (duration));
+ } else {
+ g_print ("duration query failed...");
+ }
+ gst_query_unref (query);
+]|</doc>
+ <source-position filename="gst/gstquery.h" line="191"/>
+ <field name="mini_object" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.h"
+ line="180">The parent #GstMiniObject type</doc>
+ <type name="MiniObject" c:type="GstMiniObject"/>
+ </field>
+ <field name="type" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.h"
+ line="181">the #GstQueryType</doc>
+ <type name="QueryType" c:type="GstQueryType"/>
+ </field>
+ <constructor name="new_accept_caps"
+ c:identifier="gst_query_new_accept_caps">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="2326">Constructs a new query object for querying if @caps are accepted.
+
+Free-function: gst_query_unref()</doc>
+ <source-position filename="gst/gstquery.h" line="650"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="2334">a new #GstQuery</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </return-value>
+ <parameters>
+ <parameter name="caps" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="2328">a fixed #GstCaps</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_allocation"
+ c:identifier="gst_query_new_allocation">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1533">Constructs a new query object for querying the allocation properties.
+
+Free-function: gst_query_unref()</doc>
+ <source-position filename="gst/gstquery.h" line="534"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1542">a new #GstQuery</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </return-value>
+ <parameters>
+ <parameter name="caps" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1535">the negotiated caps</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </parameter>
+ <parameter name="need_pool" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1536">return a pool</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_bitrate"
+ c:identifier="gst_query_new_bitrate"
+ version="1.16">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="2659">Constructs a new query object for querying the bitrate.
+
+Free-function: gst_query_unref()</doc>
+ <source-position filename="gst/gstquery.h" line="697"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="2666">a new #GstQuery</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </return-value>
+ </constructor>
+ <constructor name="new_buffering" c:identifier="gst_query_new_buffering">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1031">Constructs a new query object for querying the buffering status of
+a stream.
+
+Free-function: gst_query_unref()</doc>
+ <source-position filename="gst/gstquery.h" line="468"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1040">a new #GstQuery</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </return-value>
+ <parameters>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1033">the default #GstFormat for the new query</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_caps" c:identifier="gst_query_new_caps">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="2412">Constructs a new query object for querying the caps.
+
+The CAPS query should return the allowable caps for a pad in the context
+of the element's state, its link to other elements, and the devices or files
+it has opened. These caps must be a subset of the pad template caps. In the
+NULL state with no links, the CAPS query should ideally return the same caps
+as the pad template. In rare circumstances, an object property can affect
+the caps returned by the CAPS query, but this is discouraged.
+
+For most filters, the caps returned by CAPS query is directly affected by the
+allowed caps on other pads. For demuxers and decoders, the caps returned by
+the srcpad's getcaps function is directly related to the stream data. Again,
+the CAPS query should return the most specific caps it reasonably can, since this
+helps with autoplugging.
+
+The @filter is used to restrict the result caps, only the caps matching
+@filter should be returned from the CAPS query. Specifying a filter might
+greatly reduce the amount of processing an element needs to do.
+
+Free-function: gst_query_unref()</doc>
+ <source-position filename="gst/gstquery.h" line="664"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="2437">a new #GstQuery</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </return-value>
+ <parameters>
+ <parameter name="filter" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="2414">a filter</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_context"
+ c:identifier="gst_query_new_context"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="2549">Constructs a new query object for querying the pipeline-local context.
+
+Free-function: gst_query_unref()</doc>
+ <source-position filename="gst/gstquery.h" line="683"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="2557">a new #GstQuery</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </return-value>
+ <parameters>
+ <parameter name="context_type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="2551">Context type to query</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_convert" c:identifier="gst_query_new_convert">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="460">Constructs a new convert query object. Use gst_query_unref()
+when done with it. A convert query is used to ask for a conversion between
+one format and another.
+
+Free-function: gst_query_unref()</doc>
+ <source-position filename="gst/gstquery.h" line="410"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="472">a #GstQuery</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </return-value>
+ <parameters>
+ <parameter name="src_format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="462">the source #GstFormat for the new query</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="463">the value to convert</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ <parameter name="dest_format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="464">the target #GstFormat</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_custom" c:identifier="gst_query_new_custom">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="660">Constructs a new custom query object. Use gst_query_unref()
+when done with it.
+
+Free-function: gst_query_unref()</doc>
+ <source-position filename="gst/gstquery.h" line="363"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="670">a new #GstQuery</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </return-value>
+ <parameters>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="662">the query type</doc>
+ <type name="QueryType" c:type="GstQueryType"/>
+ </parameter>
+ <parameter name="structure"
+ transfer-ownership="full"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="663">a structure for the query</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_drain" c:identifier="gst_query_new_drain">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="2528">Constructs a new query object for querying the drain state.
+
+Free-function: gst_query_unref()</doc>
+ <source-position filename="gst/gstquery.h" line="678"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="2535">a new #GstQuery</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </return-value>
+ </constructor>
+ <constructor name="new_duration" c:identifier="gst_query_new_duration">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="300">Constructs a new stream duration query object to query in the given format.
+Use gst_query_unref() when done with it. A duration query will give the
+total length of the stream.
+
+Free-function: gst_query_unref()</doc>
+ <source-position filename="gst/gstquery.h" line="386"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="310">a new #GstQuery</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </return-value>
+ <parameters>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="302">the #GstFormat for this duration query</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_formats" c:identifier="gst_query_new_formats">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="872">Constructs a new query object for querying formats of
+the stream.
+
+Free-function: gst_query_unref()</doc>
+ <source-position filename="gst/gstquery.h" line="451"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="880">a new #GstQuery</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </return-value>
+ </constructor>
+ <constructor name="new_latency" c:identifier="gst_query_new_latency">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="377">Constructs a new latency query object.
+Use gst_query_unref() when done with it. A latency query is usually performed
+by sinks to compensate for additional latency introduced by elements in the
+pipeline.
+
+Free-function: gst_query_unref()</doc>
+ <source-position filename="gst/gstquery.h" line="397"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="387">a #GstQuery</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </return-value>
+ </constructor>
+ <constructor name="new_position" c:identifier="gst_query_new_position">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="221">Constructs a new query stream position query object. Use gst_query_unref()
+when done with it. A position query is used to query the current position
+of playback in the streams, in some format.
+
+Free-function: gst_query_unref()</doc>
+ <source-position filename="gst/gstquery.h" line="375"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="231">a new #GstQuery</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </return-value>
+ <parameters>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="223">the default #GstFormat for the new query</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_scheduling"
+ c:identifier="gst_query_new_scheduling">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="2112">Constructs a new query object for querying the scheduling properties.
+
+Free-function: gst_query_unref()</doc>
+ <source-position filename="gst/gstquery.h" line="621"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="2119">a new #GstQuery</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </return-value>
+ </constructor>
+ <constructor name="new_seeking" c:identifier="gst_query_new_seeking">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="755">Constructs a new query object for querying seeking properties of
+the stream.
+
+Free-function: gst_query_unref()</doc>
+ <source-position filename="gst/gstquery.h" line="435"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="764">a new #GstQuery</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </return-value>
+ <parameters>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="757">the default #GstFormat for the new query</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_segment" c:identifier="gst_query_new_segment">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="557">Constructs a new segment query object. Use gst_query_unref()
+when done with it. A segment query is used to discover information about the
+currently configured segment for playback.
+
+Free-function: gst_query_unref()</doc>
+ <source-position filename="gst/gstquery.h" line="422"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="567">a new #GstQuery</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </return-value>
+ <parameters>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="559">the #GstFormat for the new query</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_uri" c:identifier="gst_query_new_uri">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1363">Constructs a new query URI query object. Use gst_query_unref()
+when done with it. An URI query is used to query the current URI
+that is used by the source or sink.
+
+Free-function: gst_query_unref()</doc>
+ <source-position filename="gst/gstquery.h" line="511"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1372">a new #GstQuery</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </return-value>
+ </constructor>
+ <method name="add_allocation_meta"
+ c:identifier="gst_query_add_allocation_meta">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1781">Add @api with @params as one of the supported metadata API to @query.</doc>
+ <source-position filename="gst/gstquery.h" line="589"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="query" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1783">a GST_QUERY_ALLOCATION type query #GstQuery</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </instance-parameter>
+ <parameter name="api" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1784">the metadata API</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ <parameter name="params"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1785">API specific parameters</doc>
+ <type name="Structure" c:type="const GstStructure*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_allocation_param"
+ c:identifier="gst_query_add_allocation_param">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1950">Add @allocator and its @params as a supported memory allocator.</doc>
+ <source-position filename="gst/gstquery.h" line="567"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="query" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1952">a GST_QUERY_ALLOCATION type query #GstQuery</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </instance-parameter>
+ <parameter name="allocator"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1953">the memory allocator</doc>
+ <type name="Allocator" c:type="GstAllocator*"/>
+ </parameter>
+ <parameter name="params"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1954">a #GstAllocationParams</doc>
+ <type name="AllocationParams" c:type="const GstAllocationParams*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_allocation_pool"
+ c:identifier="gst_query_add_allocation_pool">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1604">Set the pool parameters in @query.</doc>
+ <source-position filename="gst/gstquery.h" line="542"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="query" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1606">A valid #GstQuery of type GST_QUERY_ALLOCATION.</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </instance-parameter>
+ <parameter name="pool"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1607">the #GstBufferPool</doc>
+ <type name="BufferPool" c:type="GstBufferPool*"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1608">the buffer size</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="min_buffers" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1609">the min buffers</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="max_buffers" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1610">the max buffers</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_buffering_range"
+ c:identifier="gst_query_add_buffering_range">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1255">Set the buffering-ranges array field in @query. The current last
+start position of the array should be inferior to @start.</doc>
+ <source-position filename="gst/gstquery.h" line="497"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1264">a #gboolean indicating if the range was added or not.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="query" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1257">a GST_QUERY_BUFFERING type query #GstQuery</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </instance-parameter>
+ <parameter name="start" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1258">start position of the range</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ <parameter name="stop" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1259">stop position of the range</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_scheduling_mode"
+ c:identifier="gst_query_add_scheduling_mode">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="2190">Add @mode as one of the supported scheduling modes to @query.</doc>
+ <source-position filename="gst/gstquery.h" line="632"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="query" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="2192">a GST_QUERY_SCHEDULING type query #GstQuery</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </instance-parameter>
+ <parameter name="mode" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="2193">a #GstPadMode</doc>
+ <type name="PadMode" c:type="GstPadMode"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="copy" c:identifier="gst_query_copy" introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.h"
+ line="280">Copies the given query using the copy function of the parent #GstStructure.
+
+Free-function: gst_query_unref</doc>
+ <source-position filename="gst/gstquery.h" line="290"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.h"
+ line="288">a new copy of @q.</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="q" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.h"
+ line="282">a #GstQuery to copy.</doc>
+ <type name="Query" c:type="const GstQuery*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="find_allocation_meta"
+ c:identifier="gst_query_find_allocation_meta">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1898">Check if @query has metadata @api set. When this function returns %TRUE,
+@index will contain the index where the requested API and the parameters
+can be found.</doc>
+ <source-position filename="gst/gstquery.h" line="602"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1908">%TRUE when @api is in the list of metadata.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="query" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1900">a GST_QUERY_ALLOCATION type query #GstQuery</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </instance-parameter>
+ <parameter name="api" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1901">the metadata API</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ <parameter name="index"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="none"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1902">the index</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_n_allocation_metas"
+ c:identifier="gst_query_get_n_allocation_metas">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1812">Retrieve the number of values currently stored in the
+meta API array of the query's structure.</doc>
+ <source-position filename="gst/gstquery.h" line="592"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1819">the metadata API array size as a #guint.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="query" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1814">a GST_QUERY_ALLOCATION type query #GstQuery</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_n_allocation_params"
+ c:identifier="gst_query_get_n_allocation_params">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1984">Retrieve the number of values currently stored in the
+allocator params array of the query's structure.
+
+If no memory allocator is specified, the downstream element can handle
+the default memory allocator. The first memory allocator in the query
+should be generic and allow mapping to system memory, all following
+allocators should be ordered by preference with the preferred one first.</doc>
+ <source-position filename="gst/gstquery.h" line="571"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1996">the allocator array size as a #guint.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="query" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1986">a GST_QUERY_ALLOCATION type query #GstQuery</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_n_allocation_pools"
+ c:identifier="gst_query_get_n_allocation_pools">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1638">Retrieve the number of values currently stored in the
+pool array of the query's structure.</doc>
+ <source-position filename="gst/gstquery.h" line="547"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1645">the pool array size as a #guint.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="query" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1640">a GST_QUERY_ALLOCATION type query #GstQuery</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_n_buffering_ranges"
+ c:identifier="gst_query_get_n_buffering_ranges">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1299">Retrieve the number of values currently stored in the
+buffered-ranges array of the query's structure.</doc>
+ <source-position filename="gst/gstquery.h" line="501"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1306">the range array size as a #guint.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="query" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1301">a GST_QUERY_BUFFERING type query #GstQuery</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_n_scheduling_modes"
+ c:identifier="gst_query_get_n_scheduling_modes">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="2213">Retrieve the number of values currently stored in the
+scheduling mode array of the query's structure.</doc>
+ <source-position filename="gst/gstquery.h" line="635"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="2220">the scheduling mode array size as a #guint.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="query" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="2215">a GST_QUERY_SCHEDULING type query #GstQuery</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_structure" c:identifier="gst_query_get_structure">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="706">Get the structure of a query.</doc>
+ <source-position filename="gst/gstquery.h" line="367"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="712">the #GstStructure of the query. The
+ structure is still owned by the query and will therefore be freed when the
+ query is unreffed.</doc>
+ <type name="Structure" c:type="const GstStructure*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="query" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="708">a #GstQuery</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="has_scheduling_mode"
+ c:identifier="gst_query_has_scheduling_mode">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="2264">Check if @query has scheduling mode set.
+
+&gt; When checking if upstream supports pull mode, it is usually not
+&gt; enough to just check for GST_PAD_MODE_PULL with this function, you
+&gt; also want to check whether the scheduling flags returned by
+&gt; gst_query_parse_scheduling() have the seeking flag set (meaning
+&gt; random access is supported, not only sequential pulls).</doc>
+ <source-position filename="gst/gstquery.h" line="641"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="2277">%TRUE when @mode is in the list of scheduling modes.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="query" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="2266">a GST_QUERY_SCHEDULING type query #GstQuery</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </instance-parameter>
+ <parameter name="mode" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="2267">the scheduling mode</doc>
+ <type name="PadMode" c:type="GstPadMode"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="has_scheduling_mode_with_flags"
+ c:identifier="gst_query_has_scheduling_mode_with_flags">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="2300">Check if @query has scheduling mode set and @flags is set in
+query scheduling flags.</doc>
+ <source-position filename="gst/gstquery.h" line="644"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="2309">%TRUE when @mode is in the list of scheduling modes
+ and @flags are compatible with query flags.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="query" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="2302">a GST_QUERY_SCHEDULING type query #GstQuery</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </instance-parameter>
+ <parameter name="mode" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="2303">the scheduling mode</doc>
+ <type name="PadMode" c:type="GstPadMode"/>
+ </parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="2304">#GstSchedulingFlags</doc>
+ <type name="SchedulingFlags" c:type="GstSchedulingFlags"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_accept_caps"
+ c:identifier="gst_query_parse_accept_caps">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="2352">Get the caps from @query. The caps remains valid as long as @query remains
+valid.</doc>
+ <source-position filename="gst/gstquery.h" line="653"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="query" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="2354">The query to parse</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </instance-parameter>
+ <parameter name="caps"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="2355">A pointer to the caps</doc>
+ <type name="Caps" c:type="GstCaps**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_accept_caps_result"
+ c:identifier="gst_query_parse_accept_caps_result">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="2393">Parse the result from @query and store in @result.</doc>
+ <source-position filename="gst/gstquery.h" line="659"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="query" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="2395">a GST_QUERY_ACCEPT_CAPS type query #GstQuery</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </instance-parameter>
+ <parameter name="result"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="2396">location for the result</doc>
+ <type name="gboolean" c:type="gboolean*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_allocation"
+ c:identifier="gst_query_parse_allocation">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1559">Parse an allocation query, writing the requested caps in @caps and
+whether a pool is needed in @need_pool, if the respective parameters
+are non-%NULL.
+
+Pool details can be retrieved using gst_query_get_n_allocation_pools() and
+gst_query_parse_nth_allocation_pool().</doc>
+ <source-position filename="gst/gstquery.h" line="537"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="query" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1561">a #GstQuery</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </instance-parameter>
+ <parameter name="caps"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="none"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1562">The #GstCaps</doc>
+ <type name="Caps" c:type="GstCaps**"/>
+ </parameter>
+ <parameter name="need_pool"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1563">Whether a #GstBufferPool is needed</doc>
+ <type name="gboolean" c:type="gboolean*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_bitrate"
+ c:identifier="gst_query_parse_bitrate"
+ version="1.16">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="2706">Get the results of a bitrate query. See also gst_query_set_bitrate().</doc>
+ <source-position filename="gst/gstquery.h" line="703"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="query" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="2708">a GST_QUERY_BITRATE type #GstQuery</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </instance-parameter>
+ <parameter name="nominal_bitrate"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="2709">The resulting bitrate in bits per second</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_buffering_percent"
+ c:identifier="gst_query_parse_buffering_percent">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1091">Get the percentage of buffered data. This is a value between 0 and 100.
+The @busy indicator is %TRUE when the buffering is in progress.</doc>
+ <source-position filename="gst/gstquery.h" line="474"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="query" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1093">A valid #GstQuery of type GST_QUERY_BUFFERING.</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </instance-parameter>
+ <parameter name="busy"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1094">if buffering is busy, or %NULL</doc>
+ <type name="gboolean" c:type="gboolean*"/>
+ </parameter>
+ <parameter name="percent"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1095">a buffering percent, or %NULL</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_buffering_range"
+ c:identifier="gst_query_parse_buffering_range">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1209">Parse an available query, writing the format into @format, and
+other results into the passed parameters, if the respective parameters
+are non-%NULL</doc>
+ <source-position filename="gst/gstquery.h" line="492"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="query" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1211">a GST_QUERY_BUFFERING type query #GstQuery</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </instance-parameter>
+ <parameter name="format"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1212">the format to set for the @segment_start
+ and @segment_end values, or %NULL</doc>
+ <type name="Format" c:type="GstFormat*"/>
+ </parameter>
+ <parameter name="start"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1214">the start to set, or %NULL</doc>
+ <type name="gint64" c:type="gint64*"/>
+ </parameter>
+ <parameter name="stop"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1215">the stop to set, or %NULL</doc>
+ <type name="gint64" c:type="gint64*"/>
+ </parameter>
+ <parameter name="estimated_total"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1216">estimated total amount of download
+ time remaining in milliseconds, or %NULL</doc>
+ <type name="gint64" c:type="gint64*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_buffering_stats"
+ c:identifier="gst_query_parse_buffering_stats">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1144">Extracts the buffering stats values from @query.</doc>
+ <source-position filename="gst/gstquery.h" line="482"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="query" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1146">A valid #GstQuery of type GST_QUERY_BUFFERING.</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </instance-parameter>
+ <parameter name="mode"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1147">a buffering mode, or %NULL</doc>
+ <type name="BufferingMode" c:type="GstBufferingMode*"/>
+ </parameter>
+ <parameter name="avg_in"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1148">the average input rate, or %NULL</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ <parameter name="avg_out"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1149">the average output rat, or %NULL</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ <parameter name="buffering_left"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1150">amount of buffering time left in
+ milliseconds, or %NULL</doc>
+ <type name="gint64" c:type="gint64*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_caps" c:identifier="gst_query_parse_caps">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="2453">Get the filter from the caps @query. The caps remains valid as long as
+@query remains valid.</doc>
+ <source-position filename="gst/gstquery.h" line="667"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="query" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="2455">The query to parse</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </instance-parameter>
+ <parameter name="filter"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="2456">A pointer to the caps filter</doc>
+ <type name="Caps" c:type="GstCaps**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_caps_result"
+ c:identifier="gst_query_parse_caps_result">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="2493">Get the caps result from @query. The caps remains valid as long as
+@query remains valid.</doc>
+ <source-position filename="gst/gstquery.h" line="673"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="query" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="2495">The query to parse</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </instance-parameter>
+ <parameter name="caps"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="2496">A pointer to the caps</doc>
+ <type name="Caps" c:type="GstCaps**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_context"
+ c:identifier="gst_query_parse_context"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="2603">Get the context from the context @query. The context remains valid as long as
+@query remains valid.</doc>
+ <source-position filename="gst/gstquery.h" line="692"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="query" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="2605">The query to parse</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </instance-parameter>
+ <parameter name="context"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="2606">A pointer to store the #GstContext</doc>
+ <type name="Context" c:type="GstContext**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_context_type"
+ c:identifier="gst_query_parse_context_type"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="2630">Parse a context type from an existing GST_QUERY_CONTEXT query.</doc>
+ <source-position filename="gst/gstquery.h" line="686"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="2637">a #gboolean indicating if the parsing succeeded.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="query" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="2632">a GST_QUERY_CONTEXT type query</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </instance-parameter>
+ <parameter name="context_type"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="none"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="2633">the context type, or %NULL</doc>
+ <type name="utf8" c:type="const gchar**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_convert" c:identifier="gst_query_parse_convert">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="518">Parse a convert query answer. Any of @src_format, @src_value, @dest_format,
+and @dest_value may be %NULL, in which case that value is omitted.</doc>
+ <source-position filename="gst/gstquery.h" line="417"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="query" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="520">a #GstQuery</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </instance-parameter>
+ <parameter name="src_format"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="521">the storage for the #GstFormat of the
+ source value, or %NULL</doc>
+ <type name="Format" c:type="GstFormat*"/>
+ </parameter>
+ <parameter name="src_value"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="523">the storage for the source value, or %NULL</doc>
+ <type name="gint64" c:type="gint64*"/>
+ </parameter>
+ <parameter name="dest_format"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="524">the storage for the #GstFormat of the
+ destination value, or %NULL</doc>
+ <type name="Format" c:type="GstFormat*"/>
+ </parameter>
+ <parameter name="dest_value"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="526">the storage for the destination value,
+ or %NULL</doc>
+ <type name="gint64" c:type="gint64*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_duration" c:identifier="gst_query_parse_duration">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="349">Parse a duration query answer. Write the format of the duration into @format,
+and the value into @duration, if the respective variables are non-%NULL.</doc>
+ <source-position filename="gst/gstquery.h" line="392"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="query" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="351">a #GstQuery</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </instance-parameter>
+ <parameter name="format"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="352">the storage for the #GstFormat of the duration
+ value, or %NULL.</doc>
+ <type name="Format" c:type="GstFormat*"/>
+ </parameter>
+ <parameter name="duration"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="354">the storage for the total duration, or %NULL.</doc>
+ <type name="gint64" c:type="gint64*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_latency" c:identifier="gst_query_parse_latency">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="430">Parse a latency query answer.</doc>
+ <source-position filename="gst/gstquery.h" line="404"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="query" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="432">a #GstQuery</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </instance-parameter>
+ <parameter name="live"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="433">storage for live or %NULL</doc>
+ <type name="gboolean" c:type="gboolean*"/>
+ </parameter>
+ <parameter name="min_latency"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="434">the storage for the min latency or %NULL</doc>
+ <type name="ClockTime" c:type="GstClockTime*"/>
+ </parameter>
+ <parameter name="max_latency"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="435">the storage for the max latency or %NULL</doc>
+ <type name="ClockTime" c:type="GstClockTime*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_n_formats" c:identifier="gst_query_parse_n_formats">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="971">Parse the number of formats in the formats @query.</doc>
+ <source-position filename="gst/gstquery.h" line="460"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="query" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="973">a #GstQuery</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </instance-parameter>
+ <parameter name="n_formats"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="974">the number of formats in this query.</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_nth_allocation_meta"
+ c:identifier="gst_query_parse_nth_allocation_meta">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1837">Parse an available query and get the metadata API
+at @index of the metadata API array.</doc>
+ <source-position filename="gst/gstquery.h" line="595"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1846">a #GType of the metadata API at @index.</doc>
+ <type name="GType" c:type="GType"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="query" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1839">a GST_QUERY_ALLOCATION type query #GstQuery</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </instance-parameter>
+ <parameter name="index" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1840">position in the metadata API array to read</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="params"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="none"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1841">API specific parameters</doc>
+ <type name="Structure" c:type="const GstStructure**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_nth_allocation_param"
+ c:identifier="gst_query_parse_nth_allocation_param">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="2013">Parse an available query and get the allocator and its params
+at @index of the allocator array.</doc>
+ <source-position filename="gst/gstquery.h" line="574"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="query" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="2015">a GST_QUERY_ALLOCATION type query #GstQuery</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </instance-parameter>
+ <parameter name="index" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="2016">position in the allocator array to read</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="allocator"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="2017">variable to hold the result</doc>
+ <type name="Allocator" c:type="GstAllocator**"/>
+ </parameter>
+ <parameter name="params"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="2018">parameters for the allocator</doc>
+ <type name="AllocationParams" c:type="GstAllocationParams*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_nth_allocation_pool"
+ c:identifier="gst_query_parse_nth_allocation_pool">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1662">Get the pool parameters in @query.
+
+Unref @pool with gst_object_unref() when it's not needed any more.</doc>
+ <source-position filename="gst/gstquery.h" line="550"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="query" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1664">A valid #GstQuery of type GST_QUERY_ALLOCATION.</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </instance-parameter>
+ <parameter name="index" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1665">index to parse</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="pool"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1666">the #GstBufferPool</doc>
+ <type name="BufferPool" c:type="GstBufferPool**"/>
+ </parameter>
+ <parameter name="size"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1667">the buffer size</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ <parameter name="min_buffers"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1668">the min buffers</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ <parameter name="max_buffers"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1669">the max buffers</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_nth_buffering_range"
+ c:identifier="gst_query_parse_nth_buffering_range">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1324">Parse an available query and get the start and stop values stored
+at the @index of the buffered ranges array.</doc>
+ <source-position filename="gst/gstquery.h" line="504"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1334">a #gboolean indicating if the parsing succeeded.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="query" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1326">a GST_QUERY_BUFFERING type query #GstQuery</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </instance-parameter>
+ <parameter name="index" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1327">position in the buffered-ranges array to read</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="start"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1328">the start position to set, or %NULL</doc>
+ <type name="gint64" c:type="gint64*"/>
+ </parameter>
+ <parameter name="stop"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1329">the stop position to set, or %NULL</doc>
+ <type name="gint64" c:type="gint64*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_nth_format"
+ c:identifier="gst_query_parse_nth_format">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="997">Parse the format query and retrieve the @nth format from it into
+@format. If the list contains less elements than @nth, @format will be
+set to GST_FORMAT_UNDEFINED.</doc>
+ <source-position filename="gst/gstquery.h" line="463"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="query" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="999">a #GstQuery</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </instance-parameter>
+ <parameter name="nth" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1000">the nth format to retrieve.</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="format"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1001">a pointer to store the nth format</doc>
+ <type name="Format" c:type="GstFormat*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_nth_scheduling_mode"
+ c:identifier="gst_query_parse_nth_scheduling_mode">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="2237">Parse an available query and get the scheduling mode
+at @index of the scheduling modes array.</doc>
+ <source-position filename="gst/gstquery.h" line="638"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="2245">a #GstPadMode of the scheduling mode at @index.</doc>
+ <type name="PadMode" c:type="GstPadMode"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="query" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="2239">a GST_QUERY_SCHEDULING type query #GstQuery</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </instance-parameter>
+ <parameter name="index" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="2240">position in the scheduling modes array to read</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_position" c:identifier="gst_query_parse_position">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="272">Parse a position query, writing the format into @format, and the position
+into @cur, if the respective parameters are non-%NULL.</doc>
+ <source-position filename="gst/gstquery.h" line="381"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="query" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="274">a #GstQuery</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </instance-parameter>
+ <parameter name="format"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="275">the storage for the #GstFormat of the
+ position values (may be %NULL)</doc>
+ <type name="Format" c:type="GstFormat*"/>
+ </parameter>
+ <parameter name="cur"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="277">the storage for the current position (may be %NULL)</doc>
+ <type name="gint64" c:type="gint64*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_scheduling"
+ c:identifier="gst_query_parse_scheduling">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="2164">Set the scheduling properties.</doc>
+ <source-position filename="gst/gstquery.h" line="628"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="query" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="2166">A valid #GstQuery of type GST_QUERY_SCHEDULING.</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </instance-parameter>
+ <parameter name="flags"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="2167">#GstSchedulingFlags</doc>
+ <type name="SchedulingFlags" c:type="GstSchedulingFlags*"/>
+ </parameter>
+ <parameter name="minsize"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="2168">the suggested minimum size of pull requests</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ <parameter name="maxsize"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="2169">the suggested maximum size of pull requests:</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ <parameter name="align"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="2170">the suggested alignment of pull requests</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_seeking" c:identifier="gst_query_parse_seeking">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="810">Parse a seeking query, writing the format into @format, and
+other results into the passed parameters, if the respective parameters
+are non-%NULL</doc>
+ <source-position filename="gst/gstquery.h" line="444"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="query" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="812">a GST_QUERY_SEEKING type query #GstQuery</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </instance-parameter>
+ <parameter name="format"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="813">the format to set for the @segment_start
+ and @segment_end values, or %NULL</doc>
+ <type name="Format" c:type="GstFormat*"/>
+ </parameter>
+ <parameter name="seekable"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="815">the seekable flag to set, or %NULL</doc>
+ <type name="gboolean" c:type="gboolean*"/>
+ </parameter>
+ <parameter name="segment_start"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="816">the segment_start to set, or %NULL</doc>
+ <type name="gint64" c:type="gint64*"/>
+ </parameter>
+ <parameter name="segment_end"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="817">the segment_end to set, or %NULL</doc>
+ <type name="gint64" c:type="gint64*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_segment" c:identifier="gst_query_parse_segment">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="622">Parse a segment query answer. Any of @rate, @format, @start_value, and
+@stop_value may be %NULL, which will cause this value to be omitted.
+
+See gst_query_set_segment() for an explanation of the function arguments.</doc>
+ <source-position filename="gst/gstquery.h" line="429"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="query" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="624">a #GstQuery</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </instance-parameter>
+ <parameter name="rate"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="625">the storage for the rate of the segment, or %NULL</doc>
+ <type name="gdouble" c:type="gdouble*"/>
+ </parameter>
+ <parameter name="format"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="626">the storage for the #GstFormat of the values,
+ or %NULL</doc>
+ <type name="Format" c:type="GstFormat*"/>
+ </parameter>
+ <parameter name="start_value"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="628">the storage for the start value, or %NULL</doc>
+ <type name="gint64" c:type="gint64*"/>
+ </parameter>
+ <parameter name="stop_value"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="629">the storage for the stop value, or %NULL</doc>
+ <type name="gint64" c:type="gint64*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_uri" c:identifier="gst_query_parse_uri">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1408">Parse an URI query, writing the URI into @uri as a newly
+allocated string, if the respective parameters are non-%NULL.
+Free the string with g_free() after usage.</doc>
+ <source-position filename="gst/gstquery.h" line="514"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="query" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1410">a #GstQuery</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </instance-parameter>
+ <parameter name="uri"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1411">the storage for the current URI
+ (may be %NULL)</doc>
+ <type name="utf8" c:type="gchar**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_uri_redirection"
+ c:identifier="gst_query_parse_uri_redirection"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1454">Parse an URI query, writing the URI into @uri as a newly
+allocated string, if the respective parameters are non-%NULL.
+Free the string with g_free() after usage.</doc>
+ <source-position filename="gst/gstquery.h" line="520"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="query" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1456">a #GstQuery</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </instance-parameter>
+ <parameter name="uri"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1457">the storage for the redirect URI
+ (may be %NULL)</doc>
+ <type name="utf8" c:type="gchar**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_uri_redirection_permanent"
+ c:identifier="gst_query_parse_uri_redirection_permanent"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1504">Parse an URI query, and set @permanent to %TRUE if there is a redirection
+and it should be considered permanent. If a redirection is permanent,
+applications should update their internal storage of the URI, otherwise
+they should make all future requests to the original URI.</doc>
+ <source-position filename="gst/gstquery.h" line="526"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="query" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1506">a #GstQuery</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </instance-parameter>
+ <parameter name="permanent"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1507">if the URI redirection is permanent
+ (may be %NULL)</doc>
+ <type name="gboolean" c:type="gboolean*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="remove_nth_allocation_meta"
+ c:identifier="gst_query_remove_nth_allocation_meta">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1873">Remove the metadata API at @index of the metadata API array.</doc>
+ <source-position filename="gst/gstquery.h" line="599"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="query" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1875">a GST_QUERY_ALLOCATION type query #GstQuery</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </instance-parameter>
+ <parameter name="index" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1876">position in the metadata API array to remove</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="remove_nth_allocation_param"
+ c:identifier="gst_query_remove_nth_allocation_param"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="2085">Remove the allocation param at @index of the allocation param array.</doc>
+ <source-position filename="gst/gstquery.h" line="584"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="query" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="2087">a GST_QUERY_ALLOCATION type query #GstQuery</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </instance-parameter>
+ <parameter name="index" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="2088">position in the allocation param array to remove</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="remove_nth_allocation_pool"
+ c:identifier="gst_query_remove_nth_allocation_pool"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1741">Remove the allocation pool at @index of the allocation pool array.</doc>
+ <source-position filename="gst/gstquery.h" line="562"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="query" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1743">a GST_QUERY_ALLOCATION type query #GstQuery</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </instance-parameter>
+ <parameter name="index" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1744">position in the allocation pool array to remove</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_accept_caps_result"
+ c:identifier="gst_query_set_accept_caps_result">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="2373">Set @result as the result for the @query.</doc>
+ <source-position filename="gst/gstquery.h" line="656"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="query" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="2375">a GST_QUERY_ACCEPT_CAPS type query #GstQuery</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </instance-parameter>
+ <parameter name="result" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="2376">the result to set</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_bitrate"
+ c:identifier="gst_query_set_bitrate"
+ version="1.16">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="2682">Set the results of a bitrate query. The nominal bitrate is the average
+bitrate expected over the length of the stream as advertised in file
+headers (or similar).</doc>
+ <source-position filename="gst/gstquery.h" line="700"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="query" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="2684">a GST_QUERY_BITRATE type #GstQuery</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </instance-parameter>
+ <parameter name="nominal_bitrate" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="2685">the nominal bitrate in bits per second</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_buffering_percent"
+ c:identifier="gst_query_set_buffering_percent">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1067">Set the percentage of buffered data. This is a value between 0 and 100.
+The @busy indicator is %TRUE when the buffering is in progress.</doc>
+ <source-position filename="gst/gstquery.h" line="471"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="query" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1069">A valid #GstQuery of type GST_QUERY_BUFFERING.</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </instance-parameter>
+ <parameter name="busy" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1070">if buffering is busy</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ <parameter name="percent" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1071">a buffering percent</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_buffering_range"
+ c:identifier="gst_query_set_buffering_range">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1181">Set the available query result fields in @query.</doc>
+ <source-position filename="gst/gstquery.h" line="487"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="query" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1183">a #GstQuery</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </instance-parameter>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1184">the format to set for the @start and @stop values</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ <parameter name="start" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1185">the start to set</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ <parameter name="stop" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1186">the stop to set</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ <parameter name="estimated_total" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1187">estimated total amount of download time remaining in
+ milliseconds</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_buffering_stats"
+ c:identifier="gst_query_set_buffering_stats">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1117">Configures the buffering stats values in @query.</doc>
+ <source-position filename="gst/gstquery.h" line="477"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="query" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1119">A valid #GstQuery of type GST_QUERY_BUFFERING.</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </instance-parameter>
+ <parameter name="mode" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1120">a buffering mode</doc>
+ <type name="BufferingMode" c:type="GstBufferingMode"/>
+ </parameter>
+ <parameter name="avg_in" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1121">the average input rate</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="avg_out" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1122">the average output rate</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="buffering_left" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1123">amount of buffering time left in milliseconds</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_caps_result" c:identifier="gst_query_set_caps_result">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="2474">Set the @caps result in @query.</doc>
+ <source-position filename="gst/gstquery.h" line="670"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="query" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="2476">The query to use</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </instance-parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="2477">A pointer to the caps</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_context"
+ c:identifier="gst_query_set_context"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="2576">Answer a context query by setting the requested context.</doc>
+ <source-position filename="gst/gstquery.h" line="689"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="query" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="2578">a #GstQuery with query type GST_QUERY_CONTEXT</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </instance-parameter>
+ <parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="2579">the requested #GstContext</doc>
+ <type name="Context" c:type="GstContext*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_convert" c:identifier="gst_query_set_convert">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="492">Answer a convert query by setting the requested values.</doc>
+ <source-position filename="gst/gstquery.h" line="413"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="query" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="494">a #GstQuery</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </instance-parameter>
+ <parameter name="src_format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="495">the source #GstFormat</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ <parameter name="src_value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="496">the source value</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ <parameter name="dest_format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="497">the destination #GstFormat</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ <parameter name="dest_value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="498">the destination value</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_duration" c:identifier="gst_query_set_duration">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="327">Answer a duration query by setting the requested value in the given format.</doc>
+ <source-position filename="gst/gstquery.h" line="389"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="query" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="329">a #GstQuery</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </instance-parameter>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="330">the #GstFormat for the duration</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ <parameter name="duration" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="331">the duration of the stream</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_formats"
+ c:identifier="gst_query_set_formats"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="905">Set the formats query result fields in @query. The number of formats passed
+must be equal to @n_formats.</doc>
+ <source-position filename="gst/gstquery.h" line="454"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="query" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="907">a #GstQuery</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </instance-parameter>
+ <parameter name="n_formats" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="908">the number of formats to set.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="..." transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="909">A number of @GstFormats equal to @n_formats.</doc>
+ <varargs/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_formatsv" c:identifier="gst_query_set_formatsv">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="940">Set the formats query result fields in @query. The number of formats passed
+in the @formats array must be equal to @n_formats.</doc>
+ <source-position filename="gst/gstquery.h" line="457"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="query" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="942">a #GstQuery</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </instance-parameter>
+ <parameter name="n_formats" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="943">the number of formats to set.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="formats" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="944">an array containing @n_formats
+ @GstFormat values.</doc>
+ <array length="0" zero-terminated="0" c:type="const GstFormat*">
+ <type name="Format" c:type="GstFormat"/>
+ </array>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_latency" c:identifier="gst_query_set_latency">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="405">Answer a latency query by setting the requested values in the given format.</doc>
+ <source-position filename="gst/gstquery.h" line="400"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="query" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="407">a #GstQuery</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </instance-parameter>
+ <parameter name="live" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="408">if there is a live element upstream</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ <parameter name="min_latency" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="409">the minimal latency of the upstream elements</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="max_latency" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="410">the maximal latency of the upstream elements</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_nth_allocation_param"
+ c:identifier="gst_query_set_nth_allocation_param">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="2047">Parse an available query and get the allocator and its params
+at @index of the allocator array.</doc>
+ <source-position filename="gst/gstquery.h" line="579"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="query" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="2049">a GST_QUERY_ALLOCATION type query #GstQuery</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </instance-parameter>
+ <parameter name="index" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="2050">position in the allocator array to set</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="allocator"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="2051">new allocator to set</doc>
+ <type name="Allocator" c:type="GstAllocator*"/>
+ </parameter>
+ <parameter name="params"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="2052">parameters for the allocator</doc>
+ <type name="AllocationParams" c:type="const GstAllocationParams*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_nth_allocation_pool"
+ c:identifier="gst_query_set_nth_allocation_pool">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1704">Set the pool parameters in @query.</doc>
+ <source-position filename="gst/gstquery.h" line="556"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="query" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1707">A valid #GstQuery of type GST_QUERY_ALLOCATION.</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </instance-parameter>
+ <parameter name="index" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1706">index to modify</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="pool"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1708">the #GstBufferPool</doc>
+ <type name="BufferPool" c:type="GstBufferPool*"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1709">the buffer size</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="min_buffers" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1710">the min buffers</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="max_buffers" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1711">the max buffers</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_position" c:identifier="gst_query_set_position">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="248">Answer a position query by setting the requested value in the given format.</doc>
+ <source-position filename="gst/gstquery.h" line="378"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="query" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="250">a #GstQuery with query type GST_QUERY_POSITION</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </instance-parameter>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="251">the requested #GstFormat</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ <parameter name="cur" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="252">the position to set</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_scheduling" c:identifier="gst_query_set_scheduling">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="2137">Set the scheduling properties.</doc>
+ <source-position filename="gst/gstquery.h" line="624"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="query" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="2139">A valid #GstQuery of type GST_QUERY_SCHEDULING.</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </instance-parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="2140">#GstSchedulingFlags</doc>
+ <type name="SchedulingFlags" c:type="GstSchedulingFlags"/>
+ </parameter>
+ <parameter name="minsize" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="2141">the suggested minimum size of pull requests</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="maxsize" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="2142">the suggested maximum size of pull requests</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="align" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="2143">the suggested alignment of pull requests</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_seeking" c:identifier="gst_query_set_seeking">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="783">Set the seeking query result fields in @query.</doc>
+ <source-position filename="gst/gstquery.h" line="438"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="query" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="785">a #GstQuery</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </instance-parameter>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="786">the format to set for the @segment_start and @segment_end values</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ <parameter name="seekable" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="787">the seekable flag to set</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ <parameter name="segment_start" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="788">the segment_start to set</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ <parameter name="segment_end" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="789">the segment_end to set</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_segment" c:identifier="gst_query_set_segment">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="586">Answer a segment query by setting the requested values. The normal
+playback segment of a pipeline is 0 to duration at the default rate of
+1.0. If a seek was performed on the pipeline to play a different
+segment, this query will return the range specified in the last seek.
+
+@start_value and @stop_value will respectively contain the configured
+playback range start and stop values expressed in @format.
+The values are always between 0 and the duration of the media and
+@start_value &lt;= @stop_value. @rate will contain the playback rate. For
+negative rates, playback will actually happen from @stop_value to
+@start_value.</doc>
+ <source-position filename="gst/gstquery.h" line="425"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="query" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="588">a #GstQuery</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </instance-parameter>
+ <parameter name="rate" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="589">the rate of the segment</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </parameter>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="590">the #GstFormat of the segment values (@start_value and @stop_value)</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ <parameter name="start_value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="591">the start value</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ <parameter name="stop_value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="592">the stop value</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_uri" c:identifier="gst_query_set_uri">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1388">Answer a URI query by setting the requested URI.</doc>
+ <source-position filename="gst/gstquery.h" line="517"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="query" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1390">a #GstQuery with query type GST_QUERY_URI</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </instance-parameter>
+ <parameter name="uri" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1391">the URI to set</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_uri_redirection"
+ c:identifier="gst_query_set_uri_redirection"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1431">Answer a URI query by setting the requested URI redirection.</doc>
+ <source-position filename="gst/gstquery.h" line="523"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="query" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1433">a #GstQuery with query type GST_QUERY_URI</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </instance-parameter>
+ <parameter name="uri" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1434">the URI to set</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_uri_redirection_permanent"
+ c:identifier="gst_query_set_uri_redirection_permanent"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1481">Answer a URI query by setting the requested URI redirection
+to permanent or not.</doc>
+ <source-position filename="gst/gstquery.h" line="529"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="query" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1483">a #GstQuery with query type %GST_QUERY_URI</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </instance-parameter>
+ <parameter name="permanent" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="1484">whether the redirect is permanent or not</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="unref" c:identifier="gst_query_unref" introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.h"
+ line="246">Decreases the refcount of the query. If the refcount reaches 0, the query
+will be freed.</doc>
+ <source-position filename="gst/gstquery.h" line="253"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="q" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.h"
+ line="248">a #GstQuery to decrease the refcount of.</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="writable_structure"
+ c:identifier="gst_query_writable_structure">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="724">Get the structure of a query. This method should be called with a writable
+@query so that the returned structure is guaranteed to be writable.</doc>
+ <source-position filename="gst/gstquery.h" line="370"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="731">the #GstStructure of the query. The structure is
+ still owned by the query and will therefore be freed when the query
+ is unreffed.</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="query" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="726">a #GstQuery</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <function name="replace"
+ c:identifier="gst_query_replace"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.h"
+ line="313">Modifies a pointer to a #GstQuery to point to a different #GstQuery. The
+modification is done atomically (so this is useful for ensuring thread safety
+in some cases), and the reference counts are updated appropriately (the old
+query is unreffed, the new one is reffed).
+
+Either @new_query or the #GstQuery pointed to by @old_query may be %NULL.</doc>
+ <source-position filename="gst/gstquery.h" line="329"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.h"
+ line="327">%TRUE if @new_query was different from @old_query</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="old_query"
+ direction="inout"
+ caller-allocates="0"
+ transfer-ownership="full"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.h"
+ line="315">pointer to a pointer to a
+ #GstQuery to be replaced.</doc>
+ <type name="Query" c:type="GstQuery**"/>
+ </parameter>
+ <parameter name="new_query"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.h"
+ line="317">pointer to a #GstQuery that will
+ replace the query pointed to by @old_query.</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </parameter>
+ </parameters>
+ </function>
+ </record>
+ <enumeration name="QueryType"
+ glib:type-name="GstQueryType"
+ glib:get-type="gst_query_type_get_type"
+ c:type="GstQueryType">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.h"
+ line="80">Standard predefined Query types</doc>
+ <member name="unknown"
+ value="0"
+ c:identifier="GST_QUERY_UNKNOWN"
+ glib:nick="unknown">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.h"
+ line="82">unknown query type</doc>
+ </member>
+ <member name="position"
+ value="2563"
+ c:identifier="GST_QUERY_POSITION"
+ glib:nick="position">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.h"
+ line="83">current position in stream</doc>
+ </member>
+ <member name="duration"
+ value="5123"
+ c:identifier="GST_QUERY_DURATION"
+ glib:nick="duration">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.h"
+ line="84">total duration of the stream</doc>
+ </member>
+ <member name="latency"
+ value="7683"
+ c:identifier="GST_QUERY_LATENCY"
+ glib:nick="latency">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.h"
+ line="85">latency of stream</doc>
+ </member>
+ <member name="jitter"
+ value="10243"
+ c:identifier="GST_QUERY_JITTER"
+ glib:nick="jitter">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.h"
+ line="86">current jitter of stream</doc>
+ </member>
+ <member name="rate"
+ value="12803"
+ c:identifier="GST_QUERY_RATE"
+ glib:nick="rate">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.h"
+ line="87">current rate of the stream</doc>
+ </member>
+ <member name="seeking"
+ value="15363"
+ c:identifier="GST_QUERY_SEEKING"
+ glib:nick="seeking">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.h"
+ line="88">seeking capabilities</doc>
+ </member>
+ <member name="segment"
+ value="17923"
+ c:identifier="GST_QUERY_SEGMENT"
+ glib:nick="segment">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.h"
+ line="89">segment start/stop positions</doc>
+ </member>
+ <member name="convert"
+ value="20483"
+ c:identifier="GST_QUERY_CONVERT"
+ glib:nick="convert">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.h"
+ line="90">convert values between formats</doc>
+ </member>
+ <member name="formats"
+ value="23043"
+ c:identifier="GST_QUERY_FORMATS"
+ glib:nick="formats">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.h"
+ line="91">query supported formats for convert</doc>
+ </member>
+ <member name="buffering"
+ value="28163"
+ c:identifier="GST_QUERY_BUFFERING"
+ glib:nick="buffering">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.h"
+ line="92">query available media for efficient seeking.</doc>
+ </member>
+ <member name="custom"
+ value="30723"
+ c:identifier="GST_QUERY_CUSTOM"
+ glib:nick="custom">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.h"
+ line="93">a custom application or element defined query.</doc>
+ </member>
+ <member name="uri"
+ value="33283"
+ c:identifier="GST_QUERY_URI"
+ glib:nick="uri">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.h"
+ line="94">query the URI of the source or sink.</doc>
+ </member>
+ <member name="allocation"
+ value="35846"
+ c:identifier="GST_QUERY_ALLOCATION"
+ glib:nick="allocation">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.h"
+ line="95">the buffer allocation properties</doc>
+ </member>
+ <member name="scheduling"
+ value="38401"
+ c:identifier="GST_QUERY_SCHEDULING"
+ glib:nick="scheduling">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.h"
+ line="96">the scheduling properties</doc>
+ </member>
+ <member name="accept_caps"
+ value="40963"
+ c:identifier="GST_QUERY_ACCEPT_CAPS"
+ glib:nick="accept-caps">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.h"
+ line="97">the accept caps query</doc>
+ </member>
+ <member name="caps"
+ value="43523"
+ c:identifier="GST_QUERY_CAPS"
+ glib:nick="caps">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.h"
+ line="98">the caps query</doc>
+ </member>
+ <member name="drain"
+ value="46086"
+ c:identifier="GST_QUERY_DRAIN"
+ glib:nick="drain">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.h"
+ line="99">wait till all serialized data is consumed downstream</doc>
+ </member>
+ <member name="context"
+ value="48643"
+ c:identifier="GST_QUERY_CONTEXT"
+ glib:nick="context">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.h"
+ line="100">query the pipeline-local context from
+ downstream or upstream (since 1.2)</doc>
+ </member>
+ <member name="bitrate"
+ value="51202"
+ c:identifier="GST_QUERY_BITRATE"
+ glib:nick="bitrate">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.h"
+ line="102">the bitrate query (since 1.16)</doc>
+ </member>
+ <function name="get_flags" c:identifier="gst_query_type_get_flags">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="169">Gets the #GstQueryTypeFlags associated with @type.</doc>
+ <source-position filename="gst/gstquery.h" line="225"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="175">a #GstQueryTypeFlags.</doc>
+ <type name="QueryTypeFlags" c:type="GstQueryTypeFlags"/>
+ </return-value>
+ <parameters>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="171">a #GstQueryType</doc>
+ <type name="QueryType" c:type="GstQueryType"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="get_name" c:identifier="gst_query_type_get_name">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="129">Get a printable name for the given query type. Do not modify or free.</doc>
+ <source-position filename="gst/gstquery.h" line="218"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="135">a reference to the static name of the query.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="131">the query type</doc>
+ <type name="QueryType" c:type="GstQueryType"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="to_quark" c:identifier="gst_query_type_to_quark">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="149">Get the unique quark for the given query type.</doc>
+ <source-position filename="gst/gstquery.h" line="221"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="155">the quark associated with the query type</doc>
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </return-value>
+ <parameters>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="151">the query type</doc>
+ <type name="QueryType" c:type="GstQueryType"/>
+ </parameter>
+ </parameters>
+ </function>
+ </enumeration>
+ <bitfield name="QueryTypeFlags"
+ glib:type-name="GstQueryTypeFlags"
+ glib:get-type="gst_query_type_flags_get_type"
+ c:type="GstQueryTypeFlags">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.h"
+ line="39">#GstQueryTypeFlags indicate the aspects of the different #GstQueryType
+values. You can get the type flags of a #GstQueryType with the
+gst_query_type_get_flags() function.</doc>
+ <member name="upstream"
+ value="1"
+ c:identifier="GST_QUERY_TYPE_UPSTREAM"
+ glib:nick="upstream">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.h"
+ line="41">Set if the query can travel upstream.</doc>
+ </member>
+ <member name="downstream"
+ value="2"
+ c:identifier="GST_QUERY_TYPE_DOWNSTREAM"
+ glib:nick="downstream">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.h"
+ line="42">Set if the query can travel downstream.</doc>
+ </member>
+ <member name="serialized"
+ value="4"
+ c:identifier="GST_QUERY_TYPE_SERIALIZED"
+ glib:nick="serialized">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.h"
+ line="43">Set if the query should be serialized with data
+ flow.</doc>
+ </member>
+ </bitfield>
+ <function-macro name="READ_UINT16_BE"
+ c:identifier="GST_READ_UINT16_BE"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.h"
+ line="340">Read a 16 bit unsigned integer value in big endian format from the memory buffer.</doc>
+ <source-position filename="gst/gstutils.h" line="354"/>
+ <parameters>
+ <parameter name="data">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.h"
+ line="342">memory location</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="READ_UINT16_LE"
+ c:identifier="GST_READ_UINT16_LE"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.h"
+ line="346">Read a 16 bit unsigned integer value in little endian format from the memory buffer.</doc>
+ <source-position filename="gst/gstutils.h" line="355"/>
+ <parameters>
+ <parameter name="data">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.h"
+ line="348">memory location</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="READ_UINT24_BE"
+ c:identifier="GST_READ_UINT24_BE"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.h"
+ line="310">Read a 24 bit unsigned integer value in big endian format from the memory buffer.</doc>
+ <source-position filename="gst/gstutils.h" line="320"/>
+ <parameters>
+ <parameter name="data">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.h"
+ line="312">memory location</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="READ_UINT24_LE"
+ c:identifier="GST_READ_UINT24_LE"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.h"
+ line="325">Read a 24 bit unsigned integer value in little endian format from the memory buffer.</doc>
+ <source-position filename="gst/gstutils.h" line="335"/>
+ <parameters>
+ <parameter name="data">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.h"
+ line="327">memory location</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="READ_UINT32_BE"
+ c:identifier="GST_READ_UINT32_BE"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.h"
+ line="268">Read a 32 bit unsigned integer value in big endian format from the memory buffer.</doc>
+ <source-position filename="gst/gstutils.h" line="283"/>
+ <parameters>
+ <parameter name="data">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.h"
+ line="270">memory location</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="READ_UINT32_LE"
+ c:identifier="GST_READ_UINT32_LE"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.h"
+ line="275">Read a 32 bit unsigned integer value in little endian format from the memory buffer.</doc>
+ <source-position filename="gst/gstutils.h" line="284"/>
+ <parameters>
+ <parameter name="data">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.h"
+ line="277">memory location</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="READ_UINT64_BE"
+ c:identifier="GST_READ_UINT64_BE"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.h"
+ line="218">Read a 64 bit unsigned integer value in big endian format from the memory buffer.</doc>
+ <source-position filename="gst/gstutils.h" line="233"/>
+ <parameters>
+ <parameter name="data">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.h"
+ line="220">memory location</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="READ_UINT64_LE"
+ c:identifier="GST_READ_UINT64_LE"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.h"
+ line="225">Read a 64 bit unsigned integer value in little endian format from the memory buffer.</doc>
+ <source-position filename="gst/gstutils.h" line="234"/>
+ <parameters>
+ <parameter name="data">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.h"
+ line="227">memory location</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="READ_UINT8"
+ c:identifier="GST_READ_UINT8"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.h"
+ line="377">Read an 8 bit unsigned integer value from the memory buffer.</doc>
+ <source-position filename="gst/gstutils.h" line="383"/>
+ <parameters>
+ <parameter name="data">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.h"
+ line="379">memory location</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="REGISTRY"
+ c:identifier="GST_REGISTRY"
+ introspectable="0">
+ <source-position filename="gst/gstregistry.h" line="34"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="REGISTRY_CLASS"
+ c:identifier="GST_REGISTRY_CLASS"
+ introspectable="0">
+ <source-position filename="gst/gstregistry.h" line="36"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="REGISTRY_GET_CLASS"
+ c:identifier="GST_REGISTRY_GET_CLASS"
+ introspectable="0">
+ <source-position filename="gst/gstregistry.h" line="38"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="ROUND_DOWN_128"
+ c:identifier="GST_ROUND_DOWN_128"
+ version="1.4"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.h"
+ line="957">Rounds an integer value down to the next multiple of 128.</doc>
+ <source-position filename="gst/gstutils.h" line="964"/>
+ <parameters>
+ <parameter name="num">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.h"
+ line="959">integer value to round down</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="ROUND_DOWN_16"
+ c:identifier="GST_ROUND_DOWN_16"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.h"
+ line="936">Rounds an integer value down to the next multiple of 16.</doc>
+ <source-position filename="gst/gstutils.h" line="942"/>
+ <parameters>
+ <parameter name="num">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.h"
+ line="938">integer value to round down</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="ROUND_DOWN_2"
+ c:identifier="GST_ROUND_DOWN_2"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.h"
+ line="915">Rounds an integer value down to the next multiple of 2.</doc>
+ <source-position filename="gst/gstutils.h" line="921"/>
+ <parameters>
+ <parameter name="num">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.h"
+ line="917">integer value to round down</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="ROUND_DOWN_32"
+ c:identifier="GST_ROUND_DOWN_32"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.h"
+ line="943">Rounds an integer value down to the next multiple of 32.</doc>
+ <source-position filename="gst/gstutils.h" line="949"/>
+ <parameters>
+ <parameter name="num">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.h"
+ line="945">integer value to round down</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="ROUND_DOWN_4"
+ c:identifier="GST_ROUND_DOWN_4"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.h"
+ line="922">Rounds an integer value down to the next multiple of 4.</doc>
+ <source-position filename="gst/gstutils.h" line="928"/>
+ <parameters>
+ <parameter name="num">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.h"
+ line="924">integer value to round down</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="ROUND_DOWN_64"
+ c:identifier="GST_ROUND_DOWN_64"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.h"
+ line="950">Rounds an integer value down to the next multiple of 64.</doc>
+ <source-position filename="gst/gstutils.h" line="956"/>
+ <parameters>
+ <parameter name="num">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.h"
+ line="952">integer value to round down</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="ROUND_DOWN_8"
+ c:identifier="GST_ROUND_DOWN_8"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.h"
+ line="929">Rounds an integer value down to the next multiple of 8.</doc>
+ <source-position filename="gst/gstutils.h" line="935"/>
+ <parameters>
+ <parameter name="num">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.h"
+ line="931">integer value to round down</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="ROUND_DOWN_N"
+ c:identifier="GST_ROUND_DOWN_N"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.h"
+ line="965">Rounds an integer value down to the next multiple of @align. @align MUST be a
+power of two.</doc>
+ <source-position filename="gst/gstutils.h" line="973"/>
+ <parameters>
+ <parameter name="num">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.h"
+ line="967">integrer value to round down</doc>
+ </parameter>
+ <parameter name="align">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.h"
+ line="968">a power of two to round down to</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="ROUND_UP_128"
+ c:identifier="GST_ROUND_UP_128"
+ version="1.4"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.h"
+ line="896">Rounds an integer value up to the next multiple of 128.</doc>
+ <source-position filename="gst/gstutils.h" line="903"/>
+ <parameters>
+ <parameter name="num">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.h"
+ line="898">integer value to round up</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="ROUND_UP_16"
+ c:identifier="GST_ROUND_UP_16"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.h"
+ line="875">Rounds an integer value up to the next multiple of 16.</doc>
+ <source-position filename="gst/gstutils.h" line="881"/>
+ <parameters>
+ <parameter name="num">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.h"
+ line="877">integer value to round up</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="ROUND_UP_2"
+ c:identifier="GST_ROUND_UP_2"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.h"
+ line="854">Rounds an integer value up to the next multiple of 2.</doc>
+ <source-position filename="gst/gstutils.h" line="860"/>
+ <parameters>
+ <parameter name="num">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.h"
+ line="856">integer value to round up</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="ROUND_UP_32"
+ c:identifier="GST_ROUND_UP_32"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.h"
+ line="882">Rounds an integer value up to the next multiple of 32.</doc>
+ <source-position filename="gst/gstutils.h" line="888"/>
+ <parameters>
+ <parameter name="num">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.h"
+ line="884">integer value to round up</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="ROUND_UP_4"
+ c:identifier="GST_ROUND_UP_4"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.h"
+ line="861">Rounds an integer value up to the next multiple of 4.</doc>
+ <source-position filename="gst/gstutils.h" line="867"/>
+ <parameters>
+ <parameter name="num">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.h"
+ line="863">integer value to round up</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="ROUND_UP_64"
+ c:identifier="GST_ROUND_UP_64"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.h"
+ line="889">Rounds an integer value up to the next multiple of 64.</doc>
+ <source-position filename="gst/gstutils.h" line="895"/>
+ <parameters>
+ <parameter name="num">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.h"
+ line="891">integer value to round up</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="ROUND_UP_8"
+ c:identifier="GST_ROUND_UP_8"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.h"
+ line="868">Rounds an integer value up to the next multiple of 8.</doc>
+ <source-position filename="gst/gstutils.h" line="874"/>
+ <parameters>
+ <parameter name="num">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.h"
+ line="870">integer value to round up</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="ROUND_UP_N"
+ c:identifier="GST_ROUND_UP_N"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.h"
+ line="904">Rounds an integer value up to the next multiple of @align. @align MUST be a
+power of two.</doc>
+ <source-position filename="gst/gstutils.h" line="912"/>
+ <parameters>
+ <parameter name="num">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.h"
+ line="906">integrer value to round up</doc>
+ </parameter>
+ <parameter name="align">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.h"
+ line="907">a power of two to round up to</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <enumeration name="Rank"
+ glib:type-name="GstRank"
+ glib:get-type="gst_rank_get_type"
+ c:type="GstRank">
+ <doc xml:space="preserve"
+ filename="gst/gstpluginfeature.h"
+ line="49">Element priority ranks. Defines the order in which the autoplugger (or
+similar rank-picking mechanisms, such as e.g. gst_element_make_from_uri())
+will choose this element over an alternative one with the same function.
+
+These constants serve as a rough guidance for defining the rank of a
+#GstPluginFeature. Any value is valid, including values bigger than
+@GST_RANK_PRIMARY.</doc>
+ <member name="none"
+ value="0"
+ c:identifier="GST_RANK_NONE"
+ glib:nick="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpluginfeature.h"
+ line="51">will be chosen last or not at all</doc>
+ </member>
+ <member name="marginal"
+ value="64"
+ c:identifier="GST_RANK_MARGINAL"
+ glib:nick="marginal">
+ <doc xml:space="preserve"
+ filename="gst/gstpluginfeature.h"
+ line="52">unlikely to be chosen</doc>
+ </member>
+ <member name="secondary"
+ value="128"
+ c:identifier="GST_RANK_SECONDARY"
+ glib:nick="secondary">
+ <doc xml:space="preserve"
+ filename="gst/gstpluginfeature.h"
+ line="53">likely to be chosen</doc>
+ </member>
+ <member name="primary"
+ value="256"
+ c:identifier="GST_RANK_PRIMARY"
+ glib:nick="primary">
+ <doc xml:space="preserve"
+ filename="gst/gstpluginfeature.h"
+ line="54">will be chosen first</doc>
+ </member>
+ </enumeration>
+ <record name="ReferenceTimestampMeta"
+ c:type="GstReferenceTimestampMeta"
+ version="1.14">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="758">#GstReferenceTimestampMeta can be used to attach alternative timestamps and
+possibly durations to a #GstBuffer. These are generally not according to
+the pipeline clock and could be e.g. the NTP timestamp when the media was
+captured.
+
+The reference is stored as a #GstCaps in @reference. Examples of valid
+references would be "timestamp/x-drivername-stream" for timestamps that are locally
+generated by some driver named "drivername" when generating the stream,
+e.g. based on a frame counter, or "timestamp/x-ntp, host=pool.ntp.org,
+port=123" for timestamps based on a specific NTP server.</doc>
+ <source-position filename="gst/gstbuffer.h" line="785"/>
+ <field name="parent" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="760">the parent #GstMeta structure</doc>
+ <type name="Meta" c:type="GstMeta"/>
+ </field>
+ <field name="reference" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="761">identifier for the timestamp reference.</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </field>
+ <field name="timestamp" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="762">timestamp</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </field>
+ <field name="duration" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="763">duration, or %GST_CLOCK_TIME_NONE</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </field>
+ <function name="get_info"
+ c:identifier="gst_reference_timestamp_meta_get_info"
+ version="1.14">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="2847">Get the global #GstMetaInfo describing the #GstReferenceTimestampMeta meta.</doc>
+ <source-position filename="gst/gstbuffer.h" line="792"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="2852">The #GstMetaInfo</doc>
+ <type name="MetaInfo" c:type="const GstMetaInfo*"/>
+ </return-value>
+ </function>
+ </record>
+ <class name="Registry"
+ c:symbol-prefix="registry"
+ c:type="GstRegistry"
+ parent="Object"
+ glib:type-name="GstRegistry"
+ glib:get-type="gst_registry_get_type"
+ glib:type-struct="RegistryClass">
+ <doc xml:space="preserve"
+ filename="gst/gstregistry.c"
+ line="24">One registry holds the metadata of a set of plugins.
+
+&lt;emphasis role="bold"&gt;Design:&lt;/emphasis&gt;
+
+The #GstRegistry object is a list of plugins and some functions for dealing
+with them. Each #GstPlugin is matched 1-1 with a file on disk, and may or may
+not be loaded at a given time.
+
+The primary source, at all times, of plugin information is each plugin file
+itself. Thus, if an application wants information about a particular plugin,
+or wants to search for a feature that satisfies given criteria, the primary
+means of doing so is to load every plugin and look at the resulting
+information that is gathered in the default registry. Clearly, this is a time
+consuming process, so we cache information in the registry file. The format
+and location of the cache file is internal to gstreamer.
+
+On startup, plugins are searched for in the plugin search path. The following
+locations are checked in this order:
+
+* location from --gst-plugin-path commandline option.
+* the GST_PLUGIN_PATH environment variable.
+* the GST_PLUGIN_SYSTEM_PATH environment variable.
+* default locations (if GST_PLUGIN_SYSTEM_PATH is not set).
+ Those default locations are:
+ `$XDG_DATA_HOME/gstreamer-$GST_API_VERSION/plugins/`
+ and `$prefix/libs/gstreamer-$GST_API_VERSION/`.
+ [$XDG_DATA_HOME](http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html) defaults to
+ `$HOME/.local/share`.
+
+The registry cache file is loaded from
+`$XDG_CACHE_HOME/gstreamer-$GST_API_VERSION/registry-$ARCH.bin`
+(where $XDG_CACHE_HOME defaults to `$HOME/.cache`) or the file listed in the `GST_REGISTRY`
+env var. One reason to change the registry location is for testing.
+
+For each plugin that is found in the plugin search path, there could be 3
+possibilities for cached information:
+
+ * the cache may not contain information about a given file.
+ * the cache may have stale information.
+ * the cache may have current information.
+
+In the first two cases, the plugin is loaded and the cache updated. In
+addition to these cases, the cache may have entries for plugins that are not
+relevant to the current process. These are marked as not available to the
+current process. If the cache is updated for whatever reason, it is marked
+dirty.
+
+A dirty cache is written out at the end of initialization. Each entry is
+checked to make sure the information is minimally valid. If not, the entry is
+simply dropped.
+
+## Implementation notes:
+
+The "cache" and "registry" are different concepts and can represent
+different sets of plugins. For various reasons, at init time, the cache is
+stored in the default registry, and plugins not relevant to the current
+process are marked with the %GST_PLUGIN_FLAG_CACHED bit. These plugins are
+removed at the end of initialization.</doc>
+ <source-position filename="gst/gstregistry.h" line="58"/>
+ <function name="fork_is_enabled"
+ c:identifier="gst_registry_fork_is_enabled">
+ <doc xml:space="preserve"
+ filename="gst/gstregistry.c"
+ line="1796">By default GStreamer will perform scanning and rebuilding of the
+registry file using a helper child process.
+
+Applications might want to disable this behaviour with the
+gst_registry_fork_set_enabled() function, in which case new plugins
+are scanned (and loaded) into the application process.</doc>
+ <source-position filename="gst/gst.h" line="128"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstregistry.c"
+ line="1806">%TRUE if GStreamer will use the child helper process when
+rebuilding the registry.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </function>
+ <function name="fork_set_enabled"
+ c:identifier="gst_registry_fork_set_enabled">
+ <doc xml:space="preserve"
+ filename="gst/gstregistry.c"
+ line="1815">Applications might want to disable/enable spawning of a child helper process
+when rebuilding the registry. See gst_registry_fork_is_enabled() for more
+information.</doc>
+ <source-position filename="gst/gst.h" line="131"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="enabled" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstregistry.c"
+ line="1817">whether rebuilding the registry can use a temporary child helper process.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="get" c:identifier="gst_registry_get">
+ <doc xml:space="preserve"
+ filename="gst/gstregistry.c"
+ line="322">Retrieves the singleton plugin registry. The caller does not own a
+reference on the registry, as it is alive as long as GStreamer is
+initialized.</doc>
+ <source-position filename="gst/gstregistry.h" line="64"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstregistry.c"
+ line="329">the #GstRegistry.</doc>
+ <type name="Registry" c:type="GstRegistry*"/>
+ </return-value>
+ </function>
+ <method name="add_feature" c:identifier="gst_registry_add_feature">
+ <doc xml:space="preserve"
+ filename="gst/gstregistry.c"
+ line="552">Add the feature to the registry. The feature-added signal will be emitted.
+
+@feature's reference count will be incremented, and any floating
+reference will be removed (see gst_object_ref_sink())</doc>
+ <source-position filename="gst/gstregistry.h" line="81"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstregistry.c"
+ line="562">%TRUE on success.
+
+MT safe.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="registry" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstregistry.c"
+ line="554">the registry to add the plugin to</doc>
+ <type name="Registry" c:type="GstRegistry*"/>
+ </instance-parameter>
+ <parameter name="feature" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstregistry.c"
+ line="555">the feature to add</doc>
+ <type name="PluginFeature" c:type="GstPluginFeature*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_plugin" c:identifier="gst_registry_add_plugin">
+ <doc xml:space="preserve"
+ filename="gst/gstregistry.c"
+ line="418">Add the plugin to the registry. The plugin-added signal will be emitted.
+
+@plugin's reference count will be incremented, and any floating
+reference will be removed (see gst_object_ref_sink())</doc>
+ <source-position filename="gst/gstregistry.h" line="75"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstregistry.c"
+ line="428">%TRUE on success.
+
+MT safe.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="registry" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstregistry.c"
+ line="420">the registry to add the plugin to</doc>
+ <type name="Registry" c:type="GstRegistry*"/>
+ </instance-parameter>
+ <parameter name="plugin" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstregistry.c"
+ line="421">the plugin to add</doc>
+ <type name="Plugin" c:type="GstPlugin*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="check_feature_version"
+ c:identifier="gst_registry_check_feature_version">
+ <doc xml:space="preserve"
+ filename="gst/gstregistry.c"
+ line="1480">Checks whether a plugin feature by the given name exists in
+@registry and whether its version is at least the
+version required.</doc>
+ <source-position filename="gst/gstregistry.h" line="121"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstregistry.c"
+ line="1492">%TRUE if the feature could be found and the version is
+the same as the required version or newer, and %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="registry" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstregistry.c"
+ line="1482">a #GstRegistry</doc>
+ <type name="Registry" c:type="GstRegistry*"/>
+ </instance-parameter>
+ <parameter name="feature_name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstregistry.c"
+ line="1483">the name of the feature (e.g. "oggdemux")</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="min_major" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstregistry.c"
+ line="1484">the minimum major version number</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="min_minor" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstregistry.c"
+ line="1485">the minimum minor version number</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="min_micro" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstregistry.c"
+ line="1486">the minimum micro version number</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="feature_filter" c:identifier="gst_registry_feature_filter">
+ <doc xml:space="preserve"
+ filename="gst/gstregistry.c"
+ line="819">Runs a filter against all features of the plugins in the registry
+and returns a GList with the results.
+If the first flag is set, only the first match is
+returned (as a list with a single object).</doc>
+ <source-position filename="gst/gstregistry.h" line="95"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstregistry.c"
+ line="831">a #GList of
+ #GstPluginFeature. Use gst_plugin_feature_list_free() after usage.
+
+MT safe.</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="PluginFeature"/>
+ </type>
+ </return-value>
+ <parameters>
+ <instance-parameter name="registry" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstregistry.c"
+ line="821">registry to query</doc>
+ <type name="Registry" c:type="GstRegistry*"/>
+ </instance-parameter>
+ <parameter name="filter"
+ transfer-ownership="none"
+ scope="call"
+ closure="2">
+ <doc xml:space="preserve"
+ filename="gst/gstregistry.c"
+ line="822">the filter to use</doc>
+ <type name="PluginFeatureFilter" c:type="GstPluginFeatureFilter"/>
+ </parameter>
+ <parameter name="first" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstregistry.c"
+ line="823">only return first match</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstregistry.c"
+ line="824">user data passed to the filter function</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="find_feature" c:identifier="gst_registry_find_feature">
+ <doc xml:space="preserve"
+ filename="gst/gstregistry.c"
+ line="909">Find the pluginfeature with the given name and type in the registry.</doc>
+ <source-position filename="gst/gstregistry.h" line="112"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstregistry.c"
+ line="917">the pluginfeature with the
+ given name and type or %NULL if the plugin was not
+ found. gst_object_unref() after usage.
+
+MT safe.</doc>
+ <type name="PluginFeature" c:type="GstPluginFeature*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="registry" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstregistry.c"
+ line="911">the registry to search</doc>
+ <type name="Registry" c:type="GstRegistry*"/>
+ </instance-parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstregistry.c"
+ line="912">the pluginfeature name to find</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstregistry.c"
+ line="913">the pluginfeature type to find</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="find_plugin" c:identifier="gst_registry_find_plugin">
+ <doc xml:space="preserve"
+ filename="gst/gstregistry.c"
+ line="874">Find the plugin with the given name in the registry.
+The plugin will be reffed; caller is responsible for unreffing.</doc>
+ <source-position filename="gst/gstregistry.h" line="109"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstregistry.c"
+ line="882">the plugin with the given name
+ or %NULL if the plugin was not found. gst_object_unref() after
+ usage.
+
+MT safe.</doc>
+ <type name="Plugin" c:type="GstPlugin*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="registry" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstregistry.c"
+ line="876">the registry to search</doc>
+ <type name="Registry" c:type="GstRegistry*"/>
+ </instance-parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstregistry.c"
+ line="877">the plugin name to find</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_feature_list"
+ c:identifier="gst_registry_get_feature_list">
+ <doc xml:space="preserve"
+ filename="gst/gstregistry.c"
+ line="942">Retrieves a #GList of #GstPluginFeature of @type.</doc>
+ <source-position filename="gst/gstregistry.h" line="100"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstregistry.c"
+ line="949">a #GList of
+ #GstPluginFeature of @type. Use gst_plugin_feature_list_free() after use
+
+MT safe.</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="PluginFeature"/>
+ </type>
+ </return-value>
+ <parameters>
+ <instance-parameter name="registry" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstregistry.c"
+ line="944">a #GstRegistry</doc>
+ <type name="Registry" c:type="GstRegistry*"/>
+ </instance-parameter>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstregistry.c"
+ line="945">a #GType.</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_feature_list_by_plugin"
+ c:identifier="gst_registry_get_feature_list_by_plugin">
+ <doc xml:space="preserve"
+ filename="gst/gstregistry.c"
+ line="1424">Retrieves a #GList of features of the plugin with name @name.</doc>
+ <source-position filename="gst/gstregistry.h" line="103"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstregistry.c"
+ line="1431">a #GList of
+ #GstPluginFeature. Use gst_plugin_feature_list_free() after usage.</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="PluginFeature"/>
+ </type>
+ </return-value>
+ <parameters>
+ <instance-parameter name="registry" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstregistry.c"
+ line="1426">a #GstRegistry.</doc>
+ <type name="Registry" c:type="GstRegistry*"/>
+ </instance-parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstregistry.c"
+ line="1427">a plugin name.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_feature_list_cookie"
+ c:identifier="gst_registry_get_feature_list_cookie">
+ <doc xml:space="preserve"
+ filename="gst/gstregistry.c"
+ line="1888">Returns the registry's feature list cookie. This changes
+every time a feature is added or removed from the registry.</doc>
+ <source-position filename="gst/gstregistry.h" line="106"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstregistry.c"
+ line="1895">the feature list cookie.</doc>
+ <type name="guint32" c:type="guint32"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="registry" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstregistry.c"
+ line="1890">the registry</doc>
+ <type name="Registry" c:type="GstRegistry*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_plugin_list"
+ c:identifier="gst_registry_get_plugin_list">
+ <doc xml:space="preserve"
+ filename="gst/gstregistry.c"
+ line="978">Get a copy of all plugins registered in the given registry. The refcount
+of each element in the list in incremented.</doc>
+ <source-position filename="gst/gstregistry.h" line="87"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstregistry.c"
+ line="985">a #GList of #GstPlugin.
+ Use gst_plugin_list_free() after usage.
+
+MT safe.</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="Plugin"/>
+ </type>
+ </return-value>
+ <parameters>
+ <instance-parameter name="registry" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstregistry.c"
+ line="980">the registry to search</doc>
+ <type name="Registry" c:type="GstRegistry*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="lookup" c:identifier="gst_registry_lookup">
+ <doc xml:space="preserve"
+ filename="gst/gstregistry.c"
+ line="1063">Look up a plugin in the given registry with the given filename.
+If found, plugin is reffed.</doc>
+ <source-position filename="gst/gstregistry.h" line="115"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstregistry.c"
+ line="1071">the #GstPlugin if found, or
+ %NULL if not. gst_object_unref() after usage.</doc>
+ <type name="Plugin" c:type="GstPlugin*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="registry" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstregistry.c"
+ line="1065">the registry to look up in</doc>
+ <type name="Registry" c:type="GstRegistry*"/>
+ </instance-parameter>
+ <parameter name="filename" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstregistry.c"
+ line="1066">the name of the file to look up</doc>
+ <type name="utf8" c:type="const char*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="lookup_feature" c:identifier="gst_registry_lookup_feature">
+ <doc xml:space="preserve"
+ filename="gst/gstregistry.c"
+ line="1014">Find a #GstPluginFeature with @name in @registry.</doc>
+ <source-position filename="gst/gstregistry.h" line="118"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstregistry.c"
+ line="1021">a #GstPluginFeature with its refcount incremented,
+ use gst_object_unref() after usage.
+
+MT safe.</doc>
+ <type name="PluginFeature" c:type="GstPluginFeature*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="registry" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstregistry.c"
+ line="1016">a #GstRegistry</doc>
+ <type name="Registry" c:type="GstRegistry*"/>
+ </instance-parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstregistry.c"
+ line="1017">a #GstPluginFeature name</doc>
+ <type name="utf8" c:type="const char*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="plugin_filter" c:identifier="gst_registry_plugin_filter">
+ <doc xml:space="preserve"
+ filename="gst/gstregistry.c"
+ line="641">Runs a filter against all plugins in the registry and returns a #GList with
+the results. If the first flag is set, only the first match is
+returned (as a list with a single object).
+Every plugin is reffed; use gst_plugin_list_free() after use, which
+will unref again.</doc>
+ <source-position filename="gst/gstregistry.h" line="90"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstregistry.c"
+ line="654">a #GList of #GstPlugin.
+ Use gst_plugin_list_free() after usage.
+
+MT safe.</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="Plugin"/>
+ </type>
+ </return-value>
+ <parameters>
+ <instance-parameter name="registry" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstregistry.c"
+ line="643">registry to query</doc>
+ <type name="Registry" c:type="GstRegistry*"/>
+ </instance-parameter>
+ <parameter name="filter"
+ transfer-ownership="none"
+ scope="call"
+ closure="2">
+ <doc xml:space="preserve"
+ filename="gst/gstregistry.c"
+ line="644">the filter to use</doc>
+ <type name="PluginFilter" c:type="GstPluginFilter"/>
+ </parameter>
+ <parameter name="first" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstregistry.c"
+ line="645">only return first match</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstregistry.c"
+ line="646">user data passed to the filter function</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="remove_feature" c:identifier="gst_registry_remove_feature">
+ <doc xml:space="preserve"
+ filename="gst/gstregistry.c"
+ line="614">Remove the feature from the registry.
+
+MT safe.</doc>
+ <source-position filename="gst/gstregistry.h" line="84"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="registry" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstregistry.c"
+ line="616">the registry to remove the feature from</doc>
+ <type name="Registry" c:type="GstRegistry*"/>
+ </instance-parameter>
+ <parameter name="feature" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstregistry.c"
+ line="617">the feature to remove</doc>
+ <type name="PluginFeature" c:type="GstPluginFeature*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="remove_plugin" c:identifier="gst_registry_remove_plugin">
+ <doc xml:space="preserve"
+ filename="gst/gstregistry.c"
+ line="524">Remove the plugin from the registry.
+
+MT safe.</doc>
+ <source-position filename="gst/gstregistry.h" line="78"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="registry" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstregistry.c"
+ line="526">the registry to remove the plugin from</doc>
+ <type name="Registry" c:type="GstRegistry*"/>
+ </instance-parameter>
+ <parameter name="plugin" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstregistry.c"
+ line="527">the plugin to remove</doc>
+ <type name="Plugin" c:type="GstPlugin*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="scan_path" c:identifier="gst_registry_scan_path">
+ <doc xml:space="preserve"
+ filename="gst/gstregistry.c"
+ line="1388">Scan the given path for plugins to add to the registry. The syntax of the
+path is specific to the registry.</doc>
+ <source-position filename="gst/gstregistry.h" line="67"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstregistry.c"
+ line="1396">%TRUE if registry changed</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="registry" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstregistry.c"
+ line="1390">the registry to add found plugins to</doc>
+ <type name="Registry" c:type="GstRegistry*"/>
+ </instance-parameter>
+ <parameter name="path" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstregistry.c"
+ line="1391">the path to scan</doc>
+ <type name="filename" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <field name="object">
+ <type name="Object" c:type="GstObject"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="RegistryPrivate" c:type="GstRegistryPrivate*"/>
+ </field>
+ <glib:signal name="feature-added" when="last">
+ <doc xml:space="preserve"
+ filename="gst/gstregistry.c"
+ line="233">Signals that a feature has been added to the registry (possibly
+replacing a previously-added one by the same name)</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="feature" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstregistry.c"
+ line="236">the feature that has been added</doc>
+ <type name="PluginFeature"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="plugin-added" when="last">
+ <doc xml:space="preserve"
+ filename="gst/gstregistry.c"
+ line="221">Signals that a plugin has been added to the registry (possibly
+replacing a previously-added one by the same name)</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="plugin" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstregistry.c"
+ line="224">the plugin that has been added</doc>
+ <type name="Plugin"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ </class>
+ <record name="RegistryClass"
+ c:type="GstRegistryClass"
+ glib:is-gtype-struct-for="Registry">
+ <source-position filename="gst/gstregistry.h" line="58"/>
+ <field name="parent_class">
+ <type name="ObjectClass" c:type="GstObjectClass"/>
+ </field>
+ </record>
+ <record name="RegistryPrivate" c:type="GstRegistryPrivate" disguised="1">
+ <source-position filename="gst/gstregistry.h" line="42"/>
+ </record>
+ <enumeration name="ResourceError"
+ glib:type-name="GstResourceError"
+ glib:get-type="gst_resource_error_get_type"
+ c:type="GstResourceError"
+ glib:error-domain="gst-resource-error-quark">
+ <doc xml:space="preserve"
+ filename="gst/gsterror.h"
+ line="108">Resource errors are for any resource used by an element:
+memory, files, network connections, process space, ...
+They're typically used by source and sink elements.</doc>
+ <member name="failed"
+ value="1"
+ c:identifier="GST_RESOURCE_ERROR_FAILED"
+ glib:nick="failed">
+ <doc xml:space="preserve"
+ filename="gst/gsterror.h"
+ line="110">a general error which doesn't fit in any other
+category. Make sure you add a custom message to the error call.</doc>
+ </member>
+ <member name="too_lazy"
+ value="2"
+ c:identifier="GST_RESOURCE_ERROR_TOO_LAZY"
+ glib:nick="too-lazy">
+ <doc xml:space="preserve"
+ filename="gst/gsterror.h"
+ line="112">do not use this except as a placeholder for
+deciding where to go while developing code.</doc>
+ </member>
+ <member name="not_found"
+ value="3"
+ c:identifier="GST_RESOURCE_ERROR_NOT_FOUND"
+ glib:nick="not-found">
+ <doc xml:space="preserve"
+ filename="gst/gsterror.h"
+ line="114">used when the resource could not be found.</doc>
+ </member>
+ <member name="busy"
+ value="4"
+ c:identifier="GST_RESOURCE_ERROR_BUSY"
+ glib:nick="busy">
+ <doc xml:space="preserve"
+ filename="gst/gsterror.h"
+ line="115">used when resource is busy.</doc>
+ </member>
+ <member name="open_read"
+ value="5"
+ c:identifier="GST_RESOURCE_ERROR_OPEN_READ"
+ glib:nick="open-read">
+ <doc xml:space="preserve"
+ filename="gst/gsterror.h"
+ line="116">used when resource fails to open for reading.</doc>
+ </member>
+ <member name="open_write"
+ value="6"
+ c:identifier="GST_RESOURCE_ERROR_OPEN_WRITE"
+ glib:nick="open-write">
+ <doc xml:space="preserve"
+ filename="gst/gsterror.h"
+ line="117">used when resource fails to open for writing.</doc>
+ </member>
+ <member name="open_read_write"
+ value="7"
+ c:identifier="GST_RESOURCE_ERROR_OPEN_READ_WRITE"
+ glib:nick="open-read-write">
+ <doc xml:space="preserve"
+ filename="gst/gsterror.h"
+ line="118">used when resource cannot be opened for
+both reading and writing, or either (but unspecified which).</doc>
+ </member>
+ <member name="close"
+ value="8"
+ c:identifier="GST_RESOURCE_ERROR_CLOSE"
+ glib:nick="close">
+ <doc xml:space="preserve"
+ filename="gst/gsterror.h"
+ line="120">used when the resource can't be closed.</doc>
+ </member>
+ <member name="read"
+ value="9"
+ c:identifier="GST_RESOURCE_ERROR_READ"
+ glib:nick="read">
+ <doc xml:space="preserve"
+ filename="gst/gsterror.h"
+ line="121">used when the resource can't be read from.</doc>
+ </member>
+ <member name="write"
+ value="10"
+ c:identifier="GST_RESOURCE_ERROR_WRITE"
+ glib:nick="write">
+ <doc xml:space="preserve"
+ filename="gst/gsterror.h"
+ line="122">used when the resource can't be written to.</doc>
+ </member>
+ <member name="seek"
+ value="11"
+ c:identifier="GST_RESOURCE_ERROR_SEEK"
+ glib:nick="seek">
+ <doc xml:space="preserve"
+ filename="gst/gsterror.h"
+ line="123">used when a seek on the resource fails.</doc>
+ </member>
+ <member name="sync"
+ value="12"
+ c:identifier="GST_RESOURCE_ERROR_SYNC"
+ glib:nick="sync">
+ <doc xml:space="preserve"
+ filename="gst/gsterror.h"
+ line="124">used when a synchronize on the resource fails.</doc>
+ </member>
+ <member name="settings"
+ value="13"
+ c:identifier="GST_RESOURCE_ERROR_SETTINGS"
+ glib:nick="settings">
+ <doc xml:space="preserve"
+ filename="gst/gsterror.h"
+ line="125">used when settings can't be manipulated on.</doc>
+ </member>
+ <member name="no_space_left"
+ value="14"
+ c:identifier="GST_RESOURCE_ERROR_NO_SPACE_LEFT"
+ glib:nick="no-space-left">
+ <doc xml:space="preserve"
+ filename="gst/gsterror.h"
+ line="126">used when the resource has no space left.</doc>
+ </member>
+ <member name="not_authorized"
+ value="15"
+ c:identifier="GST_RESOURCE_ERROR_NOT_AUTHORIZED"
+ glib:nick="not-authorized">
+ <doc xml:space="preserve"
+ filename="gst/gsterror.h"
+ line="127">used when the resource can't be opened
+ due to missing authorization.
+ (Since: 1.2.4)</doc>
+ </member>
+ <member name="num_errors"
+ value="16"
+ c:identifier="GST_RESOURCE_ERROR_NUM_ERRORS"
+ glib:nick="num-errors">
+ <doc xml:space="preserve"
+ filename="gst/gsterror.h"
+ line="130">the number of resource error types.</doc>
+ </member>
+ <function name="quark" c:identifier="gst_resource_error_quark">
+ <attribute name="doc.skip" value="true"/>
+ <return-value transfer-ownership="none">
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </return-value>
+ </function>
+ </enumeration>
+ <function-macro name="SAMPLE" c:identifier="GST_SAMPLE" introspectable="0">
+ <source-position filename="gst/gstsample.h" line="39"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="SAMPLE_CAST"
+ c:identifier="GST_SAMPLE_CAST"
+ introspectable="0">
+ <source-position filename="gst/gstsample.h" line="38"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <constant name="SECOND" value="1000000000" c:type="GST_SECOND">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.h"
+ line="98">Constant that defines one GStreamer second.</doc>
+ <source-position filename="gst/gstclock.h" line="103"/>
+ <type name="ClockTimeDiff" c:type="GstClockTimeDiff"/>
+ </constant>
+ <constant name="SEGMENT_FORMAT"
+ value="paB"
+ c:type="GST_SEGMENT_FORMAT"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.h"
+ line="294">printf format type used to debug GStreamer segments. You can use this in
+combination with GStreamer's debug logging system as well as the functions
+gst_info_vasprintf(), gst_info_strdup_vprintf() and gst_info_strdup_printf()
+to pretty-print #GstSegment structures.
+This can only be used on pointers to GstSegment structures.</doc>
+ <source-position filename="gst/gstinfo.h" line="303"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="SEGMENT_INSTANT_FLAGS"
+ value="912"
+ c:type="GST_SEGMENT_INSTANT_FLAGS">
+ <source-position filename="gst/gstsegment.h" line="197"/>
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="SEQNUM_INVALID"
+ value="0"
+ c:type="GST_SEQNUM_INVALID"
+ version="1.14">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.h"
+ line="102">A value which is guaranteed to never be returned by
+gst_util_seqnum_next().
+
+Can be used as a default value in variables used to store seqnum.</doc>
+ <source-position filename="gst/gstutils.h" line="112"/>
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <function-macro name="SHARED_TASK_POOL"
+ c:identifier="GST_SHARED_TASK_POOL"
+ introspectable="0">
+ <source-position filename="gst/gsttaskpool.h" line="127"/>
+ <parameters>
+ <parameter name="pool">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="SHARED_TASK_POOL_CLASS"
+ c:identifier="GST_SHARED_TASK_POOL_CLASS"
+ introspectable="0">
+ <source-position filename="gst/gsttaskpool.h" line="129"/>
+ <parameters>
+ <parameter name="pclass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="SHARED_TASK_POOL_GET_CLASS"
+ c:identifier="GST_SHARED_TASK_POOL_GET_CLASS"
+ introspectable="0">
+ <source-position filename="gst/gsttaskpool.h" line="131"/>
+ <parameters>
+ <parameter name="pool">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="STATE" c:identifier="GST_STATE" introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="103">This macro returns the current #GstState of the element.</doc>
+ <source-position filename="gst/gstelement.h" line="109"/>
+ <parameters>
+ <parameter name="elem">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="105">a #GstElement to return state for.</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="STATE_BROADCAST"
+ c:identifier="GST_STATE_BROADCAST"
+ introspectable="0">
+ <source-position filename="gst/gstelement.h" line="586"/>
+ <parameters>
+ <parameter name="elem">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="STATE_GET_COND"
+ c:identifier="GST_STATE_GET_COND"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="570">Get the conditional used to signal the completion of a state change.</doc>
+ <source-position filename="gst/gstelement.h" line="576"/>
+ <parameters>
+ <parameter name="elem">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="572">a #GstElement</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="STATE_GET_LOCK"
+ c:identifier="GST_STATE_GET_LOCK"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="561">Get a reference to the state lock of @elem.
+This lock is used by the core. It is taken while getting or setting
+the state, during state changes, and while finalizing.</doc>
+ <source-position filename="gst/gstelement.h" line="569"/>
+ <parameters>
+ <parameter name="elem">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="563">a #GstElement</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="STATE_GET_NEXT"
+ c:identifier="GST_STATE_GET_NEXT"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="144">Given a current state @cur and a target state @pending, calculate the next (intermediate)
+#GstState.</doc>
+ <source-position filename="gst/gstelement.h" line="152"/>
+ <parameters>
+ <parameter name="cur">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="146">A starting #GstState</doc>
+ </parameter>
+ <parameter name="pending">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="147">A target #GstState</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="STATE_LOCK"
+ c:identifier="GST_STATE_LOCK"
+ introspectable="0">
+ <source-position filename="gst/gstelement.h" line="578"/>
+ <parameters>
+ <parameter name="elem">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="STATE_NEXT"
+ c:identifier="GST_STATE_NEXT"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="111">This macro returns the next #GstState of the element.</doc>
+ <source-position filename="gst/gstelement.h" line="117"/>
+ <parameters>
+ <parameter name="elem">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="113">a #GstElement to return the next state for.</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="STATE_PENDING"
+ c:identifier="GST_STATE_PENDING"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="119">This macro returns the currently pending #GstState of the element.</doc>
+ <source-position filename="gst/gstelement.h" line="125"/>
+ <parameters>
+ <parameter name="elem">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="121">a #GstElement to return the pending state for.</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="STATE_RETURN"
+ c:identifier="GST_STATE_RETURN"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="135">This macro returns the last #GstStateChangeReturn value.</doc>
+ <source-position filename="gst/gstelement.h" line="141"/>
+ <parameters>
+ <parameter name="elem">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="137">a #GstElement to return the last state result for.</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="STATE_SIGNAL"
+ c:identifier="GST_STATE_SIGNAL"
+ introspectable="0">
+ <source-position filename="gst/gstelement.h" line="585"/>
+ <parameters>
+ <parameter name="elem">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="STATE_TARGET"
+ c:identifier="GST_STATE_TARGET"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="127">This macro returns the target #GstState of the element.</doc>
+ <source-position filename="gst/gstelement.h" line="133"/>
+ <parameters>
+ <parameter name="elem">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="129">a #GstElement to return the target state for.</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="STATE_TRANSITION"
+ c:identifier="GST_STATE_TRANSITION"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="153">Given a current state @cur and a next state @next, calculate the associated
+#GstStateChange transition.</doc>
+ <source-position filename="gst/gstelement.h" line="161"/>
+ <parameters>
+ <parameter name="cur">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="155">A current state</doc>
+ </parameter>
+ <parameter name="next">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="156">A next state</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="STATE_TRANSITION_CURRENT"
+ c:identifier="GST_STATE_TRANSITION_CURRENT"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="162">Given a state transition @trans, extract the current #GstState.</doc>
+ <source-position filename="gst/gstelement.h" line="168"/>
+ <parameters>
+ <parameter name="trans">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="164">A #GstStateChange</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="STATE_TRANSITION_NEXT"
+ c:identifier="GST_STATE_TRANSITION_NEXT"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="169">Given a state transition @trans, extract the next #GstState.</doc>
+ <source-position filename="gst/gstelement.h" line="175"/>
+ <parameters>
+ <parameter name="trans">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="171">A #GstStateChange</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="STATE_TRYLOCK"
+ c:identifier="GST_STATE_TRYLOCK"
+ introspectable="0">
+ <source-position filename="gst/gstelement.h" line="579"/>
+ <parameters>
+ <parameter name="elem">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="STATE_UNLOCK"
+ c:identifier="GST_STATE_UNLOCK"
+ introspectable="0">
+ <source-position filename="gst/gstelement.h" line="580"/>
+ <parameters>
+ <parameter name="elem">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="STATE_WAIT"
+ c:identifier="GST_STATE_WAIT"
+ introspectable="0">
+ <source-position filename="gst/gstelement.h" line="581"/>
+ <parameters>
+ <parameter name="elem">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="STATE_WAIT_UNTIL"
+ c:identifier="GST_STATE_WAIT_UNTIL"
+ introspectable="0">
+ <source-position filename="gst/gstelement.h" line="583"/>
+ <parameters>
+ <parameter name="elem">
+ </parameter>
+ <parameter name="end_time">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="STATIC_CAPS"
+ c:identifier="GST_STATIC_CAPS"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.h"
+ line="122">Creates a new #GstCaps static caps from an input string.
+This can be used in pad templates.</doc>
+ <source-position filename="gst/gstcaps.h" line="129"/>
+ <parameters>
+ <parameter name="string">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.h"
+ line="124">the string describing the caps</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="STATIC_PAD_TEMPLATE"
+ c:identifier="GST_STATIC_PAD_TEMPLATE"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstpadtemplate.h"
+ line="175">Convenience macro to fill the values of a #GstStaticPadTemplate
+structure.
+Example:
+|[&lt;!-- language="C" --&gt;
+static GstStaticPadTemplate my_src_template = * GST_STATIC_PAD_TEMPLATE("src", GST_PAD_SRC, GST_PAD_ALWAYS,
+,
+ GST_STATIC_CAPS_ANY);
+]|</doc>
+ <source-position filename="gst/gstpadtemplate.h" line="191"/>
+ <parameters>
+ <parameter name="padname">
+ <doc xml:space="preserve"
+ filename="gst/gstpadtemplate.h"
+ line="177">the name template of the pad</doc>
+ </parameter>
+ <parameter name="dir">
+ <doc xml:space="preserve"
+ filename="gst/gstpadtemplate.h"
+ line="178">the GstPadDirection of the pad</doc>
+ </parameter>
+ <parameter name="pres">
+ <doc xml:space="preserve"
+ filename="gst/gstpadtemplate.h"
+ line="179">the GstPadPresence of the pad</doc>
+ </parameter>
+ <parameter name="caps">
+ <doc xml:space="preserve"
+ filename="gst/gstpadtemplate.h"
+ line="180">the GstStaticCaps of the pad</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <constant name="STIMEP_FORMAT"
+ value="paS"
+ c:type="GST_STIMEP_FORMAT"
+ version="1.18"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.h"
+ line="318">printf format type used to debug GStreamer signed time value pointers. You
+can use this in combination with GStreamer's debug logging system as well as
+the functions gst_info_vasprintf(), gst_info_strdup_vprintf() and
+gst_info_strdup_printf() to pretty-print signed time (pointers to
+#GstClockTimeDiff or #gint64).</doc>
+ <source-position filename="gst/gstinfo.h" line="329"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <function-macro name="STIME_ARGS"
+ c:identifier="GST_STIME_ARGS"
+ version="1.6"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.h"
+ line="259">Format @t for the #GST_STIME_FORMAT format string. Note: @t will be
+evaluated more than once.</doc>
+ <source-position filename="gst/gstclock.h" line="268"/>
+ <parameters>
+ <parameter name="t">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.h"
+ line="261">a #GstClockTimeDiff or #gint64</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <constant name="STIME_FORMAT"
+ value="c%"
+ c:type="GST_STIME_FORMAT"
+ version="1.6"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.h"
+ line="244">A string that can be used in printf-like format strings to display a signed
+#GstClockTimeDiff or #gint64 value in h:m:s format. Use GST_TIME_ARGS() to
+construct the matching arguments.
+
+Example:
+|[
+printf("%" GST_STIME_FORMAT "\n", GST_STIME_ARGS(ts));
+]|</doc>
+ <source-position filename="gst/gstclock.h" line="258"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <function-macro name="STREAM" c:identifier="GST_STREAM" introspectable="0">
+ <source-position filename="gst/gststreams.h" line="36"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="STREAM_CAST"
+ c:identifier="GST_STREAM_CAST"
+ introspectable="0">
+ <source-position filename="gst/gststreams.h" line="38"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="STREAM_CLASS"
+ c:identifier="GST_STREAM_CLASS"
+ introspectable="0">
+ <source-position filename="gst/gststreams.h" line="37"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="STREAM_COLLECTION"
+ c:identifier="GST_STREAM_COLLECTION"
+ introspectable="0">
+ <source-position filename="gst/gststreamcollection.h" line="36"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="STREAM_COLLECTION_CAST"
+ c:identifier="GST_STREAM_COLLECTION_CAST"
+ introspectable="0">
+ <source-position filename="gst/gststreamcollection.h" line="38"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="STREAM_COLLECTION_CLASS"
+ c:identifier="GST_STREAM_COLLECTION_CLASS"
+ introspectable="0">
+ <source-position filename="gst/gststreamcollection.h" line="37"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="STREAM_COLLECTION_GET_CLASS"
+ c:identifier="GST_STREAM_COLLECTION_GET_CLASS"
+ introspectable="0">
+ <source-position filename="gst/gststreamcollection.h" line="35"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="STREAM_GET_CLASS"
+ c:identifier="GST_STREAM_GET_CLASS"
+ introspectable="0">
+ <source-position filename="gst/gststreams.h" line="35"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="STRUCTURE"
+ c:identifier="GST_STRUCTURE"
+ introspectable="0">
+ <source-position filename="gst/gststructure.h" line="38"/>
+ <parameters>
+ <parameter name="object">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="STRUCTURE_CAST"
+ c:identifier="GST_STRUCTURE_CAST"
+ introspectable="0">
+ <source-position filename="gst/gststructure.h" line="37"/>
+ <parameters>
+ <parameter name="object">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="STR_FOURCC"
+ c:identifier="GST_STR_FOURCC"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.h"
+ line="48">Transform an input string into a #guint32 fourcc value with host
+endianness.
+Caller is responsible for ensuring the input string consists of at least
+four characters.
+
+|[
+guint32 fourcc = GST_STR_FOURCC ("MJPG");
+]|</doc>
+ <source-position filename="gst/gstvalue.h" line="62"/>
+ <parameters>
+ <parameter name="f">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.h"
+ line="50">a string with at least four characters</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="STR_NULL"
+ c:identifier="GST_STR_NULL"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.h"
+ line="230">Macro to use when a string must not be %NULL, but may be %NULL. If the string
+is %NULL, "(NULL)" is printed instead.
+In GStreamer printf string arguments may not be %NULL, because on some
+platforms (ie Solaris) the libc crashes in that case. This includes debugging
+strings.</doc>
+ <source-position filename="gst/gstinfo.h" line="240"/>
+ <parameters>
+ <parameter name="str">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.h"
+ line="232">The string to check.</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="SYSTEM_CLOCK"
+ c:identifier="GST_SYSTEM_CLOCK"
+ introspectable="0">
+ <source-position filename="gst/gstsystemclock.h" line="33"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="SYSTEM_CLOCK_CAST"
+ c:identifier="GST_SYSTEM_CLOCK_CAST"
+ introspectable="0">
+ <source-position filename="gst/gstsystemclock.h" line="34"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="SYSTEM_CLOCK_CLASS"
+ c:identifier="GST_SYSTEM_CLOCK_CLASS"
+ introspectable="0">
+ <source-position filename="gst/gstsystemclock.h" line="36"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="SYSTEM_CLOCK_GET_CLASS"
+ c:identifier="GST_SYSTEM_CLOCK_GET_CLASS"
+ introspectable="0">
+ <source-position filename="gst/gstsystemclock.h" line="38"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <record name="Sample"
+ c:type="GstSample"
+ glib:type-name="GstSample"
+ glib:get-type="gst_sample_get_type"
+ c:symbol-prefix="sample">
+ <doc xml:space="preserve"
+ filename="gst/gstsample.c"
+ line="22">A #GstSample is a small object containing data, a type, timing and
+extra arbitrary information.</doc>
+ <source-position filename="gst/gstsample.h" line="48"/>
+ <constructor name="new" c:identifier="gst_sample_new">
+ <doc xml:space="preserve"
+ filename="gst/gstsample.c"
+ line="111">Create a new #GstSample with the provided details.
+
+Free-function: gst_sample_unref</doc>
+ <source-position filename="gst/gstsample.h" line="56"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstsample.c"
+ line="122">the new #GstSample. gst_sample_unref()
+ after usage.</doc>
+ <type name="Sample" c:type="GstSample*"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstsample.c"
+ line="113">a #GstBuffer, or %NULL</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="caps"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstsample.c"
+ line="114">a #GstCaps, or %NULL</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </parameter>
+ <parameter name="segment"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstsample.c"
+ line="115">a #GstSegment, or %NULL</doc>
+ <type name="Segment" c:type="const GstSegment*"/>
+ </parameter>
+ <parameter name="info"
+ transfer-ownership="full"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstsample.c"
+ line="116">a #GstStructure, or %NULL</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <method name="copy"
+ c:identifier="gst_sample_copy"
+ version="1.2"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstsample.h"
+ line="161">Create a copy of the given sample. This will also make a newly allocated
+copy of the data the source sample contains.</doc>
+ <source-position filename="gst/gstsample.h" line="172"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstsample.h"
+ line="168">a new copy of @buf.</doc>
+ <type name="Sample" c:type="GstSample*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="buf" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstsample.h"
+ line="163">a #GstSample.</doc>
+ <type name="Sample" c:type="const GstSample*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_buffer" c:identifier="gst_sample_get_buffer">
+ <doc xml:space="preserve"
+ filename="gst/gstsample.c"
+ line="175">Get the buffer associated with @sample</doc>
+ <source-position filename="gst/gstsample.h" line="61"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstsample.c"
+ line="181">the buffer of @sample or %NULL
+ when there is no buffer. The buffer remains valid as long as
+ @sample is valid. If you need to hold on to it for longer than
+ that, take a ref to the buffer with gst_buffer_ref().</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="sample" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstsample.c"
+ line="177">a #GstSample</doc>
+ <type name="Sample" c:type="GstSample*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_buffer_list"
+ c:identifier="gst_sample_get_buffer_list"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst/gstsample.c"
+ line="247">Get the buffer list associated with @sample</doc>
+ <source-position filename="gst/gstsample.h" line="73"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstsample.c"
+ line="253">the buffer list of @sample or %NULL
+ when there is no buffer list. The buffer list remains valid as long as
+ @sample is valid. If you need to hold on to it for longer than
+ that, take a ref to the buffer list with gst_mini_object_ref ().</doc>
+ <type name="BufferList" c:type="GstBufferList*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="sample" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstsample.c"
+ line="249">a #GstSample</doc>
+ <type name="Sample" c:type="GstSample*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_caps" c:identifier="gst_sample_get_caps">
+ <doc xml:space="preserve"
+ filename="gst/gstsample.c"
+ line="194">Get the caps associated with @sample</doc>
+ <source-position filename="gst/gstsample.h" line="64"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstsample.c"
+ line="200">the caps of @sample or %NULL
+ when there is no caps. The caps remain valid as long as @sample is
+ valid. If you need to hold on to the caps for longer than that,
+ take a ref to the caps with gst_caps_ref().</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="sample" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstsample.c"
+ line="196">a #GstSample</doc>
+ <type name="Sample" c:type="GstSample*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_info" c:identifier="gst_sample_get_info">
+ <doc xml:space="preserve"
+ filename="gst/gstsample.c"
+ line="230">Get extra information associated with @sample.</doc>
+ <source-position filename="gst/gstsample.h" line="70"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstsample.c"
+ line="236">the extra info of @sample.
+ The info remains valid as long as @sample is valid.</doc>
+ <type name="Structure" c:type="const GstStructure*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="sample" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstsample.c"
+ line="232">a #GstSample</doc>
+ <type name="Sample" c:type="GstSample*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_segment" c:identifier="gst_sample_get_segment">
+ <doc xml:space="preserve"
+ filename="gst/gstsample.c"
+ line="213">Get the segment associated with @sample</doc>
+ <source-position filename="gst/gstsample.h" line="67"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstsample.c"
+ line="219">the segment of @sample.
+ The segment remains valid as long as @sample is valid.</doc>
+ <type name="Segment" c:type="GstSegment*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="sample" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstsample.c"
+ line="215">a #GstSample</doc>
+ <type name="Sample" c:type="GstSample*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="ref" c:identifier="gst_sample_ref" introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstsample.h"
+ line="91">Increases the refcount of the given sample by one.</doc>
+ <source-position filename="gst/gstsample.h" line="99"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstsample.h"
+ line="97">@sample</doc>
+ <type name="Sample" c:type="GstSample*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="sample" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstsample.h"
+ line="93">a #GstSample</doc>
+ <type name="Sample" c:type="GstSample*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="set_buffer"
+ c:identifier="gst_sample_set_buffer"
+ version="1.16">
+ <doc xml:space="preserve"
+ filename="gst/gstsample.c"
+ line="304">Set the buffer associated with @sample. @sample must be writable.</doc>
+ <source-position filename="gst/gstsample.h" line="79"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="sample" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstsample.c"
+ line="306">A #GstSample</doc>
+ <type name="Sample" c:type="GstSample*"/>
+ </instance-parameter>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstsample.c"
+ line="307">A #GstBuffer</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_buffer_list"
+ c:identifier="gst_sample_set_buffer_list"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst/gstsample.c"
+ line="268">Set the buffer list associated with @sample. @sample must be writable.</doc>
+ <source-position filename="gst/gstsample.h" line="76"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="sample" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstsample.c"
+ line="270">a #GstSample</doc>
+ <type name="Sample" c:type="GstSample*"/>
+ </instance-parameter>
+ <parameter name="buffer_list" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstsample.c"
+ line="271">a #GstBufferList</doc>
+ <type name="BufferList" c:type="GstBufferList*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_caps"
+ c:identifier="gst_sample_set_caps"
+ version="1.16">
+ <doc xml:space="preserve"
+ filename="gst/gstsample.c"
+ line="341">Set the caps associated with @sample. @sample must be writable.</doc>
+ <source-position filename="gst/gstsample.h" line="82"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="sample" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstsample.c"
+ line="343">A #GstSample</doc>
+ <type name="Sample" c:type="GstSample*"/>
+ </instance-parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstsample.c"
+ line="344">A #GstCaps</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_info"
+ c:identifier="gst_sample_set_info"
+ version="1.16">
+ <doc xml:space="preserve"
+ filename="gst/gstsample.c"
+ line="400">Set the info structure associated with @sample. @sample must be writable,
+and @info must not have a parent set already.</doc>
+ <source-position filename="gst/gstsample.h" line="88"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="sample" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstsample.c"
+ line="402">A #GstSample</doc>
+ <type name="Sample" c:type="GstSample*"/>
+ </instance-parameter>
+ <parameter name="info" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstsample.c"
+ line="403">A #GstStructure</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_segment"
+ c:identifier="gst_sample_set_segment"
+ version="1.16">
+ <doc xml:space="preserve"
+ filename="gst/gstsample.c"
+ line="378">Set the segment associated with @sample. @sample must be writable.</doc>
+ <source-position filename="gst/gstsample.h" line="85"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="sample" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstsample.c"
+ line="380">A #GstSample</doc>
+ <type name="Sample" c:type="GstSample*"/>
+ </instance-parameter>
+ <parameter name="segment" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstsample.c"
+ line="381">A #GstSegment</doc>
+ <type name="Segment" c:type="const GstSegment*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="unref" c:identifier="gst_sample_unref" introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstsample.h"
+ line="107">Decreases the refcount of the sample. If the refcount reaches 0, the
+sample will be freed.</doc>
+ <source-position filename="gst/gstsample.h" line="114"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="sample" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstsample.h"
+ line="109">a #GstSample</doc>
+ <type name="Sample" c:type="GstSample*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ </record>
+ <bitfield name="SchedulingFlags"
+ glib:type-name="GstSchedulingFlags"
+ glib:get-type="gst_scheduling_flags_get_type"
+ c:type="GstSchedulingFlags">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.h"
+ line="606">The different scheduling flags.</doc>
+ <member name="seekable"
+ value="1"
+ c:identifier="GST_SCHEDULING_FLAG_SEEKABLE"
+ glib:nick="seekable">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.h"
+ line="608">if seeking is possible</doc>
+ </member>
+ <member name="sequential"
+ value="2"
+ c:identifier="GST_SCHEDULING_FLAG_SEQUENTIAL"
+ glib:nick="sequential">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.h"
+ line="609">if sequential access is recommended</doc>
+ </member>
+ <member name="bandwidth_limited"
+ value="4"
+ c:identifier="GST_SCHEDULING_FLAG_BANDWIDTH_LIMITED"
+ glib:nick="bandwidth-limited">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.h"
+ line="610">if bandwidth is limited and buffering possible (since 1.2)</doc>
+ </member>
+ </bitfield>
+ <enumeration name="SearchMode"
+ glib:type-name="GstSearchMode"
+ glib:get-type="gst_search_mode_get_type"
+ c:type="GstSearchMode">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.h"
+ line="1160">The different search modes.</doc>
+ <member name="exact"
+ value="0"
+ c:identifier="GST_SEARCH_MODE_EXACT"
+ glib:nick="exact">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.h"
+ line="1162">Only search for exact matches.</doc>
+ </member>
+ <member name="before"
+ value="1"
+ c:identifier="GST_SEARCH_MODE_BEFORE"
+ glib:nick="before">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.h"
+ line="1163">Search for an exact match or the element just before.</doc>
+ </member>
+ <member name="after"
+ value="2"
+ c:identifier="GST_SEARCH_MODE_AFTER"
+ glib:nick="after">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.h"
+ line="1164">Search for an exact match or the element just after.</doc>
+ </member>
+ </enumeration>
+ <bitfield name="SeekFlags"
+ glib:type-name="GstSeekFlags"
+ glib:get-type="gst_seek_flags_get_type"
+ c:type="GstSeekFlags">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.h"
+ line="50">Flags to be used with gst_element_seek() or gst_event_new_seek(). All flags
+can be used together.
+
+A non flushing seek might take some time to perform as the currently
+playing data in the pipeline will not be cleared.
+
+An accurate seek might be slower for formats that don't have any indexes
+or timestamp markers in the stream. Specifying this flag might require a
+complete scan of the file in those cases.
+
+When performing a segment seek: after the playback of the segment completes,
+no EOS will be emitted by the element that performed the seek, but a
+%GST_MESSAGE_SEGMENT_DONE message will be posted on the bus by the element.
+When this message is posted, it is possible to send a new seek event to
+continue playback. With this seek method it is possible to perform seamless
+looping or simple linear editing.
+
+When only changing the playback rate and not the direction, the
+%GST_SEEK_FLAG_INSTANT_RATE_CHANGE flag can be used for a non-flushing seek
+to signal that the rate change should be applied immediately. This requires
+special support in the seek handlers (e.g. demuxers) and any elements
+synchronizing to the clock, and in general can't work in all cases (for example
+UDP streaming where the delivery rate is controlled by a remote server). The
+instant-rate-change mode supports changing the trickmode-related GST_SEEK_ flags,
+but can't be used in conjunction with other seek flags that affect the new
+playback position - as the playback position will not be changing.
+
+When doing fast forward (rate &gt; 1.0) or fast reverse (rate &lt; -1.0) trickmode
+playback, the %GST_SEEK_FLAG_TRICKMODE flag can be used to instruct decoders
+and demuxers to adjust the playback rate by skipping frames. This can improve
+performance and decrease CPU usage because not all frames need to be decoded.
+
+Beyond that, the %GST_SEEK_FLAG_TRICKMODE_KEY_UNITS flag can be used to
+request that decoders skip all frames except key units, and
+%GST_SEEK_FLAG_TRICKMODE_NO_AUDIO flags can be used to request that audio
+decoders do no decoding at all, and simple output silence.
+
+The %GST_SEEK_FLAG_SNAP_BEFORE flag can be used to snap to the previous
+relevant location, and the %GST_SEEK_FLAG_SNAP_AFTER flag can be used to
+select the next relevant location. If %GST_SEEK_FLAG_KEY_UNIT is specified,
+the relevant location is a keyframe. If both flags are specified, the nearest
+of these locations will be selected. If none are specified, the implementation is
+free to select whichever it wants.
+
+The before and after here are in running time, so when playing backwards,
+the next location refers to the one that will played in next, and not the
+one that is located after in the actual source stream.
+
+Also see part-seeking.txt in the GStreamer design documentation for more
+details on the meaning of these flags and the behaviour expected of
+elements that handle them.</doc>
+ <member name="none"
+ value="0"
+ c:identifier="GST_SEEK_FLAG_NONE"
+ glib:nick="none">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.h"
+ line="52">no flag</doc>
+ </member>
+ <member name="flush"
+ value="1"
+ c:identifier="GST_SEEK_FLAG_FLUSH"
+ glib:nick="flush">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.h"
+ line="53">flush pipeline</doc>
+ </member>
+ <member name="accurate"
+ value="2"
+ c:identifier="GST_SEEK_FLAG_ACCURATE"
+ glib:nick="accurate">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.h"
+ line="54">accurate position is requested, this might
+ be considerably slower for some formats.</doc>
+ </member>
+ <member name="key_unit"
+ value="4"
+ c:identifier="GST_SEEK_FLAG_KEY_UNIT"
+ glib:nick="key-unit">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.h"
+ line="56">seek to the nearest keyframe. This might be
+ faster but less accurate.</doc>
+ </member>
+ <member name="segment"
+ value="8"
+ c:identifier="GST_SEEK_FLAG_SEGMENT"
+ glib:nick="segment">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.h"
+ line="58">perform a segment seek.</doc>
+ </member>
+ <member name="trickmode"
+ value="16"
+ c:identifier="GST_SEEK_FLAG_TRICKMODE"
+ glib:nick="trickmode">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.h"
+ line="59">when doing fast forward or fast reverse playback, allow
+ elements to skip frames instead of generating all
+ frames. (Since: 1.6)</doc>
+ </member>
+ <member name="skip"
+ value="16"
+ c:identifier="GST_SEEK_FLAG_SKIP"
+ glib:nick="skip">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.h"
+ line="88">Deprecated backward compatibility flag, replaced
+ by %GST_SEEK_FLAG_TRICKMODE</doc>
+ </member>
+ <member name="snap_before"
+ value="32"
+ c:identifier="GST_SEEK_FLAG_SNAP_BEFORE"
+ glib:nick="snap-before">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.h"
+ line="62">go to a location before the requested position,
+ if %GST_SEEK_FLAG_KEY_UNIT this means the keyframe at or before
+ the requested position the one at or before the seek target.</doc>
+ </member>
+ <member name="snap_after"
+ value="64"
+ c:identifier="GST_SEEK_FLAG_SNAP_AFTER"
+ glib:nick="snap-after">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.h"
+ line="65">go to a location after the requested position,
+ if %GST_SEEK_FLAG_KEY_UNIT this means the keyframe at of after the
+ requested position.</doc>
+ </member>
+ <member name="snap_nearest"
+ value="96"
+ c:identifier="GST_SEEK_FLAG_SNAP_NEAREST"
+ glib:nick="snap-nearest">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.h"
+ line="68">go to a position near the requested position,
+ if %GST_SEEK_FLAG_KEY_UNIT this means the keyframe closest
+ to the requested position, if both keyframes are at an equal
+ distance, behaves like %GST_SEEK_FLAG_SNAP_BEFORE.</doc>
+ </member>
+ <member name="trickmode_key_units"
+ value="128"
+ c:identifier="GST_SEEK_FLAG_TRICKMODE_KEY_UNITS"
+ glib:nick="trickmode-key-units">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.h"
+ line="72">when doing fast forward or fast reverse
+ playback, request that elements only decode keyframes
+ and skip all other content, for formats that have
+ keyframes. (Since: 1.6)</doc>
+ </member>
+ <member name="trickmode_no_audio"
+ value="256"
+ c:identifier="GST_SEEK_FLAG_TRICKMODE_NO_AUDIO"
+ glib:nick="trickmode-no-audio">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.h"
+ line="81">when doing fast forward or fast reverse
+ playback, request that audio decoder elements skip
+ decoding and output only gap events or silence. (Since: 1.6)</doc>
+ </member>
+ <member name="trickmode_forward_predicted"
+ value="512"
+ c:identifier="GST_SEEK_FLAG_TRICKMODE_FORWARD_PREDICTED"
+ glib:nick="trickmode-forward-predicted">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.h"
+ line="76">When doing fast forward or fast reverse
+ playback, request that elements only decode keyframes and
+ forward predicted frames and skip all other content (for example
+ B-Frames), for formats that have keyframes and forward predicted
+ frames. (Since: 1.18)</doc>
+ </member>
+ <member name="instant_rate_change"
+ value="1024"
+ c:identifier="GST_SEEK_FLAG_INSTANT_RATE_CHANGE"
+ glib:nick="instant-rate-change">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.h"
+ line="84">Signals that a rate change should be
+ applied immediately. Only valid if start/stop position
+ are GST_CLOCK_TIME_NONE, the playback direction does not change
+ and the seek is not flushing. (Since: 1.18)</doc>
+ </member>
+ </bitfield>
+ <enumeration name="SeekType"
+ glib:type-name="GstSeekType"
+ glib:get-type="gst_seek_type_get_type"
+ c:type="GstSeekType">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.h"
+ line="34">The different types of seek events. When constructing a seek event with
+gst_event_new_seek() or when doing gst_segment_do_seek ().</doc>
+ <member name="none"
+ value="0"
+ c:identifier="GST_SEEK_TYPE_NONE"
+ glib:nick="none">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.h"
+ line="36">no change in position is required</doc>
+ </member>
+ <member name="set"
+ value="1"
+ c:identifier="GST_SEEK_TYPE_SET"
+ glib:nick="set">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.h"
+ line="37">absolute position is requested</doc>
+ </member>
+ <member name="end"
+ value="2"
+ c:identifier="GST_SEEK_TYPE_END"
+ glib:nick="end">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.h"
+ line="38">relative position to duration is requested</doc>
+ </member>
+ </enumeration>
+ <record name="Segment"
+ c:type="GstSegment"
+ glib:type-name="GstSegment"
+ glib:get-type="gst_segment_get_type"
+ c:symbol-prefix="segment">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.c"
+ line="29">This helper structure holds the relevant values for tracking the region of
+interest in a media file, called a segment.
+
+The structure can be used for two purposes:
+
+ * performing seeks (handling seek events)
+ * tracking playback regions (handling newsegment events)
+
+The segment is usually configured by the application with a seek event which
+is propagated upstream and eventually handled by an element that performs the seek.
+
+The configured segment is then propagated back downstream with a newsegment event.
+This information is then used to clip media to the segment boundaries.
+
+A segment structure is initialized with gst_segment_init(), which takes a #GstFormat
+that will be used as the format of the segment values. The segment will be configured
+with a start value of 0 and a stop/duration of -1, which is undefined. The default
+rate and applied_rate is 1.0.
+
+The public duration field contains the duration of the segment. When using
+the segment for seeking, the start and time members should normally be left
+to their default 0 value. The stop position is left to -1 unless explicitly
+configured to a different value after a seek event.
+
+The current position in the segment should be set by changing the position
+member in the structure.
+
+For elements that perform seeks, the current segment should be updated with the
+gst_segment_do_seek() and the values from the seek event. This method will update
+all the segment fields. The position field will contain the new playback position.
+If the start_type was different from GST_SEEK_TYPE_NONE, playback continues from
+the position position, possibly with updated flags or rate.
+
+For elements that want to use #GstSegment to track the playback region,
+update the segment fields with the information from the newsegment event.
+The gst_segment_clip() method can be used to check and clip
+the media data to the segment boundaries.
+
+For elements that want to synchronize to the pipeline clock, gst_segment_to_running_time()
+can be used to convert a timestamp to a value that can be used to synchronize
+to the clock. This function takes into account the base as well as
+any rate or applied_rate conversions.
+
+For elements that need to perform operations on media data in stream_time,
+gst_segment_to_stream_time() can be used to convert a timestamp and the segment
+info to stream time (which is always between 0 and the duration of the stream).</doc>
+ <source-position filename="gst/gstsegment.h" line="282"/>
+ <field name="flags" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.h"
+ line="202">flags for this segment</doc>
+ <type name="SegmentFlags" c:type="GstSegmentFlags"/>
+ </field>
+ <field name="rate" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.h"
+ line="203">the playback rate of the segment is set in response to a seek
+ event and, without any seek, the value should be `1.0`. This
+ value is used by elements that synchronize buffer [running
+ times](additional/design/synchronisation.md#running-time) on
+ the clock (usually the sink elements), leading to consuming
+ buffers faster (for a value `&gt; 1.0`) or slower (for `0.0 &lt;
+ value &lt; 1.0`) than normal playback speed. The rate also
+ defines the playback direction, meaning that when the value is
+ lower than `0.0`, the playback happens in reverse, and the
+ [stream-time](additional/design/synchronisation.md#stream-time)
+ is going backward. The `rate` value should never be `0.0`.</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </field>
+ <field name="applied_rate" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.h"
+ line="214">The applied rate is the rate that has been applied to the stream.
+ The effective/resulting playback rate of a stream is
+ `rate * applied_rate`.
+ The applied rate can be set by source elements when a server is
+ sending the stream with an already modified playback speed
+ rate. Filter elements that modify the stream in a way that
+ modifies the playback speed should also modify the applied
+ rate. For example the #videorate element when its
+ #videorate:rate property is set will set the applied rate of
+ the segment it pushed downstream. Also #scaletempo applies the
+ input segment rate to the stream and outputs a segment with
+ rate=1.0 and applied_rate=&lt;inputsegment.rate&gt;.</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </field>
+ <field name="format" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.h"
+ line="226">the unit used for all of the segment's values.</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </field>
+ <field name="base" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.h"
+ line="227">the running time (plus elapsed time, see offset) of the
+ segment [start](GstSegment.start) ([stop](GstSegment.stop) if
+ rate &lt; 0.0).</doc>
+ <type name="guint64" c:type="guint64"/>
+ </field>
+ <field name="offset" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.h"
+ line="230">the offset expresses the elapsed time (in buffer timestamps)
+ before a seek with its start (stop if rate &lt; 0.0) seek type
+ set to #GST_SEEK_TYPE_NONE, the value is set to the position
+ of the segment at the time of the seek.</doc>
+ <type name="guint64" c:type="guint64"/>
+ </field>
+ <field name="start" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.h"
+ line="234">the start time of the segment (in buffer timestamps)
+ [(PTS)](GstBuffer.pts), that is the timestamp of the first
+ buffer to output inside the segment (last one during
+ reverse playback). For example decoders will
+ [clip](gst_segment_clip) out the buffers before the start
+ time.</doc>
+ <type name="guint64" c:type="guint64"/>
+ </field>
+ <field name="stop" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.h"
+ line="240">the stop time of the segment (in buffer timestamps)
+ [(PTS)](GstBuffer.pts), that is the timestamp of the last
+ buffer to output inside the segment (first one during
+ reverse playback). For example decoders will
+ [clip](gst_segment_clip) out buffers after the stop time.</doc>
+ <type name="guint64" c:type="guint64"/>
+ </field>
+ <field name="time" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.h"
+ line="245">the stream time of the segment [start](GstSegment.start)
+ ([stop](GstSegment.stop) if rate &lt; 0.0).</doc>
+ <type name="guint64" c:type="guint64"/>
+ </field>
+ <field name="position" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.h"
+ line="247">the buffer timestamp position in the segment is supposed to be
+ updated by elements such as sources, demuxers or parsers to
+ track progress by setting it to the last pushed buffer' end time
+ ([timestamp](GstBuffer.pts) + #GstBuffer.duration) for that
+ specific segment. The position is used when reconfiguring the
+ segment with #gst_segment_do_seek when the seek is only
+ updating the segment (see [offset](GstSegment.offset)).</doc>
+ <type name="guint64" c:type="guint64"/>
+ </field>
+ <field name="duration" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.h"
+ line="254">the duration of the segment is the maximum absolute difference
+ between #GstSegment.start and #GstSegment.stop if stop is not
+ set, otherwise it should be the difference between those
+ two values. This should be set by elements that know the
+ overall stream duration (like demuxers) and will be used when
+ seeking with #GST_SEEK_TYPE_END.</doc>
+ <type name="guint64" c:type="guint64"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <constructor name="new" c:identifier="gst_segment_new">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.c"
+ line="127">Allocate a new #GstSegment structure and initialize it using
+gst_segment_init().
+
+Free-function: gst_segment_free</doc>
+ <source-position filename="gst/gstsegment.h" line="288"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.c"
+ line="135">a new #GstSegment, free with gst_segment_free().</doc>
+ <type name="Segment" c:type="GstSegment*"/>
+ </return-value>
+ </constructor>
+ <method name="clip" c:identifier="gst_segment_clip">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.c"
+ line="868">Clip the given @start and @stop values to the segment boundaries given
+in @segment. @start and @stop are compared and clipped to @segment
+start and stop values.
+
+If the function returns %FALSE, @start and @stop are known to fall
+outside of @segment and @clip_start and @clip_stop are not updated.
+
+When the function returns %TRUE, @clip_start and @clip_stop will be
+updated. If @clip_start or @clip_stop are different from @start or @stop
+respectively, the region fell partially in the segment.
+
+Note that when @stop is -1, @clip_stop will be set to the end of the
+segment. Depending on the use case, this may or may not be what you want.</doc>
+ <source-position filename="gst/gstsegment.h" line="337"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.c"
+ line="891">%TRUE if the given @start and @stop times fall partially or
+ completely in @segment, %FALSE if the values are completely outside
+ of the segment.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="segment" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.c"
+ line="870">a #GstSegment structure.</doc>
+ <type name="Segment" c:type="const GstSegment*"/>
+ </instance-parameter>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.c"
+ line="871">the format of the segment.</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ <parameter name="start" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.c"
+ line="872">the start position in the segment</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ <parameter name="stop" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.c"
+ line="873">the stop position in the segment</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ <parameter name="clip_start"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.c"
+ line="874">the clipped start position in the segment</doc>
+ <type name="guint64" c:type="guint64*"/>
+ </parameter>
+ <parameter name="clip_stop"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.c"
+ line="875">the clipped stop position in the segment</doc>
+ <type name="guint64" c:type="guint64*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="copy" c:identifier="gst_segment_copy">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.c"
+ line="90">Create a copy of given @segment.
+
+Free-function: gst_segment_free</doc>
+ <source-position filename="gst/gstsegment.h" line="291"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.c"
+ line="98">a new #GstSegment, free with gst_segment_free().</doc>
+ <type name="Segment" c:type="GstSegment*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="segment" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.c"
+ line="92">a #GstSegment</doc>
+ <type name="Segment" c:type="const GstSegment*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="copy_into" c:identifier="gst_segment_copy_into">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.c"
+ line="111">Copy the contents of @src into @dest.</doc>
+ <source-position filename="gst/gstsegment.h" line="294"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="src" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.c"
+ line="113">a #GstSegment</doc>
+ <type name="Segment" c:type="const GstSegment*"/>
+ </instance-parameter>
+ <parameter name="dest" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.c"
+ line="114">a #GstSegment</doc>
+ <type name="Segment" c:type="GstSegment*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="do_seek" c:identifier="gst_segment_do_seek">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.c"
+ line="189">Update the segment structure with the field values of a seek event (see
+gst_event_new_seek()).
+
+After calling this method, the segment field position and time will
+contain the requested new position in the segment. The new requested
+position in the segment depends on @rate and @start_type and @stop_type.
+
+For positive @rate, the new position in the segment is the new @segment
+start field when it was updated with a @start_type different from
+#GST_SEEK_TYPE_NONE. If no update was performed on @segment start position
+(#GST_SEEK_TYPE_NONE), @start is ignored and @segment position is
+unmodified.
+
+For negative @rate, the new position in the segment is the new @segment
+stop field when it was updated with a @stop_type different from
+#GST_SEEK_TYPE_NONE. If no stop was previously configured in the segment, the
+duration of the segment will be used to update the stop position.
+If no update was performed on @segment stop position (#GST_SEEK_TYPE_NONE),
+@stop is ignored and @segment position is unmodified.
+
+The applied rate of the segment will be set to 1.0 by default.
+If the caller can apply a rate change, it should update @segment
+rate and applied_rate after calling this function.
+
+@update will be set to %TRUE if a seek should be performed to the segment
+position field. This field can be %FALSE if, for example, only the @rate
+has been changed but not the playback position.</doc>
+ <source-position filename="gst/gstsegment.h" line="340"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.c"
+ line="229">%TRUE if the seek could be performed.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="segment" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.c"
+ line="191">a #GstSegment structure.</doc>
+ <type name="Segment" c:type="GstSegment*"/>
+ </instance-parameter>
+ <parameter name="rate" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.c"
+ line="192">the rate of the segment.</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </parameter>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.c"
+ line="193">the format of the segment.</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.c"
+ line="194">the segment flags for the segment</doc>
+ <type name="SeekFlags" c:type="GstSeekFlags"/>
+ </parameter>
+ <parameter name="start_type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.c"
+ line="195">the seek method</doc>
+ <type name="SeekType" c:type="GstSeekType"/>
+ </parameter>
+ <parameter name="start" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.c"
+ line="196">the seek start value</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ <parameter name="stop_type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.c"
+ line="197">the seek method</doc>
+ <type name="SeekType" c:type="GstSeekType"/>
+ </parameter>
+ <parameter name="stop" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.c"
+ line="198">the seek stop value</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ <parameter name="update"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.c"
+ line="199">boolean holding whether position was updated.</doc>
+ <type name="gboolean" c:type="gboolean*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="free" c:identifier="gst_segment_free">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.c"
+ line="148">Free the allocated segment @segment.</doc>
+ <source-position filename="gst/gstsegment.h" line="297"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="segment" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.c"
+ line="150">a #GstSegment</doc>
+ <type name="Segment" c:type="GstSegment*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="init" c:identifier="gst_segment_init">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.c"
+ line="160">The start/position fields are set to 0 and the stop/duration
+fields are set to -1 (unknown). The default rate of 1.0 and no
+flags are set.
+
+Initialize @segment to its default values.</doc>
+ <source-position filename="gst/gstsegment.h" line="300"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="segment" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.c"
+ line="162">a #GstSegment structure.</doc>
+ <type name="Segment" c:type="GstSegment*"/>
+ </instance-parameter>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.c"
+ line="163">the format of the segment.</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="is_equal"
+ c:identifier="gst_segment_is_equal"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.c"
+ line="1216">Checks for two segments being equal. Equality here is defined
+as perfect equality, including floating point values.</doc>
+ <source-position filename="gst/gstsegment.h" line="345"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.c"
+ line="1226">%TRUE if the segments are equal, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="s0" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.c"
+ line="1218">a #GstSegment structure.</doc>
+ <type name="Segment" c:type="const GstSegment*"/>
+ </instance-parameter>
+ <parameter name="s1" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.c"
+ line="1219">a #GstSegment structure.</doc>
+ <type name="Segment" c:type="const GstSegment*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="offset_running_time"
+ c:identifier="gst_segment_offset_running_time"
+ version="1.2.3">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.c"
+ line="1167">Adjust the values in @segment so that @offset is applied to all
+future running-time calculations.</doc>
+ <source-position filename="gst/gstsegment.h" line="334"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.c"
+ line="1178">%TRUE if the segment could be updated successfully. If %FALSE is
+returned, @offset is not in @segment.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="segment" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.c"
+ line="1169">a #GstSegment structure.</doc>
+ <type name="Segment" c:type="GstSegment*"/>
+ </instance-parameter>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.c"
+ line="1170">the format of the segment.</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ <parameter name="offset" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.c"
+ line="1171">the offset to apply in the segment</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="position_from_running_time"
+ c:identifier="gst_segment_position_from_running_time"
+ version="1.8">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.c"
+ line="937">Convert @running_time into a position in the segment so that
+gst_segment_to_running_time() with that position returns @running_time.</doc>
+ <source-position filename="gst/gstsegment.h" line="328"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.c"
+ line="946">the position in the segment for @running_time. This function returns
+-1 when @running_time is -1 or when it is not inside @segment.</doc>
+ <type name="guint64" c:type="guint64"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="segment" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.c"
+ line="939">a #GstSegment structure.</doc>
+ <type name="Segment" c:type="const GstSegment*"/>
+ </instance-parameter>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.c"
+ line="940">the format of the segment.</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ <parameter name="running_time" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.c"
+ line="941">the running_time in the segment</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="position_from_running_time_full"
+ c:identifier="gst_segment_position_from_running_time_full"
+ version="1.8">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.c"
+ line="985">Translate @running_time to the segment position using the currently configured
+segment. Compared to gst_segment_position_from_running_time() this function can
+return negative segment position.
+
+This function is typically used by elements that need to synchronize buffers
+against the clock or each other.
+
+@running_time can be any value and the result of this function for values
+outside of the segment is extrapolated.
+
+When 1 is returned, @running_time resulted in a positive position returned
+in @position.
+
+When this function returns -1, the returned @position was &lt; 0, and the value
+in the position variable should be negated to get the real negative segment
+position.</doc>
+ <source-position filename="gst/gstsegment.h" line="325"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.c"
+ line="1009">a 1 or -1 on success, 0 on failure.</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="segment" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.c"
+ line="987">a #GstSegment structure.</doc>
+ <type name="Segment" c:type="const GstSegment*"/>
+ </instance-parameter>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.c"
+ line="988">the format of the segment.</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ <parameter name="running_time" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.c"
+ line="989">the running-time</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ <parameter name="position"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.c"
+ line="990">the resulting position in the segment</doc>
+ <type name="guint64" c:type="guint64*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="position_from_stream_time"
+ c:identifier="gst_segment_position_from_stream_time"
+ version="1.8">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.c"
+ line="659">Convert @stream_time into a position in the segment so that
+gst_segment_to_stream_time() with that position returns @stream_time.</doc>
+ <source-position filename="gst/gstsegment.h" line="312"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.c"
+ line="668">the position in the segment for @stream_time. This function returns
+-1 when @stream_time is -1 or when it is not inside @segment.</doc>
+ <type name="guint64" c:type="guint64"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="segment" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.c"
+ line="661">a #GstSegment structure.</doc>
+ <type name="Segment" c:type="const GstSegment*"/>
+ </instance-parameter>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.c"
+ line="662">the format of the segment.</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ <parameter name="stream_time" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.c"
+ line="663">the stream_time in the segment</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="position_from_stream_time_full"
+ c:identifier="gst_segment_position_from_stream_time_full"
+ version="1.8">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.c"
+ line="548">Translate @stream_time to the segment position using the currently configured
+segment. Compared to gst_segment_position_from_stream_time() this function can
+return negative segment position.
+
+This function is typically used by elements that need to synchronize buffers
+against the clock or each other.
+
+@stream_time can be any value and the result of this function for values outside
+of the segment is extrapolated.
+
+When 1 is returned, @stream_time resulted in a positive position returned
+in @position.
+
+When this function returns -1, the returned @position should be negated
+to get the real negative segment position.</doc>
+ <source-position filename="gst/gstsegment.h" line="309"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.c"
+ line="571">a 1 or -1 on success, 0 on failure.</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="segment" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.c"
+ line="550">a #GstSegment structure.</doc>
+ <type name="Segment" c:type="const GstSegment*"/>
+ </instance-parameter>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.c"
+ line="551">the format of the segment.</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ <parameter name="stream_time" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.c"
+ line="552">the stream-time</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ <parameter name="position"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.c"
+ line="553">the resulting position in the segment</doc>
+ <type name="guint64" c:type="guint64*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_running_time"
+ c:identifier="gst_segment_set_running_time">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.c"
+ line="1121">Adjust the start/stop and base values of @segment such that the next valid
+buffer will be one with @running_time.</doc>
+ <source-position filename="gst/gstsegment.h" line="331"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.c"
+ line="1130">%TRUE if the segment could be updated successfully. If %FALSE is
+returned, @running_time is -1 or not in @segment.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="segment" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.c"
+ line="1123">a #GstSegment structure.</doc>
+ <type name="Segment" c:type="GstSegment*"/>
+ </instance-parameter>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.c"
+ line="1124">the format of the segment.</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ <parameter name="running_time" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.c"
+ line="1125">the running_time in the segment</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="to_position"
+ c:identifier="gst_segment_to_position"
+ deprecated="1">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.c"
+ line="1098">Convert @running_time into a position in the segment so that
+gst_segment_to_running_time() with that position returns @running_time.</doc>
+ <doc-deprecated xml:space="preserve">Use gst_segment_position_from_running_time() instead.</doc-deprecated>
+ <source-position filename="gst/gstsegment.h" line="322"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.c"
+ line="1107">the position in the segment for @running_time. This function returns
+-1 when @running_time is -1 or when it is not inside @segment.</doc>
+ <type name="guint64" c:type="guint64"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="segment" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.c"
+ line="1100">a #GstSegment structure.</doc>
+ <type name="Segment" c:type="const GstSegment*"/>
+ </instance-parameter>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.c"
+ line="1101">the format of the segment.</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ <parameter name="running_time" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.c"
+ line="1102">the running_time in the segment</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="to_running_time"
+ c:identifier="gst_segment_to_running_time">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.c"
+ line="820">Translate @position to the total running time using the currently configured
+segment. Position is a value between @segment start and stop time.
+
+This function is typically used by elements that need to synchronize to the
+global clock in a pipeline. The running time is a constantly increasing value
+starting from 0. When gst_segment_init() is called, this value will reset to
+0.
+
+This function returns -1 if the position is outside of @segment start and stop.</doc>
+ <source-position filename="gst/gstsegment.h" line="315"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.c"
+ line="836">the position as the total running time or -1 when an invalid position
+was given.</doc>
+ <type name="guint64" c:type="guint64"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="segment" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.c"
+ line="822">a #GstSegment structure.</doc>
+ <type name="Segment" c:type="const GstSegment*"/>
+ </instance-parameter>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.c"
+ line="823">the format of the segment.</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ <parameter name="position" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.c"
+ line="824">the position in the segment</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="to_running_time_full"
+ c:identifier="gst_segment_to_running_time_full"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.c"
+ line="707">Translate @position to the total running time using the currently configured
+segment. Compared to gst_segment_to_running_time() this function can return
+negative running-time.
+
+This function is typically used by elements that need to synchronize buffers
+against the clock or each other.
+
+@position can be any value and the result of this function for values outside
+of the segment is extrapolated.
+
+When 1 is returned, @position resulted in a positive running-time returned
+in @running_time.
+
+When this function returns -1, the returned @running_time should be negated
+to get the real negative running time.</doc>
+ <source-position filename="gst/gstsegment.h" line="318"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.c"
+ line="730">a 1 or -1 on success, 0 on failure.</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="segment" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.c"
+ line="709">a #GstSegment structure.</doc>
+ <type name="Segment" c:type="const GstSegment*"/>
+ </instance-parameter>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.c"
+ line="710">the format of the segment.</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ <parameter name="position" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.c"
+ line="711">the position in the segment</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ <parameter name="running_time"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.c"
+ line="712">result running-time</doc>
+ <type name="guint64" c:type="guint64*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="to_stream_time"
+ c:identifier="gst_segment_to_stream_time"
+ version="1.8">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.c"
+ line="498">Translate @position to stream time using the currently configured
+segment. The @position value must be between @segment start and
+stop value.
+
+This function is typically used by elements that need to operate on
+the stream time of the buffers it receives, such as effect plugins.
+In those use cases, @position is typically the buffer timestamp or
+clock time that one wants to convert to the stream time.
+The stream time is always between 0 and the total duration of the
+media stream.</doc>
+ <source-position filename="gst/gstsegment.h" line="306"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.c"
+ line="515">the position in stream_time or -1 when an invalid position
+was given.</doc>
+ <type name="guint64" c:type="guint64"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="segment" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.c"
+ line="500">a #GstSegment structure.</doc>
+ <type name="Segment" c:type="const GstSegment*"/>
+ </instance-parameter>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.c"
+ line="501">the format of the segment.</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ <parameter name="position" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.c"
+ line="502">the position in the segment</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="to_stream_time_full"
+ c:identifier="gst_segment_to_stream_time_full"
+ version="1.8">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.c"
+ line="390">Translate @position to the total stream time using the currently configured
+segment. Compared to gst_segment_to_stream_time() this function can return
+negative stream-time.
+
+This function is typically used by elements that need to synchronize buffers
+against the clock or each other.
+
+@position can be any value and the result of this function for values outside
+of the segment is extrapolated.
+
+When 1 is returned, @position resulted in a positive stream-time returned
+in @stream_time.
+
+When this function returns -1, the returned @stream_time should be negated
+to get the real negative stream time.</doc>
+ <source-position filename="gst/gstsegment.h" line="303"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.c"
+ line="413">a 1 or -1 on success, 0 on failure.</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="segment" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.c"
+ line="392">a #GstSegment structure.</doc>
+ <type name="Segment" c:type="const GstSegment*"/>
+ </instance-parameter>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.c"
+ line="393">the format of the segment.</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ <parameter name="position" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.c"
+ line="394">the position in the segment</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ <parameter name="stream_time"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.c"
+ line="395">result stream-time</doc>
+ <type name="guint64" c:type="guint64*"/>
+ </parameter>
+ </parameters>
+ </method>
+ </record>
+ <bitfield name="SegmentFlags"
+ glib:type-name="GstSegmentFlags"
+ glib:get-type="gst_segment_flags_get_type"
+ c:type="GstSegmentFlags">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.h"
+ line="163">Flags for the GstSegment structure. Currently mapped to the corresponding
+values of the seek flags.</doc>
+ <member name="none"
+ value="0"
+ c:identifier="GST_SEGMENT_FLAG_NONE"
+ glib:nick="none">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.h"
+ line="165">no flags</doc>
+ </member>
+ <member name="reset"
+ value="1"
+ c:identifier="GST_SEGMENT_FLAG_RESET"
+ glib:nick="reset">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.h"
+ line="166">reset the pipeline running_time to the segment
+ running_time</doc>
+ </member>
+ <member name="trickmode"
+ value="16"
+ c:identifier="GST_SEGMENT_FLAG_TRICKMODE"
+ glib:nick="trickmode">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.h"
+ line="168">perform skip playback (Since: 1.6)</doc>
+ </member>
+ <member name="skip"
+ value="16"
+ c:identifier="GST_SEGMENT_FLAG_SKIP"
+ glib:nick="skip">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.h"
+ line="176">Deprecated backward compatibility flag, replaced
+ by @GST_SEGMENT_FLAG_TRICKMODE</doc>
+ </member>
+ <member name="segment"
+ value="8"
+ c:identifier="GST_SEGMENT_FLAG_SEGMENT"
+ glib:nick="segment">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.h"
+ line="169">send SEGMENT_DONE instead of EOS</doc>
+ </member>
+ <member name="trickmode_key_units"
+ value="128"
+ c:identifier="GST_SEGMENT_FLAG_TRICKMODE_KEY_UNITS"
+ glib:nick="trickmode-key-units">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.h"
+ line="170">Decode only keyframes, where
+ possible (Since: 1.6)</doc>
+ </member>
+ <member name="trickmode_forward_predicted"
+ value="512"
+ c:identifier="GST_SEGMENT_FLAG_TRICKMODE_FORWARD_PREDICTED"
+ glib:nick="trickmode-forward-predicted">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.h"
+ line="172">Decode only keyframes or forward
+ predicted frames, where possible (Since: 1.18)</doc>
+ </member>
+ <member name="trickmode_no_audio"
+ value="256"
+ c:identifier="GST_SEGMENT_FLAG_TRICKMODE_NO_AUDIO"
+ glib:nick="trickmode-no-audio">
+ <doc xml:space="preserve"
+ filename="gst/gstsegment.h"
+ line="174">Do not decode any audio, where
+ possible (Since: 1.6)</doc>
+ </member>
+ </bitfield>
+ <class name="SharedTaskPool"
+ c:symbol-prefix="shared_task_pool"
+ c:type="GstSharedTaskPool"
+ version="1.20"
+ parent="TaskPool"
+ glib:type-name="GstSharedTaskPool"
+ glib:get-type="gst_shared_task_pool_get_type"
+ glib:type-struct="SharedTaskPoolClass">
+ <doc xml:space="preserve"
+ filename="gst/gsttaskpool.h"
+ line="133">The #GstSharedTaskPool object.</doc>
+ <source-position filename="gst/gsttaskpool.h" line="161"/>
+ <constructor name="new"
+ c:identifier="gst_shared_task_pool_new"
+ version="1.20">
+ <doc xml:space="preserve"
+ filename="gst/gsttaskpool.c"
+ line="525">Create a new shared task pool. The shared task pool will queue tasks on
+a maximum number of threads, 1 by default.
+
+Do not use a #GstSharedTaskPool to manage potentially inter-dependent tasks such
+as pad tasks, as having one task waiting on another to return before returning
+would cause obvious deadlocks if they happen to share the same thread.</doc>
+ <source-position filename="gst/gsttaskpool.h" line="173"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gsttaskpool.c"
+ line="535">a new #GstSharedTaskPool. gst_object_unref() after usage.</doc>
+ <type name="TaskPool" c:type="GstTaskPool*"/>
+ </return-value>
+ </constructor>
+ <method name="get_max_threads"
+ c:identifier="gst_shared_task_pool_get_max_threads"
+ version="1.20">
+ <source-position filename="gst/gsttaskpool.h" line="170"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaskpool.c"
+ line="508">the maximum number of threads @pool is configured to spawn</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pool" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaskpool.c"
+ line="506">a #GstSharedTaskPool</doc>
+ <type name="SharedTaskPool" c:type="GstSharedTaskPool*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="set_max_threads"
+ c:identifier="gst_shared_task_pool_set_max_threads"
+ version="1.20">
+ <doc xml:space="preserve"
+ filename="gst/gsttaskpool.c"
+ line="474">Update the maximal number of threads the @pool may spawn. When
+the maximal number of threads is reduced, existing threads are not
+immediately shut down, see g_thread_pool_set_max_threads().
+
+Setting @max_threads to 0 effectively freezes the pool.</doc>
+ <source-position filename="gst/gsttaskpool.h" line="167"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pool" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaskpool.c"
+ line="476">a #GstSharedTaskPool</doc>
+ <type name="SharedTaskPool" c:type="GstSharedTaskPool*"/>
+ </instance-parameter>
+ <parameter name="max_threads" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaskpool.c"
+ line="477">Maximum number of threads to spawn.</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <field name="parent">
+ <type name="TaskPool" c:type="GstTaskPool"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="SharedTaskPoolPrivate" c:type="GstSharedTaskPoolPrivate*"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="SharedTaskPoolClass"
+ c:type="GstSharedTaskPoolClass"
+ glib:is-gtype-struct-for="SharedTaskPool"
+ version="1.20">
+ <doc xml:space="preserve"
+ filename="gst/gsttaskpool.h"
+ line="149">The #GstSharedTaskPoolClass object.</doc>
+ <source-position filename="gst/gsttaskpool.h" line="161"/>
+ <field name="parent_class">
+ <type name="TaskPoolClass" c:type="GstTaskPoolClass"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="SharedTaskPoolPrivate"
+ c:type="GstSharedTaskPoolPrivate"
+ disguised="1">
+ <source-position filename="gst/gsttaskpool.h" line="124"/>
+ </record>
+ <bitfield name="StackTraceFlags"
+ version="1.12"
+ glib:type-name="GstStackTraceFlags"
+ glib:get-type="gst_stack_trace_flags_get_type"
+ c:type="GstStackTraceFlags">
+ <member name="none"
+ value="0"
+ c:identifier="GST_STACK_TRACE_SHOW_NONE"
+ glib:nick="none">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.h"
+ line="180">Try to retrieve the minimum information
+ available, which may be none on some platforms
+ (Since: 1.18)</doc>
+ </member>
+ <member name="full"
+ value="1"
+ c:identifier="GST_STACK_TRACE_SHOW_FULL"
+ glib:nick="full">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.h"
+ line="183">Try to retrieve as much information as possible,
+ including source information when getting the
+ stack trace</doc>
+ </member>
+ </bitfield>
+ <enumeration name="State"
+ glib:type-name="GstState"
+ glib:get-type="gst_state_get_type"
+ c:type="GstState">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="36">The possible states an element can be in. States can be changed using
+gst_element_set_state() and checked using gst_element_get_state().</doc>
+ <member name="void_pending"
+ value="0"
+ c:identifier="GST_STATE_VOID_PENDING"
+ glib:nick="void-pending">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="38">no pending state.</doc>
+ </member>
+ <member name="null"
+ value="1"
+ c:identifier="GST_STATE_NULL"
+ glib:nick="null">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="39">the NULL state or initial state of an element.</doc>
+ </member>
+ <member name="ready"
+ value="2"
+ c:identifier="GST_STATE_READY"
+ glib:nick="ready">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="40">the element is ready to go to PAUSED.</doc>
+ </member>
+ <member name="paused"
+ value="3"
+ c:identifier="GST_STATE_PAUSED"
+ glib:nick="paused">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="41">the element is PAUSED, it is ready to accept and
+ process data. Sink elements however only accept one
+ buffer and then block.</doc>
+ </member>
+ <member name="playing"
+ value="4"
+ c:identifier="GST_STATE_PLAYING"
+ glib:nick="playing">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="44">the element is PLAYING, the #GstClock is running and
+ the data is flowing.</doc>
+ </member>
+ </enumeration>
+ <enumeration name="StateChange"
+ glib:type-name="GstStateChange"
+ glib:get-type="gst_state_change_get_type"
+ c:type="GstStateChange">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="177">These are the different state changes an element goes through.
+%GST_STATE_NULL &amp;rArr; %GST_STATE_PLAYING is called an upwards state change
+and %GST_STATE_PLAYING &amp;rArr; %GST_STATE_NULL a downwards state change.</doc>
+ <member name="null_to_ready"
+ value="10"
+ c:identifier="GST_STATE_CHANGE_NULL_TO_READY"
+ glib:nick="null-to-ready">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="179">state change from NULL to READY.
+ * The element must check if the resources it needs are available. Device
+ sinks and -sources typically try to probe the device to constrain their
+ caps.
+ * The element opens the device (in case feature need to be probed).</doc>
+ </member>
+ <member name="ready_to_paused"
+ value="19"
+ c:identifier="GST_STATE_CHANGE_READY_TO_PAUSED"
+ glib:nick="ready-to-paused">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="184">state change from READY to PAUSED.
+ * The element pads are activated in order to receive data in PAUSED.
+ Streaming threads are started.
+ * Some elements might need to return %GST_STATE_CHANGE_ASYNC and complete
+ the state change when they have enough information. It is a requirement
+ for sinks to return %GST_STATE_CHANGE_ASYNC and complete the state change
+ when they receive the first buffer or %GST_EVENT_EOS (preroll).
+ Sinks also block the dataflow when in PAUSED.
+ * A pipeline resets the running_time to 0.
+ * Live sources return %GST_STATE_CHANGE_NO_PREROLL and don't generate data.</doc>
+ </member>
+ <member name="paused_to_playing"
+ value="28"
+ c:identifier="GST_STATE_CHANGE_PAUSED_TO_PLAYING"
+ glib:nick="paused-to-playing">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="194">state change from PAUSED to PLAYING.
+ * Most elements ignore this state change.
+ * The pipeline selects a #GstClock and distributes this to all the children
+ before setting them to PLAYING. This means that it is only allowed to
+ synchronize on the #GstClock in the PLAYING state.
+ * The pipeline uses the #GstClock and the running_time to calculate the
+ base_time. The base_time is distributed to all children when performing
+ the state change.
+ * Sink elements stop blocking on the preroll buffer or event and start
+ rendering the data.
+ * Sinks can post %GST_MESSAGE_EOS in the PLAYING state. It is not allowed
+ to post %GST_MESSAGE_EOS when not in the PLAYING state.
+ * While streaming in PAUSED or PLAYING elements can create and remove
+ sometimes pads.
+ * Live sources start generating data and return %GST_STATE_CHANGE_SUCCESS.</doc>
+ </member>
+ <member name="playing_to_paused"
+ value="35"
+ c:identifier="GST_STATE_CHANGE_PLAYING_TO_PAUSED"
+ glib:nick="playing-to-paused">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="209">state change from PLAYING to PAUSED.
+ * Most elements ignore this state change.
+ * The pipeline calculates the running_time based on the last selected
+ #GstClock and the base_time. It stores this information to continue
+ playback when going back to the PLAYING state.
+ * Sinks unblock any #GstClock wait calls.
+ * When a sink does not have a pending buffer to play, it returns
+ #GST_STATE_CHANGE_ASYNC from this state change and completes the state
+ change when it receives a new buffer or an %GST_EVENT_EOS.
+ * Any queued %GST_MESSAGE_EOS items are removed since they will be reposted
+ when going back to the PLAYING state. The EOS messages are queued in
+ #GstBin containers.
+ * Live sources stop generating data and return %GST_STATE_CHANGE_NO_PREROLL.</doc>
+ </member>
+ <member name="paused_to_ready"
+ value="26"
+ c:identifier="GST_STATE_CHANGE_PAUSED_TO_READY"
+ glib:nick="paused-to-ready">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="222">state change from PAUSED to READY.
+ * Sinks unblock any waits in the preroll.
+ * Elements unblock any waits on devices
+ * Chain or get_range functions return %GST_FLOW_FLUSHING.
+ * The element pads are deactivated so that streaming becomes impossible and
+ all streaming threads are stopped.
+ * The sink forgets all negotiated formats
+ * Elements remove all sometimes pads</doc>
+ </member>
+ <member name="ready_to_null"
+ value="17"
+ c:identifier="GST_STATE_CHANGE_READY_TO_NULL"
+ glib:nick="ready-to-null">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="230">state change from READY to NULL.
+ * Elements close devices
+ * Elements reset any internal state.</doc>
+ </member>
+ <member name="null_to_null"
+ value="9"
+ c:identifier="GST_STATE_CHANGE_NULL_TO_NULL"
+ glib:nick="null-to-null">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="233">state change from NULL to NULL. (Since: 1.14)</doc>
+ </member>
+ <member name="ready_to_ready"
+ value="18"
+ c:identifier="GST_STATE_CHANGE_READY_TO_READY"
+ glib:nick="ready-to-ready">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="234">state change from READY to READY,
+This might happen when going to PAUSED asynchronously failed, in that case
+elements should make sure they are in a proper, coherent READY state. (Since: 1.14)</doc>
+ </member>
+ <member name="paused_to_paused"
+ value="27"
+ c:identifier="GST_STATE_CHANGE_PAUSED_TO_PAUSED"
+ glib:nick="paused-to-paused">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="237">state change from PAUSED to PAUSED.
+This might happen when elements were in PLAYING state and 'lost state',
+they should make sure to go back to real 'PAUSED' state (prerolling for example). (Since: 1.14)</doc>
+ </member>
+ <member name="playing_to_playing"
+ value="36"
+ c:identifier="GST_STATE_CHANGE_PLAYING_TO_PLAYING"
+ glib:nick="playing-to-playing">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="240">state change from PLAYING to PLAYING. (Since: 1.14)</doc>
+ </member>
+ <function name="get_name"
+ c:identifier="gst_state_change_get_name"
+ version="1.14">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="1331">Gets a string representing the given state transition.</doc>
+ <source-position filename="gst/gstutils.h" line="999"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="1337">a string with the name of the state
+ result.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="transition" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="1333">a #GstStateChange to get the name of.</doc>
+ <type name="StateChange" c:type="GstStateChange"/>
+ </parameter>
+ </parameters>
+ </function>
+ </enumeration>
+ <enumeration name="StateChangeReturn"
+ glib:type-name="GstStateChangeReturn"
+ glib:get-type="gst_state_change_return_get_type"
+ c:type="GstStateChangeReturn">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="66">The possible return values from a state change function such as
+gst_element_set_state(). Only @GST_STATE_CHANGE_FAILURE is a real failure.</doc>
+ <member name="failure"
+ value="0"
+ c:identifier="GST_STATE_CHANGE_FAILURE"
+ glib:nick="failure">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="68">the state change failed</doc>
+ </member>
+ <member name="success"
+ value="1"
+ c:identifier="GST_STATE_CHANGE_SUCCESS"
+ glib:nick="success">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="69">the state change succeeded</doc>
+ </member>
+ <member name="async"
+ value="2"
+ c:identifier="GST_STATE_CHANGE_ASYNC"
+ glib:nick="async">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="70">the state change will happen asynchronously</doc>
+ </member>
+ <member name="no_preroll"
+ value="3"
+ c:identifier="GST_STATE_CHANGE_NO_PREROLL"
+ glib:nick="no-preroll">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="71">the state change succeeded but the element
+ cannot produce data in %GST_STATE_PAUSED.
+ This typically happens with live sources.</doc>
+ </member>
+ </enumeration>
+ <record name="StaticCaps" c:type="GstStaticCaps">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.h"
+ line="336">Datastructure to initialize #GstCaps from a string description usually
+used in conjunction with GST_STATIC_CAPS() and gst_static_caps_get() to
+instantiate a #GstCaps.</doc>
+ <source-position filename="gst/gstcaps.h" line="352"/>
+ <field name="caps" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.h"
+ line="338">the cached #GstCaps</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </field>
+ <field name="string" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.h"
+ line="339">a string describing a caps</doc>
+ <type name="utf8" c:type="const char*"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <method name="cleanup" c:identifier="gst_static_caps_cleanup">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="461">Clean up the cached caps contained in @static_caps.</doc>
+ <source-position filename="gst/gstcaps.h" line="438"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="static_caps" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="463">the #GstStaticCaps to clean</doc>
+ <type name="StaticCaps" c:type="GstStaticCaps*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get" c:identifier="gst_static_caps_get">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="396">Converts a #GstStaticCaps to a #GstCaps.</doc>
+ <source-position filename="gst/gstcaps.h" line="435"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="402">a pointer to the #GstCaps. Unref
+ after usage. Since the core holds an additional ref to the
+ returned caps, use gst_caps_make_writable() on the returned caps
+ to modify it.</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="static_caps" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="398">the #GstStaticCaps to convert</doc>
+ <type name="StaticCaps" c:type="GstStaticCaps*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ </record>
+ <record name="StaticPadTemplate" c:type="GstStaticPadTemplate">
+ <doc xml:space="preserve"
+ filename="gst/gstpadtemplate.h"
+ line="159">Structure describing the #GstStaticPadTemplate.</doc>
+ <source-position filename="gst/gstpadtemplate.h" line="173"/>
+ <field name="name_template" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstpadtemplate.h"
+ line="161">the name of the template</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </field>
+ <field name="direction" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstpadtemplate.h"
+ line="162">the direction of the template</doc>
+ <type name="PadDirection" c:type="GstPadDirection"/>
+ </field>
+ <field name="presence" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstpadtemplate.h"
+ line="163">the presence of the template</doc>
+ <type name="PadPresence" c:type="GstPadPresence"/>
+ </field>
+ <field name="static_caps" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstpadtemplate.h"
+ line="164">the caps of the template.</doc>
+ <type name="StaticCaps" c:type="GstStaticCaps"/>
+ </field>
+ <method name="get" c:identifier="gst_static_pad_template_get">
+ <doc xml:space="preserve"
+ filename="gst/gstpadtemplate.c"
+ line="298">Converts a #GstStaticPadTemplate into a #GstPadTemplate.</doc>
+ <source-position filename="gst/gstpadtemplate.h" line="219"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstpadtemplate.c"
+ line="304">a new #GstPadTemplate.</doc>
+ <type name="PadTemplate" c:type="GstPadTemplate*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pad_template" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpadtemplate.c"
+ line="300">the static pad template</doc>
+ <type name="StaticPadTemplate" c:type="GstStaticPadTemplate*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_caps" c:identifier="gst_static_pad_template_get_caps">
+ <doc xml:space="preserve"
+ filename="gst/gstpadtemplate.c"
+ line="444">Gets the capabilities of the static pad template.</doc>
+ <source-position filename="gst/gstpadtemplate.h" line="227"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstpadtemplate.c"
+ line="450">the #GstCaps of the static pad template.
+Unref after usage. Since the core holds an additional
+ref to the returned caps, use gst_caps_make_writable()
+on the returned caps to modify it.</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="templ" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpadtemplate.c"
+ line="446">a #GstStaticPadTemplate to get capabilities of.</doc>
+ <type name="StaticPadTemplate" c:type="GstStaticPadTemplate*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ </record>
+ <class name="Stream"
+ c:symbol-prefix="stream"
+ c:type="GstStream"
+ version="1.10"
+ parent="Object"
+ glib:type-name="GstStream"
+ glib:get-type="gst_stream_get_type"
+ glib:type-struct="StreamClass">
+ <doc xml:space="preserve"
+ filename="gst/gststreams.h"
+ line="70">A high-level object representing a single stream. It might be backed, or
+not, by an actual flow of data in a pipeline (#GstPad).
+
+A #GstStream does not care about data changes (such as decoding, encoding,
+parsing,...) as long as the underlying data flow corresponds to the same
+high-level flow (ex: a certain audio track).
+
+A #GstStream contains all the information pertinent to a stream, such as
+stream-id, tags, caps, type, ...
+
+Elements can subclass a #GstStream for internal usage (to contain information
+pertinent to streams of data).</doc>
+ <source-position filename="gst/gststreams.h" line="113"/>
+ <constructor name="new" c:identifier="gst_stream_new" version="1.10">
+ <doc xml:space="preserve"
+ filename="gst/gststreams.c"
+ line="198">Create a new #GstStream for the given @stream_id, @caps, @type
+and @flags</doc>
+ <source-position filename="gst/gststreams.h" line="121"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gststreams.c"
+ line="209">The new #GstStream</doc>
+ <type name="Stream" c:type="GstStream*"/>
+ </return-value>
+ <parameters>
+ <parameter name="stream_id"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gststreams.c"
+ line="200">the id for the new stream. If %NULL,
+a new one will be automatically generated</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="caps"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gststreams.c"
+ line="202">the #GstCaps of the stream</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </parameter>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststreams.c"
+ line="203">the #GstStreamType of the stream</doc>
+ <type name="StreamType" c:type="GstStreamType"/>
+ </parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststreams.c"
+ line="204">the #GstStreamFlags of the stream</doc>
+ <type name="StreamFlags" c:type="GstStreamFlags"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <method name="get_caps"
+ c:identifier="gst_stream_get_caps"
+ version="1.10">
+ <doc xml:space="preserve"
+ filename="gst/gststreams.c"
+ line="445">Retrieve the caps for @stream, if any</doc>
+ <source-position filename="gst/gststreams.h" line="150"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gststreams.c"
+ line="451">The #GstCaps for @stream</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="stream" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststreams.c"
+ line="447">a #GstStream</doc>
+ <type name="Stream" c:type="GstStream*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_stream_flags"
+ c:identifier="gst_stream_get_stream_flags"
+ version="1.10">
+ <doc xml:space="preserve"
+ filename="gst/gststreams.c"
+ line="292">Retrieve the current stream flags for @stream</doc>
+ <source-position filename="gst/gststreams.h" line="132"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststreams.c"
+ line="298">The #GstStreamFlags for @stream</doc>
+ <type name="StreamFlags" c:type="GstStreamFlags"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="stream" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststreams.c"
+ line="294">a #GstStream</doc>
+ <type name="Stream" c:type="GstStream*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_stream_id"
+ c:identifier="gst_stream_get_stream_id"
+ version="1.10">
+ <doc xml:space="preserve"
+ filename="gst/gststreams.c"
+ line="251">Returns the stream ID of @stream.</doc>
+ <source-position filename="gst/gststreams.h" line="126"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gststreams.c"
+ line="257">the stream ID of @stream. Only valid
+during the lifetime of @stream.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="stream" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststreams.c"
+ line="253">a #GstStream</doc>
+ <type name="Stream" c:type="GstStream*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_stream_type"
+ c:identifier="gst_stream_get_stream_type"
+ version="1.10">
+ <doc xml:space="preserve"
+ filename="gst/gststreams.c"
+ line="338">Retrieve the stream type for @stream</doc>
+ <source-position filename="gst/gststreams.h" line="138"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststreams.c"
+ line="344">The #GstStreamType for @stream</doc>
+ <type name="StreamType" c:type="GstStreamType"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="stream" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststreams.c"
+ line="340">a #GstStream</doc>
+ <type name="Stream" c:type="GstStream*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_tags"
+ c:identifier="gst_stream_get_tags"
+ version="1.10">
+ <doc xml:space="preserve"
+ filename="gst/gststreams.c"
+ line="391">Retrieve the tags for @stream, if any</doc>
+ <source-position filename="gst/gststreams.h" line="144"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gststreams.c"
+ line="397">The #GstTagList for @stream</doc>
+ <type name="TagList" c:type="GstTagList*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="stream" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststreams.c"
+ line="393">a #GstStream</doc>
+ <type name="Stream" c:type="GstStream*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="set_caps"
+ c:identifier="gst_stream_set_caps"
+ version="1.10">
+ <doc xml:space="preserve"
+ filename="gst/gststreams.c"
+ line="416">Set the caps for the #GstStream</doc>
+ <source-position filename="gst/gststreams.h" line="147"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="stream" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststreams.c"
+ line="418">a #GstStream</doc>
+ <type name="Stream" c:type="GstStream*"/>
+ </instance-parameter>
+ <parameter name="caps"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gststreams.c"
+ line="419">a #GstCaps</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_stream_flags"
+ c:identifier="gst_stream_set_stream_flags"
+ version="1.10">
+ <doc xml:space="preserve"
+ filename="gst/gststreams.c"
+ line="270">Set the @flags for the @stream.</doc>
+ <source-position filename="gst/gststreams.h" line="129"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="stream" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststreams.c"
+ line="272">a #GstStream</doc>
+ <type name="Stream" c:type="GstStream*"/>
+ </instance-parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststreams.c"
+ line="273">the flags to set on @stream</doc>
+ <type name="StreamFlags" c:type="GstStreamFlags"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_stream_type"
+ c:identifier="gst_stream_set_stream_type"
+ version="1.10">
+ <doc xml:space="preserve"
+ filename="gst/gststreams.c"
+ line="316">Set the stream type of @stream</doc>
+ <source-position filename="gst/gststreams.h" line="135"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="stream" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststreams.c"
+ line="318">a #GstStream</doc>
+ <type name="Stream" c:type="GstStream*"/>
+ </instance-parameter>
+ <parameter name="stream_type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststreams.c"
+ line="319">the type to set on @stream</doc>
+ <type name="StreamType" c:type="GstStreamType"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_tags"
+ c:identifier="gst_stream_set_tags"
+ version="1.10">
+ <doc xml:space="preserve"
+ filename="gst/gststreams.c"
+ line="362">Set the tags for the #GstStream</doc>
+ <source-position filename="gst/gststreams.h" line="141"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="stream" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststreams.c"
+ line="364">a #GstStream</doc>
+ <type name="Stream" c:type="GstStream*"/>
+ </instance-parameter>
+ <parameter name="tags"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gststreams.c"
+ line="365">a #GstTagList</doc>
+ <type name="TagList" c:type="GstTagList*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="caps" writable="1" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststreams.c"
+ line="153">The #GstCaps of the #GstStream.</doc>
+ <type name="Caps"/>
+ </property>
+ <property name="stream-flags"
+ writable="1"
+ construct="1"
+ transfer-ownership="none">
+ <type name="StreamFlags"/>
+ </property>
+ <property name="stream-id"
+ writable="1"
+ construct-only="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststreams.c"
+ line="117">The unique identifier of the #GstStream. Can only be set at construction
+time.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </property>
+ <property name="stream-type"
+ writable="1"
+ construct="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststreams.c"
+ line="141">The #GstStreamType of the #GstStream. Can only be set at construction time.</doc>
+ <type name="StreamType"/>
+ </property>
+ <property name="tags" writable="1" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststreams.c"
+ line="164">The #GstTagList of the #GstStream.</doc>
+ <type name="TagList"/>
+ </property>
+ <field name="object" readable="0" private="1">
+ <type name="Object" c:type="GstObject"/>
+ </field>
+ <field name="stream_id">
+ <doc xml:space="preserve"
+ filename="gst/gststreams.h"
+ line="72">The Stream Identifier for this #GstStream</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="StreamPrivate" c:type="GstStreamPrivate*"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="StreamClass"
+ c:type="GstStreamClass"
+ glib:is-gtype-struct-for="Stream">
+ <doc xml:space="preserve"
+ filename="gst/gststreams.h"
+ line="102">GstStream class structure</doc>
+ <source-position filename="gst/gststreams.h" line="113"/>
+ <field name="parent_class">
+ <doc xml:space="preserve"
+ filename="gst/gststreams.h"
+ line="104">the parent class structure</doc>
+ <type name="ObjectClass" c:type="GstObjectClass"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <class name="StreamCollection"
+ c:symbol-prefix="stream_collection"
+ c:type="GstStreamCollection"
+ version="1.10"
+ parent="Object"
+ glib:type-name="GstStreamCollection"
+ glib:get-type="gst_stream_collection_get_type"
+ glib:type-struct="StreamCollectionClass">
+ <doc xml:space="preserve"
+ filename="gst/gststreamcollection.h"
+ line="47">A collection of #GstStream that are available.
+
+A #GstStreamCollection will be provided by elements that can make those
+streams available. Applications can use the collection to show the user
+what streams are available by using %gst_stream_collection_get_stream()
+
+Once posted, a #GstStreamCollection is immutable. Updates are made by sending
+a new #GstStreamCollection message, which may or may not share some of
+the #GstStream objects from the collection it replaces. The receiver can check
+the sender of a stream collection message to know which collection is
+obsoleted.
+
+Several elements in a pipeline can provide #GstStreamCollection.
+
+Applications can activate streams from a collection by using the
+#GST_EVENT_SELECT_STREAMS event on a pipeline, bin or element.</doc>
+ <source-position filename="gst/gststreamcollection.h" line="94"/>
+ <constructor name="new"
+ c:identifier="gst_stream_collection_new"
+ version="1.10">
+ <doc xml:space="preserve"
+ filename="gst/gststreamcollection.c"
+ line="161">Create a new #GstStreamCollection.</doc>
+ <source-position filename="gst/gststreamcollection.h" line="100"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gststreamcollection.c"
+ line="167">The new #GstStreamCollection.</doc>
+ <type name="StreamCollection" c:type="GstStreamCollection*"/>
+ </return-value>
+ <parameters>
+ <parameter name="upstream_id"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gststreamcollection.c"
+ line="163">The stream id of the parent stream</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <virtual-method name="stream_notify">
+ <source-position filename="gst/gststreamcollection.h" line="90"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="collection" transfer-ownership="none">
+ <type name="StreamCollection" c:type="GstStreamCollection*"/>
+ </instance-parameter>
+ <parameter name="stream" transfer-ownership="none">
+ <type name="Stream" c:type="GstStream*"/>
+ </parameter>
+ <parameter name="pspec" transfer-ownership="none">
+ <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <method name="add_stream"
+ c:identifier="gst_stream_collection_add_stream"
+ version="1.10">
+ <doc xml:space="preserve"
+ filename="gst/gststreamcollection.c"
+ line="269">Add the given @stream to the @collection.</doc>
+ <source-position filename="gst/gststreamcollection.h" line="112"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststreamcollection.c"
+ line="276">%TRUE if the @stream was properly added, else %FALSE</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="collection" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststreamcollection.c"
+ line="271">a #GstStreamCollection</doc>
+ <type name="StreamCollection" c:type="GstStreamCollection*"/>
+ </instance-parameter>
+ <parameter name="stream" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gststreamcollection.c"
+ line="272">the #GstStream to add</doc>
+ <type name="Stream" c:type="GstStream*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_size"
+ c:identifier="gst_stream_collection_get_size"
+ version="1.10">
+ <doc xml:space="preserve"
+ filename="gst/gststreamcollection.c"
+ line="296">Get the number of streams this collection contains</doc>
+ <source-position filename="gst/gststreamcollection.h" line="106"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststreamcollection.c"
+ line="302">The number of streams that @collection contains</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="collection" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststreamcollection.c"
+ line="298">a #GstStreamCollection</doc>
+ <type name="StreamCollection" c:type="GstStreamCollection*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_stream"
+ c:identifier="gst_stream_collection_get_stream"
+ version="1.10">
+ <doc xml:space="preserve"
+ filename="gst/gststreamcollection.c"
+ line="314">Retrieve the #GstStream with index @index from the collection.
+
+The caller should not modify the returned #GstStream</doc>
+ <source-position filename="gst/gststreamcollection.h" line="109"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gststreamcollection.c"
+ line="323">A #GstStream</doc>
+ <type name="Stream" c:type="GstStream*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="collection" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststreamcollection.c"
+ line="316">a #GstStreamCollection</doc>
+ <type name="StreamCollection" c:type="GstStreamCollection*"/>
+ </instance-parameter>
+ <parameter name="index" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststreamcollection.c"
+ line="317">Index of the stream to retrieve</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_upstream_id"
+ c:identifier="gst_stream_collection_get_upstream_id"
+ version="1.10">
+ <doc xml:space="preserve"
+ filename="gst/gststreamcollection.c"
+ line="201">Returns the upstream id of the @collection.</doc>
+ <source-position filename="gst/gststreamcollection.h" line="103"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gststreamcollection.c"
+ line="207">The upstream id</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="collection" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststreamcollection.c"
+ line="203">a #GstStreamCollection</doc>
+ <type name="StreamCollection" c:type="GstStreamCollection*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <property name="upstream-id"
+ writable="1"
+ construct="1"
+ transfer-ownership="none">
+ <type name="utf8" c:type="gchar*"/>
+ </property>
+ <field name="object" readable="0" private="1">
+ <type name="Object" c:type="GstObject"/>
+ </field>
+ <field name="upstream_id" readable="0" private="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="StreamCollectionPrivate"
+ c:type="GstStreamCollectionPrivate*"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <glib:signal name="stream-notify"
+ when="first"
+ no-recurse="1"
+ detailed="1"
+ no-hooks="1">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <type name="Stream"/>
+ </parameter>
+ <parameter name="p0" transfer-ownership="none">
+ <type name="GObject.ParamSpec"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ </class>
+ <record name="StreamCollectionClass"
+ c:type="GstStreamCollectionClass"
+ glib:is-gtype-struct-for="StreamCollection">
+ <doc xml:space="preserve"
+ filename="gst/gststreamcollection.h"
+ line="79">GstStreamCollection class structure</doc>
+ <source-position filename="gst/gststreamcollection.h" line="94"/>
+ <field name="parent_class">
+ <doc xml:space="preserve"
+ filename="gst/gststreamcollection.h"
+ line="81">the parent class structure</doc>
+ <type name="ObjectClass" c:type="GstObjectClass"/>
+ </field>
+ <field name="stream_notify">
+ <callback name="stream_notify">
+ <source-position filename="gst/gststreamcollection.h" line="90"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="collection" transfer-ownership="none">
+ <type name="StreamCollection" c:type="GstStreamCollection*"/>
+ </parameter>
+ <parameter name="stream" transfer-ownership="none">
+ <type name="Stream" c:type="GstStream*"/>
+ </parameter>
+ <parameter name="pspec" transfer-ownership="none">
+ <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="StreamCollectionPrivate"
+ c:type="GstStreamCollectionPrivate"
+ disguised="1">
+ <source-position filename="gst/gststreamcollection.h" line="42"/>
+ </record>
+ <enumeration name="StreamError"
+ glib:type-name="GstStreamError"
+ glib:get-type="gst_stream_error_get_type"
+ c:type="GstStreamError"
+ glib:error-domain="gst-stream-error-quark">
+ <doc xml:space="preserve"
+ filename="gst/gsterror.h"
+ line="156">Stream errors are for anything related to the stream being processed:
+format errors, media type errors, ...
+They're typically used by decoders, demuxers, converters, ...</doc>
+ <member name="failed"
+ value="1"
+ c:identifier="GST_STREAM_ERROR_FAILED"
+ glib:nick="failed">
+ <doc xml:space="preserve"
+ filename="gst/gsterror.h"
+ line="158">a general error which doesn't fit in any other
+category. Make sure you add a custom message to the error call.</doc>
+ </member>
+ <member name="too_lazy"
+ value="2"
+ c:identifier="GST_STREAM_ERROR_TOO_LAZY"
+ glib:nick="too-lazy">
+ <doc xml:space="preserve"
+ filename="gst/gsterror.h"
+ line="160">do not use this except as a placeholder for
+deciding where to go while developing code.</doc>
+ </member>
+ <member name="not_implemented"
+ value="3"
+ c:identifier="GST_STREAM_ERROR_NOT_IMPLEMENTED"
+ glib:nick="not-implemented">
+ <doc xml:space="preserve"
+ filename="gst/gsterror.h"
+ line="162">use this when you do not want to implement
+this functionality yet.</doc>
+ </member>
+ <member name="type_not_found"
+ value="4"
+ c:identifier="GST_STREAM_ERROR_TYPE_NOT_FOUND"
+ glib:nick="type-not-found">
+ <doc xml:space="preserve"
+ filename="gst/gsterror.h"
+ line="164">used when the element doesn't know the
+stream's type.</doc>
+ </member>
+ <member name="wrong_type"
+ value="5"
+ c:identifier="GST_STREAM_ERROR_WRONG_TYPE"
+ glib:nick="wrong-type">
+ <doc xml:space="preserve"
+ filename="gst/gsterror.h"
+ line="166">used when the element doesn't handle this type
+of stream.</doc>
+ </member>
+ <member name="codec_not_found"
+ value="6"
+ c:identifier="GST_STREAM_ERROR_CODEC_NOT_FOUND"
+ glib:nick="codec-not-found">
+ <doc xml:space="preserve"
+ filename="gst/gsterror.h"
+ line="168">used when there's no codec to handle the
+stream's type.</doc>
+ </member>
+ <member name="decode"
+ value="7"
+ c:identifier="GST_STREAM_ERROR_DECODE"
+ glib:nick="decode">
+ <doc xml:space="preserve"
+ filename="gst/gsterror.h"
+ line="170">used when decoding fails.</doc>
+ </member>
+ <member name="encode"
+ value="8"
+ c:identifier="GST_STREAM_ERROR_ENCODE"
+ glib:nick="encode">
+ <doc xml:space="preserve"
+ filename="gst/gsterror.h"
+ line="171">used when encoding fails.</doc>
+ </member>
+ <member name="demux"
+ value="9"
+ c:identifier="GST_STREAM_ERROR_DEMUX"
+ glib:nick="demux">
+ <doc xml:space="preserve"
+ filename="gst/gsterror.h"
+ line="172">used when demuxing fails.</doc>
+ </member>
+ <member name="mux"
+ value="10"
+ c:identifier="GST_STREAM_ERROR_MUX"
+ glib:nick="mux">
+ <doc xml:space="preserve"
+ filename="gst/gsterror.h"
+ line="173">used when muxing fails.</doc>
+ </member>
+ <member name="format"
+ value="11"
+ c:identifier="GST_STREAM_ERROR_FORMAT"
+ glib:nick="format">
+ <doc xml:space="preserve"
+ filename="gst/gsterror.h"
+ line="174">used when the stream is of the wrong format
+(for example, wrong caps).</doc>
+ </member>
+ <member name="decrypt"
+ value="12"
+ c:identifier="GST_STREAM_ERROR_DECRYPT"
+ glib:nick="decrypt">
+ <doc xml:space="preserve"
+ filename="gst/gsterror.h"
+ line="176">used when the stream is encrypted and can't be
+decrypted because this is not supported by the element.</doc>
+ </member>
+ <member name="decrypt_nokey"
+ value="13"
+ c:identifier="GST_STREAM_ERROR_DECRYPT_NOKEY"
+ glib:nick="decrypt-nokey">
+ <doc xml:space="preserve"
+ filename="gst/gsterror.h"
+ line="178">used when the stream is encrypted and
+can't be decrypted because no suitable key is available.</doc>
+ </member>
+ <member name="num_errors"
+ value="14"
+ c:identifier="GST_STREAM_ERROR_NUM_ERRORS"
+ glib:nick="num-errors">
+ <doc xml:space="preserve"
+ filename="gst/gsterror.h"
+ line="180">the number of stream error types.</doc>
+ </member>
+ <function name="quark" c:identifier="gst_stream_error_quark">
+ <attribute name="doc.skip" value="true"/>
+ <return-value transfer-ownership="none">
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </return-value>
+ </function>
+ </enumeration>
+ <bitfield name="StreamFlags"
+ version="1.2"
+ glib:type-name="GstStreamFlags"
+ glib:get-type="gst_stream_flags_get_type"
+ c:type="GstStreamFlags">
+ <member name="none"
+ value="0"
+ c:identifier="GST_STREAM_FLAG_NONE"
+ glib:nick="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.h"
+ line="197">This stream has no special attributes</doc>
+ </member>
+ <member name="sparse"
+ value="1"
+ c:identifier="GST_STREAM_FLAG_SPARSE"
+ glib:nick="sparse">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.h"
+ line="198">This stream is a sparse stream (e.g. a subtitle
+ stream), data may flow only in irregular intervals with large gaps in
+ between.</doc>
+ </member>
+ <member name="select"
+ value="2"
+ c:identifier="GST_STREAM_FLAG_SELECT"
+ glib:nick="select">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.h"
+ line="201">This stream should be selected by default. This
+ flag may be used by demuxers to signal that a stream should be selected
+ by default in a playback scenario.</doc>
+ </member>
+ <member name="unselect"
+ value="4"
+ c:identifier="GST_STREAM_FLAG_UNSELECT"
+ glib:nick="unselect">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.h"
+ line="204">This stream should not be selected by default.
+ This flag may be used by demuxers to signal that a stream should not
+ be selected by default in a playback scenario, but only if explicitly
+ selected by the user (e.g. an audio track for the hard of hearing or
+ a director's commentary track).</doc>
+ </member>
+ </bitfield>
+ <record name="StreamPrivate" c:type="GstStreamPrivate" disguised="1">
+ <source-position filename="gst/gststreams.h" line="68"/>
+ </record>
+ <enumeration name="StreamStatusType"
+ glib:type-name="GstStreamStatusType"
+ glib:get-type="gst_stream_status_type_get_type"
+ c:type="GstStreamStatusType">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.h"
+ line="283">The type of a %GST_MESSAGE_STREAM_STATUS. The stream status messages inform the
+application of new streaming threads and their status.</doc>
+ <member name="create"
+ value="0"
+ c:identifier="GST_STREAM_STATUS_TYPE_CREATE"
+ glib:nick="create">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.h"
+ line="285">A new thread need to be created.</doc>
+ </member>
+ <member name="enter"
+ value="1"
+ c:identifier="GST_STREAM_STATUS_TYPE_ENTER"
+ glib:nick="enter">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.h"
+ line="286">a thread entered its loop function</doc>
+ </member>
+ <member name="leave"
+ value="2"
+ c:identifier="GST_STREAM_STATUS_TYPE_LEAVE"
+ glib:nick="leave">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.h"
+ line="287">a thread left its loop function</doc>
+ </member>
+ <member name="destroy"
+ value="3"
+ c:identifier="GST_STREAM_STATUS_TYPE_DESTROY"
+ glib:nick="destroy">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.h"
+ line="288">a thread is destroyed</doc>
+ </member>
+ <member name="start"
+ value="8"
+ c:identifier="GST_STREAM_STATUS_TYPE_START"
+ glib:nick="start">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.h"
+ line="289">a thread is started</doc>
+ </member>
+ <member name="pause"
+ value="9"
+ c:identifier="GST_STREAM_STATUS_TYPE_PAUSE"
+ glib:nick="pause">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.h"
+ line="290">a thread is paused</doc>
+ </member>
+ <member name="stop"
+ value="10"
+ c:identifier="GST_STREAM_STATUS_TYPE_STOP"
+ glib:nick="stop">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.h"
+ line="291">a thread is stopped</doc>
+ </member>
+ </enumeration>
+ <bitfield name="StreamType"
+ version="1.10"
+ glib:type-name="GstStreamType"
+ glib:get-type="gst_stream_type_get_type"
+ c:type="GstStreamType">
+ <doc xml:space="preserve"
+ filename="gst/gststreams.h"
+ line="40">#GstStreamType describes a high level classification set for
+flows of data in #GstStream objects.
+
+Note that this is a flag, and therefore users should not assume it
+will be a single value. Do not use the equality operator for checking
+whether a stream is of a certain type.</doc>
+ <member name="unknown"
+ value="1"
+ c:identifier="GST_STREAM_TYPE_UNKNOWN"
+ glib:nick="unknown">
+ <doc xml:space="preserve"
+ filename="gst/gststreams.h"
+ line="42">The stream is of unknown (unclassified) type.</doc>
+ </member>
+ <member name="audio"
+ value="2"
+ c:identifier="GST_STREAM_TYPE_AUDIO"
+ glib:nick="audio">
+ <doc xml:space="preserve"
+ filename="gst/gststreams.h"
+ line="43">The stream is of audio data</doc>
+ </member>
+ <member name="video"
+ value="4"
+ c:identifier="GST_STREAM_TYPE_VIDEO"
+ glib:nick="video">
+ <doc xml:space="preserve"
+ filename="gst/gststreams.h"
+ line="44">The stream carries video data</doc>
+ </member>
+ <member name="container"
+ value="8"
+ c:identifier="GST_STREAM_TYPE_CONTAINER"
+ glib:nick="container">
+ <doc xml:space="preserve"
+ filename="gst/gststreams.h"
+ line="45">The stream is a muxed container type</doc>
+ </member>
+ <member name="text"
+ value="16"
+ c:identifier="GST_STREAM_TYPE_TEXT"
+ glib:nick="text">
+ <doc xml:space="preserve"
+ filename="gst/gststreams.h"
+ line="46">The stream contains subtitle / subpicture data.</doc>
+ </member>
+ <function name="get_name"
+ c:identifier="gst_stream_type_get_name"
+ version="1.10">
+ <doc xml:space="preserve"
+ filename="gst/gststreams.c"
+ line="540">Get a descriptive string for a given #GstStreamType</doc>
+ <source-position filename="gst/gststreams.h" line="153"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gststreams.c"
+ line="546">A string describing the stream type</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="stype" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststreams.c"
+ line="542">a #GstStreamType</doc>
+ <type name="StreamType" c:type="GstStreamType"/>
+ </parameter>
+ </parameters>
+ </function>
+ </bitfield>
+ <record name="Structure"
+ c:type="GstStructure"
+ glib:type-name="GstStructure"
+ glib:get-type="gst_structure_get_type"
+ c:symbol-prefix="structure">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="22">A #GstStructure is a collection of key/value pairs. The keys are expressed as
+GQuarks and the values can be of any GType.
+
+In addition to the key/value pairs, a #GstStructure also has a name. The name
+starts with a letter and can be filled by letters, numbers and any of
+"/-_.:".
+
+#GstStructure is used by various GStreamer subsystems to store information in
+a flexible and extensible way. A #GstStructure does not have a refcount
+because it usually is part of a higher level object such as #GstCaps,
+#GstMessage, #GstEvent, #GstQuery. It provides a means to enforce mutability
+using the refcount of the parent with the gst_structure_set_parent_refcount()
+method.
+
+A #GstStructure can be created with gst_structure_new_empty() or
+gst_structure_new(), which both take a name and an optional set of key/value
+pairs along with the types of the values.
+
+Field values can be changed with gst_structure_set_value() or
+gst_structure_set().
+
+Field values can be retrieved with gst_structure_get_value() or the more
+convenient gst_structure_get_*() functions.
+
+Fields can be removed with gst_structure_remove_field() or
+gst_structure_remove_fields().
+
+Strings in structures must be ASCII or UTF-8 encoded. Other encodings are not
+allowed. Strings may be %NULL however.
+
+## The serialization format
+
+GstStructure serialization format serialize the GstStructure name,
+keys/GType/values in a comma separated list with the structure name as first
+field without value followed by separated key/value pairs in the form
+`key=value`, for example:
+
+```
+a-structure, key=value
+````
+
+The values type will be inferred if not explicitly specified with the
+`(GTypeName)value` syntax, for example the following struct will have one
+field called 'is-string' which has the string 'true' as a value:
+
+```
+a-struct, field-is-string=(string)true, field-is-boolean=true
+```
+
+*Note*: without specifying `(string), `field-is-string` type would have been
+inferred as boolean.
+
+*Note*: we specified `(string)` as a type even if `gchararray` is the actual
+GType name as for convenience some well known types have been aliased or
+abbreviated.
+
+To avoid specifying the type, you can give some hints to the "type system".
+For example to specify a value as a double, you should add a decimal (ie. `1`
+is an `int` while `1.0` is a `double`).
+
+*Note*: when a structure is serialized with #gst_structure_to_string, all
+values are explicitly typed.
+
+Some types have special delimiters:
+
+- [GstValueArray](GST_TYPE_ARRAY) are inside curly brackets (`{` and `}`).
+ For example `a-structure, array={1, 2, 3}`
+- Ranges are inside brackets (`[` and `]`). For example `a-structure,
+ range=[1, 6, 2]` 1 being the min value, 6 the maximum and 2 the step. To
+ specify a #GST_TYPE_INT64_RANGE you need to explicitly specify it like:
+ `a-structure, a-int64-range=(gint64) [1, 5]`
+- [GstValueList](GST_TYPE_LIST) are inside "less and greater than" (`&lt;` and
+ `&gt;`). For example `a-structure, list=&lt;1, 2, 3&gt;
+
+Structures are delimited either by a null character `\0` or a semicolumn `;`
+the latter allowing to store multiple structures in the same string (see
+#GstCaps).
+
+Quotes are used as "default" delimiters and can be used around any types that
+don't use other delimiters (for example `a-struct, i=(int)"1"`). They are use
+to allow adding spaces or special characters (such as delimiters,
+semicolumns, etc..) inside strings and you can use backslashes `\` to escape
+characters inside them, for example:
+
+```
+a-struct, special="\"{[(;)]}\" can be used inside quotes"
+```
+
+They also allow for nested structure, such as:
+
+```
+a-struct, nested=(GstStructure)"nested-struct, nested=true"
+```
+
+&gt; *Note*: Be aware that the current #GstCaps / #GstStructure serialization
+&gt; into string has limited support for nested #GstCaps / #GstStructure fields.
+&gt; It can only support one level of nesting. Using more levels will lead to
+&gt; unexpected behavior when using serialization features, such as
+&gt; gst_caps_to_string() or gst_value_serialize() and their counterparts.</doc>
+ <source-position filename="gst/gststructure.h" line="101"/>
+ <field name="type" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.h"
+ line="92">the GType of a structure</doc>
+ <type name="GType" c:type="GType"/>
+ </field>
+ <field name="name" readable="0" private="1">
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </field>
+ <constructor name="from_string" c:identifier="gst_structure_from_string">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="2312">Creates a #GstStructure from a string representation.
+If end is not %NULL, a pointer to the place inside the given string
+where parsing ended will be returned.
+
+Free-function: gst_structure_free</doc>
+ <source-position filename="gst/gststructure.h" line="335"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="2323">a new #GstStructure or %NULL
+ when the string could not be parsed. Free with
+ gst_structure_free() after use.</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </return-value>
+ <parameters>
+ <parameter name="string" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="2314">a string representation of a #GstStructure.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="end"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="none"
+ optional="1"
+ allow-none="1"
+ skip="1">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="2315">pointer to store the end of the string in.</doc>
+ <type name="utf8" c:type="gchar**"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new"
+ c:identifier="gst_structure_new"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="366">Creates a new #GstStructure with the given name. Parses the
+list of variable arguments and sets fields to the values listed.
+Variable arguments should be passed as field name, field type,
+and value. Last variable argument should be %NULL.
+
+Free-function: gst_structure_free</doc>
+ <source-position filename="gst/gststructure.h" line="113"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="379">a new #GstStructure</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </return-value>
+ <parameters>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="368">name of new structure</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="firstfield" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="369">name of first field to set</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="..." transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="370">additional arguments</doc>
+ <varargs/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_empty" c:identifier="gst_structure_new_empty">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="346">Creates a new, empty #GstStructure with the given @name.
+
+See gst_structure_set_name() for constraints on the @name parameter.
+
+Free-function: gst_structure_free</doc>
+ <source-position filename="gst/gststructure.h" line="107"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="356">a new, empty #GstStructure</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </return-value>
+ <parameters>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="348">name of new structure</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_from_string"
+ c:identifier="gst_structure_new_from_string"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="2287">Creates a #GstStructure from a string representation.
+If end is not %NULL, a pointer to the place inside the given string
+where parsing ended will be returned.
+
+The current implementation of serialization will lead to unexpected results
+when there are nested #GstCaps / #GstStructure deeper than one level.
+
+Free-function: gst_structure_free</doc>
+ <source-position filename="gst/gststructure.h" line="125"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="2300">a new #GstStructure or %NULL
+ when the string could not be parsed. Free with
+ gst_structure_free() after use.</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </return-value>
+ <parameters>
+ <parameter name="string" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="2289">a string representation of a #GstStructure</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_id"
+ c:identifier="gst_structure_new_id"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="945">Creates a new #GstStructure with the given name as a GQuark, followed by
+fieldname quark, GType, argument(s) "triplets" in the same format as
+gst_structure_id_set(). Basically a convenience wrapper around
+gst_structure_new_id_empty() and gst_structure_id_set().
+
+The last variable argument must be %NULL (or 0).
+
+Free-function: gst_structure_free</doc>
+ <source-position filename="gst/gststructure.h" line="121"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="960">a new #GstStructure</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </return-value>
+ <parameters>
+ <parameter name="name_quark" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="947">name of new structure</doc>
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </parameter>
+ <parameter name="field_quark" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="948">the GQuark for the name of the field to set</doc>
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </parameter>
+ <parameter name="..." transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="949">variable arguments</doc>
+ <varargs/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_id_empty"
+ c:identifier="gst_structure_new_id_empty">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="292">Creates a new, empty #GstStructure with the given name as a GQuark.
+
+Free-function: gst_structure_free</doc>
+ <source-position filename="gst/gststructure.h" line="110"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="300">a new, empty #GstStructure</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </return-value>
+ <parameters>
+ <parameter name="quark" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="294">name of new structure</doc>
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_valist"
+ c:identifier="gst_structure_new_valist"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="394">Creates a new #GstStructure with the given @name. Structure fields
+are set according to the varargs in a manner similar to
+gst_structure_new().
+
+See gst_structure_set_name() for constraints on the @name parameter.
+
+Free-function: gst_structure_free</doc>
+ <source-position filename="gst/gststructure.h" line="117"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="408">a new #GstStructure</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </return-value>
+ <parameters>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="396">name of new structure</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="firstfield" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="397">name of first field to set</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="varargs" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="398">variable argument list</doc>
+ <type name="va_list" c:type="va_list"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <method name="can_intersect" c:identifier="gst_structure_can_intersect">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="3154">Tries intersecting @struct1 and @struct2 and reports whether the result
+would not be empty.</doc>
+ <source-position filename="gst/gststructure.h" line="371"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="3162">%TRUE if intersection would not be empty</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="struct1" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="3156">a #GstStructure</doc>
+ <type name="Structure" c:type="const GstStructure*"/>
+ </instance-parameter>
+ <parameter name="struct2" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="3157">a #GstStructure</doc>
+ <type name="Structure" c:type="const GstStructure*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="copy" c:identifier="gst_structure_copy">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="477">Duplicates a #GstStructure and all its fields and values.
+
+Free-function: gst_structure_free</doc>
+ <source-position filename="gst/gststructure.h" line="128"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="485">a new #GstStructure.</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="structure" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="479">a #GstStructure to duplicate</doc>
+ <type name="Structure" c:type="const GstStructure*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="filter_and_map_in_place"
+ c:identifier="gst_structure_filter_and_map_in_place"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1406">Calls the provided function once for each field in the #GstStructure. In
+contrast to gst_structure_foreach(), the function may modify the fields.
+In contrast to gst_structure_map_in_place(), the field is removed from
+the structure if %FALSE is returned from the function.
+The structure must be mutable.</doc>
+ <source-position filename="gst/gststructure.h" line="243"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="structure" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1408">a #GstStructure</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </instance-parameter>
+ <parameter name="func"
+ transfer-ownership="none"
+ scope="call"
+ closure="1">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1409">a function to call for each field</doc>
+ <type name="StructureFilterMapFunc"
+ c:type="GstStructureFilterMapFunc"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1410">private data</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="fixate" c:identifier="gst_structure_fixate">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="3243">Fixate all values in @structure using gst_value_fixate().
+@structure will be modified in-place and should be writable.</doc>
+ <source-position filename="gst/gststructure.h" line="362"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="structure" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="3245">a #GstStructure</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="fixate_field" c:identifier="gst_structure_fixate_field">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="2740">Fixates a #GstStructure by changing the given field with its fixated value.</doc>
+ <source-position filename="gst/gststructure.h" line="359"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="2747">%TRUE if the structure field could be fixated</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="structure" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="2742">a #GstStructure</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </instance-parameter>
+ <parameter name="field_name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="2743">a field in @structure</doc>
+ <type name="utf8" c:type="const char*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="fixate_field_boolean"
+ c:identifier="gst_structure_fixate_field_boolean">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="2528">Fixates a #GstStructure by changing the given @field_name field to the given
+@target boolean if that field is not fixed yet.</doc>
+ <source-position filename="gst/gststructure.h" line="346"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="2537">%TRUE if the structure could be fixated</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="structure" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="2530">a #GstStructure</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </instance-parameter>
+ <parameter name="field_name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="2531">a field in @structure</doc>
+ <type name="utf8" c:type="const char*"/>
+ </parameter>
+ <parameter name="target" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="2532">the target value of the fixation</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="fixate_field_nearest_double"
+ c:identifier="gst_structure_fixate_field_nearest_double">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="2463">Fixates a #GstStructure by changing the given field to the nearest
+double to @target that is a subset of the existing field.</doc>
+ <source-position filename="gst/gststructure.h" line="342"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="2472">%TRUE if the structure could be fixated</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="structure" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="2465">a #GstStructure</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </instance-parameter>
+ <parameter name="field_name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="2466">a field in @structure</doc>
+ <type name="utf8" c:type="const char*"/>
+ </parameter>
+ <parameter name="target" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="2467">the target value of the fixation</doc>
+ <type name="gdouble" c:type="double"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="fixate_field_nearest_fraction"
+ c:identifier="gst_structure_fixate_field_nearest_fraction">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="2634">Fixates a #GstStructure by changing the given field to the nearest
+fraction to @target_numerator/@target_denominator that is a subset
+of the existing field.</doc>
+ <source-position filename="gst/gststructure.h" line="354"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="2645">%TRUE if the structure could be fixated</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="structure" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="2636">a #GstStructure</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </instance-parameter>
+ <parameter name="field_name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="2637">a field in @structure</doc>
+ <type name="utf8" c:type="const char*"/>
+ </parameter>
+ <parameter name="target_numerator" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="2638">The numerator of the target value of the fixation</doc>
+ <type name="gint" c:type="const gint"/>
+ </parameter>
+ <parameter name="target_denominator" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="2639">The denominator of the target value of the fixation</doc>
+ <type name="gint" c:type="const gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="fixate_field_nearest_int"
+ c:identifier="gst_structure_fixate_field_nearest_int">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="2393">Fixates a #GstStructure by changing the given field to the nearest
+integer to @target that is a subset of the existing field.</doc>
+ <source-position filename="gst/gststructure.h" line="338"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="2402">%TRUE if the structure could be fixated</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="structure" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="2395">a #GstStructure</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </instance-parameter>
+ <parameter name="field_name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="2396">a field in @structure</doc>
+ <type name="utf8" c:type="const char*"/>
+ </parameter>
+ <parameter name="target" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="2397">the target value of the fixation</doc>
+ <type name="gint" c:type="int"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="fixate_field_string"
+ c:identifier="gst_structure_fixate_field_string">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="2581">Fixates a #GstStructure by changing the given @field_name field to the given
+@target string if that field is not fixed yet.</doc>
+ <source-position filename="gst/gststructure.h" line="350"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="2590">%TRUE if the structure could be fixated</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="structure" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="2583">a #GstStructure</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </instance-parameter>
+ <parameter name="field_name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="2584">a field in @structure</doc>
+ <type name="utf8" c:type="const char*"/>
+ </parameter>
+ <parameter name="target" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="2585">the target value of the fixation</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="foreach" c:identifier="gst_structure_foreach">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1332">Calls the provided function once for each field in the #GstStructure. The
+function must not modify the fields. Also see gst_structure_map_in_place()
+and gst_structure_filter_and_map_in_place().</doc>
+ <source-position filename="gst/gststructure.h" line="235"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1342">%TRUE if the supplied function returns %TRUE For each of the fields,
+%FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="structure" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1334">a #GstStructure</doc>
+ <type name="Structure" c:type="const GstStructure*"/>
+ </instance-parameter>
+ <parameter name="func"
+ transfer-ownership="none"
+ scope="call"
+ closure="1">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1335">a function to call for each field</doc>
+ <type name="StructureForeachFunc"
+ c:type="GstStructureForeachFunc"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1336">private data</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="free" c:identifier="gst_structure_free">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="514">Frees a #GstStructure and all its fields and values. The structure must not
+have a parent when this function is called.</doc>
+ <source-position filename="gst/gststructure.h" line="134"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="structure" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="516">the #GstStructure to free</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get" c:identifier="gst_structure_get" introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="2924">Parses the variable arguments and reads fields from @structure accordingly.
+Variable arguments should be in the form field name, field type
+(as a GType), pointer(s) to a variable(s) to hold the return value(s).
+The last variable argument should be %NULL.
+
+For refcounted (mini)objects you will receive a new reference which
+you must release with a suitable _unref\() when no longer needed. For
+strings and boxed types you will receive a copy which you will need to
+release with either g_free() or the suitable function for the boxed type.</doc>
+ <source-position filename="gst/gststructure.h" line="200"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="2940">%FALSE if there was a problem reading any of the fields (e.g.
+ because the field requested did not exist, or was of a type other
+ than the type specified), otherwise %TRUE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="structure" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="2926">a #GstStructure</doc>
+ <type name="Structure" c:type="const GstStructure*"/>
+ </instance-parameter>
+ <parameter name="first_fieldname" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="2927">the name of the first field to read</doc>
+ <type name="utf8" c:type="const char*"/>
+ </parameter>
+ <parameter name="..." transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="2928">variable arguments</doc>
+ <varargs/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_array"
+ c:identifier="gst_structure_get_array"
+ version="1.12">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="3285">This is useful in language bindings where unknown #GValue types are not
+supported. This function will convert the %GST_TYPE_ARRAY into a newly
+allocated #GValueArray and return it through @array. Be aware that this is
+slower then getting the #GValue directly.</doc>
+ <source-position filename="gst/gststructure.h" line="324"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="3296">%TRUE if the value could be set correctly. If there was no field
+with @fieldname or the existing field did not contain a %GST_TYPE_ARRAY,
+this function returns %FALSE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="structure" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="3287">a #GstStructure</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </instance-parameter>
+ <parameter name="fieldname" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="3288">the name of a field</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="array"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="3289">a pointer to a #GValueArray</doc>
+ <type name="GObject.ValueArray" c:type="GValueArray**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_boolean" c:identifier="gst_structure_get_boolean">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1541">Sets the boolean pointed to by @value corresponding to the value of the
+given field. Caller is responsible for making sure the field exists
+and has the correct type.</doc>
+ <source-position filename="gst/gststructure.h" line="270"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1551">%TRUE if the value could be set correctly. If there was no field
+with @fieldname or the existing field did not contain a boolean, this
+function returns %FALSE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="structure" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1543">a #GstStructure</doc>
+ <type name="Structure" c:type="const GstStructure*"/>
+ </instance-parameter>
+ <parameter name="fieldname" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1544">the name of a field</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="value"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1545">a pointer to a #gboolean to set</doc>
+ <type name="gboolean" c:type="gboolean*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_clock_time"
+ c:identifier="gst_structure_get_clock_time">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1796">Sets the clock time pointed to by @value corresponding to the clock time
+of the given field. Caller is responsible for making sure the field exists
+and has the correct type.</doc>
+ <source-position filename="gst/gststructure.h" line="302"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1806">%TRUE if the value could be set correctly. If there was no field
+with @fieldname or the existing field did not contain a #GstClockTime, this
+function returns %FALSE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="structure" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1798">a #GstStructure</doc>
+ <type name="Structure" c:type="const GstStructure*"/>
+ </instance-parameter>
+ <parameter name="fieldname" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1799">the name of a field</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="value"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1800">a pointer to a #GstClockTime to set</doc>
+ <type name="ClockTime" c:type="GstClockTime*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_date" c:identifier="gst_structure_get_date">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1714">Sets the date pointed to by @value corresponding to the date of the
+given field. Caller is responsible for making sure the field exists
+and has the correct type.
+
+On success @value will point to a newly-allocated copy of the date which
+should be freed with g_date_free() when no longer needed (note: this is
+inconsistent with e.g. gst_structure_get_string() which doesn't return a
+copy of the string).</doc>
+ <source-position filename="gst/gststructure.h" line="294"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1729">%TRUE if the value could be set correctly. If there was no field
+with @fieldname or the existing field did not contain a data, this function
+returns %FALSE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="structure" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1716">a #GstStructure</doc>
+ <type name="Structure" c:type="const GstStructure*"/>
+ </instance-parameter>
+ <parameter name="fieldname" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1717">the name of a field</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="value"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1718">a pointer to a #GDate to set</doc>
+ <type name="GLib.Date" c:type="GDate**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_date_time" c:identifier="gst_structure_get_date_time">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1754">Sets the datetime pointed to by @value corresponding to the datetime of the
+given field. Caller is responsible for making sure the field exists
+and has the correct type.
+
+On success @value will point to a reference of the datetime which
+should be unreffed with gst_date_time_unref() when no longer needed
+(note: this is inconsistent with e.g. gst_structure_get_string()
+which doesn't return a copy of the string).</doc>
+ <source-position filename="gst/gststructure.h" line="298"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1769">%TRUE if the value could be set correctly. If there was no field
+with @fieldname or the existing field did not contain a data, this function
+returns %FALSE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="structure" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1756">a #GstStructure</doc>
+ <type name="Structure" c:type="const GstStructure*"/>
+ </instance-parameter>
+ <parameter name="fieldname" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1757">the name of a field</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="value"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1758">a pointer to a #GstDateTime to set</doc>
+ <type name="DateTime" c:type="GstDateTime**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_double" c:identifier="gst_structure_get_double">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1817">Sets the double pointed to by @value corresponding to the value of the
+given field. Caller is responsible for making sure the field exists
+and has the correct type.</doc>
+ <source-position filename="gst/gststructure.h" line="290"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1827">%TRUE if the value could be set correctly. If there was no field
+with @fieldname or the existing field did not contain a double, this
+function returns %FALSE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="structure" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1819">a #GstStructure</doc>
+ <type name="Structure" c:type="const GstStructure*"/>
+ </instance-parameter>
+ <parameter name="fieldname" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1820">the name of a field</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="value"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1821">a pointer to a gdouble to set</doc>
+ <type name="gdouble" c:type="gdouble*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_enum" c:identifier="gst_structure_get_enum">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1883">Sets the int pointed to by @value corresponding to the value of the
+given field. Caller is responsible for making sure the field exists,
+has the correct type and that the enumtype is correct.</doc>
+ <source-position filename="gst/gststructure.h" line="309"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1894">%TRUE if the value could be set correctly. If there was no field
+with @fieldname or the existing field did not contain an enum of the given
+type, this function returns %FALSE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="structure" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1885">a #GstStructure</doc>
+ <type name="Structure" c:type="const GstStructure*"/>
+ </instance-parameter>
+ <parameter name="fieldname" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1886">the name of a field</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="enumtype" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1887">the enum type of a field</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ <parameter name="value"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1888">a pointer to an int to set</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_field_type"
+ c:identifier="gst_structure_get_field_type">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1267">Finds the field with the given name, and returns the type of the
+value it contains. If the field is not found, G_TYPE_INVALID is
+returned.</doc>
+ <source-position filename="gst/gststructure.h" line="232"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1276">the #GValue of the field</doc>
+ <type name="GType" c:type="GType"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="structure" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1269">a #GstStructure</doc>
+ <type name="Structure" c:type="const GstStructure*"/>
+ </instance-parameter>
+ <parameter name="fieldname" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1270">the name of the field</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_flagset"
+ c:identifier="gst_structure_get_flagset"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1958">Read the GstFlagSet flags and mask out of the structure into the
+provided pointers.</doc>
+ <source-position filename="gst/gststructure.h" line="319"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1968">%TRUE if the values could be set correctly. If there was no field
+with @fieldname or the existing field did not contain a GstFlagSet, this
+function returns %FALSE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="structure" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1960">a #GstStructure</doc>
+ <type name="Structure" c:type="const GstStructure*"/>
+ </instance-parameter>
+ <parameter name="fieldname" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1961">the name of a field</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="value_flags"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1962">a pointer to a guint for the flags field</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ <parameter name="value_mask"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1963">a pointer to a guint for the mask field</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_fraction" c:identifier="gst_structure_get_fraction">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1921">Sets the integers pointed to by @value_numerator and @value_denominator
+corresponding to the value of the given field. Caller is responsible
+for making sure the field exists and has the correct type.</doc>
+ <source-position filename="gst/gststructure.h" line="314"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1932">%TRUE if the values could be set correctly. If there was no field
+with @fieldname or the existing field did not contain a GstFraction, this
+function returns %FALSE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="structure" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1923">a #GstStructure</doc>
+ <type name="Structure" c:type="const GstStructure*"/>
+ </instance-parameter>
+ <parameter name="fieldname" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1924">the name of a field</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="value_numerator"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1925">a pointer to an int to set</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ <parameter name="value_denominator"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1926">a pointer to an int to set</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_int" c:identifier="gst_structure_get_int">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1574">Sets the int pointed to by @value corresponding to the value of the
+given field. Caller is responsible for making sure the field exists
+and has the correct type.</doc>
+ <source-position filename="gst/gststructure.h" line="274"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1584">%TRUE if the value could be set correctly. If there was no field
+with @fieldname or the existing field did not contain an int, this function
+returns %FALSE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="structure" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1576">a #GstStructure</doc>
+ <type name="Structure" c:type="const GstStructure*"/>
+ </instance-parameter>
+ <parameter name="fieldname" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1577">the name of a field</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="value"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1578">a pointer to an int to set</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_int64"
+ c:identifier="gst_structure_get_int64"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1642">Sets the #gint64 pointed to by @value corresponding to the value of the
+given field. Caller is responsible for making sure the field exists
+and has the correct type.</doc>
+ <source-position filename="gst/gststructure.h" line="282"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1652">%TRUE if the value could be set correctly. If there was no field
+with @fieldname or the existing field did not contain a #gint64, this function
+returns %FALSE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="structure" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1644">a #GstStructure</doc>
+ <type name="Structure" c:type="const GstStructure*"/>
+ </instance-parameter>
+ <parameter name="fieldname" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1645">the name of a field</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="value"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1646">a pointer to a #gint64 to set</doc>
+ <type name="gint64" c:type="gint64*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_list"
+ c:identifier="gst_structure_get_list"
+ version="1.12">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="3310">This is useful in language bindings where unknown #GValue types are not
+supported. This function will convert the %GST_TYPE_LIST into a newly
+allocated GValueArray and return it through @array. Be aware that this is
+slower then getting the #GValue directly.</doc>
+ <source-position filename="gst/gststructure.h" line="328"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="3321">%TRUE if the value could be set correctly. If there was no field
+with @fieldname or the existing field did not contain a %GST_TYPE_LIST, this
+function returns %FALSE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="structure" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="3312">a #GstStructure</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </instance-parameter>
+ <parameter name="fieldname" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="3313">the name of a field</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="array"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="3314">a pointer to a #GValueArray</doc>
+ <type name="GObject.ValueArray" c:type="GValueArray**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_name" c:identifier="gst_structure_get_name">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="614">Get the name of @structure as a string.</doc>
+ <source-position filename="gst/gststructure.h" line="144"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="620">the name of the structure.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="structure" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="616">a #GstStructure</doc>
+ <type name="Structure" c:type="const GstStructure*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_name_id" c:identifier="gst_structure_get_name_id">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="655">Get the name of @structure as a GQuark.</doc>
+ <source-position filename="gst/gststructure.h" line="147"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="661">the quark representing the name of the structure.</doc>
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="structure" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="657">a #GstStructure</doc>
+ <type name="Structure" c:type="const GstStructure*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_string" c:identifier="gst_structure_get_string">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1851">Finds the field corresponding to @fieldname, and returns the string
+contained in the field's value. Caller is responsible for making
+sure the field exists and has the correct type.
+
+The string should not be modified, and remains valid until the next
+call to a gst_structure_*() function with the given structure.</doc>
+ <source-position filename="gst/gststructure.h" line="306"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1863">a pointer to the string or %NULL when the
+field did not exist or did not contain a string.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="structure" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1853">a #GstStructure</doc>
+ <type name="Structure" c:type="const GstStructure*"/>
+ </instance-parameter>
+ <parameter name="fieldname" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1854">the name of a field</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_uint" c:identifier="gst_structure_get_uint">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1608">Sets the uint pointed to by @value corresponding to the value of the
+given field. Caller is responsible for making sure the field exists
+and has the correct type.</doc>
+ <source-position filename="gst/gststructure.h" line="278"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1618">%TRUE if the value could be set correctly. If there was no field
+with @fieldname or the existing field did not contain a uint, this function
+returns %FALSE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="structure" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1610">a #GstStructure</doc>
+ <type name="Structure" c:type="const GstStructure*"/>
+ </instance-parameter>
+ <parameter name="fieldname" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1611">the name of a field</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="value"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1612">a pointer to a uint to set</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_uint64"
+ c:identifier="gst_structure_get_uint64"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1678">Sets the #guint64 pointed to by @value corresponding to the value of the
+given field. Caller is responsible for making sure the field exists
+and has the correct type.</doc>
+ <source-position filename="gst/gststructure.h" line="286"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1688">%TRUE if the value could be set correctly. If there was no field
+with @fieldname or the existing field did not contain a #guint64, this function
+returns %FALSE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="structure" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1680">a #GstStructure</doc>
+ <type name="Structure" c:type="const GstStructure*"/>
+ </instance-parameter>
+ <parameter name="fieldname" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1681">the name of a field</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="value"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1682">a pointer to a #guint64 to set</doc>
+ <type name="guint64" c:type="guint64*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_valist"
+ c:identifier="gst_structure_get_valist"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="2789">Parses the variable arguments and reads fields from @structure accordingly.
+valist-variant of gst_structure_get(). Look at the documentation of
+gst_structure_get() for more details.</doc>
+ <source-position filename="gst/gststructure.h" line="196"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="2799">%TRUE, or %FALSE if there was a problem reading any of the fields</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="structure" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="2791">a #GstStructure</doc>
+ <type name="Structure" c:type="const GstStructure*"/>
+ </instance-parameter>
+ <parameter name="first_fieldname" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="2792">the name of the first field to read</doc>
+ <type name="utf8" c:type="const char*"/>
+ </parameter>
+ <parameter name="args" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="2793">variable arguments</doc>
+ <type name="va_list" c:type="va_list"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_value" c:identifier="gst_structure_get_value">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1109">Get the value of the field with name @fieldname.</doc>
+ <source-position filename="gst/gststructure.h" line="215"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1116">the #GValue corresponding to the field with the given
+name.</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="structure" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1111">a #GstStructure</doc>
+ <type name="Structure" c:type="const GstStructure*"/>
+ </instance-parameter>
+ <parameter name="fieldname" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1112">the name of the field to get</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="has_field" c:identifier="gst_structure_has_field">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1472">Check if @structure contains a field named @fieldname.</doc>
+ <source-position filename="gst/gststructure.h" line="260"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1479">%TRUE if the structure contains a field with the given name</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="structure" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1474">a #GstStructure</doc>
+ <type name="Structure" c:type="const GstStructure*"/>
+ </instance-parameter>
+ <parameter name="fieldname" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1475">the name of a field</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="has_field_typed"
+ c:identifier="gst_structure_has_field_typed">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1518">Check if @structure contains a field named @fieldname and with GType @type.</doc>
+ <source-position filename="gst/gststructure.h" line="263"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1526">%TRUE if the structure contains a field with the given name and type</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="structure" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1520">a #GstStructure</doc>
+ <type name="Structure" c:type="const GstStructure*"/>
+ </instance-parameter>
+ <parameter name="fieldname" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1521">the name of a field</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1522">the type of a value</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="has_name" c:identifier="gst_structure_has_name">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="630">Checks if the structure has the given name</doc>
+ <source-position filename="gst/gststructure.h" line="150"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="637">%TRUE if @name matches the name of the structure.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="structure" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="632">a #GstStructure</doc>
+ <type name="Structure" c:type="const GstStructure*"/>
+ </instance-parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="633">structure name to check for</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="id_get"
+ c:identifier="gst_structure_id_get"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="2961">Parses the variable arguments and reads fields from @structure accordingly.
+Variable arguments should be in the form field id quark, field type
+(as a GType), pointer(s) to a variable(s) to hold the return value(s).
+The last variable argument should be %NULL (technically it should be a
+0 quark, but we require %NULL so compilers that support it can check for
+the %NULL terminator and warn if it's not there).
+
+This function is just like gst_structure_get() only that it is slightly
+more efficient since it saves the string-to-quark lookup in the global
+quark hashtable.
+
+For refcounted (mini)objects you will receive a new reference which
+you must release with a suitable _unref\() when no longer needed. For
+strings and boxed types you will receive a copy which you will need to
+release with either g_free() or the suitable function for the boxed type.</doc>
+ <source-position filename="gst/gststructure.h" line="208"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="2983">%FALSE if there was a problem reading any of the fields (e.g.
+ because the field requested did not exist, or was of a type other
+ than the type specified), otherwise %TRUE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="structure" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="2963">a #GstStructure</doc>
+ <type name="Structure" c:type="const GstStructure*"/>
+ </instance-parameter>
+ <parameter name="first_field_id" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="2964">the quark of the first field to read</doc>
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </parameter>
+ <parameter name="..." transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="2965">variable arguments</doc>
+ <varargs/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="id_get_valist"
+ c:identifier="gst_structure_id_get_valist"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="2856">Parses the variable arguments and reads fields from @structure accordingly.
+valist-variant of gst_structure_id_get(). Look at the documentation of
+gst_structure_id_get() for more details.</doc>
+ <source-position filename="gst/gststructure.h" line="204"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="2866">%TRUE, or %FALSE if there was a problem reading any of the fields</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="structure" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="2858">a #GstStructure</doc>
+ <type name="Structure" c:type="const GstStructure*"/>
+ </instance-parameter>
+ <parameter name="first_field_id" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="2859">the quark of the first field to read</doc>
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </parameter>
+ <parameter name="args" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="2860">variable arguments</doc>
+ <type name="va_list" c:type="va_list"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="id_get_value" c:identifier="gst_structure_id_get_value">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1135">Get the value of the field with GQuark @field.</doc>
+ <source-position filename="gst/gststructure.h" line="212"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1142">the #GValue corresponding to the field with the given
+name identifier.</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="structure" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1137">a #GstStructure</doc>
+ <type name="Structure" c:type="const GstStructure*"/>
+ </instance-parameter>
+ <parameter name="field" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1138">the #GQuark of the field to get</doc>
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="id_has_field" c:identifier="gst_structure_id_has_field">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1450">Check if @structure contains a field named @field.</doc>
+ <source-position filename="gst/gststructure.h" line="253"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1457">%TRUE if the structure contains a field with the given name</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="structure" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1452">a #GstStructure</doc>
+ <type name="Structure" c:type="const GstStructure*"/>
+ </instance-parameter>
+ <parameter name="field" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1453">#GQuark of the field name</doc>
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="id_has_field_typed"
+ c:identifier="gst_structure_id_has_field_typed">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1492">Check if @structure contains a field named @field and with GType @type.</doc>
+ <source-position filename="gst/gststructure.h" line="256"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1500">%TRUE if the structure contains a field with the given name and type</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="structure" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1494">a #GstStructure</doc>
+ <type name="Structure" c:type="const GstStructure*"/>
+ </instance-parameter>
+ <parameter name="field" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1495">#GQuark of the field name</doc>
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </parameter>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1496">the type of a value</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="id_set"
+ c:identifier="gst_structure_id_set"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="903">Identical to gst_structure_set, except that field names are
+passed using the GQuark for the field name. This allows more efficient
+setting of the structure if the caller already knows the associated
+quark values.
+The last variable argument must be %NULL.</doc>
+ <source-position filename="gst/gststructure.h" line="188"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="structure" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="905">a #GstStructure</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </instance-parameter>
+ <parameter name="fieldname" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="906">the GQuark for the name of the field to set</doc>
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </parameter>
+ <parameter name="..." transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="907">variable arguments</doc>
+ <varargs/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="id_set_valist"
+ c:identifier="gst_structure_id_set_valist"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="927">va_list form of gst_structure_id_set().</doc>
+ <source-position filename="gst/gststructure.h" line="192"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="structure" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="929">a #GstStructure</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </instance-parameter>
+ <parameter name="fieldname" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="930">the name of the field to set</doc>
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </parameter>
+ <parameter name="varargs" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="931">variable arguments</doc>
+ <type name="va_list" c:type="va_list"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="id_set_value" c:identifier="gst_structure_id_set_value">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="702">Sets the field with the given GQuark @field to @value. If the field
+does not exist, it is created. If the field exists, the previous
+value is replaced and freed.</doc>
+ <source-position filename="gst/gststructure.h" line="156"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="structure" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="704">a #GstStructure</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </instance-parameter>
+ <parameter name="field" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="705">a #GQuark representing a field</doc>
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="706">the new value of the field</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="id_take_value" c:identifier="gst_structure_id_take_value">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="766">Sets the field with the given GQuark @field to @value. If the field
+does not exist, it is created. If the field exists, the previous
+value is replaced and freed.</doc>
+ <source-position filename="gst/gststructure.h" line="172"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="structure" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="768">a #GstStructure</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </instance-parameter>
+ <parameter name="field" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="769">a #GQuark representing a field</doc>
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="770">the new value of the field</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="intersect" c:identifier="gst_structure_intersect">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="3050">Intersects @struct1 and @struct2 and returns the intersection.</doc>
+ <source-position filename="gst/gststructure.h" line="374"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="3057">Intersection of @struct1 and @struct2</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="struct1" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="3052">a #GstStructure</doc>
+ <type name="Structure" c:type="const GstStructure*"/>
+ </instance-parameter>
+ <parameter name="struct2" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="3053">a #GstStructure</doc>
+ <type name="Structure" c:type="const GstStructure*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="is_equal" c:identifier="gst_structure_is_equal">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="3020">Tests if the two #GstStructure are equal.</doc>
+ <source-position filename="gst/gststructure.h" line="365"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="3027">%TRUE if the two structures have the same name and field.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="structure1" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="3022">a #GstStructure.</doc>
+ <type name="Structure" c:type="const GstStructure*"/>
+ </instance-parameter>
+ <parameter name="structure2" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="3023">a #GstStructure.</doc>
+ <type name="Structure" c:type="const GstStructure*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="is_subset" c:identifier="gst_structure_is_subset">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="3180">Checks if @subset is a subset of @superset, i.e. has the same
+structure name and for all fields that are existing in @superset,
+@subset has a value that is a subset of the value in @superset.</doc>
+ <source-position filename="gst/gststructure.h" line="368"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="3189">%TRUE if @subset is a subset of @superset</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="subset" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="3182">a #GstStructure</doc>
+ <type name="Structure" c:type="const GstStructure*"/>
+ </instance-parameter>
+ <parameter name="superset" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="3183">a potentially greater #GstStructure</doc>
+ <type name="Structure" c:type="const GstStructure*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="map_in_place" c:identifier="gst_structure_map_in_place">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1369">Calls the provided function once for each field in the #GstStructure. In
+contrast to gst_structure_foreach(), the function may modify but not delete the
+fields. The structure must be mutable.</doc>
+ <source-position filename="gst/gststructure.h" line="239"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1379">%TRUE if the supplied function returns %TRUE For each of the fields,
+%FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="structure" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1371">a #GstStructure</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </instance-parameter>
+ <parameter name="func"
+ transfer-ownership="none"
+ scope="call"
+ closure="1">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1372">a function to call for each field</doc>
+ <type name="StructureMapFunc" c:type="GstStructureMapFunc"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1373">private data</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="n_fields" c:identifier="gst_structure_n_fields">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1294">Get the number of fields in the structure.</doc>
+ <source-position filename="gst/gststructure.h" line="247"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1300">the number of fields in the structure</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="structure" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1296">a #GstStructure</doc>
+ <type name="Structure" c:type="const GstStructure*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="nth_field_name"
+ c:identifier="gst_structure_nth_field_name">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1310">Get the name of the given field number, counting from 0 onwards.</doc>
+ <source-position filename="gst/gststructure.h" line="250"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1317">the name of the given field number</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="structure" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1312">a #GstStructure</doc>
+ <type name="Structure" c:type="const GstStructure*"/>
+ </instance-parameter>
+ <parameter name="index" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1313">the index to get the name of</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="remove_all_fields"
+ c:identifier="gst_structure_remove_all_fields">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1242">Removes all fields in a GstStructure.</doc>
+ <source-position filename="gst/gststructure.h" line="229"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="structure" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1244">a #GstStructure</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="remove_field" c:identifier="gst_structure_remove_field">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1159">Removes the field with the given name. If the field with the given
+name does not exist, the structure is unchanged.</doc>
+ <source-position filename="gst/gststructure.h" line="218"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="structure" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1161">a #GstStructure</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </instance-parameter>
+ <parameter name="fieldname" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1162">the name of the field to remove</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="remove_fields"
+ c:identifier="gst_structure_remove_fields"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1194">Removes the fields with the given names. If a field does not exist, the
+argument is ignored.</doc>
+ <source-position filename="gst/gststructure.h" line="221"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="structure" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1196">a #GstStructure</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </instance-parameter>
+ <parameter name="fieldname" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1197">the name of the field to remove</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="..." transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1198">%NULL-terminated list of more fieldnames to remove</doc>
+ <varargs/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="remove_fields_valist"
+ c:identifier="gst_structure_remove_fields_valist"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1218">va_list form of gst_structure_remove_fields().</doc>
+ <source-position filename="gst/gststructure.h" line="225"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="structure" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1220">a #GstStructure</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </instance-parameter>
+ <parameter name="fieldname" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1221">the name of the field to remove</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="varargs" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="1222">%NULL-terminated list of more fieldnames to remove</doc>
+ <type name="va_list" c:type="va_list"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set" c:identifier="gst_structure_set" introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="836">Parses the variable arguments and sets fields accordingly. Fields that
+weren't already part of the structure are added as needed.
+Variable arguments should be in the form field name, field type
+(as a GType), value(s). The last variable argument should be %NULL.</doc>
+ <source-position filename="gst/gststructure.h" line="180"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="structure" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="838">a #GstStructure</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </instance-parameter>
+ <parameter name="fieldname" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="839">the name of the field to set</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="..." transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="840">variable arguments</doc>
+ <varargs/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_array"
+ c:identifier="gst_structure_set_array"
+ version="1.12">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="3362">This is useful in language bindings where unknown GValue types are not
+supported. This function will convert a @array to %GST_TYPE_ARRAY and set
+the field specified by @fieldname. Be aware that this is slower then using
+%GST_TYPE_ARRAY in a #GValue directly.</doc>
+ <source-position filename="gst/gststructure.h" line="164"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="structure" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="3364">a #GstStructure</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </instance-parameter>
+ <parameter name="fieldname" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="3365">the name of a field</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="array" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="3366">a pointer to a #GValueArray</doc>
+ <type name="GObject.ValueArray" c:type="const GValueArray*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_list"
+ c:identifier="gst_structure_set_list"
+ version="1.12">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="3382">This is useful in language bindings where unknown GValue types are not
+supported. This function will convert a @array to %GST_TYPE_LIST and set
+the field specified by @fieldname. Be aware that this is slower then using
+%GST_TYPE_LIST in a #GValue directly.</doc>
+ <source-position filename="gst/gststructure.h" line="168"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="structure" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="3384">a #GstStructure</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </instance-parameter>
+ <parameter name="fieldname" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="3385">the name of a field</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="array" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="3386">a pointer to a #GValueArray</doc>
+ <type name="GObject.ValueArray" c:type="const GValueArray*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_name" c:identifier="gst_structure_set_name">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="671">Sets the name of the structure to the given @name. The string
+provided is copied before being used. It must not be empty, start with a
+letter and can be followed by letters, numbers and any of "/-_.:".</doc>
+ <source-position filename="gst/gststructure.h" line="153"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="structure" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="673">a #GstStructure</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </instance-parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="674">the new name of the structure</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_parent_refcount"
+ c:identifier="gst_structure_set_parent_refcount">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="441">Sets the parent_refcount field of #GstStructure. This field is used to
+determine whether a structure is mutable or not. This function should only be
+called by code implementing parent objects of #GstStructure, as described in
+the MT Refcounting section of the design documents.</doc>
+ <source-position filename="gst/gststructure.h" line="131"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="451">%TRUE if the parent refcount could be set.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="structure" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="443">a #GstStructure</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </instance-parameter>
+ <parameter name="refcount" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="444">a pointer to the parent's refcount</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_valist"
+ c:identifier="gst_structure_set_valist"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="860">va_list form of gst_structure_set().</doc>
+ <source-position filename="gst/gststructure.h" line="184"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="structure" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="862">a #GstStructure</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </instance-parameter>
+ <parameter name="fieldname" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="863">the name of the field to set</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="varargs" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="864">variable arguments</doc>
+ <type name="va_list" c:type="va_list"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_value" c:identifier="gst_structure_set_value">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="724">Sets the field with the given name @field to @value. If the field
+does not exist, it is created. If the field exists, the previous
+value is replaced and freed.</doc>
+ <source-position filename="gst/gststructure.h" line="160"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="structure" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="726">a #GstStructure</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </instance-parameter>
+ <parameter name="fieldname" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="727">the name of the field to set</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="728">the new value of the field</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="take_value" c:identifier="gst_structure_take_value">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="787">Sets the field with the given name @field to @value. If the field
+does not exist, it is created. If the field exists, the previous
+value is replaced and freed. The function will take ownership of @value.</doc>
+ <source-position filename="gst/gststructure.h" line="176"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="structure" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="789">a #GstStructure</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </instance-parameter>
+ <parameter name="fieldname" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="790">the name of the field to set</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="791">the new value of the field</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="to_string" c:identifier="gst_structure_to_string">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="2130">Converts @structure to a human-readable string representation.
+
+For debugging purposes its easier to do something like this:
+|[&lt;!-- language="C" --&gt;
+GST_LOG ("structure is %" GST_PTR_FORMAT, structure);
+]|
+This prints the structure in human readable form.
+
+The current implementation of serialization will lead to unexpected results
+when there are nested #GstCaps / #GstStructure deeper than one level.
+
+Free-function: g_free</doc>
+ <source-position filename="gst/gststructure.h" line="332"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="2147">a pointer to string allocated by g_malloc().
+ g_free() after usage.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="structure" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="2132">a #GstStructure</doc>
+ <type name="Structure" c:type="const GstStructure*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <function name="take" c:identifier="gst_structure_take" version="1.18">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="573">Atomically modifies a pointer to point to a new structure.
+The #GstStructure @oldstr_ptr is pointing to is freed and
+@newstr is taken ownership over.
+
+Either @newstr and the value pointed to by @oldstr_ptr may be %NULL.
+
+It is a programming error if both @newstr and the value pointed to by
+@oldstr_ptr refer to the same, non-%NULL structure.</doc>
+ <source-position filename="gst/gststructure.h" line="141"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="588">%TRUE if @newstr was different from @oldstr_ptr</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="oldstr_ptr"
+ direction="inout"
+ caller-allocates="0"
+ transfer-ownership="full"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="575">pointer to a place of
+ a #GstStructure to take</doc>
+ <type name="Structure" c:type="GstStructure**"/>
+ </parameter>
+ <parameter name="newstr"
+ transfer-ownership="full"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="577">a new #GstStructure</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </parameter>
+ </parameters>
+ </function>
+ </record>
+ <enumeration name="StructureChangeType"
+ glib:type-name="GstStructureChangeType"
+ glib:get-type="gst_structure_change_type_get_type"
+ c:type="GstStructureChangeType">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.h"
+ line="271">The type of a %GST_MESSAGE_STRUCTURE_CHANGE.</doc>
+ <member name="link"
+ value="0"
+ c:identifier="GST_STRUCTURE_CHANGE_TYPE_PAD_LINK"
+ glib:nick="link">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.h"
+ line="273">Pad linking is starting or done.</doc>
+ </member>
+ <member name="unlink"
+ value="1"
+ c:identifier="GST_STRUCTURE_CHANGE_TYPE_PAD_UNLINK"
+ glib:nick="unlink">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.h"
+ line="274">Pad unlinking is starting or done.</doc>
+ </member>
+ </enumeration>
+ <callback name="StructureFilterMapFunc" c:type="GstStructureFilterMapFunc">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.h"
+ line="73">A function that will be called in gst_structure_filter_and_map_in_place().
+The function may modify @value, and the value will be removed from
+the structure if %FALSE is returned.</doc>
+ <source-position filename="gst/gststructure.h" line="86"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.h"
+ line="83">%TRUE if the field should be preserved, %FALSE if it
+should be removed.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="field_id" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.h"
+ line="75">the #GQuark of the field name</doc>
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.h"
+ line="76">the #GValue of the field</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1"
+ closure="2">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.h"
+ line="77">user data</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <callback name="StructureForeachFunc" c:type="GstStructureForeachFunc">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.h"
+ line="41">A function that will be called in gst_structure_foreach(). The function may
+not modify @value.</doc>
+ <source-position filename="gst/gststructure.h" line="53"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.h"
+ line="50">%TRUE if the foreach operation should continue, %FALSE if
+the foreach operation should stop with %FALSE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="field_id" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.h"
+ line="43">the #GQuark of the field name</doc>
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.h"
+ line="44">the #GValue of the field</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1"
+ closure="2">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.h"
+ line="45">user data</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <callback name="StructureMapFunc" c:type="GstStructureMapFunc">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.h"
+ line="57">A function that will be called in gst_structure_map_in_place(). The function
+may modify @value.</doc>
+ <source-position filename="gst/gststructure.h" line="69"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.h"
+ line="66">%TRUE if the map operation should continue, %FALSE if
+the map operation should stop with %FALSE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="field_id" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.h"
+ line="59">the #GQuark of the field name</doc>
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.h"
+ line="60">the #GValue of the field</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1"
+ closure="2">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.h"
+ line="61">user data</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <class name="SystemClock"
+ c:symbol-prefix="system_clock"
+ c:type="GstSystemClock"
+ parent="Clock"
+ glib:type-name="GstSystemClock"
+ glib:get-type="gst_system_clock_get_type"
+ glib:type-struct="SystemClockClass">
+ <doc xml:space="preserve"
+ filename="gst/gstsystemclock.c"
+ line="23">The GStreamer core provides a GstSystemClock based on the system time.
+Asynchronous callbacks are scheduled from an internal thread.
+
+Clock implementors are encouraged to subclass this systemclock as it
+implements the async notification.
+
+Subclasses can however override all of the important methods for sync and
+async notifications to implement their own callback methods or blocking
+wait operations.</doc>
+ <source-position filename="gst/gstsystemclock.h" line="82"/>
+ <function name="obtain" c:identifier="gst_system_clock_obtain">
+ <doc xml:space="preserve"
+ filename="gst/gstsystemclock.c"
+ line="602">Get a handle to the default system clock. The refcount of the
+clock will be increased so you need to unref the clock after
+usage.</doc>
+ <source-position filename="gst/gstsystemclock.h" line="88"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstsystemclock.c"
+ line="609">the default clock.
+
+MT safe.</doc>
+ <type name="Clock" c:type="GstClock*"/>
+ </return-value>
+ </function>
+ <function name="set_default"
+ c:identifier="gst_system_clock_set_default"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst/gstsystemclock.c"
+ line="563">Sets the default system clock that can be obtained with
+gst_system_clock_obtain().
+
+This is mostly used for testing and debugging purposes when you
+want to have control over the time reported by the default system
+clock.
+
+MT safe.</doc>
+ <source-position filename="gst/gstsystemclock.h" line="91"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="new_clock"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstsystemclock.c"
+ line="565">a #GstClock</doc>
+ <type name="Clock" c:type="GstClock*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <property name="clock-type" writable="1" transfer-ownership="none">
+ <type name="ClockType"/>
+ </property>
+ <field name="clock">
+ <type name="Clock" c:type="GstClock"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="SystemClockPrivate" c:type="GstSystemClockPrivate*"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="SystemClockClass"
+ c:type="GstSystemClockClass"
+ glib:is-gtype-struct-for="SystemClock">
+ <source-position filename="gst/gstsystemclock.h" line="82"/>
+ <field name="parent_class">
+ <type name="ClockClass" c:type="GstClockClass"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="SystemClockPrivate"
+ c:type="GstSystemClockPrivate"
+ disguised="1">
+ <source-position filename="gst/gstsystemclock.h" line="43"/>
+ </record>
+ <constant name="TAG_ALBUM" value="album" c:type="GST_TAG_ALBUM">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="575">album containing this data (string)
+
+The album name as it should be displayed, e.g. 'The Jazz Guitar'</doc>
+ <source-position filename="gst/gsttaglist.h" line="582"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_ALBUM_ARTIST"
+ value="album-artist"
+ c:type="GST_TAG_ALBUM_ARTIST">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="591">The artist of the entire album, as it should be displayed.</doc>
+ <source-position filename="gst/gsttaglist.h" line="596"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_ALBUM_ARTIST_SORTNAME"
+ value="album-artist-sortname"
+ c:type="GST_TAG_ALBUM_ARTIST_SORTNAME">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="597">The artist of the entire album, as it should be sorted.</doc>
+ <source-position filename="gst/gsttaglist.h" line="602"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_ALBUM_GAIN"
+ value="replaygain-album-gain"
+ c:type="GST_TAG_ALBUM_GAIN">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="853">album gain in db (double)</doc>
+ <source-position filename="gst/gsttaglist.h" line="858"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_ALBUM_PEAK"
+ value="replaygain-album-peak"
+ c:type="GST_TAG_ALBUM_PEAK">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="859">peak of the album (double)</doc>
+ <source-position filename="gst/gsttaglist.h" line="864"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_ALBUM_SORTNAME"
+ value="album-sortname"
+ c:type="GST_TAG_ALBUM_SORTNAME">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="583">album containing this data, as used for sorting (string)
+
+The album name as it should be sorted, e.g. 'Jazz Guitar, The'</doc>
+ <source-position filename="gst/gsttaglist.h" line="590"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_ALBUM_VOLUME_COUNT"
+ value="album-disc-count"
+ c:type="GST_TAG_ALBUM_VOLUME_COUNT">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="672">count of discs inside collection this disc belongs to (unsigned integer)</doc>
+ <source-position filename="gst/gsttaglist.h" line="677"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_ALBUM_VOLUME_NUMBER"
+ value="album-disc-number"
+ c:type="GST_TAG_ALBUM_VOLUME_NUMBER">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="666">disc number inside a collection (unsigned integer)</doc>
+ <source-position filename="gst/gsttaglist.h" line="671"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_APPLICATION_DATA"
+ value="application-data"
+ c:type="GST_TAG_APPLICATION_DATA">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="1088">Arbitrary application data (sample)
+
+Some formats allow applications to add their own arbitrary data
+into files. This data is application dependent.</doc>
+ <source-position filename="gst/gsttaglist.h" line="1096"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_APPLICATION_NAME"
+ value="application-name"
+ c:type="GST_TAG_APPLICATION_NAME">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="1082">Name of the application used to create the media (string)</doc>
+ <source-position filename="gst/gsttaglist.h" line="1087"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_ARTIST" value="artist" c:type="GST_TAG_ARTIST">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="557">person(s) responsible for the recording (string)
+
+The artist name as it should be displayed, e.g. 'Jimi Hendrix' or
+'The Guitar Heroes'</doc>
+ <source-position filename="gst/gsttaglist.h" line="565"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_ARTIST_SORTNAME"
+ value="artist-sortname"
+ c:type="GST_TAG_ARTIST_SORTNAME">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="566">person(s) responsible for the recording, as used for sorting (string)
+
+The artist name as it should be sorted, e.g. 'Hendrix, Jimi' or
+'Guitar Heroes, The'</doc>
+ <source-position filename="gst/gsttaglist.h" line="574"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_ATTACHMENT"
+ value="attachment"
+ c:type="GST_TAG_ATTACHMENT">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="905">generic file attachment (sample) (sample taglist should specify the content
+type and if possible set "filename" to the file name of the
+attachment)</doc>
+ <source-position filename="gst/gsttaglist.h" line="912"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_AUDIO_CODEC"
+ value="audio-codec"
+ c:type="GST_TAG_AUDIO_CODEC">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="780">codec the audio data is stored in (string)</doc>
+ <source-position filename="gst/gsttaglist.h" line="785"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_BEATS_PER_MINUTE"
+ value="beats-per-minute"
+ c:type="GST_TAG_BEATS_PER_MINUTE">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="914">number of beats per minute in audio (double)</doc>
+ <source-position filename="gst/gsttaglist.h" line="919"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_BITRATE" value="bitrate" c:type="GST_TAG_BITRATE">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="798">exact or average bitrate in bits/s (unsigned integer)</doc>
+ <source-position filename="gst/gsttaglist.h" line="803"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_CODEC" value="codec" c:type="GST_TAG_CODEC">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="768">codec the data is stored in (string)</doc>
+ <source-position filename="gst/gsttaglist.h" line="773"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_COMMENT" value="comment" c:type="GST_TAG_COMMENT">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="635">free text commenting the data (string)</doc>
+ <source-position filename="gst/gsttaglist.h" line="640"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_COMPOSER" value="composer" c:type="GST_TAG_COMPOSER">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="603">person(s) who composed the recording (string)</doc>
+ <source-position filename="gst/gsttaglist.h" line="608"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_COMPOSER_SORTNAME"
+ value="composer-sortname"
+ c:type="GST_TAG_COMPOSER_SORTNAME">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="1049">The composer's name, used for sorting (string)</doc>
+ <source-position filename="gst/gsttaglist.h" line="1054"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_CONDUCTOR"
+ value="conductor"
+ c:type="GST_TAG_CONDUCTOR"
+ version="1.8">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="609">conductor/performer refinement (string)</doc>
+ <source-position filename="gst/gsttaglist.h" line="616"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_CONTACT" value="contact" c:type="GST_TAG_CONTACT">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="738">contact information (string)</doc>
+ <source-position filename="gst/gsttaglist.h" line="743"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_CONTAINER_FORMAT"
+ value="container-format"
+ c:type="GST_TAG_CONTAINER_FORMAT">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="792">container format the data is stored in (string)</doc>
+ <source-position filename="gst/gsttaglist.h" line="797"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_COPYRIGHT"
+ value="copyright"
+ c:type="GST_TAG_COPYRIGHT">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="715">copyright notice of the data (string)</doc>
+ <source-position filename="gst/gsttaglist.h" line="720"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_COPYRIGHT_URI"
+ value="copyright-uri"
+ c:type="GST_TAG_COPYRIGHT_URI">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="721">URI to location where copyright details can be found (string)</doc>
+ <source-position filename="gst/gsttaglist.h" line="726"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_DATE" value="date" c:type="GST_TAG_DATE">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="617">date the data was created (#GDate structure)</doc>
+ <source-position filename="gst/gsttaglist.h" line="622"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_DATE_TIME" value="datetime" c:type="GST_TAG_DATE_TIME">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="623">date and time the data was created (#GstDateTime structure)</doc>
+ <source-position filename="gst/gsttaglist.h" line="628"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_DESCRIPTION"
+ value="description"
+ c:type="GST_TAG_DESCRIPTION">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="691">short text describing the content of the data (string)</doc>
+ <source-position filename="gst/gsttaglist.h" line="696"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_DEVICE_MANUFACTURER"
+ value="device-manufacturer"
+ c:type="GST_TAG_DEVICE_MANUFACTURER">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="1070">Manufacturer of the device used to create the media (string)</doc>
+ <source-position filename="gst/gsttaglist.h" line="1075"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_DEVICE_MODEL"
+ value="device-model"
+ c:type="GST_TAG_DEVICE_MODEL">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="1076">Model of the device used to create the media (string)</doc>
+ <source-position filename="gst/gsttaglist.h" line="1081"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_DURATION" value="duration" c:type="GST_TAG_DURATION">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="762">length in GStreamer time units (nanoseconds) (unsigned 64-bit integer)</doc>
+ <source-position filename="gst/gsttaglist.h" line="767"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_ENCODED_BY"
+ value="encoded-by"
+ c:type="GST_TAG_ENCODED_BY">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="727">name of the person or organisation that encoded the file. May contain a
+copyright message if the person or organisation also holds the copyright
+(string)
+
+Note: do not use this field to describe the encoding application. Use
+#GST_TAG_APPLICATION_NAME or #GST_TAG_COMMENT for that.</doc>
+ <source-position filename="gst/gsttaglist.h" line="737"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_ENCODER" value="encoder" c:type="GST_TAG_ENCODER">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="829">encoder used to encode this stream (string)</doc>
+ <source-position filename="gst/gsttaglist.h" line="834"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_ENCODER_VERSION"
+ value="encoder-version"
+ c:type="GST_TAG_ENCODER_VERSION">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="835">version of the encoder used to encode this stream (unsigned integer)</doc>
+ <source-position filename="gst/gsttaglist.h" line="840"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_EXTENDED_COMMENT"
+ value="extended-comment"
+ c:type="GST_TAG_EXTENDED_COMMENT">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="641">key/value text commenting the data (string)
+
+Must be in the form of 'key=comment' or
+'key[lc]=comment' where 'lc' is an ISO-639
+language code.
+
+This tag is used for unknown Vorbis comment tags,
+unknown APE tags and certain ID3v2 comment fields.</doc>
+ <source-position filename="gst/gsttaglist.h" line="653"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <function-macro name="TAG_FLAG_IS_VALID"
+ c:identifier="GST_TAG_FLAG_IS_VALID"
+ introspectable="0">
+ <source-position filename="gst/gsttaglist.h" line="95"/>
+ <parameters>
+ <parameter name="flag">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <constant name="TAG_GENRE" value="genre" c:type="GST_TAG_GENRE">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="629">genre this data belongs to (string)</doc>
+ <source-position filename="gst/gsttaglist.h" line="634"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_GEO_LOCATION_CAPTURE_DIRECTION"
+ value="geo-location-capture-direction"
+ c:type="GST_TAG_GEO_LOCATION_CAPTURE_DIRECTION">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="1009">Indicates the direction the device is pointing to when capturing
+a media. It is represented as degrees in floating point representation,
+0 means the geographic north, and increases clockwise (double from 0 to 360)
+
+See also #GST_TAG_GEO_LOCATION_MOVEMENT_DIRECTION</doc>
+ <source-position filename="gst/gsttaglist.h" line="1018"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_GEO_LOCATION_CITY"
+ value="geo-location-city"
+ c:type="GST_TAG_GEO_LOCATION_CITY">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="967">The city (english name) where the media has been produced (string).</doc>
+ <source-position filename="gst/gsttaglist.h" line="972"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_GEO_LOCATION_COUNTRY"
+ value="geo-location-country"
+ c:type="GST_TAG_GEO_LOCATION_COUNTRY">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="961">The country (english name) where the media has been produced (string).</doc>
+ <source-position filename="gst/gsttaglist.h" line="966"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_GEO_LOCATION_ELEVATION"
+ value="geo-location-elevation"
+ c:type="GST_TAG_GEO_LOCATION_ELEVATION">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="954">geo elevation of where the media has been recorded or produced in meters
+according to WGS84 (zero is average sea level) (double).</doc>
+ <source-position filename="gst/gsttaglist.h" line="960"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_GEO_LOCATION_HORIZONTAL_ERROR"
+ value="geo-location-horizontal-error"
+ c:type="GST_TAG_GEO_LOCATION_HORIZONTAL_ERROR">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="983">Represents the expected error on the horizontal positioning in
+meters (double).</doc>
+ <source-position filename="gst/gsttaglist.h" line="989"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_GEO_LOCATION_LATITUDE"
+ value="geo-location-latitude"
+ c:type="GST_TAG_GEO_LOCATION_LATITUDE">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="936">geo latitude location of where the media has been recorded or produced in
+degrees according to WGS84 (zero at the equator, negative values for southern
+latitudes) (double).</doc>
+ <source-position filename="gst/gsttaglist.h" line="943"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_GEO_LOCATION_LONGITUDE"
+ value="geo-location-longitude"
+ c:type="GST_TAG_GEO_LOCATION_LONGITUDE">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="945">geo longitude location of where the media has been recorded or produced in
+degrees according to WGS84 (zero at the prime meridian in Greenwich/UK,
+negative values for western longitudes). (double).</doc>
+ <source-position filename="gst/gsttaglist.h" line="952"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_GEO_LOCATION_MOVEMENT_DIRECTION"
+ value="geo-location-movement-direction"
+ c:type="GST_TAG_GEO_LOCATION_MOVEMENT_DIRECTION">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="999">Indicates the movement direction of the device performing the capture
+of a media. It is represented as degrees in floating point representation,
+0 means the geographic north, and increases clockwise (double from 0 to 360)
+
+See also #GST_TAG_GEO_LOCATION_CAPTURE_DIRECTION</doc>
+ <source-position filename="gst/gsttaglist.h" line="1008"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_GEO_LOCATION_MOVEMENT_SPEED"
+ value="geo-location-movement-speed"
+ c:type="GST_TAG_GEO_LOCATION_MOVEMENT_SPEED">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="990">Speed of the capturing device when performing the capture.
+Represented in m/s. (double)
+
+See also #GST_TAG_GEO_LOCATION_MOVEMENT_DIRECTION</doc>
+ <source-position filename="gst/gsttaglist.h" line="998"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_GEO_LOCATION_NAME"
+ value="geo-location-name"
+ c:type="GST_TAG_GEO_LOCATION_NAME">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="928">human readable descriptive location of where the media has been recorded or
+produced. (string).</doc>
+ <source-position filename="gst/gsttaglist.h" line="934"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_GEO_LOCATION_SUBLOCATION"
+ value="geo-location-sublocation"
+ c:type="GST_TAG_GEO_LOCATION_SUBLOCATION">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="973">A location 'smaller' than GST_TAG_GEO_LOCATION_CITY that specifies better
+where the media has been produced. (e.g. the neighborhood) (string).
+
+This tag has been added as this is how it is handled/named in XMP's
+Iptc4xmpcore schema.</doc>
+ <source-position filename="gst/gsttaglist.h" line="982"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_GROUPING" value="grouping" c:type="GST_TAG_GROUPING">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="1055">Groups together media that are related and spans multiple tracks. An
+example are multiple pieces of a concerto. (string)</doc>
+ <source-position filename="gst/gsttaglist.h" line="1061"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_HOMEPAGE" value="homepage" c:type="GST_TAG_HOMEPAGE">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="685">Homepage for this media (i.e. artist or movie homepage) (string)</doc>
+ <source-position filename="gst/gsttaglist.h" line="690"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_IMAGE" value="image" c:type="GST_TAG_IMAGE">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="890">image (sample) (sample taglist should specify the content type and preferably
+also set "image-type" field as `GstTagImageType`)</doc>
+ <source-position filename="gst/gsttaglist.h" line="896"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_IMAGE_ORIENTATION"
+ value="image-orientation"
+ c:type="GST_TAG_IMAGE_ORIENTATION">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="1097">Represents the 'Orientation' tag from EXIF. Defines how the image
+should be rotated and mirrored for display. (string)
+
+This tag has a predefined set of allowed values:
+ "rotate-0"
+ "rotate-90"
+ "rotate-180"
+ "rotate-270"
+ "flip-rotate-0"
+ "flip-rotate-90"
+ "flip-rotate-180"
+ "flip-rotate-270"
+
+The naming is adopted according to a possible transformation to perform
+on the image to fix its orientation, obviously equivalent operations will
+yield the same result.
+
+Rotations indicated by the values are in clockwise direction and
+'flip' means an horizontal mirroring.</doc>
+ <source-position filename="gst/gsttaglist.h" line="1120"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_INTERPRETED_BY"
+ value="interpreted-by"
+ c:type="GST_TAG_INTERPRETED_BY"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="1129">Information about the people behind a remix and similar
+interpretations of another existing piece (string)</doc>
+ <source-position filename="gst/gsttaglist.h" line="1137"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_ISRC" value="isrc" c:type="GST_TAG_ISRC">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="703">International Standard Recording Code - see http://www.ifpi.org/isrc/ (string)</doc>
+ <source-position filename="gst/gsttaglist.h" line="708"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_KEYWORDS" value="keywords" c:type="GST_TAG_KEYWORDS">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="921">comma separated keywords describing the content (string).</doc>
+ <source-position filename="gst/gsttaglist.h" line="926"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_LANGUAGE_CODE"
+ value="language-code"
+ c:type="GST_TAG_LANGUAGE_CODE">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="871">ISO-639-2 or ISO-639-1 code for the language the content is in (string)
+
+There is utility API in libgsttag in gst-plugins-base to obtain a translated
+language name from the language code: `gst_tag_get_language_name()`</doc>
+ <source-position filename="gst/gsttaglist.h" line="879"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_LANGUAGE_NAME"
+ value="language-name"
+ c:type="GST_TAG_LANGUAGE_NAME">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="880">Name of the language the content is in (string)
+
+Free-form name of the language the content is in, if a language code
+is not available. This tag should not be set in addition to a language
+code. It is undefined what language or locale the language name is in.</doc>
+ <source-position filename="gst/gsttaglist.h" line="889"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_LICENSE" value="license" c:type="GST_TAG_LICENSE">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="744">license of data (string)</doc>
+ <source-position filename="gst/gsttaglist.h" line="749"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_LICENSE_URI"
+ value="license-uri"
+ c:type="GST_TAG_LICENSE_URI">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="750">URI to location where license details can be found (string)</doc>
+ <source-position filename="gst/gsttaglist.h" line="755"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <function-macro name="TAG_LIST"
+ c:identifier="GST_TAG_LIST"
+ introspectable="0">
+ <source-position filename="gst/gsttaglist.h" line="110"/>
+ <parameters>
+ <parameter name="x">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <constant name="TAG_LOCATION" value="location" c:type="GST_TAG_LOCATION">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="678">Origin of media as a URI (location, where the original of the file or stream
+is hosted) (string)</doc>
+ <source-position filename="gst/gsttaglist.h" line="684"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_LYRICS" value="lyrics" c:type="GST_TAG_LYRICS">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="1043">The lyrics of the media (string)</doc>
+ <source-position filename="gst/gsttaglist.h" line="1048"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_MAXIMUM_BITRATE"
+ value="maximum-bitrate"
+ c:type="GST_TAG_MAXIMUM_BITRATE">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="817">maximum bitrate in bits/s (unsigned integer)</doc>
+ <source-position filename="gst/gsttaglist.h" line="822"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_MIDI_BASE_NOTE"
+ value="midi-base-note"
+ c:type="GST_TAG_MIDI_BASE_NOTE"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="1138">[Midi note number](http://en.wikipedia.org/wiki/Note#Note_designation_in_accordance_with_octave_name)
+of the audio track. This is useful for sample instruments and in particular
+for multi-samples.</doc>
+ <source-position filename="gst/gsttaglist.h" line="1147"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_MINIMUM_BITRATE"
+ value="minimum-bitrate"
+ c:type="GST_TAG_MINIMUM_BITRATE">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="811">minimum bitrate in bits/s (unsigned integer)</doc>
+ <source-position filename="gst/gsttaglist.h" line="816"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <function-macro name="TAG_MODE_IS_VALID"
+ c:identifier="GST_TAG_MODE_IS_VALID"
+ introspectable="0">
+ <source-position filename="gst/gsttaglist.h" line="74"/>
+ <parameters>
+ <parameter name="mode">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <constant name="TAG_NOMINAL_BITRATE"
+ value="nominal-bitrate"
+ c:type="GST_TAG_NOMINAL_BITRATE">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="804">nominal bitrate in bits/s (unsigned integer). The actual bitrate might be
+different from this target bitrate.</doc>
+ <source-position filename="gst/gsttaglist.h" line="810"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_ORGANIZATION"
+ value="organization"
+ c:type="GST_TAG_ORGANIZATION">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="709">organization (string)</doc>
+ <source-position filename="gst/gsttaglist.h" line="714"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_PERFORMER"
+ value="performer"
+ c:type="GST_TAG_PERFORMER">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="756">person(s) performing (string)</doc>
+ <source-position filename="gst/gsttaglist.h" line="761"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_PREVIEW_IMAGE"
+ value="preview-image"
+ c:type="GST_TAG_PREVIEW_IMAGE">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="897">image that is meant for preview purposes, e.g. small icon-sized version
+(sample) (sample taglist should specify the content type)</doc>
+ <source-position filename="gst/gsttaglist.h" line="903"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_PRIVATE_DATA"
+ value="private-data"
+ c:type="GST_TAG_PRIVATE_DATA"
+ version="1.8">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="1148">Any private data that may be contained in tags (sample).
+
+It is represented by #GstSample in which #GstBuffer contains the
+binary data and the sample's info #GstStructure may contain any
+extra information that identifies the origin or meaning of the data.
+
+Private frames in ID3v2 tags ('PRIV' frames) will be represented
+using this tag, in which case the GstStructure will be named
+"ID3PrivateFrame" and contain a field named "owner" of type string
+which contains the owner-identification string from the tag.</doc>
+ <source-position filename="gst/gsttaglist.h" line="1164"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_PUBLISHER"
+ value="publisher"
+ c:type="GST_TAG_PUBLISHER"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="1121">Name of the label or publisher (string)</doc>
+ <source-position filename="gst/gsttaglist.h" line="1128"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_REFERENCE_LEVEL"
+ value="replaygain-reference-level"
+ c:type="GST_TAG_REFERENCE_LEVEL">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="865">reference level of track and album gain values (double)</doc>
+ <source-position filename="gst/gsttaglist.h" line="870"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_SERIAL" value="serial" c:type="GST_TAG_SERIAL">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="823">serial number of track (unsigned integer)</doc>
+ <source-position filename="gst/gsttaglist.h" line="828"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <function-macro name="TAG_SETTER"
+ c:identifier="GST_TAG_SETTER"
+ introspectable="0">
+ <source-position filename="gst/gsttagsetter.h" line="30"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="TAG_SETTER_GET_INTERFACE"
+ c:identifier="GST_TAG_SETTER_GET_INTERFACE"
+ introspectable="0">
+ <source-position filename="gst/gsttagsetter.h" line="32"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <constant name="TAG_SHOW_EPISODE_NUMBER"
+ value="show-episode-number"
+ c:type="GST_TAG_SHOW_EPISODE_NUMBER">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="1031">Number of the episode within a season/show (unsigned integer)</doc>
+ <source-position filename="gst/gsttaglist.h" line="1036"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_SHOW_NAME"
+ value="show-name"
+ c:type="GST_TAG_SHOW_NAME">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="1019">Name of the show, used for displaying (string)</doc>
+ <source-position filename="gst/gsttaglist.h" line="1024"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_SHOW_SEASON_NUMBER"
+ value="show-season-number"
+ c:type="GST_TAG_SHOW_SEASON_NUMBER">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="1037">Number of the season of a show/series (unsigned integer)</doc>
+ <source-position filename="gst/gsttaglist.h" line="1042"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_SHOW_SORTNAME"
+ value="show-sortname"
+ c:type="GST_TAG_SHOW_SORTNAME">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="1025">Name of the show, used for sorting (string)</doc>
+ <source-position filename="gst/gsttaglist.h" line="1030"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_SUBTITLE_CODEC"
+ value="subtitle-codec"
+ c:type="GST_TAG_SUBTITLE_CODEC">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="786">codec/format the subtitle data is stored in (string)</doc>
+ <source-position filename="gst/gsttaglist.h" line="791"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_TITLE" value="title" c:type="GST_TAG_TITLE">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="541">commonly used title (string)
+
+The title as it should be displayed, e.g. 'The Doll House'</doc>
+ <source-position filename="gst/gsttaglist.h" line="548"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_TITLE_SORTNAME"
+ value="title-sortname"
+ c:type="GST_TAG_TITLE_SORTNAME">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="549">commonly used title, as used for sorting (string)
+
+The title as it should be sorted, e.g. 'Doll House, The'</doc>
+ <source-position filename="gst/gsttaglist.h" line="556"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_TRACK_COUNT"
+ value="track-count"
+ c:type="GST_TAG_TRACK_COUNT">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="660">count of tracks inside collection this track belongs to (unsigned integer)</doc>
+ <source-position filename="gst/gsttaglist.h" line="665"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_TRACK_GAIN"
+ value="replaygain-track-gain"
+ c:type="GST_TAG_TRACK_GAIN">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="841">track gain in db (double)</doc>
+ <source-position filename="gst/gsttaglist.h" line="846"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_TRACK_NUMBER"
+ value="track-number"
+ c:type="GST_TAG_TRACK_NUMBER">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="654">track number inside a collection (unsigned integer)</doc>
+ <source-position filename="gst/gsttaglist.h" line="659"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_TRACK_PEAK"
+ value="replaygain-track-peak"
+ c:type="GST_TAG_TRACK_PEAK">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="847">peak of the track (double)</doc>
+ <source-position filename="gst/gsttaglist.h" line="852"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_USER_RATING"
+ value="user-rating"
+ c:type="GST_TAG_USER_RATING">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="1062">Rating attributed by a person (likely the application user).
+The higher the value, the more the user likes this media
+(unsigned int from 0 to 100)</doc>
+ <source-position filename="gst/gsttaglist.h" line="1069"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_VERSION" value="version" c:type="GST_TAG_VERSION">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="697">version of this data (string)</doc>
+ <source-position filename="gst/gsttaglist.h" line="702"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_VIDEO_CODEC"
+ value="video-codec"
+ c:type="GST_TAG_VIDEO_CODEC">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="774">codec the video data is stored in (string)</doc>
+ <source-position filename="gst/gsttaglist.h" line="779"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <function-macro name="TASK" c:identifier="GST_TASK" introspectable="0">
+ <source-position filename="gst/gsttask.h" line="42"/>
+ <parameters>
+ <parameter name="task">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="TASK_BROADCAST"
+ c:identifier="GST_TASK_BROADCAST"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gsttask.h"
+ line="96">Send a broadcast signal to all waiting task conds</doc>
+ <source-position filename="gst/gsttask.h" line="102"/>
+ <parameters>
+ <parameter name="task">
+ <doc xml:space="preserve"
+ filename="gst/gsttask.h"
+ line="98">Task to broadcast</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="TASK_CAST"
+ c:identifier="GST_TASK_CAST"
+ introspectable="0">
+ <source-position filename="gst/gsttask.h" line="47"/>
+ <parameters>
+ <parameter name="task">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="TASK_CLASS"
+ c:identifier="GST_TASK_CLASS"
+ introspectable="0">
+ <source-position filename="gst/gsttask.h" line="44"/>
+ <parameters>
+ <parameter name="tclass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="TASK_GET_CLASS"
+ c:identifier="GST_TASK_GET_CLASS"
+ introspectable="0">
+ <source-position filename="gst/gsttask.h" line="46"/>
+ <parameters>
+ <parameter name="task">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="TASK_GET_COND"
+ c:identifier="GST_TASK_GET_COND"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gsttask.h"
+ line="75">Get access to the cond of the task.</doc>
+ <source-position filename="gst/gsttask.h" line="81"/>
+ <parameters>
+ <parameter name="task">
+ <doc xml:space="preserve"
+ filename="gst/gsttask.h"
+ line="77">Task to get the cond of</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="TASK_GET_LOCK"
+ c:identifier="GST_TASK_GET_LOCK"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gsttask.h"
+ line="104">Get access to the task lock.</doc>
+ <source-position filename="gst/gsttask.h" line="110"/>
+ <parameters>
+ <parameter name="task">
+ <doc xml:space="preserve"
+ filename="gst/gsttask.h"
+ line="106">Task to get the lock of</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="TASK_POOL"
+ c:identifier="GST_TASK_POOL"
+ introspectable="0">
+ <source-position filename="gst/gsttaskpool.h" line="31"/>
+ <parameters>
+ <parameter name="pool">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="TASK_POOL_CAST"
+ c:identifier="GST_TASK_POOL_CAST"
+ introspectable="0">
+ <source-position filename="gst/gsttaskpool.h" line="36"/>
+ <parameters>
+ <parameter name="pool">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="TASK_POOL_CLASS"
+ c:identifier="GST_TASK_POOL_CLASS"
+ introspectable="0">
+ <source-position filename="gst/gsttaskpool.h" line="33"/>
+ <parameters>
+ <parameter name="pclass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="TASK_POOL_GET_CLASS"
+ c:identifier="GST_TASK_POOL_GET_CLASS"
+ introspectable="0">
+ <source-position filename="gst/gsttaskpool.h" line="35"/>
+ <parameters>
+ <parameter name="pool">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="TASK_SIGNAL"
+ c:identifier="GST_TASK_SIGNAL"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gsttask.h"
+ line="89">Signal the task cond</doc>
+ <source-position filename="gst/gsttask.h" line="95"/>
+ <parameters>
+ <parameter name="task">
+ <doc xml:space="preserve"
+ filename="gst/gsttask.h"
+ line="91">Task to signal</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="TASK_STATE"
+ c:identifier="GST_TASK_STATE"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gsttask.h"
+ line="67">Get access to the state of the task.</doc>
+ <source-position filename="gst/gsttask.h" line="73"/>
+ <parameters>
+ <parameter name="task">
+ <doc xml:space="preserve"
+ filename="gst/gsttask.h"
+ line="69">Task to get the state of</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="TASK_WAIT"
+ c:identifier="GST_TASK_WAIT"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gsttask.h"
+ line="82">Wait for the task cond to be signalled</doc>
+ <source-position filename="gst/gsttask.h" line="88"/>
+ <parameters>
+ <parameter name="task">
+ <doc xml:space="preserve"
+ filename="gst/gsttask.h"
+ line="84">Task to wait for</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <constant name="TIMEP_FORMAT"
+ value="paT"
+ c:type="GST_TIMEP_FORMAT"
+ version="1.18"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.h"
+ line="305">printf format type used to debug GStreamer ClockTime pointers. You can use
+this in combination with GStreamer's debug logging system as well as the
+functions gst_info_vasprintf(), gst_info_strdup_vprintf() and
+gst_info_strdup_printf() to pretty-print #GstClockTime pointers. This can
+only be used on pointers to GstClockTime values.</doc>
+ <source-position filename="gst/gstinfo.h" line="316"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <function-macro name="TIMESPEC_TO_TIME"
+ c:identifier="GST_TIMESPEC_TO_TIME"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.h"
+ line="192">Convert a struct timespec (see man pselect) to a #GstClockTime.</doc>
+ <source-position filename="gst/gstclock.h" line="198"/>
+ <parameters>
+ <parameter name="ts">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.h"
+ line="194">the timespec to convert</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="TIMEVAL_TO_TIME"
+ c:identifier="GST_TIMEVAL_TO_TIME"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.h"
+ line="163">Convert a GTimeVal to a #GstClockTime.</doc>
+ <source-position filename="gst/gstclock.h" line="169"/>
+ <parameters>
+ <parameter name="tv">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.h"
+ line="165">the timeval to convert</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="TIME_ARGS"
+ c:identifier="GST_TIME_ARGS"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.h"
+ line="228">Format @t for the #GST_TIME_FORMAT format string. Note: @t will be
+evaluated more than once.</doc>
+ <source-position filename="gst/gstclock.h" line="235"/>
+ <parameters>
+ <parameter name="t">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.h"
+ line="230">a #GstClockTime</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="TIME_AS_MSECONDS"
+ c:identifier="GST_TIME_AS_MSECONDS"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.h"
+ line="131">Convert a #GstClockTime to milliseconds (1/1000 of a second).</doc>
+ <source-position filename="gst/gstclock.h" line="137"/>
+ <parameters>
+ <parameter name="time">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.h"
+ line="133">the time</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="TIME_AS_NSECONDS"
+ c:identifier="GST_TIME_AS_NSECONDS"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.h"
+ line="145">Convert a #GstClockTime to nanoseconds (1/1000000000 of a second).</doc>
+ <source-position filename="gst/gstclock.h" line="151"/>
+ <parameters>
+ <parameter name="time">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.h"
+ line="147">the time</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="TIME_AS_SECONDS"
+ c:identifier="GST_TIME_AS_SECONDS"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.h"
+ line="124">Convert a #GstClockTime to seconds.</doc>
+ <source-position filename="gst/gstclock.h" line="130"/>
+ <parameters>
+ <parameter name="time">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.h"
+ line="126">the time</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="TIME_AS_USECONDS"
+ c:identifier="GST_TIME_AS_USECONDS"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.h"
+ line="138">Convert a #GstClockTime to microseconds (1/1000000 of a second).</doc>
+ <source-position filename="gst/gstclock.h" line="144"/>
+ <parameters>
+ <parameter name="time">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.h"
+ line="140">the time</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <constant name="TIME_FORMAT"
+ value="u:%02u:%02u.%09u"
+ c:type="GST_TIME_FORMAT"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.h"
+ line="215">A string that can be used in printf-like format strings to display a
+#GstClockTime value in h:m:s format. Use GST_TIME_ARGS() to construct
+the matching arguments.
+
+Example:
+|[&lt;!-- language="C" --&gt;
+printf("%" GST_TIME_FORMAT "\n", GST_TIME_ARGS(ts));
+]|</doc>
+ <source-position filename="gst/gstclock.h" line="227"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <function-macro name="TIME_TO_TIMESPEC"
+ c:identifier="GST_TIME_TO_TIMESPEC"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.h"
+ line="199">Convert a #GstClockTime to a struct timespec (see man pselect)</doc>
+ <source-position filename="gst/gstclock.h" line="206"/>
+ <parameters>
+ <parameter name="t">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.h"
+ line="201">The #GstClockTime to convert</doc>
+ </parameter>
+ <parameter name="ts">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.h"
+ line="202">The target timespec</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="TIME_TO_TIMEVAL"
+ c:identifier="GST_TIME_TO_TIMEVAL"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.h"
+ line="171">Convert a #GstClockTime to a GTimeVal
+
+&gt; on 32-bit systems, a timeval has a range of only 2^32 - 1 seconds,
+&gt; which is about 68 years. Expect trouble if you want to schedule stuff
+&gt; in your pipeline for 2038.</doc>
+ <source-position filename="gst/gstclock.h" line="182"/>
+ <parameters>
+ <parameter name="t">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.h"
+ line="173">The #GstClockTime to convert</doc>
+ </parameter>
+ <parameter name="tv">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.h"
+ line="174">The target timeval</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="TOC_ENTRY_TYPE_IS_ALTERNATIVE"
+ c:identifier="GST_TOC_ENTRY_TYPE_IS_ALTERNATIVE"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.h"
+ line="85">Checks if @entry_type indicates that its #GstTocEntry is an alternative.</doc>
+ <source-position filename="gst/gsttoc.h" line="91"/>
+ <parameters>
+ <parameter name="entry_type">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.h"
+ line="87">The #GstTocEntryType from a #GstTocEntry</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="TOC_ENTRY_TYPE_IS_SEQUENCE"
+ c:identifier="GST_TOC_ENTRY_TYPE_IS_SEQUENCE"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.h"
+ line="93">Checks if @entry_type indicates that its #GstTocEntry is a sequence.</doc>
+ <source-position filename="gst/gsttoc.h" line="99"/>
+ <parameters>
+ <parameter name="entry_type">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.h"
+ line="95">The #GstTocEntryType from a #GstTocEntry</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <constant name="TOC_REPEAT_COUNT_INFINITE"
+ value="-1"
+ c:type="GST_TOC_REPEAT_COUNT_INFINITE"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.h"
+ line="120">Special value for the repeat_count set in gst_toc_entry_set_loop() or
+returned by gst_toc_entry_set_loop() to indicate infinite looping.</doc>
+ <source-position filename="gst/gsttoc.h" line="128"/>
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <function-macro name="TOC_SETTER"
+ c:identifier="GST_TOC_SETTER"
+ introspectable="0">
+ <source-position filename="gst/gsttocsetter.h" line="30"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="TOC_SETTER_GET_IFACE"
+ c:identifier="GST_TOC_SETTER_GET_IFACE"
+ introspectable="0">
+ <source-position filename="gst/gsttocsetter.h" line="32"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="TRACER" c:identifier="GST_TRACER" introspectable="0">
+ <source-position filename="gst/gsttracer.h" line="37"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="TRACER_CAST"
+ c:identifier="GST_TRACER_CAST"
+ introspectable="0">
+ <source-position filename="gst/gsttracer.h" line="42"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="TRACER_CLASS"
+ c:identifier="GST_TRACER_CLASS"
+ introspectable="0">
+ <source-position filename="gst/gsttracer.h" line="38"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="TRACER_FACTORY"
+ c:identifier="GST_TRACER_FACTORY"
+ introspectable="0">
+ <source-position filename="gst/gsttracerfactory.h" line="32"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="TRACER_FACTORY_CAST"
+ c:identifier="GST_TRACER_FACTORY_CAST"
+ introspectable="0">
+ <source-position filename="gst/gsttracerfactory.h" line="37"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="TRACER_FACTORY_CLASS"
+ c:identifier="GST_TRACER_FACTORY_CLASS"
+ introspectable="0">
+ <source-position filename="gst/gsttracerfactory.h" line="34"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="TRACER_FACTORY_GET_CLASS"
+ c:identifier="GST_TRACER_FACTORY_GET_CLASS"
+ introspectable="0">
+ <source-position filename="gst/gsttracerfactory.h" line="36"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="TRACER_GET_CLASS"
+ c:identifier="GST_TRACER_GET_CLASS"
+ introspectable="0">
+ <source-position filename="gst/gsttracer.h" line="41"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="TRACER_RECORD"
+ c:identifier="GST_TRACER_RECORD"
+ introspectable="0">
+ <source-position filename="gst/gsttracerrecord.h" line="40"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="TRACER_RECORD_CAST"
+ c:identifier="GST_TRACER_RECORD_CAST"
+ introspectable="0">
+ <source-position filename="gst/gsttracerrecord.h" line="45"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="TRACER_RECORD_CLASS"
+ c:identifier="GST_TRACER_RECORD_CLASS"
+ introspectable="0">
+ <source-position filename="gst/gsttracerrecord.h" line="41"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="TRACER_RECORD_GET_CLASS"
+ c:identifier="GST_TRACER_RECORD_GET_CLASS"
+ introspectable="0">
+ <source-position filename="gst/gsttracerrecord.h" line="44"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="TYPE_FIND_FACTORY"
+ c:identifier="GST_TYPE_FIND_FACTORY"
+ introspectable="0">
+ <source-position filename="gst/gsttypefindfactory.h" line="33"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="TYPE_FIND_FACTORY_CLASS"
+ c:identifier="GST_TYPE_FIND_FACTORY_CLASS"
+ introspectable="0">
+ <source-position filename="gst/gsttypefindfactory.h" line="35"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="TYPE_FIND_FACTORY_GET_CLASS"
+ c:identifier="GST_TYPE_FIND_FACTORY_GET_CLASS"
+ introspectable="0">
+ <source-position filename="gst/gsttypefindfactory.h" line="37"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <enumeration name="TagFlag"
+ glib:type-name="GstTagFlag"
+ glib:get-type="gst_tag_flag_get_type"
+ c:type="GstTagFlag">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="76">Extra tag flags used when registering tags.</doc>
+ <member name="undefined"
+ value="0"
+ c:identifier="GST_TAG_FLAG_UNDEFINED"
+ glib:nick="undefined">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="78">undefined flag</doc>
+ </member>
+ <member name="meta"
+ value="1"
+ c:identifier="GST_TAG_FLAG_META"
+ glib:nick="meta">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="79">tag is meta data</doc>
+ </member>
+ <member name="encoded"
+ value="2"
+ c:identifier="GST_TAG_FLAG_ENCODED"
+ glib:nick="encoded">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="80">tag is encoded</doc>
+ </member>
+ <member name="decoded"
+ value="3"
+ c:identifier="GST_TAG_FLAG_DECODED"
+ glib:nick="decoded">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="81">tag is decoded</doc>
+ </member>
+ <member name="count"
+ value="4"
+ c:identifier="GST_TAG_FLAG_COUNT"
+ glib:nick="count">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="82">number of tag flags</doc>
+ </member>
+ </enumeration>
+ <callback name="TagForeachFunc" c:type="GstTagForeachFunc">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="114">A function that will be called in gst_tag_list_foreach(). The function may
+not modify the tag list.</doc>
+ <source-position filename="gst/gsttaglist.h" line="123"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="list" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="116">the #GstTagList</doc>
+ <type name="TagList" c:type="const GstTagList*"/>
+ </parameter>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="117">a name of a tag in @list</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1"
+ closure="2">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="118">user data</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <record name="TagList"
+ c:type="GstTagList"
+ glib:type-name="GstTagList"
+ glib:get-type="gst_tag_list_get_type"
+ c:symbol-prefix="tag_list">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="22">List of tags and values used to describe media metadata.
+
+Strings in structures must be ASCII or UTF-8 encoded. Other encodings are
+not allowed. Strings must not be empty or %NULL.</doc>
+ <source-position filename="gst/gsttaglist.h" line="106"/>
+ <field name="mini_object" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="99">the parent type</doc>
+ <type name="MiniObject" c:type="GstMiniObject"/>
+ </field>
+ <constructor name="new"
+ c:identifier="gst_tag_list_new"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="761">Creates a new taglist and appends the values for the given tags. It expects
+tag-value pairs like gst_tag_list_add(), and a %NULL terminator after the
+last pair. The type of the values is implicit and is documented in the API
+reference, but can also be queried at runtime with gst_tag_get_type(). It
+is an error to pass a value of a type not matching the tag type into this
+function. The tag list will make copies of any arguments passed
+(e.g. strings, buffers).
+
+After creation you might also want to set a #GstTagScope on the returned
+taglist to signal if the contained tags are global or stream tags. By
+default stream scope is assumes. See gst_tag_list_set_scope().
+
+Free-function: gst_tag_list_unref</doc>
+ <source-position filename="gst/gsttaglist.h" line="204"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="780">a new #GstTagList. Free with gst_tag_list_unref()
+ when no longer needed.</doc>
+ <type name="TagList" c:type="GstTagList*"/>
+ </return-value>
+ <parameters>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="763">tag</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="..." transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="764">%NULL-terminated list of values to set</doc>
+ <varargs/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_empty" c:identifier="gst_tag_list_new_empty">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="741">Creates a new empty GstTagList.
+
+Free-function: gst_tag_list_unref</doc>
+ <source-position filename="gst/gsttaglist.h" line="201"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="748">An empty tag list</doc>
+ <type name="TagList" c:type="GstTagList*"/>
+ </return-value>
+ </constructor>
+ <constructor name="new_from_string"
+ c:identifier="gst_tag_list_new_from_string">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="877">Deserializes a tag list.</doc>
+ <source-position filename="gst/gsttaglist.h" line="219"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="883">a new #GstTagList, or %NULL in case of an
+error.</doc>
+ <type name="TagList" c:type="GstTagList*"/>
+ </return-value>
+ <parameters>
+ <parameter name="str" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="879">a string created with gst_tag_list_to_string()</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_valist"
+ c:identifier="gst_tag_list_new_valist"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="799">Just like gst_tag_list_new(), only that it takes a va_list argument.
+Useful mostly for language bindings.
+
+Free-function: gst_tag_list_unref</doc>
+ <source-position filename="gst/gsttaglist.h" line="207"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="808">a new #GstTagList. Free with gst_tag_list_unref()
+ when no longer needed.</doc>
+ <type name="TagList" c:type="GstTagList*"/>
+ </return-value>
+ <parameters>
+ <parameter name="var_args" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="801">tag / value pairs to set</doc>
+ <type name="va_list" c:type="va_list"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <method name="add" c:identifier="gst_tag_list_add" introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1214">Sets the values for the given tags using the specified mode.</doc>
+ <source-position filename="gst/gsttaglist.h" line="245"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="list" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1216">list to set tags in</doc>
+ <type name="TagList" c:type="GstTagList*"/>
+ </instance-parameter>
+ <parameter name="mode" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1217">the mode to use</doc>
+ <type name="TagMergeMode" c:type="GstTagMergeMode"/>
+ </parameter>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1218">tag</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="..." transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1219">%NULL-terminated list of values to set</doc>
+ <varargs/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_valist"
+ c:identifier="gst_tag_list_add_valist"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1264">Sets the values for the given tags using the specified mode.</doc>
+ <source-position filename="gst/gsttaglist.h" line="255"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="list" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1266">list to set tags in</doc>
+ <type name="TagList" c:type="GstTagList*"/>
+ </instance-parameter>
+ <parameter name="mode" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1267">the mode to use</doc>
+ <type name="TagMergeMode" c:type="GstTagMergeMode"/>
+ </parameter>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1268">tag</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="var_args" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1269">tag / value pairs to set</doc>
+ <type name="va_list" c:type="va_list"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_valist_values"
+ c:identifier="gst_tag_list_add_valist_values"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1318">Sets the GValues for the given tags using the specified mode.</doc>
+ <source-position filename="gst/gsttaglist.h" line="260"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="list" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1320">list to set tags in</doc>
+ <type name="TagList" c:type="GstTagList*"/>
+ </instance-parameter>
+ <parameter name="mode" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1321">the mode to use</doc>
+ <type name="TagMergeMode" c:type="GstTagMergeMode"/>
+ </parameter>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1322">tag</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="var_args" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1323">tag / GValue pairs to set</doc>
+ <type name="va_list" c:type="va_list"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_value" c:identifier="gst_tag_list_add_value">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1354">Sets the GValue for a given tag using the specified mode.</doc>
+ <source-position filename="gst/gsttaglist.h" line="265"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="list" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1356">list to set tags in</doc>
+ <type name="TagList" c:type="GstTagList*"/>
+ </instance-parameter>
+ <parameter name="mode" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1357">the mode to use</doc>
+ <type name="TagMergeMode" c:type="GstTagMergeMode"/>
+ </parameter>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1358">tag</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1359">GValue for this tag</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_values"
+ c:identifier="gst_tag_list_add_values"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1239">Sets the GValues for the given tags using the specified mode.</doc>
+ <source-position filename="gst/gsttaglist.h" line="250"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="list" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1241">list to set tags in</doc>
+ <type name="TagList" c:type="GstTagList*"/>
+ </instance-parameter>
+ <parameter name="mode" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1242">the mode to use</doc>
+ <type name="TagMergeMode" c:type="GstTagMergeMode"/>
+ </parameter>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1243">tag</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="..." transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1244">GValues to set</doc>
+ <varargs/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="copy" c:identifier="gst_tag_list_copy">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="2066">Creates a new #GstTagList as a copy of the old @taglist. The new taglist
+will have a refcount of 1, owned by the caller, and will be writable as
+a result.
+
+Note that this function is the semantic equivalent of a gst_tag_list_ref()
+followed by a gst_tag_list_make_writable(). If you only want to hold on to a
+reference to the data, you should use gst_tag_list_ref().
+
+When you are finished with the taglist, call gst_tag_list_unref() on it.</doc>
+ <source-position filename="gst/gsttaglist.h" line="457"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="2080">the new #GstTagList</doc>
+ <type name="TagList" c:type="GstTagList*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="taglist" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="2068">a #GstTagList.</doc>
+ <type name="TagList" c:type="const GstTagList*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="foreach" c:identifier="gst_tag_list_foreach">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1410">Calls the given function for each tag inside the tag list. Note that if there
+is no tag, the function won't be called at all.</doc>
+ <source-position filename="gst/gsttaglist.h" line="273"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="list" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1412">list to iterate over</doc>
+ <type name="TagList" c:type="const GstTagList*"/>
+ </instance-parameter>
+ <parameter name="func"
+ transfer-ownership="none"
+ scope="call"
+ closure="1">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1413">function to be called for each tag</doc>
+ <type name="TagForeachFunc" c:type="GstTagForeachFunc"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1414">user specified data</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_boolean" c:identifier="gst_tag_list_get_boolean">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1564">Copies the contents for the given tag into the value, merging multiple values
+into one if multiple values are associated with the tag.</doc>
+ <source-position filename="gst/gsttaglist.h" line="289"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1573">%TRUE, if a value was copied, %FALSE if the tag didn't exist in the
+ given list.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="list" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1566">a #GstTagList to get the tag from</doc>
+ <type name="TagList" c:type="const GstTagList*"/>
+ </instance-parameter>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1567">tag to read out</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="value"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1568">location for the result</doc>
+ <type name="gboolean" c:type="gboolean*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_boolean_index"
+ c:identifier="gst_tag_list_get_boolean_index">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1576">Gets the value that is at the given index for the given tag in the given
+list.</doc>
+ <source-position filename="gst/gsttaglist.h" line="293"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1586">%TRUE, if a value was copied, %FALSE if the tag didn't exist in the
+ given list.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="list" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1578">a #GstTagList to get the tag from</doc>
+ <type name="TagList" c:type="const GstTagList*"/>
+ </instance-parameter>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1579">tag to read out</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="index" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1580">number of entry to read out</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="value"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1581">location for the result</doc>
+ <type name="gboolean" c:type="gboolean*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_date" c:identifier="gst_tag_list_get_date">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1865">Copies the first date for the given tag in the taglist into the variable
+pointed to by @value. Free the date with g_date_free() when it is no longer
+needed.
+
+Free-function: g_date_free</doc>
+ <source-position filename="gst/gsttaglist.h" line="375"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1878">%TRUE, if a date was copied, %FALSE if the tag didn't exist in the
+ given list or if it was %NULL.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="list" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1867">a #GstTagList to get the tag from</doc>
+ <type name="TagList" c:type="const GstTagList*"/>
+ </instance-parameter>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1868">tag to read out</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="value"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1869">address of a GDate pointer
+ variable to store the result into</doc>
+ <type name="GLib.Date" c:type="GDate**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_date_index" c:identifier="gst_tag_list_get_date_index">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1898">Gets the date that is at the given index for the given tag in the given
+list and copies it into the variable pointed to by @value. Free the date
+with g_date_free() when it is no longer needed.
+
+Free-function: g_date_free</doc>
+ <source-position filename="gst/gsttaglist.h" line="379"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1911">%TRUE, if a value was copied, %FALSE if the tag didn't exist in the
+ given list or if it was %NULL.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="list" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1900">a #GstTagList to get the tag from</doc>
+ <type name="TagList" c:type="const GstTagList*"/>
+ </instance-parameter>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1901">tag to read out</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="index" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1902">number of entry to read out</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="value"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1903">location for the result</doc>
+ <type name="GLib.Date" c:type="GDate**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_date_time" c:identifier="gst_tag_list_get_date_time">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1930">Copies the first datetime for the given tag in the taglist into the variable
+pointed to by @value. Unref the date with gst_date_time_unref() when
+it is no longer needed.
+
+Free-function: gst_date_time_unref</doc>
+ <source-position filename="gst/gsttaglist.h" line="384"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1943">%TRUE, if a datetime was copied, %FALSE if the tag didn't exist in
+ the given list or if it was %NULL.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="list" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1932">a #GstTagList to get the tag from</doc>
+ <type name="TagList" c:type="const GstTagList*"/>
+ </instance-parameter>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1933">tag to read out</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="value"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1934">address of a #GstDateTime
+ pointer variable to store the result into</doc>
+ <type name="DateTime" c:type="GstDateTime**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_date_time_index"
+ c:identifier="gst_tag_list_get_date_time_index">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1964">Gets the datetime that is at the given index for the given tag in the given
+list and copies it into the variable pointed to by @value. Unref the datetime
+with gst_date_time_unref() when it is no longer needed.
+
+Free-function: gst_date_time_unref</doc>
+ <source-position filename="gst/gsttaglist.h" line="388"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1977">%TRUE, if a value was copied, %FALSE if the tag didn't exist in the
+ given list or if it was %NULL.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="list" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1966">a #GstTagList to get the tag from</doc>
+ <type name="TagList" c:type="const GstTagList*"/>
+ </instance-parameter>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1967">tag to read out</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="index" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1968">number of entry to read out</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="value"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1969">location for the result</doc>
+ <type name="DateTime" c:type="GstDateTime**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_double" c:identifier="gst_tag_list_get_double">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1720">Copies the contents for the given tag into the value, merging multiple values
+into one if multiple values are associated with the tag.</doc>
+ <source-position filename="gst/gsttaglist.h" line="343"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1729">%TRUE, if a value was copied, %FALSE if the tag didn't exist in the
+ given list.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="list" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1722">a #GstTagList to get the tag from</doc>
+ <type name="TagList" c:type="const GstTagList*"/>
+ </instance-parameter>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1723">tag to read out</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="value"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1724">location for the result</doc>
+ <type name="gdouble" c:type="gdouble*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_double_index"
+ c:identifier="gst_tag_list_get_double_index">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1732">Gets the value that is at the given index for the given tag in the given
+list.</doc>
+ <source-position filename="gst/gsttaglist.h" line="347"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1742">%TRUE, if a value was copied, %FALSE if the tag didn't exist in the
+ given list.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="list" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1734">a #GstTagList to get the tag from</doc>
+ <type name="TagList" c:type="const GstTagList*"/>
+ </instance-parameter>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1735">tag to read out</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="index" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1736">number of entry to read out</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="value"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1737">location for the result</doc>
+ <type name="gdouble" c:type="gdouble*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_float" c:identifier="gst_tag_list_get_float">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1694">Copies the contents for the given tag into the value, merging multiple values
+into one if multiple values are associated with the tag.</doc>
+ <source-position filename="gst/gsttaglist.h" line="334"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1703">%TRUE, if a value was copied, %FALSE if the tag didn't exist in the
+ given list.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="list" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1696">a #GstTagList to get the tag from</doc>
+ <type name="TagList" c:type="const GstTagList*"/>
+ </instance-parameter>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1697">tag to read out</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="value"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1698">location for the result</doc>
+ <type name="gfloat" c:type="gfloat*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_float_index"
+ c:identifier="gst_tag_list_get_float_index">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1706">Gets the value that is at the given index for the given tag in the given
+list.</doc>
+ <source-position filename="gst/gsttaglist.h" line="338"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1716">%TRUE, if a value was copied, %FALSE if the tag didn't exist in the
+ given list.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="list" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1708">a #GstTagList to get the tag from</doc>
+ <type name="TagList" c:type="const GstTagList*"/>
+ </instance-parameter>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1709">tag to read out</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="index" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1710">number of entry to read out</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="value"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1711">location for the result</doc>
+ <type name="gfloat" c:type="gfloat*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_int" c:identifier="gst_tag_list_get_int">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1590">Copies the contents for the given tag into the value, merging multiple values
+into one if multiple values are associated with the tag.</doc>
+ <source-position filename="gst/gsttaglist.h" line="298"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1599">%TRUE, if a value was copied, %FALSE if the tag didn't exist in the
+ given list.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="list" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1592">a #GstTagList to get the tag from</doc>
+ <type name="TagList" c:type="const GstTagList*"/>
+ </instance-parameter>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1593">tag to read out</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="value"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1594">location for the result</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_int64" c:identifier="gst_tag_list_get_int64">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1642">Copies the contents for the given tag into the value, merging multiple values
+into one if multiple values are associated with the tag.</doc>
+ <source-position filename="gst/gsttaglist.h" line="316"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1651">%TRUE, if a value was copied, %FALSE if the tag didn't exist in the
+ given list.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="list" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1644">a #GstTagList to get the tag from</doc>
+ <type name="TagList" c:type="const GstTagList*"/>
+ </instance-parameter>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1645">tag to read out</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="value"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1646">location for the result</doc>
+ <type name="gint64" c:type="gint64*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_int64_index"
+ c:identifier="gst_tag_list_get_int64_index">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1654">Gets the value that is at the given index for the given tag in the given
+list.</doc>
+ <source-position filename="gst/gsttaglist.h" line="320"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1664">%TRUE, if a value was copied, %FALSE if the tag didn't exist in the
+ given list.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="list" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1656">a #GstTagList to get the tag from</doc>
+ <type name="TagList" c:type="const GstTagList*"/>
+ </instance-parameter>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1657">tag to read out</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="index" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1658">number of entry to read out</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="value"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1659">location for the result</doc>
+ <type name="gint64" c:type="gint64*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_int_index" c:identifier="gst_tag_list_get_int_index">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1602">Gets the value that is at the given index for the given tag in the given
+list.</doc>
+ <source-position filename="gst/gsttaglist.h" line="302"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1612">%TRUE, if a value was copied, %FALSE if the tag didn't exist in the
+ given list.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="list" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1604">a #GstTagList to get the tag from</doc>
+ <type name="TagList" c:type="const GstTagList*"/>
+ </instance-parameter>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1605">tag to read out</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="index" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1606">number of entry to read out</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="value"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1607">location for the result</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_pointer" c:identifier="gst_tag_list_get_pointer">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1746">Copies the contents for the given tag into the value, merging multiple values
+into one if multiple values are associated with the tag.</doc>
+ <source-position filename="gst/gsttaglist.h" line="366"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1755">%TRUE, if a value was copied, %FALSE if the tag didn't exist in the
+ given list.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="list" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1748">a #GstTagList to get the tag from</doc>
+ <type name="TagList" c:type="const GstTagList*"/>
+ </instance-parameter>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1749">tag to read out</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="value"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="none"
+ nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1750">location for the result</doc>
+ <type name="gpointer" c:type="gpointer*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_pointer_index"
+ c:identifier="gst_tag_list_get_pointer_index">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1758">Gets the value that is at the given index for the given tag in the given
+list.</doc>
+ <source-position filename="gst/gsttaglist.h" line="370"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1768">%TRUE, if a value was copied, %FALSE if the tag didn't exist in the
+ given list.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="list" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1760">a #GstTagList to get the tag from</doc>
+ <type name="TagList" c:type="const GstTagList*"/>
+ </instance-parameter>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1761">tag to read out</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="index" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1762">number of entry to read out</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="value"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="none"
+ nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1763">location for the result</doc>
+ <type name="gpointer" c:type="gpointer*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_sample" c:identifier="gst_tag_list_get_sample">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1996">Copies the first sample for the given tag in the taglist into the variable
+pointed to by @sample. Free the sample with gst_sample_unref() when it is
+no longer needed. You can retrieve the buffer from the sample using
+gst_sample_get_buffer() and the associated caps (if any) with
+gst_sample_get_caps().
+
+Free-function: gst_sample_unref</doc>
+ <source-position filename="gst/gsttaglist.h" line="393"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="2011">%TRUE, if a sample was returned, %FALSE if the tag didn't exist in
+ the given list or if it was %NULL.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="list" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1998">a #GstTagList to get the tag from</doc>
+ <type name="TagList" c:type="const GstTagList*"/>
+ </instance-parameter>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1999">tag to read out</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="sample"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="2000">address of a GstSample
+ pointer variable to store the result into</doc>
+ <type name="Sample" c:type="GstSample**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_sample_index"
+ c:identifier="gst_tag_list_get_sample_index">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="2031">Gets the sample that is at the given index for the given tag in the given
+list and copies it into the variable pointed to by @sample. Free the sample
+with gst_sample_unref() when it is no longer needed. You can retrieve the
+buffer from the sample using gst_sample_get_buffer() and the associated
+caps (if any) with gst_sample_get_caps().
+
+Free-function: gst_sample_unref</doc>
+ <source-position filename="gst/gsttaglist.h" line="397"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="2047">%TRUE, if a sample was copied, %FALSE if the tag didn't exist in the
+ given list or if it was %NULL.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="list" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="2033">a #GstTagList to get the tag from</doc>
+ <type name="TagList" c:type="const GstTagList*"/>
+ </instance-parameter>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="2034">tag to read out</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="index" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="2035">number of entry to read out</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="sample"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="2036">address of a GstSample
+ pointer variable to store the result into</doc>
+ <type name="Sample" c:type="GstSample**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_scope" c:identifier="gst_tag_list_get_scope">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="843">Gets the scope of @list.</doc>
+ <source-position filename="gst/gsttaglist.h" line="213"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="849">The scope of @list</doc>
+ <type name="TagScope" c:type="GstTagScope"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="list" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="845">a #GstTagList</doc>
+ <type name="TagList" c:type="const GstTagList*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_string" c:identifier="gst_tag_list_get_string">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1785">Copies the contents for the given tag into the value, possibly merging
+multiple values into one if multiple values are associated with the tag.
+
+Use gst_tag_list_get_string_index (list, tag, 0, value) if you want
+to retrieve the first string associated with this tag unmodified.
+
+The resulting string in @value will be in UTF-8 encoding and should be
+freed by the caller using g_free when no longer needed. The
+returned string is also guaranteed to be non-%NULL and non-empty.
+
+Free-function: g_free</doc>
+ <source-position filename="gst/gsttaglist.h" line="352"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1803">%TRUE, if a value was copied, %FALSE if the tag didn't exist in the
+ given list.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="list" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1787">a #GstTagList to get the tag from</doc>
+ <type name="TagList" c:type="const GstTagList*"/>
+ </instance-parameter>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1788">tag to read out</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="value"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1789">location for the result</doc>
+ <type name="utf8" c:type="gchar**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_string_index"
+ c:identifier="gst_tag_list_get_string_index">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1806">Gets the value that is at the given index for the given tag in the given
+list.
+
+The resulting string in @value will be in UTF-8 encoding and should be
+freed by the caller using g_free when no longer needed. The
+returned string is also guaranteed to be non-%NULL and non-empty.
+
+Free-function: g_free</doc>
+ <source-position filename="gst/gsttaglist.h" line="356"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1822">%TRUE, if a value was copied, %FALSE if the tag didn't exist in the
+ given list.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="list" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1808">a #GstTagList to get the tag from</doc>
+ <type name="TagList" c:type="const GstTagList*"/>
+ </instance-parameter>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1809">tag to read out</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="index" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1810">number of entry to read out</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="value"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1811">location for the result</doc>
+ <type name="utf8" c:type="gchar**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_tag_size" c:identifier="gst_tag_list_get_tag_size">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1189">Checks how many value are stored in this tag list for the given tag.</doc>
+ <source-position filename="gst/gsttaglist.h" line="242"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1196">The number of tags stored</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="list" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1191">a taglist</doc>
+ <type name="TagList" c:type="const GstTagList*"/>
+ </instance-parameter>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1192">the tag to query</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_uint" c:identifier="gst_tag_list_get_uint">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1616">Copies the contents for the given tag into the value, merging multiple values
+into one if multiple values are associated with the tag.</doc>
+ <source-position filename="gst/gsttaglist.h" line="307"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1625">%TRUE, if a value was copied, %FALSE if the tag didn't exist in the
+ given list.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="list" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1618">a #GstTagList to get the tag from</doc>
+ <type name="TagList" c:type="const GstTagList*"/>
+ </instance-parameter>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1619">tag to read out</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="value"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1620">location for the result</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_uint64" c:identifier="gst_tag_list_get_uint64">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1668">Copies the contents for the given tag into the value, merging multiple values
+into one if multiple values are associated with the tag.</doc>
+ <source-position filename="gst/gsttaglist.h" line="325"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1677">%TRUE, if a value was copied, %FALSE if the tag didn't exist in the
+ given list.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="list" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1670">a #GstTagList to get the tag from</doc>
+ <type name="TagList" c:type="const GstTagList*"/>
+ </instance-parameter>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1671">tag to read out</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="value"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1672">location for the result</doc>
+ <type name="guint64" c:type="guint64*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_uint64_index"
+ c:identifier="gst_tag_list_get_uint64_index">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1680">Gets the value that is at the given index for the given tag in the given
+list.</doc>
+ <source-position filename="gst/gsttaglist.h" line="329"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1690">%TRUE, if a value was copied, %FALSE if the tag didn't exist in the
+ given list.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="list" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1682">a #GstTagList to get the tag from</doc>
+ <type name="TagList" c:type="const GstTagList*"/>
+ </instance-parameter>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1683">tag to read out</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="index" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1684">number of entry to read out</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="value"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1685">location for the result</doc>
+ <type name="guint64" c:type="guint64*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_uint_index" c:identifier="gst_tag_list_get_uint_index">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1628">Gets the value that is at the given index for the given tag in the given
+list.</doc>
+ <source-position filename="gst/gsttaglist.h" line="311"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1638">%TRUE, if a value was copied, %FALSE if the tag didn't exist in the
+ given list.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="list" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1630">a #GstTagList to get the tag from</doc>
+ <type name="TagList" c:type="const GstTagList*"/>
+ </instance-parameter>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1631">tag to read out</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="index" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1632">number of entry to read out</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="value"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1633">location for the result</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_value_index"
+ c:identifier="gst_tag_list_get_value_index">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1435">Gets the value that is at the given index for the given tag in the given
+list.</doc>
+ <source-position filename="gst/gsttaglist.h" line="278"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1444">The GValue for the specified
+ entry or %NULL if the tag wasn't available or the tag
+ doesn't have as many entries</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="list" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1437">a #GstTagList</doc>
+ <type name="TagList" c:type="const GstTagList*"/>
+ </instance-parameter>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1438">tag to read out</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="index" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1439">number of entry to read out</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="insert" c:identifier="gst_tag_list_insert">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1120">Inserts the tags of the @from list into the first list using the given mode.</doc>
+ <source-position filename="gst/gsttaglist.h" line="234"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="into" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1122">list to merge into</doc>
+ <type name="TagList" c:type="GstTagList*"/>
+ </instance-parameter>
+ <parameter name="from" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1123">list to merge from</doc>
+ <type name="TagList" c:type="const GstTagList*"/>
+ </parameter>
+ <parameter name="mode" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1124">the mode to use</doc>
+ <type name="TagMergeMode" c:type="GstTagMergeMode"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="is_empty" c:identifier="gst_tag_list_is_empty">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="939">Checks if the given taglist is empty.</doc>
+ <source-position filename="gst/gsttaglist.h" line="228"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="945">%TRUE if the taglist is empty, otherwise %FALSE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="list" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="941">A #GstTagList.</doc>
+ <type name="TagList" c:type="const GstTagList*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="is_equal" c:identifier="gst_tag_list_is_equal">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="988">Checks if the two given taglists are equal.</doc>
+ <source-position filename="gst/gsttaglist.h" line="231"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="995">%TRUE if the taglists are equal, otherwise %FALSE</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="list1" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="990">a #GstTagList.</doc>
+ <type name="TagList" c:type="const GstTagList*"/>
+ </instance-parameter>
+ <parameter name="list2" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="991">a #GstTagList.</doc>
+ <type name="TagList" c:type="const GstTagList*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="merge" c:identifier="gst_tag_list_merge">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1148">Merges the two given lists into a new list. If one of the lists is %NULL, a
+copy of the other is returned. If both lists are %NULL, %NULL is returned.
+
+Free-function: gst_tag_list_unref</doc>
+ <source-position filename="gst/gsttaglist.h" line="238"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1159">the new list</doc>
+ <type name="TagList" c:type="GstTagList*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="list1"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1150">first list to merge</doc>
+ <type name="TagList" c:type="const GstTagList*"/>
+ </instance-parameter>
+ <parameter name="list2"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1151">second list to merge</doc>
+ <type name="TagList" c:type="const GstTagList*"/>
+ </parameter>
+ <parameter name="mode" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1152">the mode to use</doc>
+ <type name="TagMergeMode" c:type="GstTagMergeMode"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="n_tags" c:identifier="gst_tag_list_n_tags">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="904">Get the number of tags in @list.</doc>
+ <source-position filename="gst/gsttaglist.h" line="222"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="910">The number of tags in @list.</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="list" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="906">A #GstTagList.</doc>
+ <type name="TagList" c:type="const GstTagList*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="nth_tag_name" c:identifier="gst_tag_list_nth_tag_name">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="921">Get the name of the tag in @list at @index.</doc>
+ <source-position filename="gst/gsttaglist.h" line="225"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="928">The name of the tag at @index.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="list" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="923">A #GstTagList.</doc>
+ <type name="TagList" c:type="const GstTagList*"/>
+ </instance-parameter>
+ <parameter name="index" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="924">the index</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="peek_string_index"
+ c:identifier="gst_tag_list_peek_string_index">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1832">Peeks at the value that is at the given index for the given tag in the given
+list.
+
+The resulting string in @value will be in UTF-8 encoding and doesn't need
+to be freed by the caller. The returned string is also guaranteed to
+be non-%NULL and non-empty.</doc>
+ <source-position filename="gst/gsttaglist.h" line="361"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1846">%TRUE, if a value was set, %FALSE if the tag didn't exist in the
+ given list.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="list" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1834">a #GstTagList to get the tag from</doc>
+ <type name="TagList" c:type="const GstTagList*"/>
+ </instance-parameter>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1835">tag to read out</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="index" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1836">number of entry to read out</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="value"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1837">location for the result</doc>
+ <type name="utf8" c:type="const gchar**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="ref" c:identifier="gst_tag_list_ref" introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="403">Add a reference to a #GstTagList mini object.
+
+From this point on, until the caller calls gst_tag_list_unref() or
+gst_tag_list_make_writable(), it is guaranteed that the taglist object will
+not change. To use a #GstTagList object, you must always have a refcount on
+it -- either the one made implicitly by e.g. gst_tag_list_new(), or via
+taking one explicitly with this function.</doc>
+ <source-position filename="gst/gsttaglist.h" line="417"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="415">the same #GstTagList mini object.</doc>
+ <type name="TagList" c:type="GstTagList*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="taglist" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="405">the #GstTagList to reference</doc>
+ <type name="TagList" c:type="GstTagList*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="remove_tag" c:identifier="gst_tag_list_remove_tag">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1375">Removes the given tag from the taglist.</doc>
+ <source-position filename="gst/gsttaglist.h" line="270"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="list" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1377">list to remove tag from</doc>
+ <type name="TagList" c:type="GstTagList*"/>
+ </instance-parameter>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1378">tag to remove</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_scope" c:identifier="gst_tag_list_set_scope">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="825">Sets the scope of @list to @scope. By default the scope
+of a taglist is stream scope.</doc>
+ <source-position filename="gst/gsttaglist.h" line="210"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="list" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="827">a #GstTagList</doc>
+ <type name="TagList" c:type="GstTagList*"/>
+ </instance-parameter>
+ <parameter name="scope" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="828">new scope for @list</doc>
+ <type name="TagScope" c:type="GstTagScope"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="to_string" c:identifier="gst_tag_list_to_string">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="859">Serializes a tag list to a string.</doc>
+ <source-position filename="gst/gsttaglist.h" line="216"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="865">a newly-allocated string, or %NULL in case of
+ an error. The string must be freed with g_free() when no longer
+ needed.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="list" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="861">a #GstTagList</doc>
+ <type name="TagList" c:type="const GstTagList*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="unref"
+ c:identifier="gst_tag_list_unref"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="424">Unref a #GstTagList, and and free all its memory when the refcount reaches 0.</doc>
+ <source-position filename="gst/gsttaglist.h" line="430"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="taglist" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="426">a #GstTagList.</doc>
+ <type name="TagList" c:type="GstTagList*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <function name="copy_value" c:identifier="gst_tag_list_copy_value">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1472">Copies the contents for the given tag into the value,
+merging multiple values into one if multiple values are associated
+with the tag.
+You must g_value_unset() the value after use.</doc>
+ <source-position filename="gst/gsttaglist.h" line="282"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1483">%TRUE, if a value was copied, %FALSE if the tag didn't exist in the
+ given list.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="dest"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1474">uninitialized #GValue to copy into</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="list" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1475">list to get the tag from</doc>
+ <type name="TagList" c:type="const GstTagList*"/>
+ </parameter>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1476">tag to read out</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ </record>
+ <callback name="TagMergeFunc" c:type="GstTagMergeFunc">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="127">A function for merging multiple values of a tag used when registering
+tags.</doc>
+ <source-position filename="gst/gsttaglist.h" line="135"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="dest" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="129">the destination #GValue</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="src" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="130">the source #GValue</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <enumeration name="TagMergeMode"
+ glib:type-name="GstTagMergeMode"
+ glib:get-type="gst_tag_merge_mode_get_type"
+ c:type="GstTagMergeMode">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="33">The different tag merging modes are basically replace, overwrite and append,
+but they can be seen from two directions. Given two taglists: (A) the tags
+already in the element and (B) the ones that are supplied to the element (
+e.g. via gst_tag_setter_merge_tags() / gst_tag_setter_add_tags() or a
+%GST_EVENT_TAG), how are these tags merged?
+In the table below this is shown for the cases that a tag exists in the list
+(A) or does not exists (!A) and combinations thereof.
+
+| merge mode | A + B | A + !B | !A + B | !A + !B |
+| ----------- | ----- | ------ | ------ | ------- |
+| REPLACE_ALL | B | ø | B | ø |
+| REPLACE | B | A | B | ø |
+| APPEND | A, B | A | B | ø |
+| PREPEND | B, A | A | B | ø |
+| KEEP | A | A | B | ø |
+| KEEP_ALL | A | A | ø | ø |</doc>
+ <member name="undefined"
+ value="0"
+ c:identifier="GST_TAG_MERGE_UNDEFINED"
+ glib:nick="undefined">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="35">undefined merge mode</doc>
+ </member>
+ <member name="replace_all"
+ value="1"
+ c:identifier="GST_TAG_MERGE_REPLACE_ALL"
+ glib:nick="replace-all">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="36">replace all tags (clear list and append)</doc>
+ </member>
+ <member name="replace"
+ value="2"
+ c:identifier="GST_TAG_MERGE_REPLACE"
+ glib:nick="replace">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="37">replace tags</doc>
+ </member>
+ <member name="append"
+ value="3"
+ c:identifier="GST_TAG_MERGE_APPEND"
+ glib:nick="append">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="38">append tags</doc>
+ </member>
+ <member name="prepend"
+ value="4"
+ c:identifier="GST_TAG_MERGE_PREPEND"
+ glib:nick="prepend">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="39">prepend tags</doc>
+ </member>
+ <member name="keep"
+ value="5"
+ c:identifier="GST_TAG_MERGE_KEEP"
+ glib:nick="keep">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="40">keep existing tags</doc>
+ </member>
+ <member name="keep_all"
+ value="6"
+ c:identifier="GST_TAG_MERGE_KEEP_ALL"
+ glib:nick="keep-all">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="41">keep all existing tags</doc>
+ </member>
+ <member name="count"
+ value="7"
+ c:identifier="GST_TAG_MERGE_COUNT"
+ glib:nick="count">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="42">the number of merge modes</doc>
+ </member>
+ </enumeration>
+ <enumeration name="TagScope"
+ glib:type-name="GstTagScope"
+ glib:get-type="gst_tag_scope_get_type"
+ c:type="GstTagScope">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="187">GstTagScope specifies if a taglist applies to the complete
+medium or only to one single stream.</doc>
+ <member name="stream"
+ value="0"
+ c:identifier="GST_TAG_SCOPE_STREAM"
+ glib:nick="stream">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="189">tags specific to this single stream</doc>
+ </member>
+ <member name="global"
+ value="1"
+ c:identifier="GST_TAG_SCOPE_GLOBAL"
+ glib:nick="global">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="190">global tags for the complete medium</doc>
+ </member>
+ </enumeration>
+ <interface name="TagSetter"
+ c:symbol-prefix="tag_setter"
+ c:type="GstTagSetter"
+ glib:type-name="GstTagSetter"
+ glib:get-type="gst_tag_setter_get_type"
+ glib:type-struct="TagSetterInterface">
+ <doc xml:space="preserve"
+ filename="gst/gsttagsetter.c"
+ line="22">Element interface that allows setting of media metadata.
+
+Elements that support changing a stream's metadata will implement this
+interface. Examples of such elements are 'vorbisenc', 'theoraenc' and
+'id3v2mux'.
+
+If you just want to retrieve metadata in your application then all you
+need to do is watch for tag messages on your pipeline's bus. This
+interface is only for setting metadata, not for extracting it. To set tags
+from the application, find tagsetter elements and set tags using e.g.
+gst_tag_setter_merge_tags() or gst_tag_setter_add_tags(). Also consider
+setting the #GstTagMergeMode that is used for tag events that arrive at the
+tagsetter element (default mode is to keep existing tags).
+The application should do that before the element goes to %GST_STATE_PAUSED.
+
+Elements implementing the #GstTagSetter interface often have to merge
+any tags received from upstream and the tags set by the application via
+the interface. This can be done like this:
+
+|[&lt;!-- language="C" --&gt;
+GstTagMergeMode merge_mode;
+const GstTagList *application_tags;
+const GstTagList *event_tags;
+GstTagSetter *tagsetter;
+GstTagList *result;
+
+tagsetter = GST_TAG_SETTER (element);
+
+merge_mode = gst_tag_setter_get_tag_merge_mode (tagsetter);
+application_tags = gst_tag_setter_get_tag_list (tagsetter);
+event_tags = (const GstTagList *) element-&gt;event_tags;
+
+GST_LOG_OBJECT (tagsetter, "merging tags, merge mode = %d", merge_mode);
+GST_LOG_OBJECT (tagsetter, "event tags: %" GST_PTR_FORMAT, event_tags);
+GST_LOG_OBJECT (tagsetter, "set tags: %" GST_PTR_FORMAT, application_tags);
+
+result = gst_tag_list_merge (application_tags, event_tags, merge_mode);
+
+GST_LOG_OBJECT (tagsetter, "final tags: %" GST_PTR_FORMAT, result);
+]|</doc>
+ <source-position filename="gst/gsttagsetter.h" line="57"/>
+ <prerequisite name="Element"/>
+ <method name="add_tag_valist"
+ c:identifier="gst_tag_setter_add_tag_valist"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gsttagsetter.c"
+ line="244">Adds the given tag / value pairs on the setter using the given merge mode.
+The list must be terminated with %NULL.</doc>
+ <source-position filename="gst/gsttagsetter.h" line="80"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="setter" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttagsetter.c"
+ line="246">a #GstTagSetter</doc>
+ <type name="TagSetter" c:type="GstTagSetter*"/>
+ </instance-parameter>
+ <parameter name="mode" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttagsetter.c"
+ line="247">the mode to use</doc>
+ <type name="TagMergeMode" c:type="GstTagMergeMode"/>
+ </parameter>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttagsetter.c"
+ line="248">tag to set</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="var_args" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttagsetter.c"
+ line="249">tag / value pairs to set</doc>
+ <type name="va_list" c:type="va_list"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_tag_valist_values"
+ c:identifier="gst_tag_setter_add_tag_valist_values"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gsttagsetter.c"
+ line="274">Adds the given tag / GValue pairs on the setter using the given merge mode.
+The list must be terminated with %NULL.</doc>
+ <source-position filename="gst/gsttagsetter.h" line="85"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="setter" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttagsetter.c"
+ line="276">a #GstTagSetter</doc>
+ <type name="TagSetter" c:type="GstTagSetter*"/>
+ </instance-parameter>
+ <parameter name="mode" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttagsetter.c"
+ line="277">the mode to use</doc>
+ <type name="TagMergeMode" c:type="GstTagMergeMode"/>
+ </parameter>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttagsetter.c"
+ line="278">tag to set</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="var_args" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttagsetter.c"
+ line="279">tag / GValue pairs to set</doc>
+ <type name="va_list" c:type="va_list"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_tag_value" c:identifier="gst_tag_setter_add_tag_value">
+ <doc xml:space="preserve"
+ filename="gst/gsttagsetter.c"
+ line="305">Adds the given tag / GValue pair on the setter using the given merge mode.</doc>
+ <source-position filename="gst/gsttagsetter.h" line="90"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="setter" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttagsetter.c"
+ line="307">a #GstTagSetter</doc>
+ <type name="TagSetter" c:type="GstTagSetter*"/>
+ </instance-parameter>
+ <parameter name="mode" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttagsetter.c"
+ line="308">the mode to use</doc>
+ <type name="TagMergeMode" c:type="GstTagMergeMode"/>
+ </parameter>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttagsetter.c"
+ line="309">tag to set</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttagsetter.c"
+ line="310">GValue to set for the tag</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_tag_values"
+ c:identifier="gst_tag_setter_add_tag_values"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gsttagsetter.c"
+ line="220">Adds the given tag / GValue pairs on the setter using the given merge mode.
+The list must be terminated with %NULL.</doc>
+ <source-position filename="gst/gsttagsetter.h" line="75"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="setter" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttagsetter.c"
+ line="222">a #GstTagSetter</doc>
+ <type name="TagSetter" c:type="GstTagSetter*"/>
+ </instance-parameter>
+ <parameter name="mode" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttagsetter.c"
+ line="223">the mode to use</doc>
+ <type name="TagMergeMode" c:type="GstTagMergeMode"/>
+ </parameter>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttagsetter.c"
+ line="224">tag to set</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="..." transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttagsetter.c"
+ line="225">more tag / GValue pairs to set</doc>
+ <varargs/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_tags"
+ c:identifier="gst_tag_setter_add_tags"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gsttagsetter.c"
+ line="196">Adds the given tag / value pairs on the setter using the given merge mode.
+The list must be terminated with %NULL.</doc>
+ <source-position filename="gst/gsttagsetter.h" line="70"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="setter" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttagsetter.c"
+ line="198">a #GstTagSetter</doc>
+ <type name="TagSetter" c:type="GstTagSetter*"/>
+ </instance-parameter>
+ <parameter name="mode" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttagsetter.c"
+ line="199">the mode to use</doc>
+ <type name="TagMergeMode" c:type="GstTagMergeMode"/>
+ </parameter>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttagsetter.c"
+ line="200">tag to set</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="..." transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttagsetter.c"
+ line="201">more tag / value pairs to set</doc>
+ <varargs/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_tag_list" c:identifier="gst_tag_setter_get_tag_list">
+ <doc xml:space="preserve"
+ filename="gst/gsttagsetter.c"
+ line="335">Returns the current list of tags the setter uses. The list should not be
+modified or freed.
+
+This function is not thread-safe.</doc>
+ <source-position filename="gst/gsttagsetter.h" line="96"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gsttagsetter.c"
+ line="344">a current snapshot of the
+ taglist used in the setter or %NULL if none is used.</doc>
+ <type name="TagList" c:type="const GstTagList*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="setter" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttagsetter.c"
+ line="337">a #GstTagSetter</doc>
+ <type name="TagSetter" c:type="GstTagSetter*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_tag_merge_mode"
+ c:identifier="gst_tag_setter_get_tag_merge_mode">
+ <doc xml:space="preserve"
+ filename="gst/gsttagsetter.c"
+ line="379">Queries the mode by which tags inside the setter are overwritten by tags
+from events</doc>
+ <source-position filename="gst/gsttagsetter.h" line="102"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttagsetter.c"
+ line="386">the merge mode used inside the element.</doc>
+ <type name="TagMergeMode" c:type="GstTagMergeMode"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="setter" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttagsetter.c"
+ line="381">a #GstTagSetter</doc>
+ <type name="TagSetter" c:type="GstTagSetter*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="merge_tags" c:identifier="gst_tag_setter_merge_tags">
+ <doc xml:space="preserve"
+ filename="gst/gsttagsetter.c"
+ line="166">Merges the given list into the setter's list using the given mode.</doc>
+ <source-position filename="gst/gsttagsetter.h" line="66"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="setter" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttagsetter.c"
+ line="168">a #GstTagSetter</doc>
+ <type name="TagSetter" c:type="GstTagSetter*"/>
+ </instance-parameter>
+ <parameter name="list" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttagsetter.c"
+ line="169">a tag list to merge from</doc>
+ <type name="TagList" c:type="const GstTagList*"/>
+ </parameter>
+ <parameter name="mode" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttagsetter.c"
+ line="170">the mode to merge with</doc>
+ <type name="TagMergeMode" c:type="GstTagMergeMode"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="reset_tags" c:identifier="gst_tag_setter_reset_tags">
+ <doc xml:space="preserve"
+ filename="gst/gsttagsetter.c"
+ line="142">Reset the internal taglist. Elements should call this from within the
+state-change handler.</doc>
+ <source-position filename="gst/gsttagsetter.h" line="63"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="setter" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttagsetter.c"
+ line="144">a #GstTagSetter</doc>
+ <type name="TagSetter" c:type="GstTagSetter*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="set_tag_merge_mode"
+ c:identifier="gst_tag_setter_set_tag_merge_mode">
+ <doc xml:space="preserve"
+ filename="gst/gsttagsetter.c"
+ line="355">Sets the given merge mode that is used for adding tags from events to tags
+specified by this interface. The default is #GST_TAG_MERGE_KEEP, which keeps
+the tags set with this interface and discards tags from events.</doc>
+ <source-position filename="gst/gsttagsetter.h" line="99"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="setter" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttagsetter.c"
+ line="357">a #GstTagSetter</doc>
+ <type name="TagSetter" c:type="GstTagSetter*"/>
+ </instance-parameter>
+ <parameter name="mode" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttagsetter.c"
+ line="358">The mode with which tags are added</doc>
+ <type name="TagMergeMode" c:type="GstTagMergeMode"/>
+ </parameter>
+ </parameters>
+ </method>
+ </interface>
+ <record name="TagSetterInterface"
+ c:type="GstTagSetterInterface"
+ glib:is-gtype-struct-for="TagSetter">
+ <doc xml:space="preserve"
+ filename="gst/gsttagsetter.h"
+ line="42">#GstTagSetterInterface interface.</doc>
+ <source-position filename="gst/gsttagsetter.h" line="57"/>
+ <field name="g_iface">
+ <doc xml:space="preserve"
+ filename="gst/gsttagsetter.h"
+ line="44">parent interface type.</doc>
+ <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
+ </field>
+ </record>
+ <class name="Task"
+ c:symbol-prefix="task"
+ c:type="GstTask"
+ parent="Object"
+ glib:type-name="GstTask"
+ glib:get-type="gst_task_get_type"
+ glib:type-struct="TaskClass">
+ <doc xml:space="preserve"
+ filename="gst/gsttask.c"
+ line="23">#GstTask is used by #GstElement and #GstPad to provide the data passing
+threads in a #GstPipeline.
+
+A #GstPad will typically start a #GstTask to push or pull data to/from the
+peer pads. Most source elements start a #GstTask to push data. In some cases
+a demuxer element can start a #GstTask to pull data from a peer element. This
+is typically done when the demuxer can perform random access on the upstream
+peer element for improved performance.
+
+Although convenience functions exist on #GstPad to start/pause/stop tasks, it
+might sometimes be needed to create a #GstTask manually if it is not related to
+a #GstPad.
+
+Before the #GstTask can be run, it needs a #GRecMutex that can be set with
+gst_task_set_lock().
+
+The task can be started, paused and stopped with gst_task_start(), gst_task_pause()
+and gst_task_stop() respectively or with the gst_task_set_state() function.
+
+A #GstTask will repeatedly call the #GstTaskFunction with the user data
+that was provided when creating the task with gst_task_new(). While calling
+the function it will acquire the provided lock. The provided lock is released
+when the task pauses or stops.
+
+Stopping a task with gst_task_stop() will not immediately make sure the task is
+not running anymore. Use gst_task_join() to make sure the task is completely
+stopped and the thread is stopped.
+
+After creating a #GstTask, use gst_object_unref() to free its resources. This can
+only be done when the task is not running anymore.
+
+Task functions can send a #GstMessage to send out-of-band data to the
+application. The application can receive messages from the #GstBus in its
+mainloop.
+
+For debugging purposes, the task will configure its object name as the thread
+name on Linux. Please note that the object name should be configured before the
+task is started; changing the object name after the task has been started, has
+no effect on the thread name.</doc>
+ <source-position filename="gst/gsttask.h" line="165"/>
+ <constructor name="new" c:identifier="gst_task_new">
+ <doc xml:space="preserve"
+ filename="gst/gsttask.c"
+ line="395">Create a new Task that will repeatedly call the provided @func
+with @user_data as a parameter. Typically the task will run in
+a new thread.
+
+The function cannot be changed after the task has been created. You
+must create a new #GstTask to change the function.
+
+This function will not yet create and start a thread. Use gst_task_start() or
+gst_task_pause() to create and start the GThread.
+
+Before the task can be used, a #GRecMutex must be configured using the
+gst_task_set_lock() function. This lock will always be acquired while
+@func is called.</doc>
+ <source-position filename="gst/gsttask.h" line="174"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gsttask.c"
+ line="415">A new #GstTask.
+
+MT safe.</doc>
+ <type name="Task" c:type="GstTask*"/>
+ </return-value>
+ <parameters>
+ <parameter name="func"
+ transfer-ownership="none"
+ scope="notified"
+ closure="1"
+ destroy="2">
+ <doc xml:space="preserve"
+ filename="gst/gsttask.c"
+ line="397">The #GstTaskFunction to use</doc>
+ <type name="TaskFunction" c:type="GstTaskFunction"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gsttask.c"
+ line="398">User data to pass to @func</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="notify" transfer-ownership="none" scope="async">
+ <doc xml:space="preserve"
+ filename="gst/gsttask.c"
+ line="399">the function to call when @user_data is no longer needed.</doc>
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <function name="cleanup_all" c:identifier="gst_task_cleanup_all">
+ <doc xml:space="preserve"
+ filename="gst/gsttask.c"
+ line="367">Wait for all tasks to be stopped. This is mainly used internally
+to ensure proper cleanup of internal data structures in test suites.
+
+MT safe.</doc>
+ <source-position filename="gst/gsttask.h" line="168"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </function>
+ <method name="get_pool" c:identifier="gst_task_get_pool">
+ <doc xml:space="preserve"
+ filename="gst/gsttask.c"
+ line="474">Get the #GstTaskPool that this task will use for its streaming
+threads.
+
+MT safe.</doc>
+ <source-position filename="gst/gsttask.h" line="180"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gsttask.c"
+ line="483">the #GstTaskPool used by @task. gst_object_unref()
+after usage.</doc>
+ <type name="TaskPool" c:type="GstTaskPool*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="task" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttask.c"
+ line="476">a #GstTask</doc>
+ <type name="Task" c:type="GstTask*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_state" c:identifier="gst_task_get_state">
+ <doc xml:space="preserve"
+ filename="gst/gsttask.c"
+ line="612">Get the current state of the task.</doc>
+ <source-position filename="gst/gsttask.h" line="196"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttask.c"
+ line="618">The #GstTaskState of the task
+
+MT safe.</doc>
+ <type name="TaskState" c:type="GstTaskState"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="task" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttask.c"
+ line="614">The #GstTask to query</doc>
+ <type name="Task" c:type="GstTask*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="join" c:identifier="gst_task_join">
+ <doc xml:space="preserve"
+ filename="gst/gsttask.c"
+ line="822">Joins @task. After this call, it is safe to unref the task
+and clean up the lock set with gst_task_set_lock().
+
+The task will automatically be stopped with this call.
+
+This function cannot be called from within a task function as this
+would cause a deadlock. The function will detect this and print a
+g_warning.</doc>
+ <source-position filename="gst/gsttask.h" line="214"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttask.c"
+ line="835">%TRUE if the task could be joined.
+
+MT safe.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="task" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttask.c"
+ line="824">The #GstTask to join</doc>
+ <type name="Task" c:type="GstTask*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="pause" c:identifier="gst_task_pause">
+ <doc xml:space="preserve"
+ filename="gst/gsttask.c"
+ line="777">Pauses @task. This method can also be called on a task in the
+stopped state, in which case a thread will be started and will remain
+in the paused state. This function does not wait for the task to complete
+the paused state.</doc>
+ <source-position filename="gst/gsttask.h" line="208"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttask.c"
+ line="786">%TRUE if the task could be paused.
+
+MT safe.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="task" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttask.c"
+ line="779">The #GstTask to pause</doc>
+ <type name="Task" c:type="GstTask*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="resume" c:identifier="gst_task_resume" version="1.18">
+ <doc xml:space="preserve"
+ filename="gst/gsttask.c"
+ line="796">Resume @task in case it was paused. If the task was stopped, it will
+remain in that state and this function will return %FALSE.</doc>
+ <source-position filename="gst/gsttask.h" line="211"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttask.c"
+ line="803">%TRUE if the task could be resumed.
+
+MT safe.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="task" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttask.c"
+ line="798">The #GstTask to resume</doc>
+ <type name="Task" c:type="GstTask*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="set_enter_callback"
+ c:identifier="gst_task_set_enter_callback">
+ <doc xml:space="preserve"
+ filename="gst/gsttask.c"
+ line="536">Call @enter_func when the task function of @task is entered. @user_data will
+be passed to @enter_func and @notify will be called when @user_data is no
+longer referenced.</doc>
+ <source-position filename="gst/gsttask.h" line="186"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="task" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttask.c"
+ line="538">The #GstTask to use</doc>
+ <type name="Task" c:type="GstTask*"/>
+ </instance-parameter>
+ <parameter name="enter_func"
+ transfer-ownership="none"
+ scope="notified"
+ closure="1"
+ destroy="2">
+ <doc xml:space="preserve"
+ filename="gst/gsttask.c"
+ line="539">a #GstTaskThreadFunc</doc>
+ <type name="TaskThreadFunc" c:type="GstTaskThreadFunc"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gsttask.c"
+ line="540">user data passed to @enter_func</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="notify" transfer-ownership="none" scope="async">
+ <doc xml:space="preserve"
+ filename="gst/gsttask.c"
+ line="541">called when @user_data is no longer referenced</doc>
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_leave_callback"
+ c:identifier="gst_task_set_leave_callback">
+ <doc xml:space="preserve"
+ filename="gst/gsttask.c"
+ line="574">Call @leave_func when the task function of @task is left. @user_data will
+be passed to @leave_func and @notify will be called when @user_data is no
+longer referenced.</doc>
+ <source-position filename="gst/gsttask.h" line="191"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="task" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttask.c"
+ line="576">The #GstTask to use</doc>
+ <type name="Task" c:type="GstTask*"/>
+ </instance-parameter>
+ <parameter name="leave_func"
+ transfer-ownership="none"
+ scope="notified"
+ closure="1"
+ destroy="2">
+ <doc xml:space="preserve"
+ filename="gst/gsttask.c"
+ line="577">a #GstTaskThreadFunc</doc>
+ <type name="TaskThreadFunc" c:type="GstTaskThreadFunc"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gsttask.c"
+ line="578">user data passed to @leave_func</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="notify" transfer-ownership="none" scope="async">
+ <doc xml:space="preserve"
+ filename="gst/gsttask.c"
+ line="579">called when @user_data is no longer referenced</doc>
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_lock" c:identifier="gst_task_set_lock">
+ <doc xml:space="preserve"
+ filename="gst/gsttask.c"
+ line="439">Set the mutex used by the task. The mutex will be acquired before
+calling the #GstTaskFunction.
+
+This function has to be called before calling gst_task_pause() or
+gst_task_start().
+
+MT safe.</doc>
+ <source-position filename="gst/gsttask.h" line="177"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="task" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttask.c"
+ line="441">The #GstTask to use</doc>
+ <type name="Task" c:type="GstTask*"/>
+ </instance-parameter>
+ <parameter name="mutex" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttask.c"
+ line="442">The #GRecMutex to use</doc>
+ <type name="GLib.RecMutex" c:type="GRecMutex*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_pool" c:identifier="gst_task_set_pool">
+ <doc xml:space="preserve"
+ filename="gst/gsttask.c"
+ line="503">Set @pool as the new GstTaskPool for @task. Any new streaming threads that
+will be created by @task will now use @pool.
+
+MT safe.</doc>
+ <source-position filename="gst/gsttask.h" line="183"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="task" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttask.c"
+ line="505">a #GstTask</doc>
+ <type name="Task" c:type="GstTask*"/>
+ </instance-parameter>
+ <parameter name="pool" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttask.c"
+ line="506">a #GstTaskPool</doc>
+ <type name="TaskPool" c:type="GstTaskPool*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_state" c:identifier="gst_task_set_state">
+ <doc xml:space="preserve"
+ filename="gst/gsttask.c"
+ line="713">Sets the state of @task to @state.
+
+The @task must have a lock associated with it using
+gst_task_set_lock() when going to GST_TASK_STARTED or GST_TASK_PAUSED or
+this function will return %FALSE.
+
+MT safe.</doc>
+ <source-position filename="gst/gsttask.h" line="199"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttask.c"
+ line="726">%TRUE if the state could be changed.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="task" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttask.c"
+ line="715">a #GstTask</doc>
+ <type name="Task" c:type="GstTask*"/>
+ </instance-parameter>
+ <parameter name="state" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttask.c"
+ line="716">the new task state</doc>
+ <type name="TaskState" c:type="GstTaskState"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="start" c:identifier="gst_task_start">
+ <doc xml:space="preserve"
+ filename="gst/gsttask.c"
+ line="742">Starts @task. The @task must have a lock associated with it using
+gst_task_set_lock() or this function will return %FALSE.</doc>
+ <source-position filename="gst/gsttask.h" line="202"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttask.c"
+ line="749">%TRUE if the task could be started.
+
+MT safe.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="task" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttask.c"
+ line="744">The #GstTask to start</doc>
+ <type name="Task" c:type="GstTask*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="stop" c:identifier="gst_task_stop">
+ <doc xml:space="preserve"
+ filename="gst/gsttask.c"
+ line="759">Stops @task. This method merely schedules the task to stop and
+will not wait for the task to have completely stopped. Use
+gst_task_join() to stop and wait for completion.</doc>
+ <source-position filename="gst/gsttask.h" line="205"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttask.c"
+ line="767">%TRUE if the task could be stopped.
+
+MT safe.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="task" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttask.c"
+ line="761">The #GstTask to stop</doc>
+ <type name="Task" c:type="GstTask*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <field name="object">
+ <type name="Object" c:type="GstObject"/>
+ </field>
+ <field name="state">
+ <doc xml:space="preserve"
+ filename="gst/gsttask.h"
+ line="124">the state of the task</doc>
+ <type name="TaskState" c:type="GstTaskState"/>
+ </field>
+ <field name="cond">
+ <doc xml:space="preserve"
+ filename="gst/gsttask.h"
+ line="125">used to pause/resume the task</doc>
+ <type name="GLib.Cond" c:type="GCond"/>
+ </field>
+ <field name="lock">
+ <doc xml:space="preserve"
+ filename="gst/gsttask.h"
+ line="126">The lock taken when iterating the task function</doc>
+ <type name="GLib.RecMutex" c:type="GRecMutex*"/>
+ </field>
+ <field name="func">
+ <doc xml:space="preserve"
+ filename="gst/gsttask.h"
+ line="127">the function executed by this task</doc>
+ <type name="TaskFunction" c:type="GstTaskFunction"/>
+ </field>
+ <field name="user_data">
+ <doc xml:space="preserve"
+ filename="gst/gsttask.h"
+ line="128">user_data passed to the task function</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <field name="notify">
+ <doc xml:space="preserve"
+ filename="gst/gsttask.h"
+ line="129">GDestroyNotify for @user_data</doc>
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </field>
+ <field name="running">
+ <doc xml:space="preserve"
+ filename="gst/gsttask.h"
+ line="130">a flag indicating that the task is running</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="thread" readable="0" private="1">
+ <type name="GLib.Thread" c:type="GThread*"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="TaskPrivate" c:type="GstTaskPrivate*"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="TaskClass"
+ c:type="GstTaskClass"
+ glib:is-gtype-struct-for="Task">
+ <source-position filename="gst/gsttask.h" line="165"/>
+ <field name="parent_class">
+ <type name="ObjectClass" c:type="GstObjectClass"/>
+ </field>
+ <field name="pool" readable="0" private="1">
+ <type name="TaskPool" c:type="GstTaskPool*"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <callback name="TaskFunction" c:type="GstTaskFunction">
+ <doc xml:space="preserve"
+ filename="gst/gsttask.h"
+ line="31">A function that will repeatedly be called in the thread created by
+a #GstTask.</doc>
+ <source-position filename="gst/gsttask.h" line="38"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1"
+ closure="0">
+ <doc xml:space="preserve"
+ filename="gst/gsttask.h"
+ line="33">user data passed to the function</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <class name="TaskPool"
+ c:symbol-prefix="task_pool"
+ c:type="GstTaskPool"
+ parent="Object"
+ glib:type-name="GstTaskPool"
+ glib:get-type="gst_task_pool_get_type"
+ glib:type-struct="TaskPoolClass">
+ <doc xml:space="preserve"
+ filename="gst/gsttaskpool.c"
+ line="22">This object provides an abstraction for creating threads. The default
+implementation uses a regular GThreadPool to start tasks.
+
+Subclasses can be made to create custom threads.</doc>
+ <source-position filename="gst/gsttaskpool.h" line="97"/>
+ <constructor name="new" c:identifier="gst_task_pool_new">
+ <doc xml:space="preserve"
+ filename="gst/gsttaskpool.c"
+ line="169">Create a new default task pool. The default task pool will use a regular
+GThreadPool for threads.</doc>
+ <source-position filename="gst/gsttaskpool.h" line="103"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gsttaskpool.c"
+ line="175">a new #GstTaskPool. gst_object_unref() after usage.</doc>
+ <type name="TaskPool" c:type="GstTaskPool*"/>
+ </return-value>
+ </constructor>
+ <virtual-method name="cleanup" invoker="cleanup">
+ <doc xml:space="preserve"
+ filename="gst/gsttaskpool.c"
+ line="212">Wait for all tasks to be stopped. This is mainly used internally
+to ensure proper cleanup of internal data structures in test suites.
+
+MT safe.</doc>
+ <source-position filename="gst/gsttaskpool.h" line="78"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pool" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaskpool.c"
+ line="214">a #GstTaskPool</doc>
+ <type name="TaskPool" c:type="GstTaskPool*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="dispose_handle"
+ invoker="dispose_handle"
+ version="1.20">
+ <doc xml:space="preserve"
+ filename="gst/gsttaskpool.c"
+ line="297">Dispose of the handle returned by gst_task_pool_push(). This does
+not need to be called with the default implementation as the default
+#GstTaskPoolClass::push implementation always returns %NULL. This does not need to be
+called either when calling gst_task_pool_join(), but should be called
+when joining is not necessary, but gst_task_pool_push() returned a
+non-%NULL value.
+
+This method should only be called with the same @pool instance that provided
+@id.</doc>
+ <source-position filename="gst/gsttaskpool.h" line="93"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pool" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaskpool.c"
+ line="299">a #GstTaskPool</doc>
+ <type name="TaskPool" c:type="GstTaskPool*"/>
+ </instance-parameter>
+ <parameter name="id"
+ transfer-ownership="full"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gsttaskpool.c"
+ line="300">the id</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="join" invoker="join">
+ <doc xml:space="preserve"
+ filename="gst/gsttaskpool.c"
+ line="272">Join a task and/or return it to the pool. @id is the id obtained from
+gst_task_pool_push(). The default implementation does nothing, as the
+default #GstTaskPoolClass::push implementation always returns %NULL.
+
+This method should only be called with the same @pool instance that provided
+@id.</doc>
+ <source-position filename="gst/gsttaskpool.h" line="82"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pool" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaskpool.c"
+ line="274">a #GstTaskPool</doc>
+ <type name="TaskPool" c:type="GstTaskPool*"/>
+ </instance-parameter>
+ <parameter name="id"
+ transfer-ownership="full"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gsttaskpool.c"
+ line="275">the id</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="prepare" invoker="prepare" throws="1">
+ <doc xml:space="preserve"
+ filename="gst/gsttaskpool.c"
+ line="190">Prepare the taskpool for accepting gst_task_pool_push() operations.
+
+MT safe.</doc>
+ <source-position filename="gst/gsttaskpool.h" line="77"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pool" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaskpool.c"
+ line="192">a #GstTaskPool</doc>
+ <type name="TaskPool" c:type="GstTaskPool*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="push" invoker="push" throws="1">
+ <doc xml:space="preserve"
+ filename="gst/gsttaskpool.c"
+ line="234">Start the execution of a new thread from @pool.</doc>
+ <source-position filename="gst/gsttaskpool.h" line="80"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gsttaskpool.c"
+ line="243">a pointer that should be used
+for the gst_task_pool_join function. This pointer can be %NULL, you
+must check @error to detect errors. If the pointer is not %NULL and
+gst_task_pool_join() is not used, call gst_task_pool_dispose_handle()
+instead.</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pool" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaskpool.c"
+ line="236">a #GstTaskPool</doc>
+ <type name="TaskPool" c:type="GstTaskPool*"/>
+ </instance-parameter>
+ <parameter name="func"
+ transfer-ownership="none"
+ scope="async"
+ closure="1">
+ <doc xml:space="preserve"
+ filename="gst/gsttaskpool.c"
+ line="237">the function to call</doc>
+ <type name="TaskPoolFunction" c:type="GstTaskPoolFunction"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1"
+ closure="1">
+ <doc xml:space="preserve"
+ filename="gst/gsttaskpool.c"
+ line="238">data to pass to @func</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <method name="cleanup" c:identifier="gst_task_pool_cleanup">
+ <doc xml:space="preserve"
+ filename="gst/gsttaskpool.c"
+ line="212">Wait for all tasks to be stopped. This is mainly used internally
+to ensure proper cleanup of internal data structures in test suites.
+
+MT safe.</doc>
+ <source-position filename="gst/gsttaskpool.h" line="118"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pool" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaskpool.c"
+ line="214">a #GstTaskPool</doc>
+ <type name="TaskPool" c:type="GstTaskPool*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="dispose_handle"
+ c:identifier="gst_task_pool_dispose_handle"
+ version="1.20">
+ <doc xml:space="preserve"
+ filename="gst/gsttaskpool.c"
+ line="297">Dispose of the handle returned by gst_task_pool_push(). This does
+not need to be called with the default implementation as the default
+#GstTaskPoolClass::push implementation always returns %NULL. This does not need to be
+called either when calling gst_task_pool_join(), but should be called
+when joining is not necessary, but gst_task_pool_push() returned a
+non-%NULL value.
+
+This method should only be called with the same @pool instance that provided
+@id.</doc>
+ <source-position filename="gst/gsttaskpool.h" line="115"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pool" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaskpool.c"
+ line="299">a #GstTaskPool</doc>
+ <type name="TaskPool" c:type="GstTaskPool*"/>
+ </instance-parameter>
+ <parameter name="id"
+ transfer-ownership="full"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gsttaskpool.c"
+ line="300">the id</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="join" c:identifier="gst_task_pool_join">
+ <doc xml:space="preserve"
+ filename="gst/gsttaskpool.c"
+ line="272">Join a task and/or return it to the pool. @id is the id obtained from
+gst_task_pool_push(). The default implementation does nothing, as the
+default #GstTaskPoolClass::push implementation always returns %NULL.
+
+This method should only be called with the same @pool instance that provided
+@id.</doc>
+ <source-position filename="gst/gsttaskpool.h" line="112"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pool" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaskpool.c"
+ line="274">a #GstTaskPool</doc>
+ <type name="TaskPool" c:type="GstTaskPool*"/>
+ </instance-parameter>
+ <parameter name="id"
+ transfer-ownership="full"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gsttaskpool.c"
+ line="275">the id</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="prepare" c:identifier="gst_task_pool_prepare" throws="1">
+ <doc xml:space="preserve"
+ filename="gst/gsttaskpool.c"
+ line="190">Prepare the taskpool for accepting gst_task_pool_push() operations.
+
+MT safe.</doc>
+ <source-position filename="gst/gsttaskpool.h" line="106"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pool" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaskpool.c"
+ line="192">a #GstTaskPool</doc>
+ <type name="TaskPool" c:type="GstTaskPool*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="push" c:identifier="gst_task_pool_push" throws="1">
+ <doc xml:space="preserve"
+ filename="gst/gsttaskpool.c"
+ line="234">Start the execution of a new thread from @pool.</doc>
+ <source-position filename="gst/gsttaskpool.h" line="109"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gsttaskpool.c"
+ line="243">a pointer that should be used
+for the gst_task_pool_join function. This pointer can be %NULL, you
+must check @error to detect errors. If the pointer is not %NULL and
+gst_task_pool_join() is not used, call gst_task_pool_dispose_handle()
+instead.</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pool" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaskpool.c"
+ line="236">a #GstTaskPool</doc>
+ <type name="TaskPool" c:type="GstTaskPool*"/>
+ </instance-parameter>
+ <parameter name="func"
+ transfer-ownership="none"
+ scope="async"
+ closure="1">
+ <doc xml:space="preserve"
+ filename="gst/gsttaskpool.c"
+ line="237">the function to call</doc>
+ <type name="TaskPoolFunction" c:type="GstTaskPoolFunction"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gsttaskpool.c"
+ line="238">data to pass to @func</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </method>
+ <field name="object">
+ <type name="Object" c:type="GstObject"/>
+ </field>
+ <field name="pool" readable="0" private="1">
+ <type name="GLib.ThreadPool" c:type="GThreadPool*"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="TaskPoolClass"
+ c:type="GstTaskPoolClass"
+ glib:is-gtype-struct-for="TaskPool">
+ <doc xml:space="preserve"
+ filename="gst/gsttaskpool.h"
+ line="63">The #GstTaskPoolClass object.</doc>
+ <source-position filename="gst/gsttaskpool.h" line="97"/>
+ <field name="parent_class">
+ <doc xml:space="preserve"
+ filename="gst/gsttaskpool.h"
+ line="65">the parent class structure</doc>
+ <type name="ObjectClass" c:type="GstObjectClass"/>
+ </field>
+ <field name="prepare">
+ <callback name="prepare" throws="1">
+ <source-position filename="gst/gsttaskpool.h" line="77"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="pool" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaskpool.c"
+ line="192">a #GstTaskPool</doc>
+ <type name="TaskPool" c:type="GstTaskPool*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="cleanup">
+ <callback name="cleanup">
+ <source-position filename="gst/gsttaskpool.h" line="78"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="pool" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaskpool.c"
+ line="214">a #GstTaskPool</doc>
+ <type name="TaskPool" c:type="GstTaskPool*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="push">
+ <callback name="push" throws="1">
+ <source-position filename="gst/gsttaskpool.h" line="80"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gsttaskpool.c"
+ line="243">a pointer that should be used
+for the gst_task_pool_join function. This pointer can be %NULL, you
+must check @error to detect errors. If the pointer is not %NULL and
+gst_task_pool_join() is not used, call gst_task_pool_dispose_handle()
+instead.</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </return-value>
+ <parameters>
+ <parameter name="pool" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaskpool.c"
+ line="236">a #GstTaskPool</doc>
+ <type name="TaskPool" c:type="GstTaskPool*"/>
+ </parameter>
+ <parameter name="func"
+ transfer-ownership="none"
+ scope="async"
+ closure="2">
+ <doc xml:space="preserve"
+ filename="gst/gsttaskpool.c"
+ line="237">the function to call</doc>
+ <type name="TaskPoolFunction" c:type="GstTaskPoolFunction"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1"
+ closure="2">
+ <doc xml:space="preserve"
+ filename="gst/gsttaskpool.c"
+ line="238">data to pass to @func</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="join">
+ <callback name="join">
+ <source-position filename="gst/gsttaskpool.h" line="82"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="pool" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaskpool.c"
+ line="274">a #GstTaskPool</doc>
+ <type name="TaskPool" c:type="GstTaskPool*"/>
+ </parameter>
+ <parameter name="id"
+ transfer-ownership="full"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gsttaskpool.c"
+ line="275">the id</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="dispose_handle">
+ <callback name="dispose_handle">
+ <source-position filename="gst/gsttaskpool.h" line="93"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="pool" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaskpool.c"
+ line="299">a #GstTaskPool</doc>
+ <type name="TaskPool" c:type="GstTaskPool*"/>
+ </parameter>
+ <parameter name="id"
+ transfer-ownership="full"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gsttaskpool.c"
+ line="300">the id</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="3">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <callback name="TaskPoolFunction" c:type="GstTaskPoolFunction">
+ <doc xml:space="preserve"
+ filename="gst/gsttaskpool.h"
+ line="41">Task function, see gst_task_pool_push().</doc>
+ <source-position filename="gst/gsttaskpool.h" line="47"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1"
+ closure="0">
+ <doc xml:space="preserve"
+ filename="gst/gsttaskpool.h"
+ line="43">user data for the task function</doc>
+ <type name="gpointer" c:type="void*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <record name="TaskPrivate" c:type="GstTaskPrivate" disguised="1">
+ <source-position filename="gst/gsttask.h" line="51"/>
+ </record>
+ <enumeration name="TaskState"
+ glib:type-name="GstTaskState"
+ glib:get-type="gst_task_state_get_type"
+ c:type="GstTaskState">
+ <doc xml:space="preserve"
+ filename="gst/gsttask.h"
+ line="53">The different states a task can be in</doc>
+ <member name="started"
+ value="0"
+ c:identifier="GST_TASK_STARTED"
+ glib:nick="started">
+ <doc xml:space="preserve"
+ filename="gst/gsttask.h"
+ line="55">the task is started and running</doc>
+ </member>
+ <member name="stopped"
+ value="1"
+ c:identifier="GST_TASK_STOPPED"
+ glib:nick="stopped">
+ <doc xml:space="preserve"
+ filename="gst/gsttask.h"
+ line="56">the task is stopped</doc>
+ </member>
+ <member name="paused"
+ value="2"
+ c:identifier="GST_TASK_PAUSED"
+ glib:nick="paused">
+ <doc xml:space="preserve"
+ filename="gst/gsttask.h"
+ line="57">the task is paused</doc>
+ </member>
+ </enumeration>
+ <callback name="TaskThreadFunc" c:type="GstTaskThreadFunc">
+ <doc xml:space="preserve"
+ filename="gst/gsttask.h"
+ line="112">Custom GstTask thread callback functions that can be installed.</doc>
+ <source-position filename="gst/gsttask.h" line="120"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="task" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttask.h"
+ line="114">The #GstTask</doc>
+ <type name="Task" c:type="GstTask*"/>
+ </parameter>
+ <parameter name="thread" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttask.h"
+ line="115">The #GThread</doc>
+ <type name="GLib.Thread" c:type="GThread*"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1"
+ closure="2">
+ <doc xml:space="preserve"
+ filename="gst/gsttask.h"
+ line="116">user data</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <record name="TimedValue" c:type="GstTimedValue">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolsource.h"
+ line="52">Structure for saving a timestamp and a value.</doc>
+ <source-position filename="gst/gstcontrolsource.h" line="63"/>
+ <field name="timestamp" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolsource.h"
+ line="54">timestamp of the value change</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </field>
+ <field name="value" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstcontrolsource.h"
+ line="55">the corresponding value</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </field>
+ </record>
+ <record name="Toc"
+ c:type="GstToc"
+ glib:type-name="GstToc"
+ glib:get-type="gst_toc_get_type"
+ c:symbol-prefix="toc">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.c"
+ line="22">#GstToc functions are used to create/free #GstToc and #GstTocEntry structures.
+Also they are used to convert #GstToc into #GstStructure and vice versa.
+
+#GstToc lets you to inform other elements in pipeline or application that playing
+source has some kind of table of contents (TOC). These may be chapters, editions,
+angles or other types. For example: DVD chapters, Matroska chapters or cue sheet
+TOC. Such TOC will be useful for applications to display instead of just a
+playlist.
+
+Using TOC is very easy. Firstly, create #GstToc structure which represents root
+contents of the source. You can also attach TOC-specific tags to it. Then fill
+it with #GstTocEntry entries by appending them to the #GstToc using
+gst_toc_append_entry(), and appending subentries to a #GstTocEntry using
+gst_toc_entry_append_sub_entry().
+
+Note that root level of the TOC can contain only either editions or chapters. You
+should not mix them together at the same level. Otherwise you will get serialization
+/deserialization errors. Make sure that no one of the entries has negative start and
+ stop values.
+
+Use gst_event_new_toc() to create a new TOC #GstEvent, and gst_event_parse_toc() to
+parse received TOC event. Use gst_event_new_toc_select() to create a new TOC select #GstEvent,
+and gst_event_parse_toc_select() to parse received TOC select event. The same rule for
+the #GstMessage: gst_message_new_toc() to create new TOC #GstMessage, and
+gst_message_parse_toc() to parse received TOC message.
+
+TOCs can have global scope or current scope. Global scope TOCs contain
+all entries that can possibly be selected using a toc select event, and
+are what an application is usually interested in. TOCs with current scope
+only contain the parts of the TOC relevant to the currently selected/playing
+stream; the current scope TOC is used by downstream elements such as muxers
+to write correct TOC entries when transcoding files, for example. When
+playing a DVD, the global TOC would contain a hierarchy of all titles,
+chapters and angles, for example, while the current TOC would only contain
+the chapters for the currently playing title if playback of a specific
+title was requested.
+
+Applications and plugins should not rely on TOCs having a certain kind of
+structure, but should allow for different alternatives. For example, a
+simple CUE sheet embedded in a file may be presented as a flat list of
+track entries, or could have a top-level edition node (or some other
+alternative type entry) with track entries underneath that node; or even
+multiple top-level edition nodes (or some other alternative type entries)
+each with track entries underneath, in case the source file has extracted
+a track listing from different sources).</doc>
+ <source-position filename="gst/gsttoc.h" line="41"/>
+ <constructor name="new" c:identifier="gst_toc_new">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.c"
+ line="126">Create a new #GstToc structure.</doc>
+ <source-position filename="gst/gsttoc.h" line="141"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.c"
+ line="132">newly allocated #GstToc structure, free it
+ with gst_toc_unref().</doc>
+ <type name="Toc" c:type="GstToc*"/>
+ </return-value>
+ <parameters>
+ <parameter name="scope" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.c"
+ line="128">scope of this TOC</doc>
+ <type name="TocScope" c:type="GstTocScope"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <method name="append_entry" c:identifier="gst_toc_append_entry">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.c"
+ line="226">Appends the #GstTocEntry @entry to @toc.</doc>
+ <source-position filename="gst/gsttoc.h" line="156"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="toc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.c"
+ line="228">A #GstToc instance</doc>
+ <type name="Toc" c:type="GstToc*"/>
+ </instance-parameter>
+ <parameter name="entry" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.c"
+ line="229">A #GstTocEntry</doc>
+ <type name="TocEntry" c:type="GstTocEntry*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="dump" c:identifier="gst_toc_dump">
+ <source-position filename="gst/gsttoc.h" line="162"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="toc" transfer-ownership="none">
+ <type name="Toc" c:type="GstToc*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="find_entry" c:identifier="gst_toc_find_entry">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.c"
+ line="365">Find #GstTocEntry with given @uid in the @toc.</doc>
+ <source-position filename="gst/gsttoc.h" line="180"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.c"
+ line="372">#GstTocEntry with specified
+@uid from the @toc, or %NULL if not found.</doc>
+ <type name="TocEntry" c:type="GstTocEntry*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="toc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.c"
+ line="367">#GstToc to search in.</doc>
+ <type name="Toc" c:type="const GstToc*"/>
+ </instance-parameter>
+ <parameter name="uid" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.c"
+ line="368">UID to find #GstTocEntry with.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_entries" c:identifier="gst_toc_get_entries">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.c"
+ line="251">Gets the list of #GstTocEntry of @toc.</doc>
+ <source-position filename="gst/gsttoc.h" line="159"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.c"
+ line="257">A #GList of #GstTocEntry for @entry</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="TocEntry"/>
+ </type>
+ </return-value>
+ <parameters>
+ <instance-parameter name="toc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.c"
+ line="253">A #GstToc instance</doc>
+ <type name="Toc" c:type="const GstToc*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_scope" c:identifier="gst_toc_get_scope">
+ <source-position filename="gst/gsttoc.h" line="144"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.c"
+ line="159">scope of @toc</doc>
+ <type name="TocScope" c:type="GstTocScope"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="toc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.c"
+ line="157">a #GstToc instance</doc>
+ <type name="Toc" c:type="const GstToc*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_tags" c:identifier="gst_toc_get_tags">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.c"
+ line="210">Gets the tags for @toc.</doc>
+ <source-position filename="gst/gsttoc.h" line="153"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.c"
+ line="216">A #GstTagList for @entry</doc>
+ <type name="TagList" c:type="GstTagList*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="toc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.c"
+ line="212">A #GstToc instance</doc>
+ <type name="Toc" c:type="const GstToc*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="merge_tags" c:identifier="gst_toc_merge_tags">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.c"
+ line="187">Merge @tags into the existing tags of @toc using @mode.</doc>
+ <source-position filename="gst/gsttoc.h" line="150"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="toc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.c"
+ line="189">A #GstToc instance</doc>
+ <type name="Toc" c:type="GstToc*"/>
+ </instance-parameter>
+ <parameter name="tags"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.c"
+ line="190">A #GstTagList or %NULL</doc>
+ <type name="TagList" c:type="GstTagList*"/>
+ </parameter>
+ <parameter name="mode" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.c"
+ line="191">A #GstTagMergeMode</doc>
+ <type name="TagMergeMode" c:type="GstTagMergeMode"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_tags" c:identifier="gst_toc_set_tags">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.c"
+ line="169">Set a #GstTagList with tags for the complete @toc.</doc>
+ <source-position filename="gst/gsttoc.h" line="147"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="toc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.c"
+ line="171">A #GstToc instance</doc>
+ <type name="Toc" c:type="GstToc*"/>
+ </instance-parameter>
+ <parameter name="tags"
+ transfer-ownership="full"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.c"
+ line="172">A #GstTagList or %NULL</doc>
+ <type name="TagList" c:type="GstTagList*"/>
+ </parameter>
+ </parameters>
+ </method>
+ </record>
+ <record name="TocEntry"
+ c:type="GstTocEntry"
+ glib:type-name="GstTocEntry"
+ glib:get-type="gst_toc_entry_get_type"
+ c:symbol-prefix="toc_entry">
+ <source-position filename="gst/gsttoc.h" line="40"/>
+ <constructor name="new" c:identifier="gst_toc_entry_new">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.c"
+ line="286">Create new #GstTocEntry structure.</doc>
+ <source-position filename="gst/gsttoc.h" line="172"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.c"
+ line="293">newly allocated #GstTocEntry structure, free it with gst_toc_entry_unref().</doc>
+ <type name="TocEntry" c:type="GstTocEntry*"/>
+ </return-value>
+ <parameters>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.c"
+ line="288">entry type.</doc>
+ <type name="TocEntryType" c:type="GstTocEntryType"/>
+ </parameter>
+ <parameter name="uid" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.c"
+ line="289">unique ID (UID) in the whole TOC.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <method name="append_sub_entry"
+ c:identifier="gst_toc_entry_append_sub_entry">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.c"
+ line="666">Appends the #GstTocEntry @subentry to @entry.</doc>
+ <source-position filename="gst/gsttoc.h" line="189"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="entry" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.c"
+ line="668">A #GstTocEntry instance</doc>
+ <type name="TocEntry" c:type="GstTocEntry*"/>
+ </instance-parameter>
+ <parameter name="subentry" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.c"
+ line="669">A #GstTocEntry</doc>
+ <type name="TocEntry" c:type="GstTocEntry*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_entry_type"
+ c:identifier="gst_toc_entry_get_entry_type">
+ <source-position filename="gst/gsttoc.h" line="183"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.c"
+ line="612">@entry's entry type</doc>
+ <type name="TocEntryType" c:type="GstTocEntryType"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="entry" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.c"
+ line="610">a #GstTocEntry</doc>
+ <type name="TocEntry" c:type="const GstTocEntry*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_loop"
+ c:identifier="gst_toc_entry_get_loop"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.c"
+ line="543">Get @loop_type and @repeat_count values from the @entry and write them into
+appropriate storages. Loops are e.g. used by sampled instruments. GStreamer
+is not automatically applying the loop. The application can process this
+meta data and use it e.g. to send a seek-event to loop a section.</doc>
+ <source-position filename="gst/gsttoc.h" line="219"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.c"
+ line="556">%TRUE if all non-%NULL storage pointers were filled with appropriate
+values, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="entry" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.c"
+ line="545">#GstTocEntry to get values from.</doc>
+ <type name="TocEntry" c:type="const GstTocEntry*"/>
+ </instance-parameter>
+ <parameter name="loop_type"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.c"
+ line="546">the storage for the loop_type
+ value, leave %NULL if not need.</doc>
+ <type name="TocLoopType" c:type="GstTocLoopType*"/>
+ </parameter>
+ <parameter name="repeat_count"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.c"
+ line="548">the storage for the repeat_count
+ value, leave %NULL if not need.</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_parent" c:identifier="gst_toc_entry_get_parent">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.c"
+ line="782">Gets the parent #GstTocEntry of @entry.</doc>
+ <source-position filename="gst/gsttoc.h" line="225"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.c"
+ line="788">The parent #GstTocEntry of @entry</doc>
+ <type name="TocEntry" c:type="GstTocEntry*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="entry" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.c"
+ line="784">A #GstTocEntry instance</doc>
+ <type name="TocEntry" c:type="GstTocEntry*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_start_stop_times"
+ c:identifier="gst_toc_entry_get_start_stop_times">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.c"
+ line="495">Get @start and @stop values from the @entry and write them into appropriate
+storages.</doc>
+ <source-position filename="gst/gsttoc.h" line="213"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.c"
+ line="506">%TRUE if all non-%NULL storage pointers were filled with appropriate
+values, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="entry" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.c"
+ line="497">#GstTocEntry to get values from.</doc>
+ <type name="TocEntry" c:type="const GstTocEntry*"/>
+ </instance-parameter>
+ <parameter name="start"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.c"
+ line="498">the storage for the start value, leave
+ %NULL if not need.</doc>
+ <type name="gint64" c:type="gint64*"/>
+ </parameter>
+ <parameter name="stop"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.c"
+ line="500">the storage for the stop value, leave
+ %NULL if not need.</doc>
+ <type name="gint64" c:type="gint64*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_sub_entries"
+ c:identifier="gst_toc_entry_get_sub_entries">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.c"
+ line="692">Gets the sub-entries of @entry.</doc>
+ <source-position filename="gst/gsttoc.h" line="192"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.c"
+ line="698">A #GList of #GstTocEntry of @entry</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="TocEntry"/>
+ </type>
+ </return-value>
+ <parameters>
+ <instance-parameter name="entry" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.c"
+ line="694">A #GstTocEntry instance</doc>
+ <type name="TocEntry" c:type="const GstTocEntry*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_tags" c:identifier="gst_toc_entry_get_tags">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.c"
+ line="750">Gets the tags for @entry.</doc>
+ <source-position filename="gst/gsttoc.h" line="201"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.c"
+ line="756">A #GstTagList for @entry</doc>
+ <type name="TagList" c:type="GstTagList*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="entry" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.c"
+ line="752">A #GstTocEntry instance</doc>
+ <type name="TocEntry" c:type="const GstTocEntry*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_toc" c:identifier="gst_toc_entry_get_toc">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.c"
+ line="766">Gets the parent #GstToc of @entry.</doc>
+ <source-position filename="gst/gsttoc.h" line="222"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.c"
+ line="772">The parent #GstToc of @entry</doc>
+ <type name="Toc" c:type="GstToc*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="entry" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.c"
+ line="768">A #GstTocEntry instance</doc>
+ <type name="TocEntry" c:type="GstTocEntry*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_uid" c:identifier="gst_toc_entry_get_uid">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.c"
+ line="650">Gets the UID of @entry.</doc>
+ <source-position filename="gst/gsttoc.h" line="186"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.c"
+ line="656">The UID of @entry</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="entry" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.c"
+ line="652">A #GstTocEntry instance</doc>
+ <type name="TocEntry" c:type="const GstTocEntry*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="is_alternative"
+ c:identifier="gst_toc_entry_is_alternative">
+ <source-position filename="gst/gsttoc.h" line="204"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.c"
+ line="626">%TRUE if @entry's type is an alternative type, otherwise %FALSE</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="entry" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.c"
+ line="624">a #GstTocEntry</doc>
+ <type name="TocEntry" c:type="const GstTocEntry*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="is_sequence" c:identifier="gst_toc_entry_is_sequence">
+ <source-position filename="gst/gsttoc.h" line="207"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.c"
+ line="640">%TRUE if @entry's type is a sequence type, otherwise %FALSE</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="entry" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.c"
+ line="638">a #GstTocEntry</doc>
+ <type name="TocEntry" c:type="const GstTocEntry*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="merge_tags" c:identifier="gst_toc_entry_merge_tags">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.c"
+ line="726">Merge @tags into the existing tags of @entry using @mode.</doc>
+ <source-position filename="gst/gsttoc.h" line="198"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="entry" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.c"
+ line="728">A #GstTocEntry instance</doc>
+ <type name="TocEntry" c:type="GstTocEntry*"/>
+ </instance-parameter>
+ <parameter name="tags"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.c"
+ line="729">A #GstTagList or %NULL</doc>
+ <type name="TagList" c:type="GstTagList*"/>
+ </parameter>
+ <parameter name="mode" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.c"
+ line="730">A #GstTagMergeMode</doc>
+ <type name="TagMergeMode" c:type="GstTagMergeMode"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_loop"
+ c:identifier="gst_toc_entry_set_loop"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.c"
+ line="523">Set @loop_type and @repeat_count values for the @entry.</doc>
+ <source-position filename="gst/gsttoc.h" line="216"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="entry" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.c"
+ line="525">#GstTocEntry to set values.</doc>
+ <type name="TocEntry" c:type="GstTocEntry*"/>
+ </instance-parameter>
+ <parameter name="loop_type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.c"
+ line="526">loop_type value to set.</doc>
+ <type name="TocLoopType" c:type="GstTocLoopType"/>
+ </parameter>
+ <parameter name="repeat_count" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.c"
+ line="527">repeat_count value to set.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_start_stop_times"
+ c:identifier="gst_toc_entry_set_start_stop_times">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.c"
+ line="477">Set @start and @stop values for the @entry.</doc>
+ <source-position filename="gst/gsttoc.h" line="210"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="entry" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.c"
+ line="479">#GstTocEntry to set values.</doc>
+ <type name="TocEntry" c:type="GstTocEntry*"/>
+ </instance-parameter>
+ <parameter name="start" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.c"
+ line="480">start value to set.</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ <parameter name="stop" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.c"
+ line="481">stop value to set.</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_tags" c:identifier="gst_toc_entry_set_tags">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.c"
+ line="708">Set a #GstTagList with tags for the complete @entry.</doc>
+ <source-position filename="gst/gsttoc.h" line="195"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="entry" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.c"
+ line="710">A #GstTocEntry instance</doc>
+ <type name="TocEntry" c:type="GstTocEntry*"/>
+ </instance-parameter>
+ <parameter name="tags"
+ transfer-ownership="full"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.c"
+ line="711">A #GstTagList or %NULL</doc>
+ <type name="TagList" c:type="GstTagList*"/>
+ </parameter>
+ </parameters>
+ </method>
+ </record>
+ <enumeration name="TocEntryType"
+ glib:type-name="GstTocEntryType"
+ glib:get-type="gst_toc_entry_type_get_type"
+ c:type="GstTocEntryType">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.h"
+ line="61">The different types of TOC entries (see #GstTocEntry).
+
+There are two types of TOC entries: alternatives or parts in a sequence.</doc>
+ <member name="angle"
+ value="-3"
+ c:identifier="GST_TOC_ENTRY_TYPE_ANGLE"
+ glib:nick="angle">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.h"
+ line="63">entry is an angle (i.e. an alternative)</doc>
+ </member>
+ <member name="version"
+ value="-2"
+ c:identifier="GST_TOC_ENTRY_TYPE_VERSION"
+ glib:nick="version">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.h"
+ line="64">entry is a version (i.e. alternative)</doc>
+ </member>
+ <member name="edition"
+ value="-1"
+ c:identifier="GST_TOC_ENTRY_TYPE_EDITION"
+ glib:nick="edition">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.h"
+ line="65">entry is an edition (i.e. alternative)</doc>
+ </member>
+ <member name="invalid"
+ value="0"
+ c:identifier="GST_TOC_ENTRY_TYPE_INVALID"
+ glib:nick="invalid">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.h"
+ line="66">invalid entry type value</doc>
+ </member>
+ <member name="title"
+ value="1"
+ c:identifier="GST_TOC_ENTRY_TYPE_TITLE"
+ glib:nick="title">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.h"
+ line="67">entry is a title (i.e. a part of a sequence)</doc>
+ </member>
+ <member name="track"
+ value="2"
+ c:identifier="GST_TOC_ENTRY_TYPE_TRACK"
+ glib:nick="track">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.h"
+ line="68">entry is a track (i.e. a part of a sequence)</doc>
+ </member>
+ <member name="chapter"
+ value="3"
+ c:identifier="GST_TOC_ENTRY_TYPE_CHAPTER"
+ glib:nick="chapter">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.h"
+ line="69">entry is a chapter (i.e. a part of a sequence)</doc>
+ </member>
+ <function name="get_nick" c:identifier="gst_toc_entry_type_get_nick">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.c"
+ line="576">Converts @type to a string representation.</doc>
+ <source-position filename="gst/gsttoc.h" line="229"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.c"
+ line="582">Returns a human-readable string for @type. This string is
+ only for debugging purpose and should not be displayed in a user
+ interface.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.c"
+ line="578">a #GstTocEntryType.</doc>
+ <type name="TocEntryType" c:type="GstTocEntryType"/>
+ </parameter>
+ </parameters>
+ </function>
+ </enumeration>
+ <enumeration name="TocLoopType"
+ version="1.4"
+ glib:type-name="GstTocLoopType"
+ glib:get-type="gst_toc_loop_type_get_type"
+ c:type="GstTocLoopType">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.h"
+ line="101">How a #GstTocEntry should be repeated. By default, entries are played a
+single time.</doc>
+ <member name="none"
+ value="0"
+ c:identifier="GST_TOC_LOOP_NONE"
+ glib:nick="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.h"
+ line="103">single forward playback</doc>
+ </member>
+ <member name="forward"
+ value="1"
+ c:identifier="GST_TOC_LOOP_FORWARD"
+ glib:nick="forward">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.h"
+ line="104">repeat forward</doc>
+ </member>
+ <member name="reverse"
+ value="2"
+ c:identifier="GST_TOC_LOOP_REVERSE"
+ glib:nick="reverse">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.h"
+ line="105">repeat backward</doc>
+ </member>
+ <member name="ping_pong"
+ value="3"
+ c:identifier="GST_TOC_LOOP_PING_PONG"
+ glib:nick="ping-pong">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.h"
+ line="106">repeat forward and backward</doc>
+ </member>
+ </enumeration>
+ <enumeration name="TocScope"
+ glib:type-name="GstTocScope"
+ glib:get-type="gst_toc_scope_get_type"
+ c:type="GstTocScope">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.h"
+ line="43">The scope of a TOC.</doc>
+ <member name="global"
+ value="1"
+ c:identifier="GST_TOC_SCOPE_GLOBAL"
+ glib:nick="global">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.h"
+ line="45">global TOC representing all selectable options
+ (this is what applications are usually interested in)</doc>
+ </member>
+ <member name="current"
+ value="2"
+ c:identifier="GST_TOC_SCOPE_CURRENT"
+ glib:nick="current">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.h"
+ line="47">TOC for the currently active/selected stream
+ (this is a TOC representing the current stream from start to EOS,
+ and is what a TOC writer / muxer is usually interested in; it will
+ usually be a subset of the global TOC, e.g. just the chapters of
+ the current title, or the chapters selected for playback from the
+ current title)</doc>
+ </member>
+ </enumeration>
+ <interface name="TocSetter"
+ c:symbol-prefix="toc_setter"
+ c:type="GstTocSetter"
+ glib:type-name="GstTocSetter"
+ glib:get-type="gst_toc_setter_get_type"
+ glib:type-struct="TocSetterInterface">
+ <doc xml:space="preserve"
+ filename="gst/gsttocsetter.c"
+ line="22">Element interface that allows setting of the TOC.
+
+Elements that support some kind of chapters or editions (or tracks like in
+the FLAC cue sheet) will implement this interface.
+
+If you just want to retrieve the TOC in your application then all you
+need to do is watch for TOC messages on your pipeline's bus (or you can
+perform TOC query). This interface is only for setting TOC data, not for
+extracting it. To set TOC from the application, find proper tocsetter element
+and set TOC using gst_toc_setter_set_toc().
+
+Elements implementing the #GstTocSetter interface can extend existing TOC
+by getting extend UID for that (you can use gst_toc_find_entry() to retrieve it)
+with any TOC entries received from downstream.</doc>
+ <source-position filename="gst/gsttocsetter.h" line="55"/>
+ <prerequisite name="Element"/>
+ <method name="get_toc" c:identifier="gst_toc_setter_get_toc">
+ <doc xml:space="preserve"
+ filename="gst/gsttocsetter.c"
+ line="124">Return current TOC the setter uses. The TOC should not be
+modified without making it writable first.</doc>
+ <source-position filename="gst/gsttocsetter.h" line="64"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gsttocsetter.c"
+ line="131">TOC set, or %NULL. Unref with
+ gst_toc_unref() when no longer needed</doc>
+ <type name="Toc" c:type="GstToc*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="setter" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttocsetter.c"
+ line="126">a #GstTocSetter.</doc>
+ <type name="TocSetter" c:type="GstTocSetter*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="reset" c:identifier="gst_toc_setter_reset">
+ <doc xml:space="preserve"
+ filename="gst/gsttocsetter.c"
+ line="109">Reset the internal TOC. Elements should call this from within the
+state-change handler.</doc>
+ <source-position filename="gst/gsttocsetter.h" line="61"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="setter" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttocsetter.c"
+ line="111">a #GstTocSetter.</doc>
+ <type name="TocSetter" c:type="GstTocSetter*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="set_toc" c:identifier="gst_toc_setter_set_toc">
+ <doc xml:space="preserve"
+ filename="gst/gsttocsetter.c"
+ line="153">Set the given TOC on the setter. Previously set TOC will be
+unreffed before setting a new one.</doc>
+ <source-position filename="gst/gsttocsetter.h" line="67"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="setter" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttocsetter.c"
+ line="155">a #GstTocSetter.</doc>
+ <type name="TocSetter" c:type="GstTocSetter*"/>
+ </instance-parameter>
+ <parameter name="toc"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gsttocsetter.c"
+ line="156">a #GstToc to set.</doc>
+ <type name="Toc" c:type="GstToc*"/>
+ </parameter>
+ </parameters>
+ </method>
+ </interface>
+ <record name="TocSetterInterface"
+ c:type="GstTocSetterInterface"
+ glib:is-gtype-struct-for="TocSetter">
+ <doc xml:space="preserve"
+ filename="gst/gsttocsetter.h"
+ line="41">#GstTocSetterInterface interface.</doc>
+ <source-position filename="gst/gsttocsetter.h" line="55"/>
+ <field name="g_iface">
+ <doc xml:space="preserve"
+ filename="gst/gsttocsetter.h"
+ line="43">parent interface type.</doc>
+ <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
+ </field>
+ </record>
+ <class name="Tracer"
+ c:symbol-prefix="tracer"
+ c:type="GstTracer"
+ version="1.8"
+ parent="Object"
+ abstract="1"
+ glib:type-name="GstTracer"
+ glib:get-type="gst_tracer_get_type"
+ glib:type-struct="TracerClass">
+ <doc xml:space="preserve"
+ filename="gst/gsttracer.c"
+ line="22">Tracing modules will subclass #GstTracer and register through
+gst_tracer_register(). Modules can attach to various hook-types - see
+gst_tracing_register_hook(). When invoked they receive hook specific
+contextual data, which they must not modify.</doc>
+ <source-position filename="gst/gsttracer.h" line="61"/>
+ <function name="register" c:identifier="gst_tracer_register">
+ <doc xml:space="preserve"
+ filename="gst/gsttracer.c"
+ line="131">Create a new tracer-factory capable of instantiating objects of the
+@type and add the factory to @plugin.</doc>
+ <source-position filename="gst/gsttracer.h" line="73"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttracer.c"
+ line="140">%TRUE, if the registering succeeded, %FALSE on error</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="plugin"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gsttracer.c"
+ line="133">A #GstPlugin, or %NULL for a static typefind function</doc>
+ <type name="Plugin" c:type="GstPlugin*"/>
+ </parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttracer.c"
+ line="134">The name for registering</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttracer.c"
+ line="135">GType of tracer to register</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ </parameters>
+ </function>
+ <property name="params"
+ writable="1"
+ construct="1"
+ transfer-ownership="none">
+ <type name="utf8" c:type="gchar*"/>
+ </property>
+ <field name="parent">
+ <type name="Object" c:type="GstObject"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="TracerPrivate" c:type="GstTracerPrivate*"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="TracerClass"
+ c:type="GstTracerClass"
+ glib:is-gtype-struct-for="Tracer">
+ <source-position filename="gst/gsttracer.h" line="61"/>
+ <field name="parent_class">
+ <type name="ObjectClass" c:type="GstObjectClass"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <class name="TracerFactory"
+ c:symbol-prefix="tracer_factory"
+ c:type="GstTracerFactory"
+ version="1.8"
+ parent="PluginFeature"
+ glib:type-name="GstTracerFactory"
+ glib:get-type="gst_tracer_factory_get_type"
+ glib:type-struct="TracerFactoryClass">
+ <doc xml:space="preserve"
+ filename="gst/gsttracerfactory.c"
+ line="22">Use gst_tracer_factory_get_list() to get a list of tracer factories known to
+GStreamer.</doc>
+ <source-position filename="gst/gsttracerfactory.h" line="47"/>
+ <function name="get_list"
+ c:identifier="gst_tracer_factory_get_list"
+ version="1.8">
+ <doc xml:space="preserve"
+ filename="gst/gsttracerfactory.c"
+ line="59">Gets the list of all registered tracer factories. You must free the
+list using gst_plugin_feature_list_free().
+
+The returned factories are sorted by factory name.
+
+Free-function: gst_plugin_feature_list_free</doc>
+ <source-position filename="gst/gsttracerfactory.h" line="55"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gsttracerfactory.c"
+ line="69">the list of all
+ registered #GstTracerFactory.</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="TracerFactory"/>
+ </type>
+ </return-value>
+ </function>
+ <method name="get_tracer_type"
+ c:identifier="gst_tracer_factory_get_tracer_type"
+ version="1.14">
+ <doc xml:space="preserve"
+ filename="gst/gsttracerfactory.c"
+ line="81">Get the #GType for elements managed by this factory. The type can
+only be retrieved if the element factory is loaded, which can be
+assured with gst_plugin_feature_load().</doc>
+ <source-position filename="gst/gsttracerfactory.h" line="58"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttracerfactory.c"
+ line="89">the #GType for tracers managed by this factory or 0 if
+the factory is not loaded.</doc>
+ <type name="GType" c:type="GType"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="factory" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttracerfactory.c"
+ line="83">factory to get managed #GType from</doc>
+ <type name="TracerFactory" c:type="GstTracerFactory*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ </class>
+ <record name="TracerFactoryClass"
+ c:type="GstTracerFactoryClass"
+ disguised="1"
+ glib:is-gtype-struct-for="TracerFactory">
+ <source-position filename="gst/gsttracerfactory.h" line="47"/>
+ </record>
+ <record name="TracerPrivate" c:type="GstTracerPrivate" disguised="1">
+ <source-position filename="gst/gsttracer.h" line="33"/>
+ </record>
+ <class name="TracerRecord"
+ c:symbol-prefix="tracer_record"
+ c:type="GstTracerRecord"
+ version="1.8"
+ parent="Object"
+ glib:type-name="GstTracerRecord"
+ glib:get-type="gst_tracer_record_get_type"
+ glib:type-struct="TracerRecordClass">
+ <doc xml:space="preserve"
+ filename="gst/gsttracerrecord.c"
+ line="22">Tracing modules will create instances of this class to announce the data they
+will log and create a log formatter.</doc>
+ <source-position filename="gst/gsttracerrecord.h" line="37"/>
+ <constructor name="new"
+ c:identifier="gst_tracer_record_new"
+ version="1.8"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gsttracerrecord.c"
+ line="153">Create a new tracer record. The record instance can be used to efficiently
+log entries using gst_tracer_record_log().
+
+The @name without the ".class" suffix will be used for the log records.
+There must be fields for each value that gets logged where the field name is
+the value name. The field must be a #GstStructure describing the value. The
+sub structure must contain a field called 'type' of %G_TYPE_GTYPE that
+contains the GType of the value. The resulting #GstTracerRecord will take
+ownership of the field structures.
+
+The way to deal with optional values is to log an additional boolean before
+the optional field, that if %TRUE signals that the optional field is valid
+and %FALSE signals that the optional field should be ignored. One must still
+log a placeholder value for the optional field though. Please also note, that
+pointer type values must not be NULL - the underlying serialisation can not
+handle that right now.
+
+&gt; Please note that this is still under discussion and subject to change.</doc>
+ <source-position filename="gst/gsttracerrecord.h" line="95"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gsttracerrecord.c"
+ line="179">a new #GstTracerRecord</doc>
+ <type name="TracerRecord" c:type="GstTracerRecord*"/>
+ </return-value>
+ <parameters>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttracerrecord.c"
+ line="155">name of new record, must end on ".class".</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="firstfield" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttracerrecord.c"
+ line="156">name of first field to set</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="..." transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttracerrecord.c"
+ line="157">additional arguments</doc>
+ <varargs/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <method name="log"
+ c:identifier="gst_tracer_record_log"
+ version="1.8"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gsttracerrecord.c"
+ line="239">Serialzes the trace event into the log.
+
+Right now this is using the gstreamer debug log with the level TRACE (7) and
+the category "GST_TRACER".
+
+&gt; Please note that this is still under discussion and subject to change.</doc>
+ <source-position filename="gst/gsttracerrecord.h" line="99"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttracerrecord.c"
+ line="241">the tracer-record</doc>
+ <type name="TracerRecord" c:type="GstTracerRecord*"/>
+ </instance-parameter>
+ <parameter name="..." transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttracerrecord.c"
+ line="242">the args as described in the spec-</doc>
+ <varargs/>
+ </parameter>
+ </parameters>
+ </method>
+ </class>
+ <record name="TracerRecordClass"
+ c:type="GstTracerRecordClass"
+ disguised="1"
+ glib:is-gtype-struct-for="TracerRecord">
+ <source-position filename="gst/gsttracerrecord.h" line="37"/>
+ </record>
+ <bitfield name="TracerValueFlags"
+ glib:type-name="GstTracerValueFlags"
+ glib:get-type="gst_tracer_value_flags_get_type"
+ c:type="GstTracerValueFlags">
+ <doc xml:space="preserve"
+ filename="gst/gsttracerrecord.h"
+ line="75">Flag that describe the value. These flags help applications processing the
+logs to understand the values.</doc>
+ <member name="none"
+ value="0"
+ c:identifier="GST_TRACER_VALUE_FLAGS_NONE"
+ glib:nick="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttracerrecord.h"
+ line="77">no flags</doc>
+ </member>
+ <member name="optional"
+ value="1"
+ c:identifier="GST_TRACER_VALUE_FLAGS_OPTIONAL"
+ glib:nick="optional">
+ <doc xml:space="preserve"
+ filename="gst/gsttracerrecord.h"
+ line="78">the value is optional. When using this flag
+ one need to have an additional boolean arg before this value in the
+ var-args list passed to gst_tracer_record_log().</doc>
+ </member>
+ <member name="aggregated"
+ value="2"
+ c:identifier="GST_TRACER_VALUE_FLAGS_AGGREGATED"
+ glib:nick="aggregated">
+ <doc xml:space="preserve"
+ filename="gst/gsttracerrecord.h"
+ line="81">the value is a combined figure, since the
+ start of tracing. Examples are averages or timestamps.</doc>
+ </member>
+ </bitfield>
+ <enumeration name="TracerValueScope"
+ version="1.8"
+ glib:type-name="GstTracerValueScope"
+ glib:get-type="gst_tracer_value_scope_get_type"
+ c:type="GstTracerValueScope">
+ <doc xml:space="preserve"
+ filename="gst/gsttracerrecord.h"
+ line="52">Tracing record will contain fields that contain a measured value or extra
+meta-data. One such meta data are values that tell where a measurement was
+taken. This enumerating declares to which scope such a meta data field
+relates to. If it is e.g. %GST_TRACER_VALUE_SCOPE_PAD, then each of the log
+events may contain values for different #GstPads.</doc>
+ <member name="process"
+ value="0"
+ c:identifier="GST_TRACER_VALUE_SCOPE_PROCESS"
+ glib:nick="process">
+ <doc xml:space="preserve"
+ filename="gst/gsttracerrecord.h"
+ line="54">the value is related to the process</doc>
+ </member>
+ <member name="thread"
+ value="1"
+ c:identifier="GST_TRACER_VALUE_SCOPE_THREAD"
+ glib:nick="thread">
+ <doc xml:space="preserve"
+ filename="gst/gsttracerrecord.h"
+ line="55">the value is related to a thread</doc>
+ </member>
+ <member name="element"
+ value="2"
+ c:identifier="GST_TRACER_VALUE_SCOPE_ELEMENT"
+ glib:nick="element">
+ <doc xml:space="preserve"
+ filename="gst/gsttracerrecord.h"
+ line="56">the value is related to an #GstElement</doc>
+ </member>
+ <member name="pad"
+ value="3"
+ c:identifier="GST_TRACER_VALUE_SCOPE_PAD"
+ glib:nick="pad">
+ <doc xml:space="preserve"
+ filename="gst/gsttracerrecord.h"
+ line="57">the value is related to a #GstPad</doc>
+ </member>
+ </enumeration>
+ <record name="TypeFind" c:type="GstTypeFind">
+ <doc xml:space="preserve"
+ filename="gst/gsttypefind.c"
+ line="22">The following functions allow you to detect the media type of an unknown
+stream.</doc>
+ <source-position filename="gst/gsttypefind.h" line="92"/>
+ <field name="peek">
+ <callback name="peek">
+ <source-position filename="gst/gsttypefind.h" line="77"/>
+ <return-value transfer-ownership="none">
+ <type name="guint8" c:type="const guint8*"/>
+ </return-value>
+ <parameters>
+ <parameter name="data" transfer-ownership="none">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="offset" transfer-ownership="none">
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="suggest">
+ <callback name="suggest">
+ <source-position filename="gst/gsttypefind.h" line="81"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="data" transfer-ownership="none">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="probability" transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <type name="Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="data" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gsttypefind.h"
+ line="70">The data used by the caller of the typefinding function.</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <field name="get_length">
+ <callback name="get_length">
+ <source-position filename="gst/gsttypefind.h" line="88"/>
+ <return-value transfer-ownership="none">
+ <type name="guint64" c:type="guint64"/>
+ </return-value>
+ <parameters>
+ <parameter name="data" transfer-ownership="none">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <method name="get_length" c:identifier="gst_type_find_get_length">
+ <doc xml:space="preserve"
+ filename="gst/gsttypefind.c"
+ line="200">Get the length of the data stream.</doc>
+ <source-position filename="gst/gsttypefind.h" line="116"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttypefind.c"
+ line="206">The length of the data stream, or 0 if it is not available.</doc>
+ <type name="guint64" c:type="guint64"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="find" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttypefind.c"
+ line="202">The #GstTypeFind the function was called with</doc>
+ <type name="TypeFind" c:type="GstTypeFind*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="peek" c:identifier="gst_type_find_peek">
+ <doc xml:space="preserve"
+ filename="gst/gsttypefind.c"
+ line="106">Returns the @size bytes of the stream to identify beginning at offset. If
+offset is a positive number, the offset is relative to the beginning of the
+stream, if offset is a negative number the offset is relative to the end of
+the stream. The returned memory is valid until the typefinding function
+returns and must not be freed.</doc>
+ <source-position filename="gst/gsttypefind.h" line="103"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gsttypefind.c"
+ line="118">the
+ requested data, or %NULL if that data is not available.</doc>
+ <array length="1" zero-terminated="0" c:type="const guint8*">
+ <type name="guint8" c:type="guint8"/>
+ </array>
+ </return-value>
+ <parameters>
+ <instance-parameter name="find" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttypefind.c"
+ line="108">The #GstTypeFind object the function was called with</doc>
+ <type name="TypeFind" c:type="GstTypeFind*"/>
+ </instance-parameter>
+ <parameter name="offset" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttypefind.c"
+ line="109">The offset</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ <parameter name="size"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gsttypefind.c"
+ line="110">The number of bytes to return</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="suggest" c:identifier="gst_type_find_suggest">
+ <doc xml:space="preserve"
+ filename="gst/gsttypefind.c"
+ line="129">If a #GstTypeFindFunction calls this function it suggests the caps with the
+given probability. A #GstTypeFindFunction may supply different suggestions
+in one call.
+It is up to the caller of the #GstTypeFindFunction to interpret these values.</doc>
+ <source-position filename="gst/gsttypefind.h" line="107"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="find" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttypefind.c"
+ line="131">The #GstTypeFind object the function was called with</doc>
+ <type name="TypeFind" c:type="GstTypeFind*"/>
+ </instance-parameter>
+ <parameter name="probability" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttypefind.c"
+ line="132">The probability in percent that the suggestion is right</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttypefind.c"
+ line="133">The fixed #GstCaps to suggest</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="suggest_simple"
+ c:identifier="gst_type_find_suggest_simple"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gsttypefind.c"
+ line="151">If a #GstTypeFindFunction calls this function it suggests the caps with the
+given probability. A #GstTypeFindFunction may supply different suggestions
+in one call. It is up to the caller of the #GstTypeFindFunction to interpret
+these values.
+
+This function is similar to gst_type_find_suggest(), only that instead of
+passing a #GstCaps argument you can create the caps on the fly in the same
+way as you can with gst_caps_new_simple().
+
+Make sure you terminate the list of arguments with a %NULL argument and that
+the values passed have the correct type (in terms of width in bytes when
+passed to the vararg function - this applies particularly to gdouble and
+guint64 arguments).</doc>
+ <source-position filename="gst/gsttypefind.h" line="111"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="find" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttypefind.c"
+ line="153">The #GstTypeFind object the function was called with</doc>
+ <type name="TypeFind" c:type="GstTypeFind*"/>
+ </instance-parameter>
+ <parameter name="probability" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttypefind.c"
+ line="154">The probability in percent that the suggestion is right</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="media_type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttypefind.c"
+ line="155">the media type of the suggested caps</doc>
+ <type name="utf8" c:type="const char*"/>
+ </parameter>
+ <parameter name="fieldname"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gsttypefind.c"
+ line="156">first field of the suggested caps, or %NULL</doc>
+ <type name="utf8" c:type="const char*"/>
+ </parameter>
+ <parameter name="..." transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttypefind.c"
+ line="157">additional arguments to the suggested caps in the same format as the
+ arguments passed to gst_structure_new() (ie. triplets of field name,
+ field GType and field value)</doc>
+ <varargs/>
+ </parameter>
+ </parameters>
+ </method>
+ <function name="register" c:identifier="gst_type_find_register">
+ <doc xml:space="preserve"
+ filename="gst/gsttypefind.c"
+ line="42">Registers a new typefind function to be used for typefinding. After
+registering this function will be available for typefinding.
+This function is typically called during an element's plugin initialization.</doc>
+ <source-position filename="gst/gsttypefind.h" line="121"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttypefind.c"
+ line="61">%TRUE on success, %FALSE otherwise</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="plugin"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gsttypefind.c"
+ line="44">A #GstPlugin, or %NULL for a static typefind function</doc>
+ <type name="Plugin" c:type="GstPlugin*"/>
+ </parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttypefind.c"
+ line="45">The name for registering</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="rank" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttypefind.c"
+ line="46">The rank (or importance) of this typefind function</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="func"
+ transfer-ownership="none"
+ scope="notified"
+ closure="6"
+ destroy="7">
+ <doc xml:space="preserve"
+ filename="gst/gsttypefind.c"
+ line="47">The #GstTypeFindFunction to use</doc>
+ <type name="TypeFindFunction" c:type="GstTypeFindFunction"/>
+ </parameter>
+ <parameter name="extensions"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gsttypefind.c"
+ line="48">Optional comma-separated list of extensions
+ that could belong to this type</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="possible_caps"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gsttypefind.c"
+ line="50">Optionally the caps that could be returned when typefinding
+ succeeds</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </parameter>
+ <parameter name="data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gsttypefind.c"
+ line="52">Optional user data. This user data must be available until the plugin
+ is unloaded.</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="data_notify"
+ transfer-ownership="none"
+ scope="async">
+ <doc xml:space="preserve"
+ filename="gst/gsttypefind.c"
+ line="54">a #GDestroyNotify that will be called on @data when the plugin
+ is unloaded.</doc>
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </parameter>
+ </parameters>
+ </function>
+ </record>
+ <class name="TypeFindFactory"
+ c:symbol-prefix="type_find_factory"
+ c:type="GstTypeFindFactory"
+ parent="PluginFeature"
+ glib:type-name="GstTypeFindFactory"
+ glib:get-type="gst_type_find_factory_get_type"
+ glib:type-struct="TypeFindFactoryClass">
+ <doc xml:space="preserve"
+ filename="gst/gsttypefindfactory.c"
+ line="22">These functions allow querying information about registered typefind
+functions. How to create and register these functions is described in
+the section &lt;link linkend="gstreamer-Writing-typefind-functions"&gt;
+"Writing typefind functions"&lt;/link&gt;.
+
+The following example shows how to write a very simple typefinder that
+identifies the given data. You can get quite a bit more complicated than
+that though.
+|[&lt;!-- language="C" --&gt;
+ typedef struct {
+ guint8 *data;
+ guint size;
+ guint probability;
+ GstCaps *data;
+ } MyTypeFind;
+ static void
+ my_peek (gpointer data, gint64 offset, guint size)
+ {
+ MyTypeFind *find = (MyTypeFind *) data;
+ if (offset &amp;gt;= 0 &amp;amp;&amp;amp; offset + size &amp;lt;= find-&gt;size) {
+ return find-&gt;data + offset;
+ }
+ return NULL;
+ }
+ static void
+ my_suggest (gpointer data, guint probability, GstCaps *caps)
+ {
+ MyTypeFind *find = (MyTypeFind *) data;
+ if (probability &amp;gt; find-&gt;probability) {
+ find-&gt;probability = probability;
+ gst_caps_replace (&amp;amp;find-&gt;caps, caps);
+ }
+ }
+ static GstCaps *
+ find_type (guint8 *data, guint size)
+ {
+ GList *walk, *type_list;
+ MyTypeFind find = {data, size, 0, NULL};
+ GstTypeFind gst_find = {my_peek, my_suggest, &amp;amp;find, };
+ walk = type_list = gst_type_find_factory_get_list ();
+ while (walk) {
+ GstTypeFindFactory *factory = GST_TYPE_FIND_FACTORY (walk-&gt;data);
+ walk = g_list_next (walk)
+ gst_type_find_factory_call_function (factory, &amp;amp;gst_find);
+ }
+ g_list_free (type_list);
+ return find.caps;
+ };
+]|</doc>
+ <source-position filename="gst/gsttypefindfactory.h" line="45"/>
+ <function name="get_list" c:identifier="gst_type_find_factory_get_list">
+ <doc xml:space="preserve"
+ filename="gst/gsttypefindfactory.c"
+ line="135">Gets the list of all registered typefind factories. You must free the
+list using gst_plugin_feature_list_free().
+
+The returned factories are sorted by highest rank first, and then by
+factory name.
+
+Free-function: gst_plugin_feature_list_free</doc>
+ <source-position filename="gst/gsttypefindfactory.h" line="53"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gsttypefindfactory.c"
+ line="146">the list of all
+ registered #GstTypeFindFactory.</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="TypeFindFactory"/>
+ </type>
+ </return-value>
+ </function>
+ <method name="call_function"
+ c:identifier="gst_type_find_factory_call_function">
+ <doc xml:space="preserve"
+ filename="gst/gsttypefindfactory.c"
+ line="192">Calls the #GstTypeFindFunction associated with this factory.</doc>
+ <source-position filename="gst/gsttypefindfactory.h" line="65"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="factory" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttypefindfactory.c"
+ line="194">A #GstTypeFindFactory</doc>
+ <type name="TypeFindFactory" c:type="GstTypeFindFactory*"/>
+ </instance-parameter>
+ <parameter name="find" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttypefindfactory.c"
+ line="195">a properly setup #GstTypeFind entry. The get_data
+ and suggest_type members must be set.</doc>
+ <type name="TypeFind" c:type="GstTypeFind*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_caps" c:identifier="gst_type_find_factory_get_caps">
+ <doc xml:space="preserve"
+ filename="gst/gsttypefindfactory.c"
+ line="156">Gets the #GstCaps associated with a typefind factory.</doc>
+ <source-position filename="gst/gsttypefindfactory.h" line="59"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gsttypefindfactory.c"
+ line="162">the #GstCaps associated with this factory</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="factory" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttypefindfactory.c"
+ line="158">A #GstTypeFindFactory</doc>
+ <type name="TypeFindFactory" c:type="GstTypeFindFactory*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_extensions"
+ c:identifier="gst_type_find_factory_get_extensions">
+ <doc xml:space="preserve"
+ filename="gst/gsttypefindfactory.c"
+ line="172">Gets the extensions associated with a #GstTypeFindFactory. The returned
+array should not be changed. If you need to change stuff in it, you should
+copy it using g_strdupv(). This function may return %NULL to indicate
+a 0-length list.</doc>
+ <source-position filename="gst/gsttypefindfactory.h" line="56"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gsttypefindfactory.c"
+ line="181">
+ a %NULL-terminated array of extensions associated with this factory</doc>
+ <array c:type="const gchar* const*">
+ <type name="utf8"/>
+ </array>
+ </return-value>
+ <parameters>
+ <instance-parameter name="factory" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttypefindfactory.c"
+ line="174">A #GstTypeFindFactory</doc>
+ <type name="TypeFindFactory" c:type="GstTypeFindFactory*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="has_function"
+ c:identifier="gst_type_find_factory_has_function">
+ <doc xml:space="preserve"
+ filename="gst/gsttypefindfactory.c"
+ line="221">Check whether the factory has a typefind function. Typefind factories
+without typefind functions are a last-effort fallback mechanism to
+e.g. assume a certain media type based on the file extension.</doc>
+ <source-position filename="gst/gsttypefindfactory.h" line="62"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttypefindfactory.c"
+ line="229">%TRUE if the factory has a typefind functions set, otherwise %FALSE</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="factory" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttypefindfactory.c"
+ line="223">A #GstTypeFindFactory</doc>
+ <type name="TypeFindFactory" c:type="GstTypeFindFactory*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ </class>
+ <record name="TypeFindFactoryClass"
+ c:type="GstTypeFindFactoryClass"
+ disguised="1"
+ glib:is-gtype-struct-for="TypeFindFactory">
+ <source-position filename="gst/gsttypefindfactory.h" line="45"/>
+ </record>
+ <callback name="TypeFindFunction" c:type="GstTypeFindFunction">
+ <doc xml:space="preserve"
+ filename="gst/gsttypefind.h"
+ line="36">A function that will be called by typefinding.</doc>
+ <source-position filename="gst/gsttypefind.h" line="43"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="find" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttypefind.h"
+ line="38">A #GstTypeFind structure</doc>
+ <type name="TypeFind" c:type="GstTypeFind*"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1"
+ closure="1">
+ <doc xml:space="preserve"
+ filename="gst/gsttypefind.h"
+ line="39">optional data to pass to the function</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <enumeration name="TypeFindProbability"
+ glib:type-name="GstTypeFindProbability"
+ glib:get-type="gst_type_find_probability_get_type"
+ c:type="GstTypeFindProbability">
+ <doc xml:space="preserve"
+ filename="gst/gsttypefind.h"
+ line="45">The probability of the typefind function. Higher values have more certainty
+in doing a reliable typefind.</doc>
+ <member name="none"
+ value="0"
+ c:identifier="GST_TYPE_FIND_NONE"
+ glib:nick="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttypefind.h"
+ line="47">type undetected.</doc>
+ </member>
+ <member name="minimum"
+ value="1"
+ c:identifier="GST_TYPE_FIND_MINIMUM"
+ glib:nick="minimum">
+ <doc xml:space="preserve"
+ filename="gst/gsttypefind.h"
+ line="48">unlikely typefind.</doc>
+ </member>
+ <member name="possible"
+ value="50"
+ c:identifier="GST_TYPE_FIND_POSSIBLE"
+ glib:nick="possible">
+ <doc xml:space="preserve"
+ filename="gst/gsttypefind.h"
+ line="49">possible type detected.</doc>
+ </member>
+ <member name="likely"
+ value="80"
+ c:identifier="GST_TYPE_FIND_LIKELY"
+ glib:nick="likely">
+ <doc xml:space="preserve"
+ filename="gst/gsttypefind.h"
+ line="50">likely a type was detected.</doc>
+ </member>
+ <member name="nearly_certain"
+ value="99"
+ c:identifier="GST_TYPE_FIND_NEARLY_CERTAIN"
+ glib:nick="nearly-certain">
+ <doc xml:space="preserve"
+ filename="gst/gsttypefind.h"
+ line="51">nearly certain that a type was detected.</doc>
+ </member>
+ <member name="maximum"
+ value="100"
+ c:identifier="GST_TYPE_FIND_MAXIMUM"
+ glib:nick="maximum">
+ <doc xml:space="preserve"
+ filename="gst/gsttypefind.h"
+ line="52">very certain a type was detected.</doc>
+ </member>
+ </enumeration>
+ <function-macro name="URI" c:identifier="GST_URI" introspectable="0">
+ <source-position filename="gst/gsturi.h" line="192"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <enumeration name="URIError"
+ glib:type-name="GstURIError"
+ glib:get-type="gst_uri_error_get_type"
+ c:type="GstURIError"
+ glib:error-domain="gst-uri-error-quark">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.h"
+ line="49">Different URI-related errors that can occur.</doc>
+ <member name="unsupported_protocol"
+ value="0"
+ c:identifier="GST_URI_ERROR_UNSUPPORTED_PROTOCOL"
+ glib:nick="unsupported-protocol">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.h"
+ line="51">The protocol is not supported</doc>
+ </member>
+ <member name="bad_uri"
+ value="1"
+ c:identifier="GST_URI_ERROR_BAD_URI"
+ glib:nick="bad-uri">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.h"
+ line="52">There was a problem with the URI</doc>
+ </member>
+ <member name="bad_state"
+ value="2"
+ c:identifier="GST_URI_ERROR_BAD_STATE"
+ glib:nick="bad-state">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.h"
+ line="53">Could not set or change the URI because the
+ URI handler was in a state where that is not possible or not permitted</doc>
+ </member>
+ <member name="bad_reference"
+ value="3"
+ c:identifier="GST_URI_ERROR_BAD_REFERENCE"
+ glib:nick="bad-reference">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.h"
+ line="55">There was a problem with the entity that
+ the URI references</doc>
+ </member>
+ <function name="quark" c:identifier="gst_uri_error_quark">
+ <attribute name="doc.skip" value="true"/>
+ <return-value transfer-ownership="none">
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </return-value>
+ </function>
+ </enumeration>
+ <interface name="URIHandler"
+ c:symbol-prefix="uri_handler"
+ c:type="GstURIHandler"
+ glib:type-name="GstURIHandler"
+ glib:get-type="gst_uri_handler_get_type"
+ glib:type-struct="URIHandlerInterface">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="26">The #GstURIHandler is an interface that is implemented by Source and Sink
+#GstElement to unify handling of URI.
+
+An application can use the following functions to quickly get an element
+that handles the given URI for reading or writing
+(gst_element_make_from_uri()).
+
+Source and Sink plugins should implement this interface when possible.</doc>
+ <source-position filename="gst/gsturi.h" line="132"/>
+ <virtual-method name="get_uri" invoker="get_uri">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="749">Gets the currently handled URI.</doc>
+ <source-position filename="gst/gsturi.h" line="128"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="755">the URI currently handled by
+ the @handler. Returns %NULL if there are no URI currently
+ handled. The returned string must be freed with g_free() when no
+ longer needed.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="handler" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="751">A #GstURIHandler</doc>
+ <type name="URIHandler" c:type="GstURIHandler*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="set_uri" invoker="set_uri" throws="1">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="778">Tries to set the URI of the given handler.</doc>
+ <source-position filename="gst/gsturi.h" line="129"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="787">%TRUE if the URI was set successfully, else %FALSE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="handler" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="780">A #GstURIHandler</doc>
+ <type name="URIHandler" c:type="GstURIHandler*"/>
+ </instance-parameter>
+ <parameter name="uri" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="781">URI to set</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <method name="get_protocols"
+ c:identifier="gst_uri_handler_get_protocols">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="719">Gets the list of protocols supported by @handler. This list may not be
+modified.</doc>
+ <source-position filename="gst/gsturi.h" line="175"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="726">the
+ supported protocols. Returns %NULL if the @handler isn't
+ implemented properly, or the @handler doesn't support any
+ protocols.</doc>
+ <array c:type="const gchar* const*">
+ <type name="utf8"/>
+ </array>
+ </return-value>
+ <parameters>
+ <instance-parameter name="handler" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="721">A #GstURIHandler.</doc>
+ <type name="URIHandler" c:type="GstURIHandler*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_uri" c:identifier="gst_uri_handler_get_uri">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="749">Gets the currently handled URI.</doc>
+ <source-position filename="gst/gsturi.h" line="178"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="755">the URI currently handled by
+ the @handler. Returns %NULL if there are no URI currently
+ handled. The returned string must be freed with g_free() when no
+ longer needed.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="handler" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="751">A #GstURIHandler</doc>
+ <type name="URIHandler" c:type="GstURIHandler*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_uri_type" c:identifier="gst_uri_handler_get_uri_type">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="692">Gets the type of the given URI handler</doc>
+ <source-position filename="gst/gsturi.h" line="172"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="698">the #GstURIType of the URI handler.
+Returns #GST_URI_UNKNOWN if the @handler isn't implemented correctly.</doc>
+ <type name="URIType" c:type="GstURIType"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="handler" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="694">A #GstURIHandler.</doc>
+ <type name="URIHandler" c:type="GstURIHandler*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="set_uri" c:identifier="gst_uri_handler_set_uri" throws="1">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="778">Tries to set the URI of the given handler.</doc>
+ <source-position filename="gst/gsturi.h" line="181"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="787">%TRUE if the URI was set successfully, else %FALSE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="handler" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="780">A #GstURIHandler</doc>
+ <type name="URIHandler" c:type="GstURIHandler*"/>
+ </instance-parameter>
+ <parameter name="uri" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="781">URI to set</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ </interface>
+ <record name="URIHandlerInterface"
+ c:type="GstURIHandlerInterface"
+ glib:is-gtype-struct-for="URIHandler">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.h"
+ line="108">Any #GstElement using this interface should implement these methods.</doc>
+ <source-position filename="gst/gsturi.h" line="132"/>
+ <field name="parent">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.h"
+ line="110">The parent interface type</doc>
+ <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
+ </field>
+ <field name="get_type">
+ <callback name="get_type">
+ <source-position filename="gst/gsturi.h" line="124"/>
+ <return-value transfer-ownership="none">
+ <type name="URIType" c:type="GstURIType"/>
+ </return-value>
+ <parameters>
+ <parameter name="type" transfer-ownership="none">
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="get_protocols">
+ <callback name="get_protocols">
+ <source-position filename="gst/gsturi.h" line="125"/>
+ <return-value transfer-ownership="none">
+ <array c:type="const gchar* const*">
+ <type name="utf8"/>
+ </array>
+ </return-value>
+ <parameters>
+ <parameter name="type" transfer-ownership="none">
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="get_uri">
+ <callback name="get_uri">
+ <source-position filename="gst/gsturi.h" line="128"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="755">the URI currently handled by
+ the @handler. Returns %NULL if there are no URI currently
+ handled. The returned string must be freed with g_free() when no
+ longer needed.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="handler" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="751">A #GstURIHandler</doc>
+ <type name="URIHandler" c:type="GstURIHandler*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="set_uri">
+ <callback name="set_uri" throws="1">
+ <source-position filename="gst/gsturi.h" line="129"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="787">%TRUE if the URI was set successfully, else %FALSE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="handler" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="780">A #GstURIHandler</doc>
+ <type name="URIHandler" c:type="GstURIHandler*"/>
+ </parameter>
+ <parameter name="uri" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="781">URI to set</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ </record>
+ <enumeration name="URIType"
+ glib:type-name="GstURIType"
+ glib:get-type="gst_uri_type_get_type"
+ c:type="GstURIType">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.h"
+ line="68">The different types of URI direction.</doc>
+ <member name="unknown"
+ value="0"
+ c:identifier="GST_URI_UNKNOWN"
+ glib:nick="unknown">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.h"
+ line="70">The URI direction is unknown</doc>
+ </member>
+ <member name="sink"
+ value="1"
+ c:identifier="GST_URI_SINK"
+ glib:nick="sink">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.h"
+ line="71">The URI is a consumer.</doc>
+ </member>
+ <member name="src" value="2" c:identifier="GST_URI_SRC" glib:nick="src">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.h"
+ line="72">The URI is a producer.</doc>
+ </member>
+ </enumeration>
+ <function-macro name="URI_CAST"
+ c:identifier="GST_URI_CAST"
+ introspectable="0">
+ <source-position filename="gst/gsturi.h" line="190"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="URI_CONST_CAST"
+ c:identifier="GST_URI_CONST_CAST"
+ introspectable="0">
+ <source-position filename="gst/gsturi.h" line="191"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="URI_HANDLER"
+ c:identifier="GST_URI_HANDLER"
+ introspectable="0">
+ <source-position filename="gst/gsturi.h" line="93"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="URI_HANDLER_GET_INTERFACE"
+ c:identifier="GST_URI_HANDLER_GET_INTERFACE"
+ introspectable="0">
+ <source-position filename="gst/gsturi.h" line="95"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <constant name="URI_NO_PORT" value="0" c:type="GST_URI_NO_PORT">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.h"
+ line="202">Value for #GstUri&lt;!-- --&gt;.port to indicate no port number.</doc>
+ <source-position filename="gst/gsturi.h" line="207"/>
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <function-macro name="URI_TYPE_IS_VALID"
+ c:identifier="GST_URI_TYPE_IS_VALID"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.h"
+ line="83">Tests if the type direction is valid.</doc>
+ <source-position filename="gst/gsturi.h" line="89"/>
+ <parameters>
+ <parameter name="type">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.h"
+ line="85">A #GstURIType</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <constant name="USECOND" value="1000" c:type="GST_USECOND">
+ <doc xml:space="preserve"
+ filename="gst/gstclock.h"
+ line="110">Constant that defines one GStreamer microsecond.</doc>
+ <source-position filename="gst/gstclock.h" line="115"/>
+ <type name="ClockTimeDiff" c:type="GstClockTimeDiff"/>
+ </constant>
+ <record name="Uri"
+ c:type="GstUri"
+ glib:type-name="GstUri"
+ glib:get-type="gst_uri_get_type"
+ c:symbol-prefix="uri">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="954">A #GstUri object can be used to parse and split a URI string into its
+constituent parts. Two #GstUri objects can be joined to make a new #GstUri
+using the algorithm described in RFC3986.</doc>
+ <source-position filename="gst/gsturi.h" line="200"/>
+ <constructor name="new" c:identifier="gst_uri_new" version="1.6">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="1421">Creates a new #GstUri object with the given URI parts. The path and query
+strings will be broken down into their elements. All strings should not be
+escaped except where indicated.</doc>
+ <source-position filename="gst/gsturi.h" line="219"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="1438">A new #GstUri object.</doc>
+ <type name="Uri" c:type="GstUri*"/>
+ </return-value>
+ <parameters>
+ <parameter name="scheme"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="1423">The scheme for the new URI.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="userinfo"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="1424">The user-info for the new URI.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="host"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="1425">The host name for the new URI.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="port" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="1426">The port number for the new URI or %GST_URI_NO_PORT.</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="path"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="1427">The path for the new URI with '/' separating path
+ elements.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="query"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="1429">The query string for the new URI with '&amp;' separating
+ query elements. Elements containing '&amp;' characters
+ should encode them as "&amp;percnt;26".</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="fragment"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="1432">The fragment name for the new URI.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <method name="append_path"
+ c:identifier="gst_uri_append_path"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="2470">Append a path onto the end of the path in the URI. The path is not
+normalized, call #gst_uri_normalize() to normalize the path.</doc>
+ <source-position filename="gst/gsturi.h" line="311"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="2478">%TRUE if the path was appended successfully.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="uri"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="2472">The #GstUri to modify.</doc>
+ <type name="Uri" c:type="GstUri*"/>
+ </instance-parameter>
+ <parameter name="relative_path" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="2473">Relative path to append to the end of the current path.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="append_path_segment"
+ c:identifier="gst_uri_append_path_segment"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="2508">Append a single path segment onto the end of the URI path.</doc>
+ <source-position filename="gst/gsturi.h" line="314"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="2515">%TRUE if the path was appended successfully.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="uri"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="2510">The #GstUri to modify.</doc>
+ <type name="Uri" c:type="GstUri*"/>
+ </instance-parameter>
+ <parameter name="path_segment" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="2511">The path segment string to append to the URI path.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="equal" c:identifier="gst_uri_equal" version="1.6">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="1698">Compares two #GstUri objects to see if they represent the same normalized
+URI.</doc>
+ <source-position filename="gst/gsturi.h" line="245"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="1706">%TRUE if the normalized versions of the two URI's would be equal.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="first" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="1700">First #GstUri to compare.</doc>
+ <type name="Uri" c:type="const GstUri*"/>
+ </instance-parameter>
+ <parameter name="second" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="1701">Second #GstUri to compare.</doc>
+ <type name="Uri" c:type="const GstUri*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="from_string_with_base"
+ c:identifier="gst_uri_from_string_with_base"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="1672">Like gst_uri_from_string() but also joins with a base URI.</doc>
+ <source-position filename="gst/gsturi.h" line="242"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="1679">A new #GstUri object.</doc>
+ <type name="Uri" c:type="GstUri*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="base"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="1674">The base URI to join the new URI with.</doc>
+ <type name="Uri" c:type="GstUri*"/>
+ </instance-parameter>
+ <parameter name="uri" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="1675">The URI string to parse.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_fragment"
+ c:identifier="gst_uri_get_fragment"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="2805">Get the fragment name from the URI or %NULL if it doesn't exist.
+If @uri is %NULL then returns %NULL.</doc>
+ <source-position filename="gst/gsturi.h" line="346"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="2812">The host name from the #GstUri object or %NULL.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="uri"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="2807">This #GstUri object.</doc>
+ <type name="Uri" c:type="const GstUri*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_host" c:identifier="gst_uri_get_host" version="1.6">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="2203">Get the host name from the URI or %NULL if it doesn't exist.
+If @uri is %NULL then returns %NULL.</doc>
+ <source-position filename="gst/gsturi.h" line="281"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="2210">The host name from the #GstUri object or %NULL.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="uri"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="2205">This #GstUri object.</doc>
+ <type name="Uri" c:type="const GstUri*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_media_fragment_table"
+ c:identifier="gst_uri_get_media_fragment_table"
+ version="1.12">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="2847">Get the media fragment table from the URI, as defined by "Media Fragments URI 1.0".
+Hash table returned by this API is a list of "key-value" pairs, and the each
+pair is generated by splitting "URI fragment" per "&amp;" sub-delims, then "key"
+and "value" are split by "=" sub-delims. The "key" returned by this API may
+be undefined keyword by standard.
+A value may be %NULL to indicate that the key should appear in the fragment
+string in the URI, but does not have a value. Free the returned #GHashTable
+with #g_hash_table_unref() when it is no longer required.
+Modifying this hash table does not affect the fragment in the URI.
+
+See more about Media Fragments URI 1.0 (W3C) at https://www.w3.org/TR/media-frags/</doc>
+ <source-position filename="gst/gsturi.h" line="352"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="2863">The
+ fragment hash table from the URI.</doc>
+ <type name="GLib.HashTable" c:type="GHashTable*">
+ <type name="utf8"/>
+ <type name="utf8"/>
+ </type>
+ </return-value>
+ <parameters>
+ <instance-parameter name="uri"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="2849">The #GstUri to get the fragment table from.</doc>
+ <type name="Uri" c:type="const GstUri*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_path" c:identifier="gst_uri_get_path" version="1.6">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="2286">Extract the path string from the URI object.</doc>
+ <source-position filename="gst/gsturi.h" line="293"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="2292">The path from the URI. Once finished
+ with the string should be g_free()'d.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="uri" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="2288">The #GstUri to get the path from.</doc>
+ <type name="Uri" c:type="const GstUri*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_path_segments"
+ c:identifier="gst_uri_get_path_segments"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="2414">Get a list of path segments from the URI.</doc>
+ <source-position filename="gst/gsturi.h" line="305"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="2420">A #GList of path segment
+ strings or %NULL if no path segments are available. Free the list
+ when no longer needed with g_list_free_full(list, g_free).</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="utf8"/>
+ </type>
+ </return-value>
+ <parameters>
+ <instance-parameter name="uri"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="2416">The #GstUri to get the path from.</doc>
+ <type name="Uri" c:type="const GstUri*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_path_string"
+ c:identifier="gst_uri_get_path_string"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="2349">Extract the path string from the URI object as a percent encoded URI path.</doc>
+ <source-position filename="gst/gsturi.h" line="299"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="2355">The path from the URI. Once finished
+ with the string should be g_free()'d.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="uri" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="2351">The #GstUri to get the path from.</doc>
+ <type name="Uri" c:type="const GstUri*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_port" c:identifier="gst_uri_get_port" version="1.6">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="2245">Get the port number from the URI or %GST_URI_NO_PORT if it doesn't exist.
+If @uri is %NULL then returns %GST_URI_NO_PORT.</doc>
+ <source-position filename="gst/gsturi.h" line="287"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="2252">The port number from the #GstUri object or %GST_URI_NO_PORT.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="uri"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="2247">This #GstUri object.</doc>
+ <type name="Uri" c:type="const GstUri*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_query_keys"
+ c:identifier="gst_uri_get_query_keys"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="2782">Get a list of the query keys from the URI.</doc>
+ <source-position filename="gst/gsturi.h" line="343"/>
+ <return-value transfer-ownership="container">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="2788">A list of keys from
+ the URI query. Free the list with g_list_free().</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="utf8"/>
+ </type>
+ </return-value>
+ <parameters>
+ <instance-parameter name="uri"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="2784">The #GstUri to examine.</doc>
+ <type name="Uri" c:type="const GstUri*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_query_string"
+ c:identifier="gst_uri_get_query_string"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="2536">Get a percent encoded URI query string from the @uri.</doc>
+ <source-position filename="gst/gsturi.h" line="317"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="2542">A percent encoded query string. Use
+ g_free() when no longer needed.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="uri"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="2538">The #GstUri to get the query string from.</doc>
+ <type name="Uri" c:type="const GstUri*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_query_table"
+ c:identifier="gst_uri_get_query_table"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="2607">Get the query table from the URI. Keys and values in the table are freed
+with g_free when they are deleted. A value may be %NULL to indicate that
+the key should appear in the query string in the URI, but does not have a
+value. Free the returned #GHashTable with #g_hash_table_unref() when it is
+no longer required. Modifying this hash table will modify the query in the
+URI.</doc>
+ <source-position filename="gst/gsturi.h" line="323"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="2618">The query
+ hash table from the URI.</doc>
+ <type name="GLib.HashTable" c:type="GHashTable*">
+ <type name="utf8"/>
+ <type name="utf8"/>
+ </type>
+ </return-value>
+ <parameters>
+ <instance-parameter name="uri"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="2609">The #GstUri to get the query table from.</doc>
+ <type name="Uri" c:type="const GstUri*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_query_value"
+ c:identifier="gst_uri_get_query_value"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="2755">Get the value associated with the @query_key key. Will return %NULL if the
+key has no value or if the key does not exist in the URI query table. Because
+%NULL is returned for both missing keys and keys with no value, you should
+use gst_uri_query_has_key() to determine if a key is present in the URI
+query.</doc>
+ <source-position filename="gst/gsturi.h" line="339"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="2766">The value for the given key, or %NULL if not found.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="uri"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="2757">The #GstUri to examine.</doc>
+ <type name="Uri" c:type="const GstUri*"/>
+ </instance-parameter>
+ <parameter name="query_key" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="2758">The key to lookup.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_scheme" c:identifier="gst_uri_get_scheme">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="2121">Get the scheme name from the URI or %NULL if it doesn't exist.
+If @uri is %NULL then returns %NULL.</doc>
+ <source-position filename="gst/gsturi.h" line="269"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="2128">The scheme from the #GstUri object or %NULL.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="uri"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="2123">This #GstUri object.</doc>
+ <type name="Uri" c:type="const GstUri*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_userinfo"
+ c:identifier="gst_uri_get_userinfo"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="2161">Get the userinfo (usually in the form "username:password") from the URI
+or %NULL if it doesn't exist. If @uri is %NULL then returns %NULL.</doc>
+ <source-position filename="gst/gsturi.h" line="275"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="2168">The userinfo from the #GstUri object or %NULL.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="uri"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="2163">This #GstUri object.</doc>
+ <type name="Uri" c:type="const GstUri*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="is_normalized"
+ c:identifier="gst_uri_is_normalized"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="2046">Tests the @uri to see if it is normalized. A %NULL @uri is considered to be
+normalized.</doc>
+ <source-position filename="gst/gsturi.h" line="263"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="2053">TRUE if the URI is normalized or is %NULL.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="uri" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="2048">The #GstUri to test to see if it is normalized.</doc>
+ <type name="Uri" c:type="const GstUri*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="is_writable"
+ c:identifier="gst_uri_is_writable"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="1926">Check if it is safe to write to this #GstUri.
+
+Check if the refcount of @uri is exactly 1, meaning that no other
+reference exists to the #GstUri and that the #GstUri is therefore writable.
+
+Modification of a #GstUri should only be done after verifying that it is
+writable.</doc>
+ <source-position filename="gst/gsturi.h" line="254"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="1938">%TRUE if it is safe to write to the object.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="uri" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="1928">The #GstUri object to test.</doc>
+ <type name="Uri" c:type="const GstUri*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="join" c:identifier="gst_uri_join" version="1.6">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="1809">Join a reference URI onto a base URI using the method from RFC 3986.
+If either URI is %NULL then the other URI will be returned with the ref count
+increased.</doc>
+ <source-position filename="gst/gsturi.h" line="248"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="1819">A #GstUri which represents the base
+ with the reference URI joined on.</doc>
+ <type name="Uri" c:type="GstUri*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="base_uri"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="1811">The base URI to join another to.</doc>
+ <type name="Uri" c:type="GstUri*"/>
+ </instance-parameter>
+ <parameter name="ref_uri"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="1812">The reference URI to join onto the
+ base URI.</doc>
+ <type name="Uri" c:type="GstUri*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="make_writable"
+ c:identifier="gst_uri_make_writable"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="1949">Make the #GstUri writable.
+
+Checks if @uri is writable, and if so the original object is returned. If
+not, then a writable copy is made and returned. This gives away the
+reference to @uri and returns a reference to the new #GstUri.
+If @uri is %NULL then %NULL is returned.</doc>
+ <source-position filename="gst/gsturi.h" line="257"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="1960">A writable version of @uri.</doc>
+ <type name="Uri" c:type="GstUri*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="uri" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="1951">The #GstUri object to make writable.</doc>
+ <type name="Uri" c:type="GstUri*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="new_with_base"
+ c:identifier="gst_uri_new_with_base"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="1462">Like gst_uri_new(), but joins the new URI onto a base URI.</doc>
+ <source-position filename="gst/gsturi.h" line="227"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="1478">The new URI joined onto @base.</doc>
+ <type name="Uri" c:type="GstUri*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="base"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="1464">The base URI to join the new URI to.</doc>
+ <type name="Uri" c:type="GstUri*"/>
+ </instance-parameter>
+ <parameter name="scheme"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="1465">The scheme for the new URI.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="userinfo"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="1466">The user-info for the new URI.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="host"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="1467">The host name for the new URI.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="port" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="1468">The port number for the new URI or %GST_URI_NO_PORT.</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="path"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="1469">The path for the new URI with '/' separating path
+ elements.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="query"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="1471">The query string for the new URI with '&amp;' separating
+ query elements. Elements containing '&amp;' characters
+ should encode them as "&amp;percnt;26".</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="fragment"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="1474">The fragment name for the new URI.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="normalize" c:identifier="gst_uri_normalize" version="1.6">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="2093">Normalization will remove extra path segments ("." and "..") from the URI. It
+will also convert the scheme and host name to lower case and any
+percent-encoded values to uppercase.
+
+The #GstUri object must be writable. Check with gst_uri_is_writable() or use
+gst_uri_make_writable() first.</doc>
+ <source-position filename="gst/gsturi.h" line="266"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="2104">TRUE if the URI was modified.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="uri" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="2095">The #GstUri to normalize.</doc>
+ <type name="Uri" c:type="GstUri*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="query_has_key"
+ c:identifier="gst_uri_query_has_key"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="2732">Check if there is a query table entry for the @query_key key.</doc>
+ <source-position filename="gst/gsturi.h" line="335"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="2739">%TRUE if @query_key exists in the URI query table.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="uri"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="2734">The #GstUri to examine.</doc>
+ <type name="Uri" c:type="const GstUri*"/>
+ </instance-parameter>
+ <parameter name="query_key" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="2735">The key to lookup.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="remove_query_key"
+ c:identifier="gst_uri_remove_query_key"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="2701">Remove an entry from the query table by key.</doc>
+ <source-position filename="gst/gsturi.h" line="332"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="2708">%TRUE if the key existed in the table and was removed.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="uri"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="2703">The #GstUri to modify.</doc>
+ <type name="Uri" c:type="GstUri*"/>
+ </instance-parameter>
+ <parameter name="query_key" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="2704">The key to remove.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_fragment"
+ c:identifier="gst_uri_set_fragment"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="2823">Sets the fragment string in the URI. Use a value of %NULL in @fragment to
+unset the fragment string.</doc>
+ <source-position filename="gst/gsturi.h" line="349"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="2831">%TRUE if the fragment was set/unset successfully.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="uri"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="2825">The #GstUri to modify.</doc>
+ <type name="Uri" c:type="GstUri*"/>
+ </instance-parameter>
+ <parameter name="fragment"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="2826">The fragment string to set.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_host" c:identifier="gst_uri_set_host" version="1.6">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="2221">Set or unset the host for the URI.</doc>
+ <source-position filename="gst/gsturi.h" line="284"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="2228">%TRUE if the host was set/unset successfully.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="uri"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="2223">The #GstUri to modify.</doc>
+ <type name="Uri" c:type="GstUri*"/>
+ </instance-parameter>
+ <parameter name="host" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="2224">The new host string to set or %NULL to unset.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_path" c:identifier="gst_uri_set_path" version="1.6">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="2324">Sets or unsets the path in the URI.</doc>
+ <source-position filename="gst/gsturi.h" line="296"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="2332">%TRUE if the path was set successfully.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="uri"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="2326">The #GstUri to modify.</doc>
+ <type name="Uri" c:type="GstUri*"/>
+ </instance-parameter>
+ <parameter name="path" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="2327">The new path to set with path segments separated by '/', or use %NULL
+ to unset the path.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_path_segments"
+ c:identifier="gst_uri_set_path_segments"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="2440">Replace the path segments list in the URI.</doc>
+ <source-position filename="gst/gsturi.h" line="308"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="2448">%TRUE if the path segments were set successfully.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="uri"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="2442">The #GstUri to modify.</doc>
+ <type name="Uri" c:type="GstUri*"/>
+ </instance-parameter>
+ <parameter name="path_segments"
+ transfer-ownership="full"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="2443">The new
+ path list to set.</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="utf8"/>
+ </type>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_path_string"
+ c:identifier="gst_uri_set_path_string"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="2390">Sets or unsets the path in the URI.</doc>
+ <source-position filename="gst/gsturi.h" line="302"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="2398">%TRUE if the path was set successfully.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="uri"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="2392">The #GstUri to modify.</doc>
+ <type name="Uri" c:type="GstUri*"/>
+ </instance-parameter>
+ <parameter name="path" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="2393">The new percent encoded path to set with path segments separated by
+'/', or use %NULL to unset the path.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_port" c:identifier="gst_uri_set_port" version="1.6">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="2263">Set or unset the port number for the URI.</doc>
+ <source-position filename="gst/gsturi.h" line="290"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="2270">%TRUE if the port number was set/unset successfully.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="uri"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="2265">The #GstUri to modify.</doc>
+ <type name="Uri" c:type="GstUri*"/>
+ </instance-parameter>
+ <parameter name="port" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="2266">The new port number to set or %GST_URI_NO_PORT to unset.</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_query_string"
+ c:identifier="gst_uri_set_query_string"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="2580">Sets or unsets the query table in the URI.</doc>
+ <source-position filename="gst/gsturi.h" line="320"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="2588">%TRUE if the query table was set successfully.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="uri"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="2582">The #GstUri to modify.</doc>
+ <type name="Uri" c:type="GstUri*"/>
+ </instance-parameter>
+ <parameter name="query" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="2583">The new percent encoded query string to use to populate the query
+ table, or use %NULL to unset the query table.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_query_table"
+ c:identifier="gst_uri_set_query_table"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="2635">Set the query table to use in the URI. The old table is unreferenced and a
+reference to the new one is used instead. A value if %NULL for @query_table
+will remove the query string from the URI.</doc>
+ <source-position filename="gst/gsturi.h" line="326"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="2645">%TRUE if the new table was successfully used for the query table.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="uri"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="2637">The #GstUri to modify.</doc>
+ <type name="Uri" c:type="GstUri*"/>
+ </instance-parameter>
+ <parameter name="query_table"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="2638">The new
+ query table to use.</doc>
+ <type name="GLib.HashTable" c:type="GHashTable*">
+ <type name="utf8"/>
+ <type name="utf8"/>
+ </type>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_query_value"
+ c:identifier="gst_uri_set_query_value"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="2669">This inserts or replaces a key in the query table. A @query_value of %NULL
+indicates that the key has no associated value, but will still be present in
+the query string.</doc>
+ <source-position filename="gst/gsturi.h" line="329"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="2679">%TRUE if the query table was successfully updated.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="uri"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="2671">The #GstUri to modify.</doc>
+ <type name="Uri" c:type="GstUri*"/>
+ </instance-parameter>
+ <parameter name="query_key" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="2672">The key for the query entry.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="query_value"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="2673">The value for the key.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_scheme"
+ c:identifier="gst_uri_set_scheme"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="2137">Set or unset the scheme for the URI.</doc>
+ <source-position filename="gst/gsturi.h" line="272"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="2144">%TRUE if the scheme was set/unset successfully.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="uri"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="2139">The #GstUri to modify.</doc>
+ <type name="Uri" c:type="GstUri*"/>
+ </instance-parameter>
+ <parameter name="scheme" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="2140">The new scheme to set or %NULL to unset the scheme.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_userinfo"
+ c:identifier="gst_uri_set_userinfo"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="2179">Set or unset the user information for the URI.</doc>
+ <source-position filename="gst/gsturi.h" line="278"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="2186">%TRUE if the user information was set/unset successfully.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="uri"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="2181">The #GstUri to modify.</doc>
+ <type name="Uri" c:type="GstUri*"/>
+ </instance-parameter>
+ <parameter name="userinfo" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="2182">The new user-information string to set or %NULL to unset.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="to_string" c:identifier="gst_uri_to_string" version="1.6">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="1972">Convert the URI to a string.
+
+Returns the URI as held in this object as a #gchar* nul-terminated string.
+The caller should g_free() the string once they are finished with it.
+The string is put together as described in RFC 3986.</doc>
+ <source-position filename="gst/gsturi.h" line="260"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="1982">The string version of the URI.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="uri" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="1974">This #GstUri to convert to a string.</doc>
+ <type name="Uri" c:type="const GstUri*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <function name="construct"
+ c:identifier="gst_uri_construct"
+ deprecated="1">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="490">Constructs a URI for a given valid protocol and location.
+
+Free-function: g_free</doc>
+ <doc-deprecated xml:space="preserve">Use GstURI instead.</doc-deprecated>
+ <source-position filename="gst/gsturi.h" line="155"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="499">a new string for this URI. Returns %NULL if the
+ given URI protocol is not valid, or the given location is %NULL.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="protocol" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="492">Protocol for URI</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="location" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="493">Location for URI</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="from_string"
+ c:identifier="gst_uri_from_string"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="1627">Parses a URI string into a new #GstUri object. Will return NULL if the URI
+cannot be parsed.</doc>
+ <source-position filename="gst/gsturi.h" line="236"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="1634">A new #GstUri object, or NULL.</doc>
+ <type name="Uri" c:type="GstUri*"/>
+ </return-value>
+ <parameters>
+ <parameter name="uri" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="1629">The URI string to parse.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="from_string_escaped"
+ c:identifier="gst_uri_from_string_escaped"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="1644">Parses a URI string into a new #GstUri object. Will return NULL if the URI
+cannot be parsed. This is identical to gst_uri_from_string() except that
+the userinfo and fragment components of the URI will not be unescaped while
+parsing.
+
+Use this when you need to extract a username and password from the userinfo
+such as https://user:password@example.com since either may contain
+a URI-escaped ':' character. gst_uri_from_string() will unescape the entire
+userinfo component, which will make it impossible to know which ':'
+delineates the username and password.
+
+The same applies to the fragment component of the URI, such as
+https://example.com/path#fragment which may contain a URI-escaped '#'.</doc>
+ <source-position filename="gst/gsturi.h" line="239"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="1662">A new #GstUri object, or NULL.</doc>
+ <type name="Uri" c:type="GstUri*"/>
+ </return-value>
+ <parameters>
+ <parameter name="uri" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="1646">The URI string to parse.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="get_location" c:identifier="gst_uri_get_location">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="441">Extracts the location out of a given valid URI, ie. the protocol and "://"
+are stripped from the URI, which means that the location returned includes
+the hostname if one is specified. The returned string must be freed using
+g_free().
+
+Free-function: g_free</doc>
+ <source-position filename="gst/gsturi.h" line="152"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="452">the location for this URI. Returns
+ %NULL if the URI isn't valid. If the URI does not contain a location, an
+ empty string is returned.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="uri" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="443">A URI string</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="get_protocol" c:identifier="gst_uri_get_protocol">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="393">Extracts the protocol out of a given valid URI. The returned string must be
+freed using g_free().</doc>
+ <source-position filename="gst/gsturi.h" line="146"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="400">The protocol for this URI.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="uri" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="395">A URI string</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="has_protocol" c:identifier="gst_uri_has_protocol">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="415">Checks if the protocol of a given valid URI matches @protocol.</doc>
+ <source-position filename="gst/gsturi.h" line="149"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="422">%TRUE if the protocol matches.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="uri" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="417">a URI string</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="protocol" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="418">a protocol string (e.g. "http")</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="is_valid" c:identifier="gst_uri_is_valid">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="372">Tests if the given string is a valid URI identifier. URIs start with a valid
+scheme followed by ":" and maybe a string identifying the location.</doc>
+ <source-position filename="gst/gsturi.h" line="143"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="379">%TRUE if the string is a valid URI</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="uri" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="374">A URI string</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="join_strings"
+ c:identifier="gst_uri_join_strings"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="1898">This is a convenience function to join two URI strings and return the result.
+The returned string should be g_free()'d after use.</doc>
+ <source-position filename="gst/gsturi.h" line="251"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="1906">A string representing the percent-encoded join of
+ the two URIs.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="base_uri" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="1900">The percent-encoded base URI.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="ref_uri" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="1901">The percent-encoded reference URI to join to the @base_uri.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="protocol_is_supported"
+ c:identifier="gst_uri_protocol_is_supported">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="585">Checks if an element exists that supports the given URI protocol. Note
+that a positive return value does not imply that a subsequent call to
+gst_element_make_from_uri() is guaranteed to work.</doc>
+ <source-position filename="gst/gsturi.h" line="140"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="594">%TRUE</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="587">Whether to check for a source or a sink</doc>
+ <type name="URIType" c:type="const GstURIType"/>
+ </parameter>
+ <parameter name="protocol" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="588">Protocol that should be checked for (e.g. "http" or "smb")</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="protocol_is_valid"
+ c:identifier="gst_uri_protocol_is_valid">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="350">Tests if the given string is a valid protocol identifier. Protocols
+must consist of alphanumeric characters, '+', '-' and '.' and must
+start with a alphabetic character. See RFC 3986 Section 3.1.</doc>
+ <source-position filename="gst/gsturi.h" line="137"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="358">%TRUE if the string is a valid protocol identifier, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="protocol" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="352">A string</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ </record>
+ <constant name="VALUE_EQUAL" value="0" c:type="GST_VALUE_EQUAL">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.h"
+ line="414">Indicates that the first value provided to a comparison function
+(gst_value_compare()) is equal to the second one.</doc>
+ <source-position filename="gst/gstvalue.h" line="420"/>
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="VALUE_GREATER_THAN"
+ value="1"
+ c:type="GST_VALUE_GREATER_THAN">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.h"
+ line="422">Indicates that the first value provided to a comparison function
+(gst_value_compare()) is greater than the second one.</doc>
+ <source-position filename="gst/gstvalue.h" line="428"/>
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <function-macro name="VALUE_HOLDS_ARRAY"
+ c:identifier="GST_VALUE_HOLDS_ARRAY"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.h"
+ line="132">Checks if the given #GValue contains a #GST_TYPE_ARRAY value.</doc>
+ <source-position filename="gst/gstvalue.h" line="138"/>
+ <parameters>
+ <parameter name="x">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.h"
+ line="134">the #GValue to check</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VALUE_HOLDS_BITMASK"
+ c:identifier="GST_VALUE_HOLDS_BITMASK"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.h"
+ line="196">Checks if the given #GValue contains a #GST_TYPE_BITMASK value.</doc>
+ <source-position filename="gst/gstvalue.h" line="202"/>
+ <parameters>
+ <parameter name="x">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.h"
+ line="198">the #GValue to check</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VALUE_HOLDS_BUFFER"
+ c:identifier="GST_VALUE_HOLDS_BUFFER"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.h"
+ line="164">Checks if the given #GValue contains a #GST_TYPE_BUFFER value.</doc>
+ <source-position filename="gst/gstvalue.h" line="170"/>
+ <parameters>
+ <parameter name="x">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.h"
+ line="166">the #GValue to check</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VALUE_HOLDS_CAPS"
+ c:identifier="GST_VALUE_HOLDS_CAPS"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.h"
+ line="140">Checks if the given #GValue contains a #GST_TYPE_CAPS value.</doc>
+ <source-position filename="gst/gstvalue.h" line="146"/>
+ <parameters>
+ <parameter name="x">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.h"
+ line="142">the #GValue to check</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VALUE_HOLDS_CAPS_FEATURES"
+ c:identifier="GST_VALUE_HOLDS_CAPS_FEATURES"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.h"
+ line="156">Checks if the given #GValue contains a #GST_TYPE_CAPS_FEATURES value.</doc>
+ <source-position filename="gst/gstvalue.h" line="162"/>
+ <parameters>
+ <parameter name="x">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.h"
+ line="158">the #GValue to check</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VALUE_HOLDS_DATE_TIME"
+ c:identifier="GST_VALUE_HOLDS_DATE_TIME"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.h"
+ line="188">Checks if the given #GValue contains a #GST_TYPE_DATE_TIME value.</doc>
+ <source-position filename="gst/gstvalue.h" line="194"/>
+ <parameters>
+ <parameter name="x">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.h"
+ line="190">the #GValue to check</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VALUE_HOLDS_DOUBLE_RANGE"
+ c:identifier="GST_VALUE_HOLDS_DOUBLE_RANGE"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.h"
+ line="108">Checks if the given #GValue contains a #GST_TYPE_DOUBLE_RANGE value.</doc>
+ <source-position filename="gst/gstvalue.h" line="114"/>
+ <parameters>
+ <parameter name="x">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.h"
+ line="110">the #GValue to check</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VALUE_HOLDS_FLAG_SET"
+ c:identifier="GST_VALUE_HOLDS_FLAG_SET"
+ version="1.6"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.h"
+ line="204">Checks if the given #GValue contains a #GST_TYPE_FLAG_SET value.</doc>
+ <source-position filename="gst/gstvalue.h" line="212"/>
+ <parameters>
+ <parameter name="x">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.h"
+ line="206">the #GValue to check</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VALUE_HOLDS_FRACTION"
+ c:identifier="GST_VALUE_HOLDS_FRACTION"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.h"
+ line="180">Checks if the given #GValue contains a #GST_TYPE_FRACTION value.</doc>
+ <source-position filename="gst/gstvalue.h" line="186"/>
+ <parameters>
+ <parameter name="x">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.h"
+ line="182">the #GValue to check</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VALUE_HOLDS_FRACTION_RANGE"
+ c:identifier="GST_VALUE_HOLDS_FRACTION_RANGE"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.h"
+ line="116">Checks if the given #GValue contains a #GST_TYPE_FRACTION_RANGE value.</doc>
+ <source-position filename="gst/gstvalue.h" line="122"/>
+ <parameters>
+ <parameter name="x">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.h"
+ line="118">the #GValue to check</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VALUE_HOLDS_INT64_RANGE"
+ c:identifier="GST_VALUE_HOLDS_INT64_RANGE"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.h"
+ line="100">Checks if the given #GValue contains a #GST_TYPE_INT64_RANGE value.</doc>
+ <source-position filename="gst/gstvalue.h" line="106"/>
+ <parameters>
+ <parameter name="x">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.h"
+ line="102">the #GValue to check</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VALUE_HOLDS_INT_RANGE"
+ c:identifier="GST_VALUE_HOLDS_INT_RANGE"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.h"
+ line="92">Checks if the given #GValue contains a #GST_TYPE_INT_RANGE value.</doc>
+ <source-position filename="gst/gstvalue.h" line="98"/>
+ <parameters>
+ <parameter name="x">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.h"
+ line="94">the #GValue to check</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VALUE_HOLDS_LIST"
+ c:identifier="GST_VALUE_HOLDS_LIST"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.h"
+ line="124">Checks if the given #GValue contains a #GST_TYPE_LIST value.</doc>
+ <source-position filename="gst/gstvalue.h" line="130"/>
+ <parameters>
+ <parameter name="x">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.h"
+ line="126">the #GValue to check</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VALUE_HOLDS_SAMPLE"
+ c:identifier="GST_VALUE_HOLDS_SAMPLE"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.h"
+ line="172">Checks if the given #GValue contains a #GST_TYPE_SAMPLE value.</doc>
+ <source-position filename="gst/gstvalue.h" line="178"/>
+ <parameters>
+ <parameter name="x">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.h"
+ line="174">the #GValue to check</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VALUE_HOLDS_STRUCTURE"
+ c:identifier="GST_VALUE_HOLDS_STRUCTURE"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.h"
+ line="148">Checks if the given #GValue contains a #GST_TYPE_STRUCTURE value.</doc>
+ <source-position filename="gst/gstvalue.h" line="154"/>
+ <parameters>
+ <parameter name="x">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.h"
+ line="150">the #GValue to check</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <constant name="VALUE_LESS_THAN" value="-1" c:type="GST_VALUE_LESS_THAN">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.h"
+ line="406">Indicates that the first value provided to a comparison function
+(gst_value_compare()) is lesser than the second one.</doc>
+ <source-position filename="gst/gstvalue.h" line="412"/>
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="VALUE_UNORDERED" value="2" c:type="GST_VALUE_UNORDERED">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.h"
+ line="430">Indicates that the comparison function (gst_value_compare()) can not
+determine a order for the two provided values.</doc>
+ <source-position filename="gst/gstvalue.h" line="436"/>
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="VERSION_MAJOR" value="1" c:type="GST_VERSION_MAJOR">
+ <doc xml:space="preserve"
+ filename="gst/gstversion.h"
+ line="46">The major version of GStreamer at compile time:</doc>
+ <source-position filename="gst/gstversion.h" line="51"/>
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="VERSION_MICRO" value="0" c:type="GST_VERSION_MICRO">
+ <doc xml:space="preserve"
+ filename="gst/gstversion.h"
+ line="58">The micro version of GStreamer at compile time:</doc>
+ <source-position filename="gst/gstversion.h" line="63"/>
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="VERSION_MINOR" value="19" c:type="GST_VERSION_MINOR">
+ <doc xml:space="preserve"
+ filename="gst/gstversion.h"
+ line="52">The minor version of GStreamer at compile time:</doc>
+ <source-position filename="gst/gstversion.h" line="57"/>
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="VERSION_NANO" value="1" c:type="GST_VERSION_NANO">
+ <doc xml:space="preserve"
+ filename="gst/gstversion.h"
+ line="64">The nano version of GStreamer at compile time:
+Actual releases have 0, GIT versions have 1, prerelease versions have 2-...</doc>
+ <source-position filename="gst/gstversion.h" line="70"/>
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <class name="ValueArray"
+ c:symbol-prefix="value_array"
+ c:type="GstValueArray"
+ glib:type-name="GstValueArray"
+ glib:get-type="gst_value_array_get_type"
+ glib:fundamental="1">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.h"
+ line="316">A fundamental type that describes an ordered list of #GValue</doc>
+ <function name="append_and_take_value"
+ c:identifier="gst_value_array_append_and_take_value"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="992">Appends @append_value to the GstValueArray in @value.</doc>
+ <source-position filename="gst/gstvalue.h" line="607"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="994">a #GValue of type #GST_TYPE_ARRAY</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="append_value" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="995">the value to append</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="append_value"
+ c:identifier="gst_value_array_append_value">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="964">Appends @append_value to the GstValueArray in @value.</doc>
+ <source-position filename="gst/gstvalue.h" line="604"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="966">a #GValue of type #GST_TYPE_ARRAY</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="append_value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="967">the value to append</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="get_size" c:identifier="gst_value_array_get_size">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="1033">Gets the number of values contained in @value.</doc>
+ <source-position filename="gst/gstvalue.h" line="613"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="1039">the number of values</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="1035">a #GValue of type #GST_TYPE_ARRAY</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="get_value" c:identifier="gst_value_array_get_value">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="1049">Gets the value that is a member of the array contained in @value and
+has the index @index.</doc>
+ <source-position filename="gst/gstvalue.h" line="616"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="1057">the value at the given index</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="1051">a #GValue of type #GST_TYPE_ARRAY</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </parameter>
+ <parameter name="index" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="1052">index of value to get from the array</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="init" c:identifier="gst_value_array_init" version="1.18">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="323">Initializes and pre-allocates a #GValue of type #GST_VALUE_ARRAY.</doc>
+ <source-position filename="gst/gstvalue.h" line="619"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="330">The #GValue structure that has been passed in</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="325">A zero-filled (uninitialized) #GValue structure</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="prealloc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="326">The number of entries to pre-allocate in the array</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="prepend_value"
+ c:identifier="gst_value_array_prepend_value">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="1012">Prepends @prepend_value to the GstValueArray in @value.</doc>
+ <source-position filename="gst/gstvalue.h" line="610"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="1014">a #GValue of type #GST_TYPE_ARRAY</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="prepend_value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="1015">the value to prepend</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ </class>
+ <callback name="ValueCompareFunc" c:type="GstValueCompareFunc">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.h"
+ line="438">Used together with gst_value_compare() to compare #GValue items.</doc>
+ <source-position filename="gst/gstvalue.h" line="448"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.h"
+ line="445">one of GST_VALUE_LESS_THAN, GST_VALUE_EQUAL, GST_VALUE_GREATER_THAN
+or GST_VALUE_UNORDERED</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <parameter name="value1" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.h"
+ line="440">first value for comparison</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </parameter>
+ <parameter name="value2" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.h"
+ line="441">second value for comparison</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <callback name="ValueDeserializeFunc" c:type="GstValueDeserializeFunc">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.h"
+ line="463">Used by gst_value_deserialize() to parse a non-binary form into the #GValue.</doc>
+ <source-position filename="gst/gstvalue.h" line="472"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.h"
+ line="470">%TRUE for success</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="dest" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.h"
+ line="465">a #GValue</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="s" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.h"
+ line="466">a string</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <callback name="ValueDeserializeWithPSpecFunc"
+ c:type="GstValueDeserializeWithPSpecFunc"
+ version="1.20">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.h"
+ line="475">Used by gst_value_deserialize_with_pspec() to parse a non-binary form into the #GValue.</doc>
+ <source-position filename="gst/gstvalue.h" line="486"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.h"
+ line="483">%TRUE for success</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="dest" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.h"
+ line="477">a #GValue</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="s" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.h"
+ line="478">a string</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="pspec" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.h"
+ line="479">a #GParamSpec describing the expected value</doc>
+ <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <class name="ValueList"
+ c:symbol-prefix="value_list"
+ glib:type-name="GstValueList"
+ glib:get-type="gst_value_list_get_type"
+ glib:fundamental="1">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.h"
+ line="295">A fundamental type that describes an unordered list of #GValue</doc>
+ <function name="append_and_take_value"
+ c:identifier="gst_value_list_append_and_take_value"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="663">Appends @append_value to the GstValueList in @value.</doc>
+ <source-position filename="gst/gstvalue.h" line="578"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="665">a #GValue of type #GST_TYPE_LIST</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="append_value" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="666">the value to append</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="append_value" c:identifier="gst_value_list_append_value">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="683">Appends @append_value to the GstValueList in @value.</doc>
+ <source-position filename="gst/gstvalue.h" line="575"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="685">a #GValue of type #GST_TYPE_LIST</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="append_value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="686">the value to append</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="concat" c:identifier="gst_value_list_concat">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="725">Concatenates copies of @value1 and @value2 into a list. Values that are not
+of type #GST_TYPE_LIST are treated as if they were lists of length 1.
+@dest will be initialized to the type #GST_TYPE_LIST.</doc>
+ <source-position filename="gst/gstvalue.h" line="584"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="dest"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="727">an uninitialized #GValue to take the result</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="value1" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="728">a #GValue</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </parameter>
+ <parameter name="value2" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="729">a #GValue</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="get_size" c:identifier="gst_value_list_get_size">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="929">Gets the number of values contained in @value.</doc>
+ <source-position filename="gst/gstvalue.h" line="592"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="935">the number of values</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="931">a #GValue of type #GST_TYPE_LIST</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="get_value" c:identifier="gst_value_list_get_value">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="945">Gets the value that is a member of the list contained in @value and
+has the index @index.</doc>
+ <source-position filename="gst/gstvalue.h" line="595"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="953">the value at the given index</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="947">a #GValue of type #GST_TYPE_LIST</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </parameter>
+ <parameter name="index" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="948">index of value to get from the list</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="init" c:identifier="gst_value_list_init" version="1.18">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="292">Initializes and pre-allocates a #GValue of type #GST_VALUE_LIST.</doc>
+ <source-position filename="gst/gstvalue.h" line="599"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="299">The #GValue structure that has been passed in</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="294">A zero-filled (uninitialized) #GValue structure</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="prealloc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="295">The number of entries to pre-allocate in the list</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="merge" c:identifier="gst_value_list_merge">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="828">Merges copies of @value1 and @value2. Values that are not
+of type #GST_TYPE_LIST are treated as if they were lists of length 1.
+
+The result will be put into @dest and will either be a list that will not
+contain any duplicates, or a non-list type (if @value1 and @value2
+were equal).</doc>
+ <source-position filename="gst/gstvalue.h" line="588"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="dest"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="830">an uninitialized #GValue to take the result</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="value1" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="831">a #GValue</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </parameter>
+ <parameter name="value2" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="832">a #GValue</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="prepend_value"
+ c:identifier="gst_value_list_prepend_value">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="704">Prepends @prepend_value to the GstValueList in @value.</doc>
+ <source-position filename="gst/gstvalue.h" line="581"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="706">a #GValue of type #GST_TYPE_LIST</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="prepend_value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="707">the value to prepend</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ </class>
+ <callback name="ValueSerializeFunc" c:type="GstValueSerializeFunc">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.h"
+ line="451">Used by gst_value_serialize() to obtain a non-binary form of the #GValue.
+
+Free-function: g_free</doc>
+ <source-position filename="gst/gstvalue.h" line="461"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.h"
+ line="459">the string representation of the value</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="value1" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.h"
+ line="453">a #GValue</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <record name="ValueTable" c:type="GstValueTable">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.h"
+ line="492">VTable for the #GValue @type.</doc>
+ <source-position filename="gst/gstvalue.h" line="519"/>
+ <field name="type" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.h"
+ line="494">a #GType</doc>
+ <type name="GType" c:type="GType"/>
+ </field>
+ <field name="compare" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.h"
+ line="495">a #GstValueCompareFunc</doc>
+ <type name="ValueCompareFunc" c:type="GstValueCompareFunc"/>
+ </field>
+ <field name="serialize" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.h"
+ line="496">a #GstValueSerializeFunc</doc>
+ <type name="ValueSerializeFunc" c:type="GstValueSerializeFunc"/>
+ </field>
+ <field name="deserialize" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.h"
+ line="497">a #GstValueDeserializeFunc</doc>
+ <type name="ValueDeserializeFunc" c:type="GstValueDeserializeFunc"/>
+ </field>
+ <field name="deserialize_with_pspec" version="1.20" writable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.h"
+ line="508">a #GstValueDeserializeWithPSpecFunc</doc>
+ <type name="ValueDeserializeWithPSpecFunc"
+ c:type="GstValueDeserializeWithPSpecFunc"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="3">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <function-macro name="WRITE_UINT16_BE"
+ c:identifier="GST_WRITE_UINT16_BE"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.h"
+ line="507">Store a 16 bit unsigned integer value in big endian format into the memory buffer.</doc>
+ <source-position filename="gst/gstutils.h" line="523"/>
+ <parameters>
+ <parameter name="data">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.h"
+ line="509">memory location</doc>
+ </parameter>
+ <parameter name="val">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.h"
+ line="510">value to store</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="WRITE_UINT16_LE"
+ c:identifier="GST_WRITE_UINT16_LE"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.h"
+ line="514">Store a 16 bit unsigned integer value in little endian format into the memory buffer.</doc>
+ <source-position filename="gst/gstutils.h" line="524"/>
+ <parameters>
+ <parameter name="data">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.h"
+ line="516">memory location</doc>
+ </parameter>
+ <parameter name="val">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.h"
+ line="517">value to store</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="WRITE_UINT24_BE"
+ c:identifier="GST_WRITE_UINT24_BE"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.h"
+ line="477">Store a 24 bit unsigned integer value in big endian format into the memory buffer.</doc>
+ <source-position filename="gst/gstutils.h" line="484"/>
+ <parameters>
+ <parameter name="data">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.h"
+ line="479">memory location</doc>
+ </parameter>
+ <parameter name="num">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.h"
+ line="480">value to store</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="WRITE_UINT24_LE"
+ c:identifier="GST_WRITE_UINT24_LE"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.h"
+ line="492">Store a 24 bit unsigned integer value in little endian format into the memory buffer.</doc>
+ <source-position filename="gst/gstutils.h" line="499"/>
+ <parameters>
+ <parameter name="data">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.h"
+ line="494">memory location</doc>
+ </parameter>
+ <parameter name="num">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.h"
+ line="495">value to store</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="WRITE_UINT32_BE"
+ c:identifier="GST_WRITE_UINT32_BE"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.h"
+ line="435">Store a 32 bit unsigned integer value in big endian format into the memory buffer.</doc>
+ <source-position filename="gst/gstutils.h" line="451"/>
+ <parameters>
+ <parameter name="data">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.h"
+ line="437">memory location</doc>
+ </parameter>
+ <parameter name="val">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.h"
+ line="438">value to store</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="WRITE_UINT32_LE"
+ c:identifier="GST_WRITE_UINT32_LE"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.h"
+ line="442">Store a 32 bit unsigned integer value in little endian format into the memory buffer.</doc>
+ <source-position filename="gst/gstutils.h" line="452"/>
+ <parameters>
+ <parameter name="data">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.h"
+ line="444">memory location</doc>
+ </parameter>
+ <parameter name="val">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.h"
+ line="445">value to store</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="WRITE_UINT64_BE"
+ c:identifier="GST_WRITE_UINT64_BE"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.h"
+ line="385">Store a 64 bit unsigned integer value in big endian format into the memory buffer.</doc>
+ <source-position filename="gst/gstutils.h" line="401"/>
+ <parameters>
+ <parameter name="data">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.h"
+ line="387">memory location</doc>
+ </parameter>
+ <parameter name="val">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.h"
+ line="388">value to store</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="WRITE_UINT64_LE"
+ c:identifier="GST_WRITE_UINT64_LE"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.h"
+ line="392">Store a 64 bit unsigned integer value in little endian format into the memory buffer.</doc>
+ <source-position filename="gst/gstutils.h" line="402"/>
+ <parameters>
+ <parameter name="data">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.h"
+ line="394">memory location</doc>
+ </parameter>
+ <parameter name="val">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.h"
+ line="395">value to store</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="WRITE_UINT8"
+ c:identifier="GST_WRITE_UINT8"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.h"
+ line="545">Store an 8 bit unsigned integer value into the memory buffer.</doc>
+ <source-position filename="gst/gstutils.h" line="552"/>
+ <parameters>
+ <parameter name="data">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.h"
+ line="547">memory location</doc>
+ </parameter>
+ <parameter name="num">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.h"
+ line="548">value to store</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function name="buffer_get_max_memory"
+ c:identifier="gst_buffer_get_max_memory"
+ moved-to="Buffer.get_max_memory"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="500">Get the maximum amount of memory blocks that a buffer can hold. This is a
+compile time constant that can be queried with the function.
+
+When more memory blocks are added, existing memory blocks will be merged
+together to make room for the new block.</doc>
+ <source-position filename="gst/gstbuffer.h" line="284"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="509">the maximum amount of memory blocks that a buffer can hold.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ </function>
+ <function-macro name="buffer_get_parent_buffer_meta"
+ c:identifier="gst_buffer_get_parent_buffer_meta"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="736">Find and return a #GstParentBufferMeta if one exists on the
+buffer</doc>
+ <source-position filename="gst/gstbuffer.h" line="742"/>
+ <parameters>
+ <parameter name="b">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="738">a #GstBuffer</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="buffer_get_protection_meta"
+ c:identifier="gst_buffer_get_protection_meta"
+ introspectable="0">
+ <source-position filename="gst/gstprotection.h" line="81"/>
+ <parameters>
+ <parameter name="b">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="buffer_is_writable"
+ c:identifier="gst_buffer_is_writable"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="545">Tests if you can safely write to a buffer's metadata or its memory array.
+It is only safe to change buffer metadata when the current reference is
+writable, i.e. nobody can see the modifications you will make.</doc>
+ <source-position filename="gst/gstbuffer.h" line="552"/>
+ <parameters>
+ <parameter name="buf">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="547">a #GstBuffer</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="buffer_list_add"
+ c:identifier="gst_buffer_list_add"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferlist.c"
+ line="402">Append @b at the end of @l.</doc>
+ <source-position filename="gst/gstbufferlist.h" line="239"/>
+ <parameters>
+ <parameter name="l">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferlist.c"
+ line="404">a #GstBufferList</doc>
+ </parameter>
+ <parameter name="b">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferlist.c"
+ line="405">a #GstBuffer</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="buffer_list_is_writable"
+ c:identifier="gst_buffer_list_is_writable"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferlist.h"
+ line="182">Tests if you can safely add buffers and groups into a buffer list.</doc>
+ <source-position filename="gst/gstbufferlist.h" line="188"/>
+ <parameters>
+ <parameter name="list">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferlist.h"
+ line="184">a #GstBufferList</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="buffer_list_make_writable"
+ c:identifier="gst_buffer_list_make_writable"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferlist.h"
+ line="190">Makes a writable buffer list from the given buffer list. If the source buffer
+list is already writable, this will simply return the same buffer list. A
+copy will otherwise be made using gst_buffer_list_copy().</doc>
+ <source-position filename="gst/gstbufferlist.h" line="201"/>
+ <parameters>
+ <parameter name="list">
+ <doc xml:space="preserve"
+ filename="gst/gstbufferlist.h"
+ line="192">a #GstBufferList</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="buffer_make_writable"
+ c:identifier="gst_buffer_make_writable"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="554">Returns a writable copy of @buf. If the source buffer is
+already writable, this will simply return the same buffer.
+
+Use this function to ensure that a buffer can be safely modified before
+making changes to it, including changing the metadata such as PTS/DTS.
+
+If the reference count of the source buffer @buf is exactly one, the caller
+is the sole owner and this function will return the buffer object unchanged.
+
+If there is more than one reference on the object, a copy will be made using
+gst_buffer_copy(). The passed-in @buf will be unreffed in that case, and the
+caller will now own a reference to the new returned buffer object. Note
+that this just copies the buffer structure itself, the underlying memory is
+not copied if it can be shared amongst multiple buffers.
+
+In short, this function unrefs the buf in the argument and refs the buffer
+that it returns. Don't access the argument after calling this function unless
+you have an additional reference to it.</doc>
+ <source-position filename="gst/gstbuffer.h" line="579"/>
+ <parameters>
+ <parameter name="buf">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="556">a #GstBuffer</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="buffer_new_and_alloc"
+ c:identifier="gst_buffer_new_and_alloc"
+ introspectable="0">
+ <source-position filename="gst/gstcompat.h" line="42"/>
+ <parameters>
+ <parameter name="s">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function name="buffer_replace"
+ c:identifier="gst_buffer_replace"
+ moved-to="Buffer.replace"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="582">Modifies a pointer to a #GstBuffer to point to a different #GstBuffer. The
+modification is done atomically (so this is useful for ensuring thread safety
+in some cases), and the reference counts are updated appropriately (the old
+buffer is unreffed, the new is reffed).
+
+Either @nbuf or the #GstBuffer pointed to by @obuf may be %NULL.</doc>
+ <source-position filename="gst/gstbuffer.h" line="598"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="596">%TRUE when @obuf was different from @nbuf.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="obuf"
+ direction="inout"
+ caller-allocates="0"
+ transfer-ownership="full"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="584">pointer to a pointer to
+ a #GstBuffer to be replaced.</doc>
+ <type name="Buffer" c:type="GstBuffer**"/>
+ </parameter>
+ <parameter name="nbuf"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="586">pointer to a #GstBuffer that will
+ replace the buffer pointed to by @obuf.</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="calculate_linear_regression"
+ c:identifier="gst_calculate_linear_regression"
+ version="1.12"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="4278">Calculates the linear regression of the values @xy and places the
+result in @m_num, @m_denom, @b and @xbase, representing the function
+ y(x) = m_num/m_denom * (x - xbase) + b
+that has the least-square distance from all points @x and @y.
+
+@r_squared will contain the remaining error.
+
+If @temp is not %NULL, it will be used as temporary space for the function,
+in which case the function works without any allocation at all. If @temp is
+%NULL, an allocation will take place. @temp should have at least the same
+amount of memory allocated as @xy, i.e. 2*n*sizeof(GstClockTime).
+
+&gt; This function assumes (x,y) values with reasonable large differences
+&gt; between them. It will not calculate the exact results if the differences
+&gt; between neighbouring values are too small due to not being able to
+&gt; represent sub-integer values during the calculations.</doc>
+ <source-position filename="gst/gstutils.h" line="1216"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="4306">%TRUE if the linear regression was successfully calculated</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="xy" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="4280">Pairs of (x,y) values</doc>
+ <type name="ClockTime" c:type="const GstClockTime*"/>
+ </parameter>
+ <parameter name="temp" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="4281">Temporary scratch space used by the function</doc>
+ <type name="ClockTime" c:type="GstClockTime*"/>
+ </parameter>
+ <parameter name="n" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="4282">number of (x,y) pairs</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="m_num"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="4283">numerator of calculated slope</doc>
+ <type name="ClockTime" c:type="GstClockTime*"/>
+ </parameter>
+ <parameter name="m_denom"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="4284">denominator of calculated slope</doc>
+ <type name="ClockTime" c:type="GstClockTime*"/>
+ </parameter>
+ <parameter name="b"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="4285">Offset at Y-axis</doc>
+ <type name="ClockTime" c:type="GstClockTime*"/>
+ </parameter>
+ <parameter name="xbase"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="4286">Offset at X-axis</doc>
+ <type name="ClockTime" c:type="GstClockTime*"/>
+ </parameter>
+ <parameter name="r_squared"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="4287">R-squared</doc>
+ <type name="gdouble" c:type="gdouble*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="caps_features_from_string"
+ c:identifier="gst_caps_features_from_string"
+ moved-to="CapsFeatures.from_string"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="gst/gstcapsfeatures.c"
+ line="486">Creates a #GstCapsFeatures from a string representation.
+
+Free-function: gst_caps_features_free</doc>
+ <source-position filename="gst/gstcapsfeatures.h" line="85"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstcapsfeatures.c"
+ line="494">a new #GstCapsFeatures or
+ %NULL when the string could not be parsed. Free with
+ gst_caps_features_free() after use.</doc>
+ <type name="CapsFeatures" c:type="GstCapsFeatures*"/>
+ </return-value>
+ <parameters>
+ <parameter name="features" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcapsfeatures.c"
+ line="488">a string representation of a #GstCapsFeatures.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="caps_from_string"
+ c:identifier="gst_caps_from_string"
+ moved-to="Caps.from_string">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="2476">Converts @caps from a string representation.
+
+The current implementation of serialization will lead to unexpected results
+when there are nested #GstCaps / #GstStructure deeper than one level.</doc>
+ <source-position filename="gst/gstcaps.h" line="581"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="2485">a newly allocated #GstCaps</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <parameter name="string" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.c"
+ line="2478">a string to convert to #GstCaps</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function-macro name="caps_is_writable"
+ c:identifier="gst_caps_is_writable"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.h"
+ line="253">Tests if you can safely modify @caps. It is only safe to modify caps when
+there is only one owner of the caps - ie, the object is writable.</doc>
+ <source-position filename="gst/gstcaps.h" line="260"/>
+ <parameters>
+ <parameter name="caps">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.h"
+ line="255">a #GstCaps</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="caps_make_writable"
+ c:identifier="gst_caps_make_writable"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.h"
+ line="262">Returns a writable copy of @caps.
+
+If there is only one reference count on @caps, the caller must be the owner,
+and so this function will return the caps object unchanged. If on the other
+hand there is more than one reference on the object, a new caps object will
+be returned. The caller's reference on @caps will be removed, and instead the
+caller will own a reference to the returned object.
+
+In short, this function unrefs the caps in the argument and refs the caps
+that it returns. Don't access the argument after calling this function. See
+also: gst_caps_ref().</doc>
+ <source-position filename="gst/gstcaps.h" line="281"/>
+ <parameters>
+ <parameter name="caps">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.h"
+ line="264">a #GstCaps</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function name="caps_replace"
+ c:identifier="gst_caps_replace"
+ moved-to="Caps.replace"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.h"
+ line="283">Modifies a pointer to a #GstCaps to point to a different #GstCaps. The
+modification is done atomically (so this is useful for ensuring thread safety
+in some cases), and the reference counts are updated appropriately (the old
+caps is unreffed, the new is reffed).
+
+Either @new_caps or the #GstCaps pointed to by @old_caps may be %NULL.</doc>
+ <source-position filename="gst/gstcaps.h" line="299"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.h"
+ line="297">%TRUE if @new_caps was different from @old_caps</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="old_caps"
+ direction="inout"
+ caller-allocates="0"
+ transfer-ownership="full"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.h"
+ line="285">pointer to a pointer
+ to a #GstCaps to be replaced.</doc>
+ <type name="Caps" c:type="GstCaps**"/>
+ </parameter>
+ <parameter name="new_caps"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.h"
+ line="287">pointer to a #GstCaps that will
+ replace the caps pointed to by @old_caps.</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="caps_take"
+ c:identifier="gst_caps_take"
+ moved-to="Caps.take"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.h"
+ line="306">Modifies a pointer to a #GstCaps to point to a different #GstCaps. This
+function is similar to gst_caps_replace() except that it takes ownership
+of @new_caps.</doc>
+ <source-position filename="gst/gstcaps.h" line="319"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.h"
+ line="317">%TRUE if @new_caps was different from @old_caps</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="old_caps"
+ direction="inout"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.h"
+ line="308">pointer to a pointer to a #GstCaps to be
+ replaced.</doc>
+ <type name="Caps" c:type="GstCaps**"/>
+ </parameter>
+ <parameter name="new_caps"
+ transfer-ownership="full"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstcaps.h"
+ line="310">pointer to a #GstCaps that will
+ replace the caps pointed to by @old_caps.</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="clear_mini_object"
+ c:identifier="gst_clear_mini_object"
+ version="1.16"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.c"
+ line="676">Clears a reference to a #GstMiniObject.
+
+@object_ptr must not be %NULL.
+
+If the reference is %NULL then this function does nothing.
+Otherwise, the reference count of the object is decreased using
+gst_mini_object_unref() and the pointer is set to %NULL.
+
+A macro is also included that allows this function to be used without
+pointer casts.</doc>
+ <source-position filename="gst/gstminiobject.h" line="238"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="object_ptr" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.c"
+ line="678">a pointer to a #GstMiniObject reference</doc>
+ <type name="MiniObject" c:type="GstMiniObject**"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="clear_object"
+ c:identifier="gst_clear_object"
+ version="1.16"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="299">Clears a reference to a #GstObject.
+
+@object_ptr must not be %NULL.
+
+If the reference is %NULL then this function does nothing.
+Otherwise, the reference count of the object is decreased using
+gst_object_unref() and the pointer is set to %NULL.
+
+A macro is also included that allows this function to be used without
+pointer casts.</doc>
+ <source-position filename="gst/gstobject.h" line="258"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="object_ptr" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstobject.c"
+ line="301">a pointer to a #GstObject reference</doc>
+ <type name="Object" c:type="GstObject**"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="clear_structure"
+ c:identifier="gst_clear_structure"
+ version="1.16"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="549">Clears a reference to a #GstStructure.
+
+@structure_ptr must not be %NULL.
+
+If the reference is %NULL then this function does nothing.
+Otherwise, the structure is free'd using gst_structure_free() and the
+pointer is set to %NULL.
+
+A macro is also included that allows this function to be used without
+pointer casts.</doc>
+ <source-position filename="gst/gststructure.h" line="137"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="structure_ptr" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="551">a pointer to a #GstStructure reference</doc>
+ <type name="Structure" c:type="GstStructure**"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function-macro name="context_is_writable"
+ c:identifier="gst_context_is_writable"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstcontext.h"
+ line="94">Tests if you can safely write into a context's structure or validly
+modify the seqnum and timestamp fields.</doc>
+ <source-position filename="gst/gstcontext.h" line="101"/>
+ <parameters>
+ <parameter name="context">
+ <doc xml:space="preserve"
+ filename="gst/gstcontext.h"
+ line="96">a #GstContext</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="context_make_writable"
+ c:identifier="gst_context_make_writable"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstcontext.h"
+ line="102">Checks if a context is writable. If not, a writable copy is made and
+returned.</doc>
+ <source-position filename="gst/gstcontext.h" line="113"/>
+ <parameters>
+ <parameter name="context">
+ <doc xml:space="preserve"
+ filename="gst/gstcontext.h"
+ line="104">the context to make writable</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function name="core_error_quark"
+ c:identifier="gst_core_error_quark"
+ moved-to="CoreError.quark">
+ <attribute name="doc.skip" value="true"/>
+ <return-value transfer-ownership="none">
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </return-value>
+ </function>
+ <function name="debug_add_log_function"
+ c:identifier="gst_debug_add_log_function">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="1374">Adds the logging function to the list of logging functions.
+Be sure to use #G_GNUC_NO_INSTRUMENT on that function, it is needed.</doc>
+ <source-position filename="gst/gstinfo.h" line="440"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="func"
+ transfer-ownership="none"
+ scope="notified"
+ closure="1"
+ destroy="2">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="1376">the function to use</doc>
+ <type name="LogFunction" c:type="GstLogFunction"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="1377">user data</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="notify" transfer-ownership="none" scope="async">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="1378">called when @user_data is not used anymore</doc>
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="debug_add_ring_buffer_logger"
+ c:identifier="gst_debug_add_ring_buffer_logger"
+ version="1.14">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="3365">Adds a memory ringbuffer based debug logger that stores up to
+@max_size_per_thread bytes of logs per thread and times out threads after
+@thread_timeout seconds of inactivity.
+
+Logs can be fetched with gst_debug_ring_buffer_logger_get_logs() and the
+logger can be removed again with gst_debug_remove_ring_buffer_logger().
+Only one logger at a time is possible.</doc>
+ <source-position filename="gst/gstinfo.h" line="1794"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="max_size_per_thread" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="3367">Maximum size of log per thread in bytes</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="thread_timeout" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="3368">Timeout for threads in seconds</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="debug_bin_to_dot_data"
+ c:identifier="gst_debug_bin_to_dot_data">
+ <doc xml:space="preserve"
+ filename="gst/gstdebugutils.c"
+ line="796">To aid debugging applications one can use this method to obtain the whole
+network of gstreamer elements that form the pipeline into an dot file.
+This data can be processed with graphviz to get an image.</doc>
+ <source-position filename="gst/gstdebugutils.h" line="65"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstdebugutils.c"
+ line="805">a string containing the pipeline in graphviz
+dot format.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="bin" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdebugutils.c"
+ line="798">the top-level pipeline that should be analyzed</doc>
+ <type name="Bin" c:type="GstBin*"/>
+ </parameter>
+ <parameter name="details" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdebugutils.c"
+ line="799">type of #GstDebugGraphDetails to use</doc>
+ <type name="DebugGraphDetails" c:type="GstDebugGraphDetails"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="debug_bin_to_dot_file"
+ c:identifier="gst_debug_bin_to_dot_file">
+ <doc xml:space="preserve"
+ filename="gst/gstdebugutils.c"
+ line="824">To aid debugging applications one can use this method to write out the whole
+network of gstreamer elements that form the pipeline into an dot file.
+This file can be processed with graphviz to get an image.
+
+``` shell
+ dot -Tpng -oimage.png graph_lowlevel.dot
+```</doc>
+ <source-position filename="gst/gstdebugutils.h" line="68"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="bin" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdebugutils.c"
+ line="826">the top-level pipeline that should be analyzed</doc>
+ <type name="Bin" c:type="GstBin*"/>
+ </parameter>
+ <parameter name="details" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdebugutils.c"
+ line="827">type of #GstDebugGraphDetails to use</doc>
+ <type name="DebugGraphDetails" c:type="GstDebugGraphDetails"/>
+ </parameter>
+ <parameter name="file_name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdebugutils.c"
+ line="828">output base filename (e.g. "myplayer")</doc>
+ <type name="filename" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="debug_bin_to_dot_file_with_ts"
+ c:identifier="gst_debug_bin_to_dot_file_with_ts">
+ <doc xml:space="preserve"
+ filename="gst/gstdebugutils.c"
+ line="876">This works like gst_debug_bin_to_dot_file(), but adds the current timestamp
+to the filename, so that it can be used to take multiple snapshots.</doc>
+ <source-position filename="gst/gstdebugutils.h" line="71"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="bin" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdebugutils.c"
+ line="878">the top-level pipeline that should be analyzed</doc>
+ <type name="Bin" c:type="GstBin*"/>
+ </parameter>
+ <parameter name="details" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdebugutils.c"
+ line="879">type of #GstDebugGraphDetails to use</doc>
+ <type name="DebugGraphDetails" c:type="GstDebugGraphDetails"/>
+ </parameter>
+ <parameter name="file_name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdebugutils.c"
+ line="880">output base filename (e.g. "myplayer")</doc>
+ <type name="filename" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="debug_construct_term_color"
+ c:identifier="gst_debug_construct_term_color">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="955">Constructs a string that can be used for getting the desired color in color
+terminals.
+You need to free the string after use.</doc>
+ <source-position filename="gst/gstinfo.h" line="512"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="963">a string containing the color
+ definition</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="colorinfo" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="957">the color info</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="debug_construct_win_color"
+ c:identifier="gst_debug_construct_win_color">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="991">Constructs an integer that can be used for getting the desired color in
+windows' terminals (cmd.exe). As there is no mean to underline, we simply
+ignore this attribute.
+
+This function returns 0 on non-windows machines.</doc>
+ <source-position filename="gst/gstinfo.h" line="515"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="1001">an integer containing the color definition</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <parameter name="colorinfo" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="993">the color info</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="debug_get_all_categories"
+ c:identifier="gst_debug_get_all_categories">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="1937">Returns a snapshot of a all categories that are currently in use . This list
+may change anytime.
+The caller has to free the list after use.</doc>
+ <source-position filename="gst/gstinfo.h" line="508"/>
+ <return-value transfer-ownership="container">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="1944">the list of
+ debug categories</doc>
+ <type name="GLib.SList" c:type="GSList*">
+ <type name="DebugCategory"/>
+ </type>
+ </return-value>
+ </function>
+ <function name="debug_get_color_mode"
+ c:identifier="gst_debug_get_color_mode"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="1597">Changes the coloring mode for debug output.</doc>
+ <source-position filename="gst/gstinfo.h" line="468"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="1602">see @GstDebugColorMode for possible values.</doc>
+ <type name="DebugColorMode" c:type="GstDebugColorMode"/>
+ </return-value>
+ </function>
+ <function name="debug_get_default_threshold"
+ c:identifier="gst_debug_get_default_threshold">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="1661">Returns the default threshold that is used for new categories.</doc>
+ <source-position filename="gst/gstinfo.h" line="474"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="1666">the default threshold level</doc>
+ <type name="DebugLevel" c:type="GstDebugLevel"/>
+ </return-value>
+ </function>
+ <function name="debug_get_stack_trace"
+ c:identifier="gst_debug_get_stack_trace"
+ version="1.12">
+ <source-position filename="gst/gstinfo.h" line="1791"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="3097">a stack trace, if libunwind or glibc backtrace are
+present, else %NULL.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="3094">A set of #GstStackTraceFlags to determine how the stack trace should
+look like. Pass #GST_STACK_TRACE_SHOW_NONE to retrieve a minimal backtrace.</doc>
+ <type name="StackTraceFlags" c:type="GstStackTraceFlags"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="debug_is_active" c:identifier="gst_debug_is_active">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="1632">Checks if debugging output is activated.</doc>
+ <source-position filename="gst/gstinfo.h" line="453"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="1637">%TRUE, if debugging is activated</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </function>
+ <function name="debug_is_colored" c:identifier="gst_debug_is_colored">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="1583">Checks if the debugging output should be colored.</doc>
+ <source-position filename="gst/gstinfo.h" line="465"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="1588">%TRUE, if the debug output should be colored.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </function>
+ <function name="debug_level_get_name"
+ c:identifier="gst_debug_level_get_name"
+ moved-to="DebugLevel.get_name">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="1338">Get the string representation of a debugging level</doc>
+ <source-position filename="gst/gstinfo.h" line="437"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="1344">the name</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="level" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="1340">the level to get the name for</doc>
+ <type name="DebugLevel" c:type="GstDebugLevel"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="debug_log" c:identifier="gst_debug_log" introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="458">Logs the given message using the currently registered debugging handlers.</doc>
+ <source-position filename="gst/gstinfo.h" line="358"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="category" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="460">category to log</doc>
+ <type name="DebugCategory" c:type="GstDebugCategory*"/>
+ </parameter>
+ <parameter name="level" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="461">level of the message is in</doc>
+ <type name="DebugLevel" c:type="GstDebugLevel"/>
+ </parameter>
+ <parameter name="file" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="462">the file that emitted the message, usually the __FILE__ identifier</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="function" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="463">the function that emitted the message</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="line" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="464">the line from that the message was emitted, usually __LINE__</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="object"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="465">the object this message relates to,
+ or %NULL if none</doc>
+ <type name="GObject.Object" c:type="GObject*"/>
+ </parameter>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="467">a printf style format string</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="..." transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="468">optional arguments for the format</doc>
+ <varargs/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="debug_log_default" c:identifier="gst_debug_log_default">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="1217">The default logging handler used by GStreamer. Logging functions get called
+whenever a macro like GST_DEBUG or similar is used. By default this function
+is setup to output the message and additional info to stderr (or the log file
+specified via the GST_DEBUG_FILE environment variable) as received via
+@user_data.
+
+You can add other handlers by using gst_debug_add_log_function().
+And you can remove this handler by calling
+gst_debug_remove_log_function(gst_debug_log_default);</doc>
+ <source-position filename="gst/gstinfo.h" line="427"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="category" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="1219">category to log</doc>
+ <type name="DebugCategory" c:type="GstDebugCategory*"/>
+ </parameter>
+ <parameter name="level" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="1220">level of the message</doc>
+ <type name="DebugLevel" c:type="GstDebugLevel"/>
+ </parameter>
+ <parameter name="file" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="1221">the file that emitted the message, usually the __FILE__ identifier</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="function" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="1222">the function that emitted the message</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="line" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="1223">the line from that the message was emitted, usually __LINE__</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="object"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="1225">the object this message relates to,
+ or %NULL if none</doc>
+ <type name="GObject.Object" c:type="GObject*"/>
+ </parameter>
+ <parameter name="message" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="1224">the actual message</doc>
+ <type name="DebugMessage" c:type="GstDebugMessage*"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="1227">the FILE* to log to</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="debug_log_get_line"
+ c:identifier="gst_debug_log_get_line"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="1139">Returns the string representation for the specified debug log message
+formatted in the same way as gst_debug_log_default() (the default handler),
+without color. The purpose is to make it easy for custom log output
+handlers to get a log output that is identical to what the default handler
+would write out.</doc>
+ <source-position filename="gst/gstinfo.h" line="418"/>
+ <return-value transfer-ownership="full">
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="category" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="1141">category to log</doc>
+ <type name="DebugCategory" c:type="GstDebugCategory*"/>
+ </parameter>
+ <parameter name="level" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="1142">level of the message</doc>
+ <type name="DebugLevel" c:type="GstDebugLevel"/>
+ </parameter>
+ <parameter name="file" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="1143">the file that emitted the message, usually the __FILE__ identifier</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="function" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="1144">the function that emitted the message</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="line" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="1145">the line from that the message was emitted, usually __LINE__</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="object"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="1146">the object this message relates to,
+ or %NULL if none</doc>
+ <type name="GObject.Object" c:type="GObject*"/>
+ </parameter>
+ <parameter name="message" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="1148">the actual message</doc>
+ <type name="DebugMessage" c:type="GstDebugMessage*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="debug_log_valist"
+ c:identifier="gst_debug_log_valist"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="508">Logs the given message using the currently registered debugging handlers.</doc>
+ <source-position filename="gst/gstinfo.h" line="367"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="category" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="510">category to log</doc>
+ <type name="DebugCategory" c:type="GstDebugCategory*"/>
+ </parameter>
+ <parameter name="level" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="511">level of the message is in</doc>
+ <type name="DebugLevel" c:type="GstDebugLevel"/>
+ </parameter>
+ <parameter name="file" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="512">the file that emitted the message, usually the __FILE__ identifier</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="function" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="513">the function that emitted the message</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="line" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="514">the line from that the message was emitted, usually __LINE__</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="object"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="515">the object this message relates to,
+ or %NULL if none</doc>
+ <type name="GObject.Object" c:type="GObject*"/>
+ </parameter>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="517">a printf style format string</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="args" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="518">optional arguments for the format</doc>
+ <type name="va_list" c:type="va_list"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="debug_print_stack_trace"
+ c:identifier="gst_debug_print_stack_trace">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="3127">If libunwind, glibc backtrace or DbgHelp are present
+a stack trace is printed.</doc>
+ <source-position filename="gst/gstinfo.h" line="1788"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </function>
+ <function name="debug_remove_log_function"
+ c:identifier="gst_debug_remove_log_function">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="1466">Removes all registered instances of the given logging functions.</doc>
+ <source-position filename="gst/gstinfo.h" line="444"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="1473">How many instances of the function were removed</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <parameter name="func"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1"
+ scope="call">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="1468">the log function to remove, or %NULL to
+ remove the default log function</doc>
+ <type name="LogFunction" c:type="GstLogFunction"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="debug_remove_log_function_by_data"
+ c:identifier="gst_debug_remove_log_function_by_data">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="1502">Removes all registered instances of log functions with the given user data.</doc>
+ <source-position filename="gst/gstinfo.h" line="447"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="1508">How many instances of the function were removed</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <parameter name="data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="1504">user data of the log function to remove</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="debug_remove_ring_buffer_logger"
+ c:identifier="gst_debug_remove_ring_buffer_logger"
+ version="1.14">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="3406">Removes any previously added ring buffer logger with
+gst_debug_add_ring_buffer_logger().</doc>
+ <source-position filename="gst/gstinfo.h" line="1796"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </function>
+ <function name="debug_ring_buffer_logger_get_logs"
+ c:identifier="gst_debug_ring_buffer_logger_get_logs"
+ version="1.14">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="3299">Fetches the current logs per thread from the ring buffer logger. See
+gst_debug_add_ring_buffer_logger() for details.</doc>
+ <source-position filename="gst/gstinfo.h" line="1798"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="3305">NULL-terminated array of
+strings with the debug output per thread</doc>
+ <array c:type="gchar**">
+ <type name="utf8"/>
+ </array>
+ </return-value>
+ </function>
+ <function name="debug_set_active" c:identifier="gst_debug_set_active">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="1612">If activated, debugging messages are sent to the debugging
+handlers.
+It makes sense to deactivate it for speed issues.
+&gt; This function is not threadsafe. It makes sense to only call it
+during initialization.</doc>
+ <source-position filename="gst/gstinfo.h" line="450"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="active" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="1614">Whether to use debugging output or not</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="debug_set_color_mode"
+ c:identifier="gst_debug_set_color_mode"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="1545">Changes the coloring mode for debug output.
+
+This function may be called before gst_init().</doc>
+ <source-position filename="gst/gstinfo.h" line="459"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="mode" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="1547">The coloring mode for debug output. See @GstDebugColorMode.</doc>
+ <type name="DebugColorMode" c:type="GstDebugColorMode"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="debug_set_color_mode_from_string"
+ c:identifier="gst_debug_set_color_mode_from_string"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="1561">Changes the coloring mode for debug output.
+
+This function may be called before gst_init().</doc>
+ <source-position filename="gst/gstinfo.h" line="462"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="mode" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="1563">The coloring mode for debug output. One of the following:
+"on", "auto", "off", "disable", "unix".</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="debug_set_colored" c:identifier="gst_debug_set_colored">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="1527">Sets or unsets the use of coloured debugging output.
+Same as gst_debug_set_color_mode () with the argument being
+being GST_DEBUG_COLOR_MODE_ON or GST_DEBUG_COLOR_MODE_OFF.
+
+This function may be called before gst_init().</doc>
+ <source-position filename="gst/gstinfo.h" line="456"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="colored" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="1529">Whether to use colored output or not</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="debug_set_default_threshold"
+ c:identifier="gst_debug_set_default_threshold">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="1645">Sets the default threshold to the given level and updates all categories to
+use this threshold.
+
+This function may be called before gst_init().</doc>
+ <source-position filename="gst/gstinfo.h" line="471"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="level" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="1647">level to set</doc>
+ <type name="DebugLevel" c:type="GstDebugLevel"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="debug_set_threshold_for_name"
+ c:identifier="gst_debug_set_threshold_for_name">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="1724">Sets all categories which match the given glob style pattern to the given
+level.</doc>
+ <source-position filename="gst/gstinfo.h" line="477"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="1726">name of the categories to set</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="level" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="1727">level to set them to</doc>
+ <type name="DebugLevel" c:type="GstDebugLevel"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="debug_set_threshold_from_string"
+ c:identifier="gst_debug_set_threshold_from_string"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="2043">Sets the debug logging wanted in the same form as with the GST_DEBUG
+environment variable. You can use wildcards such as '*', but note that
+the order matters when you use wild cards, e.g. "foosrc:6,*src:3,*:2" sets
+everything to log level 2.</doc>
+ <source-position filename="gst/gstinfo.h" line="480"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="list" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="2045">comma-separated list of "category:level" pairs to be used
+ as debug logging levels</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="reset" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="2047">%TRUE to clear all previously-set debug levels before setting
+ new thresholds
+%FALSE if adding the threshold described by @list to the one already set.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="debug_unset_threshold_for_name"
+ c:identifier="gst_debug_unset_threshold_for_name">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="1752">Resets all categories with the given name back to the default level.</doc>
+ <source-position filename="gst/gstinfo.h" line="483"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="1754">name of the categories to set</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="deinit" c:identifier="gst_deinit">
+ <doc xml:space="preserve"
+ filename="gst/gst.c"
+ line="1086">Clean up any resources created by GStreamer in gst_init().
+
+It is normally not needed to call this function in a normal application
+as the resources will automatically be freed when the program terminates.
+This function is therefore mostly used by testsuites and other memory
+profiling tools.
+
+After this call GStreamer (including this method) should not be used anymore.</doc>
+ <source-position filename="gst/gst.h" line="113"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </function>
+ <function name="dynamic_type_register"
+ c:identifier="gst_dynamic_type_register"
+ version="1.12">
+ <doc xml:space="preserve"
+ filename="gst/gstdynamictypefactory.c"
+ line="144">Registers a new #GstDynamicTypeFactory in the registry</doc>
+ <source-position filename="gst/gstdynamictypefactory.h" line="57"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="plugin" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdynamictypefactory.c"
+ line="146">The #GstPlugin to register @dyn_type for</doc>
+ <type name="Plugin" c:type="GstPlugin*"/>
+ </parameter>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstdynamictypefactory.c"
+ line="147">The #GType to register dynamically</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function-macro name="element_factory_get_author"
+ c:identifier="gst_element_factory_get_author"
+ introspectable="0">
+ <source-position filename="gst/gstcompat.h" line="75"/>
+ <parameters>
+ <parameter name="f">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="element_factory_get_description"
+ c:identifier="gst_element_factory_get_description"
+ introspectable="0">
+ <source-position filename="gst/gstcompat.h" line="74"/>
+ <parameters>
+ <parameter name="f">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="element_factory_get_documentation_uri"
+ c:identifier="gst_element_factory_get_documentation_uri"
+ introspectable="0">
+ <source-position filename="gst/gstcompat.h" line="76"/>
+ <parameters>
+ <parameter name="f">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="element_factory_get_icon_name"
+ c:identifier="gst_element_factory_get_icon_name"
+ introspectable="0">
+ <source-position filename="gst/gstcompat.h" line="77"/>
+ <parameters>
+ <parameter name="f">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="element_factory_get_klass"
+ c:identifier="gst_element_factory_get_klass"
+ introspectable="0">
+ <source-position filename="gst/gstcompat.h" line="73"/>
+ <parameters>
+ <parameter name="f">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="element_factory_get_longname"
+ c:identifier="gst_element_factory_get_longname"
+ introspectable="0">
+ <source-position filename="gst/gstcompat.h" line="72"/>
+ <parameters>
+ <parameter name="f">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="element_get_name"
+ c:identifier="gst_element_get_name"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="797">Returns a copy of the name of @elem.
+Caller should g_free() the return value after usage.
+For a nameless element, this returns %NULL, which you can safely g_free()
+as well.</doc>
+ <source-position filename="gst/gstelement.h" line="810"/>
+ <parameters>
+ <parameter name="elem">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="799">a #GstElement to get the name of @elem.</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="element_get_parent"
+ c:identifier="gst_element_get_parent"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="821">Get the parent of an element.</doc>
+ <source-position filename="gst/gstelement.h" line="829"/>
+ <parameters>
+ <parameter name="elem">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="823">a #GstElement to get the parent of.</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="element_set_name"
+ c:identifier="gst_element_set_name"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="812">Sets the name of the element, getting rid of the old name if there was one.</doc>
+ <source-position filename="gst/gstelement.h" line="819"/>
+ <parameters>
+ <parameter name="elem">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="814">a #GstElement to set the name of.</doc>
+ </parameter>
+ <parameter name="name">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="815">the new name</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="element_set_parent"
+ c:identifier="gst_element_set_parent"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="831">Sets the parent of an element.</doc>
+ <source-position filename="gst/gstelement.h" line="838"/>
+ <parameters>
+ <parameter name="elem">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="833">a #GstElement to set the parent of.</doc>
+ </parameter>
+ <parameter name="parent">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.h"
+ line="834">the new parent #GstObject of the element.</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function name="error_get_message" c:identifier="gst_error_get_message">
+ <doc xml:space="preserve"
+ filename="gst/gsterror.c"
+ line="286">Get a string describing the error message in the current locale.</doc>
+ <source-position filename="gst/gsterror.h" line="246"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gsterror.c"
+ line="293">a newly allocated string describing
+ the error message (in UTF-8 encoding)</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="domain" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsterror.c"
+ line="288">the GStreamer error domain this error belongs to.</doc>
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </parameter>
+ <parameter name="code" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsterror.c"
+ line="289">the error code belonging to the domain.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function-macro name="event_is_writable"
+ c:identifier="gst_event_is_writable"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.h"
+ line="304">Tests if you can safely write data into a event's structure or validly
+modify the seqnum and timestamp field.</doc>
+ <source-position filename="gst/gstevent.h" line="310"/>
+ <parameters>
+ <parameter name="ev">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.h"
+ line="306">a #GstEvent</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="event_make_writable"
+ c:identifier="gst_event_make_writable"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.h"
+ line="312">Makes a writable event from the given event. If the source event is
+already writable, this will simply return the same event. A copy will
+otherwise be made using gst_event_copy().</doc>
+ <source-position filename="gst/gstevent.h" line="322"/>
+ <parameters>
+ <parameter name="ev">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.h"
+ line="314">a #GstEvent</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function name="event_replace"
+ c:identifier="gst_event_replace"
+ moved-to="Event.replace"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.h"
+ line="324">Modifies a pointer to a #GstEvent to point to a different #GstEvent. The
+modification is done atomically (so this is useful for ensuring thread safety
+in some cases), and the reference counts are updated appropriately (the old
+event is unreffed, the new one is reffed).
+
+Either @new_event or the #GstEvent pointed to by @old_event may be %NULL.</doc>
+ <source-position filename="gst/gstevent.h" line="340"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.h"
+ line="338">%TRUE if @new_event was different from @old_event</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="old_event"
+ direction="inout"
+ caller-allocates="0"
+ transfer-ownership="full"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.h"
+ line="326">pointer to a
+ pointer to a #GstEvent to be replaced.</doc>
+ <type name="Event" c:type="GstEvent**"/>
+ </parameter>
+ <parameter name="new_event"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.h"
+ line="328">pointer to a #GstEvent that will
+ replace the event pointed to by @old_event.</doc>
+ <type name="Event" c:type="GstEvent*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="event_steal"
+ c:identifier="gst_event_steal"
+ moved-to="Event.steal"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.h"
+ line="347">Atomically replace the #GstEvent pointed to by @old_event with %NULL and
+return the original event.</doc>
+ <source-position filename="gst/gstevent.h" line="357"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.h"
+ line="355">the #GstEvent that was in @old_event</doc>
+ <type name="Event" c:type="GstEvent*"/>
+ </return-value>
+ <parameters>
+ <parameter name="old_event"
+ direction="inout"
+ caller-allocates="0"
+ transfer-ownership="full"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.h"
+ line="349">pointer to a
+ pointer to a #GstEvent to be stolen.</doc>
+ <type name="Event" c:type="GstEvent**"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="event_take"
+ c:identifier="gst_event_take"
+ moved-to="Event.take"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.h"
+ line="364">Modifies a pointer to a #GstEvent to point to a different #GstEvent. This
+function is similar to gst_event_replace() except that it takes ownership of
+@new_event.
+
+Either @new_event or the #GstEvent pointed to by @old_event may be %NULL.</doc>
+ <source-position filename="gst/gstevent.h" line="379"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.h"
+ line="377">%TRUE if @new_event was different from @old_event</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="old_event"
+ direction="inout"
+ caller-allocates="0"
+ transfer-ownership="full"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.h"
+ line="366">pointer to a
+ pointer to a #GstEvent to be stolen.</doc>
+ <type name="Event" c:type="GstEvent**"/>
+ </parameter>
+ <parameter name="new_event"
+ transfer-ownership="full"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.h"
+ line="368">pointer to a #GstEvent that will
+ replace the event pointed to by @old_event.</doc>
+ <type name="Event" c:type="GstEvent*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="event_type_get_flags"
+ c:identifier="gst_event_type_get_flags"
+ moved-to="EventType.get_flags">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="198">Gets the #GstEventTypeFlags associated with @type.</doc>
+ <source-position filename="gst/gstevent.h" line="448"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="204">a #GstEventTypeFlags.</doc>
+ <type name="EventTypeFlags" c:type="GstEventTypeFlags"/>
+ </return-value>
+ <parameters>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="200">a #GstEventType</doc>
+ <type name="EventType" c:type="GstEventType"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="event_type_get_name"
+ c:identifier="gst_event_type_get_name"
+ moved-to="EventType.get_name">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="158">Get a printable name for the given event type. Do not modify or free.</doc>
+ <source-position filename="gst/gstevent.h" line="441"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="164">a reference to the static name of the event.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="160">the event type</doc>
+ <type name="EventType" c:type="GstEventType"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="event_type_to_quark"
+ c:identifier="gst_event_type_to_quark"
+ moved-to="EventType.to_quark">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="178">Get the unique quark for the given event type.</doc>
+ <source-position filename="gst/gstevent.h" line="444"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="184">the quark associated with the event type</doc>
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </return-value>
+ <parameters>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstevent.c"
+ line="180">the event type</doc>
+ <type name="EventType" c:type="GstEventType"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="filename_to_uri"
+ c:identifier="gst_filename_to_uri"
+ throws="1">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="893">Similar to g_filename_to_uri(), but attempts to handle relative file paths
+as well. Before converting @filename into an URI, it will be prefixed by
+the current working directory if it is a relative path, and then the path
+will be canonicalised so that it doesn't contain any './' or '../' segments.
+
+On Windows @filename should be in UTF-8 encoding.</doc>
+ <source-position filename="gst/gsturi.h" line="158"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="905">newly-allocated URI string, or NULL on error. The caller must
+ free the URI string with g_free() when no longer needed.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="filename" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="895">absolute or relative file name path</doc>
+ <type name="filename" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="flow_get_name" c:identifier="gst_flow_get_name">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="226">Gets a string representing the given flow return.</doc>
+ <source-position filename="gst/gstpad.h" line="186"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="232">a static string with the name of the flow return.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="ret" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="228">a #GstFlowReturn to get the name of.</doc>
+ <type name="FlowReturn" c:type="GstFlowReturn"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="flow_to_quark" c:identifier="gst_flow_to_quark">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="248">Get the unique quark for the given GstFlowReturn.</doc>
+ <source-position filename="gst/gstpad.h" line="189"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="254">the quark associated with the flow return or 0 if an
+invalid return was specified.</doc>
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </return-value>
+ <parameters>
+ <parameter name="ret" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="250">a #GstFlowReturn to get the quark of.</doc>
+ <type name="FlowReturn" c:type="GstFlowReturn"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="format_get_by_nick"
+ c:identifier="gst_format_get_by_nick"
+ moved-to="Format.get_by_nick">
+ <doc xml:space="preserve"
+ filename="gst/gstformat.c"
+ line="172">Return the format registered with the given nick.</doc>
+ <source-position filename="gst/gstformat.h" line="108"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstformat.c"
+ line="178">The format with @nick or GST_FORMAT_UNDEFINED
+if the format was not registered.</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </return-value>
+ <parameters>
+ <parameter name="nick" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstformat.c"
+ line="174">The nick of the format</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="format_get_details"
+ c:identifier="gst_format_get_details"
+ moved-to="Format.get_details">
+ <doc xml:space="preserve"
+ filename="gst/gstformat.c"
+ line="223">Get details about the given format.</doc>
+ <source-position filename="gst/gstformat.h" line="119"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstformat.c"
+ line="229">The #GstFormatDefinition for @format or %NULL
+on failure.
+
+MT safe.</doc>
+ <type name="FormatDefinition" c:type="const GstFormatDefinition*"/>
+ </return-value>
+ <parameters>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstformat.c"
+ line="225">The format to get details of</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="format_get_name"
+ c:identifier="gst_format_get_name"
+ moved-to="Format.get_name">
+ <doc xml:space="preserve"
+ filename="gst/gstformat.c"
+ line="83">Get a printable name for the given format. Do not modify or free.</doc>
+ <source-position filename="gst/gstformat.h" line="96"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstformat.c"
+ line="89">a reference to the static name of the format
+or %NULL if the format is unknown.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstformat.c"
+ line="85">a #GstFormat</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="format_iterate_definitions"
+ c:identifier="gst_format_iterate_definitions"
+ moved-to="Format.iterate_definitions">
+ <doc xml:space="preserve"
+ filename="gst/gstformat.c"
+ line="246">Iterate all the registered formats. The format definition is read
+only.</doc>
+ <source-position filename="gst/gstformat.h" line="122"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstformat.c"
+ line="252">a GstIterator of #GstFormatDefinition.</doc>
+ <type name="Iterator" c:type="GstIterator*"/>
+ </return-value>
+ </function>
+ <function name="format_register"
+ c:identifier="gst_format_register"
+ moved-to="Format.register">
+ <doc xml:space="preserve"
+ filename="gst/gstformat.c"
+ line="129">Create a new GstFormat based on the nick or return an
+already registered format with that nick.</doc>
+ <source-position filename="gst/gstformat.h" line="104"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstformat.c"
+ line="137">A new GstFormat or an already registered format
+with the same nick.
+
+MT safe.</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </return-value>
+ <parameters>
+ <parameter name="nick" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstformat.c"
+ line="131">The nick of the new format</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="description" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstformat.c"
+ line="132">The description of the new format</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="format_to_quark"
+ c:identifier="gst_format_to_quark"
+ moved-to="Format.to_quark">
+ <doc xml:space="preserve"
+ filename="gst/gstformat.c"
+ line="106">Get the unique quark for the given format.</doc>
+ <source-position filename="gst/gstformat.h" line="99"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstformat.c"
+ line="112">the quark associated with the format or 0 if the format
+is unknown.</doc>
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </return-value>
+ <parameters>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstformat.c"
+ line="108">a #GstFormat</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="formats_contains" c:identifier="gst_formats_contains">
+ <doc xml:space="preserve"
+ filename="gst/gstformat.c"
+ line="198">See if the given format is inside the format array.</doc>
+ <source-position filename="gst/gstformat.h" line="113"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstformat.c"
+ line="205">%TRUE if the format is found inside the array</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="formats" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstformat.c"
+ line="200">The format array to search</doc>
+ <array c:type="const GstFormat*">
+ <type name="Format" c:type="GstFormat"/>
+ </array>
+ </parameter>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstformat.c"
+ line="201">the format to find</doc>
+ <type name="Format" c:type="GstFormat"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function-macro name="gdouble_to_guint64"
+ c:identifier="gst_gdouble_to_guint64"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.h"
+ line="68">Convert @value to a guint64.</doc>
+ <source-position filename="gst/gstutils.h" line="77"/>
+ <parameters>
+ <parameter name="value">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.h"
+ line="70">the #gdouble value to convert</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function name="get_main_executable_path"
+ c:identifier="gst_get_main_executable_path"
+ version="1.14">
+ <doc xml:space="preserve"
+ filename="gst/gst.c"
+ line="367">This helper is mostly helpful for plugins that need to
+inspect the folder of the main executable to determine
+their set of features.
+
+When a plugin is initialized from the gst-plugin-scanner
+external process, the returned path will be the same as from the
+parent process.</doc>
+ <source-position filename="gst/gst.h" line="137"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gst.c"
+ line="378">The path of the executable that
+ initialized GStreamer, or %NULL if it could not be determined.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ </function>
+ <docsection name="gst">
+ <doc xml:space="preserve"
+ filename="gst/gst.c"
+ line="23">GStreamer is a framework for constructing graphs of various filters
+(termed elements here) that will handle streaming media. Any discrete
+(packetizable) media type is supported, with provisions for automatically
+determining source type. Formatting/framing information is provided with
+a powerful negotiation framework. Plugins are heavily used to provide for
+all elements, allowing one to construct plugins outside of the GST
+library, even released binary-only if license require (please don't).
+GStreamer covers a wide range of use cases including: playback, recording,
+editing, serving streams, voice over ip and video calls.
+
+The `GStreamer` library should be initialized with
+gst_init() before it can be used. You should pass pointers to the main argc
+and argv variables so that GStreamer can process its own command line
+options, as shown in the following example.
+
+## Initializing the gstreamer library
+
+|[ &lt;!-- language="C" --&gt;
+int
+main (int argc, char *argv[])
+{
+ // initialize the GStreamer library
+ gst_init (&amp;amp;argc, &amp;amp;argv);
+ ...
+}
+]|
+
+It's allowed to pass two %NULL pointers to gst_init() in case you don't want
+to pass the command line args to GStreamer.
+
+You can also use GOption to initialize your own parameters as shown in
+the next code fragment:
+
+## Initializing own parameters when initializing gstreamer
+|[ &lt;!-- language="C" --&gt;
+static gboolean stats = FALSE;
+...
+int
+main (int argc, char *argv[])
+{
+ GOptionEntry options[] = {
+ {"tags", 't', 0, G_OPTION_ARG_NONE, &amp;amp;tags,
+ N_("Output tags (also known as metadata)"), NULL},
+ {NULL}
+ };
+ ctx = g_option_context_new ("[ADDITIONAL ARGUMENTS]");
+ g_option_context_add_main_entries (ctx, options, GETTEXT_PACKAGE);
+ g_option_context_add_group (ctx, gst_init_get_option_group ());
+ if (!g_option_context_parse (ctx, &amp;amp;argc, &amp;amp;argv, &amp;amp;err)) {
+ g_print ("Error initializing: &amp;percnt;s\n", GST_STR_NULL (err-&gt;message));
+ exit (1);
+ }
+ g_option_context_free (ctx);
+...
+}
+]|
+
+Use gst_version() to query the library version at runtime or use the
+GST_VERSION_* macros to find the version at compile time. Optionally
+gst_version_string() returns a printable string.
+
+The gst_deinit() call is used to clean up all internal resources used
+by GStreamer. It is mostly used in unit tests to check for leaks.</doc>
+ </docsection>
+ <docsection name="gstcompat">
+ <doc xml:space="preserve"
+ filename="gst/gstcompat.h"
+ line="26">Please do not use these in new code.
+These symbols are only available by defining GST_DISABLE_DEPRECATED.
+This can be done in CFLAGS for compiling old code.</doc>
+ </docsection>
+ <docsection name="gsterror">
+ <doc xml:space="preserve"
+ filename="gst/gsterror.c"
+ line="20">GStreamer elements can throw non-fatal warnings and fatal errors.
+Higher-level elements and applications can programmatically filter
+the ones they are interested in or can recover from,
+and have a default handler handle the rest of them.
+
+The rest of this section will use the term "error"
+to mean both (non-fatal) warnings and (fatal) errors; they are treated
+similarly.
+
+Errors from elements are the combination of a #GError and a debug string.
+The #GError contains:
+- a domain type: CORE, LIBRARY, RESOURCE or STREAM
+- a code: an enum value specific to the domain
+- a translated, human-readable message
+- a non-translated additional debug string, which also contains
+- file and line information
+
+Elements do not have the context required to decide what to do with
+errors. As such, they should only inform about errors, and stop their
+processing. In short, an element doesn't know what it is being used for.
+
+It is the application or compound element using the given element that
+has more context about the use of the element. Errors can be received by
+listening to the #GstBus of the element/pipeline for #GstMessage objects with
+the type %GST_MESSAGE_ERROR or %GST_MESSAGE_WARNING. The thrown errors should
+be inspected, and filtered if appropriate.
+
+An application is expected to, by default, present the user with a
+dialog box (or an equivalent) showing the error message. The dialog
+should also allow a way to get at the additional debug information,
+so the user can provide bug reporting information.
+
+A compound element is expected to forward errors by default higher up
+the hierarchy; this is done by default in the same way as for other types
+of #GstMessage.
+
+When applications or compound elements trigger errors that they can
+recover from, they can filter out these errors and take appropriate action.
+For example, an application that gets an error from xvimagesink
+that indicates all XVideo ports are taken, the application can attempt
+to use another sink instead.
+
+Elements throw errors using the #GST_ELEMENT_ERROR convenience macro:
+
+## Throwing an error
+
+ |[
+ GST_ELEMENT_ERROR (src, RESOURCE, NOT_FOUND,
+ (_("No file name specified for reading.")), (NULL));
+ ]|
+
+Things to keep in mind:
+
+ * Don't go off inventing new error codes. The ones
+ currently provided should be enough. If you find your type of error
+ does not fit the current codes, you should use FAILED.
+ * Don't provide a message if the default one suffices.
+ this keeps messages more uniform. Use (%NULL) - not forgetting the
+ parentheses.
+ * If you do supply a custom message, it should be
+ marked for translation. The message should start with a capital
+ and end with a period. The message should describe the error in short,
+ in a human-readable form, and without any complex technical terms.
+ A user interface will present this message as the first thing a user
+ sees. Details, technical info, ... should go in the debug string.
+
+ * The debug string can be as you like. Again, use (%NULL)
+ if there's nothing to add - file and line number will still be
+ passed. #GST_ERROR_SYSTEM can be used as a shortcut to give
+ debug information on a system call error.</doc>
+ </docsection>
+ <docsection name="gstformat">
+ <doc xml:space="preserve"
+ filename="gst/gstformat.c"
+ line="24">GstFormats functions are used to register a new format to the gstreamer
+core. Formats can be used to perform seeking or conversions/query
+operations.</doc>
+ </docsection>
+ <docsection name="gstinfo">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="25">GStreamer's debugging subsystem is an easy way to get information about what
+the application is doing. It is not meant for programming errors. Use GLib
+methods (g_warning and friends) for that.
+
+The debugging subsystem works only after GStreamer has been initialized
+- for example by calling gst_init().
+
+The debugging subsystem is used to log informational messages while the
+application runs. Each messages has some properties attached to it. Among
+these properties are the debugging category, the severity (called "level"
+here) and an optional #GObject it belongs to. Each of these messages is sent
+to all registered debugging handlers, which then handle the messages.
+GStreamer attaches a default handler on startup, which outputs requested
+messages to stderr.
+
+Messages are output by using shortcut macros like #GST_DEBUG,
+#GST_CAT_ERROR_OBJECT or similar. These all expand to calling gst_debug_log()
+with the right parameters.
+The only thing a developer will probably want to do is define his own
+categories. This is easily done with 3 lines. At the top of your code,
+declare
+the variables and set the default category.
+|[&lt;!-- language="C" --&gt;
+ GST_DEBUG_CATEGORY_STATIC (my_category); // define category (statically)
+ #define GST_CAT_DEFAULT my_category // set as default
+]|
+After that you only need to initialize the category.
+|[&lt;!-- language="C" --&gt;
+ GST_DEBUG_CATEGORY_INIT (my_category, "my category",
+ 0, "This is my very own");
+]|
+Initialization must be done before the category is used first.
+Plugins do this
+in their plugin_init function, libraries and applications should do that
+during their initialization.
+
+The whole debugging subsystem can be disabled at build time with passing the
+--disable-gst-debug switch to configure. If this is done, every function,
+macro and even structs described in this file evaluate to default values or
+nothing at all.
+So don't take addresses of these functions or use other tricks.
+If you must do that for some reason, there is still an option.
+If the debugging
+subsystem was compiled out, GST_DISABLE_GST_DEBUG is defined in
+&amp;lt;gst/gst.h&amp;gt;,
+so you can check that before doing your trick.
+Disabling the debugging subsystem will give you a slight (read: unnoticeable)
+speed increase and will reduce the size of your compiled code. The GStreamer
+library itself becomes around 10% smaller.
+
+Please note that there are naming conventions for the names of debugging
+categories. These are explained at GST_DEBUG_CATEGORY_INIT().</doc>
+ </docsection>
+ <docsection name="gstparamspec">
+ <doc xml:space="preserve"
+ filename="gst/gstparamspecs.c"
+ line="19">GParamSpec implementations specific to GStreamer.</doc>
+ </docsection>
+ <docsection name="gstparse">
+ <doc xml:space="preserve"
+ filename="gst/gstparse.c"
+ line="25">These function allow to create a pipeline based on the syntax used in the
+gst-launch-1.0 utility (see man-page for syntax documentation).
+
+Please note that these functions take several measures to create
+somewhat dynamic pipelines. Due to that such pipelines are not always
+reusable (set the state to NULL and back to PLAYING).</doc>
+ </docsection>
+ <docsection name="gstprotection">
+ <doc xml:space="preserve"
+ filename="gst/gstprotection.c"
+ line="20">The GstProtectionMeta class enables the information needed to decrypt a
+#GstBuffer to be attached to that buffer.
+
+Typically, a demuxer element would attach GstProtectionMeta objects
+to the buffers that it pushes downstream. The demuxer would parse the
+protection information for a video/audio frame from its input data and use
+this information to populate the #GstStructure @info field,
+which is then encapsulated in a GstProtectionMeta object and attached to
+the corresponding output buffer using the gst_buffer_add_protection_meta()
+function. The information in this attached GstProtectionMeta would be
+used by a downstream decrypter element to recover the original unencrypted
+frame.</doc>
+ </docsection>
+ <docsection name="gststreams">
+ <doc xml:space="preserve"
+ filename="gst/gststreams.c"
+ line="27">A #GstStream is a high-level object defining a stream of data which is, or
+can be, present in a #GstPipeline.
+
+It is defined by a unique identifier, a "Stream ID". A #GstStream does not
+automatically imply the stream is present within a pipeline or element.
+
+Any element that can introduce new streams in a pipeline should create the
+appropriate #GstStream object, and can convey that object via the
+%GST_EVENT_STREAM_START event and/or the #GstStreamCollection.
+
+Elements that do not modify the nature of the stream can add extra information
+on it (such as enrich the #GstCaps, or #GstTagList). This is typically done
+by parsing elements.</doc>
+ </docsection>
+ <docsection name="gstvalue">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="20">GValue implementations specific to GStreamer.
+
+Note that operations on the same #GValue from multiple threads may lead to
+undefined behaviour.</doc>
+ </docsection>
+ <docsection name="gstversion">
+ <doc xml:space="preserve"
+ filename="gst/gstversion.h"
+ line="28">Use the GST_VERSION_* macros e.g. when defining own plugins. The GStreamer
+runtime checks if these plugin and core version match and refuses to use a
+plugin compiled against a different version of GStreamer.
+You can also use the macros to keep the GStreamer version information in
+your application.
+
+Use the gst_version() function if you want to know which version of
+GStreamer you are currently linked against.
+
+The version macros get defined by including "gst/gst.h".</doc>
+ </docsection>
+ <function-macro name="guint64_to_gdouble"
+ c:identifier="gst_guint64_to_gdouble"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.h"
+ line="59">Convert @value to a gdouble.</doc>
+ <source-position filename="gst/gstutils.h" line="78"/>
+ <parameters>
+ <parameter name="value">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.h"
+ line="61">the #guint64 value to convert</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function name="info_strdup_printf"
+ c:identifier="gst_info_strdup_printf"
+ version="1.8"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="2578">Allocates, fills and returns a 0-terminated string from the printf style
+@format string and corresponding arguments.
+
+See gst_info_vasprintf() for when this function is required.
+
+Free with g_free().</doc>
+ <source-position filename="gst/gstinfo.h" line="525"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="2590">a newly allocated null terminated string or %NULL on any error</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="2580">a printf style format string</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="..." transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="2581">the printf arguments for @format</doc>
+ <varargs/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="info_strdup_vprintf"
+ c:identifier="gst_info_strdup_vprintf"
+ version="1.8"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="2551">Allocates, fills and returns a null terminated string from the printf style
+@format string and @args.
+
+See gst_info_vasprintf() for when this function is required.
+
+Free with g_free().</doc>
+ <source-position filename="gst/gstinfo.h" line="522"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="2563">a newly allocated null terminated string or %NULL on any error</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="2553">a printf style format string</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="args" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="2554">the va_list of printf arguments for @format</doc>
+ <type name="va_list" c:type="va_list"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="info_vasprintf"
+ c:identifier="gst_info_vasprintf"
+ version="1.8"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="2522">Allocates and fills a string large enough (including the terminating null
+byte) to hold the specified printf style @format and @args.
+
+This function deals with the GStreamer specific printf specifiers
+#GST_PTR_FORMAT and #GST_SEGMENT_FORMAT. If you do not have these specifiers
+in your @format string, you do not need to use this function and can use
+alternatives such as g_vasprintf().
+
+Free @result with g_free().</doc>
+ <source-position filename="gst/gstinfo.h" line="518"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="2538">the length of the string allocated into @result or -1 on any error</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <parameter name="result"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="2524">the resulting string</doc>
+ <type name="utf8" c:type="gchar**"/>
+ </parameter>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="2525">a printf style format string</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="args" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="2526">the va_list of printf arguments for @format</doc>
+ <type name="va_list" c:type="va_list"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="init" c:identifier="gst_init">
+ <doc xml:space="preserve"
+ filename="gst/gst.c"
+ line="442">Initializes the GStreamer library, setting up internal path lists,
+registering built-in elements, and loading standard plugins.
+
+Unless the plugin registry is disabled at compile time, the registry will be
+loaded. By default this will also check if the registry cache needs to be
+updated and rescan all plugins if needed. See gst_update_registry() for
+details and section
+&lt;link linkend="gst-running"&gt;Running GStreamer Applications&lt;/link&gt;
+for how to disable automatic registry updates.
+
+&gt; This function will terminate your program if it was unable to initialize
+&gt; GStreamer for some reason. If you want your program to fall back,
+&gt; use gst_init_check() instead.
+
+WARNING: This function does not work in the same way as corresponding
+functions in other glib-style libraries, such as gtk_init\(\). In
+particular, unknown command line options cause this function to
+abort program execution.</doc>
+ <source-position filename="gst/gst.h" line="101"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="argc"
+ direction="inout"
+ caller-allocates="0"
+ transfer-ownership="full"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gst.c"
+ line="444">pointer to application's argc</doc>
+ <type name="gint" c:type="int*"/>
+ </parameter>
+ <parameter name="argv"
+ direction="inout"
+ caller-allocates="0"
+ transfer-ownership="full"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gst.c"
+ line="445">pointer to application's argv</doc>
+ <array length="0" zero-terminated="0" c:type="char***">
+ <type name="utf8" c:type="char**"/>
+ </array>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="init_check" c:identifier="gst_init_check" throws="1">
+ <doc xml:space="preserve"
+ filename="gst/gst.c"
+ line="389">Initializes the GStreamer library, setting up internal path lists,
+registering built-in elements, and loading standard plugins.
+
+This function will return %FALSE if GStreamer could not be initialized
+for some reason. If you want your program to fail fatally,
+use gst_init() instead.</doc>
+ <source-position filename="gst/gst.h" line="104"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gst.c"
+ line="402">%TRUE if GStreamer could be initialized.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="argc"
+ direction="inout"
+ caller-allocates="0"
+ transfer-ownership="full"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gst.c"
+ line="391">pointer to application's argc</doc>
+ <type name="gint" c:type="int*"/>
+ </parameter>
+ <parameter name="argv"
+ direction="inout"
+ caller-allocates="0"
+ transfer-ownership="full"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gst.c"
+ line="392">pointer to application's argv</doc>
+ <array length="0" zero-terminated="0" c:type="char***">
+ <type name="utf8" c:type="char**"/>
+ </array>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="init_get_option_group"
+ c:identifier="gst_init_get_option_group"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gst.c"
+ line="225">Returns a #GOptionGroup with GStreamer's argument specifications. The
+group is set up to use standard GOption callbacks, so when using this
+group in combination with GOption parsing methods, all argument parsing
+and initialization is automated.
+
+This function is useful if you want to integrate GStreamer with other
+libraries that use GOption (see g_option_context_add_group() ).
+
+If you use this function, you should make sure you initialise the GLib
+threading system as one of the very first things in your program
+(see the example at the beginning of this section).</doc>
+ <source-position filename="gst/gst.h" line="110"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gst.c"
+ line="240">a pointer to GStreamer's option group.</doc>
+ <type name="GLib.OptionGroup" c:type="GOptionGroup*"/>
+ </return-value>
+ </function>
+ <function name="is_caps_features" c:identifier="gst_is_caps_features">
+ <doc xml:space="preserve"
+ filename="gst/gstcapsfeatures.c"
+ line="121">Checks if @obj is a #GstCapsFeatures</doc>
+ <source-position filename="gst/gstcapsfeatures.h" line="52"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstcapsfeatures.c"
+ line="126">%TRUE if @obj is a #GstCapsFeatures %FALSE otherwise</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="obj"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <type name="gpointer" c:type="gconstpointer"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="is_initialized" c:identifier="gst_is_initialized">
+ <doc xml:space="preserve"
+ filename="gst/gst.c"
+ line="481">Use this function to check if GStreamer has been initialized with gst_init()
+or gst_init_check().</doc>
+ <source-position filename="gst/gst.h" line="107"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gst.c"
+ line="487">%TRUE if initialization has been done, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </function>
+ <function name="library_error_quark"
+ c:identifier="gst_library_error_quark"
+ moved-to="LibraryError.quark">
+ <attribute name="doc.skip" value="true"/>
+ <return-value transfer-ownership="none">
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </return-value>
+ </function>
+ <function name="make_element_message_details"
+ c:identifier="gst_make_element_message_details"
+ version="1.10"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="3843">Create a #GstStructure to be used with #gst_element_message_full_with_details</doc>
+ <source-position filename="gst/gstelement.h" line="351"/>
+ <return-value transfer-ownership="full">
+ <type name="Structure" c:type="GstStructure*"/>
+ </return-value>
+ <parameters>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="3845">Name of the first field to set</doc>
+ <type name="utf8" c:type="const char*"/>
+ </parameter>
+ <parameter name="..." transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstelement.c"
+ line="3846">variable arguments in the same form as #GstStructure</doc>
+ <varargs/>
+ </parameter>
+ </parameters>
+ </function>
+ <function-macro name="memory_is_writable"
+ c:identifier="gst_memory_is_writable"
+ introspectable="0">
+ <source-position filename="gst/gstmemory.h" line="365"/>
+ <parameters>
+ <parameter name="m">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="memory_lock"
+ c:identifier="gst_memory_lock"
+ introspectable="0">
+ <source-position filename="gst/gstmemory.h" line="363"/>
+ <parameters>
+ <parameter name="m">
+ </parameter>
+ <parameter name="f">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="memory_make_writable"
+ c:identifier="gst_memory_make_writable"
+ introspectable="0">
+ <source-position filename="gst/gstmemory.h" line="366"/>
+ <parameters>
+ <parameter name="m">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="memory_unlock"
+ c:identifier="gst_memory_unlock"
+ introspectable="0">
+ <source-position filename="gst/gstmemory.h" line="364"/>
+ <parameters>
+ <parameter name="m">
+ </parameter>
+ <parameter name="f">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="message_is_writable"
+ c:identifier="gst_message_is_writable"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.h"
+ line="430">Tests if you can safely write into a message's structure or validly
+modify the seqnum and timestamp fields.</doc>
+ <source-position filename="gst/gstmessage.h" line="437"/>
+ <parameters>
+ <parameter name="msg">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.h"
+ line="432">a #GstMessage</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="message_make_writable"
+ c:identifier="gst_message_make_writable"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.h"
+ line="438">Checks if a message is writable. If not, a writable copy is made and
+returned.</doc>
+ <source-position filename="gst/gstmessage.h" line="449"/>
+ <parameters>
+ <parameter name="msg">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.h"
+ line="440">the message to make writable</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="message_new_duration"
+ c:identifier="gst_message_new_duration"
+ introspectable="0">
+ <source-position filename="gst/gstcompat.h" line="87"/>
+ <parameters>
+ <parameter name="src">
+ </parameter>
+ <parameter name="fmt">
+ </parameter>
+ <parameter name="dur">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="message_parse_duration"
+ c:identifier="gst_message_parse_duration"
+ introspectable="0">
+ <source-position filename="gst/gstcompat.h" line="89"/>
+ <parameters>
+ <parameter name="msg">
+ </parameter>
+ <parameter name="fmt">
+ </parameter>
+ <parameter name="dur">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function name="message_replace"
+ c:identifier="gst_message_replace"
+ moved-to="Message.replace"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.h"
+ line="450">Modifies a pointer to a #GstMessage to point to a different #GstMessage. The
+modification is done atomically (so this is useful for ensuring thread safety
+in some cases), and the reference counts are updated appropriately (the old
+message is unreffed, the new one is reffed).
+
+Either @new_message or the #GstMessage pointed to by @old_message may be %NULL.</doc>
+ <source-position filename="gst/gstmessage.h" line="466"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.h"
+ line="464">%TRUE if @new_message was different from @old_message</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="old_message"
+ direction="inout"
+ caller-allocates="0"
+ transfer-ownership="full"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.h"
+ line="452">pointer to a
+ pointer to a #GstMessage to be replaced.</doc>
+ <type name="Message" c:type="GstMessage**"/>
+ </parameter>
+ <parameter name="new_message"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.h"
+ line="454">pointer to a #GstMessage that will
+ replace the message pointed to by @old_message.</doc>
+ <type name="Message" c:type="GstMessage*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="message_type_get_name"
+ c:identifier="gst_message_type_get_name"
+ moved-to="MessageType.get_name">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="140">Get a printable name for the given message type. Do not modify or free.</doc>
+ <source-position filename="gst/gstmessage.h" line="358"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="146">a reference to the static name of the message.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="142">the message type</doc>
+ <type name="MessageType" c:type="GstMessageType"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="message_type_to_quark"
+ c:identifier="gst_message_type_to_quark"
+ moved-to="MessageType.to_quark">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="160">Get the unique quark for the given message type.</doc>
+ <source-position filename="gst/gstmessage.h" line="361"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="166">the quark associated with the message type</doc>
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </return-value>
+ <parameters>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmessage.c"
+ line="162">the message type</doc>
+ <type name="MessageType" c:type="GstMessageType"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="meta_api_type_get_tags"
+ c:identifier="gst_meta_api_type_get_tags"
+ moved-to="Meta.api_type_get_tags"
+ version="1.2">
+ <source-position filename="gst/gstmeta.h" line="273"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.c"
+ line="335">an array of tags as strings.</doc>
+ <array c:type="const gchar* const*">
+ <type name="utf8"/>
+ </array>
+ </return-value>
+ <parameters>
+ <parameter name="api" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.c"
+ line="333">an API</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="meta_api_type_has_tag"
+ c:identifier="gst_meta_api_type_has_tag"
+ moved-to="Meta.api_type_has_tag">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.c"
+ line="313">Check if @api was registered with @tag.</doc>
+ <source-position filename="gst/gstmeta.h" line="246"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.c"
+ line="320">%TRUE if @api was registered with @tag.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="api" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.c"
+ line="315">an API</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.c"
+ line="316">the tag to check</doc>
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="meta_api_type_register"
+ c:identifier="gst_meta_api_type_register"
+ moved-to="Meta.api_type_register">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.c"
+ line="115">Register and return a GType for the @api and associate it with
+@tags.</doc>
+ <source-position filename="gst/gstmeta.h" line="243"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.c"
+ line="123">a unique GType for @api.</doc>
+ <type name="GType" c:type="GType"/>
+ </return-value>
+ <parameters>
+ <parameter name="api" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.c"
+ line="117">an API to register</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="tags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.c"
+ line="118">tags for @api</doc>
+ <array c:type="const gchar**">
+ <type name="utf8" c:type="gchar*"/>
+ </array>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="meta_get_info"
+ c:identifier="gst_meta_get_info"
+ moved-to="Meta.get_info">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.c"
+ line="415">Lookup a previously registered meta info structure by its implementation name
+@impl.</doc>
+ <source-position filename="gst/gstmeta.h" line="270"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.c"
+ line="422">a #GstMetaInfo with @impl, or
+%NULL when no such metainfo exists.</doc>
+ <type name="MetaInfo" c:type="const GstMetaInfo*"/>
+ </return-value>
+ <parameters>
+ <parameter name="impl" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.c"
+ line="417">the name</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="meta_register"
+ c:identifier="gst_meta_register"
+ moved-to="Meta.register">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.c"
+ line="353">Register a new #GstMeta implementation.
+
+The same @info can be retrieved later with gst_meta_get_info() by using
+@impl as the key.</doc>
+ <source-position filename="gst/gstmeta.h" line="249"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.c"
+ line="367">a #GstMetaInfo that can be used to
+access metadata.</doc>
+ <type name="MetaInfo" c:type="const GstMetaInfo*"/>
+ </return-value>
+ <parameters>
+ <parameter name="api" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.c"
+ line="355">the type of the #GstMeta API</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ <parameter name="impl" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.c"
+ line="356">the name of the #GstMeta implementation</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.c"
+ line="357">the size of the #GstMeta structure</doc>
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ <parameter name="init_func" transfer-ownership="none" scope="async">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.c"
+ line="358">a #GstMetaInitFunction</doc>
+ <type name="MetaInitFunction" c:type="GstMetaInitFunction"/>
+ </parameter>
+ <parameter name="free_func" transfer-ownership="none" scope="async">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.c"
+ line="359">a #GstMetaFreeFunction</doc>
+ <type name="MetaFreeFunction" c:type="GstMetaFreeFunction"/>
+ </parameter>
+ <parameter name="transform_func"
+ transfer-ownership="none"
+ scope="async">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.c"
+ line="360">a #GstMetaTransformFunction</doc>
+ <type name="MetaTransformFunction"
+ c:type="GstMetaTransformFunction"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="meta_register_custom"
+ c:identifier="gst_meta_register_custom"
+ moved-to="Meta.register_custom"
+ version="1.20">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.c"
+ line="236">Register a new custom #GstMeta implementation, backed by an opaque
+structure holding a #GstStructure.
+
+The registered info can be retrieved later with gst_meta_get_info() by using
+@name as the key.
+
+The backing #GstStructure can be retrieved with
+gst_custom_meta_get_structure(), its mutability is conditioned by the
+writability of the buffer the meta is attached to.
+
+When @transform_func is %NULL, the meta and its backing #GstStructure
+will always be copied when the transform operation is copy, other operations
+are discarded, copy regions are ignored.</doc>
+ <source-position filename="gst/gstmeta.h" line="256"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.c"
+ line="258">a #GstMetaInfo that can be used to
+access metadata.</doc>
+ <type name="MetaInfo" c:type="const GstMetaInfo*"/>
+ </return-value>
+ <parameters>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.c"
+ line="238">the name of the #GstMeta implementation</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="tags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.c"
+ line="239">tags for @api</doc>
+ <array c:type="const gchar**">
+ <type name="utf8" c:type="gchar*"/>
+ </array>
+ </parameter>
+ <parameter name="transform_func"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1"
+ scope="notified"
+ closure="3"
+ destroy="4">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.c"
+ line="240">a #GstMetaTransformFunction</doc>
+ <type name="CustomMetaTransformFunction"
+ c:type="GstCustomMetaTransformFunction"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.c"
+ line="241">user data passed to @transform_func</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="destroy_data" transfer-ownership="none" scope="async">
+ <doc xml:space="preserve"
+ filename="gst/gstmeta.c"
+ line="242">#GDestroyNotify for user_data</doc>
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="mini_object_replace"
+ c:identifier="gst_mini_object_replace"
+ moved-to="MiniObject.replace">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.c"
+ line="700">Atomically modifies a pointer to point to a new mini-object.
+The reference count of @olddata is decreased and the reference count of
+@newdata is increased.
+
+Either @newdata and the value pointed to by @olddata may be %NULL.</doc>
+ <source-position filename="gst/gstminiobject.h" line="285"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.c"
+ line="712">%TRUE if @newdata was different from @olddata</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="olddata"
+ direction="inout"
+ caller-allocates="0"
+ transfer-ownership="full"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.c"
+ line="702">pointer to a pointer to a
+ mini-object to be replaced</doc>
+ <type name="MiniObject" c:type="GstMiniObject**"/>
+ </parameter>
+ <parameter name="newdata"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.c"
+ line="704">pointer to new mini-object</doc>
+ <type name="MiniObject" c:type="GstMiniObject*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="mini_object_steal"
+ c:identifier="gst_mini_object_steal"
+ moved-to="MiniObject.steal"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.c"
+ line="746">Replace the current #GstMiniObject pointer to by @olddata with %NULL and
+return the old value.</doc>
+ <source-position filename="gst/gstminiobject.h" line="291"/>
+ <return-value nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.c"
+ line="754">the #GstMiniObject at @oldata</doc>
+ <type name="MiniObject" c:type="GstMiniObject*"/>
+ </return-value>
+ <parameters>
+ <parameter name="olddata"
+ direction="inout"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.c"
+ line="748">pointer to a pointer to a mini-object to
+ be stolen</doc>
+ <type name="MiniObject" c:type="GstMiniObject**"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="mini_object_take"
+ c:identifier="gst_mini_object_take"
+ moved-to="MiniObject.take">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.c"
+ line="776">Modifies a pointer to point to a new mini-object. The modification
+is done atomically. This version is similar to gst_mini_object_replace()
+except that it does not increase the refcount of @newdata and thus
+takes ownership of @newdata.
+
+Either @newdata and the value pointed to by @olddata may be %NULL.</doc>
+ <source-position filename="gst/gstminiobject.h" line="288"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.c"
+ line="789">%TRUE if @newdata was different from @olddata</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="olddata"
+ direction="inout"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.c"
+ line="778">pointer to a pointer to a mini-object to
+ be replaced</doc>
+ <type name="MiniObject" c:type="GstMiniObject**"/>
+ </parameter>
+ <parameter name="newdata" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstminiobject.c"
+ line="780">pointer to new mini-object</doc>
+ <type name="MiniObject" c:type="GstMiniObject*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function-macro name="pad_get_caps_reffed"
+ c:identifier="gst_pad_get_caps_reffed"
+ introspectable="0">
+ <source-position filename="gst/gstcompat.h" line="79"/>
+ <parameters>
+ <parameter name="p">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="pad_get_name"
+ c:identifier="gst_pad_get_name"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="1294">Get a copy of the name of the pad. g_free() after usage.
+
+MT safe.</doc>
+ <source-position filename="gst/gstpad.h" line="1302"/>
+ <parameters>
+ <parameter name="pad">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="1296">the pad to get the name from</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="pad_get_parent"
+ c:identifier="gst_pad_get_parent"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="1303">Get the parent of @pad. This function increases the refcount
+of the parent object so you should gst_object_unref() it after usage.
+Can return %NULL if the pad did not have a parent.
+
+MT safe.</doc>
+ <source-position filename="gst/gstpad.h" line="1315"/>
+ <parameters>
+ <parameter name="pad">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.h"
+ line="1305">the pad to get the parent of</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function name="pad_mode_get_name"
+ c:identifier="gst_pad_mode_get_name"
+ moved-to="PadMode.get_name">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="944">Return the name of a pad mode, for use in debug messages mostly.</doc>
+ <source-position filename="gst/gstpad.h" line="67"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="950">short mnemonic for pad mode @mode</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="mode" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="946">the pad mode</doc>
+ <type name="PadMode" c:type="GstPadMode"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function-macro name="pad_peer_get_caps_reffed"
+ c:identifier="gst_pad_peer_get_caps_reffed"
+ introspectable="0">
+ <source-position filename="gst/gstcompat.h" line="80"/>
+ <parameters>
+ <parameter name="p">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="pad_set_activate_function"
+ c:identifier="gst_pad_set_activate_function"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="1698">Calls gst_pad_set_activate_function_full() with %NULL for the user_data and
+notify.</doc>
+ <source-position filename="gst/gstpad.h" line="1412"/>
+ <parameters>
+ <parameter name="p">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="1700">a #GstPad.</doc>
+ </parameter>
+ <parameter name="f">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="1701">the #GstPadActivateFunction to set.</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="pad_set_activatemode_function"
+ c:identifier="gst_pad_set_activatemode_function"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="1735">Calls gst_pad_set_activatemode_function_full() with %NULL for the user_data and
+notify.</doc>
+ <source-position filename="gst/gstpad.h" line="1413"/>
+ <parameters>
+ <parameter name="p">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="1737">a #GstPad.</doc>
+ </parameter>
+ <parameter name="f">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="1738">the #GstPadActivateModeFunction to set.</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="pad_set_chain_function"
+ c:identifier="gst_pad_set_chain_function"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="1770">Calls gst_pad_set_chain_function_full() with %NULL for the user_data and
+notify.</doc>
+ <source-position filename="gst/gstpad.h" line="1414"/>
+ <parameters>
+ <parameter name="p">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="1772">a sink #GstPad.</doc>
+ </parameter>
+ <parameter name="f">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="1773">the #GstPadChainFunction to set.</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="pad_set_chain_list_function"
+ c:identifier="gst_pad_set_chain_list_function"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="1805">Calls gst_pad_set_chain_list_function_full() with %NULL for the user_data and
+notify.</doc>
+ <source-position filename="gst/gstpad.h" line="1415"/>
+ <parameters>
+ <parameter name="p">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="1807">a sink #GstPad.</doc>
+ </parameter>
+ <parameter name="f">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="1808">the #GstPadChainListFunction to set.</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="pad_set_event_full_function"
+ c:identifier="gst_pad_set_event_full_function"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="1922">Calls gst_pad_set_event_full_function_full() with %NULL for the user_data and
+notify.</doc>
+ <source-position filename="gst/gstpad.h" line="1418"/>
+ <parameters>
+ <parameter name="p">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="1924">a #GstPad of either direction.</doc>
+ </parameter>
+ <parameter name="f">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="1925">the #GstPadEventFullFunction to set.</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="pad_set_event_function"
+ c:identifier="gst_pad_set_event_function"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="1878">Calls gst_pad_set_event_function_full() with %NULL for the user_data and
+notify.</doc>
+ <source-position filename="gst/gstpad.h" line="1417"/>
+ <parameters>
+ <parameter name="p">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="1880">a #GstPad of either direction.</doc>
+ </parameter>
+ <parameter name="f">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="1881">the #GstPadEventFunction to set.</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="pad_set_getrange_function"
+ c:identifier="gst_pad_set_getrange_function"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="1842">Calls gst_pad_set_getrange_function_full() with %NULL for the user_data and
+notify.</doc>
+ <source-position filename="gst/gstpad.h" line="1416"/>
+ <parameters>
+ <parameter name="p">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="1844">a source #GstPad.</doc>
+ </parameter>
+ <parameter name="f">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="1845">the #GstPadGetRangeFunction to set.</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="pad_set_iterate_internal_links_function"
+ c:identifier="gst_pad_set_iterate_internal_links_function"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="1991">Calls gst_pad_set_iterate_internal_links_function_full() with %NULL
+for the user_data and notify.</doc>
+ <source-position filename="gst/gstpad.h" line="1540"/>
+ <parameters>
+ <parameter name="p">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="1993">a #GstPad of either direction.</doc>
+ </parameter>
+ <parameter name="f">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="1994">the #GstPadIterIntLinkFunction to set.</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="pad_set_link_function"
+ c:identifier="gst_pad_set_link_function"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="2025">Calls gst_pad_set_link_function_full() with %NULL
+for the user_data and notify.</doc>
+ <source-position filename="gst/gstpad.h" line="1433"/>
+ <parameters>
+ <parameter name="p">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="2027">a #GstPad.</doc>
+ </parameter>
+ <parameter name="f">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="2028">the #GstPadLinkFunction to set.</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="pad_set_query_function"
+ c:identifier="gst_pad_set_query_function"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="1958">Calls gst_pad_set_query_function_full() with %NULL for the user_data and
+notify.</doc>
+ <source-position filename="gst/gstpad.h" line="1561"/>
+ <parameters>
+ <parameter name="p">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="1960">a #GstPad of either direction.</doc>
+ </parameter>
+ <parameter name="f">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="1961">the #GstPadQueryFunction to set.</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="pad_set_unlink_function"
+ c:identifier="gst_pad_set_unlink_function"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="2068">Calls gst_pad_set_unlink_function_full() with %NULL
+for the user_data and notify.</doc>
+ <source-position filename="gst/gstpad.h" line="1434"/>
+ <parameters>
+ <parameter name="p">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="2070">a #GstPad.</doc>
+ </parameter>
+ <parameter name="f">
+ <doc xml:space="preserve"
+ filename="gst/gstpad.c"
+ line="2071">the #GstPadUnlinkFunction to set.</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function name="param_spec_array"
+ c:identifier="gst_param_spec_array"
+ version="1.14">
+ <doc xml:space="preserve"
+ filename="gst/gstparamspecs.c"
+ line="330">This function creates a GstArray GParamSpec for use by objects/elements
+that want to expose properties of GstArray type. This function is
+typically * used in connection with g_object_class_install_property() in a
+GObjects's instance_init function.</doc>
+ <source-position filename="gst/gstparamspecs.h" line="181"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstparamspecs.c"
+ line="343">a newly created parameter specification</doc>
+ <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
+ </return-value>
+ <parameters>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstparamspecs.c"
+ line="332">canonical name of the property specified</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="nick" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstparamspecs.c"
+ line="333">nick name for the property specified</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="blurb" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstparamspecs.c"
+ line="334">description of the property specified</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="element_spec" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstparamspecs.c"
+ line="335">GParamSpec of the array</doc>
+ <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
+ </parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstparamspecs.c"
+ line="336">flags for the property specified</doc>
+ <type name="GObject.ParamFlags" c:type="GParamFlags"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="param_spec_fraction"
+ c:identifier="gst_param_spec_fraction">
+ <doc xml:space="preserve"
+ filename="gst/gstparamspecs.c"
+ line="149">This function creates a fraction GParamSpec for use by objects/elements
+that want to expose properties of fraction type. This function is typically
+used in connection with g_object_class_install_property() in a GObjects's
+instance_init function.</doc>
+ <source-position filename="gst/gstparamspecs.h" line="173"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstparamspecs.c"
+ line="167">a newly created parameter specification</doc>
+ <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
+ </return-value>
+ <parameters>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstparamspecs.c"
+ line="151">canonical name of the property specified</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="nick" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstparamspecs.c"
+ line="152">nick name for the property specified</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="blurb" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstparamspecs.c"
+ line="153">description of the property specified</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="min_num" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstparamspecs.c"
+ line="154">minimum value (fraction numerator)</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="min_denom" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstparamspecs.c"
+ line="155">minimum value (fraction denominator)</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="max_num" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstparamspecs.c"
+ line="156">maximum value (fraction numerator)</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="max_denom" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstparamspecs.c"
+ line="157">maximum value (fraction denominator)</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="default_num" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstparamspecs.c"
+ line="158">default value (fraction numerator)</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="default_denom" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstparamspecs.c"
+ line="159">default value (fraction denominator)</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstparamspecs.c"
+ line="160">flags for the property specified</doc>
+ <type name="GObject.ParamFlags" c:type="GParamFlags"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="parent_buffer_meta_api_get_type"
+ c:identifier="gst_parent_buffer_meta_api_get_type">
+ <attribute name="doc.skip" value="true"/>
+ <source-position filename="gst/gstbuffer.h" line="730"/>
+ <return-value transfer-ownership="none">
+ <type name="GType" c:type="GType"/>
+ </return-value>
+ </function>
+ <function name="parent_buffer_meta_get_info"
+ c:identifier="gst_parent_buffer_meta_get_info"
+ moved-to="ParentBufferMeta.get_info"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="2675">Get the global #GstMetaInfo describing the #GstParentBufferMeta meta.</doc>
+ <source-position filename="gst/gstbuffer.h" line="747"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="2680">The #GstMetaInfo</doc>
+ <type name="MetaInfo" c:type="const GstMetaInfo*"/>
+ </return-value>
+ </function>
+ <function name="parse_bin_from_description"
+ c:identifier="gst_parse_bin_from_description"
+ throws="1">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="3393">This is a convenience wrapper around gst_parse_launch() to create a
+#GstBin from a gst-launch-style pipeline description. See
+gst_parse_launch() and the gst-launch man page for details about the
+syntax. Ghost pads on the bin for unlinked source or sink pads
+within the bin can automatically be created (but only a maximum of
+one ghost pad for each direction will be created; if you expect
+multiple unlinked source pads or multiple unlinked sink pads
+and want them all ghosted, you will have to create the ghost pads
+yourself).</doc>
+ <source-position filename="gst/gstutils.h" line="1148"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="3410">a
+ newly-created bin, or %NULL if an error occurred.</doc>
+ <type name="Bin" c:type="GstElement*"/>
+ </return-value>
+ <parameters>
+ <parameter name="bin_description" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="3395">command line describing the bin</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="ghost_unlinked_pads" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="3396">whether to automatically create ghost pads
+ for unlinked source or sink pads within the bin</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="parse_bin_from_description_full"
+ c:identifier="gst_parse_bin_from_description_full"
+ throws="1">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="3421">This is a convenience wrapper around gst_parse_launch() to create a
+#GstBin from a gst-launch-style pipeline description. See
+gst_parse_launch() and the gst-launch man page for details about the
+syntax. Ghost pads on the bin for unlinked source or sink pads
+within the bin can automatically be created (but only a maximum of
+one ghost pad for each direction will be created; if you expect
+multiple unlinked source pads or multiple unlinked sink pads
+and want them all ghosted, you will have to create the ghost pads
+yourself).</doc>
+ <source-position filename="gst/gstutils.h" line="1152"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="3441">a newly-created
+ element, which is guaranteed to be a bin unless
+ #GST_PARSE_FLAG_NO_SINGLE_ELEMENT_BINS was passed, or %NULL if an error
+ occurred.</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </return-value>
+ <parameters>
+ <parameter name="bin_description" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="3423">command line describing the bin</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="ghost_unlinked_pads" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="3424">whether to automatically create ghost pads
+ for unlinked source or sink pads within the bin</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ <parameter name="context"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="3426">a parse context allocated with
+ gst_parse_context_new(), or %NULL</doc>
+ <type name="ParseContext" c:type="GstParseContext*"/>
+ </parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="3428">parsing options, or #GST_PARSE_FLAG_NONE</doc>
+ <type name="ParseFlags" c:type="GstParseFlags"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="parse_error_quark"
+ c:identifier="gst_parse_error_quark"
+ moved-to="ParseError.quark">
+ <doc xml:space="preserve"
+ filename="gst/gstparse.c"
+ line="52">Get the error quark used by the parsing subsystem.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstparse.c"
+ line="57">the quark of the parse errors.</doc>
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </return-value>
+ </function>
+ <function name="parse_launch" c:identifier="gst_parse_launch" throws="1">
+ <doc xml:space="preserve"
+ filename="gst/gstparse.c"
+ line="286">Create a new pipeline based on command line syntax.
+Please note that you might get a return value that is not %NULL even though
+the @error is set. In this case there was a recoverable parsing error and you
+can try to play the pipeline.
+
+To create a sub-pipeline (bin) for embedding into an existing pipeline
+use gst_parse_bin_from_description().</doc>
+ <source-position filename="gst/gstparse.h" line="118"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstparse.c"
+ line="299">a new element on success, %NULL on
+ failure. If more than one toplevel element is specified by the
+ @pipeline_description, all elements are put into a #GstPipeline, which
+ than is returned.</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </return-value>
+ <parameters>
+ <parameter name="pipeline_description" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstparse.c"
+ line="288">the command line describing the pipeline</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="parse_launch_full"
+ c:identifier="gst_parse_launch_full"
+ throws="1">
+ <doc xml:space="preserve"
+ filename="gst/gstparse.c"
+ line="311">Create a new pipeline based on command line syntax.
+Please note that you might get a return value that is not %NULL even though
+the @error is set. In this case there was a recoverable parsing error and you
+can try to play the pipeline.
+
+To create a sub-pipeline (bin) for embedding into an existing pipeline
+use gst_parse_bin_from_description_full().</doc>
+ <source-position filename="gst/gstparse.h" line="124"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstparse.c"
+ line="327">a new element on success, %NULL on
+ failure. If more than one toplevel element is specified by the
+ @pipeline_description, all elements are put into a #GstPipeline, which
+ then is returned (unless the GST_PARSE_FLAG_PLACE_IN_BIN flag is set, in
+ which case they are put in a #GstBin instead).</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </return-value>
+ <parameters>
+ <parameter name="pipeline_description" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstparse.c"
+ line="313">the command line describing the pipeline</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="context"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstparse.c"
+ line="314">a parse context allocated with
+ gst_parse_context_new(), or %NULL</doc>
+ <type name="ParseContext" c:type="GstParseContext*"/>
+ </parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstparse.c"
+ line="316">parsing options, or #GST_PARSE_FLAG_NONE</doc>
+ <type name="ParseFlags" c:type="GstParseFlags"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="parse_launchv" c:identifier="gst_parse_launchv" throws="1">
+ <doc xml:space="preserve"
+ filename="gst/gstparse.c"
+ line="212">Create a new element based on command line syntax.
+@error will contain an error message if an erroneous pipeline is specified.
+An error does not mean that the pipeline could not be constructed.</doc>
+ <source-position filename="gst/gstparse.h" line="121"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstparse.c"
+ line="221">a new element on success and %NULL
+on failure.</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </return-value>
+ <parameters>
+ <parameter name="argv" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstparse.c"
+ line="214">null-terminated array of arguments</doc>
+ <array c:type="const gchar**">
+ <type name="utf8" c:type="gchar*"/>
+ </array>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="parse_launchv_full"
+ c:identifier="gst_parse_launchv_full"
+ throws="1">
+ <doc xml:space="preserve"
+ filename="gst/gstparse.c"
+ line="230">Create a new element based on command line syntax.
+@error will contain an error message if an erroneous pipeline is specified.
+An error does not mean that the pipeline could not be constructed.</doc>
+ <source-position filename="gst/gstparse.h" line="129"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstparse.c"
+ line="242">a new element on success; on
+ failure, either %NULL or a partially-constructed bin or element will be
+ returned and @error will be set (unless you passed
+ #GST_PARSE_FLAG_FATAL_ERRORS in @flags, then %NULL will always be returned
+ on failure)</doc>
+ <type name="Element" c:type="GstElement*"/>
+ </return-value>
+ <parameters>
+ <parameter name="argv" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstparse.c"
+ line="232">null-terminated array of arguments</doc>
+ <array c:type="const gchar**">
+ <type name="utf8" c:type="gchar*"/>
+ </array>
+ </parameter>
+ <parameter name="context"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstparse.c"
+ line="233">a parse context allocated with
+ gst_parse_context_new(), or %NULL</doc>
+ <type name="ParseContext" c:type="GstParseContext*"/>
+ </parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstparse.c"
+ line="235">parsing options, or #GST_PARSE_FLAG_NONE</doc>
+ <type name="ParseFlags" c:type="GstParseFlags"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="plugin_error_quark"
+ c:identifier="gst_plugin_error_quark"
+ moved-to="PluginError.quark">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.h"
+ line="44">Get the error quark.</doc>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstplugin.h"
+ line="49">The error quark used in GError messages</doc>
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </return-value>
+ </function>
+ <function-macro name="plugin_feature_get_name"
+ c:identifier="gst_plugin_feature_get_name"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstpluginfeature.h"
+ line="71">Returns the name of @feature.
+For a nameless plugin feature, this returns %NULL.</doc>
+ <source-position filename="gst/gstpluginfeature.h" line="81"/>
+ <parameters>
+ <parameter name="feature">
+ <doc xml:space="preserve"
+ filename="gst/gstpluginfeature.h"
+ line="73">a #GstPluginFeature to get the name of @feature.</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="plugin_feature_set_name"
+ c:identifier="gst_plugin_feature_set_name"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstpluginfeature.h"
+ line="83">Sets the name of the plugin feature, getting rid of the old name if there was one.</doc>
+ <source-position filename="gst/gstpluginfeature.h" line="90"/>
+ <parameters>
+ <parameter name="feature">
+ <doc xml:space="preserve"
+ filename="gst/gstpluginfeature.h"
+ line="85">a #GstPluginFeature to set the name of.</doc>
+ </parameter>
+ <parameter name="name">
+ <doc xml:space="preserve"
+ filename="gst/gstpluginfeature.h"
+ line="86">the new name</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function name="poll_new"
+ c:identifier="gst_poll_new"
+ moved-to="Poll.new"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstpoll.c"
+ line="662">Create a new file descriptor set. If @controllable, it
+is possible to restart or flush a call to gst_poll_wait() with
+gst_poll_restart() and gst_poll_set_flushing() respectively.
+
+Free-function: gst_poll_free</doc>
+ <source-position filename="gst/gstpoll.h" line="65"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstpoll.c"
+ line="672">a new #GstPoll, or %NULL in
+ case of an error. Free with gst_poll_free().</doc>
+ <type name="Poll" c:type="GstPoll*"/>
+ </return-value>
+ <parameters>
+ <parameter name="controllable" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpoll.c"
+ line="664">whether it should be possible to control a wait.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="poll_new_timer"
+ c:identifier="gst_poll_new_timer"
+ moved-to="Poll.new_timer"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstpoll.c"
+ line="731">Create a new poll object that can be used for scheduling cancellable
+timeouts.
+
+A timeout is performed with gst_poll_wait(). Multiple timeouts can be
+performed from different threads.
+
+Free-function: gst_poll_free</doc>
+ <source-position filename="gst/gstpoll.h" line="68"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstpoll.c"
+ line="742">a new #GstPoll, or %NULL in
+ case of an error. Free with gst_poll_free().</doc>
+ <type name="Poll" c:type="GstPoll*"/>
+ </return-value>
+ </function>
+ <function name="preset_get_app_dir"
+ c:identifier="gst_preset_get_app_dir"
+ moved-to="Preset.get_app_dir">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1234">Gets the directory for application specific presets if set by the
+application.</doc>
+ <source-position filename="gst/gstpreset.h" line="111"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1240">the directory or %NULL, don't free or modify
+the string</doc>
+ <type name="filename" c:type="const gchar*"/>
+ </return-value>
+ </function>
+ <function name="preset_set_app_dir"
+ c:identifier="gst_preset_set_app_dir"
+ moved-to="Preset.set_app_dir">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1212">Sets an extra directory as an absolute path that should be considered when
+looking for presets. Any presets in the application dir will shadow the
+system presets.</doc>
+ <source-position filename="gst/gstpreset.h" line="108"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1220">%TRUE for success, %FALSE if the dir already has been set</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="app_dir" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstpreset.c"
+ line="1214">the application specific preset dir</doc>
+ <type name="filename" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="print"
+ c:identifier="gst_print"
+ version="1.12"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="2607">Outputs a formatted message via the GLib print handler. The default print
+handler simply outputs the message to stdout.
+
+This function will not append a new-line character at the end, unlike
+gst_println() which will.
+
+All strings must be in ASCII or UTF-8 encoding.
+
+This function differs from g_print() in that it supports all the additional
+printf specifiers that are supported by GStreamer's debug logging system,
+such as #GST_PTR_FORMAT and #GST_SEGMENT_FORMAT.
+
+This function is primarily for printing debug output.</doc>
+ <source-position filename="gst/gstinfo.h" line="528"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="2609">a printf style format string</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="..." transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="2610">the printf arguments for @format</doc>
+ <varargs/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="printerr"
+ c:identifier="gst_printerr"
+ version="1.12"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="2693">Outputs a formatted message via the GLib error message handler. The default
+handler simply outputs the message to stderr.
+
+This function will not append a new-line character at the end, unlike
+gst_printerrln() which will.
+
+All strings must be in ASCII or UTF-8 encoding.
+
+This function differs from g_printerr() in that it supports the additional
+printf specifiers that are supported by GStreamer's debug logging system,
+such as #GST_PTR_FORMAT and #GST_SEGMENT_FORMAT.
+
+This function is primarily for printing debug output.</doc>
+ <source-position filename="gst/gstinfo.h" line="534"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="2695">a printf style format string</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="..." transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="2696">the printf arguments for @format</doc>
+ <varargs/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="printerrln"
+ c:identifier="gst_printerrln"
+ version="1.12"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="2736">Outputs a formatted message via the GLib error message handler. The default
+handler simply outputs the message to stderr.
+
+This function will append a new-line character at the end, unlike
+gst_printerr() which will not.
+
+All strings must be in ASCII or UTF-8 encoding.
+
+This function differs from g_printerr() in that it supports the additional
+printf specifiers that are supported by GStreamer's debug logging system,
+such as #GST_PTR_FORMAT and #GST_SEGMENT_FORMAT.
+
+This function is primarily for printing debug output.</doc>
+ <source-position filename="gst/gstinfo.h" line="537"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="2738">a printf style format string</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="..." transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="2739">the printf arguments for @format</doc>
+ <varargs/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="println"
+ c:identifier="gst_println"
+ version="1.12"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="2650">Outputs a formatted message via the GLib print handler. The default print
+handler simply outputs the message to stdout.
+
+This function will append a new-line character at the end, unlike
+gst_print() which will not.
+
+All strings must be in ASCII or UTF-8 encoding.
+
+This function differs from g_print() in that it supports all the additional
+printf specifiers that are supported by GStreamer's debug logging system,
+such as #GST_PTR_FORMAT and #GST_SEGMENT_FORMAT.
+
+This function is primarily for printing debug output.</doc>
+ <source-position filename="gst/gstinfo.h" line="531"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="2652">a printf style format string</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="..." transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstinfo.c"
+ line="2653">the printf arguments for @format</doc>
+ <varargs/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="protection_filter_systems_by_available_decryptors"
+ c:identifier="gst_protection_filter_systems_by_available_decryptors"
+ version="1.14">
+ <doc xml:space="preserve"
+ filename="gst/gstprotection.c"
+ line="197">Iterates the supplied list of UUIDs and checks the GstRegistry for
+all the decryptors supporting one of the supplied UUIDs.</doc>
+ <source-position filename="gst/gstprotection.h" line="96"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstprotection.c"
+ line="206">
+A null terminated array containing all
+the @system_identifiers supported by the set of available decryptors, or
+%NULL if no matches were found.</doc>
+ <array c:type="gchar**">
+ <type name="utf8"/>
+ </array>
+ </return-value>
+ <parameters>
+ <parameter name="system_identifiers" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstprotection.c"
+ line="199">
+A null terminated array of strings that contains the UUID values of each
+protection system that is to be checked.</doc>
+ <array c:type="const gchar**">
+ <type name="utf8" c:type="gchar*"/>
+ </array>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="protection_meta_api_get_type"
+ c:identifier="gst_protection_meta_api_get_type">
+ <attribute name="doc.skip" value="true"/>
+ <source-position filename="gst/gstprotection.h" line="77"/>
+ <return-value transfer-ownership="none">
+ <type name="GType" c:type="GType"/>
+ </return-value>
+ </function>
+ <function name="protection_meta_get_info"
+ c:identifier="gst_protection_meta_get_info"
+ moved-to="ProtectionMeta.get_info">
+ <source-position filename="gst/gstprotection.h" line="87"/>
+ <return-value transfer-ownership="none">
+ <type name="MetaInfo" c:type="const GstMetaInfo*"/>
+ </return-value>
+ </function>
+ <function name="protection_select_system"
+ c:identifier="gst_protection_select_system"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst/gstprotection.c"
+ line="159">Iterates the supplied list of UUIDs and checks the GstRegistry for
+an element that supports one of the supplied UUIDs. If more than one
+element matches, the system ID of the highest ranked element is selected.</doc>
+ <source-position filename="gst/gstprotection.h" line="93"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstprotection.c"
+ line="169">One of the strings from
+@system_identifiers that indicates the highest ranked element that
+implements the protection system indicated by that system ID, or %NULL if no
+element has been found.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="system_identifiers" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstprotection.c"
+ line="161">A null terminated array of strings
+that contains the UUID values of each protection system that is to be
+checked.</doc>
+ <array c:type="const gchar**">
+ <type name="utf8" c:type="gchar*"/>
+ </array>
+ </parameter>
+ </parameters>
+ </function>
+ <function-macro name="query_is_writable"
+ c:identifier="gst_query_is_writable"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.h"
+ line="297">Tests if you can safely write data into a query's structure.</doc>
+ <source-position filename="gst/gstquery.h" line="302"/>
+ <parameters>
+ <parameter name="q">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.h"
+ line="299">a #GstQuery</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="query_make_writable"
+ c:identifier="gst_query_make_writable"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.h"
+ line="304">Makes a writable query from the given query.</doc>
+ <source-position filename="gst/gstquery.h" line="311"/>
+ <parameters>
+ <parameter name="q">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.h"
+ line="306">a #GstQuery to make writable</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function name="query_replace"
+ c:identifier="gst_query_replace"
+ moved-to="Query.replace"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.h"
+ line="313">Modifies a pointer to a #GstQuery to point to a different #GstQuery. The
+modification is done atomically (so this is useful for ensuring thread safety
+in some cases), and the reference counts are updated appropriately (the old
+query is unreffed, the new one is reffed).
+
+Either @new_query or the #GstQuery pointed to by @old_query may be %NULL.</doc>
+ <source-position filename="gst/gstquery.h" line="329"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.h"
+ line="327">%TRUE if @new_query was different from @old_query</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="old_query"
+ direction="inout"
+ caller-allocates="0"
+ transfer-ownership="full"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.h"
+ line="315">pointer to a pointer to a
+ #GstQuery to be replaced.</doc>
+ <type name="Query" c:type="GstQuery**"/>
+ </parameter>
+ <parameter name="new_query"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.h"
+ line="317">pointer to a #GstQuery that will
+ replace the query pointed to by @old_query.</doc>
+ <type name="Query" c:type="GstQuery*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="query_type_get_flags"
+ c:identifier="gst_query_type_get_flags"
+ moved-to="QueryType.get_flags">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="169">Gets the #GstQueryTypeFlags associated with @type.</doc>
+ <source-position filename="gst/gstquery.h" line="225"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="175">a #GstQueryTypeFlags.</doc>
+ <type name="QueryTypeFlags" c:type="GstQueryTypeFlags"/>
+ </return-value>
+ <parameters>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="171">a #GstQueryType</doc>
+ <type name="QueryType" c:type="GstQueryType"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="query_type_get_name"
+ c:identifier="gst_query_type_get_name"
+ moved-to="QueryType.get_name">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="129">Get a printable name for the given query type. Do not modify or free.</doc>
+ <source-position filename="gst/gstquery.h" line="218"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="135">a reference to the static name of the query.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="131">the query type</doc>
+ <type name="QueryType" c:type="GstQueryType"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="query_type_to_quark"
+ c:identifier="gst_query_type_to_quark"
+ moved-to="QueryType.to_quark">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="149">Get the unique quark for the given query type.</doc>
+ <source-position filename="gst/gstquery.h" line="221"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="155">the quark associated with the query type</doc>
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </return-value>
+ <parameters>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstquery.c"
+ line="151">the query type</doc>
+ <type name="QueryType" c:type="GstQueryType"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="reference_timestamp_meta_api_get_type"
+ c:identifier="gst_reference_timestamp_meta_api_get_type">
+ <attribute name="doc.skip" value="true"/>
+ <source-position filename="gst/gstbuffer.h" line="788"/>
+ <return-value transfer-ownership="none">
+ <type name="GType" c:type="GType"/>
+ </return-value>
+ </function>
+ <function name="reference_timestamp_meta_get_info"
+ c:identifier="gst_reference_timestamp_meta_get_info"
+ moved-to="ReferenceTimestampMeta.get_info"
+ version="1.14">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="2847">Get the global #GstMetaInfo describing the #GstReferenceTimestampMeta meta.</doc>
+ <source-position filename="gst/gstbuffer.h" line="792"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.c"
+ line="2852">The #GstMetaInfo</doc>
+ <type name="MetaInfo" c:type="const GstMetaInfo*"/>
+ </return-value>
+ </function>
+ <function name="resource_error_quark"
+ c:identifier="gst_resource_error_quark"
+ moved-to="ResourceError.quark">
+ <attribute name="doc.skip" value="true"/>
+ <return-value transfer-ownership="none">
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </return-value>
+ </function>
+ <function-macro name="sample_is_writable"
+ c:identifier="gst_sample_is_writable"
+ version="1.16"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstsample.h"
+ line="121">Tests if you can safely set the buffer and / or buffer list of @sample.</doc>
+ <source-position filename="gst/gstsample.h" line="129"/>
+ <parameters>
+ <parameter name="sample">
+ <doc xml:space="preserve"
+ filename="gst/gstsample.h"
+ line="123">A #GstSample</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="sample_make_writable"
+ c:identifier="gst_sample_make_writable"
+ version="1.16"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstsample.h"
+ line="131">Returns a writable copy of @sample. If the source sample is
+already writable, this will simply return the same sample.
+
+Use this function to ensure that a sample can be safely modified before
+making changes to it, for example before calling gst_sample_set_buffer()
+
+If the reference count of the source sample @sample is exactly one, the caller
+is the sole owner and this function will return the sample object unchanged.
+
+If there is more than one reference on the object, a copy will be made using
+gst_sample_copy(). The passed-in @sample will be unreffed in that case, and the
+caller will now own a reference to the new returned sample object.
+
+In short, this function unrefs the sample in the argument and refs the sample
+that it returns. Don't access the argument after calling this function unless
+you have an additional reference to it.</doc>
+ <source-position filename="gst/gstsample.h" line="157"/>
+ <parameters>
+ <parameter name="sample">
+ <doc xml:space="preserve"
+ filename="gst/gstsample.h"
+ line="133">A #GstSample</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function name="segtrap_is_enabled" c:identifier="gst_segtrap_is_enabled">
+ <doc xml:space="preserve"
+ filename="gst/gst.c"
+ line="1312">Some functions in the GStreamer core might install a custom SIGSEGV handler
+to better catch and report errors to the application. Currently this feature
+is enabled by default when loading plugins.
+
+Applications might want to disable this behaviour with the
+gst_segtrap_set_enabled() function. This is typically done if the application
+wants to install its own handler without GStreamer interfering.</doc>
+ <source-position filename="gst/gst.h" line="122"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gst.c"
+ line="1323">%TRUE if GStreamer is allowed to install a custom SIGSEGV handler.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </function>
+ <function name="segtrap_set_enabled"
+ c:identifier="gst_segtrap_set_enabled">
+ <doc xml:space="preserve"
+ filename="gst/gst.c"
+ line="1332">Applications might want to disable/enable the SIGSEGV handling of
+the GStreamer core. See gst_segtrap_is_enabled() for more information.</doc>
+ <source-position filename="gst/gst.h" line="125"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="enabled" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gst.c"
+ line="1334">whether a custom SIGSEGV handler should be installed.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="state_change_get_name"
+ c:identifier="gst_state_change_get_name"
+ moved-to="StateChange.get_name"
+ version="1.14">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="1331">Gets a string representing the given state transition.</doc>
+ <source-position filename="gst/gstutils.h" line="999"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="1337">a string with the name of the state
+ result.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="transition" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="1333">a #GstStateChange to get the name of.</doc>
+ <type name="StateChange" c:type="GstStateChange"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="static_caps_get_type"
+ c:identifier="gst_static_caps_get_type">
+ <attribute name="doc.skip" value="true"/>
+ <source-position filename="gst/gstcaps.h" line="432"/>
+ <return-value transfer-ownership="none">
+ <type name="GType" c:type="GType"/>
+ </return-value>
+ </function>
+ <function name="static_pad_template_get_type"
+ c:identifier="gst_static_pad_template_get_type">
+ <attribute name="doc.skip" value="true"/>
+ <source-position filename="gst/gstpadtemplate.h" line="208"/>
+ <return-value transfer-ownership="none">
+ <type name="GType" c:type="GType"/>
+ </return-value>
+ </function>
+ <function name="stream_error_quark"
+ c:identifier="gst_stream_error_quark"
+ moved-to="StreamError.quark">
+ <attribute name="doc.skip" value="true"/>
+ <return-value transfer-ownership="none">
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </return-value>
+ </function>
+ <function name="stream_type_get_name"
+ c:identifier="gst_stream_type_get_name"
+ moved-to="StreamType.get_name"
+ version="1.10">
+ <doc xml:space="preserve"
+ filename="gst/gststreams.c"
+ line="540">Get a descriptive string for a given #GstStreamType</doc>
+ <source-position filename="gst/gststreams.h" line="153"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gststreams.c"
+ line="546">A string describing the stream type</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="stype" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststreams.c"
+ line="542">a #GstStreamType</doc>
+ <type name="StreamType" c:type="GstStreamType"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="structure_take"
+ c:identifier="gst_structure_take"
+ moved-to="Structure.take"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="573">Atomically modifies a pointer to point to a new structure.
+The #GstStructure @oldstr_ptr is pointing to is freed and
+@newstr is taken ownership over.
+
+Either @newstr and the value pointed to by @oldstr_ptr may be %NULL.
+
+It is a programming error if both @newstr and the value pointed to by
+@oldstr_ptr refer to the same, non-%NULL structure.</doc>
+ <source-position filename="gst/gststructure.h" line="141"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="588">%TRUE if @newstr was different from @oldstr_ptr</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="oldstr_ptr"
+ direction="inout"
+ caller-allocates="0"
+ transfer-ownership="full"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="575">pointer to a place of
+ a #GstStructure to take</doc>
+ <type name="Structure" c:type="GstStructure**"/>
+ </parameter>
+ <parameter name="newstr"
+ transfer-ownership="full"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gststructure.c"
+ line="577">a new #GstStructure</doc>
+ <type name="Structure" c:type="GstStructure*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="tag_exists" c:identifier="gst_tag_exists">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="564">Checks if the given type is already registered.</doc>
+ <source-position filename="gst/gsttaglist.h" line="168"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="570">%TRUE if the type is already registered</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="566">name of the tag</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="tag_get_description"
+ c:identifier="gst_tag_get_description">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="625">Returns the human-readable description of this tag, You must not change or
+free this string.</doc>
+ <source-position filename="gst/gsttaglist.h" line="177"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="632">the human-readable description of this tag</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="627">the tag</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="tag_get_flag" c:identifier="gst_tag_get_flag">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="646">Gets the flag of @tag.</doc>
+ <source-position filename="gst/gsttaglist.h" line="180"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="652">the flag of this tag.</doc>
+ <type name="TagFlag" c:type="GstTagFlag"/>
+ </return-value>
+ <parameters>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="648">the tag</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="tag_get_nick" c:identifier="gst_tag_get_nick">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="600">Returns the human-readable name of this tag, You must not change or free
+this string.</doc>
+ <source-position filename="gst/gsttaglist.h" line="174"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="607">the human-readable name of this tag</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="602">the tag</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="tag_get_type" c:identifier="gst_tag_get_type">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="580">Gets the #GType used for this tag.</doc>
+ <source-position filename="gst/gsttaglist.h" line="171"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="586">the #GType of this tag</doc>
+ <type name="GType" c:type="GType"/>
+ </return-value>
+ <parameters>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="582">the tag</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="tag_is_fixed" c:identifier="gst_tag_is_fixed">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="666">Checks if the given tag is fixed. A fixed tag can only contain one value.
+Unfixed tags can contain lists of values.</doc>
+ <source-position filename="gst/gsttaglist.h" line="183"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="673">%TRUE, if the given tag is fixed.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="668">tag to check</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="tag_list_copy_value"
+ c:identifier="gst_tag_list_copy_value"
+ moved-to="TagList.copy_value">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1472">Copies the contents for the given tag into the value,
+merging multiple values into one if multiple values are associated
+with the tag.
+You must g_value_unset() the value after use.</doc>
+ <source-position filename="gst/gsttaglist.h" line="282"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1483">%TRUE, if a value was copied, %FALSE if the tag didn't exist in the
+ given list.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="dest"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1474">uninitialized #GValue to copy into</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="list" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1475">list to get the tag from</doc>
+ <type name="TagList" c:type="const GstTagList*"/>
+ </parameter>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="1476">tag to read out</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function-macro name="tag_list_free"
+ c:identifier="gst_tag_list_free"
+ introspectable="0">
+ <source-position filename="gst/gstcompat.h" line="84"/>
+ <parameters>
+ <parameter name="taglist">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="tag_list_is_writable"
+ c:identifier="gst_tag_list_is_writable"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="509">Tests if you can safely modify @taglist. It is only safe to modify taglist
+when there is only one owner of the taglist - ie, the refcount is 1.</doc>
+ <source-position filename="gst/gsttaglist.h" line="516"/>
+ <parameters>
+ <parameter name="taglist">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="511">a #GstTagList</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="tag_list_make_writable"
+ c:identifier="gst_tag_list_make_writable"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="518">Returns a writable copy of @taglist.
+
+If there is only one reference count on @taglist, the caller must be the
+owner, and so this function will return the taglist object unchanged. If on
+the other hand there is more than one reference on the object, a new taglist
+object will be returned (which will be a copy of @taglist). The caller's
+reference on @taglist will be removed, and instead the caller will own a
+reference to the returned object.
+
+In short, this function unrefs the taglist in the argument and refs the
+taglist that it returns. Don't access the argument after calling this
+function. See also: gst_tag_list_ref().</doc>
+ <source-position filename="gst/gsttaglist.h" line="538"/>
+ <parameters>
+ <parameter name="taglist">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.h"
+ line="520">a #GstTagList</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function name="tag_merge_strings_with_comma"
+ c:identifier="gst_tag_merge_strings_with_comma">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="432">This is a convenience function for the func argument of gst_tag_register().
+It concatenates all given strings using a comma. The tag must be registered
+as a G_TYPE_STRING or this function will fail.</doc>
+ <source-position filename="gst/gsttaglist.h" line="163"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="dest"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="434">uninitialized GValue to store result in</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="src" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="435">GValue to copy from</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="tag_merge_use_first"
+ c:identifier="gst_tag_merge_use_first">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="415">This is a convenience function for the func argument of gst_tag_register().
+It creates a copy of the first value from the list.</doc>
+ <source-position filename="gst/gsttaglist.h" line="160"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="dest"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="417">uninitialized GValue to store result in</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="src" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="418">GValue to copy from</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="tag_register"
+ c:identifier="gst_tag_register"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="473">Registers a new tag type for the use with GStreamer's type system. If a type
+with that name is already registered, that one is used.
+The old registration may have used a different type however. So don't rely
+on your supplied values.
+
+Important: if you do not supply a merge function the implication will be
+that there can only be one single value for this tag in a tag list and
+any additional values will silently be discarded when being added (unless
+#GST_TAG_MERGE_REPLACE, #GST_TAG_MERGE_REPLACE_ALL, or
+#GST_TAG_MERGE_PREPEND is used as merge mode, in which case the new
+value will replace the old one in the list).
+
+The merge function will be called from gst_tag_list_copy_value() when
+it is required that one or more values for a tag be condensed into
+one single value. This may happen from gst_tag_list_get_string(),
+gst_tag_list_get_int(), gst_tag_list_get_double() etc. What will happen
+exactly in that case depends on how the tag was registered and if a
+merge function was supplied and if so which one.
+
+Two default merge functions are provided: gst_tag_merge_use_first() and
+gst_tag_merge_strings_with_comma().</doc>
+ <source-position filename="gst/gsttaglist.h" line="143"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="475">the name or identifier string</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="flag" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="476">a flag describing the type of tag info</doc>
+ <type name="TagFlag" c:type="GstTagFlag"/>
+ </parameter>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="477">the type this data is in</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ <parameter name="nick" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="478">human-readable name</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="blurb" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="479">a human-readable description about this tag</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="func"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="480">function for merging multiple values of this tag, or %NULL</doc>
+ <type name="TagMergeFunc" c:type="GstTagMergeFunc"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="tag_register_static"
+ c:identifier="gst_tag_register_static"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="517">Registers a new tag type for the use with GStreamer's type system.
+
+Same as gst_tag_register(), but @name, @nick, and @blurb must be
+static strings or inlined strings, as they will not be copied. (GStreamer
+plugins will be made resident once loaded, so this function can be used
+even from dynamically loaded plugins.)</doc>
+ <source-position filename="gst/gsttaglist.h" line="150"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="519">the name or identifier string (string constant)</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="flag" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="520">a flag describing the type of tag info</doc>
+ <type name="TagFlag" c:type="GstTagFlag"/>
+ </parameter>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="521">the type this data is in</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ <parameter name="nick" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="522">human-readable name or short description (string constant)</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="blurb" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="523">a human-readable description for this tag (string constant)</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="func"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gsttaglist.c"
+ line="524">function for merging multiple values of this tag, or %NULL</doc>
+ <type name="TagMergeFunc" c:type="GstTagMergeFunc"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function-macro name="toc_copy"
+ c:identifier="gst_toc_copy"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.c"
+ line="447">Copy #GstToc with all subentries (deep copy).</doc>
+ <source-position filename="gst/gsttoc.h" line="166"/>
+ <parameters>
+ <parameter name="toc">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.c"
+ line="449">#GstToc to copy.</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="toc_entry_copy"
+ c:identifier="gst_toc_entry_copy"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.c"
+ line="412">Copy #GstTocEntry with all subentries (deep copy).</doc>
+ <source-position filename="gst/gsttoc.h" line="176"/>
+ <parameters>
+ <parameter name="entry">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.c"
+ line="414">#GstTocEntry to copy.</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="toc_entry_make_writable"
+ c:identifier="gst_toc_entry_make_writable"
+ introspectable="0">
+ <source-position filename="gst/gsttoc.h" line="177"/>
+ <parameters>
+ <parameter name="entry">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="toc_entry_ref"
+ c:identifier="gst_toc_entry_ref"
+ introspectable="0">
+ <source-position filename="gst/gsttoc.h" line="174"/>
+ <parameters>
+ <parameter name="entry">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function name="toc_entry_type_get_nick"
+ c:identifier="gst_toc_entry_type_get_nick"
+ moved-to="TocEntryType.get_nick">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.c"
+ line="576">Converts @type to a string representation.</doc>
+ <source-position filename="gst/gsttoc.h" line="229"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.c"
+ line="582">Returns a human-readable string for @type. This string is
+ only for debugging purpose and should not be displayed in a user
+ interface.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttoc.c"
+ line="578">a #GstTocEntryType.</doc>
+ <type name="TocEntryType" c:type="GstTocEntryType"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function-macro name="toc_entry_unref"
+ c:identifier="gst_toc_entry_unref"
+ introspectable="0">
+ <source-position filename="gst/gsttoc.h" line="175"/>
+ <parameters>
+ <parameter name="entry">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="toc_make_writable"
+ c:identifier="gst_toc_make_writable"
+ introspectable="0">
+ <source-position filename="gst/gsttoc.h" line="167"/>
+ <parameters>
+ <parameter name="toc">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="toc_ref"
+ c:identifier="gst_toc_ref"
+ introspectable="0">
+ <source-position filename="gst/gsttoc.h" line="164"/>
+ <parameters>
+ <parameter name="toc">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="toc_unref"
+ c:identifier="gst_toc_unref"
+ introspectable="0">
+ <source-position filename="gst/gsttoc.h" line="165"/>
+ <parameters>
+ <parameter name="toc">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function name="tracing_get_active_tracers"
+ c:identifier="gst_tracing_get_active_tracers"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="gst/gsttracerutils.c"
+ line="199">Get a list of all active tracer objects owned by the tracing framework for
+the entirety of the run-time of the process or till gst_deinit() is called.</doc>
+ <source-position filename="gst/gsttracer.h" line="76"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gsttracerutils.c"
+ line="205">A #GList of
+#GstTracer objects</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="Tracer"/>
+ </type>
+ </return-value>
+ </function>
+ <function name="tracing_register_hook"
+ c:identifier="gst_tracing_register_hook"
+ version="1.8">
+ <doc xml:space="preserve"
+ filename="gst/gsttracerutils.c"
+ line="181">Register @func to be called when the trace hook @detail is getting invoked.
+Use %NULL for @detail to register to all hooks.</doc>
+ <source-position filename="gst/gsttracer.h" line="67"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="tracer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttracerutils.c"
+ line="183">the tracer</doc>
+ <type name="Tracer" c:type="GstTracer*"/>
+ </parameter>
+ <parameter name="detail" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttracerutils.c"
+ line="184">the detailed hook</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="func" transfer-ownership="none" scope="async">
+ <doc xml:space="preserve"
+ filename="gst/gsttracerutils.c"
+ line="185">the callback</doc>
+ <type name="GObject.Callback" c:type="GCallback"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="type_find_get_type" c:identifier="gst_type_find_get_type">
+ <attribute name="doc.skip" value="true"/>
+ <source-position filename="gst/gsttypefind.h" line="98"/>
+ <return-value transfer-ownership="none">
+ <type name="GType" c:type="GType"/>
+ </return-value>
+ </function>
+ <function name="type_find_register"
+ c:identifier="gst_type_find_register"
+ moved-to="TypeFind.register">
+ <doc xml:space="preserve"
+ filename="gst/gsttypefind.c"
+ line="42">Registers a new typefind function to be used for typefinding. After
+registering this function will be available for typefinding.
+This function is typically called during an element's plugin initialization.</doc>
+ <source-position filename="gst/gsttypefind.h" line="121"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttypefind.c"
+ line="61">%TRUE on success, %FALSE otherwise</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="plugin"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gsttypefind.c"
+ line="44">A #GstPlugin, or %NULL for a static typefind function</doc>
+ <type name="Plugin" c:type="GstPlugin*"/>
+ </parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttypefind.c"
+ line="45">The name for registering</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="rank" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsttypefind.c"
+ line="46">The rank (or importance) of this typefind function</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="func"
+ transfer-ownership="none"
+ scope="notified"
+ closure="6"
+ destroy="7">
+ <doc xml:space="preserve"
+ filename="gst/gsttypefind.c"
+ line="47">The #GstTypeFindFunction to use</doc>
+ <type name="TypeFindFunction" c:type="GstTypeFindFunction"/>
+ </parameter>
+ <parameter name="extensions"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gsttypefind.c"
+ line="48">Optional comma-separated list of extensions
+ that could belong to this type</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="possible_caps"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gsttypefind.c"
+ line="50">Optionally the caps that could be returned when typefinding
+ succeeds</doc>
+ <type name="Caps" c:type="GstCaps*"/>
+ </parameter>
+ <parameter name="data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gsttypefind.c"
+ line="52">Optional user data. This user data must be available until the plugin
+ is unloaded.</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="data_notify" transfer-ownership="none" scope="async">
+ <doc xml:space="preserve"
+ filename="gst/gsttypefind.c"
+ line="54">a #GDestroyNotify that will be called on @data when the plugin
+ is unloaded.</doc>
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="type_is_plugin_api"
+ c:identifier="gst_type_is_plugin_api"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="4547">Checks if @type is plugin API. See gst_type_mark_as_plugin_api() for
+details.</doc>
+ <source-position filename="gst/gstutils.h" line="1226"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="4555">%TRUE if @type is plugin API or %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="4549">a GType</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ <parameter name="flags"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="4550">What #GstPluginAPIFlags the plugin was marked with</doc>
+ <type name="PluginAPIFlags" c:type="GstPluginAPIFlags*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="type_mark_as_plugin_api"
+ c:identifier="gst_type_mark_as_plugin_api"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="4521">Marks @type as plugin API. This should be called in `class_init` of
+elements that expose new types (i.e. enums, flags or internal GObjects) via
+properties, signals or pad templates.
+
+Types exposed by plugins are not automatically added to the documentation
+as they might originate from another library and should in that case be
+documented via that library instead.
+
+By marking a type as plugin API it will be included in the documentation of
+the plugin that defines it.</doc>
+ <source-position filename="gst/gstutils.h" line="1223"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="4523">a GType</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="4524">a set of #GstPluginAPIFlags to further inform cache generation.</doc>
+ <type name="PluginAPIFlags" c:type="GstPluginAPIFlags"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="update_registry" c:identifier="gst_update_registry">
+ <doc xml:space="preserve"
+ filename="gst/gstregistry.c"
+ line="1829">Forces GStreamer to re-scan its plugin paths and update the default
+plugin registry.
+
+Applications will almost never need to call this function, it is only
+useful if the application knows new plugins have been installed (or old
+ones removed) since the start of the application (or, to be precise, the
+first call to gst_init()) and the application wants to make use of any
+newly-installed plugins without restarting the application.
+
+Applications should assume that the registry update is neither atomic nor
+thread-safe and should therefore not have any dynamic pipelines running
+(including the playbin and decodebin elements) and should also not create
+any elements or access the GStreamer registry while the update is in
+progress.
+
+Note that this function may block for a significant amount of time.</doc>
+ <source-position filename="gst/gst.h" line="134"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstregistry.c"
+ line="1849">%TRUE if the registry has been updated successfully (does not
+ imply that there were changes), otherwise %FALSE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </function>
+ <function name="uri_construct"
+ c:identifier="gst_uri_construct"
+ moved-to="Uri.construct"
+ deprecated="1">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="490">Constructs a URI for a given valid protocol and location.
+
+Free-function: g_free</doc>
+ <doc-deprecated xml:space="preserve">Use GstURI instead.</doc-deprecated>
+ <source-position filename="gst/gsturi.h" line="155"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="499">a new string for this URI. Returns %NULL if the
+ given URI protocol is not valid, or the given location is %NULL.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="protocol" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="492">Protocol for URI</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="location" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="493">Location for URI</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="uri_error_quark"
+ c:identifier="gst_uri_error_quark"
+ moved-to="URIError.quark">
+ <attribute name="doc.skip" value="true"/>
+ <return-value transfer-ownership="none">
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </return-value>
+ </function>
+ <function name="uri_from_string"
+ c:identifier="gst_uri_from_string"
+ moved-to="Uri.from_string"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="1627">Parses a URI string into a new #GstUri object. Will return NULL if the URI
+cannot be parsed.</doc>
+ <source-position filename="gst/gsturi.h" line="236"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="1634">A new #GstUri object, or NULL.</doc>
+ <type name="Uri" c:type="GstUri*"/>
+ </return-value>
+ <parameters>
+ <parameter name="uri" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="1629">The URI string to parse.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="uri_from_string_escaped"
+ c:identifier="gst_uri_from_string_escaped"
+ moved-to="Uri.from_string_escaped"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="1644">Parses a URI string into a new #GstUri object. Will return NULL if the URI
+cannot be parsed. This is identical to gst_uri_from_string() except that
+the userinfo and fragment components of the URI will not be unescaped while
+parsing.
+
+Use this when you need to extract a username and password from the userinfo
+such as https://user:password@example.com since either may contain
+a URI-escaped ':' character. gst_uri_from_string() will unescape the entire
+userinfo component, which will make it impossible to know which ':'
+delineates the username and password.
+
+The same applies to the fragment component of the URI, such as
+https://example.com/path#fragment which may contain a URI-escaped '#'.</doc>
+ <source-position filename="gst/gsturi.h" line="239"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="1662">A new #GstUri object, or NULL.</doc>
+ <type name="Uri" c:type="GstUri*"/>
+ </return-value>
+ <parameters>
+ <parameter name="uri" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="1646">The URI string to parse.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="uri_get_location"
+ c:identifier="gst_uri_get_location"
+ moved-to="Uri.get_location">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="441">Extracts the location out of a given valid URI, ie. the protocol and "://"
+are stripped from the URI, which means that the location returned includes
+the hostname if one is specified. The returned string must be freed using
+g_free().
+
+Free-function: g_free</doc>
+ <source-position filename="gst/gsturi.h" line="152"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="452">the location for this URI. Returns
+ %NULL if the URI isn't valid. If the URI does not contain a location, an
+ empty string is returned.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="uri" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="443">A URI string</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="uri_get_protocol"
+ c:identifier="gst_uri_get_protocol"
+ moved-to="Uri.get_protocol">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="393">Extracts the protocol out of a given valid URI. The returned string must be
+freed using g_free().</doc>
+ <source-position filename="gst/gsturi.h" line="146"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="400">The protocol for this URI.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="uri" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="395">A URI string</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="uri_has_protocol"
+ c:identifier="gst_uri_has_protocol"
+ moved-to="Uri.has_protocol">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="415">Checks if the protocol of a given valid URI matches @protocol.</doc>
+ <source-position filename="gst/gsturi.h" line="149"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="422">%TRUE if the protocol matches.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="uri" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="417">a URI string</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="protocol" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="418">a protocol string (e.g. "http")</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="uri_is_valid"
+ c:identifier="gst_uri_is_valid"
+ moved-to="Uri.is_valid">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="372">Tests if the given string is a valid URI identifier. URIs start with a valid
+scheme followed by ":" and maybe a string identifying the location.</doc>
+ <source-position filename="gst/gsturi.h" line="143"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="379">%TRUE if the string is a valid URI</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="uri" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="374">A URI string</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="uri_join_strings"
+ c:identifier="gst_uri_join_strings"
+ moved-to="Uri.join_strings"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="1898">This is a convenience function to join two URI strings and return the result.
+The returned string should be g_free()'d after use.</doc>
+ <source-position filename="gst/gsturi.h" line="251"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="1906">A string representing the percent-encoded join of
+ the two URIs.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="base_uri" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="1900">The percent-encoded base URI.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="ref_uri" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="1901">The percent-encoded reference URI to join to the @base_uri.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="uri_protocol_is_supported"
+ c:identifier="gst_uri_protocol_is_supported"
+ moved-to="Uri.protocol_is_supported">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="585">Checks if an element exists that supports the given URI protocol. Note
+that a positive return value does not imply that a subsequent call to
+gst_element_make_from_uri() is guaranteed to work.</doc>
+ <source-position filename="gst/gsturi.h" line="140"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="594">%TRUE</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="587">Whether to check for a source or a sink</doc>
+ <type name="URIType" c:type="const GstURIType"/>
+ </parameter>
+ <parameter name="protocol" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="588">Protocol that should be checked for (e.g. "http" or "smb")</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="uri_protocol_is_valid"
+ c:identifier="gst_uri_protocol_is_valid"
+ moved-to="Uri.protocol_is_valid">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="350">Tests if the given string is a valid protocol identifier. Protocols
+must consist of alphanumeric characters, '+', '-' and '.' and must
+start with a alphabetic character. See RFC 3986 Section 3.1.</doc>
+ <source-position filename="gst/gsturi.h" line="137"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="358">%TRUE if the string is a valid protocol identifier, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="protocol" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gsturi.c"
+ line="352">A string</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="util_array_binary_search"
+ c:identifier="gst_util_array_binary_search">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="3531">Searches inside @array for @search_data by using the comparison function
+@search_func. @array must be sorted ascending.
+
+As @search_data is always passed as second argument to @search_func it's
+not required that @search_data has the same type as the array elements.
+
+The complexity of this search function is O(log (num_elements)).</doc>
+ <source-position filename="gst/gstutils.h" line="1187"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="3549">The address of the found
+element or %NULL if nothing was found</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </return-value>
+ <parameters>
+ <parameter name="array"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="3533">the sorted input array</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="num_elements" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="3534">number of elements in the array</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="element_size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="3535">size of every element in bytes</doc>
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ <parameter name="search_func"
+ transfer-ownership="none"
+ scope="call"
+ closure="6">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="3536">function to compare two elements, @search_data will always be passed as second argument</doc>
+ <type name="GLib.CompareDataFunc" c:type="GCompareDataFunc"/>
+ </parameter>
+ <parameter name="mode" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="3537">search mode that should be used</doc>
+ <type name="SearchMode" c:type="GstSearchMode"/>
+ </parameter>
+ <parameter name="search_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="3538">element that should be found</doc>
+ <type name="gpointer" c:type="gconstpointer"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="3539">data to pass to @search_func</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="util_double_to_fraction"
+ c:identifier="gst_util_double_to_fraction">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="3695">Transforms a #gdouble to a fraction and simplifies
+the result.</doc>
+ <source-position filename="gst/gstutils.h" line="1204"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="3697">#gdouble to transform</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </parameter>
+ <parameter name="dest_n"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="3698">pointer to a #gint to hold the result numerator</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ <parameter name="dest_d"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="3699">pointer to a #gint to hold the result denominator</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="util_dump_buffer"
+ c:identifier="gst_util_dump_buffer"
+ version="1.14">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="97">Dumps the buffer memory into a hex representation. Useful for debugging.</doc>
+ <source-position filename="gst/gstutils.h" line="51"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="buf" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="99">a #GstBuffer whose memory to dump</doc>
+ <type name="Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="util_dump_mem" c:identifier="gst_util_dump_mem">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="84">Dumps the memory block into a hex representation. Useful for debugging.</doc>
+ <source-position filename="gst/gstutils.h" line="48"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="mem" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="86">a pointer to the memory to dump</doc>
+ <array length="1" zero-terminated="0" c:type="const guchar*">
+ <type name="guint8" c:type="guchar"/>
+ </array>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="87">the size of the memory block to dump</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="util_fraction_add" c:identifier="gst_util_fraction_add">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="3853">Adds the fractions @a_n/@a_d and @b_n/@b_d and stores
+the result in @res_n and @res_d.</doc>
+ <source-position filename="gst/gstutils.h" line="1210"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="3865">%FALSE on overflow, %TRUE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="a_n" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="3855">Numerator of first value</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="a_d" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="3856">Denominator of first value</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="b_n" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="3857">Numerator of second value</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="b_d" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="3858">Denominator of second value</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="res_n"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="3859">Pointer to #gint to hold the result numerator</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ <parameter name="res_d"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="3860">Pointer to #gint to hold the result denominator</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="util_fraction_compare"
+ c:identifier="gst_util_fraction_compare">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="3918">Compares the fractions @a_n/@a_d and @b_n/@b_d and returns
+-1 if a &lt; b, 0 if a = b and 1 if a &gt; b.</doc>
+ <source-position filename="gst/gstutils.h" line="1213"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="3928">-1 if a &lt; b; 0 if a = b; 1 if a &gt; b.</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <parameter name="a_n" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="3920">Numerator of first value</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="a_d" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="3921">Denominator of first value</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="b_n" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="3922">Numerator of second value</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="b_d" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="3923">Denominator of second value</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="util_fraction_multiply"
+ c:identifier="gst_util_fraction_multiply">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="3789">Multiplies the fractions @a_n/@a_d and @b_n/@b_d and stores
+the result in @res_n and @res_d.</doc>
+ <source-position filename="gst/gstutils.h" line="1207"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="3801">%FALSE on overflow, %TRUE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="a_n" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="3791">Numerator of first value</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="a_d" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="3792">Denominator of first value</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="b_n" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="3793">Numerator of second value</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="b_d" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="3794">Denominator of second value</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="res_n"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="3795">Pointer to #gint to hold the result numerator</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ <parameter name="res_d"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="3796">Pointer to #gint to hold the result denominator</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="util_fraction_to_double"
+ c:identifier="gst_util_fraction_to_double">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="3669">Transforms a fraction to a #gdouble.</doc>
+ <source-position filename="gst/gstutils.h" line="1201"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="src_n" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="3671">Fraction numerator as #gint</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="src_d" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="3672">Fraction denominator #gint</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="dest"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="3673">pointer to a #gdouble for the result</doc>
+ <type name="gdouble" c:type="gdouble*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="util_gdouble_to_guint64"
+ c:identifier="gst_util_gdouble_to_guint64">
+ <source-position filename="gst/gstutils.h" line="54"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="320">@value casted to #guint64</doc>
+ <type name="guint64" c:type="guint64"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="318">The #gdouble value to convert guint64 double</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="util_get_object_array"
+ c:identifier="gst_util_get_object_array"
+ version="1.12">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="260">Get a property of type %GST_TYPE_ARRAY and transform it into a
+#GValueArray. This allow language bindings to get GST_TYPE_ARRAY
+properties which are otherwise not an accessible type.</doc>
+ <source-position filename="gst/gstutils.h" line="45"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="262">the object to set the array to</doc>
+ <type name="GObject.Object" c:type="GObject*"/>
+ </parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="263">the name of the property to set</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="array"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="264">a return #GValueArray</doc>
+ <type name="GObject.ValueArray" c:type="GValueArray**"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="util_get_timestamp" c:identifier="gst_util_get_timestamp">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="3509">Get a timestamp as GstClockTime to be used for interval measurements.
+The timestamp should not be interpreted in any other way.</doc>
+ <source-position filename="gst/gstutils.h" line="1158"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="3515">the timestamp</doc>
+ <type name="ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ </function>
+ <function name="util_greatest_common_divisor"
+ c:identifier="gst_util_greatest_common_divisor">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="3622">Calculates the greatest common divisor of @a
+and @b.</doc>
+ <source-position filename="gst/gstutils.h" line="1195"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="3630">Greatest common divisor of @a and @b</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <parameter name="a" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="3624">First value as #gint</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="b" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="3625">Second value as #gint</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="util_greatest_common_divisor_int64"
+ c:identifier="gst_util_greatest_common_divisor_int64">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="3645">Calculates the greatest common divisor of @a
+and @b.</doc>
+ <source-position filename="gst/gstutils.h" line="1198"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="3653">Greatest common divisor of @a and @b</doc>
+ <type name="gint64" c:type="gint64"/>
+ </return-value>
+ <parameters>
+ <parameter name="a" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="3647">First value as #gint64</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ <parameter name="b" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="3648">Second value as #gint64</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="util_group_id_next" c:identifier="gst_util_group_id_next">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="4232">Return a constantly incrementing group id.
+
+This function is used to generate a new group-id for the
+stream-start event.
+
+This function never returns %GST_GROUP_ID_INVALID (which is 0)</doc>
+ <source-position filename="gst/gstutils.h" line="133"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="4242">A constantly incrementing unsigned integer, which might
+overflow back to 0 at some point.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ </function>
+ <function name="util_guint64_to_gdouble"
+ c:identifier="gst_util_guint64_to_gdouble">
+ <source-position filename="gst/gstutils.h" line="57"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="305">@value casted to #gdouble</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="303">The #guint64 value to convert to double</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="util_seqnum_compare"
+ c:identifier="gst_util_seqnum_compare">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="855">Compare two sequence numbers, handling wraparound.
+
+The current implementation just returns (gint32)(@s1 - @s2).</doc>
+ <source-position filename="gst/gstutils.h" line="118"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="864">A negative number if @s1 is before @s2, 0 if they are equal, or a
+positive number if @s1 is after @s2.</doc>
+ <type name="gint32" c:type="gint32"/>
+ </return-value>
+ <parameters>
+ <parameter name="s1" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="857">A sequence number.</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ <parameter name="s2" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="858">Another sequence number.</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="util_seqnum_next" c:identifier="gst_util_seqnum_next">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="826">Return a constantly incrementing sequence number.
+
+This function is used internally to GStreamer to be able to determine which
+events and messages are "the same". For example, elements may set the seqnum
+on a segment-done message to be the same as that of the last seek event, to
+indicate that event and the message correspond to the same segment.
+
+This function never returns %GST_SEQNUM_INVALID (which is 0).</doc>
+ <source-position filename="gst/gstutils.h" line="115"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="838">A constantly incrementing 32-bit unsigned integer, which might
+overflow at some point. Use gst_util_seqnum_compare() to make sure
+you handle wraparound correctly.</doc>
+ <type name="guint32" c:type="guint32"/>
+ </return-value>
+ </function>
+ <function name="util_set_object_arg"
+ c:identifier="gst_util_set_object_arg">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="172">Converts the string value to the type of the objects argument and
+sets the argument with it.
+
+Note that this function silently returns if @object has no property named
+@name or when @value cannot be converted to the type of the property.</doc>
+ <source-position filename="gst/gstutils.h" line="39"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="174">the object to set the argument of</doc>
+ <type name="GObject.Object" c:type="GObject*"/>
+ </parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="175">the name of the argument to set</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="176">the string value to set</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="util_set_object_array"
+ c:identifier="gst_util_set_object_array"
+ version="1.12">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="225">Transfer a #GValueArray to %GST_TYPE_ARRAY and set this value on the
+specified property name. This allow language bindings to set GST_TYPE_ARRAY
+properties which are otherwise not an accessible type.</doc>
+ <source-position filename="gst/gstutils.h" line="42"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="227">the object to set the array to</doc>
+ <type name="GObject.Object" c:type="GObject*"/>
+ </parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="228">the name of the property to set</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="array" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="229">a #GValueArray containing the values</doc>
+ <type name="GObject.ValueArray" c:type="const GValueArray*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="util_set_value_from_string"
+ c:identifier="gst_util_set_value_from_string">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="141">Converts the string to the type of the value and
+sets the value with it.
+
+Note that this function is dangerous as it does not return any indication
+if the conversion worked or not.</doc>
+ <source-position filename="gst/gstutils.h" line="36"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="value"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="143">the value to set</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="value_str" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="144">the string to get the value from</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="util_uint64_scale" c:identifier="gst_util_uint64_scale">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="646">Scale @val by the rational number @num / @denom, avoiding overflows and
+underflows and without loss of precision.
+
+This function can potentially be very slow if val and num are both
+greater than G_MAXUINT32.</doc>
+ <source-position filename="gst/gstutils.h" line="85"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="658">@val * @num / @denom. In the case of an overflow, this
+function returns G_MAXUINT64. If the result is not exactly
+representable as an integer it is truncated. See also
+gst_util_uint64_scale_round(), gst_util_uint64_scale_ceil(),
+gst_util_uint64_scale_int(), gst_util_uint64_scale_int_round(),
+gst_util_uint64_scale_int_ceil().</doc>
+ <type name="guint64" c:type="guint64"/>
+ </return-value>
+ <parameters>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="648">the number to scale</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ <parameter name="num" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="649">the numerator of the scale ratio</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ <parameter name="denom" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="650">the denominator of the scale ratio</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="util_uint64_scale_ceil"
+ c:identifier="gst_util_uint64_scale_ceil">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="696">Scale @val by the rational number @num / @denom, avoiding overflows and
+underflows and without loss of precision.
+
+This function can potentially be very slow if val and num are both
+greater than G_MAXUINT32.</doc>
+ <source-position filename="gst/gstutils.h" line="91"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="708">@val * @num / @denom. In the case of an overflow, this
+function returns G_MAXUINT64. If the result is not exactly
+representable as an integer, it is rounded up. See also
+gst_util_uint64_scale(), gst_util_uint64_scale_round(),
+gst_util_uint64_scale_int(), gst_util_uint64_scale_int_round(),
+gst_util_uint64_scale_int_ceil().</doc>
+ <type name="guint64" c:type="guint64"/>
+ </return-value>
+ <parameters>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="698">the number to scale</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ <parameter name="num" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="699">the numerator of the scale ratio</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ <parameter name="denom" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="700">the denominator of the scale ratio</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="util_uint64_scale_int"
+ c:identifier="gst_util_uint64_scale_int">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="755">Scale @val by the rational number @num / @denom, avoiding overflows and
+underflows and without loss of precision. @num must be non-negative and
+@denom must be positive.</doc>
+ <source-position filename="gst/gstutils.h" line="94"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="765">@val * @num / @denom. In the case of an overflow, this
+function returns G_MAXUINT64. If the result is not exactly
+representable as an integer, it is truncated. See also
+gst_util_uint64_scale_int_round(), gst_util_uint64_scale_int_ceil(),
+gst_util_uint64_scale(), gst_util_uint64_scale_round(),
+gst_util_uint64_scale_ceil().</doc>
+ <type name="guint64" c:type="guint64"/>
+ </return-value>
+ <parameters>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="757">guint64 (such as a #GstClockTime) to scale.</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ <parameter name="num" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="758">numerator of the scale factor.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="denom" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="759">denominator of the scale factor.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="util_uint64_scale_int_ceil"
+ c:identifier="gst_util_uint64_scale_int_ceil">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="803">Scale @val by the rational number @num / @denom, avoiding overflows and
+underflows and without loss of precision. @num must be non-negative and
+@denom must be positive.</doc>
+ <source-position filename="gst/gstutils.h" line="100"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="813">@val * @num / @denom. In the case of an overflow, this
+function returns G_MAXUINT64. If the result is not exactly
+representable as an integer, it is rounded up. See also
+gst_util_uint64_scale_int(), gst_util_uint64_scale_int_round(),
+gst_util_uint64_scale(), gst_util_uint64_scale_round(),
+gst_util_uint64_scale_ceil().</doc>
+ <type name="guint64" c:type="guint64"/>
+ </return-value>
+ <parameters>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="805">guint64 (such as a #GstClockTime) to scale.</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ <parameter name="num" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="806">numerator of the scale factor.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="denom" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="807">denominator of the scale factor.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="util_uint64_scale_int_round"
+ c:identifier="gst_util_uint64_scale_int_round">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="778">Scale @val by the rational number @num / @denom, avoiding overflows and
+underflows and without loss of precision. @num must be non-negative and
+@denom must be positive.</doc>
+ <source-position filename="gst/gstutils.h" line="97"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="788">@val * @num / @denom. In the case of an overflow, this
+function returns G_MAXUINT64. If the result is not exactly
+representable as an integer, it is rounded to the nearest integer
+(half-way cases are rounded up). See also gst_util_uint64_scale_int(),
+gst_util_uint64_scale_int_ceil(), gst_util_uint64_scale(),
+gst_util_uint64_scale_round(), gst_util_uint64_scale_ceil().</doc>
+ <type name="guint64" c:type="guint64"/>
+ </return-value>
+ <parameters>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="780">guint64 (such as a #GstClockTime) to scale.</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ <parameter name="num" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="781">numerator of the scale factor.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="denom" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="782">denominator of the scale factor.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="util_uint64_scale_round"
+ c:identifier="gst_util_uint64_scale_round">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="671">Scale @val by the rational number @num / @denom, avoiding overflows and
+underflows and without loss of precision.
+
+This function can potentially be very slow if val and num are both
+greater than G_MAXUINT32.</doc>
+ <source-position filename="gst/gstutils.h" line="88"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="683">@val * @num / @denom. In the case of an overflow, this
+function returns G_MAXUINT64. If the result is not exactly
+representable as an integer, it is rounded to the nearest integer
+(half-way cases are rounded up). See also gst_util_uint64_scale(),
+gst_util_uint64_scale_ceil(), gst_util_uint64_scale_int(),
+gst_util_uint64_scale_int_round(), gst_util_uint64_scale_int_ceil().</doc>
+ <type name="guint64" c:type="guint64"/>
+ </return-value>
+ <parameters>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="673">the number to scale</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ <parameter name="num" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="674">the numerator of the scale ratio</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ <parameter name="denom" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstutils.c"
+ line="675">the denominator of the scale ratio</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_can_compare" c:identifier="gst_value_can_compare">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="5720">Determines if @value1 and @value2 can be compared.</doc>
+ <source-position filename="gst/gstvalue.h" line="767"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="5727">%TRUE if the values can be compared</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="value1" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="5722">a value to compare</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </parameter>
+ <parameter name="value2" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="5723">another value to compare</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_can_intersect"
+ c:identifier="gst_value_can_intersect">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="6002">Determines if intersecting two values will produce a valid result.
+Two values will produce a valid intersection if they have the same
+type.</doc>
+ <source-position filename="gst/gstvalue.h" line="790"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="6011">%TRUE if the values can intersect</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="value1" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="6004">a value to intersect</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </parameter>
+ <parameter name="value2" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="6005">another value to intersect</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_can_subtract" c:identifier="gst_value_can_subtract">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="6242">Checks if it's possible to subtract @subtrahend from @minuend.</doc>
+ <source-position filename="gst/gstvalue.h" line="800"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="6249">%TRUE if a subtraction is possible</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="minuend" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="6244">the value to subtract from</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </parameter>
+ <parameter name="subtrahend" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="6245">the value to subtract</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_can_union" c:identifier="gst_value_can_union">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="5895">Determines if @value1 and @value2 can be non-trivially unioned.
+Any two values can be trivially unioned by adding both of them
+to a GstValueList. However, certain types have the possibility
+to be unioned in a simpler way. For example, an integer range
+and an integer can be unioned if the integer is a subset of the
+integer range. If there is the possibility that two values can
+be unioned, this function returns %TRUE.</doc>
+ <source-position filename="gst/gstvalue.h" line="780"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="5908">%TRUE if there is a function allowing the two values to
+be unioned.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="value1" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="5897">a value to union</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </parameter>
+ <parameter name="value2" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="5898">another value to union</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_compare" c:identifier="gst_value_compare">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="5814">Compares @value1 and @value2. If @value1 and @value2 cannot be
+compared, the function returns GST_VALUE_UNORDERED. Otherwise,
+if @value1 is greater than @value2, GST_VALUE_GREATER_THAN is returned.
+If @value1 is less than @value2, GST_VALUE_LESS_THAN is returned.
+If the values are equal, GST_VALUE_EQUAL is returned.</doc>
+ <source-position filename="gst/gstvalue.h" line="764"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="5825">comparison result</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <parameter name="value1" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="5816">a value to compare</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </parameter>
+ <parameter name="value2" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="5817">another value to compare</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_deserialize" c:identifier="gst_value_deserialize">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="6428">Tries to deserialize a string into the type specified by the given GValue.
+If the operation succeeds, %TRUE is returned, %FALSE otherwise.</doc>
+ <source-position filename="gst/gstvalue.h" line="564"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="6437">%TRUE on success</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="dest"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="6430">#GValue to fill with contents of
+ deserialization</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="src" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="6432">string to deserialize</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_deserialize_with_pspec"
+ c:identifier="gst_value_deserialize_with_pspec"
+ version="1.20">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="6475">Tries to deserialize a string into the type specified by the given GValue.
+@pspec may be used to guide the deserializing of nested members.
+If the operation succeeds, %TRUE is returned, %FALSE otherwise.</doc>
+ <source-position filename="gst/gstvalue.h" line="568"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="6486">%TRUE on success</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="dest"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="6477">#GValue to fill with contents of
+ deserialization</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="src" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="6479">string to deserialize</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="pspec"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="6480">the #GParamSpec describing the expected value</doc>
+ <type name="GObject.ParamSpec" c:type="GParamSpec*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_fixate" c:identifier="gst_value_fixate">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="6585">Fixate @src into a new value @dest.
+For ranges, the first element is taken. For lists and arrays, the
+first item is fixated and returned.
+If @src is already fixed, this function returns %FALSE.</doc>
+ <source-position filename="gst/gstvalue.h" line="809"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="6595">%TRUE if @dest contains a fixated version of @src.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="dest" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="6587">the #GValue destination</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="src" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="6588">the #GValue to fixate</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_fraction_multiply"
+ c:identifier="gst_value_fraction_multiply">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="6811">Multiplies the two #GValue items containing a #GST_TYPE_FRACTION and sets
+@product to the product of the two fractions.</doc>
+ <source-position filename="gst/gstvalue.h" line="716"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="6820">%FALSE in case of an error (like integer overflow), %TRUE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="product" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="6813">a GValue initialized to #GST_TYPE_FRACTION</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="factor1" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="6814">a GValue initialized to #GST_TYPE_FRACTION</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </parameter>
+ <parameter name="factor2" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="6815">a GValue initialized to #GST_TYPE_FRACTION</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_fraction_subtract"
+ c:identifier="gst_value_fraction_subtract">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="6846">Subtracts the @subtrahend from the @minuend and sets @dest to the result.</doc>
+ <source-position filename="gst/gstvalue.h" line="720"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="6854">%FALSE in case of an error (like integer overflow), %TRUE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="dest" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="6848">a GValue initialized to #GST_TYPE_FRACTION</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="minuend" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="6849">a GValue initialized to #GST_TYPE_FRACTION</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </parameter>
+ <parameter name="subtrahend" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="6850">a GValue initialized to #GST_TYPE_FRACTION</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_get_bitmask" c:identifier="gst_value_get_bitmask">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="7222">Gets the bitmask specified by @value.</doc>
+ <source-position filename="gst/gstvalue.h" line="745"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="7228">the bitmask.</doc>
+ <type name="guint64" c:type="guint64"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="7224">a GValue initialized to #GST_TYPE_BITMASK</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function-macro name="value_get_buffer"
+ c:identifier="gst_value_get_buffer"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="691">Receives a #GstBuffer as the value of @v. Does not return a reference to
+the buffer, so the pointer is only valid for as long as the caller owns
+a reference to @v.</doc>
+ <source-position filename="gst/gstbuffer.h" line="700"/>
+ <parameters>
+ <parameter name="v">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="693">a #GValue to query</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function name="value_get_caps" c:identifier="gst_value_get_caps">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="2197">Gets the contents of @value. The reference count of the returned
+#GstCaps will not be modified, therefore the caller must take one
+before getting rid of the @value.</doc>
+ <source-position filename="gst/gstvalue.h" line="677"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="2205">the contents of @value</doc>
+ <type name="Caps" c:type="const GstCaps*"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="2199">a GValue initialized to GST_TYPE_CAPS</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_get_caps_features"
+ c:identifier="gst_value_get_caps_features">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="2932">Gets the contents of @value.</doc>
+ <source-position filename="gst/gstvalue.h" line="697"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="2938">the contents of @value</doc>
+ <type name="CapsFeatures" c:type="const GstCapsFeatures*"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="2934">a GValue initialized to GST_TYPE_CAPS_FEATURES</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_get_double_range_max"
+ c:identifier="gst_value_get_double_range_max">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="1831">Gets the maximum of the range specified by @value.</doc>
+ <source-position filename="gst/gstvalue.h" line="672"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="1837">the maximum of the range</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="1833">a GValue initialized to GST_TYPE_DOUBLE_RANGE</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_get_double_range_min"
+ c:identifier="gst_value_get_double_range_min">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="1815">Gets the minimum of the range specified by @value.</doc>
+ <source-position filename="gst/gstvalue.h" line="669"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="1821">the minimum of the range</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="1817">a GValue initialized to GST_TYPE_DOUBLE_RANGE</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_get_flagset_flags"
+ c:identifier="gst_value_get_flagset_flags"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="7381">Retrieve the flags field of a GstFlagSet @value.</doc>
+ <source-position filename="gst/gstvalue.h" line="756"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="7387">the flags field of the flagset instance.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="7383">a GValue initialized to #GST_TYPE_FLAG_SET</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_get_flagset_mask"
+ c:identifier="gst_value_get_flagset_mask"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="7399">Retrieve the mask field of a GstFlagSet @value.</doc>
+ <source-position filename="gst/gstvalue.h" line="759"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="7405">the mask field of the flagset instance.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="7401">a GValue initialized to #GST_TYPE_FLAG_SET</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_get_fraction_denominator"
+ c:identifier="gst_value_get_fraction_denominator">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="6795">Gets the denominator of the fraction specified by @value.</doc>
+ <source-position filename="gst/gstvalue.h" line="713"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="6801">the denominator of the fraction.</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="6797">a GValue initialized to #GST_TYPE_FRACTION</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_get_fraction_numerator"
+ c:identifier="gst_value_get_fraction_numerator">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="6779">Gets the numerator of the fraction specified by @value.</doc>
+ <source-position filename="gst/gstvalue.h" line="710"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="6785">the numerator of the fraction.</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="6781">a GValue initialized to #GST_TYPE_FRACTION</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_get_fraction_range_max"
+ c:identifier="gst_value_get_fraction_range_max">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="2095">Gets the maximum of the range specified by @value.</doc>
+ <source-position filename="gst/gstvalue.h" line="740"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="2101">the maximum of the range</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="2097">a GValue initialized to GST_TYPE_FRACTION_RANGE</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_get_fraction_range_min"
+ c:identifier="gst_value_get_fraction_range_min">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="2072">Gets the minimum of the range specified by @value.</doc>
+ <source-position filename="gst/gstvalue.h" line="737"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="2078">the minimum of the range</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="2074">a GValue initialized to GST_TYPE_FRACTION_RANGE</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_get_int64_range_max"
+ c:identifier="gst_value_get_int64_range_max">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="1652">Gets the maximum of the range specified by @value.</doc>
+ <source-position filename="gst/gstvalue.h" line="657"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="1658">the maximum of the range</doc>
+ <type name="gint64" c:type="gint64"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="1654">a GValue initialized to GST_TYPE_INT64_RANGE</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_get_int64_range_min"
+ c:identifier="gst_value_get_int64_range_min">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="1636">Gets the minimum of the range specified by @value.</doc>
+ <source-position filename="gst/gstvalue.h" line="654"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="1642">the minimum of the range</doc>
+ <type name="gint64" c:type="gint64"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="1638">a GValue initialized to GST_TYPE_INT64_RANGE</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_get_int64_range_step"
+ c:identifier="gst_value_get_int64_range_step">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="1668">Gets the step of the range specified by @value.</doc>
+ <source-position filename="gst/gstvalue.h" line="660"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="1674">the step of the range</doc>
+ <type name="gint64" c:type="gint64"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="1670">a GValue initialized to GST_TYPE_INT64_RANGE</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_get_int_range_max"
+ c:identifier="gst_value_get_int_range_max">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="1406">Gets the maximum of the range specified by @value.</doc>
+ <source-position filename="gst/gstvalue.h" line="637"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="1412">the maximum of the range</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="1408">a GValue initialized to GST_TYPE_INT_RANGE</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_get_int_range_min"
+ c:identifier="gst_value_get_int_range_min">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="1390">Gets the minimum of the range specified by @value.</doc>
+ <source-position filename="gst/gstvalue.h" line="634"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="1396">the minimum of the range</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="1392">a GValue initialized to GST_TYPE_INT_RANGE</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_get_int_range_step"
+ c:identifier="gst_value_get_int_range_step">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="1422">Gets the step of the range specified by @value.</doc>
+ <source-position filename="gst/gstvalue.h" line="640"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="1428">the step of the range</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="1424">a GValue initialized to GST_TYPE_INT_RANGE</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function-macro name="value_get_sample"
+ c:identifier="gst_value_get_sample"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstsample.h"
+ line="195">Receives a #GstSample as the value of @v. Does not return a reference to
+the sample, so the pointer is only valid for as long as the caller owns
+a reference to @v.</doc>
+ <source-position filename="gst/gstsample.h" line="205"/>
+ <parameters>
+ <parameter name="v">
+ <doc xml:space="preserve"
+ filename="gst/gstsample.h"
+ line="197">a #GValue to query</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function name="value_get_structure"
+ c:identifier="gst_value_get_structure">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="2844">Gets the contents of @value.</doc>
+ <source-position filename="gst/gstvalue.h" line="687"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="2850">the contents of @value</doc>
+ <type name="Structure" c:type="const GstStructure*"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="2846">a GValue initialized to GST_TYPE_STRUCTURE</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_init_and_copy"
+ c:identifier="gst_value_init_and_copy">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="6333">Initialises the target value to be of the same type as source and then copies
+the contents from source to target.</doc>
+ <source-position filename="gst/gstvalue.h" line="558"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="dest"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="6335">the target value</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="src" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="6336">the source value</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_intersect" c:identifier="gst_value_intersect">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="6061">Calculates the intersection of two values. If the values have
+a non-empty intersection, the value representing the intersection
+is placed in @dest, unless %NULL. If the intersection is non-empty,
+@dest is not modified.</doc>
+ <source-position filename="gst/gstvalue.h" line="786"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="6075">%TRUE if the intersection is non-empty</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="dest"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="6063">
+ a uninitialized #GValue that will hold the calculated
+ intersection value. May be %NULL if the resulting set if not
+ needed.</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="value1" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="6067">a value to intersect</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </parameter>
+ <parameter name="value2" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="6068">another value to intersect</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_is_fixed" c:identifier="gst_value_is_fixed">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="6537">Tests if the given GValue, if available in a GstStructure (or any other
+container) contains a "fixed" (which means: one value) or an "unfixed"
+(which means: multiple possible values, such as data lists or data
+ranges) value.</doc>
+ <source-position filename="gst/gstvalue.h" line="806"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="6546">true if the value is "fixed".</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="6539">the #GValue to check</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_is_subset" c:identifier="gst_value_is_subset">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="4313">Check that @value1 is a subset of @value2.</doc>
+ <source-position filename="gst/gstvalue.h" line="770"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="4320">%TRUE is @value1 is a subset of @value2</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="value1" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="4315">a #GValue</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </parameter>
+ <parameter name="value2" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="4316">a #GValue</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_register" c:identifier="gst_value_register">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="6308">Registers functions to perform calculations on #GValue items of a given
+type. Each type can only be added once.</doc>
+ <source-position filename="gst/gstvalue.h" line="555"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="table" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="6310">structure containing functions to register</doc>
+ <type name="ValueTable" c:type="const GstValueTable*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_serialize" c:identifier="gst_value_serialize">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="6376">tries to transform the given @value into a string representation that allows
+getting back this string later on using gst_value_deserialize().
+
+Free-function: g_free</doc>
+ <source-position filename="gst/gstvalue.h" line="561"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="6385">the serialization for @value
+or %NULL if none exists</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="6378">a #GValue to serialize</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_set_bitmask" c:identifier="gst_value_set_bitmask">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="7207">Sets @value to the bitmask specified by @bitmask.</doc>
+ <source-position filename="gst/gstvalue.h" line="748"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="7209">a GValue initialized to #GST_TYPE_BITMASK</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="bitmask" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="7210">the bitmask</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function-macro name="value_set_buffer"
+ c:identifier="gst_value_set_buffer"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="675">Sets @b as the value of @v. Caller retains reference to buffer.</doc>
+ <source-position filename="gst/gstbuffer.h" line="681"/>
+ <parameters>
+ <parameter name="v">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="677">a #GValue to receive the data</doc>
+ </parameter>
+ <parameter name="b">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="678">a #GstBuffer to assign to the GstValue</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function name="value_set_caps" c:identifier="gst_value_set_caps">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="2179">Sets the contents of @value to @caps. A reference to the
+provided @caps will be taken by the @value.</doc>
+ <source-position filename="gst/gstvalue.h" line="680"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="2181">a GValue initialized to GST_TYPE_CAPS</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="2182">the caps to set the value to</doc>
+ <type name="Caps" c:type="const GstCaps*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_set_caps_features"
+ c:identifier="gst_value_set_caps_features">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="2915">Sets the contents of @value to @features.</doc>
+ <source-position filename="gst/gstvalue.h" line="700"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="2917">a GValue initialized to GST_TYPE_CAPS_FEATURES</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="features" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="2918">the features to set the value to</doc>
+ <type name="CapsFeatures" c:type="const GstCapsFeatures*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_set_double_range"
+ c:identifier="gst_value_set_double_range">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="1797">Sets @value to the range specified by @start and @end.</doc>
+ <source-position filename="gst/gstvalue.h" line="665"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="1799">a GValue initialized to GST_TYPE_DOUBLE_RANGE</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="start" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="1800">the start of the range</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </parameter>
+ <parameter name="end" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="1801">the end of the range</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_set_flagset"
+ c:identifier="gst_value_set_flagset"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="7359">Sets @value to the flags and mask values provided in @flags and @mask.
+The @flags value indicates the values of flags, the @mask represents
+which bits in the flag value have been set, and which are "don't care"</doc>
+ <source-position filename="gst/gstvalue.h" line="753"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="7361">a GValue initialized to %GST_TYPE_FLAG_SET</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="7362">The value of the flags set or unset</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="mask" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="7363">The mask indicate which flags bits must match for comparisons</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_set_fraction" c:identifier="gst_value_set_fraction">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="6740">Sets @value to the fraction specified by @numerator over @denominator.
+The fraction gets reduced to the smallest numerator and denominator,
+and if necessary the sign is moved to the numerator.</doc>
+ <source-position filename="gst/gstvalue.h" line="706"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="6742">a GValue initialized to #GST_TYPE_FRACTION</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="numerator" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="6743">the numerator of the fraction</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="denominator" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="6744">the denominator of the fraction</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_set_fraction_range"
+ c:identifier="gst_value_set_fraction_range">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="1997">Sets @value to the range specified by @start and @end.</doc>
+ <source-position filename="gst/gstvalue.h" line="727"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="1999">a GValue initialized to GST_TYPE_FRACTION_RANGE</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="start" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="2000">the start of the range (a GST_TYPE_FRACTION GValue)</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </parameter>
+ <parameter name="end" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="2001">the end of the range (a GST_TYPE_FRACTION GValue)</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_set_fraction_range_full"
+ c:identifier="gst_value_set_fraction_range_full">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="2026">Sets @value to the range specified by @numerator_start/@denominator_start
+and @numerator_end/@denominator_end.</doc>
+ <source-position filename="gst/gstvalue.h" line="731"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="2028">a GValue initialized to GST_TYPE_FRACTION_RANGE</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="numerator_start" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="2029">the numerator start of the range</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="denominator_start" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="2030">the denominator start of the range</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="numerator_end" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="2031">the numerator end of the range</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="denominator_end" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="2032">the denominator end of the range</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_set_int64_range"
+ c:identifier="gst_value_set_int64_range">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="1622">Sets @value to the range specified by @start and @end.</doc>
+ <source-position filename="gst/gstvalue.h" line="645"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="1624">a GValue initialized to GST_TYPE_INT64_RANGE</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="start" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="1625">the start of the range</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ <parameter name="end" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="1626">the end of the range</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_set_int64_range_step"
+ c:identifier="gst_value_set_int64_range_step">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="1598">Sets @value to the range specified by @start, @end and @step.</doc>
+ <source-position filename="gst/gstvalue.h" line="649"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="1600">a GValue initialized to GST_TYPE_INT64_RANGE</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="start" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="1601">the start of the range</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ <parameter name="end" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="1602">the end of the range</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ <parameter name="step" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="1603">the step of the range</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_set_int_range"
+ c:identifier="gst_value_set_int_range">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="1376">Sets @value to the range specified by @start and @end.</doc>
+ <source-position filename="gst/gstvalue.h" line="625"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="1378">a GValue initialized to GST_TYPE_INT_RANGE</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="start" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="1379">the start of the range</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="end" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="1380">the end of the range</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_set_int_range_step"
+ c:identifier="gst_value_set_int_range_step">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="1350">Sets @value to the range specified by @start, @end and @step.</doc>
+ <source-position filename="gst/gstvalue.h" line="629"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="1352">a GValue initialized to GST_TYPE_INT_RANGE</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="start" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="1353">the start of the range</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="end" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="1354">the end of the range</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="step" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="1355">the step of the range</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function-macro name="value_set_sample"
+ c:identifier="gst_value_set_sample"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstsample.h"
+ line="179">Sets @b as the value of @v. Caller retains reference to sample.</doc>
+ <source-position filename="gst/gstsample.h" line="186"/>
+ <parameters>
+ <parameter name="v">
+ <doc xml:space="preserve"
+ filename="gst/gstsample.h"
+ line="181">a #GValue to receive the data</doc>
+ </parameter>
+ <parameter name="b">
+ <doc xml:space="preserve"
+ filename="gst/gstsample.h"
+ line="182">a #GstSample to assign to the GstValue</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function name="value_set_structure"
+ c:identifier="gst_value_set_structure">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="2827">Sets the contents of @value to @structure.</doc>
+ <source-position filename="gst/gstvalue.h" line="690"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="2829">a GValue initialized to GST_TYPE_STRUCTURE</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="structure" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="2830">the structure to set the value to</doc>
+ <type name="Structure" c:type="const GstStructure*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="value_subtract" c:identifier="gst_value_subtract">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="6177">Subtracts @subtrahend from @minuend and stores the result in @dest.
+Note that this means subtraction as in sets, not as in mathematics.</doc>
+ <source-position filename="gst/gstvalue.h" line="796"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="6189">%TRUE if the subtraction is not empty</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="dest"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="6179">the destination value
+ for the result if the subtraction is not empty. May be %NULL,
+ in which case the resulting set will not be computed, which can
+ give a fair speedup.</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="minuend" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="6183">the value to subtract from</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </parameter>
+ <parameter name="subtrahend" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="6184">the value to subtract</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function-macro name="value_take_buffer"
+ c:identifier="gst_value_take_buffer"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="683">Sets @b as the value of @v. Caller gives away reference to buffer.</doc>
+ <source-position filename="gst/gstbuffer.h" line="689"/>
+ <parameters>
+ <parameter name="v">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="685">a #GValue to receive the data</doc>
+ </parameter>
+ <parameter name="b">
+ <doc xml:space="preserve"
+ filename="gst/gstbuffer.h"
+ line="686">a #GstBuffer to assign to the GstValue</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="value_take_sample"
+ c:identifier="gst_value_take_sample"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst/gstsample.h"
+ line="187">Sets @b as the value of @v. Caller gives away reference to sample.</doc>
+ <source-position filename="gst/gstsample.h" line="194"/>
+ <parameters>
+ <parameter name="v">
+ <doc xml:space="preserve"
+ filename="gst/gstsample.h"
+ line="189">a #GValue to receive the data</doc>
+ </parameter>
+ <parameter name="b">
+ <doc xml:space="preserve"
+ filename="gst/gstsample.h"
+ line="190">a #GstSample to assign to the GstValue</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function name="value_union" c:identifier="gst_value_union">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="5935">Creates a GValue corresponding to the union of @value1 and @value2.</doc>
+ <source-position filename="gst/gstvalue.h" line="776"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="5943">%TRUE if the union succeeded.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="dest"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="5937">the destination value</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ <parameter name="value1" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="5938">a value to union</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </parameter>
+ <parameter name="value2" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst/gstvalue.c"
+ line="5939">another value to union</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="version" c:identifier="gst_version">
+ <doc xml:space="preserve"
+ filename="gst/gst.c"
+ line="1264">Gets the version number of the GStreamer library.</doc>
+ <source-position filename="gst/gst.h" line="116"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="major"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gst.c"
+ line="1266">pointer to a guint to store the major version number</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ <parameter name="minor"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gst.c"
+ line="1267">pointer to a guint to store the minor version number</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ <parameter name="micro"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gst.c"
+ line="1268">pointer to a guint to store the micro version number</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ <parameter name="nano"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gst.c"
+ line="1269">pointer to a guint to store the nano version number</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="version_string" c:identifier="gst_version_string">
+ <doc xml:space="preserve"
+ filename="gst/gst.c"
+ line="1287">This function returns a string that is useful for describing this version
+of GStreamer to the outside world: user agent strings, logging, ...</doc>
+ <source-position filename="gst/gst.h" line="119"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst/gst.c"
+ line="1293">a newly allocated string describing this version
+ of GStreamer.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ </function>
+ </namespace>
+</repository>
diff --git a/subprojects/gstreamer-sharp/girs/GstApp-1.0.gir b/subprojects/gstreamer-sharp/girs/GstApp-1.0.gir
new file mode 100644
index 0000000000..dc7023befa
--- /dev/null
+++ b/subprojects/gstreamer-sharp/girs/GstApp-1.0.gir
@@ -0,0 +1,2538 @@
+<?xml version="1.0"?>
+<!-- This file was automatically generated from C sources - DO NOT EDIT!
+To affect the contents of this file, edit the original C definitions,
+and/or use gtk-doc annotations. -->
+<repository version="1.2"
+ xmlns="http://www.gtk.org/introspection/core/1.0"
+ xmlns:c="http://www.gtk.org/introspection/c/1.0"
+ xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
+ <include name="Gst" version="1.0"/>
+ <include name="GstBase" version="1.0"/>
+ <package name="gstreamer-app-1.0"/>
+ <c:include name="gst/app/app.h"/>
+ <namespace name="GstApp"
+ version="1.0"
+ shared-library="libgstapp-1.0.so.0"
+ c:identifier-prefixes="Gst"
+ c:symbol-prefixes="gst">
+ <function-macro name="APP_SINK"
+ c:identifier="GST_APP_SINK"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/app/gstappsink.h" line="30"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="APP_SINK_CAST"
+ c:identifier="GST_APP_SINK_CAST"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/app/gstappsink.h" line="38"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="APP_SINK_CLASS"
+ c:identifier="GST_APP_SINK_CLASS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/app/gstappsink.h" line="32"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="APP_SRC"
+ c:identifier="GST_APP_SRC"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/app/gstappsrc.h" line="31"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="APP_SRC_CAST"
+ c:identifier="GST_APP_SRC_CAST"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/app/gstappsrc.h" line="39"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="APP_SRC_CLASS"
+ c:identifier="GST_APP_SRC_CLASS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/app/gstappsrc.h" line="33"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <class name="AppSink"
+ c:symbol-prefix="app_sink"
+ c:type="GstAppSink"
+ parent="GstBase.BaseSink"
+ glib:type-name="GstAppSink"
+ glib:get-type="gst_app_sink_get_type"
+ glib:type-struct="AppSinkClass">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsink.c"
+ line="20">Appsink is a sink plugin that supports many different methods for making
+the application get a handle on the GStreamer data in a pipeline. Unlike
+most GStreamer elements, Appsink provides external API functions.
+
+appsink can be used by linking to the gstappsink.h header file to access the
+methods or by using the appsink action signals and properties.
+
+The normal way of retrieving samples from appsink is by using the
+gst_app_sink_pull_sample() and gst_app_sink_pull_preroll() methods.
+These methods block until a sample becomes available in the sink or when the
+sink is shut down or reaches EOS. There are also timed variants of these
+methods, gst_app_sink_try_pull_sample() and gst_app_sink_try_pull_preroll(),
+which accept a timeout parameter to limit the amount of time to wait.
+
+Appsink will internally use a queue to collect buffers from the streaming
+thread. If the application is not pulling samples fast enough, this queue
+will consume a lot of memory over time. The "max-buffers" property can be
+used to limit the queue size. The "drop" property controls whether the
+streaming thread blocks or if older buffers are dropped when the maximum
+queue size is reached. Note that blocking the streaming thread can negatively
+affect real-time performance and should be avoided.
+
+If a blocking behaviour is not desirable, setting the "emit-signals" property
+to %TRUE will make appsink emit the "new-sample" and "new-preroll" signals
+when a sample can be pulled without blocking.
+
+The "caps" property on appsink can be used to control the formats that
+appsink can receive. This property can contain non-fixed caps, the format of
+the pulled samples can be obtained by getting the sample caps.
+
+If one of the pull-preroll or pull-sample methods return %NULL, the appsink
+is stopped or in the EOS state. You can check for the EOS state with the
+"eos" property or with the gst_app_sink_is_eos() method.
+
+The eos signal can also be used to be informed when the EOS state is reached
+to avoid polling.</doc>
+ <source-position filename="gst-libs/gst/app/gstappsink.h" line="103"/>
+ <implements name="Gst.URIHandler"/>
+ <virtual-method name="eos">
+ <source-position filename="gst-libs/gst/app/gstappsink.h" line="91"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="appsink" transfer-ownership="none">
+ <type name="AppSink" c:type="GstAppSink*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="new_preroll">
+ <source-position filename="gst-libs/gst/app/gstappsink.h" line="92"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="appsink" transfer-ownership="none">
+ <type name="AppSink" c:type="GstAppSink*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="new_sample">
+ <source-position filename="gst-libs/gst/app/gstappsink.h" line="93"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="appsink" transfer-ownership="none">
+ <type name="AppSink" c:type="GstAppSink*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="pull_preroll" invoker="pull_preroll">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsink.c"
+ line="1479">Get the last preroll sample in @appsink. This was the sample that caused the
+appsink to preroll in the PAUSED state.
+
+This function is typically used when dealing with a pipeline in the PAUSED
+state. Calling this function after doing a seek will give the sample right
+after the seek position.
+
+Calling this function will clear the internal reference to the preroll
+buffer.
+
+Note that the preroll sample will also be returned as the first sample
+when calling gst_app_sink_pull_sample().
+
+If an EOS event was received before any buffers, this function returns
+%NULL. Use gst_app_sink_is_eos () to check for the EOS condition.
+
+This function blocks until a preroll sample or EOS is received or the appsink
+element is set to the READY/NULL state.</doc>
+ <source-position filename="gst-libs/gst/app/gstappsink.h" line="96"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsink.c"
+ line="1502">a #GstSample or NULL when the appsink is stopped or EOS.
+ Call gst_sample_unref() after usage.</doc>
+ <type name="Gst.Sample" c:type="GstSample*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="appsink" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsink.c"
+ line="1481">a #GstAppSink</doc>
+ <type name="AppSink" c:type="GstAppSink*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="pull_sample" invoker="pull_sample">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsink.c"
+ line="1511">This function blocks until a sample or EOS becomes available or the appsink
+element is set to the READY/NULL state.
+
+This function will only return samples when the appsink is in the PLAYING
+state. All rendered buffers will be put in a queue so that the application
+can pull samples at its own rate. Note that when the application does not
+pull samples fast enough, the queued buffers could consume a lot of memory,
+especially when dealing with raw video frames.
+
+If an EOS event was received before any buffers, this function returns
+%NULL. Use gst_app_sink_is_eos () to check for the EOS condition.</doc>
+ <source-position filename="gst-libs/gst/app/gstappsink.h" line="97"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsink.c"
+ line="1527">a #GstSample or NULL when the appsink is stopped or EOS.
+ Call gst_sample_unref() after usage.</doc>
+ <type name="Gst.Sample" c:type="GstSample*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="appsink" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsink.c"
+ line="1513">a #GstAppSink</doc>
+ <type name="AppSink" c:type="GstAppSink*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="try_pull_preroll"
+ invoker="try_pull_preroll"
+ version="1.10">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsink.c"
+ line="1536">Get the last preroll sample in @appsink. This was the sample that caused the
+appsink to preroll in the PAUSED state.
+
+This function is typically used when dealing with a pipeline in the PAUSED
+state. Calling this function after doing a seek will give the sample right
+after the seek position.
+
+Calling this function will clear the internal reference to the preroll
+buffer.
+
+Note that the preroll sample will also be returned as the first sample
+when calling gst_app_sink_pull_sample().
+
+If an EOS event was received before any buffers or the timeout expires,
+this function returns %NULL. Use gst_app_sink_is_eos () to check for the EOS
+condition.
+
+This function blocks until a preroll sample or EOS is received, the appsink
+element is set to the READY/NULL state, or the timeout expires.</doc>
+ <source-position filename="gst-libs/gst/app/gstappsink.h" line="98"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsink.c"
+ line="1561">a #GstSample or NULL when the appsink is stopped or EOS or the timeout expires.
+ Call gst_sample_unref() after usage.</doc>
+ <type name="Gst.Sample" c:type="GstSample*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="appsink" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsink.c"
+ line="1538">a #GstAppSink</doc>
+ <type name="AppSink" c:type="GstAppSink*"/>
+ </instance-parameter>
+ <parameter name="timeout" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsink.c"
+ line="1539">the maximum amount of time to wait for the preroll sample</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="try_pull_sample"
+ invoker="try_pull_sample"
+ version="1.10">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsink.c"
+ line="1639">This function blocks until a sample or EOS becomes available or the appsink
+element is set to the READY/NULL state or the timeout expires.
+
+This function will only return samples when the appsink is in the PLAYING
+state. All rendered buffers will be put in a queue so that the application
+can pull samples at its own rate. Note that when the application does not
+pull samples fast enough, the queued buffers could consume a lot of memory,
+especially when dealing with raw video frames.
+
+If an EOS event was received before any buffers or the timeout expires,
+this function returns %NULL. Use gst_app_sink_is_eos () to check for the EOS
+condition.</doc>
+ <source-position filename="gst-libs/gst/app/gstappsink.h" line="99"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsink.c"
+ line="1657">a #GstSample or NULL when the appsink is stopped or EOS or the timeout expires.
+Call gst_sample_unref() after usage.</doc>
+ <type name="Gst.Sample" c:type="GstSample*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="appsink" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsink.c"
+ line="1641">a #GstAppSink</doc>
+ <type name="AppSink" c:type="GstAppSink*"/>
+ </instance-parameter>
+ <parameter name="timeout" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsink.c"
+ line="1642">the maximum amount of time to wait for a sample</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <method name="get_buffer_list_support"
+ c:identifier="gst_app_sink_get_buffer_list_support"
+ version="1.12">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsink.c"
+ line="1399">Check if @appsink supports buffer lists.</doc>
+ <source-position filename="gst-libs/gst/app/gstappsink.h" line="139"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsink.c"
+ line="1405">%TRUE if @appsink supports buffer lists.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="appsink" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsink.c"
+ line="1401">a #GstAppSink</doc>
+ <type name="AppSink" c:type="GstAppSink*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_caps" c:identifier="gst_app_sink_get_caps">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsink.c"
+ line="1144">Get the configured caps on @appsink.</doc>
+ <source-position filename="gst-libs/gst/app/gstappsink.h" line="112"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsink.c"
+ line="1150">the #GstCaps accepted by the sink. gst_caps_unref() after usage.</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="appsink" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsink.c"
+ line="1146">a #GstAppSink</doc>
+ <type name="AppSink" c:type="GstAppSink*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_drop" c:identifier="gst_app_sink_get_drop">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsink.c"
+ line="1343">Check if @appsink will drop old buffers when the maximum amount of queued
+buffers is reached.</doc>
+ <source-position filename="gst-libs/gst/app/gstappsink.h" line="133"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsink.c"
+ line="1350">%TRUE if @appsink is dropping old buffers when the queue is
+filled.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="appsink" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsink.c"
+ line="1345">a #GstAppSink</doc>
+ <type name="AppSink" c:type="GstAppSink*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_emit_signals"
+ c:identifier="gst_app_sink_get_emit_signals">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsink.c"
+ line="1239">Check if appsink will emit the "new-preroll" and "new-sample" signals.</doc>
+ <source-position filename="gst-libs/gst/app/gstappsink.h" line="121"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsink.c"
+ line="1245">%TRUE if @appsink is emitting the "new-preroll" and "new-sample"
+signals.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="appsink" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsink.c"
+ line="1241">a #GstAppSink</doc>
+ <type name="AppSink" c:type="GstAppSink*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_max_buffers"
+ c:identifier="gst_app_sink_get_max_buffers">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsink.c"
+ line="1292">Get the maximum amount of buffers that can be queued in @appsink.</doc>
+ <source-position filename="gst-libs/gst/app/gstappsink.h" line="127"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsink.c"
+ line="1298">The maximum amount of buffers that can be queued.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="appsink" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsink.c"
+ line="1294">a #GstAppSink</doc>
+ <type name="AppSink" c:type="GstAppSink*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_wait_on_eos"
+ c:identifier="gst_app_sink_get_wait_on_eos">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsink.c"
+ line="1452">Check if @appsink will wait for all buffers to be consumed when an EOS is
+received.</doc>
+ <source-position filename="gst-libs/gst/app/gstappsink.h" line="145"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsink.c"
+ line="1459">%TRUE if @appsink will wait for all buffers to be consumed when an
+EOS is received.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="appsink" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsink.c"
+ line="1454">a #GstAppSink</doc>
+ <type name="AppSink" c:type="GstAppSink*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="is_eos" c:identifier="gst_app_sink_is_eos">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsink.c"
+ line="1171">Check if @appsink is EOS, which is when no more samples can be pulled because
+an EOS event was received.
+
+This function also returns %TRUE when the appsink is not in the PAUSED or
+PLAYING state.</doc>
+ <source-position filename="gst-libs/gst/app/gstappsink.h" line="115"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsink.c"
+ line="1181">%TRUE if no more samples can be pulled and the appsink is EOS.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="appsink" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsink.c"
+ line="1173">a #GstAppSink</doc>
+ <type name="AppSink" c:type="GstAppSink*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="pull_preroll" c:identifier="gst_app_sink_pull_preroll">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsink.c"
+ line="1479">Get the last preroll sample in @appsink. This was the sample that caused the
+appsink to preroll in the PAUSED state.
+
+This function is typically used when dealing with a pipeline in the PAUSED
+state. Calling this function after doing a seek will give the sample right
+after the seek position.
+
+Calling this function will clear the internal reference to the preroll
+buffer.
+
+Note that the preroll sample will also be returned as the first sample
+when calling gst_app_sink_pull_sample().
+
+If an EOS event was received before any buffers, this function returns
+%NULL. Use gst_app_sink_is_eos () to check for the EOS condition.
+
+This function blocks until a preroll sample or EOS is received or the appsink
+element is set to the READY/NULL state.</doc>
+ <source-position filename="gst-libs/gst/app/gstappsink.h" line="148"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsink.c"
+ line="1502">a #GstSample or NULL when the appsink is stopped or EOS.
+ Call gst_sample_unref() after usage.</doc>
+ <type name="Gst.Sample" c:type="GstSample*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="appsink" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsink.c"
+ line="1481">a #GstAppSink</doc>
+ <type name="AppSink" c:type="GstAppSink*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="pull_sample" c:identifier="gst_app_sink_pull_sample">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsink.c"
+ line="1511">This function blocks until a sample or EOS becomes available or the appsink
+element is set to the READY/NULL state.
+
+This function will only return samples when the appsink is in the PLAYING
+state. All rendered buffers will be put in a queue so that the application
+can pull samples at its own rate. Note that when the application does not
+pull samples fast enough, the queued buffers could consume a lot of memory,
+especially when dealing with raw video frames.
+
+If an EOS event was received before any buffers, this function returns
+%NULL. Use gst_app_sink_is_eos () to check for the EOS condition.</doc>
+ <source-position filename="gst-libs/gst/app/gstappsink.h" line="151"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsink.c"
+ line="1527">a #GstSample or NULL when the appsink is stopped or EOS.
+ Call gst_sample_unref() after usage.</doc>
+ <type name="Gst.Sample" c:type="GstSample*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="appsink" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsink.c"
+ line="1513">a #GstAppSink</doc>
+ <type name="AppSink" c:type="GstAppSink*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="set_buffer_list_support"
+ c:identifier="gst_app_sink_set_buffer_list_support"
+ version="1.12">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsink.c"
+ line="1370">Instruct @appsink to enable or disable buffer list support.
+
+For backwards-compatibility reasons applications need to opt in
+to indicate that they will be able to handle buffer lists.</doc>
+ <source-position filename="gst-libs/gst/app/gstappsink.h" line="136"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="appsink" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsink.c"
+ line="1372">a #GstAppSink</doc>
+ <type name="AppSink" c:type="GstAppSink*"/>
+ </instance-parameter>
+ <parameter name="enable_lists" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsink.c"
+ line="1373">enable or disable buffer list support</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_callbacks"
+ c:identifier="gst_app_sink_set_callbacks"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsink.c"
+ line="1752">Set callbacks which will be executed for each new preroll, new sample and eos.
+This is an alternative to using the signals, it has lower overhead and is thus
+less expensive, but also less flexible.
+
+If callbacks are installed, no signals will be emitted for performance
+reasons.
+
+Before 1.16.3 it was not possible to change the callbacks in a thread-safe
+way.</doc>
+ <source-position filename="gst-libs/gst/app/gstappsink.h" line="160"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="appsink" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsink.c"
+ line="1754">a #GstAppSink</doc>
+ <type name="AppSink" c:type="GstAppSink*"/>
+ </instance-parameter>
+ <parameter name="callbacks" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsink.c"
+ line="1755">the callbacks</doc>
+ <type name="AppSinkCallbacks" c:type="GstAppSinkCallbacks*"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsink.c"
+ line="1756">a user_data argument for the callbacks</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="notify" transfer-ownership="none" scope="async">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsink.c"
+ line="1757">a destroy notify function</doc>
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_caps" c:identifier="gst_app_sink_set_caps">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsink.c"
+ line="1111">Set the capabilities on the appsink element. This function takes
+a copy of the caps structure. After calling this method, the sink will only
+accept caps that match @caps. If @caps is non-fixed, or incomplete,
+you must check the caps on the samples to get the actual used caps.</doc>
+ <source-position filename="gst-libs/gst/app/gstappsink.h" line="109"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="appsink" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsink.c"
+ line="1113">a #GstAppSink</doc>
+ <type name="AppSink" c:type="GstAppSink*"/>
+ </instance-parameter>
+ <parameter name="caps"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsink.c"
+ line="1114">caps to set</doc>
+ <type name="Gst.Caps" c:type="const GstCaps*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_drop" c:identifier="gst_app_sink_set_drop">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsink.c"
+ line="1317">Instruct @appsink to drop old buffers when the maximum amount of queued
+buffers is reached.</doc>
+ <source-position filename="gst-libs/gst/app/gstappsink.h" line="130"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="appsink" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsink.c"
+ line="1319">a #GstAppSink</doc>
+ <type name="AppSink" c:type="GstAppSink*"/>
+ </instance-parameter>
+ <parameter name="drop" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsink.c"
+ line="1320">the new state</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_emit_signals"
+ c:identifier="gst_app_sink_set_emit_signals">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsink.c"
+ line="1216">Make appsink emit the "new-preroll" and "new-sample" signals. This option is
+by default disabled because signal emission is expensive and unneeded when
+the application prefers to operate in pull mode.</doc>
+ <source-position filename="gst-libs/gst/app/gstappsink.h" line="118"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="appsink" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsink.c"
+ line="1218">a #GstAppSink</doc>
+ <type name="AppSink" c:type="GstAppSink*"/>
+ </instance-parameter>
+ <parameter name="emit" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsink.c"
+ line="1219">the new state</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_max_buffers"
+ c:identifier="gst_app_sink_set_max_buffers">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsink.c"
+ line="1265">Set the maximum amount of buffers that can be queued in @appsink. After this
+amount of buffers are queued in appsink, any more buffers will block upstream
+elements until a sample is pulled from @appsink.</doc>
+ <source-position filename="gst-libs/gst/app/gstappsink.h" line="124"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="appsink" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsink.c"
+ line="1267">a #GstAppSink</doc>
+ <type name="AppSink" c:type="GstAppSink*"/>
+ </instance-parameter>
+ <parameter name="max" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsink.c"
+ line="1268">the maximum number of buffers to queue</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_wait_on_eos"
+ c:identifier="gst_app_sink_set_wait_on_eos">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsink.c"
+ line="1426">Instruct @appsink to wait for all buffers to be consumed when an EOS is received.</doc>
+ <source-position filename="gst-libs/gst/app/gstappsink.h" line="142"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="appsink" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsink.c"
+ line="1428">a #GstAppSink</doc>
+ <type name="AppSink" c:type="GstAppSink*"/>
+ </instance-parameter>
+ <parameter name="wait" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsink.c"
+ line="1429">the new state</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="try_pull_preroll"
+ c:identifier="gst_app_sink_try_pull_preroll"
+ version="1.10">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsink.c"
+ line="1536">Get the last preroll sample in @appsink. This was the sample that caused the
+appsink to preroll in the PAUSED state.
+
+This function is typically used when dealing with a pipeline in the PAUSED
+state. Calling this function after doing a seek will give the sample right
+after the seek position.
+
+Calling this function will clear the internal reference to the preroll
+buffer.
+
+Note that the preroll sample will also be returned as the first sample
+when calling gst_app_sink_pull_sample().
+
+If an EOS event was received before any buffers or the timeout expires,
+this function returns %NULL. Use gst_app_sink_is_eos () to check for the EOS
+condition.
+
+This function blocks until a preroll sample or EOS is received, the appsink
+element is set to the READY/NULL state, or the timeout expires.</doc>
+ <source-position filename="gst-libs/gst/app/gstappsink.h" line="154"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsink.c"
+ line="1561">a #GstSample or NULL when the appsink is stopped or EOS or the timeout expires.
+ Call gst_sample_unref() after usage.</doc>
+ <type name="Gst.Sample" c:type="GstSample*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="appsink" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsink.c"
+ line="1538">a #GstAppSink</doc>
+ <type name="AppSink" c:type="GstAppSink*"/>
+ </instance-parameter>
+ <parameter name="timeout" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsink.c"
+ line="1539">the maximum amount of time to wait for the preroll sample</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="try_pull_sample"
+ c:identifier="gst_app_sink_try_pull_sample"
+ version="1.10">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsink.c"
+ line="1639">This function blocks until a sample or EOS becomes available or the appsink
+element is set to the READY/NULL state or the timeout expires.
+
+This function will only return samples when the appsink is in the PLAYING
+state. All rendered buffers will be put in a queue so that the application
+can pull samples at its own rate. Note that when the application does not
+pull samples fast enough, the queued buffers could consume a lot of memory,
+especially when dealing with raw video frames.
+
+If an EOS event was received before any buffers or the timeout expires,
+this function returns %NULL. Use gst_app_sink_is_eos () to check for the EOS
+condition.</doc>
+ <source-position filename="gst-libs/gst/app/gstappsink.h" line="157"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsink.c"
+ line="1657">a #GstSample or NULL when the appsink is stopped or EOS or the timeout expires.
+Call gst_sample_unref() after usage.</doc>
+ <type name="Gst.Sample" c:type="GstSample*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="appsink" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsink.c"
+ line="1641">a #GstAppSink</doc>
+ <type name="AppSink" c:type="GstAppSink*"/>
+ </instance-parameter>
+ <parameter name="timeout" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsink.c"
+ line="1642">the maximum amount of time to wait for a sample</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="buffer-list" writable="1" transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </property>
+ <property name="caps" writable="1" transfer-ownership="none">
+ <type name="Gst.Caps"/>
+ </property>
+ <property name="drop" writable="1" transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </property>
+ <property name="emit-signals" writable="1" transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </property>
+ <property name="eos" transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </property>
+ <property name="max-buffers" writable="1" transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </property>
+ <property name="wait-on-eos" writable="1" transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </property>
+ <field name="basesink">
+ <type name="GstBase.BaseSink" c:type="GstBaseSink"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="AppSinkPrivate" c:type="GstAppSinkPrivate*"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <glib:signal name="eos" when="last">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsink.c"
+ line="283">Signal that the end-of-stream has been reached. This signal is emitted from
+the streaming thread.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </glib:signal>
+ <glib:signal name="new-preroll" when="last">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsink.c"
+ line="294">Signal that a new preroll sample is available.
+
+This signal is emitted from the streaming thread and only when the
+"emit-signals" property is %TRUE.
+
+The new preroll sample can be retrieved with the "pull-preroll" action
+signal or gst_app_sink_pull_preroll() either from this signal callback
+or from any other thread.
+
+Note that this signal is only emitted when the "emit-signals" property is
+set to %TRUE, which it is not by default for performance reasons.</doc>
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn"/>
+ </return-value>
+ </glib:signal>
+ <glib:signal name="new-sample" when="last">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsink.c"
+ line="314">Signal that a new sample is available.
+
+This signal is emitted from the streaming thread and only when the
+"emit-signals" property is %TRUE.
+
+The new sample can be retrieved with the "pull-sample" action
+signal or gst_app_sink_pull_sample() either from this signal callback
+or from any other thread.
+
+Note that this signal is only emitted when the "emit-signals" property is
+set to %TRUE, which it is not by default for performance reasons.</doc>
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn"/>
+ </return-value>
+ </glib:signal>
+ <glib:signal name="pull-preroll" when="last" action="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsink.c"
+ line="335">Get the last preroll sample in @appsink. This was the sample that caused the
+appsink to preroll in the PAUSED state.
+
+This function is typically used when dealing with a pipeline in the PAUSED
+state. Calling this function after doing a seek will give the sample right
+after the seek position.
+
+Calling this function will clear the internal reference to the preroll
+buffer.
+
+Note that the preroll sample will also be returned as the first sample
+when calling gst_app_sink_pull_sample() or the "pull-sample" action signal.
+
+If an EOS event was received before any buffers, this function returns
+%NULL. Use gst_app_sink_is_eos () to check for the EOS condition.
+
+This function blocks until a preroll sample or EOS is received or the appsink
+element is set to the READY/NULL state.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsink.c"
+ line="358">a #GstSample or NULL when the appsink is stopped or EOS.</doc>
+ <type name="Gst.Sample"/>
+ </return-value>
+ </glib:signal>
+ <glib:signal name="pull-sample" when="last" action="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsink.c"
+ line="364">This function blocks until a sample or EOS becomes available or the appsink
+element is set to the READY/NULL state.
+
+This function will only return samples when the appsink is in the PLAYING
+state. All rendered samples will be put in a queue so that the application
+can pull samples at its own rate.
+
+Note that when the application does not pull samples fast enough, the
+queued samples could consume a lot of memory, especially when dealing with
+raw video frames. It's possible to control the behaviour of the queue with
+the "drop" and "max-buffers" properties.
+
+If an EOS event was received before any buffers, this function returns
+%NULL. Use gst_app_sink_is_eos () to check for the EOS condition.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsink.c"
+ line="383">a #GstSample or NULL when the appsink is stopped or EOS.</doc>
+ <type name="Gst.Sample"/>
+ </return-value>
+ </glib:signal>
+ <glib:signal name="try-pull-preroll"
+ when="last"
+ action="1"
+ version="1.10">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsink.c"
+ line="389">Get the last preroll sample in @appsink. This was the sample that caused the
+appsink to preroll in the PAUSED state.
+
+This function is typically used when dealing with a pipeline in the PAUSED
+state. Calling this function after doing a seek will give the sample right
+after the seek position.
+
+Calling this function will clear the internal reference to the preroll
+buffer.
+
+Note that the preroll sample will also be returned as the first sample
+when calling gst_app_sink_pull_sample() or the "pull-sample" action signal.
+
+If an EOS event was received before any buffers or the timeout expires,
+this function returns %NULL. Use gst_app_sink_is_eos () to check for the EOS
+condition.
+
+This function blocks until a preroll sample or EOS is received, the appsink
+element is set to the READY/NULL state, or the timeout expires.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsink.c"
+ line="414">a #GstSample or NULL when the appsink is stopped or EOS or the timeout expires.</doc>
+ <type name="Gst.Sample"/>
+ </return-value>
+ <parameters>
+ <parameter name="timeout" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsink.c"
+ line="392">the maximum amount of time to wait for the preroll sample</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="try-pull-sample"
+ when="last"
+ action="1"
+ version="1.10">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsink.c"
+ line="423">This function blocks until a sample or EOS becomes available or the appsink
+element is set to the READY/NULL state or the timeout expires.
+
+This function will only return samples when the appsink is in the PLAYING
+state. All rendered samples will be put in a queue so that the application
+can pull samples at its own rate.
+
+Note that when the application does not pull samples fast enough, the
+queued samples could consume a lot of memory, especially when dealing with
+raw video frames. It's possible to control the behaviour of the queue with
+the "drop" and "max-buffers" properties.
+
+If an EOS event was received before any buffers or the timeout expires,
+this function returns %NULL. Use gst_app_sink_is_eos () to check
+for the EOS condition.</doc>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsink.c"
+ line="444">a #GstSample or NULL when the appsink is stopped or EOS or the timeout expires.</doc>
+ <type name="Gst.Sample"/>
+ </return-value>
+ <parameters>
+ <parameter name="timeout" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsink.c"
+ line="426">the maximum amount of time to wait for a sample</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ </class>
+ <record name="AppSinkCallbacks"
+ c:type="GstAppSinkCallbacks"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsink.h"
+ line="48">A set of callbacks that can be installed on the appsink with
+gst_app_sink_set_callbacks().</doc>
+ <source-position filename="gst-libs/gst/app/gstappsink.h" line="73"/>
+ <field name="eos">
+ <callback name="eos">
+ <source-position filename="gst-libs/gst/app/gstappsink.h" line="67"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="appsink" transfer-ownership="none">
+ <type name="AppSink" c:type="GstAppSink*"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1"
+ closure="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="new_preroll">
+ <callback name="new_preroll">
+ <source-position filename="gst-libs/gst/app/gstappsink.h" line="68"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="appsink" transfer-ownership="none">
+ <type name="AppSink" c:type="GstAppSink*"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1"
+ closure="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="new_sample">
+ <callback name="new_sample">
+ <source-position filename="gst-libs/gst/app/gstappsink.h" line="69"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="appsink" transfer-ownership="none">
+ <type name="AppSink" c:type="GstAppSink*"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1"
+ closure="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="AppSinkClass"
+ c:type="GstAppSinkClass"
+ glib:is-gtype-struct-for="AppSink">
+ <source-position filename="gst-libs/gst/app/gstappsink.h" line="103"/>
+ <field name="basesink_class">
+ <type name="GstBase.BaseSinkClass" c:type="GstBaseSinkClass"/>
+ </field>
+ <field name="eos">
+ <callback name="eos">
+ <source-position filename="gst-libs/gst/app/gstappsink.h" line="91"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="appsink" transfer-ownership="none">
+ <type name="AppSink" c:type="GstAppSink*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="new_preroll">
+ <callback name="new_preroll">
+ <source-position filename="gst-libs/gst/app/gstappsink.h" line="92"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="appsink" transfer-ownership="none">
+ <type name="AppSink" c:type="GstAppSink*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="new_sample">
+ <callback name="new_sample">
+ <source-position filename="gst-libs/gst/app/gstappsink.h" line="93"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="appsink" transfer-ownership="none">
+ <type name="AppSink" c:type="GstAppSink*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="pull_preroll">
+ <callback name="pull_preroll">
+ <source-position filename="gst-libs/gst/app/gstappsink.h" line="96"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsink.c"
+ line="1502">a #GstSample or NULL when the appsink is stopped or EOS.
+ Call gst_sample_unref() after usage.</doc>
+ <type name="Gst.Sample" c:type="GstSample*"/>
+ </return-value>
+ <parameters>
+ <parameter name="appsink" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsink.c"
+ line="1481">a #GstAppSink</doc>
+ <type name="AppSink" c:type="GstAppSink*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="pull_sample">
+ <callback name="pull_sample">
+ <source-position filename="gst-libs/gst/app/gstappsink.h" line="97"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsink.c"
+ line="1527">a #GstSample or NULL when the appsink is stopped or EOS.
+ Call gst_sample_unref() after usage.</doc>
+ <type name="Gst.Sample" c:type="GstSample*"/>
+ </return-value>
+ <parameters>
+ <parameter name="appsink" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsink.c"
+ line="1513">a #GstAppSink</doc>
+ <type name="AppSink" c:type="GstAppSink*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="try_pull_preroll">
+ <callback name="try_pull_preroll">
+ <source-position filename="gst-libs/gst/app/gstappsink.h" line="98"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsink.c"
+ line="1561">a #GstSample or NULL when the appsink is stopped or EOS or the timeout expires.
+ Call gst_sample_unref() after usage.</doc>
+ <type name="Gst.Sample" c:type="GstSample*"/>
+ </return-value>
+ <parameters>
+ <parameter name="appsink" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsink.c"
+ line="1538">a #GstAppSink</doc>
+ <type name="AppSink" c:type="GstAppSink*"/>
+ </parameter>
+ <parameter name="timeout" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsink.c"
+ line="1539">the maximum amount of time to wait for the preroll sample</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="try_pull_sample">
+ <callback name="try_pull_sample">
+ <source-position filename="gst-libs/gst/app/gstappsink.h" line="99"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsink.c"
+ line="1657">a #GstSample or NULL when the appsink is stopped or EOS or the timeout expires.
+Call gst_sample_unref() after usage.</doc>
+ <type name="Gst.Sample" c:type="GstSample*"/>
+ </return-value>
+ <parameters>
+ <parameter name="appsink" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsink.c"
+ line="1641">a #GstAppSink</doc>
+ <type name="AppSink" c:type="GstAppSink*"/>
+ </parameter>
+ <parameter name="timeout" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsink.c"
+ line="1642">the maximum amount of time to wait for a sample</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="2">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="AppSinkPrivate" c:type="GstAppSinkPrivate" disguised="1">
+ <source-position filename="gst-libs/gst/app/gstappsink.h" line="44"/>
+ </record>
+ <class name="AppSrc"
+ c:symbol-prefix="app_src"
+ c:type="GstAppSrc"
+ parent="GstBase.BaseSrc"
+ glib:type-name="GstAppSrc"
+ glib:get-type="gst_app_src_get_type"
+ glib:type-struct="AppSrcClass">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.c"
+ line="20">The appsrc element can be used by applications to insert data into a
+GStreamer pipeline. Unlike most GStreamer elements, appsrc provides
+external API functions.
+
+appsrc can be used by linking with the libgstapp library to access the
+methods directly or by using the appsrc action signals.
+
+Before operating appsrc, the caps property must be set to fixed caps
+describing the format of the data that will be pushed with appsrc. An
+exception to this is when pushing buffers with unknown caps, in which case no
+caps should be set. This is typically true of file-like sources that push raw
+byte buffers. If you don't want to explicitly set the caps, you can use
+gst_app_src_push_sample. This method gets the caps associated with the
+sample and sets them on the appsrc replacing any previously set caps (if
+different from sample's caps).
+
+The main way of handing data to the appsrc element is by calling the
+gst_app_src_push_buffer() method or by emitting the push-buffer action signal.
+This will put the buffer onto a queue from which appsrc will read from in its
+streaming thread. It is important to note that data transport will not happen
+from the thread that performed the push-buffer call.
+
+The "max-bytes" property controls how much data can be queued in appsrc
+before appsrc considers the queue full. A filled internal queue will always
+signal the "enough-data" signal, which signals the application that it should
+stop pushing data into appsrc. The "block" property will cause appsrc to
+block the push-buffer method until free data becomes available again.
+
+When the internal queue is running out of data, the "need-data" signal is
+emitted, which signals the application that it should start pushing more data
+into appsrc.
+
+In addition to the "need-data" and "enough-data" signals, appsrc can emit the
+"seek-data" signal when the "stream-mode" property is set to "seekable" or
+"random-access". The signal argument will contain the new desired position in
+the stream expressed in the unit set with the "format" property. After
+receiving the seek-data signal, the application should push-buffers from the
+new position.
+
+These signals allow the application to operate the appsrc in two different
+ways:
+
+The push mode, in which the application repeatedly calls the push-buffer/push-sample
+method with a new buffer/sample. Optionally, the queue size in the appsrc
+can be controlled with the enough-data and need-data signals by respectively
+stopping/starting the push-buffer/push-sample calls. This is a typical
+mode of operation for the stream-type "stream" and "seekable". Use this
+mode when implementing various network protocols or hardware devices.
+
+The pull mode, in which the need-data signal triggers the next push-buffer call.
+This mode is typically used in the "random-access" stream-type. Use this
+mode for file access or other randomly accessible sources. In this mode, a
+buffer of exactly the amount of bytes given by the need-data signal should be
+pushed into appsrc.
+
+In all modes, the size property on appsrc should contain the total stream
+size in bytes. Setting this property is mandatory in the random-access mode.
+For the stream and seekable modes, setting this property is optional but
+recommended.
+
+When the application has finished pushing data into appsrc, it should call
+gst_app_src_end_of_stream() or emit the end-of-stream action signal. After
+this call, no more buffers can be pushed into appsrc until a flushing seek
+occurs or the state of the appsrc has gone through READY.</doc>
+ <source-position filename="gst-libs/gst/app/gstappsrc.h" line="119"/>
+ <implements name="Gst.URIHandler"/>
+ <virtual-method name="end_of_stream" invoker="end_of_stream">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.c"
+ line="2181">Indicates to the appsrc element that the last buffer queued in the
+element is the last buffer of the stream.</doc>
+ <source-position filename="gst-libs/gst/app/gstappsrc.h" line="113"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.c"
+ line="2188">#GST_FLOW_OK when the EOS was successfully queued.
+#GST_FLOW_FLUSHING when @appsrc is not PAUSED or PLAYING.</doc>
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="appsrc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.c"
+ line="2183">a #GstAppSrc</doc>
+ <type name="AppSrc" c:type="GstAppSrc*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="enough_data">
+ <source-position filename="gst-libs/gst/app/gstappsrc.h" line="108"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="appsrc" transfer-ownership="none">
+ <type name="AppSrc" c:type="GstAppSrc*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="need_data">
+ <source-position filename="gst-libs/gst/app/gstappsrc.h" line="107"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="appsrc" transfer-ownership="none">
+ <type name="AppSrc" c:type="GstAppSrc*"/>
+ </instance-parameter>
+ <parameter name="length" transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="push_buffer" invoker="push_buffer">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.c"
+ line="2081">Adds a buffer to the queue of buffers that the appsrc element will
+push to its source pad. This function takes ownership of the buffer.
+
+When the block property is TRUE, this function can block until free
+space becomes available in the queue.</doc>
+ <source-position filename="gst-libs/gst/app/gstappsrc.h" line="112"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.c"
+ line="2092">#GST_FLOW_OK when the buffer was successfully queued.
+#GST_FLOW_FLUSHING when @appsrc is not PAUSED or PLAYING.
+#GST_FLOW_EOS when EOS occurred.</doc>
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="appsrc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.c"
+ line="2083">a #GstAppSrc</doc>
+ <type name="AppSrc" c:type="GstAppSrc*"/>
+ </instance-parameter>
+ <parameter name="buffer" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.c"
+ line="2084">a #GstBuffer to push</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="push_buffer_list"
+ invoker="push_buffer_list"
+ version="1.14">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.c"
+ line="2102">Adds a buffer list to the queue of buffers and buffer lists that the
+appsrc element will push to its source pad. This function takes ownership
+of @buffer_list.
+
+When the block property is TRUE, this function can block until free
+space becomes available in the queue.</doc>
+ <source-position filename="gst-libs/gst/app/gstappsrc.h" line="115"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.c"
+ line="2114">#GST_FLOW_OK when the buffer list was successfully queued.
+#GST_FLOW_FLUSHING when @appsrc is not PAUSED or PLAYING.
+#GST_FLOW_EOS when EOS occurred.</doc>
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="appsrc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.c"
+ line="2104">a #GstAppSrc</doc>
+ <type name="AppSrc" c:type="GstAppSrc*"/>
+ </instance-parameter>
+ <parameter name="buffer_list" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.c"
+ line="2105">a #GstBufferList to push</doc>
+ <type name="Gst.BufferList" c:type="GstBufferList*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="push_sample" invoker="push_sample" version="1.6">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.c"
+ line="2126">Extract a buffer from the provided sample and adds it to the queue of
+buffers that the appsrc element will push to its source pad. Any
+previous caps that were set on appsrc will be replaced by the caps
+associated with the sample if not equal.
+
+This function does not take ownership of the
+sample so the sample needs to be unreffed after calling this function.
+
+When the block property is TRUE, this function can block until free
+space becomes available in the queue.</doc>
+ <source-position filename="gst-libs/gst/app/gstappsrc.h" line="114"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.c"
+ line="2143">#GST_FLOW_OK when the buffer was successfully queued.
+#GST_FLOW_FLUSHING when @appsrc is not PAUSED or PLAYING.
+#GST_FLOW_EOS when EOS occurred.</doc>
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="appsrc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.c"
+ line="2128">a #GstAppSrc</doc>
+ <type name="AppSrc" c:type="GstAppSrc*"/>
+ </instance-parameter>
+ <parameter name="sample" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.c"
+ line="2129">a #GstSample from which buffer and caps may be
+extracted</doc>
+ <type name="Gst.Sample" c:type="GstSample*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="seek_data">
+ <source-position filename="gst-libs/gst/app/gstappsrc.h" line="109"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="appsrc" transfer-ownership="none">
+ <type name="AppSrc" c:type="GstAppSrc*"/>
+ </instance-parameter>
+ <parameter name="offset" transfer-ownership="none">
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <method name="end_of_stream" c:identifier="gst_app_src_end_of_stream">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.c"
+ line="2181">Indicates to the appsrc element that the last buffer queued in the
+element is the last buffer of the stream.</doc>
+ <source-position filename="gst-libs/gst/app/gstappsrc.h" line="176"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.c"
+ line="2188">#GST_FLOW_OK when the EOS was successfully queued.
+#GST_FLOW_FLUSHING when @appsrc is not PAUSED or PLAYING.</doc>
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="appsrc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.c"
+ line="2183">a #GstAppSrc</doc>
+ <type name="AppSrc" c:type="GstAppSrc*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_caps" c:identifier="gst_app_src_get_caps">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.c"
+ line="1470">Get the configured caps on @appsrc.</doc>
+ <source-position filename="gst-libs/gst/app/gstappsrc.h" line="128"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.c"
+ line="1476">the #GstCaps produced by the source. gst_caps_unref() after usage.</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="appsrc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.c"
+ line="1472">a #GstAppSrc</doc>
+ <type name="AppSrc" c:type="GstAppSrc*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_current_level_bytes"
+ c:identifier="gst_app_src_get_current_level_bytes"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.c"
+ line="1707">Get the number of currently queued bytes inside @appsrc.</doc>
+ <source-position filename="gst-libs/gst/app/gstappsrc.h" line="155"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.c"
+ line="1713">The number of currently queued bytes.</doc>
+ <type name="guint64" c:type="guint64"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="appsrc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.c"
+ line="1709">a #GstAppSrc</doc>
+ <type name="AppSrc" c:type="GstAppSrc*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_duration"
+ c:identifier="gst_app_src_get_duration"
+ version="1.10">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.c"
+ line="1571">Get the duration of the stream in nanoseconds. A value of GST_CLOCK_TIME_NONE means that the duration is
+not known.</doc>
+ <source-position filename="gst-libs/gst/app/gstappsrc.h" line="140"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.c"
+ line="1578">the duration of the stream previously set with gst_app_src_set_duration();</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="appsrc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.c"
+ line="1573">a #GstAppSrc</doc>
+ <type name="AppSrc" c:type="GstAppSrc*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_emit_signals"
+ c:identifier="gst_app_src_get_emit_signals">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.c"
+ line="1824">Check if appsrc will emit the "new-preroll" and "new-buffer" signals.</doc>
+ <source-position filename="gst-libs/gst/app/gstappsrc.h" line="167"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.c"
+ line="1830">%TRUE if @appsrc is emitting the "new-preroll" and "new-buffer"
+signals.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="appsrc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.c"
+ line="1826">a #GstAppSrc</doc>
+ <type name="AppSrc" c:type="GstAppSrc*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_latency" c:identifier="gst_app_src_get_latency">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.c"
+ line="1776">Retrieve the min and max latencies in @min and @max respectively.</doc>
+ <source-position filename="gst-libs/gst/app/gstappsrc.h" line="161"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="appsrc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.c"
+ line="1778">a #GstAppSrc</doc>
+ <type name="AppSrc" c:type="GstAppSrc*"/>
+ </instance-parameter>
+ <parameter name="min"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.c"
+ line="1779">the min latency</doc>
+ <type name="guint64" c:type="guint64*"/>
+ </parameter>
+ <parameter name="max"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.c"
+ line="1780">the max latency</doc>
+ <type name="guint64" c:type="guint64*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_max_bytes" c:identifier="gst_app_src_get_max_bytes">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.c"
+ line="1681">Get the maximum amount of bytes that can be queued in @appsrc.</doc>
+ <source-position filename="gst-libs/gst/app/gstappsrc.h" line="152"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.c"
+ line="1687">The maximum amount of bytes that can be queued.</doc>
+ <type name="guint64" c:type="guint64"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="appsrc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.c"
+ line="1683">a #GstAppSrc</doc>
+ <type name="AppSrc" c:type="GstAppSrc*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_size" c:identifier="gst_app_src_get_size">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.c"
+ line="1518">Get the size of the stream in bytes. A value of -1 means that the size is
+not known.</doc>
+ <source-position filename="gst-libs/gst/app/gstappsrc.h" line="134"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.c"
+ line="1525">the size of the stream previously set with gst_app_src_set_size();</doc>
+ <type name="gint64" c:type="gint64"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="appsrc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.c"
+ line="1520">a #GstAppSrc</doc>
+ <type name="AppSrc" c:type="GstAppSrc*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_stream_type"
+ c:identifier="gst_app_src_get_stream_type">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.c"
+ line="1626">Get the stream type. Control the stream type of @appsrc
+with gst_app_src_set_stream_type().</doc>
+ <source-position filename="gst-libs/gst/app/gstappsrc.h" line="146"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.c"
+ line="1633">the stream type.</doc>
+ <type name="AppStreamType" c:type="GstAppStreamType"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="appsrc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.c"
+ line="1628">a #GstAppSrc</doc>
+ <type name="AppSrc" c:type="GstAppSrc*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="push_buffer" c:identifier="gst_app_src_push_buffer">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.c"
+ line="2081">Adds a buffer to the queue of buffers that the appsrc element will
+push to its source pad. This function takes ownership of the buffer.
+
+When the block property is TRUE, this function can block until free
+space becomes available in the queue.</doc>
+ <source-position filename="gst-libs/gst/app/gstappsrc.h" line="170"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.c"
+ line="2092">#GST_FLOW_OK when the buffer was successfully queued.
+#GST_FLOW_FLUSHING when @appsrc is not PAUSED or PLAYING.
+#GST_FLOW_EOS when EOS occurred.</doc>
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="appsrc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.c"
+ line="2083">a #GstAppSrc</doc>
+ <type name="AppSrc" c:type="GstAppSrc*"/>
+ </instance-parameter>
+ <parameter name="buffer" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.c"
+ line="2084">a #GstBuffer to push</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="push_buffer_list"
+ c:identifier="gst_app_src_push_buffer_list"
+ version="1.14">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.c"
+ line="2102">Adds a buffer list to the queue of buffers and buffer lists that the
+appsrc element will push to its source pad. This function takes ownership
+of @buffer_list.
+
+When the block property is TRUE, this function can block until free
+space becomes available in the queue.</doc>
+ <source-position filename="gst-libs/gst/app/gstappsrc.h" line="173"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.c"
+ line="2114">#GST_FLOW_OK when the buffer list was successfully queued.
+#GST_FLOW_FLUSHING when @appsrc is not PAUSED or PLAYING.
+#GST_FLOW_EOS when EOS occurred.</doc>
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="appsrc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.c"
+ line="2104">a #GstAppSrc</doc>
+ <type name="AppSrc" c:type="GstAppSrc*"/>
+ </instance-parameter>
+ <parameter name="buffer_list" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.c"
+ line="2105">a #GstBufferList to push</doc>
+ <type name="Gst.BufferList" c:type="GstBufferList*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="push_sample"
+ c:identifier="gst_app_src_push_sample"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.c"
+ line="2126">Extract a buffer from the provided sample and adds it to the queue of
+buffers that the appsrc element will push to its source pad. Any
+previous caps that were set on appsrc will be replaced by the caps
+associated with the sample if not equal.
+
+This function does not take ownership of the
+sample so the sample needs to be unreffed after calling this function.
+
+When the block property is TRUE, this function can block until free
+space becomes available in the queue.</doc>
+ <source-position filename="gst-libs/gst/app/gstappsrc.h" line="179"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.c"
+ line="2143">#GST_FLOW_OK when the buffer was successfully queued.
+#GST_FLOW_FLUSHING when @appsrc is not PAUSED or PLAYING.
+#GST_FLOW_EOS when EOS occurred.</doc>
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="appsrc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.c"
+ line="2128">a #GstAppSrc</doc>
+ <type name="AppSrc" c:type="GstAppSrc*"/>
+ </instance-parameter>
+ <parameter name="sample" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.c"
+ line="2129">a #GstSample from which buffer and caps may be
+extracted</doc>
+ <type name="Gst.Sample" c:type="GstSample*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_callbacks"
+ c:identifier="gst_app_src_set_callbacks"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.c"
+ line="2222">Set callbacks which will be executed when data is needed, enough data has
+been collected or when a seek should be performed.
+This is an alternative to using the signals, it has lower overhead and is thus
+less expensive, but also less flexible.
+
+If callbacks are installed, no signals will be emitted for performance
+reasons.
+
+Before 1.16.3 it was not possible to change the callbacks in a thread-safe
+way.</doc>
+ <source-position filename="gst-libs/gst/app/gstappsrc.h" line="182"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="appsrc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.c"
+ line="2224">a #GstAppSrc</doc>
+ <type name="AppSrc" c:type="GstAppSrc*"/>
+ </instance-parameter>
+ <parameter name="callbacks" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.c"
+ line="2225">the callbacks</doc>
+ <type name="AppSrcCallbacks" c:type="GstAppSrcCallbacks*"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.c"
+ line="2226">a user_data argument for the callbacks</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="notify" transfer-ownership="none" scope="async">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.c"
+ line="2227">a destroy notify function</doc>
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_caps" c:identifier="gst_app_src_set_caps">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.c"
+ line="1420">Set the capabilities on the appsrc element. This function takes
+a copy of the caps structure. After calling this method, the source will
+only produce caps that match @caps. @caps must be fixed and the caps on the
+buffers must match the caps or left NULL.</doc>
+ <source-position filename="gst-libs/gst/app/gstappsrc.h" line="125"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="appsrc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.c"
+ line="1422">a #GstAppSrc</doc>
+ <type name="AppSrc" c:type="GstAppSrc*"/>
+ </instance-parameter>
+ <parameter name="caps"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.c"
+ line="1423">caps to set</doc>
+ <type name="Gst.Caps" c:type="const GstCaps*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_duration"
+ c:identifier="gst_app_src_set_duration"
+ version="1.10">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.c"
+ line="1545">Set the duration of the stream in nanoseconds. A value of GST_CLOCK_TIME_NONE means that the duration is
+not known.</doc>
+ <source-position filename="gst-libs/gst/app/gstappsrc.h" line="137"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="appsrc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.c"
+ line="1547">a #GstAppSrc</doc>
+ <type name="AppSrc" c:type="GstAppSrc*"/>
+ </instance-parameter>
+ <parameter name="duration" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.c"
+ line="1548">the duration to set</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_emit_signals"
+ c:identifier="gst_app_src_set_emit_signals">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.c"
+ line="1801">Make appsrc emit the "new-preroll" and "new-buffer" signals. This option is
+by default disabled because signal emission is expensive and unneeded when
+the application prefers to operate in pull mode.</doc>
+ <source-position filename="gst-libs/gst/app/gstappsrc.h" line="164"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="appsrc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.c"
+ line="1803">a #GstAppSrc</doc>
+ <type name="AppSrc" c:type="GstAppSrc*"/>
+ </instance-parameter>
+ <parameter name="emit" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.c"
+ line="1804">the new state</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_latency" c:identifier="gst_app_src_set_latency">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.c"
+ line="1761">Configure the @min and @max latency in @src. If @min is set to -1, the
+default latency calculations for pseudo-live sources will be used.</doc>
+ <source-position filename="gst-libs/gst/app/gstappsrc.h" line="158"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="appsrc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.c"
+ line="1763">a #GstAppSrc</doc>
+ <type name="AppSrc" c:type="GstAppSrc*"/>
+ </instance-parameter>
+ <parameter name="min" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.c"
+ line="1764">the min latency</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ <parameter name="max" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.c"
+ line="1765">the max latency</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_max_bytes" c:identifier="gst_app_src_set_max_bytes">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.c"
+ line="1653">Set the maximum amount of bytes that can be queued in @appsrc.
+After the maximum amount of bytes are queued, @appsrc will emit the
+"enough-data" signal.</doc>
+ <source-position filename="gst-libs/gst/app/gstappsrc.h" line="149"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="appsrc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.c"
+ line="1655">a #GstAppSrc</doc>
+ <type name="AppSrc" c:type="GstAppSrc*"/>
+ </instance-parameter>
+ <parameter name="max" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.c"
+ line="1656">the maximum number of bytes to queue</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_size" c:identifier="gst_app_src_set_size">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.c"
+ line="1495">Set the size of the stream in bytes. A value of -1 means that the size is
+not known.</doc>
+ <source-position filename="gst-libs/gst/app/gstappsrc.h" line="131"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="appsrc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.c"
+ line="1497">a #GstAppSrc</doc>
+ <type name="AppSrc" c:type="GstAppSrc*"/>
+ </instance-parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.c"
+ line="1498">the size to set</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_stream_type"
+ c:identifier="gst_app_src_set_stream_type">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.c"
+ line="1601">Set the stream type on @appsrc. For seekable streams, the "seek" signal must
+be connected to.
+
+A stream_type stream</doc>
+ <source-position filename="gst-libs/gst/app/gstappsrc.h" line="143"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="appsrc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.c"
+ line="1603">a #GstAppSrc</doc>
+ <type name="AppSrc" c:type="GstAppSrc*"/>
+ </instance-parameter>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.c"
+ line="1604">the new state</doc>
+ <type name="AppStreamType" c:type="GstAppStreamType"/>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="block" writable="1" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.c"
+ line="350">When max-bytes are queued and after the enough-data signal has been emitted,
+block any further push-buffer calls until the amount of queued bytes drops
+below the max-bytes limit.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </property>
+ <property name="caps" writable="1" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.c"
+ line="296">The GstCaps that will negotiated downstream and will be put
+on outgoing buffers.</doc>
+ <type name="Gst.Caps"/>
+ </property>
+ <property name="current-level-bytes"
+ version="1.2"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.c"
+ line="420">The number of currently queued bytes inside appsrc.</doc>
+ <type name="guint64" c:type="guint64"/>
+ </property>
+ <property name="duration"
+ version="1.10"
+ writable="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.c"
+ line="433">The total duration in nanoseconds of the data stream. If the total duration is known, it
+is recommended to configure it with this property.</doc>
+ <type name="guint64" c:type="guint64"/>
+ </property>
+ <property name="emit-signals" writable="1" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.c"
+ line="395">Make appsrc emit the "need-data", "enough-data" and "seek-data" signals.
+This option is by default enabled for backwards compatibility reasons but
+can disabled when needed because signal emission is expensive.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </property>
+ <property name="format" writable="1" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.c"
+ line="306">The format to use for segment events. When the source is producing
+timestamped buffers this property should be set to GST_FORMAT_TIME.</doc>
+ <type name="Gst.Format"/>
+ </property>
+ <property name="handle-segment-change"
+ version="1.18"
+ writable="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.c"
+ line="447">When enabled, appsrc will check GstSegment in GstSample which was
+pushed via gst_app_src_push_sample() or "push-sample" signal action.
+If a GstSegment is changed, corresponding segment event will be followed
+by next data flow.
+
+FIXME: currently only GST_FORMAT_TIME format is supported and therefore
+GstAppSrc::format should be time. However, possibly #GstAppSrc can support
+other formats.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </property>
+ <property name="is-live" writable="1" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.c"
+ line="362">Instruct the source to behave like a live source. This includes that it
+will only push out buffers in the PLAYING state.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </property>
+ <property name="max-bytes" writable="1" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.c"
+ line="338">The maximum amount of bytes that can be queued internally.
+After the maximum amount of bytes are queued, appsrc will emit the
+"enough-data" signal.</doc>
+ <type name="guint64" c:type="guint64"/>
+ </property>
+ <property name="max-latency" writable="1" transfer-ownership="none">
+ <type name="gint64" c:type="gint64"/>
+ </property>
+ <property name="min-latency" writable="1" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.c"
+ line="372">The minimum latency of the source. A value of -1 will use the default
+latency calculations of #GstBaseSrc.</doc>
+ <type name="gint64" c:type="gint64"/>
+ </property>
+ <property name="min-percent" writable="1" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.c"
+ line="408">Make appsrc emit the "need-data" signal when the amount of bytes in the
+queue drops below this percentage of max-bytes.</doc>
+ <type name="guint" c:type="guint"/>
+ </property>
+ <property name="size" writable="1" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.c"
+ line="316">The total size in bytes of the data stream. If the total size is known, it
+is recommended to configure it with this property.</doc>
+ <type name="gint64" c:type="gint64"/>
+ </property>
+ <property name="stream-type" writable="1" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.c"
+ line="327">The type of stream that this source is producing. For seekable streams the
+application should connect to the seek-data signal.</doc>
+ <type name="AppStreamType"/>
+ </property>
+ <field name="basesrc">
+ <type name="GstBase.BaseSrc" c:type="GstBaseSrc"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="AppSrcPrivate" c:type="GstAppSrcPrivate*"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <glib:signal name="end-of-stream" when="last" action="1">
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn"/>
+ </return-value>
+ </glib:signal>
+ <glib:signal name="enough-data" when="last">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </glib:signal>
+ <glib:signal name="need-data" when="last">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="push-buffer" when="last" action="1">
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <type name="Gst.Buffer"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="push-buffer-list" when="last" action="1">
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <type name="Gst.BufferList"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="push-sample" when="last" action="1">
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <type name="Gst.Sample"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="seek-data" when="last">
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ </class>
+ <record name="AppSrcCallbacks"
+ c:type="GstAppSrcCallbacks"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.h"
+ line="49">A set of callbacks that can be installed on the appsrc with
+gst_app_src_set_callbacks().</doc>
+ <source-position filename="gst-libs/gst/app/gstappsrc.h" line="71"/>
+ <field name="need_data">
+ <callback name="need_data">
+ <source-position filename="gst-libs/gst/app/gstappsrc.h" line="65"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <type name="AppSrc" c:type="GstAppSrc*"/>
+ </parameter>
+ <parameter name="length" transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1"
+ closure="2">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="enough_data">
+ <callback name="enough_data">
+ <source-position filename="gst-libs/gst/app/gstappsrc.h" line="66"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <type name="AppSrc" c:type="GstAppSrc*"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1"
+ closure="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="seek_data">
+ <callback name="seek_data">
+ <source-position filename="gst-libs/gst/app/gstappsrc.h" line="67"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <type name="AppSrc" c:type="GstAppSrc*"/>
+ </parameter>
+ <parameter name="offset" transfer-ownership="none">
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1"
+ closure="2">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="AppSrcClass"
+ c:type="GstAppSrcClass"
+ glib:is-gtype-struct-for="AppSrc">
+ <source-position filename="gst-libs/gst/app/gstappsrc.h" line="119"/>
+ <field name="basesrc_class">
+ <type name="GstBase.BaseSrcClass" c:type="GstBaseSrcClass"/>
+ </field>
+ <field name="need_data">
+ <callback name="need_data">
+ <source-position filename="gst-libs/gst/app/gstappsrc.h" line="107"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="appsrc" transfer-ownership="none">
+ <type name="AppSrc" c:type="GstAppSrc*"/>
+ </parameter>
+ <parameter name="length" transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="enough_data">
+ <callback name="enough_data">
+ <source-position filename="gst-libs/gst/app/gstappsrc.h" line="108"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="appsrc" transfer-ownership="none">
+ <type name="AppSrc" c:type="GstAppSrc*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="seek_data">
+ <callback name="seek_data">
+ <source-position filename="gst-libs/gst/app/gstappsrc.h" line="109"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="appsrc" transfer-ownership="none">
+ <type name="AppSrc" c:type="GstAppSrc*"/>
+ </parameter>
+ <parameter name="offset" transfer-ownership="none">
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="push_buffer">
+ <callback name="push_buffer">
+ <source-position filename="gst-libs/gst/app/gstappsrc.h" line="112"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.c"
+ line="2092">#GST_FLOW_OK when the buffer was successfully queued.
+#GST_FLOW_FLUSHING when @appsrc is not PAUSED or PLAYING.
+#GST_FLOW_EOS when EOS occurred.</doc>
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="appsrc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.c"
+ line="2083">a #GstAppSrc</doc>
+ <type name="AppSrc" c:type="GstAppSrc*"/>
+ </parameter>
+ <parameter name="buffer" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.c"
+ line="2084">a #GstBuffer to push</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="end_of_stream">
+ <callback name="end_of_stream">
+ <source-position filename="gst-libs/gst/app/gstappsrc.h" line="113"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.c"
+ line="2188">#GST_FLOW_OK when the EOS was successfully queued.
+#GST_FLOW_FLUSHING when @appsrc is not PAUSED or PLAYING.</doc>
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="appsrc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.c"
+ line="2183">a #GstAppSrc</doc>
+ <type name="AppSrc" c:type="GstAppSrc*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="push_sample">
+ <callback name="push_sample">
+ <source-position filename="gst-libs/gst/app/gstappsrc.h" line="114"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.c"
+ line="2143">#GST_FLOW_OK when the buffer was successfully queued.
+#GST_FLOW_FLUSHING when @appsrc is not PAUSED or PLAYING.
+#GST_FLOW_EOS when EOS occurred.</doc>
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="appsrc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.c"
+ line="2128">a #GstAppSrc</doc>
+ <type name="AppSrc" c:type="GstAppSrc*"/>
+ </parameter>
+ <parameter name="sample" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.c"
+ line="2129">a #GstSample from which buffer and caps may be
+extracted</doc>
+ <type name="Gst.Sample" c:type="GstSample*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="push_buffer_list">
+ <callback name="push_buffer_list">
+ <source-position filename="gst-libs/gst/app/gstappsrc.h" line="115"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.c"
+ line="2114">#GST_FLOW_OK when the buffer list was successfully queued.
+#GST_FLOW_FLUSHING when @appsrc is not PAUSED or PLAYING.
+#GST_FLOW_EOS when EOS occurred.</doc>
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="appsrc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.c"
+ line="2104">a #GstAppSrc</doc>
+ <type name="AppSrc" c:type="GstAppSrc*"/>
+ </parameter>
+ <parameter name="buffer_list" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.c"
+ line="2105">a #GstBufferList to push</doc>
+ <type name="Gst.BufferList" c:type="GstBufferList*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="2">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="AppSrcPrivate" c:type="GstAppSrcPrivate" disguised="1">
+ <source-position filename="gst-libs/gst/app/gstappsrc.h" line="45"/>
+ </record>
+ <enumeration name="AppStreamType"
+ glib:type-name="GstAppStreamType"
+ glib:get-type="gst_app_stream_type_get_type"
+ c:type="GstAppStreamType">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.h"
+ line="73">The stream type.</doc>
+ <member name="stream"
+ value="0"
+ c:identifier="GST_APP_STREAM_TYPE_STREAM"
+ glib:nick="stream">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.h"
+ line="75">No seeking is supported in the stream, such as a
+live stream.</doc>
+ </member>
+ <member name="seekable"
+ value="1"
+ c:identifier="GST_APP_STREAM_TYPE_SEEKABLE"
+ glib:nick="seekable">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.h"
+ line="77">The stream is seekable but seeking might not
+be very fast, such as data from a webserver.</doc>
+ </member>
+ <member name="random_access"
+ value="2"
+ c:identifier="GST_APP_STREAM_TYPE_RANDOM_ACCESS"
+ glib:nick="random-access">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/app/gstappsrc.h"
+ line="79">The stream is seekable and seeking is fast,
+such as in a local file.</doc>
+ </member>
+ </enumeration>
+ <function-macro name="IS_APP_SINK"
+ c:identifier="GST_IS_APP_SINK"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/app/gstappsink.h" line="34"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_APP_SINK_CLASS"
+ c:identifier="GST_IS_APP_SINK_CLASS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/app/gstappsink.h" line="36"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_APP_SRC"
+ c:identifier="GST_IS_APP_SRC"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/app/gstappsrc.h" line="35"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_APP_SRC_CLASS"
+ c:identifier="GST_IS_APP_SRC_CLASS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/app/gstappsrc.h" line="37"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ </namespace>
+</repository>
diff --git a/subprojects/gstreamer-sharp/girs/GstAudio-1.0.gir b/subprojects/gstreamer-sharp/girs/GstAudio-1.0.gir
new file mode 100644
index 0000000000..5ff07b769e
--- /dev/null
+++ b/subprojects/gstreamer-sharp/girs/GstAudio-1.0.gir
@@ -0,0 +1,15495 @@
+<?xml version="1.0"?>
+<!-- This file was automatically generated from C sources - DO NOT EDIT!
+To affect the contents of this file, edit the original C definitions,
+and/or use gtk-doc annotations. -->
+<repository version="1.2"
+ xmlns="http://www.gtk.org/introspection/core/1.0"
+ xmlns:c="http://www.gtk.org/introspection/c/1.0"
+ xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
+ <include name="GLib" version="2.0"/>
+ <include name="GModule" version="2.0"/>
+ <include name="GObject" version="2.0"/>
+ <include name="Gst" version="1.0"/>
+ <include name="GstBase" version="1.0"/>
+ <package name="gstreamer-audio-1.0"/>
+ <c:include name="gst/audio/audio.h"/>
+ <namespace name="GstAudio"
+ version="1.0"
+ shared-library="libgstaudio-1.0.so.0"
+ c:identifier-prefixes="Gst"
+ c:symbol-prefixes="gst">
+ <function-macro name="AUDIO_AGGREGATOR"
+ c:identifier="GST_AUDIO_AGGREGATOR"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/gstaudioaggregator.h"
+ line="163"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_AGGREGATOR_CLASS"
+ c:identifier="GST_AUDIO_AGGREGATOR_CLASS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/gstaudioaggregator.h"
+ line="164"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_AGGREGATOR_CONVERT_PAD"
+ c:identifier="GST_AUDIO_AGGREGATOR_CONVERT_PAD"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/gstaudioaggregator.h"
+ line="109"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_AGGREGATOR_CONVERT_PAD_CLASS"
+ c:identifier="GST_AUDIO_AGGREGATOR_CONVERT_PAD_CLASS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/gstaudioaggregator.h"
+ line="110"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_AGGREGATOR_CONVERT_PAD_GET_CLASS"
+ c:identifier="GST_AUDIO_AGGREGATOR_CONVERT_PAD_GET_CLASS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/gstaudioaggregator.h"
+ line="111"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_AGGREGATOR_GET_CLASS"
+ c:identifier="GST_AUDIO_AGGREGATOR_GET_CLASS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/gstaudioaggregator.h"
+ line="165"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_AGGREGATOR_PAD"
+ c:identifier="GST_AUDIO_AGGREGATOR_PAD"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/gstaudioaggregator.h"
+ line="46"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_AGGREGATOR_PAD_CLASS"
+ c:identifier="GST_AUDIO_AGGREGATOR_PAD_CLASS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/gstaudioaggregator.h"
+ line="47"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_AGGREGATOR_PAD_GET_CLASS"
+ c:identifier="GST_AUDIO_AGGREGATOR_PAD_GET_CLASS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/gstaudioaggregator.h"
+ line="48"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_BASE_SINK"
+ c:identifier="GST_AUDIO_BASE_SINK"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/gstaudiobasesink.h"
+ line="61"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_BASE_SINK_CAST"
+ c:identifier="GST_AUDIO_BASE_SINK_CAST"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/gstaudiobasesink.h"
+ line="62"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_BASE_SINK_CLASS"
+ c:identifier="GST_AUDIO_BASE_SINK_CLASS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/gstaudiobasesink.h"
+ line="63"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_BASE_SINK_CLOCK"
+ c:identifier="GST_AUDIO_BASE_SINK_CLOCK"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiobasesink.h"
+ line="68">Get the #GstClock of @obj.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudiobasesink.h"
+ line="74"/>
+ <parameters>
+ <parameter name="obj">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiobasesink.h"
+ line="70">a #GstAudioBaseSink</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_BASE_SINK_GET_CLASS"
+ c:identifier="GST_AUDIO_BASE_SINK_GET_CLASS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/gstaudiobasesink.h"
+ line="64"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_BASE_SINK_PAD"
+ c:identifier="GST_AUDIO_BASE_SINK_PAD"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiobasesink.h"
+ line="75">Get the sink #GstPad of @obj.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudiobasesink.h"
+ line="81"/>
+ <parameters>
+ <parameter name="obj">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiobasesink.h"
+ line="77">a #GstAudioBaseSink</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_BASE_SRC"
+ c:identifier="GST_AUDIO_BASE_SRC"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/gstaudiobasesrc.h"
+ line="39"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_BASE_SRC_CAST"
+ c:identifier="GST_AUDIO_BASE_SRC_CAST"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/gstaudiobasesrc.h"
+ line="40"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_BASE_SRC_CLASS"
+ c:identifier="GST_AUDIO_BASE_SRC_CLASS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/gstaudiobasesrc.h"
+ line="41"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_BASE_SRC_CLOCK"
+ c:identifier="GST_AUDIO_BASE_SRC_CLOCK"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiobasesrc.h"
+ line="46">Get the #GstClock of @obj.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudiobasesrc.h"
+ line="52"/>
+ <parameters>
+ <parameter name="obj">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiobasesrc.h"
+ line="48">a #GstAudioBaseSrc</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_BASE_SRC_GET_CLASS"
+ c:identifier="GST_AUDIO_BASE_SRC_GET_CLASS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/gstaudiobasesrc.h"
+ line="42"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_BASE_SRC_PAD"
+ c:identifier="GST_AUDIO_BASE_SRC_PAD"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiobasesrc.h"
+ line="53">Get the source #GstPad of @obj.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudiobasesrc.h"
+ line="59"/>
+ <parameters>
+ <parameter name="obj">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiobasesrc.h"
+ line="55">a #GstAudioBaseSrc</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_BUFFER_BPF"
+ c:identifier="GST_AUDIO_BUFFER_BPF"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/audio-buffer.h" line="85"/>
+ <parameters>
+ <parameter name="b">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_BUFFER_BPS"
+ c:identifier="GST_AUDIO_BUFFER_BPS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/audio-buffer.h" line="84"/>
+ <parameters>
+ <parameter name="b">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_BUFFER_CHANNELS"
+ c:identifier="GST_AUDIO_BUFFER_CHANNELS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/audio-buffer.h" line="77"/>
+ <parameters>
+ <parameter name="b">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_BUFFER_DEPTH"
+ c:identifier="GST_AUDIO_BUFFER_DEPTH"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/audio-buffer.h" line="82"/>
+ <parameters>
+ <parameter name="b">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_BUFFER_FORMAT"
+ c:identifier="GST_AUDIO_BUFFER_FORMAT"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/audio-buffer.h" line="76"/>
+ <parameters>
+ <parameter name="b">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_BUFFER_LAYOUT"
+ c:identifier="GST_AUDIO_BUFFER_LAYOUT"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/audio-buffer.h" line="78"/>
+ <parameters>
+ <parameter name="b">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_BUFFER_N_PLANES"
+ c:identifier="GST_AUDIO_BUFFER_N_PLANES"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/audio-buffer.h" line="88"/>
+ <parameters>
+ <parameter name="b">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_BUFFER_N_SAMPLES"
+ c:identifier="GST_AUDIO_BUFFER_N_SAMPLES"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/audio-buffer.h" line="87"/>
+ <parameters>
+ <parameter name="b">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_BUFFER_PLANE_DATA"
+ c:identifier="GST_AUDIO_BUFFER_PLANE_DATA"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/audio-buffer.h" line="89"/>
+ <parameters>
+ <parameter name="b">
+ </parameter>
+ <parameter name="p">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_BUFFER_PLANE_SIZE"
+ c:identifier="GST_AUDIO_BUFFER_PLANE_SIZE"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/audio-buffer.h" line="92"/>
+ <parameters>
+ <parameter name="b">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_BUFFER_RATE"
+ c:identifier="GST_AUDIO_BUFFER_RATE"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/audio-buffer.h" line="79"/>
+ <parameters>
+ <parameter name="b">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_BUFFER_SAMPLE_STRIDE"
+ c:identifier="GST_AUDIO_BUFFER_SAMPLE_STRIDE"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/audio-buffer.h" line="83"/>
+ <parameters>
+ <parameter name="b">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_BUFFER_WIDTH"
+ c:identifier="GST_AUDIO_BUFFER_WIDTH"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/audio-buffer.h" line="81"/>
+ <parameters>
+ <parameter name="b">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_CAPS_MAKE"
+ c:identifier="GST_AUDIO_CAPS_MAKE"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.h"
+ line="359">Generic caps string for audio, for use in pad templates.</doc>
+ <source-position filename="gst-libs/gst/audio/audio-format.h"
+ line="352"/>
+ <parameters>
+ <parameter name="format">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.h"
+ line="361">string format that describes the sample layout, as string
+ (e.g. "S16LE", "S8", etc.)</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_CD_SRC"
+ c:identifier="GST_AUDIO_CD_SRC"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/gstaudiocdsrc.h"
+ line="33"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_CD_SRC_CLASS"
+ c:identifier="GST_AUDIO_CD_SRC_CLASS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/gstaudiocdsrc.h"
+ line="34"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_CD_SRC_GET_CLASS"
+ c:identifier="GST_AUDIO_CD_SRC_GET_CLASS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/gstaudiocdsrc.h"
+ line="37"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <constant name="AUDIO_CHANNELS_RANGE"
+ value="(int) [ 1, max ]"
+ c:type="GST_AUDIO_CHANNELS_RANGE">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.h"
+ line="298">Maximum range of allowed channels, for use in template caps strings.</doc>
+ <source-position filename="gst-libs/gst/audio/audio-format.h"
+ line="303"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <function-macro name="AUDIO_CHANNEL_POSITION_MASK"
+ c:identifier="GST_AUDIO_CHANNEL_POSITION_MASK"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/audio-channels.h"
+ line="132"/>
+ <parameters>
+ <parameter name="pos">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_CLOCK"
+ c:identifier="GST_AUDIO_CLOCK"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/gstaudioclock.h"
+ line="36"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_CLOCK_CAST"
+ c:identifier="GST_AUDIO_CLOCK_CAST"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/gstaudioclock.h"
+ line="44"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_CLOCK_CLASS"
+ c:identifier="GST_AUDIO_CLOCK_CLASS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/gstaudioclock.h"
+ line="38"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <constant name="AUDIO_CONVERTER_OPT_DITHER_METHOD"
+ value="GstAudioConverter.dither-method"
+ c:type="GST_AUDIO_CONVERTER_OPT_DITHER_METHOD">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-converter.h"
+ line="49">#GstAudioDitherMethod, The dither method to use when
+changing bit depth.
+Default is #GST_AUDIO_DITHER_NONE.</doc>
+ <source-position filename="gst-libs/gst/audio/audio-converter.h"
+ line="56"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="AUDIO_CONVERTER_OPT_MIX_MATRIX"
+ value="GstAudioConverter.mix-matrix"
+ c:type="GST_AUDIO_CONVERTER_OPT_MIX_MATRIX">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-converter.h"
+ line="76">#GST_TYPE_LIST, The channel mapping matrix.
+
+The matrix coefficients must be between -1 and 1: the number of rows is equal
+to the number of output channels and the number of columns is equal to the
+number of input channels.
+
+## Example matrix generation code
+To generate the matrix using code:
+
+|[
+GValue v = G_VALUE_INIT;
+GValue v2 = G_VALUE_INIT;
+GValue v3 = G_VALUE_INIT;
+
+g_value_init (&amp;v2, GST_TYPE_ARRAY);
+g_value_init (&amp;v3, G_TYPE_DOUBLE);
+g_value_set_double (&amp;v3, 1);
+gst_value_array_append_value (&amp;v2, &amp;v3);
+g_value_unset (&amp;v3);
+[ Repeat for as many double as your input channels - unset and reinit v3 ]
+g_value_init (&amp;v, GST_TYPE_ARRAY);
+gst_value_array_append_value (&amp;v, &amp;v2);
+g_value_unset (&amp;v2);
+[ Repeat for as many v2's as your output channels - unset and reinit v2]
+g_object_set_property (G_OBJECT (audiomixmatrix), "matrix", &amp;v);
+g_value_unset (&amp;v);
+]|</doc>
+ <source-position filename="gst-libs/gst/audio/audio-converter.h"
+ line="107"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="AUDIO_CONVERTER_OPT_NOISE_SHAPING_METHOD"
+ value="GstAudioConverter.noise-shaping-method"
+ c:type="GST_AUDIO_CONVERTER_OPT_NOISE_SHAPING_METHOD">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-converter.h"
+ line="58">#GstAudioNoiseShapingMethod, The noise shaping method to use
+to mask noise from quantization errors.
+Default is #GST_AUDIO_NOISE_SHAPING_NONE.</doc>
+ <source-position filename="gst-libs/gst/audio/audio-converter.h"
+ line="65"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="AUDIO_CONVERTER_OPT_QUANTIZATION"
+ value="GstAudioConverter.quantization"
+ c:type="GST_AUDIO_CONVERTER_OPT_QUANTIZATION">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-converter.h"
+ line="67">#G_TYPE_UINT, The quantization amount. Components will be
+quantized to multiples of this value.
+Default is 1</doc>
+ <source-position filename="gst-libs/gst/audio/audio-converter.h"
+ line="74"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="AUDIO_CONVERTER_OPT_RESAMPLER_METHOD"
+ value="GstAudioConverter.resampler-method"
+ c:type="GST_AUDIO_CONVERTER_OPT_RESAMPLER_METHOD">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-converter.h"
+ line="40">#GstAudioResamplerMethod, The resampler method to use when
+changing sample rates.
+Default is #GST_AUDIO_RESAMPLER_METHOD_BLACKMAN_NUTTALL.</doc>
+ <source-position filename="gst-libs/gst/audio/audio-converter.h"
+ line="47"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <function-macro name="AUDIO_DECODER"
+ c:identifier="GST_AUDIO_DECODER"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/gstaudiodecoder.h"
+ line="37"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_DECODER_CAST"
+ c:identifier="GST_AUDIO_DECODER_CAST"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/gstaudiodecoder.h"
+ line="47"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_DECODER_CLASS"
+ c:identifier="GST_AUDIO_DECODER_CLASS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/gstaudiodecoder.h"
+ line="39"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_DECODER_ERROR"
+ c:identifier="GST_AUDIO_DECODER_ERROR"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.h"
+ line="113">Utility function that audio decoder elements can use in case they encountered
+a data processing error that may be fatal for the current "data unit" but
+need not prevent subsequent decoding. Such errors are counted and if there
+are too many, as configured in the context's max_errors, the pipeline will
+post an error message and the application will be requested to stop further
+media processing. Otherwise, it is considered a "glitch" and only a warning
+is logged. In either case, @ret is set to the proper value to
+return to upstream/caller (indicating either GST_FLOW_ERROR or GST_FLOW_OK).</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudiodecoder.h"
+ line="133"/>
+ <parameters>
+ <parameter name="el">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.h"
+ line="115">the base audio decoder element that generates the error</doc>
+ </parameter>
+ <parameter name="weight">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.h"
+ line="116">element defined weight of the error, added to error count</doc>
+ </parameter>
+ <parameter name="domain">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.h"
+ line="117">like CORE, LIBRARY, RESOURCE or STREAM (see #gstreamer-GstGError)</doc>
+ </parameter>
+ <parameter name="code">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.h"
+ line="118">error code defined for that domain (see #gstreamer-GstGError)</doc>
+ </parameter>
+ <parameter name="text">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.h"
+ line="119">the message to display (format string and args enclosed in
+ parentheses)</doc>
+ </parameter>
+ <parameter name="debug">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.h"
+ line="121">debugging information for the message (format string and args
+ enclosed in parentheses)</doc>
+ </parameter>
+ <parameter name="ret">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.h"
+ line="123">variable to receive return value</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_DECODER_GET_CLASS"
+ c:identifier="GST_AUDIO_DECODER_GET_CLASS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/gstaudiodecoder.h"
+ line="41"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_DECODER_INPUT_SEGMENT"
+ c:identifier="GST_AUDIO_DECODER_INPUT_SEGMENT"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.h"
+ line="83">Gives the input segment of the element.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudiodecoder.h"
+ line="88"/>
+ <parameters>
+ <parameter name="obj">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.h"
+ line="85">audio decoder instance</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <constant name="AUDIO_DECODER_MAX_ERRORS"
+ value="10"
+ c:type="GST_AUDIO_DECODER_MAX_ERRORS">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.h"
+ line="145">Default maximum number of errors tolerated before signaling error.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudiodecoder.h"
+ line="149"/>
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <function-macro name="AUDIO_DECODER_OUTPUT_SEGMENT"
+ c:identifier="GST_AUDIO_DECODER_OUTPUT_SEGMENT"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.h"
+ line="91">Gives the output segment of the element.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudiodecoder.h"
+ line="96"/>
+ <parameters>
+ <parameter name="obj">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.h"
+ line="93">audio decoder instance</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <constant name="AUDIO_DECODER_SINK_NAME"
+ value="sink"
+ c:type="GST_AUDIO_DECODER_SINK_NAME">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.h"
+ line="51">The name of the templates for the sink pad.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudiodecoder.h"
+ line="55"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <function-macro name="AUDIO_DECODER_SINK_PAD"
+ c:identifier="GST_AUDIO_DECODER_SINK_PAD"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.h"
+ line="72">Gives the pointer to the sink #GstPad object of the element.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudiodecoder.h"
+ line="77"/>
+ <parameters>
+ <parameter name="obj">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.h"
+ line="74">base audio codec instance</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <constant name="AUDIO_DECODER_SRC_NAME"
+ value="src"
+ c:type="GST_AUDIO_DECODER_SRC_NAME">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.h"
+ line="57">The name of the templates for the source pad.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudiodecoder.h"
+ line="61"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <function-macro name="AUDIO_DECODER_SRC_PAD"
+ c:identifier="GST_AUDIO_DECODER_SRC_PAD"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.h"
+ line="64">Gives the pointer to the source #GstPad object of the element.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudiodecoder.h"
+ line="69"/>
+ <parameters>
+ <parameter name="obj">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.h"
+ line="66">base audio codec instance</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_DECODER_STREAM_LOCK"
+ c:identifier="GST_AUDIO_DECODER_STREAM_LOCK"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/gstaudiodecoder.h"
+ line="79"/>
+ <parameters>
+ <parameter name="dec">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_DECODER_STREAM_UNLOCK"
+ c:identifier="GST_AUDIO_DECODER_STREAM_UNLOCK"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/gstaudiodecoder.h"
+ line="80"/>
+ <parameters>
+ <parameter name="dec">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <constant name="AUDIO_DEF_CHANNELS"
+ value="2"
+ c:type="GST_AUDIO_DEF_CHANNELS">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.h"
+ line="378">Standard number of channels used in consumer audio.</doc>
+ <source-position filename="gst-libs/gst/audio/audio-format.h"
+ line="369"/>
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="AUDIO_DEF_FORMAT"
+ value="S16LE"
+ c:type="GST_AUDIO_DEF_FORMAT">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.h"
+ line="384">Standard format used in consumer audio.</doc>
+ <source-position filename="gst-libs/gst/audio/audio-format.h"
+ line="375"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="AUDIO_DEF_RATE" value="44100" c:type="GST_AUDIO_DEF_RATE">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.h"
+ line="372">Standard sampling rate used in consumer audio.</doc>
+ <source-position filename="gst-libs/gst/audio/audio-format.h"
+ line="363"/>
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <function-macro name="AUDIO_ENCODER"
+ c:identifier="GST_AUDIO_ENCODER"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/gstaudioencoder.h"
+ line="34"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_ENCODER_CAST"
+ c:identifier="GST_AUDIO_ENCODER_CAST"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/gstaudioencoder.h"
+ line="39"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_ENCODER_CLASS"
+ c:identifier="GST_AUDIO_ENCODER_CLASS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/gstaudioencoder.h"
+ line="35"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_ENCODER_GET_CLASS"
+ c:identifier="GST_AUDIO_ENCODER_GET_CLASS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/gstaudioencoder.h"
+ line="36"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_ENCODER_INPUT_SEGMENT"
+ c:identifier="GST_AUDIO_ENCODER_INPUT_SEGMENT"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.h"
+ line="70">Gives the input segment of the element.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudioencoder.h"
+ line="76"/>
+ <parameters>
+ <parameter name="obj">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.h"
+ line="72">base parse instance</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_ENCODER_OUTPUT_SEGMENT"
+ c:identifier="GST_AUDIO_ENCODER_OUTPUT_SEGMENT"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.h"
+ line="78">Gives the output segment of the element.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudioencoder.h"
+ line="84"/>
+ <parameters>
+ <parameter name="obj">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.h"
+ line="80">base parse instance</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <constant name="AUDIO_ENCODER_SINK_NAME"
+ value="sink"
+ c:type="GST_AUDIO_ENCODER_SINK_NAME">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.h"
+ line="41">the name of the templates for the sink pad</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudioencoder.h"
+ line="46"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <function-macro name="AUDIO_ENCODER_SINK_PAD"
+ c:identifier="GST_AUDIO_ENCODER_SINK_PAD"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.h"
+ line="62">Gives the pointer to the sink #GstPad object of the element.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudioencoder.h"
+ line="68"/>
+ <parameters>
+ <parameter name="obj">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.h"
+ line="64">audio encoder instance</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <constant name="AUDIO_ENCODER_SRC_NAME"
+ value="src"
+ c:type="GST_AUDIO_ENCODER_SRC_NAME">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.h"
+ line="47">the name of the templates for the source pad</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudioencoder.h"
+ line="52"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <function-macro name="AUDIO_ENCODER_SRC_PAD"
+ c:identifier="GST_AUDIO_ENCODER_SRC_PAD"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.h"
+ line="54">Gives the pointer to the source #GstPad object of the element.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudioencoder.h"
+ line="60"/>
+ <parameters>
+ <parameter name="obj">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.h"
+ line="56">audio encoder instance</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_ENCODER_STREAM_LOCK"
+ c:identifier="GST_AUDIO_ENCODER_STREAM_LOCK"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/gstaudioencoder.h"
+ line="86"/>
+ <parameters>
+ <parameter name="enc">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_ENCODER_STREAM_UNLOCK"
+ c:identifier="GST_AUDIO_ENCODER_STREAM_UNLOCK"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/gstaudioencoder.h"
+ line="87"/>
+ <parameters>
+ <parameter name="enc">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_FILTER"
+ c:identifier="GST_AUDIO_FILTER"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/gstaudiofilter.h"
+ line="36"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_FILTER_BPF"
+ c:identifier="GST_AUDIO_FILTER_BPF"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/gstaudiofilter.h"
+ line="71"/>
+ <parameters>
+ <parameter name="filter">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_FILTER_BPS"
+ c:identifier="GST_AUDIO_FILTER_BPS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/gstaudiofilter.h"
+ line="72"/>
+ <parameters>
+ <parameter name="filter">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_FILTER_CAST"
+ c:identifier="GST_AUDIO_FILTER_CAST"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/gstaudiofilter.h"
+ line="38"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_FILTER_CHANNELS"
+ c:identifier="GST_AUDIO_FILTER_CHANNELS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/gstaudiofilter.h"
+ line="70"/>
+ <parameters>
+ <parameter name="filter">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_FILTER_CLASS"
+ c:identifier="GST_AUDIO_FILTER_CLASS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/gstaudiofilter.h"
+ line="40"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_FILTER_CLASS_CAST"
+ c:identifier="GST_AUDIO_FILTER_CLASS_CAST"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/gstaudiofilter.h"
+ line="42"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_FILTER_FORMAT"
+ c:identifier="GST_AUDIO_FILTER_FORMAT"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/gstaudiofilter.h"
+ line="68"/>
+ <parameters>
+ <parameter name="filter">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_FILTER_GET_CLASS"
+ c:identifier="GST_AUDIO_FILTER_GET_CLASS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/gstaudiofilter.h"
+ line="44"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_FILTER_INFO"
+ c:identifier="GST_AUDIO_FILTER_INFO"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/gstaudiofilter.h"
+ line="66"/>
+ <parameters>
+ <parameter name="filter">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_FILTER_RATE"
+ c:identifier="GST_AUDIO_FILTER_RATE"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/gstaudiofilter.h"
+ line="69"/>
+ <parameters>
+ <parameter name="filter">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <constant name="AUDIO_FORMATS_ALL"
+ value="{ F64BE, F64LE, F32BE, F32LE, S32BE, S32LE, U32BE, U32LE, S24_32BE, S24_32LE, U24_32BE, U24_32LE, S24BE, S24LE, U24BE, U24LE, S20BE, S20LE, U20BE, U20LE, S18BE, S18LE, U18BE, U18LE, S16BE, S16LE, U16BE, U16LE, S8, U8 }"
+ c:type="GST_AUDIO_FORMATS_ALL">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.h"
+ line="325">List of all audio formats, for use in template caps strings.
+
+Formats are sorted by decreasing "quality", using these criteria by priority:
+ - depth
+ - width
+ - Float &gt; Signed &gt; Unsigned
+ - native endianness preferred</doc>
+ <source-position filename="gst-libs/gst/audio/audio-format.h"
+ line="337"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <function-macro name="AUDIO_FORMAT_INFO_DEPTH"
+ c:identifier="GST_AUDIO_FORMAT_INFO_DEPTH"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/audio-format.h"
+ line="271"/>
+ <parameters>
+ <parameter name="info">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_FORMAT_INFO_ENDIANNESS"
+ c:identifier="GST_AUDIO_FORMAT_INFO_ENDIANNESS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/audio-format.h"
+ line="267"/>
+ <parameters>
+ <parameter name="info">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_FORMAT_INFO_FLAGS"
+ c:identifier="GST_AUDIO_FORMAT_INFO_FLAGS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/audio-format.h"
+ line="261"/>
+ <parameters>
+ <parameter name="info">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_FORMAT_INFO_FORMAT"
+ c:identifier="GST_AUDIO_FORMAT_INFO_FORMAT"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/audio-format.h"
+ line="259"/>
+ <parameters>
+ <parameter name="info">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_FORMAT_INFO_IS_BIG_ENDIAN"
+ c:identifier="GST_AUDIO_FORMAT_INFO_IS_BIG_ENDIAN"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/audio-format.h"
+ line="269"/>
+ <parameters>
+ <parameter name="info">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_FORMAT_INFO_IS_FLOAT"
+ c:identifier="GST_AUDIO_FORMAT_INFO_IS_FLOAT"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/audio-format.h"
+ line="264"/>
+ <parameters>
+ <parameter name="info">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_FORMAT_INFO_IS_INTEGER"
+ c:identifier="GST_AUDIO_FORMAT_INFO_IS_INTEGER"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/audio-format.h"
+ line="263"/>
+ <parameters>
+ <parameter name="info">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_FORMAT_INFO_IS_LITTLE_ENDIAN"
+ c:identifier="GST_AUDIO_FORMAT_INFO_IS_LITTLE_ENDIAN"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/audio-format.h"
+ line="268"/>
+ <parameters>
+ <parameter name="info">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_FORMAT_INFO_IS_SIGNED"
+ c:identifier="GST_AUDIO_FORMAT_INFO_IS_SIGNED"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/audio-format.h"
+ line="265"/>
+ <parameters>
+ <parameter name="info">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_FORMAT_INFO_NAME"
+ c:identifier="GST_AUDIO_FORMAT_INFO_NAME"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/audio-format.h"
+ line="260"/>
+ <parameters>
+ <parameter name="info">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_FORMAT_INFO_WIDTH"
+ c:identifier="GST_AUDIO_FORMAT_INFO_WIDTH"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/audio-format.h"
+ line="270"/>
+ <parameters>
+ <parameter name="info">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_INFO_BPF"
+ c:identifier="GST_AUDIO_INFO_BPF"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/audio-info.h" line="101"/>
+ <parameters>
+ <parameter name="info">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_INFO_BPS"
+ c:identifier="GST_AUDIO_INFO_BPS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/audio-info.h" line="85"/>
+ <parameters>
+ <parameter name="info">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_INFO_CHANNELS"
+ c:identifier="GST_AUDIO_INFO_CHANNELS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/audio-info.h" line="100"/>
+ <parameters>
+ <parameter name="info">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_INFO_DEPTH"
+ c:identifier="GST_AUDIO_INFO_DEPTH"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/audio-info.h" line="84"/>
+ <parameters>
+ <parameter name="i">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_INFO_ENDIANNESS"
+ c:identifier="GST_AUDIO_INFO_ENDIANNESS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/audio-info.h" line="91"/>
+ <parameters>
+ <parameter name="i">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_INFO_FLAGS"
+ c:identifier="GST_AUDIO_INFO_FLAGS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/audio-info.h" line="95"/>
+ <parameters>
+ <parameter name="info">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_INFO_FORMAT"
+ c:identifier="GST_AUDIO_INFO_FORMAT"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/audio-info.h" line="81"/>
+ <parameters>
+ <parameter name="i">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_INFO_IS_BIG_ENDIAN"
+ c:identifier="GST_AUDIO_INFO_IS_BIG_ENDIAN"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/audio-info.h" line="93"/>
+ <parameters>
+ <parameter name="i">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_INFO_IS_FLOAT"
+ c:identifier="GST_AUDIO_INFO_IS_FLOAT"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/audio-info.h" line="88"/>
+ <parameters>
+ <parameter name="i">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_INFO_IS_INTEGER"
+ c:identifier="GST_AUDIO_INFO_IS_INTEGER"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/audio-info.h" line="87"/>
+ <parameters>
+ <parameter name="i">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_INFO_IS_LITTLE_ENDIAN"
+ c:identifier="GST_AUDIO_INFO_IS_LITTLE_ENDIAN"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/audio-info.h" line="92"/>
+ <parameters>
+ <parameter name="i">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_INFO_IS_SIGNED"
+ c:identifier="GST_AUDIO_INFO_IS_SIGNED"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/audio-info.h" line="89"/>
+ <parameters>
+ <parameter name="i">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_INFO_IS_UNPOSITIONED"
+ c:identifier="GST_AUDIO_INFO_IS_UNPOSITIONED"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/audio-info.h" line="96"/>
+ <parameters>
+ <parameter name="info">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_INFO_IS_VALID"
+ c:identifier="GST_AUDIO_INFO_IS_VALID"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/audio-info.h" line="79"/>
+ <parameters>
+ <parameter name="i">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_INFO_LAYOUT"
+ c:identifier="GST_AUDIO_INFO_LAYOUT"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/audio-info.h" line="97"/>
+ <parameters>
+ <parameter name="info">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_INFO_NAME"
+ c:identifier="GST_AUDIO_INFO_NAME"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/audio-info.h" line="82"/>
+ <parameters>
+ <parameter name="i">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_INFO_POSITION"
+ c:identifier="GST_AUDIO_INFO_POSITION"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/audio-info.h" line="102"/>
+ <parameters>
+ <parameter name="info">
+ </parameter>
+ <parameter name="c">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_INFO_RATE"
+ c:identifier="GST_AUDIO_INFO_RATE"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/audio-info.h" line="99"/>
+ <parameters>
+ <parameter name="info">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_INFO_WIDTH"
+ c:identifier="GST_AUDIO_INFO_WIDTH"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/audio-info.h" line="83"/>
+ <parameters>
+ <parameter name="i">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_NE"
+ c:identifier="GST_AUDIO_NE"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.h"
+ line="305">Turns audio format string @s into the format string for native endianness.</doc>
+ <source-position filename="gst-libs/gst/audio/audio-format.h"
+ line="318"/>
+ <parameters>
+ <parameter name="s">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.h"
+ line="307">format string without endianness marker</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_OE"
+ c:identifier="GST_AUDIO_OE"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.h"
+ line="311">Turns audio format string @s into the format string for other endianness.</doc>
+ <source-position filename="gst-libs/gst/audio/audio-format.h"
+ line="319"/>
+ <parameters>
+ <parameter name="s">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.h"
+ line="313">format string without endianness marker</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <constant name="AUDIO_RATE_RANGE"
+ value="(int) [ 1, max ]"
+ c:type="GST_AUDIO_RATE_RANGE">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.h"
+ line="292">Maximum range of allowed sample rates, for use in template caps strings.</doc>
+ <source-position filename="gst-libs/gst/audio/audio-format.h"
+ line="297"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="AUDIO_RESAMPLER_OPT_CUBIC_B"
+ value="GstAudioResampler.cubic-b"
+ c:type="GST_AUDIO_RESAMPLER_OPT_CUBIC_B">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-resampler.h"
+ line="58">G_TYPE_DOUBLE, B parameter of the cubic filter.
+Values between 0.0 and 2.0 are accepted. 1.0 is the default.
+
+Below are some values of popular filters:
+ B C
+Hermite 0.0 0.0
+Spline 1.0 0.0
+Catmull-Rom 0.0 1/2</doc>
+ <source-position filename="gst-libs/gst/audio/audio-resampler.h"
+ line="70"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="AUDIO_RESAMPLER_OPT_CUBIC_C"
+ value="GstAudioResampler.cubic-c"
+ c:type="GST_AUDIO_RESAMPLER_OPT_CUBIC_C">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-resampler.h"
+ line="71">G_TYPE_DOUBLE, C parameter of the cubic filter.
+Values between 0.0 and 2.0 are accepted. 0.0 is the default.
+
+See #GST_AUDIO_RESAMPLER_OPT_CUBIC_B for some more common values</doc>
+ <source-position filename="gst-libs/gst/audio/audio-resampler.h"
+ line="79"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="AUDIO_RESAMPLER_OPT_CUTOFF"
+ value="GstAudioResampler.cutoff"
+ c:type="GST_AUDIO_RESAMPLER_OPT_CUTOFF">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-resampler.h"
+ line="37">G_TYPE_DOUBLE, Cutoff parameter for the filter. 0.940 is the default.</doc>
+ <source-position filename="gst-libs/gst/audio/audio-resampler.h"
+ line="42"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="AUDIO_RESAMPLER_OPT_FILTER_INTERPOLATION"
+ value="GstAudioResampler.filter-interpolation"
+ c:type="GST_AUDIO_RESAMPLER_OPT_FILTER_INTERPOLATION">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-resampler.h"
+ line="142">GST_TYPE_AUDIO_RESAMPLER_INTERPOLATION: how the filter coefficients should be
+ interpolated.
+GST_AUDIO_RESAMPLER_FILTER_INTERPOLATION_CUBIC is default.</doc>
+ <source-position filename="gst-libs/gst/audio/audio-resampler.h"
+ line="149"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="AUDIO_RESAMPLER_OPT_FILTER_MODE"
+ value="GstAudioResampler.filter-mode"
+ c:type="GST_AUDIO_RESAMPLER_OPT_FILTER_MODE">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-resampler.h"
+ line="108">GST_TYPE_AUDIO_RESAMPLER_FILTER_MODE: how the filter tables should be
+constructed.
+GST_AUDIO_RESAMPLER_FILTER_MODE_AUTO is the default.</doc>
+ <source-position filename="gst-libs/gst/audio/audio-resampler.h"
+ line="115"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="AUDIO_RESAMPLER_OPT_FILTER_MODE_THRESHOLD"
+ value="GstAudioResampler.filter-mode-threshold"
+ c:type="GST_AUDIO_RESAMPLER_OPT_FILTER_MODE_THRESHOLD">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-resampler.h"
+ line="116">G_TYPE_UINT: the amount of memory to use for full filter tables before
+switching to interpolated filter tables.
+1048576 is the default.</doc>
+ <source-position filename="gst-libs/gst/audio/audio-resampler.h"
+ line="123"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="AUDIO_RESAMPLER_OPT_FILTER_OVERSAMPLE"
+ value="GstAudioResampler.filter-oversample"
+ c:type="GST_AUDIO_RESAMPLER_OPT_FILTER_OVERSAMPLE">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-resampler.h"
+ line="150">G_TYPE_UINT, oversampling to use when interpolating filters
+8 is the default.</doc>
+ <source-position filename="gst-libs/gst/audio/audio-resampler.h"
+ line="156"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="AUDIO_RESAMPLER_OPT_MAX_PHASE_ERROR"
+ value="GstAudioResampler.max-phase-error"
+ c:type="GST_AUDIO_RESAMPLER_OPT_MAX_PHASE_ERROR">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-resampler.h"
+ line="158">G_TYPE_DOUBLE: The maximum allowed phase error when switching sample
+rates.
+0.1 is the default.</doc>
+ <source-position filename="gst-libs/gst/audio/audio-resampler.h"
+ line="165"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="AUDIO_RESAMPLER_OPT_N_TAPS"
+ value="GstAudioResampler.n-taps"
+ c:type="GST_AUDIO_RESAMPLER_OPT_N_TAPS">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-resampler.h"
+ line="81">G_TYPE_INT: the number of taps to use for the filter.
+0 is the default and selects the taps automatically.</doc>
+ <source-position filename="gst-libs/gst/audio/audio-resampler.h"
+ line="87"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="AUDIO_RESAMPLER_OPT_STOP_ATTENUATION"
+ value="GstAudioResampler.stop-attenutation"
+ c:type="GST_AUDIO_RESAMPLER_OPT_STOP_ATTENUATION">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-resampler.h"
+ line="43">G_TYPE_DOUBLE, stopband attenuation in decibels. The attenuation
+after the stopband for the kaiser window. 85 dB is the default.</doc>
+ <source-position filename="gst-libs/gst/audio/audio-resampler.h"
+ line="49"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="AUDIO_RESAMPLER_OPT_TRANSITION_BANDWIDTH"
+ value="GstAudioResampler.transition-bandwidth"
+ c:type="GST_AUDIO_RESAMPLER_OPT_TRANSITION_BANDWIDTH">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-resampler.h"
+ line="50">G_TYPE_DOUBLE, transition bandwidth. The width of the
+transition band for the kaiser window. 0.087 is the default.</doc>
+ <source-position filename="gst-libs/gst/audio/audio-resampler.h"
+ line="56"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="AUDIO_RESAMPLER_QUALITY_DEFAULT"
+ value="4"
+ c:type="GST_AUDIO_RESAMPLER_QUALITY_DEFAULT">
+ <source-position filename="gst-libs/gst/audio/audio-resampler.h"
+ line="215"/>
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="AUDIO_RESAMPLER_QUALITY_MAX"
+ value="10"
+ c:type="GST_AUDIO_RESAMPLER_QUALITY_MAX">
+ <source-position filename="gst-libs/gst/audio/audio-resampler.h"
+ line="214"/>
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="AUDIO_RESAMPLER_QUALITY_MIN"
+ value="0"
+ c:type="GST_AUDIO_RESAMPLER_QUALITY_MIN">
+ <source-position filename="gst-libs/gst/audio/audio-resampler.h"
+ line="213"/>
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <function-macro name="AUDIO_RING_BUFFER"
+ c:identifier="GST_AUDIO_RING_BUFFER"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="33"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_RING_BUFFER_BROADCAST"
+ c:identifier="GST_AUDIO_RING_BUFFER_BROADCAST"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="162"/>
+ <parameters>
+ <parameter name="buf">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_RING_BUFFER_CAST"
+ c:identifier="GST_AUDIO_RING_BUFFER_CAST"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="36"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_RING_BUFFER_CLASS"
+ c:identifier="GST_AUDIO_RING_BUFFER_CLASS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="34"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_RING_BUFFER_GET_CLASS"
+ c:identifier="GST_AUDIO_RING_BUFFER_GET_CLASS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="35"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_RING_BUFFER_GET_COND"
+ c:identifier="GST_AUDIO_RING_BUFFER_GET_COND"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="159"/>
+ <parameters>
+ <parameter name="buf">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_RING_BUFFER_SIGNAL"
+ c:identifier="GST_AUDIO_RING_BUFFER_SIGNAL"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="161"/>
+ <parameters>
+ <parameter name="buf">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_RING_BUFFER_WAIT"
+ c:identifier="GST_AUDIO_RING_BUFFER_WAIT"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="160"/>
+ <parameters>
+ <parameter name="buf">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_SINK"
+ c:identifier="GST_AUDIO_SINK"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/gstaudiosink.h" line="36"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_SINK_CLASS"
+ c:identifier="GST_AUDIO_SINK_CLASS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/gstaudiosink.h" line="37"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_SINK_GET_CLASS"
+ c:identifier="GST_AUDIO_SINK_GET_CLASS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/gstaudiosink.h" line="38"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_SRC"
+ c:identifier="GST_AUDIO_SRC"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/gstaudiosrc.h" line="36"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_SRC_CLASS"
+ c:identifier="GST_AUDIO_SRC_CLASS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/gstaudiosrc.h" line="37"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_SRC_GET_CLASS"
+ c:identifier="GST_AUDIO_SRC_GET_CLASS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/gstaudiosrc.h" line="38"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <class name="AudioAggregator"
+ c:symbol-prefix="audio_aggregator"
+ c:type="GstAudioAggregator"
+ version="1.14"
+ parent="GstBase.Aggregator"
+ abstract="1"
+ glib:type-name="GstAudioAggregator"
+ glib:get-type="gst_audio_aggregator_get_type"
+ glib:type-struct="AudioAggregatorClass">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioaggregator.c"
+ line="26">Subclasses must use (a subclass of) #GstAudioAggregatorPad for both
+their source and sink pads,
+gst_element_class_add_static_pad_template_with_gtype() is a convenient
+helper.
+
+#GstAudioAggregator can perform conversion on the data arriving
+on its sink pads, based on the format expected downstream: in order
+to enable that behaviour, the GType of the sink pads must either be
+a (subclass of) #GstAudioAggregatorConvertPad to use the default
+#GstAudioConverter implementation, or a subclass of #GstAudioAggregatorPad
+implementing #GstAudioAggregatorPadClass.convert_buffer.
+
+To allow for the output caps to change, the mechanism is the same as
+above, with the GType of the source pad.
+
+See #GstAudioMixer for an example.
+
+When conversion is enabled, #GstAudioAggregator will accept
+any type of raw audio caps and perform conversion
+on the data arriving on its sink pads, with whatever downstream
+expects as the target format.
+
+In case downstream caps are not fully fixated, it will use
+the first configured sink pad to finish fixating its source pad
+caps.
+
+A notable exception for now is the sample rate, sink pads must
+have the same sample rate as either the downstream requirement,
+or the first configured pad, or a combination of both (when
+downstream specifies a range or a set of acceptable rates).
+
+The #GstAggregator::samples-selected signal is provided with some
+additional information about the output buffer:
+- "offset" G_TYPE_UINT64 Offset in samples since segment start
+ for the position that is next to be filled in the output buffer.
+- "frames" G_TYPE_UINT Number of frames per output buffer.
+
+In addition the gst_aggregator_peek_next_sample() function returns
+additional information in the info #GstStructure of the returned sample:
+- "output-offset" G_TYPE_UINT64 Sample offset in output segment relative to
+ the output segment's start where the current position of this input
+ buffer would be placed
+- "position" G_TYPE_UINT current position in the input buffer in samples
+- "size" G_TYPE_UINT size of the input buffer in samples</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudioaggregator.h"
+ line="212"/>
+ <virtual-method name="aggregate_one_buffer">
+ <source-position filename="gst-libs/gst/audio/gstaudioaggregator.h"
+ line="206"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="aagg" transfer-ownership="none">
+ <type name="AudioAggregator" c:type="GstAudioAggregator*"/>
+ </instance-parameter>
+ <parameter name="pad" transfer-ownership="none">
+ <type name="AudioAggregatorPad" c:type="GstAudioAggregatorPad*"/>
+ </parameter>
+ <parameter name="inbuf" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="in_offset" transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="outbuf" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="out_offset" transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="num_frames" transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="create_output_buffer">
+ <source-position filename="gst-libs/gst/audio/gstaudioaggregator.h"
+ line="204"/>
+ <return-value transfer-ownership="full">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="aagg" transfer-ownership="none">
+ <type name="AudioAggregator" c:type="GstAudioAggregator*"/>
+ </instance-parameter>
+ <parameter name="num_frames" transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <method name="set_sink_caps"
+ c:identifier="gst_audio_aggregator_set_sink_caps">
+ <source-position filename="gst-libs/gst/audio/gstaudioaggregator.h"
+ line="222"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="aagg" transfer-ownership="none">
+ <type name="AudioAggregator" c:type="GstAudioAggregator*"/>
+ </instance-parameter>
+ <parameter name="pad" transfer-ownership="none">
+ <type name="AudioAggregatorPad" c:type="GstAudioAggregatorPad*"/>
+ </parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="alignment-threshold"
+ writable="1"
+ transfer-ownership="none">
+ <type name="guint64" c:type="guint64"/>
+ </property>
+ <property name="discont-wait" writable="1" transfer-ownership="none">
+ <type name="guint64" c:type="guint64"/>
+ </property>
+ <property name="output-buffer-duration"
+ writable="1"
+ transfer-ownership="none">
+ <type name="guint64" c:type="guint64"/>
+ </property>
+ <property name="output-buffer-duration-fraction"
+ version="1.18"
+ writable="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioaggregator.c"
+ line="596">Output block size in nanoseconds, expressed as a fraction.</doc>
+ <type name="Gst.Fraction"/>
+ </property>
+ <field name="parent">
+ <type name="GstBase.Aggregator" c:type="GstAggregator"/>
+ </field>
+ <field name="current_caps">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioaggregator.h"
+ line="171">The caps set by the subclass</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="AudioAggregatorPrivate"
+ c:type="GstAudioAggregatorPrivate*"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="AudioAggregatorClass"
+ c:type="GstAudioAggregatorClass"
+ glib:is-gtype-struct-for="AudioAggregator"
+ version="1.14">
+ <source-position filename="gst-libs/gst/audio/gstaudioaggregator.h"
+ line="212"/>
+ <field name="parent_class">
+ <type name="GstBase.AggregatorClass" c:type="GstAggregatorClass"/>
+ </field>
+ <field name="create_output_buffer">
+ <callback name="create_output_buffer">
+ <source-position filename="gst-libs/gst/audio/gstaudioaggregator.h"
+ line="204"/>
+ <return-value transfer-ownership="full">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <parameter name="aagg" transfer-ownership="none">
+ <type name="AudioAggregator" c:type="GstAudioAggregator*"/>
+ </parameter>
+ <parameter name="num_frames" transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="aggregate_one_buffer">
+ <callback name="aggregate_one_buffer">
+ <source-position filename="gst-libs/gst/audio/gstaudioaggregator.h"
+ line="206"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="aagg" transfer-ownership="none">
+ <type name="AudioAggregator" c:type="GstAudioAggregator*"/>
+ </parameter>
+ <parameter name="pad" transfer-ownership="none">
+ <type name="AudioAggregatorPad" c:type="GstAudioAggregatorPad*"/>
+ </parameter>
+ <parameter name="inbuf" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="in_offset" transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="outbuf" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="out_offset" transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="num_frames" transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="20">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <class name="AudioAggregatorConvertPad"
+ c:symbol-prefix="audio_aggregator_convert_pad"
+ c:type="GstAudioAggregatorConvertPad"
+ version="1.14"
+ parent="AudioAggregatorPad"
+ glib:type-name="GstAudioAggregatorConvertPad"
+ glib:get-type="gst_audio_aggregator_convert_pad_get_type"
+ glib:type-struct="AudioAggregatorConvertPadClass">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioaggregator.h"
+ line="123">An implementation of GstPad that can be used with #GstAudioAggregator.
+
+See #GstAudioAggregator for more details.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudioaggregator.h"
+ line="153"/>
+ <property name="converter-config" writable="1" transfer-ownership="none">
+ <type name="Gst.Structure"/>
+ </property>
+ <field name="parent" readable="0" private="1">
+ <type name="AudioAggregatorPad" c:type="GstAudioAggregatorPad"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="AudioAggregatorConvertPadPrivate"
+ c:type="GstAudioAggregatorConvertPadPrivate*"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="AudioAggregatorConvertPadClass"
+ c:type="GstAudioAggregatorConvertPadClass"
+ glib:is-gtype-struct-for="AudioAggregatorConvertPad"
+ version="1.14">
+ <source-position filename="gst-libs/gst/audio/gstaudioaggregator.h"
+ line="153"/>
+ <field name="parent_class">
+ <type name="AudioAggregatorPadClass"
+ c:type="GstAudioAggregatorPadClass"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="AudioAggregatorConvertPadPrivate"
+ c:type="GstAudioAggregatorConvertPadPrivate"
+ disguised="1">
+ <source-position filename="gst-libs/gst/audio/gstaudioaggregator.h"
+ line="121"/>
+ </record>
+ <class name="AudioAggregatorPad"
+ c:symbol-prefix="audio_aggregator_pad"
+ c:type="GstAudioAggregatorPad"
+ version="1.14"
+ parent="GstBase.AggregatorPad"
+ glib:type-name="GstAudioAggregatorPad"
+ glib:get-type="gst_audio_aggregator_pad_get_type"
+ glib:type-struct="AudioAggregatorPadClass">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioaggregator.h"
+ line="60">The default implementation of GstPad used with #GstAudioAggregator</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudioaggregator.h"
+ line="103"/>
+ <virtual-method name="convert_buffer">
+ <source-position filename="gst-libs/gst/audio/gstaudioaggregator.h"
+ line="94"/>
+ <return-value transfer-ownership="full">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pad" transfer-ownership="none">
+ <type name="AudioAggregatorPad" c:type="GstAudioAggregatorPad*"/>
+ </instance-parameter>
+ <parameter name="in_info" transfer-ownership="none">
+ <type name="AudioInfo" c:type="GstAudioInfo*"/>
+ </parameter>
+ <parameter name="out_info" transfer-ownership="none">
+ <type name="AudioInfo" c:type="GstAudioInfo*"/>
+ </parameter>
+ <parameter name="buffer" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="update_conversion_info">
+ <source-position filename="gst-libs/gst/audio/gstaudioaggregator.h"
+ line="99"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pad" transfer-ownership="none">
+ <type name="AudioAggregatorPad" c:type="GstAudioAggregatorPad*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <field name="parent">
+ <type name="GstBase.AggregatorPad" c:type="GstAggregatorPad"/>
+ </field>
+ <field name="info">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioaggregator.h"
+ line="62">The audio info for this pad set from the incoming caps</doc>
+ <type name="AudioInfo" c:type="GstAudioInfo"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="AudioAggregatorPadPrivate"
+ c:type="GstAudioAggregatorPadPrivate*"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="AudioAggregatorPadClass"
+ c:type="GstAudioAggregatorPadClass"
+ glib:is-gtype-struct-for="AudioAggregatorPad"
+ version="1.14">
+ <source-position filename="gst-libs/gst/audio/gstaudioaggregator.h"
+ line="103"/>
+ <field name="parent_class">
+ <type name="GstBase.AggregatorPadClass"
+ c:type="GstAggregatorPadClass"/>
+ </field>
+ <field name="convert_buffer">
+ <callback name="convert_buffer">
+ <source-position filename="gst-libs/gst/audio/gstaudioaggregator.h"
+ line="94"/>
+ <return-value transfer-ownership="full">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <parameter name="pad" transfer-ownership="none">
+ <type name="AudioAggregatorPad" c:type="GstAudioAggregatorPad*"/>
+ </parameter>
+ <parameter name="in_info" transfer-ownership="none">
+ <type name="AudioInfo" c:type="GstAudioInfo*"/>
+ </parameter>
+ <parameter name="out_info" transfer-ownership="none">
+ <type name="AudioInfo" c:type="GstAudioInfo*"/>
+ </parameter>
+ <parameter name="buffer" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="update_conversion_info">
+ <callback name="update_conversion_info">
+ <source-position filename="gst-libs/gst/audio/gstaudioaggregator.h"
+ line="99"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="pad" transfer-ownership="none">
+ <type name="AudioAggregatorPad" c:type="GstAudioAggregatorPad*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="20">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="AudioAggregatorPadPrivate"
+ c:type="GstAudioAggregatorPadPrivate"
+ disguised="1">
+ <source-position filename="gst-libs/gst/audio/gstaudioaggregator.h"
+ line="58"/>
+ </record>
+ <record name="AudioAggregatorPrivate"
+ c:type="GstAudioAggregatorPrivate"
+ disguised="1">
+ <source-position filename="gst-libs/gst/audio/gstaudioaggregator.h"
+ line="37"/>
+ </record>
+ <class name="AudioBaseSink"
+ c:symbol-prefix="audio_base_sink"
+ c:type="GstAudioBaseSink"
+ parent="GstBase.BaseSink"
+ glib:type-name="GstAudioBaseSink"
+ glib:get-type="gst_audio_base_sink_get_type"
+ glib:type-struct="AudioBaseSinkClass">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiobasesink.c"
+ line="23">This is the base class for audio sinks. Subclasses need to implement the
+::create_ringbuffer vmethod. This base class will then take care of
+writing samples to the ringbuffer, synchronisation, clipping and flushing.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudiobasesink.h"
+ line="221"/>
+ <virtual-method name="create_ringbuffer" invoker="create_ringbuffer">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiobasesink.c"
+ line="2249">Create and return the #GstAudioRingBuffer for @sink. This function will
+call the ::create_ringbuffer vmethod and will set @sink as the parent of
+the returned buffer (see gst_object_set_parent()).</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudiobasesink.h"
+ line="214"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiobasesink.c"
+ line="2257">The new ringbuffer of @sink.</doc>
+ <type name="AudioRingBuffer" c:type="GstAudioRingBuffer*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="sink" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiobasesink.c"
+ line="2251">a #GstAudioBaseSink.</doc>
+ <type name="AudioBaseSink" c:type="GstAudioBaseSink*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="payload">
+ <source-position filename="gst-libs/gst/audio/gstaudiobasesink.h"
+ line="217"/>
+ <return-value transfer-ownership="full">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="sink" transfer-ownership="none">
+ <type name="AudioBaseSink" c:type="GstAudioBaseSink*"/>
+ </instance-parameter>
+ <parameter name="buffer" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <method name="create_ringbuffer"
+ c:identifier="gst_audio_base_sink_create_ringbuffer">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiobasesink.c"
+ line="2249">Create and return the #GstAudioRingBuffer for @sink. This function will
+call the ::create_ringbuffer vmethod and will set @sink as the parent of
+the returned buffer (see gst_object_set_parent()).</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudiobasesink.h"
+ line="228"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiobasesink.c"
+ line="2257">The new ringbuffer of @sink.</doc>
+ <type name="AudioRingBuffer" c:type="GstAudioRingBuffer*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="sink" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiobasesink.c"
+ line="2251">a #GstAudioBaseSink.</doc>
+ <type name="AudioBaseSink" c:type="GstAudioBaseSink*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_alignment_threshold"
+ c:identifier="gst_audio_base_sink_get_alignment_threshold">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiobasesink.c"
+ line="694">Get the current alignment threshold, in nanoseconds, used by @sink.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudiobasesink.h"
+ line="254"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiobasesink.c"
+ line="700">The current alignment threshold used by @sink.</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="sink" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiobasesink.c"
+ line="696">a #GstAudioBaseSink</doc>
+ <type name="AudioBaseSink" c:type="GstAudioBaseSink*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_discont_wait"
+ c:identifier="gst_audio_base_sink_get_discont_wait">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiobasesink.c"
+ line="801">Get the current discont wait, in nanoseconds, used by @sink.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudiobasesink.h"
+ line="261"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiobasesink.c"
+ line="807">The current discont wait used by @sink.</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="sink" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiobasesink.c"
+ line="803">a #GstAudioBaseSink</doc>
+ <type name="AudioBaseSink" c:type="GstAudioBaseSink*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_drift_tolerance"
+ c:identifier="gst_audio_base_sink_get_drift_tolerance">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiobasesink.c"
+ line="654">Get the current drift tolerance, in microseconds, used by @sink.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudiobasesink.h"
+ line="247"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiobasesink.c"
+ line="660">The current drift tolerance used by @sink.</doc>
+ <type name="gint64" c:type="gint64"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="sink" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiobasesink.c"
+ line="656">a #GstAudioBaseSink</doc>
+ <type name="AudioBaseSink" c:type="GstAudioBaseSink*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_provide_clock"
+ c:identifier="gst_audio_base_sink_get_provide_clock">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiobasesink.c"
+ line="572">Queries whether @sink will provide a clock or not. See also
+gst_audio_base_sink_set_provide_clock.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudiobasesink.h"
+ line="234"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiobasesink.c"
+ line="579">%TRUE if @sink will provide a clock.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="sink" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiobasesink.c"
+ line="574">a #GstAudioBaseSink</doc>
+ <type name="AudioBaseSink" c:type="GstAudioBaseSink*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_slave_method"
+ c:identifier="gst_audio_base_sink_get_slave_method">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiobasesink.c"
+ line="613">Get the current slave method used by @sink.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudiobasesink.h"
+ line="241"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiobasesink.c"
+ line="619">The current slave method used by @sink.</doc>
+ <type name="AudioBaseSinkSlaveMethod"
+ c:type="GstAudioBaseSinkSlaveMethod"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="sink" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiobasesink.c"
+ line="615">a #GstAudioBaseSink</doc>
+ <type name="AudioBaseSink" c:type="GstAudioBaseSink*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="report_device_failure"
+ c:identifier="gst_audio_base_sink_report_device_failure"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiobasesink.c"
+ line="778">Informs this base class that the audio output device has failed for
+some reason, causing a discontinuity (for example, because the device
+recovered from the error, but lost all contents of its ring buffer).
+This function is typically called by derived classes, and is useful
+for the custom slave method.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudiobasesink.h"
+ line="271"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="sink" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiobasesink.c"
+ line="780">a #GstAudioBaseSink</doc>
+ <type name="AudioBaseSink" c:type="GstAudioBaseSink*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="set_alignment_threshold"
+ c:identifier="gst_audio_base_sink_set_alignment_threshold">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiobasesink.c"
+ line="676">Controls the sink's alignment threshold.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudiobasesink.h"
+ line="250"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="sink" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiobasesink.c"
+ line="678">a #GstAudioBaseSink</doc>
+ <type name="AudioBaseSink" c:type="GstAudioBaseSink*"/>
+ </instance-parameter>
+ <parameter name="alignment_threshold" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiobasesink.c"
+ line="679">the new alignment threshold in nanoseconds</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_custom_slaving_callback"
+ c:identifier="gst_audio_base_sink_set_custom_slaving_callback"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiobasesink.c"
+ line="734">Sets the custom slaving callback. This callback will
+be invoked if the slave-method property is set to
+GST_AUDIO_BASE_SINK_SLAVE_CUSTOM and the audio sink
+receives and plays samples.
+
+Setting the callback to NULL causes the sink to
+behave as if the GST_AUDIO_BASE_SINK_SLAVE_NONE
+method were used.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudiobasesink.h"
+ line="265"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="sink" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiobasesink.c"
+ line="736">a #GstAudioBaseSink</doc>
+ <type name="AudioBaseSink" c:type="GstAudioBaseSink*"/>
+ </instance-parameter>
+ <parameter name="callback"
+ transfer-ownership="none"
+ scope="notified"
+ closure="1"
+ destroy="2">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiobasesink.c"
+ line="737">a #GstAudioBaseSinkCustomSlavingCallback</doc>
+ <type name="AudioBaseSinkCustomSlavingCallback"
+ c:type="GstAudioBaseSinkCustomSlavingCallback"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiobasesink.c"
+ line="738">user data passed to the callback</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="notify" transfer-ownership="none" scope="async">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiobasesink.c"
+ line="739">called when user_data becomes unused</doc>
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_discont_wait"
+ c:identifier="gst_audio_base_sink_set_discont_wait">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiobasesink.c"
+ line="716">Controls how long the sink will wait before creating a discontinuity.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudiobasesink.h"
+ line="257"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="sink" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiobasesink.c"
+ line="718">a #GstAudioBaseSink</doc>
+ <type name="AudioBaseSink" c:type="GstAudioBaseSink*"/>
+ </instance-parameter>
+ <parameter name="discont_wait" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiobasesink.c"
+ line="719">the new discont wait in nanoseconds</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_drift_tolerance"
+ c:identifier="gst_audio_base_sink_set_drift_tolerance">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiobasesink.c"
+ line="636">Controls the sink's drift tolerance.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudiobasesink.h"
+ line="244"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="sink" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiobasesink.c"
+ line="638">a #GstAudioBaseSink</doc>
+ <type name="AudioBaseSink" c:type="GstAudioBaseSink*"/>
+ </instance-parameter>
+ <parameter name="drift_tolerance" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiobasesink.c"
+ line="639">the new drift tolerance in microseconds</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_provide_clock"
+ c:identifier="gst_audio_base_sink_set_provide_clock">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiobasesink.c"
+ line="548">Controls whether @sink will provide a clock or not. If @provide is %TRUE,
+gst_element_provide_clock() will return a clock that reflects the datarate
+of @sink. If @provide is %FALSE, gst_element_provide_clock() will return
+NULL.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudiobasesink.h"
+ line="231"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="sink" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiobasesink.c"
+ line="550">a #GstAudioBaseSink</doc>
+ <type name="AudioBaseSink" c:type="GstAudioBaseSink*"/>
+ </instance-parameter>
+ <parameter name="provide" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiobasesink.c"
+ line="551">new state</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_slave_method"
+ c:identifier="gst_audio_base_sink_set_slave_method">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiobasesink.c"
+ line="595">Controls how clock slaving will be performed in @sink.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudiobasesink.h"
+ line="237"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="sink" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiobasesink.c"
+ line="597">a #GstAudioBaseSink</doc>
+ <type name="AudioBaseSink" c:type="GstAudioBaseSink*"/>
+ </instance-parameter>
+ <parameter name="method" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiobasesink.c"
+ line="598">the new slave method</doc>
+ <type name="AudioBaseSinkSlaveMethod"
+ c:type="GstAudioBaseSinkSlaveMethod"/>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="alignment-threshold"
+ writable="1"
+ transfer-ownership="none">
+ <type name="guint64" c:type="guint64"/>
+ </property>
+ <property name="buffer-time" writable="1" transfer-ownership="none">
+ <type name="gint64" c:type="gint64"/>
+ </property>
+ <property name="can-activate-pull"
+ writable="1"
+ transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </property>
+ <property name="discont-wait" writable="1" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiobasesink.c"
+ line="237">A window of time in nanoseconds to wait before creating a discontinuity as
+a result of breaching the drift-tolerance.</doc>
+ <type name="guint64" c:type="guint64"/>
+ </property>
+ <property name="drift-tolerance" writable="1" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiobasesink.c"
+ line="214">Controls the amount of time in microseconds that clocks are allowed
+to drift before resynchronisation happens.</doc>
+ <type name="gint64" c:type="gint64"/>
+ </property>
+ <property name="latency-time" writable="1" transfer-ownership="none">
+ <type name="gint64" c:type="gint64"/>
+ </property>
+ <property name="provide-clock" writable="1" transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </property>
+ <property name="slave-method" writable="1" transfer-ownership="none">
+ <type name="AudioBaseSinkSlaveMethod"/>
+ </property>
+ <field name="element">
+ <type name="GstBase.BaseSink" c:type="GstBaseSink"/>
+ </field>
+ <field name="ringbuffer">
+ <type name="AudioRingBuffer" c:type="GstAudioRingBuffer*"/>
+ </field>
+ <field name="buffer_time">
+ <type name="guint64" c:type="guint64"/>
+ </field>
+ <field name="latency_time">
+ <type name="guint64" c:type="guint64"/>
+ </field>
+ <field name="next_sample">
+ <type name="guint64" c:type="guint64"/>
+ </field>
+ <field name="provided_clock">
+ <type name="Gst.Clock" c:type="GstClock*"/>
+ </field>
+ <field name="eos_rendering">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="AudioBaseSinkPrivate" c:type="GstAudioBaseSinkPrivate*"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="AudioBaseSinkClass"
+ c:type="GstAudioBaseSinkClass"
+ glib:is-gtype-struct-for="AudioBaseSink">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiobasesink.h"
+ line="198">#GstAudioBaseSink class. Override the vmethod to implement
+functionality.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudiobasesink.h"
+ line="221"/>
+ <field name="parent_class">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiobasesink.h"
+ line="200">the parent class.</doc>
+ <type name="GstBase.BaseSinkClass" c:type="GstBaseSinkClass"/>
+ </field>
+ <field name="create_ringbuffer">
+ <callback name="create_ringbuffer">
+ <source-position filename="gst-libs/gst/audio/gstaudiobasesink.h"
+ line="214"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiobasesink.c"
+ line="2257">The new ringbuffer of @sink.</doc>
+ <type name="AudioRingBuffer" c:type="GstAudioRingBuffer*"/>
+ </return-value>
+ <parameters>
+ <parameter name="sink" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiobasesink.c"
+ line="2251">a #GstAudioBaseSink.</doc>
+ <type name="AudioBaseSink" c:type="GstAudioBaseSink*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="payload">
+ <callback name="payload">
+ <source-position filename="gst-libs/gst/audio/gstaudiobasesink.h"
+ line="217"/>
+ <return-value transfer-ownership="full">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <parameter name="sink" transfer-ownership="none">
+ <type name="AudioBaseSink" c:type="GstAudioBaseSink*"/>
+ </parameter>
+ <parameter name="buffer" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <callback name="AudioBaseSinkCustomSlavingCallback"
+ c:type="GstAudioBaseSinkCustomSlavingCallback"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiobasesink.h"
+ line="130">This function is set with gst_audio_base_sink_set_custom_slaving_callback()
+and is called during playback. It receives the current time of external and
+internal clocks, which the callback can then use to apply any custom
+slaving/synchronization schemes.
+
+The external clock is the sink's element clock, the internal one is the
+internal audio clock. The internal audio clock's calibration is applied to
+the timestamps before they are passed to the callback. The difference between
+etime and itime is the skew; how much internal and external clock lie apart
+from each other. A skew of 0 means both clocks are perfectly in sync.
+itime &gt; etime means the external clock is going slower, while itime &lt; etime
+means it is going faster than the internal clock. etime and itime are always
+valid timestamps, except for when a discontinuity happens.
+
+requested_skew is an output value the callback can write to. It informs the
+sink of whether or not it should move the playout pointer, and if so, by how
+much. This pointer is only NULL if a discontinuity occurs; otherwise, it is
+safe to write to *requested_skew. The default skew is 0.
+
+The sink may experience discontinuities. If one happens, discont is TRUE,
+itime, etime are set to GST_CLOCK_TIME_NONE, and requested_skew is NULL.
+This makes it possible to reset custom clock slaving algorithms when a
+discontinuity happens.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudiobasesink.h"
+ line="165"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="sink" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiobasesink.h"
+ line="132">a #GstAudioBaseSink</doc>
+ <type name="AudioBaseSink" c:type="GstAudioBaseSink*"/>
+ </parameter>
+ <parameter name="etime" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiobasesink.h"
+ line="133">external clock time</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="itime" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiobasesink.h"
+ line="134">internal clock time</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="requested_skew" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiobasesink.h"
+ line="135">skew amount requested by the callback</doc>
+ <type name="Gst.ClockTimeDiff" c:type="GstClockTimeDiff*"/>
+ </parameter>
+ <parameter name="discont_reason" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiobasesink.h"
+ line="136">reason for discontinuity (if any)</doc>
+ <type name="AudioBaseSinkDiscontReason"
+ c:type="GstAudioBaseSinkDiscontReason"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1"
+ closure="5">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiobasesink.h"
+ line="137">user data</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <enumeration name="AudioBaseSinkDiscontReason"
+ version="1.6"
+ glib:type-name="GstAudioBaseSinkDiscontReason"
+ glib:get-type="gst_audio_base_sink_discont_reason_get_type"
+ c:type="GstAudioBaseSinkDiscontReason">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiobasesink.h"
+ line="106">Different possible reasons for discontinuities. This enum is useful for the custom
+slave method.</doc>
+ <member name="no_discont"
+ value="0"
+ c:identifier="GST_AUDIO_BASE_SINK_DISCONT_REASON_NO_DISCONT"
+ glib:nick="no-discont">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiobasesink.h"
+ line="108">No discontinuity occurred</doc>
+ </member>
+ <member name="new_caps"
+ value="1"
+ c:identifier="GST_AUDIO_BASE_SINK_DISCONT_REASON_NEW_CAPS"
+ glib:nick="new-caps">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiobasesink.h"
+ line="109">New caps are set, causing renegotiotion</doc>
+ </member>
+ <member name="flush"
+ value="2"
+ c:identifier="GST_AUDIO_BASE_SINK_DISCONT_REASON_FLUSH"
+ glib:nick="flush">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiobasesink.h"
+ line="110">Samples have been flushed</doc>
+ </member>
+ <member name="sync_latency"
+ value="3"
+ c:identifier="GST_AUDIO_BASE_SINK_DISCONT_REASON_SYNC_LATENCY"
+ glib:nick="sync-latency">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiobasesink.h"
+ line="111">Sink was synchronized to the estimated latency (occurs during initialization)</doc>
+ </member>
+ <member name="alignment"
+ value="4"
+ c:identifier="GST_AUDIO_BASE_SINK_DISCONT_REASON_ALIGNMENT"
+ glib:nick="alignment">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiobasesink.h"
+ line="112">Aligning buffers failed because the timestamps are too discontinuous</doc>
+ </member>
+ <member name="device_failure"
+ value="5"
+ c:identifier="GST_AUDIO_BASE_SINK_DISCONT_REASON_DEVICE_FAILURE"
+ glib:nick="device-failure">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiobasesink.h"
+ line="113">Audio output device experienced and recovered from an error but introduced latency in the process (see also @gst_audio_base_sink_report_device_failure())</doc>
+ </member>
+ </enumeration>
+ <record name="AudioBaseSinkPrivate"
+ c:type="GstAudioBaseSinkPrivate"
+ disguised="1">
+ <source-position filename="gst-libs/gst/audio/gstaudiobasesink.h"
+ line="104"/>
+ </record>
+ <enumeration name="AudioBaseSinkSlaveMethod"
+ glib:type-name="GstAudioBaseSinkSlaveMethod"
+ glib:get-type="gst_audio_base_sink_slave_method_get_type"
+ c:type="GstAudioBaseSinkSlaveMethod">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiobasesink.h"
+ line="83">Different possible clock slaving algorithms used when the internal audio
+clock is not selected as the pipeline master clock.</doc>
+ <member name="resample"
+ value="0"
+ c:identifier="GST_AUDIO_BASE_SINK_SLAVE_RESAMPLE"
+ glib:nick="resample">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiobasesink.h"
+ line="85">Resample to match the master clock</doc>
+ </member>
+ <member name="skew"
+ value="1"
+ c:identifier="GST_AUDIO_BASE_SINK_SLAVE_SKEW"
+ glib:nick="skew">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiobasesink.h"
+ line="86">Adjust playout pointer when master clock
+drifts too much.</doc>
+ </member>
+ <member name="none"
+ value="2"
+ c:identifier="GST_AUDIO_BASE_SINK_SLAVE_NONE"
+ glib:nick="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiobasesink.h"
+ line="88">No adjustment is done.</doc>
+ </member>
+ <member name="custom"
+ value="3"
+ c:identifier="GST_AUDIO_BASE_SINK_SLAVE_CUSTOM"
+ glib:nick="custom">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiobasesink.h"
+ line="89">Use custom clock slaving algorithm (Since: 1.6)</doc>
+ </member>
+ </enumeration>
+ <class name="AudioBaseSrc"
+ c:symbol-prefix="audio_base_src"
+ c:type="GstAudioBaseSrc"
+ parent="GstBase.PushSrc"
+ glib:type-name="GstAudioBaseSrc"
+ glib:get-type="gst_audio_base_src_get_type"
+ glib:type-struct="AudioBaseSrcClass">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiobasesrc.c"
+ line="23">This is the base class for audio sources. Subclasses need to implement the
+::create_ringbuffer vmethod. This base class will then take care of
+reading samples from the ringbuffer, synchronisation and flushing.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudiobasesrc.h"
+ line="133"/>
+ <virtual-method name="create_ringbuffer" invoker="create_ringbuffer">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiobasesrc.c"
+ line="1075">Create and return the #GstAudioRingBuffer for @src. This function will call
+the ::create_ringbuffer vmethod and will set @src as the parent of the
+returned buffer (see gst_object_set_parent()).</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudiobasesrc.h"
+ line="129"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiobasesrc.c"
+ line="1083">The new ringbuffer of @src.</doc>
+ <type name="AudioRingBuffer" c:type="GstAudioRingBuffer*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="src" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiobasesrc.c"
+ line="1077">a #GstAudioBaseSrc.</doc>
+ <type name="AudioBaseSrc" c:type="GstAudioBaseSrc*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <method name="create_ringbuffer"
+ c:identifier="gst_audio_base_src_create_ringbuffer">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiobasesrc.c"
+ line="1075">Create and return the #GstAudioRingBuffer for @src. This function will call
+the ::create_ringbuffer vmethod and will set @src as the parent of the
+returned buffer (see gst_object_set_parent()).</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudiobasesrc.h"
+ line="140"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiobasesrc.c"
+ line="1083">The new ringbuffer of @src.</doc>
+ <type name="AudioRingBuffer" c:type="GstAudioRingBuffer*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="src" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiobasesrc.c"
+ line="1077">a #GstAudioBaseSrc.</doc>
+ <type name="AudioBaseSrc" c:type="GstAudioBaseSrc*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_provide_clock"
+ c:identifier="gst_audio_base_src_get_provide_clock">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiobasesrc.c"
+ line="354">Queries whether @src will provide a clock or not. See also
+gst_audio_base_src_set_provide_clock.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudiobasesrc.h"
+ line="146"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiobasesrc.c"
+ line="361">%TRUE if @src will provide a clock.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="src" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiobasesrc.c"
+ line="356">a #GstAudioBaseSrc</doc>
+ <type name="AudioBaseSrc" c:type="GstAudioBaseSrc*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_slave_method"
+ c:identifier="gst_audio_base_src_get_slave_method">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiobasesrc.c"
+ line="395">Get the current slave method used by @src.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudiobasesrc.h"
+ line="153"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiobasesrc.c"
+ line="401">The current slave method used by @src.</doc>
+ <type name="AudioBaseSrcSlaveMethod"
+ c:type="GstAudioBaseSrcSlaveMethod"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="src" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiobasesrc.c"
+ line="397">a #GstAudioBaseSrc</doc>
+ <type name="AudioBaseSrc" c:type="GstAudioBaseSrc*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="set_provide_clock"
+ c:identifier="gst_audio_base_src_set_provide_clock">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiobasesrc.c"
+ line="332">Controls whether @src will provide a clock or not. If @provide is %TRUE,
+gst_element_provide_clock() will return a clock that reflects the datarate
+of @src. If @provide is %FALSE, gst_element_provide_clock() will return NULL.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudiobasesrc.h"
+ line="143"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="src" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiobasesrc.c"
+ line="334">a #GstAudioBaseSrc</doc>
+ <type name="AudioBaseSrc" c:type="GstAudioBaseSrc*"/>
+ </instance-parameter>
+ <parameter name="provide" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiobasesrc.c"
+ line="335">new state</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_slave_method"
+ c:identifier="gst_audio_base_src_set_slave_method">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiobasesrc.c"
+ line="377">Controls how clock slaving will be performed in @src.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudiobasesrc.h"
+ line="149"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="src" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiobasesrc.c"
+ line="379">a #GstAudioBaseSrc</doc>
+ <type name="AudioBaseSrc" c:type="GstAudioBaseSrc*"/>
+ </instance-parameter>
+ <parameter name="method" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiobasesrc.c"
+ line="380">the new slave method</doc>
+ <type name="AudioBaseSrcSlaveMethod"
+ c:type="GstAudioBaseSrcSlaveMethod"/>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="actual-buffer-time" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiobasesrc.c"
+ line="159">Actual configured size of audio buffer in microseconds.</doc>
+ <type name="gint64" c:type="gint64"/>
+ </property>
+ <property name="actual-latency-time" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiobasesrc.c"
+ line="170">Actual configured audio latency in microseconds.</doc>
+ <type name="gint64" c:type="gint64"/>
+ </property>
+ <property name="buffer-time" writable="1" transfer-ownership="none">
+ <type name="gint64" c:type="gint64"/>
+ </property>
+ <property name="latency-time" writable="1" transfer-ownership="none">
+ <type name="gint64" c:type="gint64"/>
+ </property>
+ <property name="provide-clock" writable="1" transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </property>
+ <property name="slave-method" writable="1" transfer-ownership="none">
+ <type name="AudioBaseSrcSlaveMethod"/>
+ </property>
+ <field name="element">
+ <type name="GstBase.PushSrc" c:type="GstPushSrc"/>
+ </field>
+ <field name="ringbuffer">
+ <type name="AudioRingBuffer" c:type="GstAudioRingBuffer*"/>
+ </field>
+ <field name="buffer_time">
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </field>
+ <field name="latency_time">
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </field>
+ <field name="next_sample">
+ <type name="guint64" c:type="guint64"/>
+ </field>
+ <field name="clock">
+ <type name="Gst.Clock" c:type="GstClock*"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="AudioBaseSrcPrivate" c:type="GstAudioBaseSrcPrivate*"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="AudioBaseSrcClass"
+ c:type="GstAudioBaseSrcClass"
+ glib:is-gtype-struct-for="AudioBaseSrc">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiobasesrc.h"
+ line="117">#GstAudioBaseSrc class. Override the vmethod to implement
+functionality.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudiobasesrc.h"
+ line="133"/>
+ <field name="parent_class">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiobasesrc.h"
+ line="119">the parent class.</doc>
+ <type name="GstBase.PushSrcClass" c:type="GstPushSrcClass"/>
+ </field>
+ <field name="create_ringbuffer">
+ <callback name="create_ringbuffer">
+ <source-position filename="gst-libs/gst/audio/gstaudiobasesrc.h"
+ line="129"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiobasesrc.c"
+ line="1083">The new ringbuffer of @src.</doc>
+ <type name="AudioRingBuffer" c:type="GstAudioRingBuffer*"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiobasesrc.c"
+ line="1077">a #GstAudioBaseSrc.</doc>
+ <type name="AudioBaseSrc" c:type="GstAudioBaseSrc*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="AudioBaseSrcPrivate"
+ c:type="GstAudioBaseSrcPrivate"
+ disguised="1">
+ <source-position filename="gst-libs/gst/audio/gstaudiobasesrc.h"
+ line="63"/>
+ </record>
+ <enumeration name="AudioBaseSrcSlaveMethod"
+ glib:type-name="GstAudioBaseSrcSlaveMethod"
+ glib:get-type="gst_audio_base_src_slave_method_get_type"
+ c:type="GstAudioBaseSrcSlaveMethod">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiobasesrc.h"
+ line="67">Different possible clock slaving algorithms when the internal audio clock was
+not selected as the pipeline clock.</doc>
+ <member name="resample"
+ value="0"
+ c:identifier="GST_AUDIO_BASE_SRC_SLAVE_RESAMPLE"
+ glib:nick="resample">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiobasesrc.h"
+ line="69">Resample to match the master clock.</doc>
+ </member>
+ <member name="re_timestamp"
+ value="1"
+ c:identifier="GST_AUDIO_BASE_SRC_SLAVE_RE_TIMESTAMP"
+ glib:nick="re-timestamp">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiobasesrc.h"
+ line="70">Retimestamp output buffers with master
+clock time.</doc>
+ </member>
+ <member name="skew"
+ value="2"
+ c:identifier="GST_AUDIO_BASE_SRC_SLAVE_SKEW"
+ glib:nick="skew">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiobasesrc.h"
+ line="72">Adjust capture pointer when master clock
+drifts too much.</doc>
+ </member>
+ <member name="none"
+ value="3"
+ c:identifier="GST_AUDIO_BASE_SRC_SLAVE_NONE"
+ glib:nick="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiobasesrc.h"
+ line="74">No adjustment is done.</doc>
+ </member>
+ </enumeration>
+ <record name="AudioBuffer" c:type="GstAudioBuffer" version="1.16">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-buffer.h"
+ line="30">A structure containing the result of an audio buffer map operation,
+which is executed with gst_audio_buffer_map(). For non-interleaved (planar)
+buffers, the beginning of each channel in the buffer has its own pointer in
+the @planes array. For interleaved buffers, the @planes array only contains
+one item, which is the pointer to the beginning of the buffer, and @n_planes
+equals 1.
+
+The different channels in @planes are always in the GStreamer channel order.</doc>
+ <source-position filename="gst-libs/gst/audio/audio-buffer.h" line="65"/>
+ <field name="info" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-buffer.h"
+ line="32">a #GstAudioInfo describing the audio properties of this buffer</doc>
+ <type name="AudioInfo" c:type="GstAudioInfo"/>
+ </field>
+ <field name="n_samples" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-buffer.h"
+ line="33">the size of the buffer in samples</doc>
+ <type name="gsize" c:type="gsize"/>
+ </field>
+ <field name="n_planes" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-buffer.h"
+ line="34">the number of planes available</doc>
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="planes" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-buffer.h"
+ line="35">an array of @n_planes pointers pointing to the start of each
+ plane in the mapped buffer</doc>
+ <type name="gpointer" c:type="gpointer*"/>
+ </field>
+ <field name="buffer" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-buffer.h"
+ line="37">the mapped buffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </field>
+ <field name="map_infos" readable="0" private="1">
+ <type name="Gst.MapInfo" c:type="GstMapInfo*"/>
+ </field>
+ <field name="priv_planes_arr" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="8">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <field name="priv_map_infos_arr" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="8">
+ <type name="Gst.MapInfo" c:type="GstMapInfo"/>
+ </array>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <method name="map" c:identifier="gst_audio_buffer_map" version="1.16">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-buffer.c"
+ line="56">Maps an audio @gstbuffer so that it can be read or written and stores the
+result of the map operation in @buffer.
+
+This is especially useful when the @gstbuffer is in non-interleaved (planar)
+layout, in which case this function will use the information in the
+@gstbuffer's attached #GstAudioMeta in order to map each channel in a
+separate "plane" in #GstAudioBuffer. If a #GstAudioMeta is not attached
+on the @gstbuffer, then it must be in interleaved layout.
+
+If a #GstAudioMeta is attached, then the #GstAudioInfo on the meta is checked
+against @info. Normally, they should be equal, but in case they are not,
+a g_critical will be printed and the #GstAudioInfo from the meta will be
+used.
+
+In non-interleaved buffers, it is possible to have each channel on a separate
+#GstMemory. In this case, each memory will be mapped separately to avoid
+copying their contents in a larger memory area. Do note though that it is
+not supported to have a single channel spanning over two or more different
+#GstMemory objects. Although the map operation will likely succeed in this
+case, it will be highly sub-optimal and it is recommended to merge all the
+memories in the buffer before calling this function.
+
+Note: The actual #GstBuffer is not ref'ed, but it is required to stay valid
+as long as it's mapped.</doc>
+ <source-position filename="gst-libs/gst/audio/audio-buffer.h"
+ line="69"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-buffer.c"
+ line="88">%TRUE if the map operation succeeded or %FALSE on failure</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-buffer.c"
+ line="58">pointer to a #GstAudioBuffer</doc>
+ <type name="AudioBuffer" c:type="GstAudioBuffer*"/>
+ </instance-parameter>
+ <parameter name="info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-buffer.c"
+ line="59">the audio properties of the buffer</doc>
+ <type name="AudioInfo" c:type="const GstAudioInfo*"/>
+ </parameter>
+ <parameter name="gstbuffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-buffer.c"
+ line="60">the #GstBuffer to be mapped</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-buffer.c"
+ line="61">the access mode for the memory</doc>
+ <type name="Gst.MapFlags" c:type="GstMapFlags"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="unmap"
+ c:identifier="gst_audio_buffer_unmap"
+ version="1.16">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-buffer.c"
+ line="41">Unmaps an audio buffer that was previously mapped with
+gst_audio_buffer_map().</doc>
+ <source-position filename="gst-libs/gst/audio/audio-buffer.h"
+ line="73"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-buffer.c"
+ line="43">the #GstAudioBuffer to unmap</doc>
+ <type name="AudioBuffer" c:type="GstAudioBuffer*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <function name="clip" c:identifier="gst_audio_buffer_clip">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio.c"
+ line="58">Clip the buffer to the given %GstSegment.
+
+After calling this function the caller does not own a reference to
+@buffer anymore.</doc>
+ <source-position filename="gst-libs/gst/audio/audio.h" line="96"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio.c"
+ line="72">%NULL if the buffer is completely outside the configured segment,
+otherwise the clipped buffer is returned.
+
+If the buffer has no timestamp, it is assumed to be inside the segment and
+is not clipped</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio.c"
+ line="60">The buffer to clip.</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="segment" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio.c"
+ line="61">Segment in %GST_FORMAT_TIME or %GST_FORMAT_DEFAULT to which
+ the buffer should be clipped.</doc>
+ <type name="Gst.Segment" c:type="const GstSegment*"/>
+ </parameter>
+ <parameter name="rate" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio.c"
+ line="63">sample rate.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="bpf" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio.c"
+ line="64">size of one audio frame in bytes. This is the size of one sample *
+number of channels.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="reorder_channels"
+ c:identifier="gst_audio_buffer_reorder_channels">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channels.c"
+ line="278">Reorders @buffer from the channel positions @from to the channel
+positions @to. @from and @to must contain the same number of
+positions and the same positions, only in a different order.
+@buffer must be writable.</doc>
+ <source-position filename="gst-libs/gst/audio/audio-channels.h"
+ line="135"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channels.c"
+ line="291">%TRUE if the reordering was possible.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channels.c"
+ line="280">The buffer to reorder.</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channels.c"
+ line="281">The %GstAudioFormat of the buffer.</doc>
+ <type name="AudioFormat" c:type="GstAudioFormat"/>
+ </parameter>
+ <parameter name="channels" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channels.c"
+ line="282">The number of channels.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="from" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channels.c"
+ line="283">The channel positions in the buffer.</doc>
+ <array length="2"
+ zero-terminated="0"
+ c:type="const GstAudioChannelPosition*">
+ <type name="AudioChannelPosition"
+ c:type="GstAudioChannelPosition"/>
+ </array>
+ </parameter>
+ <parameter name="to" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channels.c"
+ line="284">The channel positions to convert to.</doc>
+ <array length="2"
+ zero-terminated="0"
+ c:type="const GstAudioChannelPosition*">
+ <type name="AudioChannelPosition"
+ c:type="GstAudioChannelPosition"/>
+ </array>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="truncate"
+ c:identifier="gst_audio_buffer_truncate"
+ version="1.16">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio.c"
+ line="247">Truncate the buffer to finally have @samples number of samples, removing
+the necessary amount of samples from the end and @trim number of samples
+from the beginning.
+
+After calling this function the caller does not own a reference to
+@buffer anymore.</doc>
+ <source-position filename="gst-libs/gst/audio/audio.h" line="101"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio.c"
+ line="264">the truncated buffer or %NULL if the arguments
+ were invalid</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio.c"
+ line="249">The buffer to truncate.</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="bpf" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio.c"
+ line="250">size of one audio frame in bytes. This is the size of one sample *
+number of channels.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="trim" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio.c"
+ line="252">the number of samples to remove from the beginning of the buffer</doc>
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ <parameter name="samples" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio.c"
+ line="253">the final number of samples that should exist in this buffer or -1
+to use all the remaining samples if you are only removing samples from the
+beginning.</doc>
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ </parameters>
+ </function>
+ </record>
+ <class name="AudioCdSrc"
+ c:symbol-prefix="audio_cd_src"
+ c:type="GstAudioCdSrc"
+ parent="GstBase.PushSrc"
+ glib:type-name="GstAudioCdSrc"
+ glib:get-type="gst_audio_cd_src_get_type"
+ glib:type-struct="AudioCdSrcClass">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiocdsrc.c"
+ line="37">Provides a base class for CD digital audio (CDDA) sources, which handles
+things like seeking, querying, discid calculation, tags, and buffer
+timestamping.
+
+## Using GstAudioCdSrc-based elements in applications
+
+GstAudioCdSrc registers two #GstFormat&lt;!-- --&gt;s of its own, namely
+the "track" format and the "sector" format. Applications will usually
+only find the "track" format interesting. You can retrieve that #GstFormat
+for use in seek events or queries with gst_format_get_by_nick("track").
+
+In order to query the number of tracks, for example, an application would
+set the CDDA source element to READY or PAUSED state and then query the
+the number of tracks via gst_element_query_duration() using the track
+format acquired above. Applications can query the currently playing track
+in the same way.
+
+Alternatively, applications may retrieve the currently playing track and
+the total number of tracks from the taglist that will posted on the bus
+whenever the CD is opened or the currently playing track changes. The
+taglist will contain GST_TAG_TRACK_NUMBER and GST_TAG_TRACK_COUNT tags.
+
+Applications playing back CD audio using playbin and cdda://n URIs should
+issue a seek command in track format to change between tracks, rather than
+setting a new cdda://n+1 URI on playbin (as setting a new URI on playbin
+involves closing and re-opening the CD device, which is much much slower).
+
+## Tags and meta-information
+
+CDDA sources will automatically emit a number of tags, details about which
+can be found in the libgsttag documentation. Those tags are:
+#GST_TAG_CDDA_CDDB_DISCID, #GST_TAG_CDDA_CDDB_DISCID_FULL,
+#GST_TAG_CDDA_MUSICBRAINZ_DISCID, #GST_TAG_CDDA_MUSICBRAINZ_DISCID_FULL,
+among others.
+
+## Tracks and Table of Contents (TOC)
+
+Applications will be informed of the available tracks via a TOC message
+on the pipeline's #GstBus. The #GstToc will contain a #GstTocEntry for
+each track, with information about each track. The duration for each
+track can be retrieved via the #GST_TAG_DURATION tag from each entry's
+tag list, or calculated via gst_toc_entry_get_start_stop_times().
+The track entries in the TOC will be sorted by track number.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudiocdsrc.h"
+ line="132"/>
+ <implements name="Gst.URIHandler"/>
+ <virtual-method name="close">
+ <source-position filename="gst-libs/gst/audio/gstaudiocdsrc.h"
+ line="116"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="src" transfer-ownership="none">
+ <type name="AudioCdSrc" c:type="GstAudioCdSrc*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="open">
+ <source-position filename="gst-libs/gst/audio/gstaudiocdsrc.h"
+ line="115"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="src" transfer-ownership="none">
+ <type name="AudioCdSrc" c:type="GstAudioCdSrc*"/>
+ </instance-parameter>
+ <parameter name="device" transfer-ownership="none">
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="read_sector">
+ <source-position filename="gst-libs/gst/audio/gstaudiocdsrc.h"
+ line="119"/>
+ <return-value transfer-ownership="full">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="src" transfer-ownership="none">
+ <type name="AudioCdSrc" c:type="GstAudioCdSrc*"/>
+ </instance-parameter>
+ <parameter name="sector" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <method name="add_track" c:identifier="gst_audio_cd_src_add_track">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiocdsrc.c"
+ line="1072">CDDA sources use this function from their start vfunc to announce the
+available data and audio tracks to the base source class. The caller
+should allocate @track on the stack, the base source will do a shallow
+copy of the structure (and take ownership of the taglist if there is one).</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudiocdsrc.h"
+ line="138"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiocdsrc.c"
+ line="1082">FALSE on error, otherwise TRUE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="src" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiocdsrc.c"
+ line="1074">a #GstAudioCdSrc</doc>
+ <type name="AudioCdSrc" c:type="GstAudioCdSrc*"/>
+ </instance-parameter>
+ <parameter name="track" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiocdsrc.c"
+ line="1075">address of #GstAudioCdSrcTrack to add</doc>
+ <type name="AudioCdSrcTrack" c:type="GstAudioCdSrcTrack*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="device" writable="1" transfer-ownership="none">
+ <type name="utf8" c:type="gchar*"/>
+ </property>
+ <property name="mode" writable="1" transfer-ownership="none">
+ <type name="AudioCdSrcMode"/>
+ </property>
+ <property name="track" writable="1" transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </property>
+ <field name="pushsrc">
+ <type name="GstBase.PushSrc" c:type="GstPushSrc"/>
+ </field>
+ <field name="tags">
+ <type name="Gst.TagList" c:type="GstTagList*"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="AudioCdSrcPrivate" c:type="GstAudioCdSrcPrivate*"/>
+ </field>
+ <field name="_gst_reserved1" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="2">
+ <type name="guint" c:type="guint"/>
+ </array>
+ </field>
+ <field name="_gst_reserved2" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="2">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="AudioCdSrcClass"
+ c:type="GstAudioCdSrcClass"
+ glib:is-gtype-struct-for="AudioCdSrc">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiocdsrc.h"
+ line="100">Audio CD source base class.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudiocdsrc.h"
+ line="132"/>
+ <field name="pushsrc_class">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiocdsrc.h"
+ line="102">the parent class</doc>
+ <type name="GstBase.PushSrcClass" c:type="GstPushSrcClass"/>
+ </field>
+ <field name="open">
+ <callback name="open">
+ <source-position filename="gst-libs/gst/audio/gstaudiocdsrc.h"
+ line="115"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <type name="AudioCdSrc" c:type="GstAudioCdSrc*"/>
+ </parameter>
+ <parameter name="device" transfer-ownership="none">
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="close">
+ <callback name="close">
+ <source-position filename="gst-libs/gst/audio/gstaudiocdsrc.h"
+ line="116"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <type name="AudioCdSrc" c:type="GstAudioCdSrc*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="read_sector">
+ <callback name="read_sector">
+ <source-position filename="gst-libs/gst/audio/gstaudiocdsrc.h"
+ line="119"/>
+ <return-value transfer-ownership="full">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <type name="AudioCdSrc" c:type="GstAudioCdSrc*"/>
+ </parameter>
+ <parameter name="sector" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="20">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <enumeration name="AudioCdSrcMode"
+ glib:type-name="GstAudioCdSrcMode"
+ glib:get-type="gst_audio_cd_src_mode_get_type"
+ c:type="GstAudioCdSrcMode">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiocdsrc.h"
+ line="44">Mode in which the CD audio source operates. Influences timestamping,
+EOS handling and seeking.</doc>
+ <member name="normal"
+ value="0"
+ c:identifier="GST_AUDIO_CD_SRC_MODE_NORMAL"
+ glib:nick="normal">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiocdsrc.h"
+ line="46">each single track is a stream</doc>
+ </member>
+ <member name="continuous"
+ value="1"
+ c:identifier="GST_AUDIO_CD_SRC_MODE_CONTINUOUS"
+ glib:nick="continuous">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiocdsrc.h"
+ line="47">the entire disc is a single stream</doc>
+ </member>
+ </enumeration>
+ <record name="AudioCdSrcPrivate"
+ c:type="GstAudioCdSrcPrivate"
+ disguised="1">
+ <source-position filename="gst-libs/gst/audio/gstaudiocdsrc.h"
+ line="42"/>
+ </record>
+ <record name="AudioCdSrcTrack" c:type="GstAudioCdSrcTrack">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiocdsrc.h"
+ line="57">CD track abstraction to communicate TOC entries to the base class.
+
+This structure is only for use by sub-classed in connection with
+gst_audio_cd_src_add_track().
+
+Applications will be informed of the available tracks via a TOC message
+on the pipeline's #GstBus instead.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudiocdsrc.h"
+ line="84"/>
+ <field name="is_audio" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiocdsrc.h"
+ line="59">Whether this is an audio track</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="num" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiocdsrc.h"
+ line="60">Track number in TOC (usually starts from 1, but not always)</doc>
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="start" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiocdsrc.h"
+ line="61">The first sector of this track (LBA)</doc>
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="end" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiocdsrc.h"
+ line="62">The last sector of this track (LBA)</doc>
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="tags" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiocdsrc.h"
+ line="63">Track-specific tags (e.g. from cd-text information), or NULL</doc>
+ <type name="Gst.TagList" c:type="GstTagList*"/>
+ </field>
+ <field name="_gst_reserved1" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="2">
+ <type name="guint" c:type="guint"/>
+ </array>
+ </field>
+ <field name="_gst_reserved2" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="2">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="AudioChannelMixer"
+ c:type="GstAudioChannelMixer"
+ disguised="1">
+ <source-position filename="gst-libs/gst/audio/audio-channel-mixer.h"
+ line="29"/>
+ <method name="free" c:identifier="gst_audio_channel_mixer_free">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channel-mixer.c"
+ line="76">Free memory allocated by @mix.</doc>
+ <source-position filename="gst-libs/gst/audio/audio-channel-mixer.h"
+ line="65"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="mix" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channel-mixer.c"
+ line="78">a #GstAudioChannelMixer</doc>
+ <type name="AudioChannelMixer" c:type="GstAudioChannelMixer*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="is_passthrough"
+ c:identifier="gst_audio_channel_mixer_is_passthrough">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channel-mixer.c"
+ line="1009">Check if @mix is in passthrough.
+
+Only N x N mix identity matrices are considered passthrough,
+this is determined by comparing the contents of the matrix
+with 0.0 and 1.0.
+
+As this is floating point comparisons, if the values have been
+generated, they should be rounded up or down by explicit
+assignment of 0.0 or 1.0 to values within a user-defined
+epsilon, this code doesn't make assumptions as to what may
+constitute an appropriate epsilon.</doc>
+ <source-position filename="gst-libs/gst/audio/audio-channel-mixer.h"
+ line="72"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channel-mixer.c"
+ line="1025">%TRUE is @mix is passthrough.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="mix" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channel-mixer.c"
+ line="1011">a #GstAudioChannelMixer</doc>
+ <type name="AudioChannelMixer" c:type="GstAudioChannelMixer*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="samples" c:identifier="gst_audio_channel_mixer_samples">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channel-mixer.c"
+ line="1052">In case the samples are interleaved, @in and @out must point to an
+array with a single element pointing to a block of interleaved samples.
+
+If non-interleaved samples are used, @in and @out must point to an
+array with pointers to memory blocks, one for each channel.
+
+Perform channel mixing on @in_data and write the result to @out_data.
+@in_data and @out_data need to be in @format and @layout.</doc>
+ <source-position filename="gst-libs/gst/audio/audio-channel-mixer.h"
+ line="79"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="mix" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channel-mixer.c"
+ line="1054">a #GstAudioChannelMixer</doc>
+ <type name="AudioChannelMixer" c:type="GstAudioChannelMixer*"/>
+ </instance-parameter>
+ <parameter name="in"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channel-mixer.c"
+ line="1055">input samples</doc>
+ <type name="gpointer" c:type="const gpointer*"/>
+ </parameter>
+ <parameter name="out"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channel-mixer.c"
+ line="1056">output samples</doc>
+ <type name="gpointer" c:type="gpointer*"/>
+ </parameter>
+ <parameter name="samples" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channel-mixer.c"
+ line="1057">number of samples</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <function name="new"
+ c:identifier="gst_audio_channel_mixer_new"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channel-mixer.c"
+ line="973">Create a new channel mixer object for the given parameters.</doc>
+ <source-position filename="gst-libs/gst/audio/audio-channel-mixer.h"
+ line="50"/>
+ <return-value>
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channel-mixer.c"
+ line="983">a new #GstAudioChannelMixer object, or %NULL if @format isn't supported.
+ Free with gst_audio_channel_mixer_free() after usage.</doc>
+ <type name="AudioChannelMixer" c:type="GstAudioChannelMixer*"/>
+ </return-value>
+ <parameters>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channel-mixer.c"
+ line="975">#GstAudioChannelMixerFlags</doc>
+ <type name="AudioChannelMixerFlags"
+ c:type="GstAudioChannelMixerFlags"/>
+ </parameter>
+ <parameter name="format" transfer-ownership="none">
+ <type name="AudioFormat" c:type="GstAudioFormat"/>
+ </parameter>
+ <parameter name="in_channels" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channel-mixer.c"
+ line="976">number of input channels</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="in_position" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channel-mixer.c"
+ line="977">positions of input channels</doc>
+ <type name="AudioChannelPosition"
+ c:type="GstAudioChannelPosition*"/>
+ </parameter>
+ <parameter name="out_channels" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channel-mixer.c"
+ line="978">number of output channels</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="out_position" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channel-mixer.c"
+ line="979">positions of output channels</doc>
+ <type name="AudioChannelPosition"
+ c:type="GstAudioChannelPosition*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="new_with_matrix"
+ c:identifier="gst_audio_channel_mixer_new_with_matrix"
+ version="1.14"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channel-mixer.c"
+ line="809">Create a new channel mixer object for the given parameters.</doc>
+ <source-position filename="gst-libs/gst/audio/audio-channel-mixer.h"
+ line="58"/>
+ <return-value>
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channel-mixer.c"
+ line="820">a new #GstAudioChannelMixer object, or %NULL if @format isn't supported,
+ @matrix is invalid, or @matrix is %NULL and @in_channels != @out_channels.
+ Free with gst_audio_channel_mixer_free() after usage.</doc>
+ <type name="AudioChannelMixer" c:type="GstAudioChannelMixer*"/>
+ </return-value>
+ <parameters>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channel-mixer.c"
+ line="811">#GstAudioChannelMixerFlags</doc>
+ <type name="AudioChannelMixerFlags"
+ c:type="GstAudioChannelMixerFlags"/>
+ </parameter>
+ <parameter name="format" transfer-ownership="none">
+ <type name="AudioFormat" c:type="GstAudioFormat"/>
+ </parameter>
+ <parameter name="in_channels" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channel-mixer.c"
+ line="812">number of input channels</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="out_channels" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channel-mixer.c"
+ line="813">number of output channels</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="matrix"
+ transfer-ownership="full"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channel-mixer.c"
+ line="814">channel conversion matrix, m[@in_channels][@out_channels].
+ If identity matrix, passthrough applies. If %NULL, a (potentially truncated)
+ identity matrix is generated.</doc>
+ <type name="gfloat" c:type="gfloat**"/>
+ </parameter>
+ </parameters>
+ </function>
+ </record>
+ <bitfield name="AudioChannelMixerFlags"
+ glib:type-name="GstAudioChannelMixerFlags"
+ glib:get-type="gst_audio_channel_mixer_flags_get_type"
+ c:type="GstAudioChannelMixerFlags">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channel-mixer.h"
+ line="31">Flags passed to gst_audio_channel_mixer_new()</doc>
+ <member name="none"
+ value="0"
+ c:identifier="GST_AUDIO_CHANNEL_MIXER_FLAGS_NONE"
+ glib:nick="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channel-mixer.h"
+ line="33">no flag</doc>
+ </member>
+ <member name="non_interleaved_in"
+ value="1"
+ c:identifier="GST_AUDIO_CHANNEL_MIXER_FLAGS_NON_INTERLEAVED_IN"
+ glib:nick="non-interleaved-in">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channel-mixer.h"
+ line="34">input channels are not interleaved</doc>
+ </member>
+ <member name="non_interleaved_out"
+ value="2"
+ c:identifier="GST_AUDIO_CHANNEL_MIXER_FLAGS_NON_INTERLEAVED_OUT"
+ glib:nick="non-interleaved-out">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channel-mixer.h"
+ line="35">output channels are not interleaved</doc>
+ </member>
+ <member name="unpositioned_in"
+ value="4"
+ c:identifier="GST_AUDIO_CHANNEL_MIXER_FLAGS_UNPOSITIONED_IN"
+ glib:nick="unpositioned-in">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channel-mixer.h"
+ line="36">input channels are explicitly unpositioned</doc>
+ </member>
+ <member name="unpositioned_out"
+ value="8"
+ c:identifier="GST_AUDIO_CHANNEL_MIXER_FLAGS_UNPOSITIONED_OUT"
+ glib:nick="unpositioned-out">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channel-mixer.h"
+ line="37">output channels are explicitly unpositioned</doc>
+ </member>
+ </bitfield>
+ <enumeration name="AudioChannelPosition"
+ glib:type-name="GstAudioChannelPosition"
+ glib:get-type="gst_audio_channel_position_get_type"
+ c:type="GstAudioChannelPosition">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channels.h"
+ line="31">Audio channel positions.
+
+These are the channels defined in SMPTE 2036-2-2008
+Table 1 for 22.2 audio systems with the Surround and Wide channels from
+DTS Coherent Acoustics (v.1.3.1) and 10.2 and 7.1 layouts. In the caps the
+actual channel layout is expressed with a channel count and a channel mask,
+which describes the existing channels. The positions in the bit mask correspond
+to the enum values.
+For negotiation it is allowed to have more bits set in the channel mask than
+the number of channels to specify the allowed channel positions but this is
+not allowed in negotiated caps. It is not allowed in any situation other
+than the one mentioned below to have less bits set in the channel mask than
+the number of channels.
+
+@GST_AUDIO_CHANNEL_POSITION_MONO can only be used with a single mono channel that
+has no direction information and would be mixed into all directional channels.
+This is expressed in caps by having a single channel and no channel mask.
+
+@GST_AUDIO_CHANNEL_POSITION_NONE can only be used if all channels have this position.
+This is expressed in caps by having a channel mask with no bits set.
+
+As another special case it is allowed to have two channels without a channel mask.
+This implicitly means that this is a stereo stream with a front left and front right
+channel.</doc>
+ <member name="none"
+ value="-3"
+ c:identifier="GST_AUDIO_CHANNEL_POSITION_NONE"
+ glib:nick="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channels.h"
+ line="63">used for position-less channels, e.g.
+ from a sound card that records 1024 channels; mutually exclusive with
+ any other channel position</doc>
+ </member>
+ <member name="mono"
+ value="-2"
+ c:identifier="GST_AUDIO_CHANNEL_POSITION_MONO"
+ glib:nick="mono">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channels.h"
+ line="33">Mono without direction;
+ can only be used with 1 channel</doc>
+ </member>
+ <member name="invalid"
+ value="-1"
+ c:identifier="GST_AUDIO_CHANNEL_POSITION_INVALID"
+ glib:nick="invalid">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channels.h"
+ line="66">invalid position</doc>
+ </member>
+ <member name="front_left"
+ value="0"
+ c:identifier="GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT"
+ glib:nick="front-left">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channels.h"
+ line="35">Front left</doc>
+ </member>
+ <member name="front_right"
+ value="1"
+ c:identifier="GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT"
+ glib:nick="front-right">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channels.h"
+ line="36">Front right</doc>
+ </member>
+ <member name="front_center"
+ value="2"
+ c:identifier="GST_AUDIO_CHANNEL_POSITION_FRONT_CENTER"
+ glib:nick="front-center">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channels.h"
+ line="37">Front center</doc>
+ </member>
+ <member name="lfe1"
+ value="3"
+ c:identifier="GST_AUDIO_CHANNEL_POSITION_LFE1"
+ glib:nick="lfe1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channels.h"
+ line="38">Low-frequency effects 1 (subwoofer)</doc>
+ </member>
+ <member name="rear_left"
+ value="4"
+ c:identifier="GST_AUDIO_CHANNEL_POSITION_REAR_LEFT"
+ glib:nick="rear-left">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channels.h"
+ line="39">Rear left</doc>
+ </member>
+ <member name="rear_right"
+ value="5"
+ c:identifier="GST_AUDIO_CHANNEL_POSITION_REAR_RIGHT"
+ glib:nick="rear-right">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channels.h"
+ line="40">Rear right</doc>
+ </member>
+ <member name="front_left_of_center"
+ value="6"
+ c:identifier="GST_AUDIO_CHANNEL_POSITION_FRONT_LEFT_OF_CENTER"
+ glib:nick="front-left-of-center">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channels.h"
+ line="41">Front left of center</doc>
+ </member>
+ <member name="front_right_of_center"
+ value="7"
+ c:identifier="GST_AUDIO_CHANNEL_POSITION_FRONT_RIGHT_OF_CENTER"
+ glib:nick="front-right-of-center">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channels.h"
+ line="42">Front right of center</doc>
+ </member>
+ <member name="rear_center"
+ value="8"
+ c:identifier="GST_AUDIO_CHANNEL_POSITION_REAR_CENTER"
+ glib:nick="rear-center">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channels.h"
+ line="43">Rear center</doc>
+ </member>
+ <member name="lfe2"
+ value="9"
+ c:identifier="GST_AUDIO_CHANNEL_POSITION_LFE2"
+ glib:nick="lfe2">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channels.h"
+ line="44">Low-frequency effects 2 (subwoofer)</doc>
+ </member>
+ <member name="side_left"
+ value="10"
+ c:identifier="GST_AUDIO_CHANNEL_POSITION_SIDE_LEFT"
+ glib:nick="side-left">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channels.h"
+ line="45">Side left</doc>
+ </member>
+ <member name="side_right"
+ value="11"
+ c:identifier="GST_AUDIO_CHANNEL_POSITION_SIDE_RIGHT"
+ glib:nick="side-right">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channels.h"
+ line="46">Side right</doc>
+ </member>
+ <member name="top_front_left"
+ value="12"
+ c:identifier="GST_AUDIO_CHANNEL_POSITION_TOP_FRONT_LEFT"
+ glib:nick="top-front-left">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channels.h"
+ line="47">Top front left</doc>
+ </member>
+ <member name="top_front_right"
+ value="13"
+ c:identifier="GST_AUDIO_CHANNEL_POSITION_TOP_FRONT_RIGHT"
+ glib:nick="top-front-right">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channels.h"
+ line="48">Top front right</doc>
+ </member>
+ <member name="top_front_center"
+ value="14"
+ c:identifier="GST_AUDIO_CHANNEL_POSITION_TOP_FRONT_CENTER"
+ glib:nick="top-front-center">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channels.h"
+ line="49">Top front center</doc>
+ </member>
+ <member name="top_center"
+ value="15"
+ c:identifier="GST_AUDIO_CHANNEL_POSITION_TOP_CENTER"
+ glib:nick="top-center">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channels.h"
+ line="50">Top center</doc>
+ </member>
+ <member name="top_rear_left"
+ value="16"
+ c:identifier="GST_AUDIO_CHANNEL_POSITION_TOP_REAR_LEFT"
+ glib:nick="top-rear-left">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channels.h"
+ line="51">Top rear left</doc>
+ </member>
+ <member name="top_rear_right"
+ value="17"
+ c:identifier="GST_AUDIO_CHANNEL_POSITION_TOP_REAR_RIGHT"
+ glib:nick="top-rear-right">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channels.h"
+ line="52">Top rear right</doc>
+ </member>
+ <member name="top_side_left"
+ value="18"
+ c:identifier="GST_AUDIO_CHANNEL_POSITION_TOP_SIDE_LEFT"
+ glib:nick="top-side-left">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channels.h"
+ line="53">Top side right</doc>
+ </member>
+ <member name="top_side_right"
+ value="19"
+ c:identifier="GST_AUDIO_CHANNEL_POSITION_TOP_SIDE_RIGHT"
+ glib:nick="top-side-right">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channels.h"
+ line="54">Top rear right</doc>
+ </member>
+ <member name="top_rear_center"
+ value="20"
+ c:identifier="GST_AUDIO_CHANNEL_POSITION_TOP_REAR_CENTER"
+ glib:nick="top-rear-center">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channels.h"
+ line="55">Top rear center</doc>
+ </member>
+ <member name="bottom_front_center"
+ value="21"
+ c:identifier="GST_AUDIO_CHANNEL_POSITION_BOTTOM_FRONT_CENTER"
+ glib:nick="bottom-front-center">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channels.h"
+ line="56">Bottom front center</doc>
+ </member>
+ <member name="bottom_front_left"
+ value="22"
+ c:identifier="GST_AUDIO_CHANNEL_POSITION_BOTTOM_FRONT_LEFT"
+ glib:nick="bottom-front-left">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channels.h"
+ line="57">Bottom front left</doc>
+ </member>
+ <member name="bottom_front_right"
+ value="23"
+ c:identifier="GST_AUDIO_CHANNEL_POSITION_BOTTOM_FRONT_RIGHT"
+ glib:nick="bottom-front-right">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channels.h"
+ line="58">Bottom front right</doc>
+ </member>
+ <member name="wide_left"
+ value="24"
+ c:identifier="GST_AUDIO_CHANNEL_POSITION_WIDE_LEFT"
+ glib:nick="wide-left">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channels.h"
+ line="59">Wide left (between front left and side left)</doc>
+ </member>
+ <member name="wide_right"
+ value="25"
+ c:identifier="GST_AUDIO_CHANNEL_POSITION_WIDE_RIGHT"
+ glib:nick="wide-right">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channels.h"
+ line="60">Wide right (between front right and side right)</doc>
+ </member>
+ <member name="surround_left"
+ value="26"
+ c:identifier="GST_AUDIO_CHANNEL_POSITION_SURROUND_LEFT"
+ glib:nick="surround-left">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channels.h"
+ line="61">Surround left (between rear left and side left)</doc>
+ </member>
+ <member name="surround_right"
+ value="27"
+ c:identifier="GST_AUDIO_CHANNEL_POSITION_SURROUND_RIGHT"
+ glib:nick="surround-right">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channels.h"
+ line="62">Surround right (between rear right and side right)</doc>
+ </member>
+ </enumeration>
+ <record name="AudioClippingMeta"
+ c:type="GstAudioClippingMeta"
+ version="1.8">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiometa.h"
+ line="85">Extra buffer metadata describing how much audio has to be clipped from
+the start or end of a buffer. This is used for compressed formats, where
+the first frame usually has some additional samples due to encoder and
+decoder delays, and the last frame usually has some additional samples to
+be able to fill the complete last frame.
+
+This is used to ensure that decoded data in the end has the same amount of
+samples, and multiply decoded streams can be gaplessly concatenated.
+
+Note: If clipping of the start is done by adjusting the segment, this meta
+has to be dropped from buffers as otherwise clipping could happen twice.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudiometa.h"
+ line="112"/>
+ <field name="meta" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiometa.h"
+ line="87">parent #GstMeta</doc>
+ <type name="Gst.Meta" c:type="GstMeta"/>
+ </field>
+ <field name="format" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiometa.h"
+ line="88">GstFormat of @start and @stop, GST_FORMAT_DEFAULT is samples</doc>
+ <type name="Gst.Format" c:type="GstFormat"/>
+ </field>
+ <field name="start" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiometa.h"
+ line="89">Amount of audio to clip from start of buffer</doc>
+ <type name="guint64" c:type="guint64"/>
+ </field>
+ <field name="end" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiometa.h"
+ line="90">Amount of to clip from end of buffer</doc>
+ <type name="guint64" c:type="guint64"/>
+ </field>
+ <function name="get_info"
+ c:identifier="gst_audio_clipping_meta_get_info">
+ <source-position filename="gst-libs/gst/audio/gstaudiometa.h"
+ line="118"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.MetaInfo" c:type="const GstMetaInfo*"/>
+ </return-value>
+ </function>
+ </record>
+ <class name="AudioClock"
+ c:symbol-prefix="audio_clock"
+ c:type="GstAudioClock"
+ parent="Gst.SystemClock"
+ glib:type-name="GstAudioClock"
+ glib:get-type="gst_audio_clock_get_type"
+ glib:type-struct="AudioClockClass">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioclock.c"
+ line="23">#GstAudioClock makes it easy for elements to implement a #GstClock, they
+simply need to provide a function that returns the current clock time.
+
+This object is internally used to implement the clock in #GstAudioBaseSink.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudioclock.h"
+ line="90"/>
+ <constructor name="new" c:identifier="gst_audio_clock_new">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioclock.c"
+ line="89">Create a new #GstAudioClock instance. Whenever the clock time should be
+calculated it will call @func with @user_data. When @func returns
+#GST_CLOCK_TIME_NONE, the clock will return the last reported time.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudioclock.h"
+ line="96"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioclock.c"
+ line="100">a new #GstAudioClock casted to a #GstClock.</doc>
+ <type name="Gst.Clock" c:type="GstClock*"/>
+ </return-value>
+ <parameters>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioclock.c"
+ line="91">the name of the clock</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="func"
+ transfer-ownership="none"
+ scope="notified"
+ closure="2"
+ destroy="3">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioclock.c"
+ line="92">a function</doc>
+ <type name="AudioClockGetTimeFunc"
+ c:type="GstAudioClockGetTimeFunc"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioclock.c"
+ line="93">user data</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="destroy_notify"
+ transfer-ownership="none"
+ scope="async">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioclock.c"
+ line="94">#GDestroyNotify for @user_data</doc>
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <method name="adjust" c:identifier="gst_audio_clock_adjust">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioclock.c"
+ line="207">Adjust @time with the internal offset of the audio clock.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudioclock.h"
+ line="106"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioclock.c"
+ line="214">@time adjusted with the internal offset.</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="clock" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioclock.c"
+ line="209">a #GstAudioClock</doc>
+ <type name="AudioClock" c:type="GstAudioClock*"/>
+ </instance-parameter>
+ <parameter name="time" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioclock.c"
+ line="210">a #GstClockTime</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_time" c:identifier="gst_audio_clock_get_time">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioclock.c"
+ line="180">Report the time as returned by the #GstAudioClockGetTimeFunc without applying
+any offsets.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudioclock.h"
+ line="103"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioclock.c"
+ line="187">the time as reported by the time function of the audio clock</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="clock" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioclock.c"
+ line="182">a #GstAudioClock</doc>
+ <type name="AudioClock" c:type="GstAudioClock*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="invalidate" c:identifier="gst_audio_clock_invalidate">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioclock.c"
+ line="226">Invalidate the clock function. Call this function when the provided
+#GstAudioClockGetTimeFunc cannot be called anymore, for example, when the
+user_data becomes invalid.
+
+After calling this function, @clock will return the last returned time for
+the rest of its lifetime.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudioclock.h"
+ line="109"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="clock" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioclock.c"
+ line="228">a #GstAudioClock</doc>
+ <type name="AudioClock" c:type="GstAudioClock*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="reset" c:identifier="gst_audio_clock_reset">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioclock.c"
+ line="119">Inform @clock that future calls to #GstAudioClockGetTimeFunc will return values
+starting from @time. The clock will update an internal offset to make sure that
+future calls to internal_time will return an increasing result as required by
+the #GstClock object.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudioclock.h"
+ line="100"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="clock" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioclock.c"
+ line="121">a #GstAudioClock</doc>
+ <type name="AudioClock" c:type="GstAudioClock*"/>
+ </instance-parameter>
+ <parameter name="time" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioclock.c"
+ line="122">a #GstClockTime</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <field name="clock">
+ <type name="Gst.SystemClock" c:type="GstSystemClock"/>
+ </field>
+ <field name="func">
+ <type name="AudioClockGetTimeFunc" c:type="GstAudioClockGetTimeFunc"/>
+ </field>
+ <field name="user_data">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <field name="destroy_notify">
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </field>
+ <field name="last_time" readable="0" private="1">
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </field>
+ <field name="time_offset" readable="0" private="1">
+ <type name="Gst.ClockTimeDiff" c:type="GstClockTimeDiff"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="AudioClockClass"
+ c:type="GstAudioClockClass"
+ glib:is-gtype-struct-for="AudioClock">
+ <source-position filename="gst-libs/gst/audio/gstaudioclock.h"
+ line="90"/>
+ <field name="parent_class">
+ <type name="Gst.SystemClockClass" c:type="GstSystemClockClass"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <callback name="AudioClockGetTimeFunc" c:type="GstAudioClockGetTimeFunc">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioclock.h"
+ line="51">This function will be called whenever the current clock time needs to be
+calculated. If this function returns #GST_CLOCK_TIME_NONE, the last reported
+time will be returned by the clock.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudioclock.h"
+ line="63"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioclock.h"
+ line="60">the current time or #GST_CLOCK_TIME_NONE if the previous time should
+be used.</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ <parameters>
+ <parameter name="clock" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioclock.h"
+ line="53">the #GstAudioClock</doc>
+ <type name="Gst.Clock" c:type="GstClock*"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1"
+ closure="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioclock.h"
+ line="54">user data</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <record name="AudioConverter"
+ c:type="GstAudioConverter"
+ version="1.8"
+ glib:type-name="GstAudioConverter"
+ glib:get-type="gst_audio_converter_get_type"
+ c:symbol-prefix="audio_converter">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-converter.c"
+ line="33">This object is used to convert audio samples from one format to another.
+The object can perform conversion of:
+
+ * audio format with optional dithering and noise shaping
+
+ * audio samplerate
+
+ * audio channels and channel layout</doc>
+ <source-position filename="gst-libs/gst/audio/audio-converter.h"
+ line="38"/>
+ <constructor name="new" c:identifier="gst_audio_converter_new">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-converter.c"
+ line="1306">Create a new #GstAudioConverter that is able to convert between @in and @out
+audio formats.
+
+@config contains extra configuration options, see `GST_AUDIO_CONVERTER_OPT_*`
+parameters for details about the options and values.</doc>
+ <source-position filename="gst-libs/gst/audio/audio-converter.h"
+ line="126"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-converter.c"
+ line="1319">a #GstAudioConverter or %NULL if conversion is not possible.</doc>
+ <type name="AudioConverter" c:type="GstAudioConverter*"/>
+ </return-value>
+ <parameters>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-converter.c"
+ line="1308">extra #GstAudioConverterFlags</doc>
+ <type name="AudioConverterFlags" c:type="GstAudioConverterFlags"/>
+ </parameter>
+ <parameter name="in_info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-converter.c"
+ line="1309">a source #GstAudioInfo</doc>
+ <type name="AudioInfo" c:type="GstAudioInfo*"/>
+ </parameter>
+ <parameter name="out_info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-converter.c"
+ line="1310">a destination #GstAudioInfo</doc>
+ <type name="AudioInfo" c:type="GstAudioInfo*"/>
+ </parameter>
+ <parameter name="config"
+ transfer-ownership="full"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-converter.c"
+ line="1311">a #GstStructure with configuration options</doc>
+ <type name="Gst.Structure" c:type="GstStructure*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <method name="convert"
+ c:identifier="gst_audio_converter_convert"
+ version="1.14">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-converter.c"
+ line="1599">Convenience wrapper around gst_audio_converter_samples(), which will
+perform allocation of the output buffer based on the result from
+gst_audio_converter_get_out_frames().</doc>
+ <source-position filename="gst-libs/gst/audio/audio-converter.h"
+ line="173"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-converter.c"
+ line="1613">%TRUE is the conversion could be performed.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="convert" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-converter.c"
+ line="1601">a #GstAudioConverter</doc>
+ <type name="AudioConverter" c:type="GstAudioConverter*"/>
+ </instance-parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-converter.c"
+ line="1602">extra #GstAudioConverterFlags</doc>
+ <type name="AudioConverterFlags" c:type="GstAudioConverterFlags"/>
+ </parameter>
+ <parameter name="in" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-converter.c"
+ line="1603">input data</doc>
+ <array length="2" zero-terminated="0" c:type="gpointer">
+ <type name="guint8"/>
+ </array>
+ </parameter>
+ <parameter name="in_size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-converter.c"
+ line="1604">size of @in</doc>
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ <parameter name="out"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-converter.c"
+ line="1605">a pointer where
+ the output data will be written</doc>
+ <array length="4" zero-terminated="0" c:type="gpointer*">
+ <type name="guint8"/>
+ </array>
+ </parameter>
+ <parameter name="out_size"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-converter.c"
+ line="1607">a pointer where the size of @out will be written</doc>
+ <type name="gsize" c:type="gsize*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="free" c:identifier="gst_audio_converter_free">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-converter.c"
+ line="1447">Free a previously allocated @convert instance.</doc>
+ <source-position filename="gst-libs/gst/audio/audio-converter.h"
+ line="135"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="convert" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-converter.c"
+ line="1449">a #GstAudioConverter</doc>
+ <type name="AudioConverter" c:type="GstAudioConverter*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_config" c:identifier="gst_audio_converter_get_config">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-converter.c"
+ line="375">Get the current configuration of @convert.</doc>
+ <source-position filename="gst-libs/gst/audio/audio-converter.h"
+ line="146"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-converter.c"
+ line="383">
+ a #GstStructure that remains valid for as long as @convert is valid
+ or until gst_audio_converter_update_config() is called.</doc>
+ <type name="Gst.Structure" c:type="const GstStructure*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="convert" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-converter.c"
+ line="377">a #GstAudioConverter</doc>
+ <type name="AudioConverter" c:type="GstAudioConverter*"/>
+ </instance-parameter>
+ <parameter name="in_rate"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-converter.c"
+ line="378">result input rate</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ <parameter name="out_rate"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-converter.c"
+ line="379">result output rate</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_in_frames"
+ c:identifier="gst_audio_converter_get_in_frames">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-converter.c"
+ line="1501">Calculate how many input frames are currently needed by @convert to produce
+@out_frames of output frames.</doc>
+ <source-position filename="gst-libs/gst/audio/audio-converter.h"
+ line="154"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-converter.c"
+ line="1509">the number of input frames</doc>
+ <type name="gsize" c:type="gsize"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="convert" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-converter.c"
+ line="1503">a #GstAudioConverter</doc>
+ <type name="AudioConverter" c:type="GstAudioConverter*"/>
+ </instance-parameter>
+ <parameter name="out_frames" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-converter.c"
+ line="1504">number of output frames</doc>
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_max_latency"
+ c:identifier="gst_audio_converter_get_max_latency">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-converter.c"
+ line="1521">Get the maximum number of input frames that the converter would
+need before producing output.</doc>
+ <source-position filename="gst-libs/gst/audio/audio-converter.h"
+ line="158"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-converter.c"
+ line="1528">the latency of @convert as expressed in the number of
+frames.</doc>
+ <type name="gsize" c:type="gsize"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="convert" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-converter.c"
+ line="1523">a #GstAudioConverter</doc>
+ <type name="AudioConverter" c:type="GstAudioConverter*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_out_frames"
+ c:identifier="gst_audio_converter_get_out_frames">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-converter.c"
+ line="1481">Calculate how many output frames can be produced when @in_frames input
+frames are given to @convert.</doc>
+ <source-position filename="gst-libs/gst/audio/audio-converter.h"
+ line="150"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-converter.c"
+ line="1489">the number of output frames</doc>
+ <type name="gsize" c:type="gsize"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="convert" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-converter.c"
+ line="1483">a #GstAudioConverter</doc>
+ <type name="AudioConverter" c:type="GstAudioConverter*"/>
+ </instance-parameter>
+ <parameter name="in_frames" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-converter.c"
+ line="1484">number of input frames</doc>
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="is_passthrough"
+ c:identifier="gst_audio_converter_is_passthrough"
+ version="1.16">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-converter.c"
+ line="1655">Returns whether the audio converter will operate in passthrough mode.
+The return value would be typically input to gst_base_transform_set_passthrough()</doc>
+ <source-position filename="gst-libs/gst/audio/audio-converter.h"
+ line="170"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-converter.c"
+ line="1661">%TRUE when no conversion will actually occur.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="convert" transfer-ownership="none">
+ <type name="AudioConverter" c:type="GstAudioConverter*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="reset" c:identifier="gst_audio_converter_reset">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-converter.c"
+ line="1540">Reset @convert to the state it was when it was first created, clearing
+any history it might currently have.</doc>
+ <source-position filename="gst-libs/gst/audio/audio-converter.h"
+ line="138"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="convert" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-converter.c"
+ line="1542">a #GstAudioConverter</doc>
+ <type name="AudioConverter" c:type="GstAudioConverter*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="samples" c:identifier="gst_audio_converter_samples">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-converter.c"
+ line="1556">Perform the conversion with @in_frames in @in to @out_frames in @out
+using @convert.
+
+In case the samples are interleaved, @in and @out must point to an
+array with a single element pointing to a block of interleaved samples.
+
+If non-interleaved samples are used, @in and @out must point to an
+array with pointers to memory blocks, one for each channel.
+
+@in may be %NULL, in which case @in_frames of silence samples are processed
+by the converter.
+
+This function always produces @out_frames of output and consumes @in_frames of
+input. Use gst_audio_converter_get_out_frames() and
+gst_audio_converter_get_in_frames() to make sure @in_frames and @out_frames
+are matching and @in and @out point to enough memory.</doc>
+ <source-position filename="gst-libs/gst/audio/audio-converter.h"
+ line="161"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-converter.c"
+ line="1582">%TRUE is the conversion could be performed.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="convert" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-converter.c"
+ line="1558">a #GstAudioConverter</doc>
+ <type name="AudioConverter" c:type="GstAudioConverter*"/>
+ </instance-parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-converter.c"
+ line="1559">extra #GstAudioConverterFlags</doc>
+ <type name="AudioConverterFlags" c:type="GstAudioConverterFlags"/>
+ </parameter>
+ <parameter name="in"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-converter.c"
+ line="1560">input frames</doc>
+ <type name="gpointer" c:type="gpointer*"/>
+ </parameter>
+ <parameter name="in_frames" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-converter.c"
+ line="1561">number of input frames</doc>
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ <parameter name="out"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-converter.c"
+ line="1562">output frames</doc>
+ <type name="gpointer" c:type="gpointer*"/>
+ </parameter>
+ <parameter name="out_frames" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-converter.c"
+ line="1563">number of output frames</doc>
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="supports_inplace"
+ c:identifier="gst_audio_converter_supports_inplace"
+ version="1.12">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-converter.c"
+ line="1638">Returns whether the audio converter can perform the conversion in-place.
+The return value would be typically input to gst_base_transform_set_in_place()</doc>
+ <source-position filename="gst-libs/gst/audio/audio-converter.h"
+ line="167"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-converter.c"
+ line="1645">%TRUE when the conversion can be done in place.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="convert" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-converter.c"
+ line="1640">a #GstAudioConverter</doc>
+ <type name="AudioConverter" c:type="GstAudioConverter*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="update_config"
+ c:identifier="gst_audio_converter_update_config">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-converter.c"
+ line="322">Set @in_rate, @out_rate and @config as extra configuration for @convert.
+
+@in_rate and @out_rate specify the new sample rates of input and output
+formats. A value of 0 leaves the sample rate unchanged.
+
+@config can be %NULL, in which case, the current configuration is not
+changed.
+
+If the parameters in @config can not be set exactly, this function returns
+%FALSE and will try to update as much state as possible. The new state can
+then be retrieved and refined with gst_audio_converter_get_config().
+
+Look at the `GST_AUDIO_CONVERTER_OPT_*` fields to check valid configuration
+option and values.</doc>
+ <source-position filename="gst-libs/gst/audio/audio-converter.h"
+ line="141"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-converter.c"
+ line="344">%TRUE when the new parameters could be set</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="convert" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-converter.c"
+ line="324">a #GstAudioConverter</doc>
+ <type name="AudioConverter" c:type="GstAudioConverter*"/>
+ </instance-parameter>
+ <parameter name="in_rate" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-converter.c"
+ line="325">input rate</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="out_rate" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-converter.c"
+ line="326">output rate</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="config"
+ transfer-ownership="full"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-converter.c"
+ line="327">a #GstStructure or %NULL</doc>
+ <type name="Gst.Structure" c:type="GstStructure*"/>
+ </parameter>
+ </parameters>
+ </method>
+ </record>
+ <bitfield name="AudioConverterFlags"
+ glib:type-name="GstAudioConverterFlags"
+ glib:get-type="gst_audio_converter_flags_get_type"
+ c:type="GstAudioConverterFlags">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-converter.h"
+ line="109">Extra flags passed to gst_audio_converter_new() and gst_audio_converter_samples().</doc>
+ <member name="none"
+ value="0"
+ c:identifier="GST_AUDIO_CONVERTER_FLAG_NONE"
+ glib:nick="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-converter.h"
+ line="111">no flag</doc>
+ </member>
+ <member name="in_writable"
+ value="1"
+ c:identifier="GST_AUDIO_CONVERTER_FLAG_IN_WRITABLE"
+ glib:nick="in-writable">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-converter.h"
+ line="112">the input sample arrays are writable and can be
+ used as temporary storage during conversion.</doc>
+ </member>
+ <member name="variable_rate"
+ value="2"
+ c:identifier="GST_AUDIO_CONVERTER_FLAG_VARIABLE_RATE"
+ glib:nick="variable-rate">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-converter.h"
+ line="114">allow arbitrary rate updates with
+ gst_audio_converter_update_config().</doc>
+ </member>
+ </bitfield>
+ <class name="AudioDecoder"
+ c:symbol-prefix="audio_decoder"
+ c:type="GstAudioDecoder"
+ parent="Gst.Element"
+ abstract="1"
+ glib:type-name="GstAudioDecoder"
+ glib:get-type="gst_audio_decoder_get_type"
+ glib:type-struct="AudioDecoderClass">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="24">This base class is for audio decoders turning encoded data into
+raw audio samples.
+
+GstAudioDecoder and subclass should cooperate as follows.
+
+## Configuration
+
+ * Initially, GstAudioDecoder calls @start when the decoder element
+ is activated, which allows subclass to perform any global setup.
+ Base class (context) parameters can already be set according to subclass
+ capabilities (or possibly upon receive more information in subsequent
+ @set_format).
+ * GstAudioDecoder calls @set_format to inform subclass of the format
+ of input audio data that it is about to receive.
+ While unlikely, it might be called more than once, if changing input
+ parameters require reconfiguration.
+ * GstAudioDecoder calls @stop at end of all processing.
+
+As of configuration stage, and throughout processing, GstAudioDecoder
+provides various (context) parameters, e.g. describing the format of
+output audio data (valid when output caps have been set) or current parsing state.
+Conversely, subclass can and should configure context to inform
+base class of its expectation w.r.t. buffer handling.
+
+## Data processing
+ * Base class gathers input data, and optionally allows subclass
+ to parse this into subsequently manageable (as defined by subclass)
+ chunks. Such chunks are subsequently referred to as 'frames',
+ though they may or may not correspond to 1 (or more) audio format frame.
+ * Input frame is provided to subclass' @handle_frame.
+ * If codec processing results in decoded data, subclass should call
+ @gst_audio_decoder_finish_frame to have decoded data pushed
+ downstream.
+ * Just prior to actually pushing a buffer downstream,
+ it is passed to @pre_push. Subclass should either use this callback
+ to arrange for additional downstream pushing or otherwise ensure such
+ custom pushing occurs after at least a method call has finished since
+ setting src pad caps.
+ * During the parsing process GstAudioDecoderClass will handle both
+ srcpad and sinkpad events. Sink events will be passed to subclass
+ if @event callback has been provided.
+
+## Shutdown phase
+
+ * GstAudioDecoder class calls @stop to inform the subclass that data
+ parsing will be stopped.
+
+Subclass is responsible for providing pad template caps for
+source and sink pads. The pads need to be named "sink" and "src". It also
+needs to set the fixed caps on srcpad, when the format is ensured. This
+is typically when base class calls subclass' @set_format function, though
+it might be delayed until calling @gst_audio_decoder_finish_frame.
+
+In summary, above process should have subclass concentrating on
+codec data processing while leaving other matters to base class,
+such as most notably timestamp handling. While it may exert more control
+in this area (see e.g. @pre_push), it is very much not recommended.
+
+In particular, base class will try to arrange for perfect output timestamps
+as much as possible while tracking upstream timestamps.
+To this end, if deviation between the next ideal expected perfect timestamp
+and upstream exceeds #GstAudioDecoder:tolerance, then resync to upstream
+occurs (which would happen always if the tolerance mechanism is disabled).
+
+In non-live pipelines, baseclass can also (configurably) arrange for
+output buffer aggregation which may help to redue large(r) numbers of
+small(er) buffers being pushed and processed downstream. Note that this
+feature is only available if the buffer layout is interleaved. For planar
+buffers, the decoder implementation is fully responsible for the output
+buffer size.
+
+On the other hand, it should be noted that baseclass only provides limited
+seeking support (upon explicit subclass request), as full-fledged support
+should rather be left to upstream demuxer, parser or alike. This simple
+approach caters for seeking and duration reporting using estimated input
+bitrates.
+
+Things that subclass need to take care of:
+
+ * Provide pad templates
+ * Set source pad caps when appropriate
+ * Set user-configurable properties to sane defaults for format and
+ implementing codec at hand, and convey some subclass capabilities and
+ expectations in context.
+
+ * Accept data in @handle_frame and provide encoded results to
+ @gst_audio_decoder_finish_frame. If it is prepared to perform
+ PLC, it should also accept NULL data in @handle_frame and provide for
+ data for indicated duration.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudiodecoder.h"
+ line="315"/>
+ <virtual-method name="close">
+ <source-position filename="gst-libs/gst/audio/gstaudiodecoder.h"
+ line="294"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="dec" transfer-ownership="none">
+ <type name="AudioDecoder" c:type="GstAudioDecoder*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="decide_allocation">
+ <source-position filename="gst-libs/gst/audio/gstaudiodecoder.h"
+ line="298"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="dec" transfer-ownership="none">
+ <type name="AudioDecoder" c:type="GstAudioDecoder*"/>
+ </instance-parameter>
+ <parameter name="query" transfer-ownership="none">
+ <type name="Gst.Query" c:type="GstQuery*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="flush">
+ <source-position filename="gst-libs/gst/audio/gstaudiodecoder.h"
+ line="282"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="dec" transfer-ownership="none">
+ <type name="AudioDecoder" c:type="GstAudioDecoder*"/>
+ </instance-parameter>
+ <parameter name="hard" transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="getcaps">
+ <source-position filename="gst-libs/gst/audio/gstaudiodecoder.h"
+ line="307"/>
+ <return-value transfer-ownership="full">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="dec" transfer-ownership="none">
+ <type name="AudioDecoder" c:type="GstAudioDecoder*"/>
+ </instance-parameter>
+ <parameter name="filter" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="handle_frame">
+ <source-position filename="gst-libs/gst/audio/gstaudiodecoder.h"
+ line="279"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="dec" transfer-ownership="none">
+ <type name="AudioDecoder" c:type="GstAudioDecoder*"/>
+ </instance-parameter>
+ <parameter name="buffer" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="negotiate" invoker="negotiate">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="759">Negotiate with downstream elements to currently configured #GstAudioInfo.
+Unmark GST_PAD_FLAG_NEED_RECONFIGURE in any case. But mark it again if
+negotiate fails.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudiodecoder.h"
+ line="296"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="767">%TRUE if the negotiation succeeded, else %FALSE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="dec" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="761">a #GstAudioDecoder</doc>
+ <type name="AudioDecoder" c:type="GstAudioDecoder*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="open">
+ <source-position filename="gst-libs/gst/audio/gstaudiodecoder.h"
+ line="292"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="dec" transfer-ownership="none">
+ <type name="AudioDecoder" c:type="GstAudioDecoder*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="parse">
+ <source-position filename="gst-libs/gst/audio/gstaudiodecoder.h"
+ line="275"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="dec" transfer-ownership="none">
+ <type name="AudioDecoder" c:type="GstAudioDecoder*"/>
+ </instance-parameter>
+ <parameter name="adapter" transfer-ownership="none">
+ <type name="GstBase.Adapter" c:type="GstAdapter*"/>
+ </parameter>
+ <parameter name="offset" transfer-ownership="none">
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ <parameter name="length" transfer-ownership="none">
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="pre_push">
+ <source-position filename="gst-libs/gst/audio/gstaudiodecoder.h"
+ line="284"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="dec" transfer-ownership="none">
+ <type name="AudioDecoder" c:type="GstAudioDecoder*"/>
+ </instance-parameter>
+ <parameter name="buffer" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer**"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="propose_allocation">
+ <source-position filename="gst-libs/gst/audio/gstaudiodecoder.h"
+ line="300"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="dec" transfer-ownership="none">
+ <type name="AudioDecoder" c:type="GstAudioDecoder*"/>
+ </instance-parameter>
+ <parameter name="query" transfer-ownership="none">
+ <type name="Gst.Query" c:type="GstQuery*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="set_format">
+ <source-position filename="gst-libs/gst/audio/gstaudiodecoder.h"
+ line="272"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="dec" transfer-ownership="none">
+ <type name="AudioDecoder" c:type="GstAudioDecoder*"/>
+ </instance-parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="sink_event">
+ <source-position filename="gst-libs/gst/audio/gstaudiodecoder.h"
+ line="287"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="dec" transfer-ownership="none">
+ <type name="AudioDecoder" c:type="GstAudioDecoder*"/>
+ </instance-parameter>
+ <parameter name="event" transfer-ownership="none">
+ <type name="Gst.Event" c:type="GstEvent*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="sink_query">
+ <source-position filename="gst-libs/gst/audio/gstaudiodecoder.h"
+ line="303"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="dec" transfer-ownership="none">
+ <type name="AudioDecoder" c:type="GstAudioDecoder*"/>
+ </instance-parameter>
+ <parameter name="query" transfer-ownership="none">
+ <type name="Gst.Query" c:type="GstQuery*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="src_event">
+ <source-position filename="gst-libs/gst/audio/gstaudiodecoder.h"
+ line="289"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="dec" transfer-ownership="none">
+ <type name="AudioDecoder" c:type="GstAudioDecoder*"/>
+ </instance-parameter>
+ <parameter name="event" transfer-ownership="none">
+ <type name="Gst.Event" c:type="GstEvent*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="src_query">
+ <source-position filename="gst-libs/gst/audio/gstaudiodecoder.h"
+ line="305"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="dec" transfer-ownership="none">
+ <type name="AudioDecoder" c:type="GstAudioDecoder*"/>
+ </instance-parameter>
+ <parameter name="query" transfer-ownership="none">
+ <type name="Gst.Query" c:type="GstQuery*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="start">
+ <source-position filename="gst-libs/gst/audio/gstaudiodecoder.h"
+ line="268"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="dec" transfer-ownership="none">
+ <type name="AudioDecoder" c:type="GstAudioDecoder*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="stop">
+ <source-position filename="gst-libs/gst/audio/gstaudiodecoder.h"
+ line="270"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="dec" transfer-ownership="none">
+ <type name="AudioDecoder" c:type="GstAudioDecoder*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="transform_meta">
+ <source-position filename="gst-libs/gst/audio/gstaudiodecoder.h"
+ line="310"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="enc" transfer-ownership="none">
+ <type name="AudioDecoder" c:type="GstAudioDecoder*"/>
+ </instance-parameter>
+ <parameter name="outbuf" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="meta" transfer-ownership="none">
+ <type name="Gst.Meta" c:type="GstMeta*"/>
+ </parameter>
+ <parameter name="inbuf" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <method name="allocate_output_buffer"
+ c:identifier="gst_audio_decoder_allocate_output_buffer">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="3742">Helper function that allocates a buffer to hold an audio frame
+for @dec's current output format.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudiodecoder.h"
+ line="344"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="3750">allocated buffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="dec" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="3744">a #GstAudioDecoder</doc>
+ <type name="AudioDecoder" c:type="GstAudioDecoder*"/>
+ </instance-parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="3745">size of the buffer</doc>
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="finish_frame"
+ c:identifier="gst_audio_decoder_finish_frame">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="1304">Collects decoded data and pushes it downstream.
+
+@buf may be NULL in which case the indicated number of frames
+are discarded and considered to have produced no output
+(e.g. lead-in or setup frames).
+Otherwise, source pad caps must be set when it is called with valid
+data in @buf.
+
+Note that a frame received in #GstAudioDecoderClass.handle_frame() may be
+invalidated by a call to this function.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudiodecoder.h"
+ line="340"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="1321">a #GstFlowReturn that should be escalated to caller (of caller)</doc>
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="dec" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="1306">a #GstAudioDecoder</doc>
+ <type name="AudioDecoder" c:type="GstAudioDecoder*"/>
+ </instance-parameter>
+ <parameter name="buf"
+ transfer-ownership="full"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="1307">decoded data</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="frames" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="1308">number of decoded frames represented by decoded data</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="finish_subframe"
+ c:identifier="gst_audio_decoder_finish_subframe"
+ version="1.16">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="1270">Collects decoded data and pushes it downstream. This function may be called
+multiple times for a given input frame.
+
+@buf may be NULL in which case it is assumed that the current input frame is
+finished. This is equivalent to calling gst_audio_decoder_finish_subframe()
+with a NULL buffer and frames=1 after having pushed out all decoded audio
+subframes using this function.
+
+When called with valid data in @buf the source pad caps must have been set
+already.
+
+Note that a frame received in #GstAudioDecoderClass.handle_frame() may be
+invalidated by a call to this function.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudiodecoder.h"
+ line="336"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="1289">a #GstFlowReturn that should be escalated to caller (of caller)</doc>
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="dec" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="1272">a #GstAudioDecoder</doc>
+ <type name="AudioDecoder" c:type="GstAudioDecoder*"/>
+ </instance-parameter>
+ <parameter name="buf"
+ transfer-ownership="full"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="1273">decoded data</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_allocator"
+ c:identifier="gst_audio_decoder_get_allocator">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="3793">Lets #GstAudioDecoder sub-classes to know the memory @allocator
+used by the base class and its @params.
+
+Unref the @allocator after use it.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudiodecoder.h"
+ line="433"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="dec" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="3795">a #GstAudioDecoder</doc>
+ <type name="AudioDecoder" c:type="GstAudioDecoder*"/>
+ </instance-parameter>
+ <parameter name="allocator"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="3796">the #GstAllocator
+used</doc>
+ <type name="Gst.Allocator" c:type="GstAllocator**"/>
+ </parameter>
+ <parameter name="params"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="3798">the
+#GstAllocationParams of @allocator</doc>
+ <type name="Gst.AllocationParams" c:type="GstAllocationParams*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_audio_info"
+ c:identifier="gst_audio_decoder_get_audio_info">
+ <source-position filename="gst-libs/gst/audio/gstaudiodecoder.h"
+ line="350"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="3273">a #GstAudioInfo describing the input audio format</doc>
+ <type name="AudioInfo" c:type="GstAudioInfo*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="dec" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="3271">a #GstAudioDecoder</doc>
+ <type name="AudioDecoder" c:type="GstAudioDecoder*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_delay" c:identifier="gst_audio_decoder_get_delay">
+ <source-position filename="gst-libs/gst/audio/gstaudiodecoder.h"
+ line="367"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="3345">currently configured decoder delay</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="dec" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="3343">a #GstAudioDecoder</doc>
+ <type name="AudioDecoder" c:type="GstAudioDecoder*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_drainable"
+ c:identifier="gst_audio_decoder_get_drainable">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="3631">Queries decoder drain handling.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudiodecoder.h"
+ line="423"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="3637">TRUE if drainable handling is enabled.
+
+MT safe.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="dec" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="3633">a #GstAudioDecoder</doc>
+ <type name="AudioDecoder" c:type="GstAudioDecoder*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_estimate_rate"
+ c:identifier="gst_audio_decoder_get_estimate_rate">
+ <source-position filename="gst-libs/gst/audio/gstaudiodecoder.h"
+ line="364"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="3331">currently configured byte to time conversion setting</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="dec" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="3329">a #GstAudioDecoder</doc>
+ <type name="AudioDecoder" c:type="GstAudioDecoder*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_latency" c:identifier="gst_audio_decoder_get_latency">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="3413">Sets the variables pointed to by @min and @max to the currently configured
+latency.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudiodecoder.h"
+ line="382"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="dec" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="3415">a #GstAudioDecoder</doc>
+ <type name="AudioDecoder" c:type="GstAudioDecoder*"/>
+ </instance-parameter>
+ <parameter name="min"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="3416">a pointer to storage to hold minimum latency</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime*"/>
+ </parameter>
+ <parameter name="max"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="3417">a pointer to storage to hold maximum latency</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_max_errors"
+ c:identifier="gst_audio_decoder_get_max_errors">
+ <source-position filename="gst-libs/gst/audio/gstaudiodecoder.h"
+ line="374"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="3377">currently configured decoder tolerated error count.</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="dec" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="3375">a #GstAudioDecoder</doc>
+ <type name="AudioDecoder" c:type="GstAudioDecoder*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_min_latency"
+ c:identifier="gst_audio_decoder_get_min_latency">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="3542">Queries decoder's latency aggregation.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudiodecoder.h"
+ line="409"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="3548">aggregation latency.
+
+MT safe.</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="dec" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="3544">a #GstAudioDecoder</doc>
+ <type name="AudioDecoder" c:type="GstAudioDecoder*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_needs_format"
+ c:identifier="gst_audio_decoder_get_needs_format">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="3679">Queries decoder required format handling.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudiodecoder.h"
+ line="430"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="3685">TRUE if required format handling is enabled.
+
+MT safe.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="dec" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="3681">a #GstAudioDecoder</doc>
+ <type name="AudioDecoder" c:type="GstAudioDecoder*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_parse_state"
+ c:identifier="gst_audio_decoder_get_parse_state">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="3436">Return current parsing (sync and eos) state.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudiodecoder.h"
+ line="387"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="dec" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="3438">a #GstAudioDecoder</doc>
+ <type name="AudioDecoder" c:type="GstAudioDecoder*"/>
+ </instance-parameter>
+ <parameter name="sync"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="3439">a pointer to a variable to hold the current sync state</doc>
+ <type name="gboolean" c:type="gboolean*"/>
+ </parameter>
+ <parameter name="eos"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="3440">a pointer to a variable to hold the current eos state</doc>
+ <type name="gboolean" c:type="gboolean*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_plc" c:identifier="gst_audio_decoder_get_plc">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="3499">Queries decoder packet loss concealment handling.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudiodecoder.h"
+ line="402"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="3505">TRUE if packet loss concealment is enabled.
+
+MT safe.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="dec" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="3501">a #GstAudioDecoder</doc>
+ <type name="AudioDecoder" c:type="GstAudioDecoder*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_plc_aware"
+ c:identifier="gst_audio_decoder_get_plc_aware">
+ <source-position filename="gst-libs/gst/audio/gstaudiodecoder.h"
+ line="357"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="3302">currently configured plc handling</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="dec" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="3300">a #GstAudioDecoder</doc>
+ <type name="AudioDecoder" c:type="GstAudioDecoder*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_tolerance"
+ c:identifier="gst_audio_decoder_get_tolerance">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="3585">Queries current audio jitter tolerance threshold.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudiodecoder.h"
+ line="416"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="3591">decoder audio jitter tolerance threshold.
+
+MT safe.</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="dec" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="3587">a #GstAudioDecoder</doc>
+ <type name="AudioDecoder" c:type="GstAudioDecoder*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="merge_tags" c:identifier="gst_audio_decoder_merge_tags">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="3703">Sets the audio decoder tags and how they should be merged with any
+upstream stream tags. This will override any tags previously-set
+with gst_audio_decoder_merge_tags().
+
+Note that this is provided for convenience, and the subclass is
+not required to use this and can still do tag handling on its own.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudiodecoder.h"
+ line="438"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="dec" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="3705">a #GstAudioDecoder</doc>
+ <type name="AudioDecoder" c:type="GstAudioDecoder*"/>
+ </instance-parameter>
+ <parameter name="tags"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="3706">a #GstTagList to merge, or NULL</doc>
+ <type name="Gst.TagList" c:type="const GstTagList*"/>
+ </parameter>
+ <parameter name="mode" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="3707">the #GstTagMergeMode to use, usually #GST_TAG_MERGE_REPLACE</doc>
+ <type name="Gst.TagMergeMode" c:type="GstTagMergeMode"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="negotiate" c:identifier="gst_audio_decoder_negotiate">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="759">Negotiate with downstream elements to currently configured #GstAudioInfo.
+Unmark GST_PAD_FLAG_NEED_RECONFIGURE in any case. But mark it again if
+negotiate fails.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudiodecoder.h"
+ line="333"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="767">%TRUE if the negotiation succeeded, else %FALSE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="dec" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="761">a #GstAudioDecoder</doc>
+ <type name="AudioDecoder" c:type="GstAudioDecoder*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="proxy_getcaps"
+ c:identifier="gst_audio_decoder_proxy_getcaps"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="2761">Returns caps that express @caps (or sink template caps if @caps == NULL)
+restricted to rate/channels/... combinations supported by downstream
+elements.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudiodecoder.h"
+ line="328"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="2771">a #GstCaps owned by caller</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="decoder" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="2763">a #GstAudioDecoder</doc>
+ <type name="AudioDecoder" c:type="GstAudioDecoder*"/>
+ </instance-parameter>
+ <parameter name="caps"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="2764">initial caps</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ <parameter name="filter"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="2765">filter caps</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_allocation_caps"
+ c:identifier="gst_audio_decoder_set_allocation_caps"
+ version="1.10">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="3456">Sets a caps in allocation query which are different from the set
+pad's caps. Use this function before calling
+gst_audio_decoder_negotiate(). Setting to %NULL the allocation
+query will use the caps from the pad.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudiodecoder.h"
+ line="392"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="dec" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="3458">a #GstAudioDecoder</doc>
+ <type name="AudioDecoder" c:type="GstAudioDecoder*"/>
+ </instance-parameter>
+ <parameter name="allocation_caps"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="3459">a #GstCaps or %NULL</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_drainable"
+ c:identifier="gst_audio_decoder_set_drainable">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="3609">Configures decoder drain handling. If drainable, subclass might
+be handed a NULL buffer to have it return any leftover decoded data.
+Otherwise, it is not considered so capable and will only ever be passed
+real data.
+
+MT safe.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudiodecoder.h"
+ line="419"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="dec" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="3611">a #GstAudioDecoder</doc>
+ <type name="AudioDecoder" c:type="GstAudioDecoder*"/>
+ </instance-parameter>
+ <parameter name="enabled" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="3612">new state</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_estimate_rate"
+ c:identifier="gst_audio_decoder_set_estimate_rate">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="3312">Allows baseclass to perform byte to time estimated conversion.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudiodecoder.h"
+ line="360"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="dec" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="3314">a #GstAudioDecoder</doc>
+ <type name="AudioDecoder" c:type="GstAudioDecoder*"/>
+ </instance-parameter>
+ <parameter name="enabled" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="3315">whether to enable byte to time conversion</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_latency" c:identifier="gst_audio_decoder_set_latency">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="3387">Sets decoder latency.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudiodecoder.h"
+ line="377"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="dec" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="3389">a #GstAudioDecoder</doc>
+ <type name="AudioDecoder" c:type="GstAudioDecoder*"/>
+ </instance-parameter>
+ <parameter name="min" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="3390">minimum latency</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="max" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="3391">maximum latency</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_max_errors"
+ c:identifier="gst_audio_decoder_set_max_errors">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="3355">Sets numbers of tolerated decoder errors, where a tolerated one is then only
+warned about, but more than tolerated will lead to fatal error. You can set
+-1 for never returning fatal errors. Default is set to
+GST_AUDIO_DECODER_MAX_ERRORS.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudiodecoder.h"
+ line="370"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="dec" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="3357">a #GstAudioDecoder</doc>
+ <type name="AudioDecoder" c:type="GstAudioDecoder*"/>
+ </instance-parameter>
+ <parameter name="num" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="3358">max tolerated errors</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_min_latency"
+ c:identifier="gst_audio_decoder_set_min_latency">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="3523">Sets decoder minimum aggregation latency.
+
+MT safe.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudiodecoder.h"
+ line="405"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="dec" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="3525">a #GstAudioDecoder</doc>
+ <type name="AudioDecoder" c:type="GstAudioDecoder*"/>
+ </instance-parameter>
+ <parameter name="num" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="3526">new minimum latency</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_needs_format"
+ c:identifier="gst_audio_decoder_set_needs_format">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="3655">Configures decoder format needs. If enabled, subclass needs to be
+negotiated with format caps before it can process any data. It will then
+never be handed any data before it has been configured.
+Otherwise, it might be handed data without having been configured and
+is then expected being able to do so either by default
+or based on the input data.
+
+MT safe.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudiodecoder.h"
+ line="426"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="dec" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="3657">a #GstAudioDecoder</doc>
+ <type name="AudioDecoder" c:type="GstAudioDecoder*"/>
+ </instance-parameter>
+ <parameter name="enabled" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="3658">new state</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_output_caps"
+ c:identifier="gst_audio_decoder_set_output_caps"
+ version="1.16">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="824">Configure output caps on the srcpad of @dec. Similar to
+gst_audio_decoder_set_output_format(), but allows subclasses to specify
+output caps that can't be expressed via #GstAudioInfo e.g. caps that have
+caps features.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudiodecoder.h"
+ line="325"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="834">%TRUE on success.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="dec" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="826">a #GstAudioDecoder</doc>
+ <type name="AudioDecoder" c:type="GstAudioDecoder*"/>
+ </instance-parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="827">(fixed) #GstCaps</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_output_format"
+ c:identifier="gst_audio_decoder_set_output_format">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="791">Configure output info on the srcpad of @dec.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudiodecoder.h"
+ line="321"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="798">%TRUE on success.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="dec" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="793">a #GstAudioDecoder</doc>
+ <type name="AudioDecoder" c:type="GstAudioDecoder*"/>
+ </instance-parameter>
+ <parameter name="info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="794">#GstAudioInfo</doc>
+ <type name="AudioInfo" c:type="const GstAudioInfo*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_plc" c:identifier="gst_audio_decoder_set_plc">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="3477">Enable or disable decoder packet loss concealment, provided subclass
+and codec are capable and allow handling plc.
+
+MT safe.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudiodecoder.h"
+ line="398"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="dec" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="3479">a #GstAudioDecoder</doc>
+ <type name="AudioDecoder" c:type="GstAudioDecoder*"/>
+ </instance-parameter>
+ <parameter name="enabled" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="3480">new state</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_plc_aware"
+ c:identifier="gst_audio_decoder_set_plc_aware">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="3283">Indicates whether or not subclass handles packet loss concealment (plc).</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudiodecoder.h"
+ line="353"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="dec" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="3285">a #GstAudioDecoder</doc>
+ <type name="AudioDecoder" c:type="GstAudioDecoder*"/>
+ </instance-parameter>
+ <parameter name="plc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="3286">new plc state</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_tolerance"
+ c:identifier="gst_audio_decoder_set_tolerance">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="3566">Configures decoder audio jitter tolerance threshold.
+
+MT safe.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudiodecoder.h"
+ line="412"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="dec" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="3568">a #GstAudioDecoder</doc>
+ <type name="AudioDecoder" c:type="GstAudioDecoder*"/>
+ </instance-parameter>
+ <parameter name="tolerance" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="3569">new tolerance</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_use_default_pad_acceptcaps"
+ c:identifier="gst_audio_decoder_set_use_default_pad_acceptcaps"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="3820">Lets #GstAudioDecoder sub-classes decide if they want the sink pad
+to use the default pad query handler to reply to accept-caps queries.
+
+By setting this to true it is possible to further customize the default
+handler with %GST_PAD_SET_ACCEPT_INTERSECT and
+%GST_PAD_SET_ACCEPT_TEMPLATE</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudiodecoder.h"
+ line="442"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="decoder" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="3822">a #GstAudioDecoder</doc>
+ <type name="AudioDecoder" c:type="GstAudioDecoder*"/>
+ </instance-parameter>
+ <parameter name="use" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="3823">if the default pad accept-caps query handling should be used</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="max-errors"
+ version="1.18"
+ writable="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="417">Maximum number of tolerated consecutive decode errors. See
+gst_audio_decoder_set_max_errors() for more details.</doc>
+ <type name="gint" c:type="gint"/>
+ </property>
+ <property name="min-latency" writable="1" transfer-ownership="none">
+ <type name="gint64" c:type="gint64"/>
+ </property>
+ <property name="plc" writable="1" transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </property>
+ <property name="tolerance" writable="1" transfer-ownership="none">
+ <type name="gint64" c:type="gint64"/>
+ </property>
+ <field name="element">
+ <type name="Gst.Element" c:type="GstElement"/>
+ </field>
+ <field name="sinkpad">
+ <type name="Gst.Pad" c:type="GstPad*"/>
+ </field>
+ <field name="srcpad">
+ <type name="Gst.Pad" c:type="GstPad*"/>
+ </field>
+ <field name="stream_lock">
+ <type name="GLib.RecMutex" c:type="GRecMutex"/>
+ </field>
+ <field name="input_segment">
+ <type name="Gst.Segment" c:type="GstSegment"/>
+ </field>
+ <field name="output_segment">
+ <type name="Gst.Segment" c:type="GstSegment"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="AudioDecoderPrivate" c:type="GstAudioDecoderPrivate*"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="20">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="AudioDecoderClass"
+ c:type="GstAudioDecoderClass"
+ glib:is-gtype-struct-for="AudioDecoder">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.h"
+ line="181">Subclasses can override any of the available virtual methods or not, as
+needed. At minimum @handle_frame (and likely @set_format) needs to be
+overridden.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudiodecoder.h"
+ line="315"/>
+ <field name="element_class">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.h"
+ line="183">The parent class structure</doc>
+ <type name="Gst.ElementClass" c:type="GstElementClass"/>
+ </field>
+ <field name="start">
+ <callback name="start">
+ <source-position filename="gst-libs/gst/audio/gstaudiodecoder.h"
+ line="268"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="dec" transfer-ownership="none">
+ <type name="AudioDecoder" c:type="GstAudioDecoder*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="stop">
+ <callback name="stop">
+ <source-position filename="gst-libs/gst/audio/gstaudiodecoder.h"
+ line="270"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="dec" transfer-ownership="none">
+ <type name="AudioDecoder" c:type="GstAudioDecoder*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="set_format">
+ <callback name="set_format">
+ <source-position filename="gst-libs/gst/audio/gstaudiodecoder.h"
+ line="272"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="dec" transfer-ownership="none">
+ <type name="AudioDecoder" c:type="GstAudioDecoder*"/>
+ </parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="parse">
+ <callback name="parse">
+ <source-position filename="gst-libs/gst/audio/gstaudiodecoder.h"
+ line="275"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="dec" transfer-ownership="none">
+ <type name="AudioDecoder" c:type="GstAudioDecoder*"/>
+ </parameter>
+ <parameter name="adapter" transfer-ownership="none">
+ <type name="GstBase.Adapter" c:type="GstAdapter*"/>
+ </parameter>
+ <parameter name="offset" transfer-ownership="none">
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ <parameter name="length" transfer-ownership="none">
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="handle_frame">
+ <callback name="handle_frame">
+ <source-position filename="gst-libs/gst/audio/gstaudiodecoder.h"
+ line="279"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="dec" transfer-ownership="none">
+ <type name="AudioDecoder" c:type="GstAudioDecoder*"/>
+ </parameter>
+ <parameter name="buffer" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="flush">
+ <callback name="flush">
+ <source-position filename="gst-libs/gst/audio/gstaudiodecoder.h"
+ line="282"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="dec" transfer-ownership="none">
+ <type name="AudioDecoder" c:type="GstAudioDecoder*"/>
+ </parameter>
+ <parameter name="hard" transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="pre_push">
+ <callback name="pre_push">
+ <source-position filename="gst-libs/gst/audio/gstaudiodecoder.h"
+ line="284"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="dec" transfer-ownership="none">
+ <type name="AudioDecoder" c:type="GstAudioDecoder*"/>
+ </parameter>
+ <parameter name="buffer" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer**"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="sink_event">
+ <callback name="sink_event">
+ <source-position filename="gst-libs/gst/audio/gstaudiodecoder.h"
+ line="287"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="dec" transfer-ownership="none">
+ <type name="AudioDecoder" c:type="GstAudioDecoder*"/>
+ </parameter>
+ <parameter name="event" transfer-ownership="none">
+ <type name="Gst.Event" c:type="GstEvent*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="src_event">
+ <callback name="src_event">
+ <source-position filename="gst-libs/gst/audio/gstaudiodecoder.h"
+ line="289"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="dec" transfer-ownership="none">
+ <type name="AudioDecoder" c:type="GstAudioDecoder*"/>
+ </parameter>
+ <parameter name="event" transfer-ownership="none">
+ <type name="Gst.Event" c:type="GstEvent*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="open">
+ <callback name="open">
+ <source-position filename="gst-libs/gst/audio/gstaudiodecoder.h"
+ line="292"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="dec" transfer-ownership="none">
+ <type name="AudioDecoder" c:type="GstAudioDecoder*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="close">
+ <callback name="close">
+ <source-position filename="gst-libs/gst/audio/gstaudiodecoder.h"
+ line="294"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="dec" transfer-ownership="none">
+ <type name="AudioDecoder" c:type="GstAudioDecoder*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="negotiate">
+ <callback name="negotiate">
+ <source-position filename="gst-libs/gst/audio/gstaudiodecoder.h"
+ line="296"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="767">%TRUE if the negotiation succeeded, else %FALSE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="dec" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiodecoder.c"
+ line="761">a #GstAudioDecoder</doc>
+ <type name="AudioDecoder" c:type="GstAudioDecoder*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="decide_allocation">
+ <callback name="decide_allocation">
+ <source-position filename="gst-libs/gst/audio/gstaudiodecoder.h"
+ line="298"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="dec" transfer-ownership="none">
+ <type name="AudioDecoder" c:type="GstAudioDecoder*"/>
+ </parameter>
+ <parameter name="query" transfer-ownership="none">
+ <type name="Gst.Query" c:type="GstQuery*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="propose_allocation">
+ <callback name="propose_allocation">
+ <source-position filename="gst-libs/gst/audio/gstaudiodecoder.h"
+ line="300"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="dec" transfer-ownership="none">
+ <type name="AudioDecoder" c:type="GstAudioDecoder*"/>
+ </parameter>
+ <parameter name="query" transfer-ownership="none">
+ <type name="Gst.Query" c:type="GstQuery*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="sink_query">
+ <callback name="sink_query">
+ <source-position filename="gst-libs/gst/audio/gstaudiodecoder.h"
+ line="303"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="dec" transfer-ownership="none">
+ <type name="AudioDecoder" c:type="GstAudioDecoder*"/>
+ </parameter>
+ <parameter name="query" transfer-ownership="none">
+ <type name="Gst.Query" c:type="GstQuery*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="src_query">
+ <callback name="src_query">
+ <source-position filename="gst-libs/gst/audio/gstaudiodecoder.h"
+ line="305"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="dec" transfer-ownership="none">
+ <type name="AudioDecoder" c:type="GstAudioDecoder*"/>
+ </parameter>
+ <parameter name="query" transfer-ownership="none">
+ <type name="Gst.Query" c:type="GstQuery*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="getcaps">
+ <callback name="getcaps">
+ <source-position filename="gst-libs/gst/audio/gstaudiodecoder.h"
+ line="307"/>
+ <return-value transfer-ownership="full">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <parameter name="dec" transfer-ownership="none">
+ <type name="AudioDecoder" c:type="GstAudioDecoder*"/>
+ </parameter>
+ <parameter name="filter" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="transform_meta">
+ <callback name="transform_meta">
+ <source-position filename="gst-libs/gst/audio/gstaudiodecoder.h"
+ line="310"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="enc" transfer-ownership="none">
+ <type name="AudioDecoder" c:type="GstAudioDecoder*"/>
+ </parameter>
+ <parameter name="outbuf" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="meta" transfer-ownership="none">
+ <type name="Gst.Meta" c:type="GstMeta*"/>
+ </parameter>
+ <parameter name="inbuf" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="16">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="AudioDecoderPrivate"
+ c:type="GstAudioDecoderPrivate"
+ disguised="1">
+ <source-position filename="gst-libs/gst/audio/gstaudiodecoder.h"
+ line="102"/>
+ </record>
+ <enumeration name="AudioDitherMethod"
+ glib:type-name="GstAudioDitherMethod"
+ glib:get-type="gst_audio_dither_method_get_type"
+ c:type="GstAudioDitherMethod">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-quantize.h"
+ line="32">Set of available dithering methods.</doc>
+ <member name="none"
+ value="0"
+ c:identifier="GST_AUDIO_DITHER_NONE"
+ glib:nick="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-quantize.h"
+ line="34">No dithering</doc>
+ </member>
+ <member name="rpdf"
+ value="1"
+ c:identifier="GST_AUDIO_DITHER_RPDF"
+ glib:nick="rpdf">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-quantize.h"
+ line="35">Rectangular dithering</doc>
+ </member>
+ <member name="tpdf"
+ value="2"
+ c:identifier="GST_AUDIO_DITHER_TPDF"
+ glib:nick="tpdf">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-quantize.h"
+ line="36">Triangular dithering (default)</doc>
+ </member>
+ <member name="tpdf_hf"
+ value="3"
+ c:identifier="GST_AUDIO_DITHER_TPDF_HF"
+ glib:nick="tpdf-hf">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-quantize.h"
+ line="37">High frequency triangular dithering</doc>
+ </member>
+ </enumeration>
+ <record name="AudioDownmixMeta" c:type="GstAudioDownmixMeta">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiometa.h"
+ line="32">Extra buffer metadata describing audio downmixing matrix. This metadata is
+attached to audio buffers and contains a matrix to downmix the buffer number
+of channels to @channels.
+
+@matrix is an two-dimensional array of @to_channels times @from_channels
+coefficients, i.e. the i-th output channels is constructed by multiplicating
+the input channels with the coefficients in @matrix[i] and taking the sum
+of the results.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudiometa.h" line="57"/>
+ <field name="meta" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiometa.h"
+ line="34">parent #GstMeta</doc>
+ <type name="Gst.Meta" c:type="GstMeta"/>
+ </field>
+ <field name="from_position" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiometa.h"
+ line="35">the channel positions of the source</doc>
+ <type name="AudioChannelPosition" c:type="GstAudioChannelPosition*"/>
+ </field>
+ <field name="to_position" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiometa.h"
+ line="36">the channel positions of the destination</doc>
+ <type name="AudioChannelPosition" c:type="GstAudioChannelPosition*"/>
+ </field>
+ <field name="from_channels" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiometa.h"
+ line="37">the number of channels of the source</doc>
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="to_channels" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiometa.h"
+ line="38">the number of channels of the destination</doc>
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="matrix" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiometa.h"
+ line="39">the matrix coefficients.</doc>
+ <type name="gfloat" c:type="gfloat**"/>
+ </field>
+ <function name="get_info" c:identifier="gst_audio_downmix_meta_get_info">
+ <source-position filename="gst-libs/gst/audio/gstaudiometa.h"
+ line="63"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.MetaInfo" c:type="const GstMetaInfo*"/>
+ </return-value>
+ </function>
+ </record>
+ <class name="AudioEncoder"
+ c:symbol-prefix="audio_encoder"
+ c:type="GstAudioEncoder"
+ parent="Gst.Element"
+ abstract="1"
+ glib:type-name="GstAudioEncoder"
+ glib:get-type="gst_audio_encoder_get_type"
+ glib:type-struct="AudioEncoderClass">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.c"
+ line="22">This base class is for audio encoders turning raw audio samples into
+encoded audio data.
+
+GstAudioEncoder and subclass should cooperate as follows.
+
+## Configuration
+
+ * Initially, GstAudioEncoder calls @start when the encoder element
+ is activated, which allows subclass to perform any global setup.
+
+ * GstAudioEncoder calls @set_format to inform subclass of the format
+ of input audio data that it is about to receive. Subclass should
+ setup for encoding and configure various base class parameters
+ appropriately, notably those directing desired input data handling.
+ While unlikely, it might be called more than once, if changing input
+ parameters require reconfiguration.
+
+ * GstAudioEncoder calls @stop at end of all processing.
+
+As of configuration stage, and throughout processing, GstAudioEncoder
+maintains various parameters that provide required context,
+e.g. describing the format of input audio data.
+Conversely, subclass can and should configure these context parameters
+to inform base class of its expectation w.r.t. buffer handling.
+
+## Data processing
+
+ * Base class gathers input sample data (as directed by the context's
+ frame_samples and frame_max) and provides this to subclass' @handle_frame.
+ * If codec processing results in encoded data, subclass should call
+ gst_audio_encoder_finish_frame() to have encoded data pushed
+ downstream. Alternatively, it might also call
+ gst_audio_encoder_finish_frame() (with a NULL buffer and some number of
+ dropped samples) to indicate dropped (non-encoded) samples.
+ * Just prior to actually pushing a buffer downstream,
+ it is passed to @pre_push.
+ * During the parsing process GstAudioEncoderClass will handle both
+ srcpad and sinkpad events. Sink events will be passed to subclass
+ if @event callback has been provided.
+
+## Shutdown phase
+
+ * GstAudioEncoder class calls @stop to inform the subclass that data
+ parsing will be stopped.
+
+Subclass is responsible for providing pad template caps for
+source and sink pads. The pads need to be named "sink" and "src". It also
+needs to set the fixed caps on srcpad, when the format is ensured. This
+is typically when base class calls subclass' @set_format function, though
+it might be delayed until calling @gst_audio_encoder_finish_frame.
+
+In summary, above process should have subclass concentrating on
+codec data processing while leaving other matters to base class,
+such as most notably timestamp handling. While it may exert more control
+in this area (see e.g. @pre_push), it is very much not recommended.
+
+In particular, base class will either favor tracking upstream timestamps
+(at the possible expense of jitter) or aim to arrange for a perfect stream of
+output timestamps, depending on #GstAudioEncoder:perfect-timestamp.
+However, in the latter case, the input may not be so perfect or ideal, which
+is handled as follows. An input timestamp is compared with the expected
+timestamp as dictated by input sample stream and if the deviation is less
+than #GstAudioEncoder:tolerance, the deviation is discarded.
+Otherwise, it is considered a discontuinity and subsequent output timestamp
+is resynced to the new position after performing configured discontinuity
+processing. In the non-perfect-timestamp case, an upstream variation
+exceeding tolerance only leads to marking DISCONT on subsequent outgoing
+(while timestamps are adjusted to upstream regardless of variation).
+While DISCONT is also marked in the perfect-timestamp case, this one
+optionally (see #GstAudioEncoder:hard-resync)
+performs some additional steps, such as clipping of (early) input samples
+or draining all currently remaining input data, depending on the direction
+of the discontuinity.
+
+If perfect timestamps are arranged, it is also possible to request baseclass
+(usually set by subclass) to provide additional buffer metadata (in OFFSET
+and OFFSET_END) fields according to granule defined semantics currently
+needed by oggmux. Specifically, OFFSET is set to granulepos (= sample count
+including buffer) and OFFSET_END to corresponding timestamp (as determined
+by same sample count and sample rate).
+
+Things that subclass need to take care of:
+
+ * Provide pad templates
+ * Set source pad caps when appropriate
+ * Inform base class of buffer processing needs using context's
+ frame_samples and frame_bytes.
+ * Set user-configurable properties to sane defaults for format and
+ implementing codec at hand, e.g. those controlling timestamp behaviour
+ and discontinuity processing.
+ * Accept data in @handle_frame and provide encoded results to
+ gst_audio_encoder_finish_frame().</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudioencoder.h"
+ line="248"/>
+ <implements name="Gst.Preset"/>
+ <virtual-method name="close">
+ <source-position filename="gst-libs/gst/audio/gstaudioencoder.h"
+ line="227"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="enc" transfer-ownership="none">
+ <type name="AudioEncoder" c:type="GstAudioEncoder*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="decide_allocation">
+ <source-position filename="gst-libs/gst/audio/gstaudioencoder.h"
+ line="231"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="enc" transfer-ownership="none">
+ <type name="AudioEncoder" c:type="GstAudioEncoder*"/>
+ </instance-parameter>
+ <parameter name="query" transfer-ownership="none">
+ <type name="Gst.Query" c:type="GstQuery*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="flush">
+ <source-position filename="gst-libs/gst/audio/gstaudioencoder.h"
+ line="212"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="enc" transfer-ownership="none">
+ <type name="AudioEncoder" c:type="GstAudioEncoder*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="getcaps">
+ <source-position filename="gst-libs/gst/audio/gstaudioencoder.h"
+ line="223"/>
+ <return-value transfer-ownership="full">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="enc" transfer-ownership="none">
+ <type name="AudioEncoder" c:type="GstAudioEncoder*"/>
+ </instance-parameter>
+ <parameter name="filter" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="handle_frame">
+ <source-position filename="gst-libs/gst/audio/gstaudioencoder.h"
+ line="209"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="enc" transfer-ownership="none">
+ <type name="AudioEncoder" c:type="GstAudioEncoder*"/>
+ </instance-parameter>
+ <parameter name="buffer" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="negotiate" invoker="negotiate">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.c"
+ line="2819">Negotiate with downstream elements to currently configured #GstCaps.
+Unmark GST_PAD_FLAG_NEED_RECONFIGURE in any case. But mark it again if
+negotiate fails.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudioencoder.h"
+ line="229"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.c"
+ line="2827">%TRUE if the negotiation succeeded, else %FALSE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="enc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.c"
+ line="2821">a #GstAudioEncoder</doc>
+ <type name="AudioEncoder" c:type="GstAudioEncoder*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="open">
+ <source-position filename="gst-libs/gst/audio/gstaudioencoder.h"
+ line="225"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="enc" transfer-ownership="none">
+ <type name="AudioEncoder" c:type="GstAudioEncoder*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="pre_push">
+ <source-position filename="gst-libs/gst/audio/gstaudioencoder.h"
+ line="214"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="enc" transfer-ownership="none">
+ <type name="AudioEncoder" c:type="GstAudioEncoder*"/>
+ </instance-parameter>
+ <parameter name="buffer" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer**"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="propose_allocation">
+ <source-position filename="gst-libs/gst/audio/gstaudioencoder.h"
+ line="233"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="enc" transfer-ownership="none">
+ <type name="AudioEncoder" c:type="GstAudioEncoder*"/>
+ </instance-parameter>
+ <parameter name="query" transfer-ownership="none">
+ <type name="Gst.Query" c:type="GstQuery*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="set_format">
+ <source-position filename="gst-libs/gst/audio/gstaudioencoder.h"
+ line="206"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="enc" transfer-ownership="none">
+ <type name="AudioEncoder" c:type="GstAudioEncoder*"/>
+ </instance-parameter>
+ <parameter name="info" transfer-ownership="none">
+ <type name="AudioInfo" c:type="GstAudioInfo*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="sink_event">
+ <source-position filename="gst-libs/gst/audio/gstaudioencoder.h"
+ line="217"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="enc" transfer-ownership="none">
+ <type name="AudioEncoder" c:type="GstAudioEncoder*"/>
+ </instance-parameter>
+ <parameter name="event" transfer-ownership="none">
+ <type name="Gst.Event" c:type="GstEvent*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="sink_query">
+ <source-position filename="gst-libs/gst/audio/gstaudioencoder.h"
+ line="239"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="encoder" transfer-ownership="none">
+ <type name="AudioEncoder" c:type="GstAudioEncoder*"/>
+ </instance-parameter>
+ <parameter name="query" transfer-ownership="none">
+ <type name="Gst.Query" c:type="GstQuery*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="src_event">
+ <source-position filename="gst-libs/gst/audio/gstaudioencoder.h"
+ line="220"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="enc" transfer-ownership="none">
+ <type name="AudioEncoder" c:type="GstAudioEncoder*"/>
+ </instance-parameter>
+ <parameter name="event" transfer-ownership="none">
+ <type name="Gst.Event" c:type="GstEvent*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="src_query">
+ <source-position filename="gst-libs/gst/audio/gstaudioencoder.h"
+ line="242"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="encoder" transfer-ownership="none">
+ <type name="AudioEncoder" c:type="GstAudioEncoder*"/>
+ </instance-parameter>
+ <parameter name="query" transfer-ownership="none">
+ <type name="Gst.Query" c:type="GstQuery*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="start">
+ <source-position filename="gst-libs/gst/audio/gstaudioencoder.h"
+ line="202"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="enc" transfer-ownership="none">
+ <type name="AudioEncoder" c:type="GstAudioEncoder*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="stop">
+ <source-position filename="gst-libs/gst/audio/gstaudioencoder.h"
+ line="204"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="enc" transfer-ownership="none">
+ <type name="AudioEncoder" c:type="GstAudioEncoder*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="transform_meta">
+ <source-position filename="gst-libs/gst/audio/gstaudioencoder.h"
+ line="236"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="enc" transfer-ownership="none">
+ <type name="AudioEncoder" c:type="GstAudioEncoder*"/>
+ </instance-parameter>
+ <parameter name="outbuf" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="meta" transfer-ownership="none">
+ <type name="Gst.Meta" c:type="GstMeta*"/>
+ </parameter>
+ <parameter name="inbuf" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <method name="allocate_output_buffer"
+ c:identifier="gst_audio_encoder_allocate_output_buffer">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.c"
+ line="2897">Helper function that allocates a buffer to hold an encoded audio frame
+for @enc's current output format.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudioencoder.h"
+ line="271"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.c"
+ line="2905">allocated buffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="enc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.c"
+ line="2899">a #GstAudioEncoder</doc>
+ <type name="AudioEncoder" c:type="GstAudioEncoder*"/>
+ </instance-parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.c"
+ line="2900">size of the buffer</doc>
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="finish_frame"
+ c:identifier="gst_audio_encoder_finish_frame">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.c"
+ line="732">Collects encoded data and pushes encoded data downstream.
+Source pad caps must be set when this is called.
+
+If @samples &lt; 0, then best estimate is all samples provided to encoder
+(subclass) so far. @buf may be NULL, in which case next number of @samples
+are considered discarded, e.g. as a result of discontinuous transmission,
+and a discontinuity is marked.
+
+Note that samples received in #GstAudioEncoderClass.handle_frame()
+may be invalidated by a call to this function.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudioencoder.h"
+ line="254"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.c"
+ line="749">a #GstFlowReturn that should be escalated to caller (of caller)</doc>
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="enc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.c"
+ line="734">a #GstAudioEncoder</doc>
+ <type name="AudioEncoder" c:type="GstAudioEncoder*"/>
+ </instance-parameter>
+ <parameter name="buffer"
+ transfer-ownership="full"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.c"
+ line="735">encoded data</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="samples" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.c"
+ line="736">number of samples (per channel) represented by encoded data</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_allocator"
+ c:identifier="gst_audio_encoder_get_allocator">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.c"
+ line="2948">Lets #GstAudioEncoder sub-classes to know the memory @allocator
+used by the base class and its @params.
+
+Unref the @allocator after use it.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudioencoder.h"
+ line="366"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="enc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.c"
+ line="2950">a #GstAudioEncoder</doc>
+ <type name="AudioEncoder" c:type="GstAudioEncoder*"/>
+ </instance-parameter>
+ <parameter name="allocator"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.c"
+ line="2951">the #GstAllocator
+used</doc>
+ <type name="Gst.Allocator" c:type="GstAllocator**"/>
+ </parameter>
+ <parameter name="params"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.c"
+ line="2953">the
+#GstAllocationParams of @allocator</doc>
+ <type name="Gst.AllocationParams" c:type="GstAllocationParams*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_audio_info"
+ c:identifier="gst_audio_encoder_get_audio_info">
+ <source-position filename="gst-libs/gst/audio/gstaudioencoder.h"
+ line="277"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.c"
+ line="2153">a #GstAudioInfo describing the input audio format</doc>
+ <type name="AudioInfo" c:type="GstAudioInfo*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="enc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.c"
+ line="2151">a #GstAudioEncoder</doc>
+ <type name="AudioEncoder" c:type="GstAudioEncoder*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_drainable"
+ c:identifier="gst_audio_encoder_get_drainable">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.c"
+ line="2647">Queries encoder drain handling.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudioencoder.h"
+ line="363"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.c"
+ line="2653">TRUE if drainable handling is enabled.
+
+MT safe.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="enc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.c"
+ line="2649">a #GstAudioEncoder</doc>
+ <type name="AudioEncoder" c:type="GstAudioEncoder*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_frame_max"
+ c:identifier="gst_audio_encoder_get_frame_max">
+ <source-position filename="gst-libs/gst/audio/gstaudioencoder.h"
+ line="292"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.c"
+ line="2261">currently configured maximum handled frames</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="enc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.c"
+ line="2259">a #GstAudioEncoder</doc>
+ <type name="AudioEncoder" c:type="GstAudioEncoder*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_frame_samples_max"
+ c:identifier="gst_audio_encoder_get_frame_samples_max">
+ <source-position filename="gst-libs/gst/audio/gstaudioencoder.h"
+ line="286"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.c"
+ line="2227">currently maximum requested samples per frame</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="enc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.c"
+ line="2225">a #GstAudioEncoder</doc>
+ <type name="AudioEncoder" c:type="GstAudioEncoder*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_frame_samples_min"
+ c:identifier="gst_audio_encoder_get_frame_samples_min">
+ <source-position filename="gst-libs/gst/audio/gstaudioencoder.h"
+ line="280"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.c"
+ line="2190">currently minimum requested samples per frame</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="enc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.c"
+ line="2188">a #GstAudioEncoder</doc>
+ <type name="AudioEncoder" c:type="GstAudioEncoder*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_hard_min"
+ c:identifier="gst_audio_encoder_get_hard_min">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.c"
+ line="2601">Queries encoder hard minimum handling.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudioencoder.h"
+ line="356"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.c"
+ line="2607">TRUE if hard minimum handling is enabled.
+
+MT safe.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="enc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.c"
+ line="2603">a #GstAudioEncoder</doc>
+ <type name="AudioEncoder" c:type="GstAudioEncoder*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_hard_resync"
+ c:identifier="gst_audio_encoder_get_hard_resync">
+ <source-position filename="gst-libs/gst/audio/gstaudioencoder.h"
+ line="342"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="enc" transfer-ownership="none">
+ <type name="AudioEncoder" c:type="GstAudioEncoder*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_latency" c:identifier="gst_audio_encoder_get_latency">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.c"
+ line="2333">Sets the variables pointed to by @min and @max to the currently configured
+latency.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudioencoder.h"
+ line="304"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="enc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.c"
+ line="2335">a #GstAudioEncoder</doc>
+ <type name="AudioEncoder" c:type="GstAudioEncoder*"/>
+ </instance-parameter>
+ <parameter name="min"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.c"
+ line="2336">a pointer to storage to hold minimum latency</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime*"/>
+ </parameter>
+ <parameter name="max"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.c"
+ line="2337">a pointer to storage to hold maximum latency</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_lookahead"
+ c:identifier="gst_audio_encoder_get_lookahead">
+ <source-position filename="gst-libs/gst/audio/gstaudioencoder.h"
+ line="298"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.c"
+ line="2294">currently configured encoder lookahead</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="enc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.c"
+ line="2292">a #GstAudioEncoder</doc>
+ <type name="AudioEncoder" c:type="GstAudioEncoder*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_mark_granule"
+ c:identifier="gst_audio_encoder_get_mark_granule">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.c"
+ line="2419">Queries if the encoder will handle granule marking.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudioencoder.h"
+ line="328"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.c"
+ line="2425">TRUE if granule marking is enabled.
+
+MT safe.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="enc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.c"
+ line="2421">a #GstAudioEncoder</doc>
+ <type name="AudioEncoder" c:type="GstAudioEncoder*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_perfect_timestamp"
+ c:identifier="gst_audio_encoder_get_perfect_timestamp">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.c"
+ line="2465">Queries encoder perfect timestamp behaviour.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudioencoder.h"
+ line="335"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.c"
+ line="2471">TRUE if perfect timestamp setting enabled.
+
+MT safe.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="enc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.c"
+ line="2467">a #GstAudioEncoder</doc>
+ <type name="AudioEncoder" c:type="GstAudioEncoder*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_tolerance"
+ c:identifier="gst_audio_encoder_get_tolerance">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.c"
+ line="2555">Queries current audio jitter tolerance threshold.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudioencoder.h"
+ line="349"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.c"
+ line="2561">encoder audio jitter tolerance threshold.
+
+MT safe.</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="enc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.c"
+ line="2557">a #GstAudioEncoder</doc>
+ <type name="AudioEncoder" c:type="GstAudioEncoder*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="merge_tags" c:identifier="gst_audio_encoder_merge_tags">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.c"
+ line="2671">Sets the audio encoder tags and how they should be merged with any
+upstream stream tags. This will override any tags previously-set
+with gst_audio_encoder_merge_tags().
+
+Note that this is provided for convenience, and the subclass is
+not required to use this and can still do tag handling on its own.
+
+MT safe.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudioencoder.h"
+ line="371"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="enc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.c"
+ line="2673">a #GstAudioEncoder</doc>
+ <type name="AudioEncoder" c:type="GstAudioEncoder*"/>
+ </instance-parameter>
+ <parameter name="tags"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.c"
+ line="2674">a #GstTagList to merge, or NULL to unset
+ previously-set tags</doc>
+ <type name="Gst.TagList" c:type="const GstTagList*"/>
+ </parameter>
+ <parameter name="mode" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.c"
+ line="2676">the #GstTagMergeMode to use, usually #GST_TAG_MERGE_REPLACE</doc>
+ <type name="Gst.TagMergeMode" c:type="GstTagMergeMode"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="negotiate" c:identifier="gst_audio_encoder_negotiate">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.c"
+ line="2819">Negotiate with downstream elements to currently configured #GstCaps.
+Unmark GST_PAD_FLAG_NEED_RECONFIGURE in any case. But mark it again if
+negotiate fails.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudioencoder.h"
+ line="268"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.c"
+ line="2827">%TRUE if the negotiation succeeded, else %FALSE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="enc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.c"
+ line="2821">a #GstAudioEncoder</doc>
+ <type name="AudioEncoder" c:type="GstAudioEncoder*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="proxy_getcaps"
+ c:identifier="gst_audio_encoder_proxy_getcaps">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.c"
+ line="1497">Returns caps that express @caps (or sink template caps if @caps == NULL)
+restricted to channel/rate combinations supported by downstream elements
+(e.g. muxers).</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudioencoder.h"
+ line="259"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.c"
+ line="1507">a #GstCaps owned by caller</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="enc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.c"
+ line="1499">a #GstAudioEncoder</doc>
+ <type name="AudioEncoder" c:type="GstAudioEncoder*"/>
+ </instance-parameter>
+ <parameter name="caps"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.c"
+ line="1500">initial caps</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ <parameter name="filter"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.c"
+ line="1501">filter caps</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_allocation_caps"
+ c:identifier="gst_audio_encoder_set_allocation_caps"
+ version="1.10">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.c"
+ line="2377">Sets a caps in allocation query which are different from the set
+pad's caps. Use this function before calling
+gst_audio_encoder_negotiate(). Setting to %NULL the allocation
+query will use the caps from the pad.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudioencoder.h"
+ line="318"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="enc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.c"
+ line="2379">a #GstAudioEncoder</doc>
+ <type name="AudioEncoder" c:type="GstAudioEncoder*"/>
+ </instance-parameter>
+ <parameter name="allocation_caps"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.c"
+ line="2380">a #GstCaps or %NULL</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_drainable"
+ c:identifier="gst_audio_encoder_set_drainable">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.c"
+ line="2625">Configures encoder drain handling. If drainable, subclass might
+be handed a NULL buffer to have it return any leftover encoded data.
+Otherwise, it is not considered so capable and will only ever be passed
+real data.
+
+MT safe.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudioencoder.h"
+ line="359"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="enc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.c"
+ line="2627">a #GstAudioEncoder</doc>
+ <type name="AudioEncoder" c:type="GstAudioEncoder*"/>
+ </instance-parameter>
+ <parameter name="enabled" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.c"
+ line="2628">new state</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_frame_max"
+ c:identifier="gst_audio_encoder_set_frame_max">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.c"
+ line="2237">Sets max number of frames accepted at once (assumed minimally 1).
+Requires @frame_samples_min and @frame_samples_max to be the equal.
+
+Note: This value will be reset to 0 every time before
+#GstAudioEncoderClass.set_format() is called.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudioencoder.h"
+ line="295"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="enc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.c"
+ line="2239">a #GstAudioEncoder</doc>
+ <type name="AudioEncoder" c:type="GstAudioEncoder*"/>
+ </instance-parameter>
+ <parameter name="num" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.c"
+ line="2240">number of frames</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_frame_samples_max"
+ c:identifier="gst_audio_encoder_set_frame_samples_max">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.c"
+ line="2200">Sets number of samples (per channel) subclass needs to be handed,
+at most or will be handed all available if 0.
+
+If an exact number of samples is required, gst_audio_encoder_set_frame_samples_min()
+must be called with the same number.
+
+Note: This value will be reset to 0 every time before
+#GstAudioEncoderClass.set_format() is called.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudioencoder.h"
+ line="289"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="enc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.c"
+ line="2202">a #GstAudioEncoder</doc>
+ <type name="AudioEncoder" c:type="GstAudioEncoder*"/>
+ </instance-parameter>
+ <parameter name="num" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.c"
+ line="2203">number of samples per frame</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_frame_samples_min"
+ c:identifier="gst_audio_encoder_set_frame_samples_min">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.c"
+ line="2163">Sets number of samples (per channel) subclass needs to be handed,
+at least or will be handed all available if 0.
+
+If an exact number of samples is required, gst_audio_encoder_set_frame_samples_max()
+must be called with the same number.
+
+Note: This value will be reset to 0 every time before
+#GstAudioEncoderClass.set_format() is called.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudioencoder.h"
+ line="283"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="enc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.c"
+ line="2165">a #GstAudioEncoder</doc>
+ <type name="AudioEncoder" c:type="GstAudioEncoder*"/>
+ </instance-parameter>
+ <parameter name="num" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.c"
+ line="2166">number of samples per frame</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_hard_min"
+ c:identifier="gst_audio_encoder_set_hard_min">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.c"
+ line="2579">Configures encoder hard minimum handling. If enabled, subclass
+will never be handed less samples than it configured, which otherwise
+might occur near end-of-data handling. Instead, the leftover samples
+will simply be discarded.
+
+MT safe.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudioencoder.h"
+ line="352"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="enc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.c"
+ line="2581">a #GstAudioEncoder</doc>
+ <type name="AudioEncoder" c:type="GstAudioEncoder*"/>
+ </instance-parameter>
+ <parameter name="enabled" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.c"
+ line="2582">new state</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_hard_resync"
+ c:identifier="gst_audio_encoder_set_hard_resync">
+ <source-position filename="gst-libs/gst/audio/gstaudioencoder.h"
+ line="338"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="enc" transfer-ownership="none">
+ <type name="AudioEncoder" c:type="GstAudioEncoder*"/>
+ </instance-parameter>
+ <parameter name="enabled" transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_headers" c:identifier="gst_audio_encoder_set_headers">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.c"
+ line="2356">Set the codec headers to be sent downstream whenever requested.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudioencoder.h"
+ line="314"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="enc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.c"
+ line="2358">a #GstAudioEncoder</doc>
+ <type name="AudioEncoder" c:type="GstAudioEncoder*"/>
+ </instance-parameter>
+ <parameter name="headers" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.c"
+ line="2359">a list of
+ #GstBuffer containing the codec header</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="Gst.Buffer"/>
+ </type>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_latency" c:identifier="gst_audio_encoder_set_latency">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.c"
+ line="2304">Sets encoder latency.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudioencoder.h"
+ line="309"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="enc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.c"
+ line="2306">a #GstAudioEncoder</doc>
+ <type name="AudioEncoder" c:type="GstAudioEncoder*"/>
+ </instance-parameter>
+ <parameter name="min" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.c"
+ line="2307">minimum latency</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="max" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.c"
+ line="2308">maximum latency</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_lookahead"
+ c:identifier="gst_audio_encoder_set_lookahead">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.c"
+ line="2271">Sets encoder lookahead (in units of input rate samples)
+
+Note: This value will be reset to 0 every time before
+#GstAudioEncoderClass.set_format() is called.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudioencoder.h"
+ line="301"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="enc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.c"
+ line="2273">a #GstAudioEncoder</doc>
+ <type name="AudioEncoder" c:type="GstAudioEncoder*"/>
+ </instance-parameter>
+ <parameter name="num" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.c"
+ line="2274">lookahead</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_mark_granule"
+ c:identifier="gst_audio_encoder_set_mark_granule">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.c"
+ line="2398">Enable or disable encoder granule handling.
+
+MT safe.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudioencoder.h"
+ line="324"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="enc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.c"
+ line="2400">a #GstAudioEncoder</doc>
+ <type name="AudioEncoder" c:type="GstAudioEncoder*"/>
+ </instance-parameter>
+ <parameter name="enabled" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.c"
+ line="2401">new state</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_output_format"
+ c:identifier="gst_audio_encoder_set_output_format">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.c"
+ line="2851">Configure output caps on the srcpad of @enc.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudioencoder.h"
+ line="264"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.c"
+ line="2858">%TRUE on success.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="enc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.c"
+ line="2853">a #GstAudioEncoder</doc>
+ <type name="AudioEncoder" c:type="GstAudioEncoder*"/>
+ </instance-parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.c"
+ line="2854">#GstCaps</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_perfect_timestamp"
+ c:identifier="gst_audio_encoder_set_perfect_timestamp">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.c"
+ line="2443">Enable or disable encoder perfect output timestamp preference.
+
+MT safe.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudioencoder.h"
+ line="331"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="enc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.c"
+ line="2445">a #GstAudioEncoder</doc>
+ <type name="AudioEncoder" c:type="GstAudioEncoder*"/>
+ </instance-parameter>
+ <parameter name="enabled" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.c"
+ line="2446">new state</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_tolerance"
+ c:identifier="gst_audio_encoder_set_tolerance">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.c"
+ line="2534">Configures encoder audio jitter tolerance threshold.
+
+MT safe.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudioencoder.h"
+ line="345"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="enc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.c"
+ line="2536">a #GstAudioEncoder</doc>
+ <type name="AudioEncoder" c:type="GstAudioEncoder*"/>
+ </instance-parameter>
+ <parameter name="tolerance" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.c"
+ line="2537">new tolerance</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="hard-resync" writable="1" transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </property>
+ <property name="mark-granule" transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </property>
+ <property name="perfect-timestamp"
+ writable="1"
+ transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </property>
+ <property name="tolerance" writable="1" transfer-ownership="none">
+ <type name="gint64" c:type="gint64"/>
+ </property>
+ <field name="element">
+ <type name="Gst.Element" c:type="GstElement"/>
+ </field>
+ <field name="sinkpad">
+ <type name="Gst.Pad" c:type="GstPad*"/>
+ </field>
+ <field name="srcpad">
+ <type name="Gst.Pad" c:type="GstPad*"/>
+ </field>
+ <field name="stream_lock">
+ <type name="GLib.RecMutex" c:type="GRecMutex"/>
+ </field>
+ <field name="input_segment">
+ <type name="Gst.Segment" c:type="GstSegment"/>
+ </field>
+ <field name="output_segment">
+ <type name="Gst.Segment" c:type="GstSegment"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="AudioEncoderPrivate" c:type="GstAudioEncoderPrivate*"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="20">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="AudioEncoderClass"
+ c:type="GstAudioEncoderClass"
+ glib:is-gtype-struct-for="AudioEncoder">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.h"
+ line="122">Subclasses can override any of the available virtual methods or not, as
+needed. At minimum @set_format and @handle_frame needs to be overridden.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudioencoder.h"
+ line="248"/>
+ <field name="element_class">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.h"
+ line="124">The parent class structure</doc>
+ <type name="Gst.ElementClass" c:type="GstElementClass"/>
+ </field>
+ <field name="start">
+ <callback name="start">
+ <source-position filename="gst-libs/gst/audio/gstaudioencoder.h"
+ line="202"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="enc" transfer-ownership="none">
+ <type name="AudioEncoder" c:type="GstAudioEncoder*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="stop">
+ <callback name="stop">
+ <source-position filename="gst-libs/gst/audio/gstaudioencoder.h"
+ line="204"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="enc" transfer-ownership="none">
+ <type name="AudioEncoder" c:type="GstAudioEncoder*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="set_format">
+ <callback name="set_format">
+ <source-position filename="gst-libs/gst/audio/gstaudioencoder.h"
+ line="206"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="enc" transfer-ownership="none">
+ <type name="AudioEncoder" c:type="GstAudioEncoder*"/>
+ </parameter>
+ <parameter name="info" transfer-ownership="none">
+ <type name="AudioInfo" c:type="GstAudioInfo*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="handle_frame">
+ <callback name="handle_frame">
+ <source-position filename="gst-libs/gst/audio/gstaudioencoder.h"
+ line="209"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="enc" transfer-ownership="none">
+ <type name="AudioEncoder" c:type="GstAudioEncoder*"/>
+ </parameter>
+ <parameter name="buffer" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="flush">
+ <callback name="flush">
+ <source-position filename="gst-libs/gst/audio/gstaudioencoder.h"
+ line="212"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="enc" transfer-ownership="none">
+ <type name="AudioEncoder" c:type="GstAudioEncoder*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="pre_push">
+ <callback name="pre_push">
+ <source-position filename="gst-libs/gst/audio/gstaudioencoder.h"
+ line="214"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="enc" transfer-ownership="none">
+ <type name="AudioEncoder" c:type="GstAudioEncoder*"/>
+ </parameter>
+ <parameter name="buffer" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer**"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="sink_event">
+ <callback name="sink_event">
+ <source-position filename="gst-libs/gst/audio/gstaudioencoder.h"
+ line="217"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="enc" transfer-ownership="none">
+ <type name="AudioEncoder" c:type="GstAudioEncoder*"/>
+ </parameter>
+ <parameter name="event" transfer-ownership="none">
+ <type name="Gst.Event" c:type="GstEvent*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="src_event">
+ <callback name="src_event">
+ <source-position filename="gst-libs/gst/audio/gstaudioencoder.h"
+ line="220"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="enc" transfer-ownership="none">
+ <type name="AudioEncoder" c:type="GstAudioEncoder*"/>
+ </parameter>
+ <parameter name="event" transfer-ownership="none">
+ <type name="Gst.Event" c:type="GstEvent*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="getcaps">
+ <callback name="getcaps">
+ <source-position filename="gst-libs/gst/audio/gstaudioencoder.h"
+ line="223"/>
+ <return-value transfer-ownership="full">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <parameter name="enc" transfer-ownership="none">
+ <type name="AudioEncoder" c:type="GstAudioEncoder*"/>
+ </parameter>
+ <parameter name="filter" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="open">
+ <callback name="open">
+ <source-position filename="gst-libs/gst/audio/gstaudioencoder.h"
+ line="225"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="enc" transfer-ownership="none">
+ <type name="AudioEncoder" c:type="GstAudioEncoder*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="close">
+ <callback name="close">
+ <source-position filename="gst-libs/gst/audio/gstaudioencoder.h"
+ line="227"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="enc" transfer-ownership="none">
+ <type name="AudioEncoder" c:type="GstAudioEncoder*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="negotiate">
+ <callback name="negotiate">
+ <source-position filename="gst-libs/gst/audio/gstaudioencoder.h"
+ line="229"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.c"
+ line="2827">%TRUE if the negotiation succeeded, else %FALSE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="enc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioencoder.c"
+ line="2821">a #GstAudioEncoder</doc>
+ <type name="AudioEncoder" c:type="GstAudioEncoder*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="decide_allocation">
+ <callback name="decide_allocation">
+ <source-position filename="gst-libs/gst/audio/gstaudioencoder.h"
+ line="231"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="enc" transfer-ownership="none">
+ <type name="AudioEncoder" c:type="GstAudioEncoder*"/>
+ </parameter>
+ <parameter name="query" transfer-ownership="none">
+ <type name="Gst.Query" c:type="GstQuery*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="propose_allocation">
+ <callback name="propose_allocation">
+ <source-position filename="gst-libs/gst/audio/gstaudioencoder.h"
+ line="233"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="enc" transfer-ownership="none">
+ <type name="AudioEncoder" c:type="GstAudioEncoder*"/>
+ </parameter>
+ <parameter name="query" transfer-ownership="none">
+ <type name="Gst.Query" c:type="GstQuery*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="transform_meta">
+ <callback name="transform_meta">
+ <source-position filename="gst-libs/gst/audio/gstaudioencoder.h"
+ line="236"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="enc" transfer-ownership="none">
+ <type name="AudioEncoder" c:type="GstAudioEncoder*"/>
+ </parameter>
+ <parameter name="outbuf" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="meta" transfer-ownership="none">
+ <type name="Gst.Meta" c:type="GstMeta*"/>
+ </parameter>
+ <parameter name="inbuf" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="sink_query">
+ <callback name="sink_query">
+ <source-position filename="gst-libs/gst/audio/gstaudioencoder.h"
+ line="239"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="encoder" transfer-ownership="none">
+ <type name="AudioEncoder" c:type="GstAudioEncoder*"/>
+ </parameter>
+ <parameter name="query" transfer-ownership="none">
+ <type name="Gst.Query" c:type="GstQuery*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="src_query">
+ <callback name="src_query">
+ <source-position filename="gst-libs/gst/audio/gstaudioencoder.h"
+ line="242"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="encoder" transfer-ownership="none">
+ <type name="AudioEncoder" c:type="GstAudioEncoder*"/>
+ </parameter>
+ <parameter name="query" transfer-ownership="none">
+ <type name="Gst.Query" c:type="GstQuery*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="17">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="AudioEncoderPrivate"
+ c:type="GstAudioEncoderPrivate"
+ disguised="1">
+ <source-position filename="gst-libs/gst/audio/gstaudioencoder.h"
+ line="92"/>
+ </record>
+ <class name="AudioFilter"
+ c:symbol-prefix="audio_filter"
+ c:type="GstAudioFilter"
+ parent="GstBase.BaseTransform"
+ abstract="1"
+ glib:type-name="GstAudioFilter"
+ glib:get-type="gst_audio_filter_get_type"
+ glib:type-struct="AudioFilterClass">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiofilter.c"
+ line="22">#GstAudioFilter is a #GstBaseTransform&lt;!-- --&gt;-derived base class for simple audio
+filters, ie. those that output the same format that they get as input.
+
+#GstAudioFilter will parse the input format for you (with error checking)
+before calling your setup function. Also, elements deriving from
+#GstAudioFilter may use gst_audio_filter_class_add_pad_templates() from
+their class_init function to easily configure the set of caps/formats that
+the element is able to handle.
+
+Derived classes should override the #GstAudioFilterClass.setup() and
+#GstBaseTransformClass.transform_ip() and/or
+#GstBaseTransformClass.transform()
+virtual functions in their class_init function.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudiofilter.h"
+ line="93"/>
+ <virtual-method name="setup">
+ <source-position filename="gst-libs/gst/audio/gstaudiofilter.h"
+ line="89"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="filter" transfer-ownership="none">
+ <type name="AudioFilter" c:type="GstAudioFilter*"/>
+ </instance-parameter>
+ <parameter name="info" transfer-ownership="none">
+ <type name="AudioInfo" c:type="const GstAudioInfo*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <field name="basetransform">
+ <type name="GstBase.BaseTransform" c:type="GstBaseTransform"/>
+ </field>
+ <field name="info">
+ <type name="AudioInfo" c:type="GstAudioInfo"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="AudioFilterClass"
+ c:type="GstAudioFilterClass"
+ glib:is-gtype-struct-for="AudioFilter">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiofilter.h"
+ line="75">In addition to the @setup virtual function, you should also override the
+GstBaseTransform::transform and/or GstBaseTransform::transform_ip virtual
+function.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudiofilter.h"
+ line="93"/>
+ <field name="basetransformclass">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiofilter.h"
+ line="77">parent class</doc>
+ <type name="GstBase.BaseTransformClass"
+ c:type="GstBaseTransformClass"/>
+ </field>
+ <field name="setup">
+ <callback name="setup">
+ <source-position filename="gst-libs/gst/audio/gstaudiofilter.h"
+ line="89"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="filter" transfer-ownership="none">
+ <type name="AudioFilter" c:type="GstAudioFilter*"/>
+ </parameter>
+ <parameter name="info" transfer-ownership="none">
+ <type name="AudioInfo" c:type="const GstAudioInfo*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <method name="add_pad_templates"
+ c:identifier="gst_audio_filter_class_add_pad_templates">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiofilter.c"
+ line="211">Convenience function to add pad templates to this element class, with
+@allowed_caps as the caps that can be handled.
+
+This function is usually used from within a GObject class_init function.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudiofilter.h"
+ line="99"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="klass" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiofilter.c"
+ line="213">an #GstAudioFilterClass</doc>
+ <type name="AudioFilterClass" c:type="GstAudioFilterClass*"/>
+ </instance-parameter>
+ <parameter name="allowed_caps" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiofilter.c"
+ line="214">what formats the filter can handle, as #GstCaps</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </method>
+ </record>
+ <bitfield name="AudioFlags"
+ glib:type-name="GstAudioFlags"
+ glib:get-type="gst_audio_flags_get_type"
+ c:type="GstAudioFlags">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-info.h"
+ line="33">Extra audio flags</doc>
+ <member name="none"
+ value="0"
+ c:identifier="GST_AUDIO_FLAG_NONE"
+ glib:nick="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-info.h"
+ line="35">no valid flag</doc>
+ </member>
+ <member name="unpositioned"
+ value="1"
+ c:identifier="GST_AUDIO_FLAG_UNPOSITIONED"
+ glib:nick="unpositioned">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-info.h"
+ line="36">the position array explicitly
+ contains unpositioned channels.</doc>
+ </member>
+ </bitfield>
+ <enumeration name="AudioFormat"
+ glib:type-name="GstAudioFormat"
+ glib:get-type="gst_audio_format_get_type"
+ c:type="GstAudioFormat">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.h"
+ line="39">Enum value describing the most common audio formats.</doc>
+ <member name="unknown"
+ value="0"
+ c:identifier="GST_AUDIO_FORMAT_UNKNOWN"
+ glib:nick="unknown">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.h"
+ line="41">unknown or unset audio format</doc>
+ </member>
+ <member name="encoded"
+ value="1"
+ c:identifier="GST_AUDIO_FORMAT_ENCODED"
+ glib:nick="encoded">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.h"
+ line="42">encoded audio format</doc>
+ </member>
+ <member name="s8"
+ value="2"
+ c:identifier="GST_AUDIO_FORMAT_S8"
+ glib:nick="s8">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.h"
+ line="43">8 bits in 8 bits, signed</doc>
+ </member>
+ <member name="u8"
+ value="3"
+ c:identifier="GST_AUDIO_FORMAT_U8"
+ glib:nick="u8">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.h"
+ line="44">8 bits in 8 bits, unsigned</doc>
+ </member>
+ <member name="s16le"
+ value="4"
+ c:identifier="GST_AUDIO_FORMAT_S16LE"
+ glib:nick="s16le">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.h"
+ line="45">16 bits in 16 bits, signed, little endian</doc>
+ </member>
+ <member name="s16be"
+ value="5"
+ c:identifier="GST_AUDIO_FORMAT_S16BE"
+ glib:nick="s16be">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.h"
+ line="46">16 bits in 16 bits, signed, big endian</doc>
+ </member>
+ <member name="u16le"
+ value="6"
+ c:identifier="GST_AUDIO_FORMAT_U16LE"
+ glib:nick="u16le">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.h"
+ line="47">16 bits in 16 bits, unsigned, little endian</doc>
+ </member>
+ <member name="u16be"
+ value="7"
+ c:identifier="GST_AUDIO_FORMAT_U16BE"
+ glib:nick="u16be">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.h"
+ line="48">16 bits in 16 bits, unsigned, big endian</doc>
+ </member>
+ <member name="s24_32le"
+ value="8"
+ c:identifier="GST_AUDIO_FORMAT_S24_32LE"
+ glib:nick="s24-32le">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.h"
+ line="49">24 bits in 32 bits, signed, little endian</doc>
+ </member>
+ <member name="s24_32be"
+ value="9"
+ c:identifier="GST_AUDIO_FORMAT_S24_32BE"
+ glib:nick="s24-32be">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.h"
+ line="50">24 bits in 32 bits, signed, big endian</doc>
+ </member>
+ <member name="u24_32le"
+ value="10"
+ c:identifier="GST_AUDIO_FORMAT_U24_32LE"
+ glib:nick="u24-32le">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.h"
+ line="51">24 bits in 32 bits, unsigned, little endian</doc>
+ </member>
+ <member name="u24_32be"
+ value="11"
+ c:identifier="GST_AUDIO_FORMAT_U24_32BE"
+ glib:nick="u24-32be">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.h"
+ line="52">24 bits in 32 bits, unsigned, big endian</doc>
+ </member>
+ <member name="s32le"
+ value="12"
+ c:identifier="GST_AUDIO_FORMAT_S32LE"
+ glib:nick="s32le">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.h"
+ line="53">32 bits in 32 bits, signed, little endian</doc>
+ </member>
+ <member name="s32be"
+ value="13"
+ c:identifier="GST_AUDIO_FORMAT_S32BE"
+ glib:nick="s32be">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.h"
+ line="54">32 bits in 32 bits, signed, big endian</doc>
+ </member>
+ <member name="u32le"
+ value="14"
+ c:identifier="GST_AUDIO_FORMAT_U32LE"
+ glib:nick="u32le">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.h"
+ line="55">32 bits in 32 bits, unsigned, little endian</doc>
+ </member>
+ <member name="u32be"
+ value="15"
+ c:identifier="GST_AUDIO_FORMAT_U32BE"
+ glib:nick="u32be">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.h"
+ line="56">32 bits in 32 bits, unsigned, big endian</doc>
+ </member>
+ <member name="s24le"
+ value="16"
+ c:identifier="GST_AUDIO_FORMAT_S24LE"
+ glib:nick="s24le">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.h"
+ line="57">24 bits in 24 bits, signed, little endian</doc>
+ </member>
+ <member name="s24be"
+ value="17"
+ c:identifier="GST_AUDIO_FORMAT_S24BE"
+ glib:nick="s24be">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.h"
+ line="58">24 bits in 24 bits, signed, big endian</doc>
+ </member>
+ <member name="u24le"
+ value="18"
+ c:identifier="GST_AUDIO_FORMAT_U24LE"
+ glib:nick="u24le">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.h"
+ line="59">24 bits in 24 bits, unsigned, little endian</doc>
+ </member>
+ <member name="u24be"
+ value="19"
+ c:identifier="GST_AUDIO_FORMAT_U24BE"
+ glib:nick="u24be">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.h"
+ line="60">24 bits in 24 bits, unsigned, big endian</doc>
+ </member>
+ <member name="s20le"
+ value="20"
+ c:identifier="GST_AUDIO_FORMAT_S20LE"
+ glib:nick="s20le">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.h"
+ line="61">20 bits in 24 bits, signed, little endian</doc>
+ </member>
+ <member name="s20be"
+ value="21"
+ c:identifier="GST_AUDIO_FORMAT_S20BE"
+ glib:nick="s20be">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.h"
+ line="62">20 bits in 24 bits, signed, big endian</doc>
+ </member>
+ <member name="u20le"
+ value="22"
+ c:identifier="GST_AUDIO_FORMAT_U20LE"
+ glib:nick="u20le">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.h"
+ line="63">20 bits in 24 bits, unsigned, little endian</doc>
+ </member>
+ <member name="u20be"
+ value="23"
+ c:identifier="GST_AUDIO_FORMAT_U20BE"
+ glib:nick="u20be">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.h"
+ line="64">20 bits in 24 bits, unsigned, big endian</doc>
+ </member>
+ <member name="s18le"
+ value="24"
+ c:identifier="GST_AUDIO_FORMAT_S18LE"
+ glib:nick="s18le">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.h"
+ line="65">18 bits in 24 bits, signed, little endian</doc>
+ </member>
+ <member name="s18be"
+ value="25"
+ c:identifier="GST_AUDIO_FORMAT_S18BE"
+ glib:nick="s18be">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.h"
+ line="66">18 bits in 24 bits, signed, big endian</doc>
+ </member>
+ <member name="u18le"
+ value="26"
+ c:identifier="GST_AUDIO_FORMAT_U18LE"
+ glib:nick="u18le">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.h"
+ line="67">18 bits in 24 bits, unsigned, little endian</doc>
+ </member>
+ <member name="u18be"
+ value="27"
+ c:identifier="GST_AUDIO_FORMAT_U18BE"
+ glib:nick="u18be">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.h"
+ line="68">18 bits in 24 bits, unsigned, big endian</doc>
+ </member>
+ <member name="f32le"
+ value="28"
+ c:identifier="GST_AUDIO_FORMAT_F32LE"
+ glib:nick="f32le">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.h"
+ line="69">32-bit floating point samples, little endian</doc>
+ </member>
+ <member name="f32be"
+ value="29"
+ c:identifier="GST_AUDIO_FORMAT_F32BE"
+ glib:nick="f32be">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.h"
+ line="70">32-bit floating point samples, big endian</doc>
+ </member>
+ <member name="f64le"
+ value="30"
+ c:identifier="GST_AUDIO_FORMAT_F64LE"
+ glib:nick="f64le">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.h"
+ line="71">64-bit floating point samples, little endian</doc>
+ </member>
+ <member name="f64be"
+ value="31"
+ c:identifier="GST_AUDIO_FORMAT_F64BE"
+ glib:nick="f64be">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.h"
+ line="72">64-bit floating point samples, big endian</doc>
+ </member>
+ <member name="s16"
+ value="4"
+ c:identifier="GST_AUDIO_FORMAT_S16"
+ glib:nick="s16">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.h"
+ line="73">16 bits in 16 bits, signed, native endianness</doc>
+ </member>
+ <member name="u16"
+ value="6"
+ c:identifier="GST_AUDIO_FORMAT_U16"
+ glib:nick="u16">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.h"
+ line="74">16 bits in 16 bits, unsigned, native endianness</doc>
+ </member>
+ <member name="s24_32"
+ value="8"
+ c:identifier="GST_AUDIO_FORMAT_S24_32"
+ glib:nick="s24-32">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.h"
+ line="75">24 bits in 32 bits, signed, native endianness</doc>
+ </member>
+ <member name="u24_32"
+ value="10"
+ c:identifier="GST_AUDIO_FORMAT_U24_32"
+ glib:nick="u24-32">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.h"
+ line="76">24 bits in 32 bits, unsigned, native endianness</doc>
+ </member>
+ <member name="s32"
+ value="12"
+ c:identifier="GST_AUDIO_FORMAT_S32"
+ glib:nick="s32">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.h"
+ line="77">32 bits in 32 bits, signed, native endianness</doc>
+ </member>
+ <member name="u32"
+ value="14"
+ c:identifier="GST_AUDIO_FORMAT_U32"
+ glib:nick="u32">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.h"
+ line="78">32 bits in 32 bits, unsigned, native endianness</doc>
+ </member>
+ <member name="s24"
+ value="16"
+ c:identifier="GST_AUDIO_FORMAT_S24"
+ glib:nick="s24">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.h"
+ line="79">24 bits in 24 bits, signed, native endianness</doc>
+ </member>
+ <member name="u24"
+ value="18"
+ c:identifier="GST_AUDIO_FORMAT_U24"
+ glib:nick="u24">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.h"
+ line="80">24 bits in 24 bits, unsigned, native endianness</doc>
+ </member>
+ <member name="s20"
+ value="20"
+ c:identifier="GST_AUDIO_FORMAT_S20"
+ glib:nick="s20">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.h"
+ line="81">20 bits in 24 bits, signed, native endianness</doc>
+ </member>
+ <member name="u20"
+ value="22"
+ c:identifier="GST_AUDIO_FORMAT_U20"
+ glib:nick="u20">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.h"
+ line="82">20 bits in 24 bits, unsigned, native endianness</doc>
+ </member>
+ <member name="s18"
+ value="24"
+ c:identifier="GST_AUDIO_FORMAT_S18"
+ glib:nick="s18">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.h"
+ line="83">18 bits in 24 bits, signed, native endianness</doc>
+ </member>
+ <member name="u18"
+ value="26"
+ c:identifier="GST_AUDIO_FORMAT_U18"
+ glib:nick="u18">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.h"
+ line="84">18 bits in 24 bits, unsigned, native endianness</doc>
+ </member>
+ <member name="f32"
+ value="28"
+ c:identifier="GST_AUDIO_FORMAT_F32"
+ glib:nick="f32">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.h"
+ line="85">32-bit floating point samples, native endianness</doc>
+ </member>
+ <member name="f64"
+ value="30"
+ c:identifier="GST_AUDIO_FORMAT_F64"
+ glib:nick="f64">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.h"
+ line="86">64-bit floating point samples, native endianness</doc>
+ </member>
+ <function name="build_integer"
+ c:identifier="gst_audio_format_build_integer">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.c"
+ line="358">Construct a #GstAudioFormat with given parameters.</doc>
+ <source-position filename="gst-libs/gst/audio/audio-format.h"
+ line="275"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.c"
+ line="367">a #GstAudioFormat or GST_AUDIO_FORMAT_UNKNOWN when no audio format
+exists with the given parameters.</doc>
+ <type name="AudioFormat" c:type="GstAudioFormat"/>
+ </return-value>
+ <parameters>
+ <parameter name="sign" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.c"
+ line="360">signed or unsigned format</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ <parameter name="endianness" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.c"
+ line="361">G_LITTLE_ENDIAN or G_BIG_ENDIAN</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="width" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.c"
+ line="362">amount of bits used per sample</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="depth" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.c"
+ line="363">amount of used bits in @width</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="fill_silence"
+ c:identifier="gst_audio_format_fill_silence">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.c"
+ line="454">Fill @length bytes in @dest with silence samples for @info.</doc>
+ <source-position filename="gst-libs/gst/audio/audio-format.h"
+ line="289"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.c"
+ line="456">a #GstAudioFormatInfo</doc>
+ <type name="AudioFormatInfo" c:type="const GstAudioFormatInfo*"/>
+ </parameter>
+ <parameter name="dest" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.c"
+ line="457">a destination
+ to fill</doc>
+ <array length="2" zero-terminated="0" c:type="gpointer">
+ <type name="guint8"/>
+ </array>
+ </parameter>
+ <parameter name="length" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.c"
+ line="459">the length to fill</doc>
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="from_string" c:identifier="gst_audio_format_from_string">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.c"
+ line="404">Convert the @format string to its #GstAudioFormat.</doc>
+ <source-position filename="gst-libs/gst/audio/audio-format.h"
+ line="279"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.c"
+ line="410">the #GstAudioFormat for @format or GST_AUDIO_FORMAT_UNKNOWN when the
+string is not a known format.</doc>
+ <type name="AudioFormat" c:type="GstAudioFormat"/>
+ </return-value>
+ <parameters>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.c"
+ line="406">a format string</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="get_info" c:identifier="gst_audio_format_get_info">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.c"
+ line="438">Get the #GstAudioFormatInfo for @format</doc>
+ <source-position filename="gst-libs/gst/audio/audio-format.h"
+ line="286"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.c"
+ line="444">The #GstAudioFormatInfo for @format.</doc>
+ <type name="AudioFormatInfo" c:type="const GstAudioFormatInfo*"/>
+ </return-value>
+ <parameters>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.c"
+ line="440">a #GstAudioFormat</doc>
+ <type name="AudioFormat" c:type="GstAudioFormat"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="to_string" c:identifier="gst_audio_format_to_string">
+ <source-position filename="gst-libs/gst/audio/audio-format.h"
+ line="282"/>
+ <return-value transfer-ownership="none">
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="format" transfer-ownership="none">
+ <type name="AudioFormat" c:type="GstAudioFormat"/>
+ </parameter>
+ </parameters>
+ </function>
+ </enumeration>
+ <bitfield name="AudioFormatFlags"
+ glib:type-name="GstAudioFormatFlags"
+ glib:get-type="gst_audio_format_flags_get_type"
+ c:type="GstAudioFormatFlags">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.h"
+ line="151">The different audio flags that a format info can have.</doc>
+ <member name="integer"
+ value="1"
+ c:identifier="GST_AUDIO_FORMAT_FLAG_INTEGER"
+ glib:nick="integer">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.h"
+ line="153">integer samples</doc>
+ </member>
+ <member name="float"
+ value="2"
+ c:identifier="GST_AUDIO_FORMAT_FLAG_FLOAT"
+ glib:nick="float">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.h"
+ line="154">float samples</doc>
+ </member>
+ <member name="signed"
+ value="4"
+ c:identifier="GST_AUDIO_FORMAT_FLAG_SIGNED"
+ glib:nick="signed">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.h"
+ line="155">signed samples</doc>
+ </member>
+ <member name="complex"
+ value="16"
+ c:identifier="GST_AUDIO_FORMAT_FLAG_COMPLEX"
+ glib:nick="complex">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.h"
+ line="156">complex layout</doc>
+ </member>
+ <member name="unpack"
+ value="32"
+ c:identifier="GST_AUDIO_FORMAT_FLAG_UNPACK"
+ glib:nick="unpack">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.h"
+ line="157">the format can be used in
+#GstAudioFormatUnpack and #GstAudioFormatPack functions</doc>
+ </member>
+ </bitfield>
+ <record name="AudioFormatInfo" c:type="GstAudioFormatInfo">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.h"
+ line="221">Information for an audio format.</doc>
+ <source-position filename="gst-libs/gst/audio/audio-format.h"
+ line="254"/>
+ <field name="format" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.h"
+ line="223">#GstAudioFormat</doc>
+ <type name="AudioFormat" c:type="GstAudioFormat"/>
+ </field>
+ <field name="name" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.h"
+ line="224">string representation of the format</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </field>
+ <field name="description" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.h"
+ line="225">user readable description of the format</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </field>
+ <field name="flags" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.h"
+ line="226">#GstAudioFormatFlags</doc>
+ <type name="AudioFormatFlags" c:type="GstAudioFormatFlags"/>
+ </field>
+ <field name="endianness" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.h"
+ line="227">the endianness</doc>
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="width" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.h"
+ line="228">amount of bits used for one sample</doc>
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="depth" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.h"
+ line="229">amount of valid bits in @width</doc>
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="silence" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.h"
+ line="230">@width/8 bytes with 1 silent sample</doc>
+ <array zero-terminated="0" fixed-size="8">
+ <type name="guint8" c:type="guint8"/>
+ </array>
+ </field>
+ <field name="unpack_format" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.h"
+ line="231">the format of the unpacked samples</doc>
+ <type name="AudioFormat" c:type="GstAudioFormat"/>
+ </field>
+ <field name="unpack_func" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.h"
+ line="232">function to unpack samples</doc>
+ <type name="AudioFormatUnpack" c:type="GstAudioFormatUnpack"/>
+ </field>
+ <field name="pack_func" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.h"
+ line="233">function to pack samples</doc>
+ <type name="AudioFormatPack" c:type="GstAudioFormatPack"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <callback name="AudioFormatPack" c:type="GstAudioFormatPack">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.h"
+ line="204">Packs @length samples from @src to the data array in format @info.
+The samples from source have each channel interleaved
+and will be packed into @data.</doc>
+ <source-position filename="gst-libs/gst/audio/audio-format.h"
+ line="217"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.h"
+ line="206">a #GstAudioFormatInfo</doc>
+ <type name="AudioFormatInfo" c:type="const GstAudioFormatInfo*"/>
+ </parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.h"
+ line="207">#GstAudioPackFlags</doc>
+ <type name="AudioPackFlags" c:type="GstAudioPackFlags"/>
+ </parameter>
+ <parameter name="src" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.h"
+ line="208">a source array</doc>
+ <array zero-terminated="0" c:type="gconstpointer">
+ <type name="guint8"/>
+ </array>
+ </parameter>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.h"
+ line="209">pointer to the destination
+ data</doc>
+ <array zero-terminated="0" c:type="gpointer">
+ <type name="guint8"/>
+ </array>
+ </parameter>
+ <parameter name="length" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.h"
+ line="211">the amount of samples to pack.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <callback name="AudioFormatUnpack" c:type="GstAudioFormatUnpack">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.h"
+ line="188">Unpacks @length samples from the given data of format @info.
+The samples will be unpacked into @dest which each channel
+interleaved. @dest should at least be big enough to hold @length *
+channels * size(unpack_format) bytes.</doc>
+ <source-position filename="gst-libs/gst/audio/audio-format.h"
+ line="201"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.h"
+ line="190">a #GstAudioFormatInfo</doc>
+ <type name="AudioFormatInfo" c:type="const GstAudioFormatInfo*"/>
+ </parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.h"
+ line="191">#GstAudioPackFlags</doc>
+ <type name="AudioPackFlags" c:type="GstAudioPackFlags"/>
+ </parameter>
+ <parameter name="dest" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.h"
+ line="192">a destination array</doc>
+ <array zero-terminated="0" c:type="gpointer">
+ <type name="guint8"/>
+ </array>
+ </parameter>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.h"
+ line="193">pointer to the audio data</doc>
+ <array zero-terminated="0" c:type="gconstpointer">
+ <type name="guint8"/>
+ </array>
+ </parameter>
+ <parameter name="length" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.h"
+ line="194">the amount of samples to unpack.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <record name="AudioInfo"
+ c:type="GstAudioInfo"
+ glib:type-name="GstAudioInfo"
+ glib:get-type="gst_audio_info_get_type"
+ c:symbol-prefix="audio_info">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-info.h"
+ line="46">Information describing audio properties. This information can be filled
+in from GstCaps with gst_audio_info_from_caps().
+
+Use the provided macros to access the info in this structure.</doc>
+ <source-position filename="gst-libs/gst/audio/audio-info.h" line="73"/>
+ <field name="finfo" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-info.h"
+ line="48">the format info of the audio</doc>
+ <type name="AudioFormatInfo" c:type="const GstAudioFormatInfo*"/>
+ </field>
+ <field name="flags" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-info.h"
+ line="49">additional audio flags</doc>
+ <type name="AudioFlags" c:type="GstAudioFlags"/>
+ </field>
+ <field name="layout" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-info.h"
+ line="50">audio layout</doc>
+ <type name="AudioLayout" c:type="GstAudioLayout"/>
+ </field>
+ <field name="rate" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-info.h"
+ line="51">the audio sample rate</doc>
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="channels" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-info.h"
+ line="52">the number of channels</doc>
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="bpf" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-info.h"
+ line="53">the number of bytes for one frame, this is the size of one
+ sample * @channels</doc>
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="position" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-info.h"
+ line="55">the positions for each channel</doc>
+ <array zero-terminated="0" fixed-size="64">
+ <type name="AudioChannelPosition" c:type="GstAudioChannelPosition"/>
+ </array>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <constructor name="new" c:identifier="gst_audio_info_new">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-info.c"
+ line="83">Allocate a new #GstAudioInfo that is also initialized with
+gst_audio_info_init().</doc>
+ <source-position filename="gst-libs/gst/audio/audio-info.h"
+ line="105"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-info.c"
+ line="89">a new #GstAudioInfo. free with gst_audio_info_free().</doc>
+ <type name="AudioInfo" c:type="GstAudioInfo*"/>
+ </return-value>
+ </constructor>
+ <method name="convert" c:identifier="gst_audio_info_convert">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-info.c"
+ line="404">Converts among various #GstFormat types. This function handles
+GST_FORMAT_BYTES, GST_FORMAT_TIME, and GST_FORMAT_DEFAULT. For
+raw audio, GST_FORMAT_DEFAULT corresponds to audio frames. This
+function can be used to handle pad queries of the type GST_QUERY_CONVERT.</doc>
+ <source-position filename="gst-libs/gst/audio/audio-info.h"
+ line="128"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-info.c"
+ line="417">TRUE if the conversion was successful.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-info.c"
+ line="406">a #GstAudioInfo</doc>
+ <type name="AudioInfo" c:type="const GstAudioInfo*"/>
+ </instance-parameter>
+ <parameter name="src_fmt" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-info.c"
+ line="407">#GstFormat of the @src_val</doc>
+ <type name="Gst.Format" c:type="GstFormat"/>
+ </parameter>
+ <parameter name="src_val" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-info.c"
+ line="408">value to convert</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ <parameter name="dest_fmt" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-info.c"
+ line="409">#GstFormat of the @dest_val</doc>
+ <type name="Gst.Format" c:type="GstFormat"/>
+ </parameter>
+ <parameter name="dest_val"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-info.c"
+ line="410">pointer to destination value</doc>
+ <type name="gint64" c:type="gint64*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="copy" c:identifier="gst_audio_info_copy">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-info.c"
+ line="53">Copy a GstAudioInfo structure.</doc>
+ <source-position filename="gst-libs/gst/audio/audio-info.h"
+ line="111"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-info.c"
+ line="59">a new #GstAudioInfo. free with gst_audio_info_free.</doc>
+ <type name="AudioInfo" c:type="GstAudioInfo*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-info.c"
+ line="55">a #GstAudioInfo</doc>
+ <type name="AudioInfo" c:type="const GstAudioInfo*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="free" c:identifier="gst_audio_info_free">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-info.c"
+ line="67">Free a GstAudioInfo structure previously allocated with gst_audio_info_new()
+or gst_audio_info_copy().</doc>
+ <source-position filename="gst-libs/gst/audio/audio-info.h"
+ line="114"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-info.c"
+ line="69">a #GstAudioInfo</doc>
+ <type name="AudioInfo" c:type="GstAudioInfo*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="from_caps" c:identifier="gst_audio_info_from_caps">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-info.c"
+ line="182">Parse @caps and update @info.</doc>
+ <source-position filename="gst-libs/gst/audio/audio-info.h"
+ line="122"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-info.c"
+ line="189">TRUE if @caps could be parsed</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-info.c"
+ line="184">a #GstAudioInfo</doc>
+ <type name="AudioInfo" c:type="GstAudioInfo*"/>
+ </instance-parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-info.c"
+ line="185">a #GstCaps</doc>
+ <type name="Gst.Caps" c:type="const GstCaps*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="init" c:identifier="gst_audio_info_init">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-info.c"
+ line="102">Initialize @info with default values.</doc>
+ <source-position filename="gst-libs/gst/audio/audio-info.h"
+ line="108"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-info.c"
+ line="104">a #GstAudioInfo</doc>
+ <type name="AudioInfo" c:type="GstAudioInfo*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="is_equal"
+ c:identifier="gst_audio_info_is_equal"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-info.c"
+ line="497">Compares two #GstAudioInfo and returns whether they are equal or not</doc>
+ <source-position filename="gst-libs/gst/audio/audio-info.h"
+ line="133"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-info.c"
+ line="504">%TRUE if @info and @other are equal, else %FALSE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-info.c"
+ line="499">a #GstAudioInfo</doc>
+ <type name="AudioInfo" c:type="const GstAudioInfo*"/>
+ </instance-parameter>
+ <parameter name="other" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-info.c"
+ line="500">a #GstAudioInfo</doc>
+ <type name="AudioInfo" c:type="const GstAudioInfo*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_format" c:identifier="gst_audio_info_set_format">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-info.c"
+ line="118">Set the default info for the audio info of @format and @rate and @channels.
+
+Note: This initializes @info first, no values are preserved.</doc>
+ <source-position filename="gst-libs/gst/audio/audio-info.h"
+ line="117"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-info.c"
+ line="120">a #GstAudioInfo</doc>
+ <type name="AudioInfo" c:type="GstAudioInfo*"/>
+ </instance-parameter>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-info.c"
+ line="121">the format</doc>
+ <type name="AudioFormat" c:type="GstAudioFormat"/>
+ </parameter>
+ <parameter name="rate" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-info.c"
+ line="122">the samplerate</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="channels" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-info.c"
+ line="123">the number of channels</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="position"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-info.c"
+ line="124">the channel positions</doc>
+ <array zero-terminated="0"
+ c:type="const GstAudioChannelPosition*"
+ fixed-size="64">
+ <type name="AudioChannelPosition"
+ c:type="GstAudioChannelPosition"/>
+ </array>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="to_caps" c:identifier="gst_audio_info_to_caps">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-info.c"
+ line="323">Convert the values of @info into a #GstCaps.</doc>
+ <source-position filename="gst-libs/gst/audio/audio-info.h"
+ line="125"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-info.c"
+ line="329">the new #GstCaps containing the
+ info of @info.</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-info.c"
+ line="325">a #GstAudioInfo</doc>
+ <type name="AudioInfo" c:type="const GstAudioInfo*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ </record>
+ <enumeration name="AudioLayout"
+ glib:type-name="GstAudioLayout"
+ glib:get-type="gst_audio_layout_get_type"
+ c:type="GstAudioLayout">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.h"
+ line="391">Layout of the audio samples for the different channels.</doc>
+ <member name="interleaved"
+ value="0"
+ c:identifier="GST_AUDIO_LAYOUT_INTERLEAVED"
+ glib:nick="interleaved">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.h"
+ line="393">interleaved audio</doc>
+ </member>
+ <member name="non_interleaved"
+ value="1"
+ c:identifier="GST_AUDIO_LAYOUT_NON_INTERLEAVED"
+ glib:nick="non-interleaved">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.h"
+ line="394">non-interleaved audio</doc>
+ </member>
+ </enumeration>
+ <record name="AudioMeta" c:type="GstAudioMeta" version="1.16">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiometa.c"
+ line="20">#GstAudioDownmixMeta defines an audio downmix matrix to be send along with
+audio buffers. These functions in this module help to create and attach the
+meta as well as extracting it.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudiometa.h"
+ line="185"/>
+ <field name="meta" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiometa.h"
+ line="136">parent #GstMeta</doc>
+ <type name="Gst.Meta" c:type="GstMeta"/>
+ </field>
+ <field name="info" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiometa.h"
+ line="137">the audio properties of the buffer</doc>
+ <type name="AudioInfo" c:type="GstAudioInfo"/>
+ </field>
+ <field name="samples" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiometa.h"
+ line="138">the number of valid samples in the buffer</doc>
+ <type name="gsize" c:type="gsize"/>
+ </field>
+ <field name="offsets" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiometa.h"
+ line="139">the offsets (in bytes) where each channel plane starts in the
+ buffer or %NULL if the buffer has interleaved layout; if not %NULL, this
+ is guaranteed to be an array of @info.channels elements</doc>
+ <type name="gsize" c:type="gsize*"/>
+ </field>
+ <field name="priv_offsets_arr" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="8">
+ <type name="gsize" c:type="gsize"/>
+ </array>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <function name="get_info" c:identifier="gst_audio_meta_get_info">
+ <source-position filename="gst-libs/gst/audio/gstaudiometa.h"
+ line="191"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.MetaInfo" c:type="const GstMetaInfo*"/>
+ </return-value>
+ </function>
+ </record>
+ <enumeration name="AudioNoiseShapingMethod"
+ glib:type-name="GstAudioNoiseShapingMethod"
+ glib:get-type="gst_audio_noise_shaping_method_get_type"
+ c:type="GstAudioNoiseShapingMethod">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-quantize.h"
+ line="49">Set of available noise shaping methods</doc>
+ <member name="none"
+ value="0"
+ c:identifier="GST_AUDIO_NOISE_SHAPING_NONE"
+ glib:nick="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-quantize.h"
+ line="51">No noise shaping (default)</doc>
+ </member>
+ <member name="error_feedback"
+ value="1"
+ c:identifier="GST_AUDIO_NOISE_SHAPING_ERROR_FEEDBACK"
+ glib:nick="error-feedback">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-quantize.h"
+ line="52">Error feedback</doc>
+ </member>
+ <member name="simple"
+ value="2"
+ c:identifier="GST_AUDIO_NOISE_SHAPING_SIMPLE"
+ glib:nick="simple">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-quantize.h"
+ line="53">Simple 2-pole noise shaping</doc>
+ </member>
+ <member name="medium"
+ value="3"
+ c:identifier="GST_AUDIO_NOISE_SHAPING_MEDIUM"
+ glib:nick="medium">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-quantize.h"
+ line="54">Medium 5-pole noise shaping</doc>
+ </member>
+ <member name="high"
+ value="4"
+ c:identifier="GST_AUDIO_NOISE_SHAPING_HIGH"
+ glib:nick="high">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-quantize.h"
+ line="55">High 8-pole noise shaping</doc>
+ </member>
+ </enumeration>
+ <bitfield name="AudioPackFlags"
+ glib:type-name="GstAudioPackFlags"
+ glib:get-type="gst_audio_pack_flags_get_type"
+ c:type="GstAudioPackFlags">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.h"
+ line="171">The different flags that can be used when packing and unpacking.</doc>
+ <member name="none"
+ value="0"
+ c:identifier="GST_AUDIO_PACK_FLAG_NONE"
+ glib:nick="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.h"
+ line="173">No flag</doc>
+ </member>
+ <member name="truncate_range"
+ value="1"
+ c:identifier="GST_AUDIO_PACK_FLAG_TRUNCATE_RANGE"
+ glib:nick="truncate-range">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.h"
+ line="174">When the source has a smaller depth
+ than the target format, set the least significant bits of the target
+ to 0. This is likely slightly faster but less accurate. When this flag
+ is not specified, the most significant bits of the source are duplicated
+ in the least significant bits of the destination.</doc>
+ </member>
+ </bitfield>
+ <record name="AudioQuantize" c:type="GstAudioQuantize" disguised="1">
+ <source-position filename="gst-libs/gst/audio/audio-quantize.h"
+ line="82"/>
+ <method name="free" c:identifier="gst_audio_quantize_free">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-quantize.c"
+ line="470">Free a #GstAudioQuantize.</doc>
+ <source-position filename="gst-libs/gst/audio/audio-quantize.h"
+ line="93"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="quant" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-quantize.c"
+ line="472">a #GstAudioQuantize</doc>
+ <type name="AudioQuantize" c:type="GstAudioQuantize*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="reset" c:identifier="gst_audio_quantize_reset">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-quantize.c"
+ line="489">Reset @quant to the state is was when created, clearing any
+history it might have.</doc>
+ <source-position filename="gst-libs/gst/audio/audio-quantize.h"
+ line="96"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="quant" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-quantize.c"
+ line="491">a #GstAudioQuantize</doc>
+ <type name="AudioQuantize" c:type="GstAudioQuantize*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="samples" c:identifier="gst_audio_quantize_samples">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-quantize.c"
+ line="504">Perform quantization on @samples in @in and write the result to @out.
+
+In case the samples are interleaved, @in and @out must point to an
+array with a single element pointing to a block of interleaved samples.
+
+If non-interleaved samples are used, @in and @out must point to an
+array with pointers to memory blocks, one for each channel.
+
+@in and @out may point to the same memory location, in which case samples will be
+modified in-place.</doc>
+ <source-position filename="gst-libs/gst/audio/audio-quantize.h"
+ line="99"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="quant" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-quantize.c"
+ line="506">a #GstAudioQuantize</doc>
+ <type name="AudioQuantize" c:type="GstAudioQuantize*"/>
+ </instance-parameter>
+ <parameter name="in"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-quantize.c"
+ line="507">input samples</doc>
+ <type name="gpointer" c:type="const gpointer*"/>
+ </parameter>
+ <parameter name="out"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-quantize.c"
+ line="508">output samples</doc>
+ <type name="gpointer" c:type="gpointer*"/>
+ </parameter>
+ <parameter name="samples" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-quantize.c"
+ line="509">number of samples</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <function name="new"
+ c:identifier="gst_audio_quantize_new"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-quantize.c"
+ line="413">Create a new quantizer object with the given parameters.
+
+Output samples will be quantized to a multiple of @quantizer. Better
+performance is achieved when @quantizer is a power of 2.
+
+Dithering and noise-shaping can be performed during quantization with
+the @dither and @ns parameters.</doc>
+ <source-position filename="gst-libs/gst/audio/audio-quantize.h"
+ line="85"/>
+ <return-value>
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-quantize.c"
+ line="430">a new #GstAudioQuantize. Free with gst_audio_quantize_free().</doc>
+ <type name="AudioQuantize" c:type="GstAudioQuantize*"/>
+ </return-value>
+ <parameters>
+ <parameter name="dither" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-quantize.c"
+ line="415">a #GstAudioDitherMethod</doc>
+ <type name="AudioDitherMethod" c:type="GstAudioDitherMethod"/>
+ </parameter>
+ <parameter name="ns" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-quantize.c"
+ line="416">a #GstAudioNoiseShapingMethod</doc>
+ <type name="AudioNoiseShapingMethod"
+ c:type="GstAudioNoiseShapingMethod"/>
+ </parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-quantize.c"
+ line="417">#GstAudioQuantizeFlags</doc>
+ <type name="AudioQuantizeFlags" c:type="GstAudioQuantizeFlags"/>
+ </parameter>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-quantize.c"
+ line="418">the #GstAudioFormat of the samples</doc>
+ <type name="AudioFormat" c:type="GstAudioFormat"/>
+ </parameter>
+ <parameter name="channels" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-quantize.c"
+ line="419">the amount of channels in the samples</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="quantizer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-quantize.c"
+ line="420">the quantizer to use</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ </record>
+ <bitfield name="AudioQuantizeFlags"
+ glib:type-name="GstAudioQuantizeFlags"
+ glib:get-type="gst_audio_quantize_flags_get_type"
+ c:type="GstAudioQuantizeFlags">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-quantize.h"
+ line="68">Extra flags that can be passed to gst_audio_quantize_new()</doc>
+ <member name="none"
+ value="0"
+ c:identifier="GST_AUDIO_QUANTIZE_FLAG_NONE"
+ glib:nick="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-quantize.h"
+ line="70">no flags</doc>
+ </member>
+ <member name="non_interleaved"
+ value="1"
+ c:identifier="GST_AUDIO_QUANTIZE_FLAG_NON_INTERLEAVED"
+ glib:nick="non-interleaved">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-quantize.h"
+ line="71">samples are non-interleaved</doc>
+ </member>
+ </bitfield>
+ <record name="AudioResampler"
+ c:type="GstAudioResampler"
+ disguised="1"
+ version="1.10">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-resampler.c"
+ line="43">#GstAudioResampler is a structure which holds the information
+required to perform various kinds of resampling filtering.</doc>
+ <source-position filename="gst-libs/gst/audio/audio-resampler.h"
+ line="35"/>
+ <method name="free" c:identifier="gst_audio_resampler_free">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-resampler.c"
+ line="1620">Free a previously allocated #GstAudioResampler @resampler.</doc>
+ <source-position filename="gst-libs/gst/audio/audio-resampler.h"
+ line="231"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="resampler" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-resampler.c"
+ line="1622">a #GstAudioResampler</doc>
+ <type name="AudioResampler" c:type="GstAudioResampler*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_in_frames"
+ c:identifier="gst_audio_resampler_get_in_frames">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-resampler.c"
+ line="1680">Get the number of input frames that would currently be needed
+to produce @out_frames from @resampler.</doc>
+ <source-position filename="gst-libs/gst/audio/audio-resampler.h"
+ line="246"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-resampler.c"
+ line="1688">The number of input frames needed for producing
+@out_frames of data from @resampler.</doc>
+ <type name="gsize" c:type="gsize"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="resampler" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-resampler.c"
+ line="1682">a #GstAudioResampler</doc>
+ <type name="AudioResampler" c:type="GstAudioResampler*"/>
+ </instance-parameter>
+ <parameter name="out_frames" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-resampler.c"
+ line="1683">number of input frames</doc>
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_max_latency"
+ c:identifier="gst_audio_resampler_get_max_latency">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-resampler.c"
+ line="1707">Get the maximum number of input samples that the resampler would
+need before producing output.</doc>
+ <source-position filename="gst-libs/gst/audio/audio-resampler.h"
+ line="250"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-resampler.c"
+ line="1714">the latency of @resampler as expressed in the number of
+frames.</doc>
+ <type name="gsize" c:type="gsize"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="resampler" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-resampler.c"
+ line="1709">a #GstAudioResampler</doc>
+ <type name="AudioResampler" c:type="GstAudioResampler*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_out_frames"
+ c:identifier="gst_audio_resampler_get_out_frames">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-resampler.c"
+ line="1641">Get the number of output frames that would be currently available when
+@in_frames are given to @resampler.</doc>
+ <source-position filename="gst-libs/gst/audio/audio-resampler.h"
+ line="242"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-resampler.c"
+ line="1649">The number of frames that would be available after giving
+@in_frames as input to @resampler.</doc>
+ <type name="gsize" c:type="gsize"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="resampler" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-resampler.c"
+ line="1643">a #GstAudioResampler</doc>
+ <type name="AudioResampler" c:type="GstAudioResampler*"/>
+ </instance-parameter>
+ <parameter name="in_frames" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-resampler.c"
+ line="1644">number of input frames</doc>
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="resample" c:identifier="gst_audio_resampler_resample">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-resampler.c"
+ line="1725">Perform resampling on @in_frames frames in @in and write @out_frames to @out.
+
+In case the samples are interleaved, @in and @out must point to an
+array with a single element pointing to a block of interleaved samples.
+
+If non-interleaved samples are used, @in and @out must point to an
+array with pointers to memory blocks, one for each channel.
+
+@in may be %NULL, in which case @in_frames of silence samples are pushed
+into the resampler.
+
+This function always produces @out_frames of output and consumes @in_frames of
+input. Use gst_audio_resampler_get_out_frames() and
+gst_audio_resampler_get_in_frames() to make sure @in_frames and @out_frames
+are matching and @in and @out point to enough memory.</doc>
+ <source-position filename="gst-libs/gst/audio/audio-resampler.h"
+ line="253"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="resampler" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-resampler.c"
+ line="1727">a #GstAudioResampler</doc>
+ <type name="AudioResampler" c:type="GstAudioResampler*"/>
+ </instance-parameter>
+ <parameter name="in"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-resampler.c"
+ line="1728">input samples</doc>
+ <type name="gpointer" c:type="gpointer*"/>
+ </parameter>
+ <parameter name="in_frames" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-resampler.c"
+ line="1729">number of input frames</doc>
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ <parameter name="out"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-resampler.c"
+ line="1730">output samples</doc>
+ <type name="gpointer" c:type="gpointer*"/>
+ </parameter>
+ <parameter name="out_frames" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-resampler.c"
+ line="1731">number of output frames</doc>
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="reset" c:identifier="gst_audio_resampler_reset">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-resampler.c"
+ line="1462">Reset @resampler to the state it was when it was first created, discarding
+all sample history.</doc>
+ <source-position filename="gst-libs/gst/audio/audio-resampler.h"
+ line="234"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="resampler" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-resampler.c"
+ line="1464">a #GstAudioResampler</doc>
+ <type name="AudioResampler" c:type="GstAudioResampler*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="update" c:identifier="gst_audio_resampler_update">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-resampler.c"
+ line="1490">Update the resampler parameters for @resampler. This function should
+not be called concurrently with any other function on @resampler.
+
+When @in_rate or @out_rate is 0, its value is unchanged.
+
+When @options is %NULL, the previously configured options are reused.</doc>
+ <source-position filename="gst-libs/gst/audio/audio-resampler.h"
+ line="237"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-resampler.c"
+ line="1504">%TRUE if the new parameters could be set</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="resampler" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-resampler.c"
+ line="1492">a #GstAudioResampler</doc>
+ <type name="AudioResampler" c:type="GstAudioResampler*"/>
+ </instance-parameter>
+ <parameter name="in_rate" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-resampler.c"
+ line="1493">new input rate</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="out_rate" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-resampler.c"
+ line="1494">new output rate</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="options" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-resampler.c"
+ line="1495">new options or %NULL</doc>
+ <type name="Gst.Structure" c:type="GstStructure*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <function name="new" c:identifier="gst_audio_resampler_new">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-resampler.c"
+ line="1333">Make a new resampler.</doc>
+ <source-position filename="gst-libs/gst/audio/audio-resampler.h"
+ line="224"/>
+ <return-value transfer-ownership="full" skip="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-resampler.c"
+ line="1345">The new #GstAudioResampler, or
+%NULL on failure.</doc>
+ <type name="AudioResampler" c:type="GstAudioResampler*"/>
+ </return-value>
+ <parameters>
+ <parameter name="method" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-resampler.c"
+ line="1335">a #GstAudioResamplerMethod</doc>
+ <type name="AudioResamplerMethod"
+ c:type="GstAudioResamplerMethod"/>
+ </parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-resampler.c"
+ line="1336">#GstAudioResamplerFlags</doc>
+ <type name="AudioResamplerFlags" c:type="GstAudioResamplerFlags"/>
+ </parameter>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-resampler.c"
+ line="1337">the #GstAudioFormat</doc>
+ <type name="AudioFormat" c:type="GstAudioFormat"/>
+ </parameter>
+ <parameter name="channels" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-resampler.c"
+ line="1338">the number of channels</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="in_rate" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-resampler.c"
+ line="1339">input rate</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="out_rate" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-resampler.c"
+ line="1340">output rate</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="options" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-resampler.c"
+ line="1341">extra options</doc>
+ <type name="Gst.Structure" c:type="GstStructure*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="options_set_quality"
+ c:identifier="gst_audio_resampler_options_set_quality">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-resampler.c"
+ line="1269">Set the parameters for resampling from @in_rate to @out_rate using @method
+for @quality in @options.</doc>
+ <source-position filename="gst-libs/gst/audio/audio-resampler.h"
+ line="218"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="method" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-resampler.c"
+ line="1271">a #GstAudioResamplerMethod</doc>
+ <type name="AudioResamplerMethod"
+ c:type="GstAudioResamplerMethod"/>
+ </parameter>
+ <parameter name="quality" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-resampler.c"
+ line="1272">the quality</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="in_rate" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-resampler.c"
+ line="1273">the input rate</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="out_rate" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-resampler.c"
+ line="1274">the output rate</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="options" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-resampler.c"
+ line="1275">a #GstStructure</doc>
+ <type name="Gst.Structure" c:type="GstStructure*"/>
+ </parameter>
+ </parameters>
+ </function>
+ </record>
+ <enumeration name="AudioResamplerFilterInterpolation"
+ version="1.10"
+ glib:type-name="GstAudioResamplerFilterInterpolation"
+ glib:get-type="gst_audio_resampler_filter_interpolation_get_type"
+ c:type="GstAudioResamplerFilterInterpolation">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-resampler.h"
+ line="125">The different filter interpolation methods.</doc>
+ <member name="none"
+ value="0"
+ c:identifier="GST_AUDIO_RESAMPLER_FILTER_INTERPOLATION_NONE"
+ glib:nick="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-resampler.h"
+ line="127">no interpolation</doc>
+ </member>
+ <member name="linear"
+ value="1"
+ c:identifier="GST_AUDIO_RESAMPLER_FILTER_INTERPOLATION_LINEAR"
+ glib:nick="linear">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-resampler.h"
+ line="128">linear interpolation of the
+ filter coefficients.</doc>
+ </member>
+ <member name="cubic"
+ value="2"
+ c:identifier="GST_AUDIO_RESAMPLER_FILTER_INTERPOLATION_CUBIC"
+ glib:nick="cubic">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-resampler.h"
+ line="130">cubic interpolation of the
+ filter coefficients.</doc>
+ </member>
+ </enumeration>
+ <enumeration name="AudioResamplerFilterMode"
+ version="1.10"
+ glib:type-name="GstAudioResamplerFilterMode"
+ glib:get-type="gst_audio_resampler_filter_mode_get_type"
+ c:type="GstAudioResamplerFilterMode">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-resampler.h"
+ line="89">Select for the filter tables should be set up.</doc>
+ <member name="interpolated"
+ value="0"
+ c:identifier="GST_AUDIO_RESAMPLER_FILTER_MODE_INTERPOLATED"
+ glib:nick="interpolated">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-resampler.h"
+ line="91">Use interpolated filter tables. This
+ uses less memory but more CPU and is slightly less accurate but it allows for more
+ efficient variable rate resampling with gst_audio_resampler_update().</doc>
+ </member>
+ <member name="full"
+ value="1"
+ c:identifier="GST_AUDIO_RESAMPLER_FILTER_MODE_FULL"
+ glib:nick="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-resampler.h"
+ line="94">Use full filter table. This uses more memory
+ but less CPU.</doc>
+ </member>
+ <member name="auto"
+ value="2"
+ c:identifier="GST_AUDIO_RESAMPLER_FILTER_MODE_AUTO"
+ glib:nick="auto">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-resampler.h"
+ line="96">Automatically choose between interpolated
+ and full filter tables.</doc>
+ </member>
+ </enumeration>
+ <bitfield name="AudioResamplerFlags"
+ version="1.10"
+ glib:type-name="GstAudioResamplerFlags"
+ glib:get-type="gst_audio_resampler_flags_get_type"
+ c:type="GstAudioResamplerFlags">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-resampler.h"
+ line="189">Different resampler flags.</doc>
+ <member name="none"
+ value="0"
+ c:identifier="GST_AUDIO_RESAMPLER_FLAG_NONE"
+ glib:nick="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-resampler.h"
+ line="191">no flags</doc>
+ </member>
+ <member name="non_interleaved_in"
+ value="1"
+ c:identifier="GST_AUDIO_RESAMPLER_FLAG_NON_INTERLEAVED_IN"
+ glib:nick="non-interleaved-in">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-resampler.h"
+ line="192">input samples are non-interleaved.
+ an array of blocks of samples, one for each channel, should be passed to the
+ resample function.</doc>
+ </member>
+ <member name="non_interleaved_out"
+ value="2"
+ c:identifier="GST_AUDIO_RESAMPLER_FLAG_NON_INTERLEAVED_OUT"
+ glib:nick="non-interleaved-out">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-resampler.h"
+ line="195">output samples are non-interleaved.
+ an array of blocks of samples, one for each channel, should be passed to the
+ resample function.</doc>
+ </member>
+ <member name="variable_rate"
+ value="4"
+ c:identifier="GST_AUDIO_RESAMPLER_FLAG_VARIABLE_RATE"
+ glib:nick="variable-rate">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-resampler.h"
+ line="198">optimize for dynamic updates of the sample
+ rates with gst_audio_resampler_update(). This will select an interpolating filter
+ when #GST_AUDIO_RESAMPLER_FILTER_MODE_AUTO is configured.</doc>
+ </member>
+ </bitfield>
+ <enumeration name="AudioResamplerMethod"
+ version="1.10"
+ glib:type-name="GstAudioResamplerMethod"
+ glib:get-type="gst_audio_resampler_method_get_type"
+ c:type="GstAudioResamplerMethod">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-resampler.h"
+ line="167">Different subsampling and upsampling methods</doc>
+ <member name="nearest"
+ value="0"
+ c:identifier="GST_AUDIO_RESAMPLER_METHOD_NEAREST"
+ glib:nick="nearest">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-resampler.h"
+ line="169">Duplicates the samples when
+ upsampling and drops when downsampling</doc>
+ </member>
+ <member name="linear"
+ value="1"
+ c:identifier="GST_AUDIO_RESAMPLER_METHOD_LINEAR"
+ glib:nick="linear">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-resampler.h"
+ line="171">Uses linear interpolation to reconstruct
+ missing samples and averaging to downsample</doc>
+ </member>
+ <member name="cubic"
+ value="2"
+ c:identifier="GST_AUDIO_RESAMPLER_METHOD_CUBIC"
+ glib:nick="cubic">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-resampler.h"
+ line="173">Uses cubic interpolation</doc>
+ </member>
+ <member name="blackman_nuttall"
+ value="3"
+ c:identifier="GST_AUDIO_RESAMPLER_METHOD_BLACKMAN_NUTTALL"
+ glib:nick="blackman-nuttall">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-resampler.h"
+ line="174">Uses Blackman-Nuttall windowed sinc interpolation</doc>
+ </member>
+ <member name="kaiser"
+ value="4"
+ c:identifier="GST_AUDIO_RESAMPLER_METHOD_KAISER"
+ glib:nick="kaiser">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-resampler.h"
+ line="175">Uses Kaiser windowed sinc interpolation</doc>
+ </member>
+ </enumeration>
+ <class name="AudioRingBuffer"
+ c:symbol-prefix="audio_ring_buffer"
+ c:type="GstAudioRingBuffer"
+ parent="Gst.Object"
+ abstract="1"
+ glib:type-name="GstAudioRingBuffer"
+ glib:get-type="gst_audio_ring_buffer_get_type"
+ glib:type-struct="AudioRingBufferClass">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="20">This object is the base class for audio ringbuffers used by the base
+audio source and sink classes.
+
+The ringbuffer abstracts a circular buffer of data. One reader and
+one writer can operate on the data from different threads in a lockfree
+manner. The base class is sufficiently flexible to be used as an
+abstraction for DMA based ringbuffers as well as a pure software
+implementations.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="271"/>
+ <function name="debug_spec_buff"
+ c:identifier="gst_audio_ring_buffer_debug_spec_buff">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="169">Print debug info about the buffer sized in @spec to the debug log.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="296"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="spec" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="171">the spec to debug</doc>
+ <type name="AudioRingBufferSpec" c:type="GstAudioRingBufferSpec*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="debug_spec_caps"
+ c:identifier="gst_audio_ring_buffer_debug_spec_caps">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="139">Print debug info about the parsed caps in @spec to the debug log.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="293"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="spec" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="141">the spec to debug</doc>
+ <type name="AudioRingBufferSpec" c:type="GstAudioRingBufferSpec*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="parse_caps"
+ c:identifier="gst_audio_ring_buffer_parse_caps">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="193">Parse @caps into @spec.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="290"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="200">TRUE if the caps could be parsed.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="spec" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="195">a spec</doc>
+ <type name="AudioRingBufferSpec" c:type="GstAudioRingBufferSpec*"/>
+ </parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="196">a #GstCaps</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <virtual-method name="acquire" invoker="acquire">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="588">Allocate the resources for the ringbuffer. This function fills
+in the data pointer of the ring buffer with a valid #GstBuffer
+to which samples can be written.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="249"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="597">TRUE if the device could be acquired, FALSE on error.
+
+MT safe.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="buf" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="590">the #GstAudioRingBuffer to acquire</doc>
+ <type name="AudioRingBuffer" c:type="GstAudioRingBuffer*"/>
+ </instance-parameter>
+ <parameter name="spec" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="591">the specs of the buffer</doc>
+ <type name="AudioRingBufferSpec" c:type="GstAudioRingBufferSpec*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="activate" invoker="activate">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="805">Activate @buf to start or stop pulling data.
+
+MT safe.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="261"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="814">TRUE if the device could be activated in the requested mode,
+FALSE on error.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="buf" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="807">the #GstAudioRingBuffer to activate</doc>
+ <type name="AudioRingBuffer" c:type="GstAudioRingBuffer*"/>
+ </instance-parameter>
+ <parameter name="active" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="808">the new mode</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="clear_all" invoker="clear_all">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="1316">Clear all samples from the ringbuffer.
+
+MT safe.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="267"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="buf" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="1318">the #GstAudioRingBuffer to clear</doc>
+ <type name="AudioRingBuffer" c:type="GstAudioRingBuffer*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="close_device" invoker="close_device">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="497">Close the audio device associated with the ring buffer. The ring buffer
+should already have been released via gst_audio_ring_buffer_release().</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="251"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="504">TRUE if the device could be closed, FALSE on error.
+
+MT safe.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="buf" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="499">the #GstAudioRingBuffer</doc>
+ <type name="AudioRingBuffer" c:type="GstAudioRingBuffer*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="commit" invoker="commit">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="1675">Commit @in_samples samples pointed to by @data to the ringbuffer @buf.
+
+@in_samples and @out_samples define the rate conversion to perform on the
+samples in @data. For negative rates, @out_samples must be negative and
+@in_samples positive.
+
+When @out_samples is positive, the first sample will be written at position @sample
+in the ringbuffer. When @out_samples is negative, the last sample will be written to
+@sample in reverse order.
+
+@out_samples does not need to be a multiple of the segment size of the ringbuffer
+although it is recommended for optimal performance.
+
+@accum will hold a temporary accumulator used in rate conversion and should be
+set to 0 when this function is first called. In case the commit operation is
+interrupted, one can resume the processing by passing the previously returned
+@accum value back to this function.
+
+MT safe.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="263"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="1704">The number of samples written to the ringbuffer or -1 on error. The
+number of samples written can be less than @out_samples when @buf was interrupted
+with a flush or stop.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="buf" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="1677">the #GstAudioRingBuffer to commit</doc>
+ <type name="AudioRingBuffer" c:type="GstAudioRingBuffer*"/>
+ </instance-parameter>
+ <parameter name="sample" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="1678">the sample position of the data</doc>
+ <type name="guint64" c:type="guint64*"/>
+ </parameter>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="1679">the data to commit</doc>
+ <array length="2" zero-terminated="0" c:type="guint8*">
+ <type name="guint8" c:type="guint8"/>
+ </array>
+ </parameter>
+ <parameter name="in_samples" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="1680">the number of samples in the data to commit</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="out_samples" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="1681">the number of samples to write to the ringbuffer</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="accum"
+ direction="inout"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="1682">accumulator for rate conversion.</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="delay" invoker="delay">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="1183">Get the number of samples queued in the audio device. This is
+usually less than the segment size but can be bigger when the
+implementation uses another internal buffer between the audio
+device.
+
+For playback ringbuffers this is the amount of samples transferred from the
+ringbuffer to the device but still not played.
+
+For capture ringbuffers this is the amount of samples in the device that are
+not yet transferred to the ringbuffer.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="258"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="1198">The number of samples queued in the audio device.
+
+MT safe.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="buf" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="1185">the #GstAudioRingBuffer to query</doc>
+ <type name="AudioRingBuffer" c:type="GstAudioRingBuffer*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="open_device" invoker="open_device">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="436">Open the audio device associated with the ring buffer. Does not perform any
+setup on the device. You must open the device before acquiring the ring
+buffer.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="248"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="444">TRUE if the device could be opened, FALSE on error.
+
+MT safe.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="buf" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="438">the #GstAudioRingBuffer</doc>
+ <type name="AudioRingBuffer" c:type="GstAudioRingBuffer*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="pause" invoker="pause">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="1079">Pause processing samples from the ringbuffer.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="254"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="1085">TRUE if the device could be paused, FALSE on error.
+
+MT safe.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="buf" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="1081">the #GstAudioRingBuffer to pause</doc>
+ <type name="AudioRingBuffer" c:type="GstAudioRingBuffer*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="release" invoker="release">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="703">Free the resources of the ringbuffer.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="250"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="709">TRUE if the device could be released, FALSE on error.
+
+MT safe.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="buf" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="705">the #GstAudioRingBuffer to release</doc>
+ <type name="AudioRingBuffer" c:type="GstAudioRingBuffer*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="resume">
+ <source-position filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="255"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="buf" transfer-ownership="none">
+ <type name="AudioRingBuffer" c:type="GstAudioRingBuffer*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="start" invoker="start">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="947">Start processing samples from the ringbuffer.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="253"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="953">TRUE if the device could be started, FALSE on error.
+
+MT safe.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="buf" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="949">the #GstAudioRingBuffer to start</doc>
+ <type name="AudioRingBuffer" c:type="GstAudioRingBuffer*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="stop" invoker="stop">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="1123">Stop processing samples from the ringbuffer.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="256"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="1129">TRUE if the device could be stopped, FALSE on error.
+
+MT safe.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="buf" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="1125">the #GstAudioRingBuffer to stop</doc>
+ <type name="AudioRingBuffer" c:type="GstAudioRingBuffer*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <method name="acquire" c:identifier="gst_audio_ring_buffer_acquire">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="588">Allocate the resources for the ringbuffer. This function fills
+in the data pointer of the ring buffer with a valid #GstBuffer
+to which samples can be written.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="317"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="597">TRUE if the device could be acquired, FALSE on error.
+
+MT safe.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="buf" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="590">the #GstAudioRingBuffer to acquire</doc>
+ <type name="AudioRingBuffer" c:type="GstAudioRingBuffer*"/>
+ </instance-parameter>
+ <parameter name="spec" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="591">the specs of the buffer</doc>
+ <type name="AudioRingBufferSpec" c:type="GstAudioRingBufferSpec*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="activate" c:identifier="gst_audio_ring_buffer_activate">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="805">Activate @buf to start or stop pulling data.
+
+MT safe.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="333"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="814">TRUE if the device could be activated in the requested mode,
+FALSE on error.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="buf" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="807">the #GstAudioRingBuffer to activate</doc>
+ <type name="AudioRingBuffer" c:type="GstAudioRingBuffer*"/>
+ </instance-parameter>
+ <parameter name="active" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="808">the new mode</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="advance" c:identifier="gst_audio_ring_buffer_advance">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="1921">Subclasses should call this function to notify the fact that
+@advance segments are now processed by the device.
+
+MT safe.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="405"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="buf" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="1923">the #GstAudioRingBuffer to advance</doc>
+ <type name="AudioRingBuffer" c:type="GstAudioRingBuffer*"/>
+ </instance-parameter>
+ <parameter name="advance" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="1924">the number of segments written</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="clear" c:identifier="gst_audio_ring_buffer_clear">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="1950">Clear the given segment of the buffer with silence samples.
+This function is used by subclasses.
+
+MT safe.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="402"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="buf" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="1952">the #GstAudioRingBuffer to clear</doc>
+ <type name="AudioRingBuffer" c:type="GstAudioRingBuffer*"/>
+ </instance-parameter>
+ <parameter name="segment" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="1953">the segment to clear</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="clear_all" c:identifier="gst_audio_ring_buffer_clear_all">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="1316">Clear all samples from the ringbuffer.
+
+MT safe.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="371"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="buf" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="1318">the #GstAudioRingBuffer to clear</doc>
+ <type name="AudioRingBuffer" c:type="GstAudioRingBuffer*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="close_device"
+ c:identifier="gst_audio_ring_buffer_close_device">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="497">Close the audio device associated with the ring buffer. The ring buffer
+should already have been released via gst_audio_ring_buffer_release().</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="309"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="504">TRUE if the device could be closed, FALSE on error.
+
+MT safe.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="buf" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="499">the #GstAudioRingBuffer</doc>
+ <type name="AudioRingBuffer" c:type="GstAudioRingBuffer*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="commit" c:identifier="gst_audio_ring_buffer_commit">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="1675">Commit @in_samples samples pointed to by @data to the ringbuffer @buf.
+
+@in_samples and @out_samples define the rate conversion to perform on the
+samples in @data. For negative rates, @out_samples must be negative and
+@in_samples positive.
+
+When @out_samples is positive, the first sample will be written at position @sample
+in the ringbuffer. When @out_samples is negative, the last sample will be written to
+@sample in reverse order.
+
+@out_samples does not need to be a multiple of the segment size of the ringbuffer
+although it is recommended for optimal performance.
+
+@accum will hold a temporary accumulator used in rate conversion and should be
+set to 0 when this function is first called. In case the commit operation is
+interrupted, one can resume the processing by passing the previously returned
+@accum value back to this function.
+
+MT safe.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="376"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="1704">The number of samples written to the ringbuffer or -1 on error. The
+number of samples written can be less than @out_samples when @buf was interrupted
+with a flush or stop.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="buf" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="1677">the #GstAudioRingBuffer to commit</doc>
+ <type name="AudioRingBuffer" c:type="GstAudioRingBuffer*"/>
+ </instance-parameter>
+ <parameter name="sample" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="1678">the sample position of the data</doc>
+ <type name="guint64" c:type="guint64*"/>
+ </parameter>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="1679">the data to commit</doc>
+ <array length="2" zero-terminated="0" c:type="guint8*">
+ <type name="guint8" c:type="guint8"/>
+ </array>
+ </parameter>
+ <parameter name="in_samples" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="1680">the number of samples in the data to commit</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="out_samples" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="1681">the number of samples to write to the ringbuffer</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="accum"
+ direction="inout"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="1682">accumulator for rate conversion.</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="convert" c:identifier="gst_audio_ring_buffer_convert">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="352">Convert @src_val in @src_fmt to the equivalent value in @dest_fmt. The result
+will be put in @dest_val.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="299"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="363">TRUE if the conversion succeeded.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="buf" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="354">the #GstAudioRingBuffer</doc>
+ <type name="AudioRingBuffer" c:type="GstAudioRingBuffer*"/>
+ </instance-parameter>
+ <parameter name="src_fmt" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="355">the source format</doc>
+ <type name="Gst.Format" c:type="GstFormat"/>
+ </parameter>
+ <parameter name="src_val" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="356">the source value</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ <parameter name="dest_fmt" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="357">the destination format</doc>
+ <type name="Gst.Format" c:type="GstFormat"/>
+ </parameter>
+ <parameter name="dest_val"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="358">a location to store the converted value</doc>
+ <type name="gint64" c:type="gint64*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="delay" c:identifier="gst_audio_ring_buffer_delay">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="1183">Get the number of samples queued in the audio device. This is
+usually less than the segment size but can be bigger when the
+implementation uses another internal buffer between the audio
+device.
+
+For playback ringbuffers this is the amount of samples transferred from the
+ringbuffer to the device but still not played.
+
+For capture ringbuffers this is the amount of samples in the device that are
+not yet transferred to the ringbuffer.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="360"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="1198">The number of samples queued in the audio device.
+
+MT safe.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="buf" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="1185">the #GstAudioRingBuffer to query</doc>
+ <type name="AudioRingBuffer" c:type="GstAudioRingBuffer*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="device_is_open"
+ c:identifier="gst_audio_ring_buffer_device_is_open">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="564">Checks the status of the device associated with the ring buffer.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="312"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="570">TRUE if the device was open, FALSE if it was closed.
+
+MT safe.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="buf" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="566">the #GstAudioRingBuffer</doc>
+ <type name="AudioRingBuffer" c:type="GstAudioRingBuffer*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="is_acquired"
+ c:identifier="gst_audio_ring_buffer_is_acquired">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="781">Check if the ringbuffer is acquired and ready to use.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="323"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="787">TRUE if the ringbuffer is acquired, FALSE on error.
+
+MT safe.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="buf" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="783">the #GstAudioRingBuffer to check</doc>
+ <type name="AudioRingBuffer" c:type="GstAudioRingBuffer*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="is_active" c:identifier="gst_audio_ring_buffer_is_active">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="873">Check if @buf is activated.
+
+MT safe.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="336"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="881">TRUE if the device is active.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="buf" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="875">the #GstAudioRingBuffer</doc>
+ <type name="AudioRingBuffer" c:type="GstAudioRingBuffer*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="is_flushing"
+ c:identifier="gst_audio_ring_buffer_is_flushing">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="923">Check if @buf is flushing.
+
+MT safe.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="344"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="931">TRUE if the device is flushing.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="buf" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="925">the #GstAudioRingBuffer</doc>
+ <type name="AudioRingBuffer" c:type="GstAudioRingBuffer*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="may_start" c:identifier="gst_audio_ring_buffer_may_start">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="1985">Tell the ringbuffer that it is allowed to start playback when
+the ringbuffer is filled with samples.
+
+MT safe.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="408"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="buf" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="1987">the #GstAudioRingBuffer</doc>
+ <type name="AudioRingBuffer" c:type="GstAudioRingBuffer*"/>
+ </instance-parameter>
+ <parameter name="allowed" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="1988">the new value</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="open_device"
+ c:identifier="gst_audio_ring_buffer_open_device">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="436">Open the audio device associated with the ring buffer. Does not perform any
+setup on the device. You must open the device before acquiring the ring
+buffer.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="306"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="444">TRUE if the device could be opened, FALSE on error.
+
+MT safe.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="buf" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="438">the #GstAudioRingBuffer</doc>
+ <type name="AudioRingBuffer" c:type="GstAudioRingBuffer*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="pause" c:identifier="gst_audio_ring_buffer_pause">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="1079">Pause processing samples from the ringbuffer.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="352"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="1085">TRUE if the device could be paused, FALSE on error.
+
+MT safe.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="buf" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="1081">the #GstAudioRingBuffer to pause</doc>
+ <type name="AudioRingBuffer" c:type="GstAudioRingBuffer*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="prepare_read"
+ c:identifier="gst_audio_ring_buffer_prepare_read">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="1866">Returns a pointer to memory where the data from segment @segment
+can be found. This function is mostly used by subclasses.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="398"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="1877">FALSE if the buffer is not started.
+
+MT safe.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="buf" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="1868">the #GstAudioRingBuffer to read from</doc>
+ <type name="AudioRingBuffer" c:type="GstAudioRingBuffer*"/>
+ </instance-parameter>
+ <parameter name="segment"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="1869">the segment to read</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ <parameter name="readptr"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="1870">
+ the pointer to the memory where samples can be read</doc>
+ <array length="2" zero-terminated="0" c:type="guint8**">
+ <type name="guint8" c:type="guint8*"/>
+ </array>
+ </parameter>
+ <parameter name="len"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="1872">the number of bytes to read</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="read" c:identifier="gst_audio_ring_buffer_read">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="1728">Read @len samples from the ringbuffer into the memory pointed
+to by @data.
+The first sample should be read from position @sample in
+the ringbuffer.
+
+@len should not be a multiple of the segment size of the ringbuffer
+although it is recommended.
+
+@timestamp will return the timestamp associated with the data returned.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="383"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="1746">The number of samples read from the ringbuffer or -1 on
+error.
+
+MT safe.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="buf" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="1730">the #GstAudioRingBuffer to read from</doc>
+ <type name="AudioRingBuffer" c:type="GstAudioRingBuffer*"/>
+ </instance-parameter>
+ <parameter name="sample" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="1731">the sample position of the data</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="1732">where the data should be read</doc>
+ <array length="2" zero-terminated="0" c:type="guint8*">
+ <type name="guint8" c:type="guint8"/>
+ </array>
+ </parameter>
+ <parameter name="len" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="1733">the number of samples in data to read</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="timestamp"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="1734">where the timestamp is returned</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="release" c:identifier="gst_audio_ring_buffer_release">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="703">Free the resources of the ringbuffer.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="320"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="709">TRUE if the device could be released, FALSE on error.
+
+MT safe.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="buf" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="705">the #GstAudioRingBuffer to release</doc>
+ <type name="AudioRingBuffer" c:type="GstAudioRingBuffer*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="samples_done"
+ c:identifier="gst_audio_ring_buffer_samples_done">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="1229">Get the number of samples that were processed by the ringbuffer
+since it was last started. This does not include the number of samples not
+yet processed (see gst_audio_ring_buffer_delay()).</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="363"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="1237">The number of samples processed by the ringbuffer.
+
+MT safe.</doc>
+ <type name="guint64" c:type="guint64"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="buf" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="1231">the #GstAudioRingBuffer to query</doc>
+ <type name="AudioRingBuffer" c:type="GstAudioRingBuffer*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="set_callback"
+ c:identifier="gst_audio_ring_buffer_set_callback"
+ shadowed-by="set_callback_full"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="380">Sets the given callback function on the buffer. This function
+will be called every time a segment has been written to a device.
+
+MT safe.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="279"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="buf" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="382">the #GstAudioRingBuffer to set the callback on</doc>
+ <type name="AudioRingBuffer" c:type="GstAudioRingBuffer*"/>
+ </instance-parameter>
+ <parameter name="cb"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1"
+ closure="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="383">the callback to set</doc>
+ <type name="AudioRingBufferCallback"
+ c:type="GstAudioRingBufferCallback"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="384">user data passed to the callback</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_callback_full"
+ c:identifier="gst_audio_ring_buffer_set_callback_full"
+ shadows="set_callback"
+ version="1.12">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="398">Sets the given callback function on the buffer. This function
+will be called every time a segment has been written to a device.
+
+MT safe.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="284"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="buf" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="400">the #GstAudioRingBuffer to set the callback on</doc>
+ <type name="AudioRingBuffer" c:type="GstAudioRingBuffer*"/>
+ </instance-parameter>
+ <parameter name="cb"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1"
+ scope="notified"
+ closure="1"
+ destroy="2">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="401">the callback to set</doc>
+ <type name="AudioRingBufferCallback"
+ c:type="GstAudioRingBufferCallback"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="402">user data passed to the callback</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="notify" transfer-ownership="none" scope="async">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="403">function to be called when @user_data is no longer needed</doc>
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_channel_positions"
+ c:identifier="gst_audio_ring_buffer_set_channel_positions">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="2021">Tell the ringbuffer about the device's channel positions. This must
+be called in when the ringbuffer is acquired.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="328"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="buf" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="2023">the #GstAudioRingBuffer</doc>
+ <type name="AudioRingBuffer" c:type="GstAudioRingBuffer*"/>
+ </instance-parameter>
+ <parameter name="position" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="2024">the device channel positions</doc>
+ <array zero-terminated="0" c:type="const GstAudioChannelPosition*">
+ <type name="AudioChannelPosition"
+ c:type="GstAudioChannelPosition"/>
+ </array>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_flushing"
+ c:identifier="gst_audio_ring_buffer_set_flushing">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="898">Set the ringbuffer to flushing mode or normal mode.
+
+MT safe.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="341"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="buf" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="900">the #GstAudioRingBuffer to flush</doc>
+ <type name="AudioRingBuffer" c:type="GstAudioRingBuffer*"/>
+ </instance-parameter>
+ <parameter name="flushing" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="901">the new mode</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_sample"
+ c:identifier="gst_audio_ring_buffer_set_sample">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="1258">Make sure that the next sample written to the device is
+accounted for as being the @sample sample written to the
+device. This value will be used in reporting the current
+sample position of the ringbuffer.
+
+This function will also clear the buffer with silence.
+
+MT safe.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="366"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="buf" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="1260">the #GstAudioRingBuffer to use</doc>
+ <type name="AudioRingBuffer" c:type="GstAudioRingBuffer*"/>
+ </instance-parameter>
+ <parameter name="sample" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="1261">the sample number to set</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_timestamp"
+ c:identifier="gst_audio_ring_buffer_set_timestamp">
+ <source-position filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="389"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="buf" transfer-ownership="none">
+ <type name="AudioRingBuffer" c:type="GstAudioRingBuffer*"/>
+ </instance-parameter>
+ <parameter name="readseg" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="timestamp" transfer-ownership="none">
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="start" c:identifier="gst_audio_ring_buffer_start">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="947">Start processing samples from the ringbuffer.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="349"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="953">TRUE if the device could be started, FALSE on error.
+
+MT safe.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="buf" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="949">the #GstAudioRingBuffer to start</doc>
+ <type name="AudioRingBuffer" c:type="GstAudioRingBuffer*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="stop" c:identifier="gst_audio_ring_buffer_stop">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="1123">Stop processing samples from the ringbuffer.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="355"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="1129">TRUE if the device could be stopped, FALSE on error.
+
+MT safe.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="buf" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="1125">the #GstAudioRingBuffer to stop</doc>
+ <type name="AudioRingBuffer" c:type="GstAudioRingBuffer*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <field name="object">
+ <type name="Gst.Object" c:type="GstObject"/>
+ </field>
+ <field name="cond">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="166">used to signal start/stop/pause/resume actions</doc>
+ <type name="GLib.Cond" c:type="GCond"/>
+ </field>
+ <field name="open">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="167">boolean indicating that the ringbuffer is open</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="acquired">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="168">boolean indicating that the ringbuffer is acquired</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="memory">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="169">data in the ringbuffer</doc>
+ <type name="guint8" c:type="guint8*"/>
+ </field>
+ <field name="size">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="170">size of data in the ringbuffer</doc>
+ <type name="gsize" c:type="gsize"/>
+ </field>
+ <field name="timestamps" readable="0" private="1">
+ <type name="Gst.ClockTime" c:type="GstClockTime*"/>
+ </field>
+ <field name="spec">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="171">format and layout of the ringbuffer data</doc>
+ <type name="AudioRingBufferSpec" c:type="GstAudioRingBufferSpec"/>
+ </field>
+ <field name="samples_per_seg">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="172">number of samples in one segment</doc>
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="empty_seg">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="173">pointer to memory holding one segment of silence samples</doc>
+ <type name="guint8" c:type="guint8*"/>
+ </field>
+ <field name="state">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="174">state of the buffer</doc>
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="segdone">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="175">readpointer in the ringbuffer</doc>
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="segbase">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="176">segment corresponding to segment 0 (unused)</doc>
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="waiting">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="177">is a reader or writer waiting for a free segment</doc>
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="callback" readable="0" private="1">
+ <type name="AudioRingBufferCallback"
+ c:type="GstAudioRingBufferCallback"/>
+ </field>
+ <field name="cb_data" readable="0" private="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <field name="need_reorder" readable="0" private="1">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="channel_reorder_map" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="64">
+ <type name="gint" c:type="gint"/>
+ </array>
+ </field>
+ <field name="flushing" readable="0" private="1">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="may_start" readable="0" private="1">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="active" readable="0" private="1">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="cb_data_notify" readable="0" private="1">
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="3">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <callback name="AudioRingBufferCallback"
+ c:type="GstAudioRingBufferCallback">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="44">This function is set with gst_audio_ring_buffer_set_callback() and is
+called to fill the memory at @data with @len bytes of samples.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="54"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="rbuf" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="46">a #GstAudioRingBuffer</doc>
+ <type name="AudioRingBuffer" c:type="GstAudioRingBuffer*"/>
+ </parameter>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="47">target to fill</doc>
+ <array length="2" zero-terminated="0" c:type="guint8*">
+ <type name="guint8" c:type="guint8"/>
+ </array>
+ </parameter>
+ <parameter name="len" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="48">amount to fill</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1"
+ closure="3">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="49">user data</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <record name="AudioRingBufferClass"
+ c:type="GstAudioRingBufferClass"
+ glib:is-gtype-struct-for="AudioRingBuffer">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="222">The vmethods that subclasses can override to implement the ringbuffer.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="271"/>
+ <field name="parent_class">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="224">parent class</doc>
+ <type name="Gst.ObjectClass" c:type="GstObjectClass"/>
+ </field>
+ <field name="open_device">
+ <callback name="open_device">
+ <source-position filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="248"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="444">TRUE if the device could be opened, FALSE on error.
+
+MT safe.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="buf" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="438">the #GstAudioRingBuffer</doc>
+ <type name="AudioRingBuffer" c:type="GstAudioRingBuffer*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="acquire">
+ <callback name="acquire">
+ <source-position filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="249"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="597">TRUE if the device could be acquired, FALSE on error.
+
+MT safe.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="buf" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="590">the #GstAudioRingBuffer to acquire</doc>
+ <type name="AudioRingBuffer" c:type="GstAudioRingBuffer*"/>
+ </parameter>
+ <parameter name="spec" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="591">the specs of the buffer</doc>
+ <type name="AudioRingBufferSpec"
+ c:type="GstAudioRingBufferSpec*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="release">
+ <callback name="release">
+ <source-position filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="250"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="709">TRUE if the device could be released, FALSE on error.
+
+MT safe.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="buf" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="705">the #GstAudioRingBuffer to release</doc>
+ <type name="AudioRingBuffer" c:type="GstAudioRingBuffer*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="close_device">
+ <callback name="close_device">
+ <source-position filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="251"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="504">TRUE if the device could be closed, FALSE on error.
+
+MT safe.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="buf" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="499">the #GstAudioRingBuffer</doc>
+ <type name="AudioRingBuffer" c:type="GstAudioRingBuffer*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="start">
+ <callback name="start">
+ <source-position filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="253"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="953">TRUE if the device could be started, FALSE on error.
+
+MT safe.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="buf" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="949">the #GstAudioRingBuffer to start</doc>
+ <type name="AudioRingBuffer" c:type="GstAudioRingBuffer*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="pause">
+ <callback name="pause">
+ <source-position filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="254"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="1085">TRUE if the device could be paused, FALSE on error.
+
+MT safe.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="buf" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="1081">the #GstAudioRingBuffer to pause</doc>
+ <type name="AudioRingBuffer" c:type="GstAudioRingBuffer*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="resume">
+ <callback name="resume">
+ <source-position filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="255"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="buf" transfer-ownership="none">
+ <type name="AudioRingBuffer" c:type="GstAudioRingBuffer*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="stop">
+ <callback name="stop">
+ <source-position filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="256"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="1129">TRUE if the device could be stopped, FALSE on error.
+
+MT safe.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="buf" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="1125">the #GstAudioRingBuffer to stop</doc>
+ <type name="AudioRingBuffer" c:type="GstAudioRingBuffer*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="delay">
+ <callback name="delay">
+ <source-position filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="258"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="1198">The number of samples queued in the audio device.
+
+MT safe.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <parameter name="buf" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="1185">the #GstAudioRingBuffer to query</doc>
+ <type name="AudioRingBuffer" c:type="GstAudioRingBuffer*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="activate">
+ <callback name="activate">
+ <source-position filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="261"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="814">TRUE if the device could be activated in the requested mode,
+FALSE on error.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="buf" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="807">the #GstAudioRingBuffer to activate</doc>
+ <type name="AudioRingBuffer" c:type="GstAudioRingBuffer*"/>
+ </parameter>
+ <parameter name="active" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="808">the new mode</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="commit">
+ <callback name="commit">
+ <source-position filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="263"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="1704">The number of samples written to the ringbuffer or -1 on error. The
+number of samples written can be less than @out_samples when @buf was interrupted
+with a flush or stop.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <parameter name="buf" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="1677">the #GstAudioRingBuffer to commit</doc>
+ <type name="AudioRingBuffer" c:type="GstAudioRingBuffer*"/>
+ </parameter>
+ <parameter name="sample" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="1678">the sample position of the data</doc>
+ <type name="guint64" c:type="guint64*"/>
+ </parameter>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="1679">the data to commit</doc>
+ <array length="3" zero-terminated="0" c:type="guint8*">
+ <type name="guint8" c:type="guint8"/>
+ </array>
+ </parameter>
+ <parameter name="in_samples" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="1680">the number of samples in the data to commit</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="out_samples" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="1681">the number of samples to write to the ringbuffer</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="accum"
+ direction="inout"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="1682">accumulator for rate conversion.</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="clear_all">
+ <callback name="clear_all">
+ <source-position filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="267"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="buf" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.c"
+ line="1318">the #GstAudioRingBuffer to clear</doc>
+ <type name="AudioRingBuffer" c:type="GstAudioRingBuffer*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <enumeration name="AudioRingBufferFormatType"
+ glib:type-name="GstAudioRingBufferFormatType"
+ glib:get-type="gst_audio_ring_buffer_format_type_get_type"
+ c:type="GstAudioRingBufferFormatType">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="74">The format of the samples in the ringbuffer.</doc>
+ <member name="raw"
+ value="0"
+ c:identifier="GST_AUDIO_RING_BUFFER_FORMAT_TYPE_RAW"
+ glib:nick="raw">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="76">samples in linear or float</doc>
+ </member>
+ <member name="mu_law"
+ value="1"
+ c:identifier="GST_AUDIO_RING_BUFFER_FORMAT_TYPE_MU_LAW"
+ glib:nick="mu-law">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="77">samples in mulaw</doc>
+ </member>
+ <member name="a_law"
+ value="2"
+ c:identifier="GST_AUDIO_RING_BUFFER_FORMAT_TYPE_A_LAW"
+ glib:nick="a-law">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="78">samples in alaw</doc>
+ </member>
+ <member name="ima_adpcm"
+ value="3"
+ c:identifier="GST_AUDIO_RING_BUFFER_FORMAT_TYPE_IMA_ADPCM"
+ glib:nick="ima-adpcm">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="79">samples in ima adpcm</doc>
+ </member>
+ <member name="mpeg"
+ value="4"
+ c:identifier="GST_AUDIO_RING_BUFFER_FORMAT_TYPE_MPEG"
+ glib:nick="mpeg">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="80">samples in mpeg audio (but not AAC) format</doc>
+ </member>
+ <member name="gsm"
+ value="5"
+ c:identifier="GST_AUDIO_RING_BUFFER_FORMAT_TYPE_GSM"
+ glib:nick="gsm">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="81">samples in gsm format</doc>
+ </member>
+ <member name="iec958"
+ value="6"
+ c:identifier="GST_AUDIO_RING_BUFFER_FORMAT_TYPE_IEC958"
+ glib:nick="iec958">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="82">samples in IEC958 frames (e.g. AC3)</doc>
+ </member>
+ <member name="ac3"
+ value="7"
+ c:identifier="GST_AUDIO_RING_BUFFER_FORMAT_TYPE_AC3"
+ glib:nick="ac3">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="83">samples in AC3 format</doc>
+ </member>
+ <member name="eac3"
+ value="8"
+ c:identifier="GST_AUDIO_RING_BUFFER_FORMAT_TYPE_EAC3"
+ glib:nick="eac3">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="84">samples in EAC3 format</doc>
+ </member>
+ <member name="dts"
+ value="9"
+ c:identifier="GST_AUDIO_RING_BUFFER_FORMAT_TYPE_DTS"
+ glib:nick="dts">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="85">samples in DTS format</doc>
+ </member>
+ <member name="mpeg2_aac"
+ value="10"
+ c:identifier="GST_AUDIO_RING_BUFFER_FORMAT_TYPE_MPEG2_AAC"
+ glib:nick="mpeg2-aac">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="86">samples in MPEG-2 AAC ADTS format</doc>
+ </member>
+ <member name="mpeg4_aac"
+ value="11"
+ c:identifier="GST_AUDIO_RING_BUFFER_FORMAT_TYPE_MPEG4_AAC"
+ glib:nick="mpeg4-aac">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="87">samples in MPEG-4 AAC ADTS format</doc>
+ </member>
+ <member name="mpeg2_aac_raw"
+ value="12"
+ c:identifier="GST_AUDIO_RING_BUFFER_FORMAT_TYPE_MPEG2_AAC_RAW"
+ glib:nick="mpeg2-aac-raw">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="88">samples in MPEG-2 AAC raw format (Since: 1.12)</doc>
+ </member>
+ <member name="mpeg4_aac_raw"
+ value="13"
+ c:identifier="GST_AUDIO_RING_BUFFER_FORMAT_TYPE_MPEG4_AAC_RAW"
+ glib:nick="mpeg4-aac-raw">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="89">samples in MPEG-4 AAC raw format (Since: 1.12)</doc>
+ </member>
+ <member name="flac"
+ value="14"
+ c:identifier="GST_AUDIO_RING_BUFFER_FORMAT_TYPE_FLAC"
+ glib:nick="flac">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="90">samples in FLAC format (Since: 1.12)</doc>
+ </member>
+ </enumeration>
+ <record name="AudioRingBufferSpec" c:type="GstAudioRingBufferSpec">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="113">The structure containing the format specification of the ringbuffer.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="157"/>
+ <field name="caps" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="115">The caps that generated the Spec.</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </field>
+ <field name="type" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="116">the sample type</doc>
+ <type name="AudioRingBufferFormatType"
+ c:type="GstAudioRingBufferFormatType"/>
+ </field>
+ <field name="info" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="117">the #GstAudioInfo</doc>
+ <type name="AudioInfo" c:type="GstAudioInfo"/>
+ </field>
+ <field name="latency_time" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="118">the latency in microseconds</doc>
+ <type name="guint64" c:type="guint64"/>
+ </field>
+ <field name="buffer_time" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="119">the total buffer size in microseconds</doc>
+ <type name="guint64" c:type="guint64"/>
+ </field>
+ <field name="segsize" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="120">the size of one segment in bytes</doc>
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="segtotal" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="121">the total number of segments</doc>
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="seglatency" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="122">number of segments queued in the lower level device,
+ defaults to segtotal</doc>
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <enumeration name="AudioRingBufferState"
+ glib:type-name="GstAudioRingBufferState"
+ glib:get-type="gst_audio_ring_buffer_state_get_type"
+ c:type="GstAudioRingBufferState">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="56">The state of the ringbuffer.</doc>
+ <member name="stopped"
+ value="0"
+ c:identifier="GST_AUDIO_RING_BUFFER_STATE_STOPPED"
+ glib:nick="stopped">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="58">The ringbuffer is stopped</doc>
+ </member>
+ <member name="paused"
+ value="1"
+ c:identifier="GST_AUDIO_RING_BUFFER_STATE_PAUSED"
+ glib:nick="paused">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="59">The ringbuffer is paused</doc>
+ </member>
+ <member name="started"
+ value="2"
+ c:identifier="GST_AUDIO_RING_BUFFER_STATE_STARTED"
+ glib:nick="started">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="60">The ringbuffer is started</doc>
+ </member>
+ <member name="error"
+ value="3"
+ c:identifier="GST_AUDIO_RING_BUFFER_STATE_ERROR"
+ glib:nick="error">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="61">The ringbuffer has encountered an
+ error after it has been started, e.g. because the device was
+ disconnected (Since: 1.2)</doc>
+ </member>
+ </enumeration>
+ <class name="AudioSink"
+ c:symbol-prefix="audio_sink"
+ c:type="GstAudioSink"
+ parent="AudioBaseSink"
+ glib:type-name="GstAudioSink"
+ glib:get-type="gst_audio_sink_get_type"
+ glib:type-struct="AudioSinkClass">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiosink.c"
+ line="23">This is the most simple base class for audio sinks that only requires
+subclasses to implement a set of simple functions:
+
+* `open()` :Open the device.
+
+* `prepare()` :Configure the device with the specified format.
+
+* `write()` :Write samples to the device.
+
+* `reset()` :Unblock writes and flush the device.
+
+* `delay()` :Get the number of samples written but not yet played
+by the device.
+
+* `unprepare()` :Undo operations done by prepare.
+
+* `close()` :Close the device.
+
+All scheduling of samples and timestamps is done in this base class
+together with #GstAudioBaseSink using a default implementation of a
+#GstAudioRingBuffer that uses threads.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudiosink.h"
+ line="115"/>
+ <virtual-method name="close">
+ <source-position filename="gst-libs/gst/audio/gstaudiosink.h"
+ line="100"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="sink" transfer-ownership="none">
+ <type name="AudioSink" c:type="GstAudioSink*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="delay">
+ <source-position filename="gst-libs/gst/audio/gstaudiosink.h"
+ line="104"/>
+ <return-value transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="sink" transfer-ownership="none">
+ <type name="AudioSink" c:type="GstAudioSink*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="open">
+ <source-position filename="gst-libs/gst/audio/gstaudiosink.h"
+ line="94"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="sink" transfer-ownership="none">
+ <type name="AudioSink" c:type="GstAudioSink*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="pause">
+ <source-position filename="gst-libs/gst/audio/gstaudiosink.h"
+ line="108"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="sink" transfer-ownership="none">
+ <type name="AudioSink" c:type="GstAudioSink*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="prepare">
+ <source-position filename="gst-libs/gst/audio/gstaudiosink.h"
+ line="96"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="sink" transfer-ownership="none">
+ <type name="AudioSink" c:type="GstAudioSink*"/>
+ </instance-parameter>
+ <parameter name="spec" transfer-ownership="none">
+ <type name="AudioRingBufferSpec" c:type="GstAudioRingBufferSpec*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="reset">
+ <source-position filename="gst-libs/gst/audio/gstaudiosink.h"
+ line="106"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="sink" transfer-ownership="none">
+ <type name="AudioSink" c:type="GstAudioSink*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="resume">
+ <source-position filename="gst-libs/gst/audio/gstaudiosink.h"
+ line="110"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="sink" transfer-ownership="none">
+ <type name="AudioSink" c:type="GstAudioSink*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="stop">
+ <source-position filename="gst-libs/gst/audio/gstaudiosink.h"
+ line="112"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="sink" transfer-ownership="none">
+ <type name="AudioSink" c:type="GstAudioSink*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="unprepare">
+ <source-position filename="gst-libs/gst/audio/gstaudiosink.h"
+ line="98"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="sink" transfer-ownership="none">
+ <type name="AudioSink" c:type="GstAudioSink*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="write">
+ <source-position filename="gst-libs/gst/audio/gstaudiosink.h"
+ line="102"/>
+ <return-value transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="sink" transfer-ownership="none">
+ <type name="AudioSink" c:type="GstAudioSink*"/>
+ </instance-parameter>
+ <parameter name="data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="length" transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <field name="element">
+ <type name="AudioBaseSink" c:type="GstAudioBaseSink"/>
+ </field>
+ <field name="thread" readable="0" private="1">
+ <type name="GLib.Thread" c:type="GThread*"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="AudioSinkClass"
+ c:type="GstAudioSinkClass"
+ glib:is-gtype-struct-for="AudioSink">
+ <source-position filename="gst-libs/gst/audio/gstaudiosink.h"
+ line="115"/>
+ <field name="parent_class">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiosink.h"
+ line="63">the parent class structure.</doc>
+ <type name="AudioBaseSinkClass" c:type="GstAudioBaseSinkClass"/>
+ </field>
+ <field name="open">
+ <callback name="open">
+ <source-position filename="gst-libs/gst/audio/gstaudiosink.h"
+ line="94"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="sink" transfer-ownership="none">
+ <type name="AudioSink" c:type="GstAudioSink*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="prepare">
+ <callback name="prepare">
+ <source-position filename="gst-libs/gst/audio/gstaudiosink.h"
+ line="96"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="sink" transfer-ownership="none">
+ <type name="AudioSink" c:type="GstAudioSink*"/>
+ </parameter>
+ <parameter name="spec" transfer-ownership="none">
+ <type name="AudioRingBufferSpec"
+ c:type="GstAudioRingBufferSpec*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="unprepare">
+ <callback name="unprepare">
+ <source-position filename="gst-libs/gst/audio/gstaudiosink.h"
+ line="98"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="sink" transfer-ownership="none">
+ <type name="AudioSink" c:type="GstAudioSink*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="close">
+ <callback name="close">
+ <source-position filename="gst-libs/gst/audio/gstaudiosink.h"
+ line="100"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="sink" transfer-ownership="none">
+ <type name="AudioSink" c:type="GstAudioSink*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="write">
+ <callback name="write">
+ <source-position filename="gst-libs/gst/audio/gstaudiosink.h"
+ line="102"/>
+ <return-value transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <parameter name="sink" transfer-ownership="none">
+ <type name="AudioSink" c:type="GstAudioSink*"/>
+ </parameter>
+ <parameter name="data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="length" transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="delay">
+ <callback name="delay">
+ <source-position filename="gst-libs/gst/audio/gstaudiosink.h"
+ line="104"/>
+ <return-value transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <parameter name="sink" transfer-ownership="none">
+ <type name="AudioSink" c:type="GstAudioSink*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="reset">
+ <callback name="reset">
+ <source-position filename="gst-libs/gst/audio/gstaudiosink.h"
+ line="106"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="sink" transfer-ownership="none">
+ <type name="AudioSink" c:type="GstAudioSink*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="pause">
+ <callback name="pause">
+ <source-position filename="gst-libs/gst/audio/gstaudiosink.h"
+ line="108"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="sink" transfer-ownership="none">
+ <type name="AudioSink" c:type="GstAudioSink*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="resume">
+ <callback name="resume">
+ <source-position filename="gst-libs/gst/audio/gstaudiosink.h"
+ line="110"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="sink" transfer-ownership="none">
+ <type name="AudioSink" c:type="GstAudioSink*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="stop">
+ <callback name="stop">
+ <source-position filename="gst-libs/gst/audio/gstaudiosink.h"
+ line="112"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="sink" transfer-ownership="none">
+ <type name="AudioSink" c:type="GstAudioSink*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="extension">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiosink.h"
+ line="86">class extension structure. Since: 1.18</doc>
+ <type name="AudioSinkClassExtension"
+ c:type="GstAudioSinkClassExtension*"/>
+ </field>
+ </record>
+ <record name="AudioSinkClassExtension" c:type="GstAudioSinkClassExtension">
+ <source-position filename="gst-libs/gst/audio/gstaudiosink.h"
+ line="127"/>
+ <field name="clear_all">
+ <callback name="clear_all">
+ <source-position filename="gst-libs/gst/audio/gstaudiosink.h"
+ line="124"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="sink" transfer-ownership="none">
+ <type name="AudioSink" c:type="GstAudioSink*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ </record>
+ <class name="AudioSrc"
+ c:symbol-prefix="audio_src"
+ c:type="GstAudioSrc"
+ parent="AudioBaseSrc"
+ glib:type-name="GstAudioSrc"
+ glib:get-type="gst_audio_src_get_type"
+ glib:type-struct="AudioSrcClass">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiosrc.c"
+ line="23">This is the most simple base class for audio sources that only requires
+subclasses to implement a set of simple functions:
+
+* `open()` :Open the device.
+* `prepare()` :Configure the device with the specified format.
+* `read()` :Read samples from the device.
+* `reset()` :Unblock reads and flush the device.
+* `delay()` :Get the number of samples in the device but not yet read.
+* `unprepare()` :Undo operations done by prepare.
+* `close()` :Close the device.
+
+All scheduling of samples and timestamps is done in this base class
+together with #GstAudioBaseSrc using a default implementation of a
+#GstAudioRingBuffer that uses threads.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudiosrc.h" line="97"/>
+ <virtual-method name="close">
+ <source-position filename="gst-libs/gst/audio/gstaudiosrc.h"
+ line="86"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="src" transfer-ownership="none">
+ <type name="AudioSrc" c:type="GstAudioSrc*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="delay">
+ <source-position filename="gst-libs/gst/audio/gstaudiosrc.h"
+ line="91"/>
+ <return-value transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="src" transfer-ownership="none">
+ <type name="AudioSrc" c:type="GstAudioSrc*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="open">
+ <source-position filename="gst-libs/gst/audio/gstaudiosrc.h"
+ line="80"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="src" transfer-ownership="none">
+ <type name="AudioSrc" c:type="GstAudioSrc*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="prepare">
+ <source-position filename="gst-libs/gst/audio/gstaudiosrc.h"
+ line="82"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="src" transfer-ownership="none">
+ <type name="AudioSrc" c:type="GstAudioSrc*"/>
+ </instance-parameter>
+ <parameter name="spec" transfer-ownership="none">
+ <type name="AudioRingBufferSpec" c:type="GstAudioRingBufferSpec*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="read">
+ <source-position filename="gst-libs/gst/audio/gstaudiosrc.h"
+ line="88"/>
+ <return-value transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="src" transfer-ownership="none">
+ <type name="AudioSrc" c:type="GstAudioSrc*"/>
+ </instance-parameter>
+ <parameter name="data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="length" transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="timestamp" transfer-ownership="none">
+ <type name="Gst.ClockTime" c:type="GstClockTime*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="reset">
+ <source-position filename="gst-libs/gst/audio/gstaudiosrc.h"
+ line="93"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="src" transfer-ownership="none">
+ <type name="AudioSrc" c:type="GstAudioSrc*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="unprepare">
+ <source-position filename="gst-libs/gst/audio/gstaudiosrc.h"
+ line="84"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="src" transfer-ownership="none">
+ <type name="AudioSrc" c:type="GstAudioSrc*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <field name="element">
+ <type name="AudioBaseSrc" c:type="GstAudioBaseSrc"/>
+ </field>
+ <field name="thread" readable="0" private="1">
+ <type name="GLib.Thread" c:type="GThread*"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="AudioSrcClass"
+ c:type="GstAudioSrcClass"
+ glib:is-gtype-struct-for="AudioSrc">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiosrc.h"
+ line="60">#GstAudioSrc class. Override the vmethod to implement
+functionality.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudiosrc.h" line="97"/>
+ <field name="parent_class">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiosrc.h"
+ line="62">the parent class.</doc>
+ <type name="AudioBaseSrcClass" c:type="GstAudioBaseSrcClass"/>
+ </field>
+ <field name="open">
+ <callback name="open">
+ <source-position filename="gst-libs/gst/audio/gstaudiosrc.h"
+ line="80"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <type name="AudioSrc" c:type="GstAudioSrc*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="prepare">
+ <callback name="prepare">
+ <source-position filename="gst-libs/gst/audio/gstaudiosrc.h"
+ line="82"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <type name="AudioSrc" c:type="GstAudioSrc*"/>
+ </parameter>
+ <parameter name="spec" transfer-ownership="none">
+ <type name="AudioRingBufferSpec"
+ c:type="GstAudioRingBufferSpec*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="unprepare">
+ <callback name="unprepare">
+ <source-position filename="gst-libs/gst/audio/gstaudiosrc.h"
+ line="84"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <type name="AudioSrc" c:type="GstAudioSrc*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="close">
+ <callback name="close">
+ <source-position filename="gst-libs/gst/audio/gstaudiosrc.h"
+ line="86"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <type name="AudioSrc" c:type="GstAudioSrc*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="read">
+ <callback name="read">
+ <source-position filename="gst-libs/gst/audio/gstaudiosrc.h"
+ line="88"/>
+ <return-value transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <type name="AudioSrc" c:type="GstAudioSrc*"/>
+ </parameter>
+ <parameter name="data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="length" transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="timestamp" transfer-ownership="none">
+ <type name="Gst.ClockTime" c:type="GstClockTime*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="delay">
+ <callback name="delay">
+ <source-position filename="gst-libs/gst/audio/gstaudiosrc.h"
+ line="91"/>
+ <return-value transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <type name="AudioSrc" c:type="GstAudioSrc*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="reset">
+ <callback name="reset">
+ <source-position filename="gst-libs/gst/audio/gstaudiosrc.h"
+ line="93"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <type name="AudioSrc" c:type="GstAudioSrc*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="AudioStreamAlign"
+ c:type="GstAudioStreamAlign"
+ version="1.14"
+ glib:type-name="GstAudioStreamAlign"
+ glib:get-type="gst_audio_stream_align_get_type"
+ c:symbol-prefix="audio_stream_align">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiostreamalign.c"
+ line="28">#GstAudioStreamAlign provides a helper object that helps tracking audio
+stream alignment and discontinuities, and detects discontinuities if
+possible.
+
+See gst_audio_stream_align_new() for a description of its parameters and
+gst_audio_stream_align_process() for the details of the processing.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudiostreamalign.h"
+ line="39"/>
+ <constructor name="new"
+ c:identifier="gst_audio_stream_align_new"
+ version="1.14">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiostreamalign.c"
+ line="60">Allocate a new #GstAudioStreamAlign with the given configuration. All
+processing happens according to sample rate @rate, until
+gst_audio_stream_align_set_rate() is called with a new @rate.
+A negative rate can be used for reverse playback.
+
+@alignment_threshold gives the tolerance in nanoseconds after which a
+timestamp difference is considered a discontinuity. Once detected,
+@discont_wait nanoseconds have to pass without going below the threshold
+again until the output buffer is marked as a discontinuity. These can later
+be re-configured with gst_audio_stream_align_set_alignment_threshold() and
+gst_audio_stream_align_set_discont_wait().</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudiostreamalign.h"
+ line="45"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiostreamalign.c"
+ line="78">a new #GstAudioStreamAlign. free with gst_audio_stream_align_free().</doc>
+ <type name="AudioStreamAlign" c:type="GstAudioStreamAlign*"/>
+ </return-value>
+ <parameters>
+ <parameter name="rate" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiostreamalign.c"
+ line="62">a sample rate</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="alignment_threshold" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiostreamalign.c"
+ line="63">a alignment threshold in nanoseconds</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="discont_wait" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiostreamalign.c"
+ line="64">discont wait in nanoseconds</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <method name="copy"
+ c:identifier="gst_audio_stream_align_copy"
+ version="1.14">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiostreamalign.c"
+ line="102">Copy a GstAudioStreamAlign structure.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudiostreamalign.h"
+ line="49"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiostreamalign.c"
+ line="108">a new #GstAudioStreamAlign. free with gst_audio_stream_align_free.</doc>
+ <type name="AudioStreamAlign" c:type="GstAudioStreamAlign*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="align" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiostreamalign.c"
+ line="104">a #GstAudioStreamAlign</doc>
+ <type name="AudioStreamAlign" c:type="const GstAudioStreamAlign*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="free"
+ c:identifier="gst_audio_stream_align_free"
+ version="1.14">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiostreamalign.c"
+ line="125">Free a GstAudioStreamAlign structure previously allocated with gst_audio_stream_align_new()
+or gst_audio_stream_align_copy().</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudiostreamalign.h"
+ line="51"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="align" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiostreamalign.c"
+ line="127">a #GstAudioStreamAlign</doc>
+ <type name="AudioStreamAlign" c:type="GstAudioStreamAlign*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_alignment_threshold"
+ c:identifier="gst_audio_stream_align_get_alignment_threshold"
+ version="1.14">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiostreamalign.c"
+ line="200">Gets the currently configured alignment threshold.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudiostreamalign.h"
+ line="63"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiostreamalign.c"
+ line="206">The currently configured alignment threshold</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="align" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiostreamalign.c"
+ line="202">a #GstAudioStreamAlign</doc>
+ <type name="AudioStreamAlign" c:type="GstAudioStreamAlign*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_discont_wait"
+ c:identifier="gst_audio_stream_align_get_discont_wait"
+ version="1.14">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiostreamalign.c"
+ line="236">Gets the currently configured discont wait.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudiostreamalign.h"
+ line="69"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiostreamalign.c"
+ line="242">The currently configured discont wait</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="align" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiostreamalign.c"
+ line="238">a #GstAudioStreamAlign</doc>
+ <type name="AudioStreamAlign" c:type="GstAudioStreamAlign*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_rate"
+ c:identifier="gst_audio_stream_align_get_rate"
+ version="1.14">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiostreamalign.c"
+ line="164">Gets the currently configured sample rate.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudiostreamalign.h"
+ line="57"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiostreamalign.c"
+ line="170">The currently configured sample rate</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="align" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiostreamalign.c"
+ line="166">a #GstAudioStreamAlign</doc>
+ <type name="AudioStreamAlign" c:type="GstAudioStreamAlign*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_samples_since_discont"
+ c:identifier="gst_audio_stream_align_get_samples_since_discont"
+ version="1.14">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiostreamalign.c"
+ line="290">Returns the number of samples that were processed since the last
+discontinuity was detected.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudiostreamalign.h"
+ line="79"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiostreamalign.c"
+ line="297">The number of samples processed since the last discontinuity.</doc>
+ <type name="guint64" c:type="guint64"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="align" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiostreamalign.c"
+ line="292">a #GstAudioStreamAlign</doc>
+ <type name="AudioStreamAlign" c:type="GstAudioStreamAlign*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_timestamp_at_discont"
+ c:identifier="gst_audio_stream_align_get_timestamp_at_discont"
+ version="1.14">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiostreamalign.c"
+ line="271">Timestamp that was passed when a discontinuity was detected, i.e. the first
+timestamp after the discontinuity.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudiostreamalign.h"
+ line="76"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiostreamalign.c"
+ line="278">The last timestamp at when a discontinuity was detected</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="align" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiostreamalign.c"
+ line="273">a #GstAudioStreamAlign</doc>
+ <type name="AudioStreamAlign" c:type="GstAudioStreamAlign*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="mark_discont"
+ c:identifier="gst_audio_stream_align_mark_discont"
+ version="1.14">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiostreamalign.c"
+ line="254">Marks the next buffer as discontinuous and resets timestamp tracking.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudiostreamalign.h"
+ line="73"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="align" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiostreamalign.c"
+ line="256">a #GstAudioStreamAlign</doc>
+ <type name="AudioStreamAlign" c:type="GstAudioStreamAlign*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="process"
+ c:identifier="gst_audio_stream_align_process"
+ version="1.14">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiostreamalign.c"
+ line="309">Processes data with @timestamp and @n_samples, and returns the output
+timestamp, duration and sample position together with a boolean to signal
+whether a discontinuity was detected or not. All non-discontinuous data
+will have perfect timestamps and durations.
+
+A discontinuity is detected once the difference between the actual
+timestamp and the timestamp calculated from the sample count since the last
+discontinuity differs by more than the alignment threshold for a duration
+longer than discont wait.
+
+Note: In reverse playback, every buffer is considered discontinuous in the
+context of buffer flags because the last sample of the previous buffer is
+discontinuous with the first sample of the current one. However for this
+function they are only considered discontinuous in reverse playback if the
+first sample of the previous buffer is discontinuous with the last sample
+of the current one.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudiostreamalign.h"
+ line="82"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiostreamalign.c"
+ line="336">%TRUE if a discontinuity was detected, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="align" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiostreamalign.c"
+ line="311">a #GstAudioStreamAlign</doc>
+ <type name="AudioStreamAlign" c:type="GstAudioStreamAlign*"/>
+ </instance-parameter>
+ <parameter name="discont" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiostreamalign.c"
+ line="312">if this data is considered to be discontinuous</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ <parameter name="timestamp" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiostreamalign.c"
+ line="313">a #GstClockTime of the start of the data</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="n_samples" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiostreamalign.c"
+ line="314">number of samples to process</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="out_timestamp"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiostreamalign.c"
+ line="315">output timestamp of the data</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime*"/>
+ </parameter>
+ <parameter name="out_duration"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiostreamalign.c"
+ line="316">output duration of the data</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime*"/>
+ </parameter>
+ <parameter name="out_sample_position"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiostreamalign.c"
+ line="317">output sample position of the start of the data</doc>
+ <type name="guint64" c:type="guint64*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_alignment_threshold"
+ c:identifier="gst_audio_stream_align_set_alignment_threshold"
+ version="1.14">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiostreamalign.c"
+ line="182">Sets @alignment_treshold as new alignment threshold for the following processing.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudiostreamalign.h"
+ line="60"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="align" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiostreamalign.c"
+ line="184">a #GstAudioStreamAlign</doc>
+ <type name="AudioStreamAlign" c:type="GstAudioStreamAlign*"/>
+ </instance-parameter>
+ <parameter name="alignment_threshold" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiostreamalign.c"
+ line="185">a new alignment threshold</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_discont_wait"
+ c:identifier="gst_audio_stream_align_set_discont_wait"
+ version="1.14">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiostreamalign.c"
+ line="218">Sets @alignment_treshold as new discont wait for the following processing.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudiostreamalign.h"
+ line="66"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="align" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiostreamalign.c"
+ line="220">a #GstAudioStreamAlign</doc>
+ <type name="AudioStreamAlign" c:type="GstAudioStreamAlign*"/>
+ </instance-parameter>
+ <parameter name="discont_wait" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiostreamalign.c"
+ line="221">a new discont wait</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_rate"
+ c:identifier="gst_audio_stream_align_set_rate"
+ version="1.14">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiostreamalign.c"
+ line="141">Sets @rate as new sample rate for the following processing. If the sample
+rate differs this implicitly marks the next data as discontinuous.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudiostreamalign.h"
+ line="54"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="align" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiostreamalign.c"
+ line="143">a #GstAudioStreamAlign</doc>
+ <type name="AudioStreamAlign" c:type="GstAudioStreamAlign*"/>
+ </instance-parameter>
+ <parameter name="rate" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiostreamalign.c"
+ line="144">a new sample rate</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ </record>
+ <function-macro name="CLOCK_TIME_TO_FRAMES"
+ c:identifier="GST_CLOCK_TIME_TO_FRAMES"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio.h"
+ line="52">Calculate frames from @clocktime and sample @rate.</doc>
+ <source-position filename="gst-libs/gst/audio/audio.h" line="59"/>
+ <parameters>
+ <parameter name="clocktime">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio.h"
+ line="54">clock time</doc>
+ </parameter>
+ <parameter name="rate">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio.h"
+ line="55">sampling rate</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="FRAMES_TO_CLOCK_TIME"
+ c:identifier="GST_FRAMES_TO_CLOCK_TIME"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio.h"
+ line="42">Calculate clocktime from sample @frames and @rate.</doc>
+ <source-position filename="gst-libs/gst/audio/audio.h" line="49"/>
+ <parameters>
+ <parameter name="frames">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio.h"
+ line="44">sample frames</doc>
+ </parameter>
+ <parameter name="rate">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio.h"
+ line="45">sampling rate</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_AUDIO_AGGREGATOR"
+ c:identifier="GST_IS_AUDIO_AGGREGATOR"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/gstaudioaggregator.h"
+ line="166"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_AUDIO_AGGREGATOR_CLASS"
+ c:identifier="GST_IS_AUDIO_AGGREGATOR_CLASS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/gstaudioaggregator.h"
+ line="167"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_AUDIO_AGGREGATOR_CONVERT_PAD"
+ c:identifier="GST_IS_AUDIO_AGGREGATOR_CONVERT_PAD"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/gstaudioaggregator.h"
+ line="112"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_AUDIO_AGGREGATOR_CONVERT_PAD_CLASS"
+ c:identifier="GST_IS_AUDIO_AGGREGATOR_CONVERT_PAD_CLASS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/gstaudioaggregator.h"
+ line="113"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_AUDIO_AGGREGATOR_PAD"
+ c:identifier="GST_IS_AUDIO_AGGREGATOR_PAD"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/gstaudioaggregator.h"
+ line="49"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_AUDIO_AGGREGATOR_PAD_CLASS"
+ c:identifier="GST_IS_AUDIO_AGGREGATOR_PAD_CLASS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/gstaudioaggregator.h"
+ line="50"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_AUDIO_BASE_SINK"
+ c:identifier="GST_IS_AUDIO_BASE_SINK"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/gstaudiobasesink.h"
+ line="65"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_AUDIO_BASE_SINK_CLASS"
+ c:identifier="GST_IS_AUDIO_BASE_SINK_CLASS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/gstaudiobasesink.h"
+ line="66"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_AUDIO_BASE_SRC"
+ c:identifier="GST_IS_AUDIO_BASE_SRC"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/gstaudiobasesrc.h"
+ line="43"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_AUDIO_BASE_SRC_CLASS"
+ c:identifier="GST_IS_AUDIO_BASE_SRC_CLASS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/gstaudiobasesrc.h"
+ line="44"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_AUDIO_CD_SRC"
+ c:identifier="GST_IS_AUDIO_CD_SRC"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/gstaudiocdsrc.h"
+ line="35"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_AUDIO_CD_SRC_CLASS"
+ c:identifier="GST_IS_AUDIO_CD_SRC_CLASS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/gstaudiocdsrc.h"
+ line="36"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_AUDIO_CLOCK"
+ c:identifier="GST_IS_AUDIO_CLOCK"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/gstaudioclock.h"
+ line="40"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_AUDIO_CLOCK_CLASS"
+ c:identifier="GST_IS_AUDIO_CLOCK_CLASS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/gstaudioclock.h"
+ line="42"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_AUDIO_DECODER"
+ c:identifier="GST_IS_AUDIO_DECODER"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/gstaudiodecoder.h"
+ line="43"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_AUDIO_DECODER_CLASS"
+ c:identifier="GST_IS_AUDIO_DECODER_CLASS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/gstaudiodecoder.h"
+ line="45"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_AUDIO_ENCODER"
+ c:identifier="GST_IS_AUDIO_ENCODER"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/gstaudioencoder.h"
+ line="37"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_AUDIO_ENCODER_CLASS"
+ c:identifier="GST_IS_AUDIO_ENCODER_CLASS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/gstaudioencoder.h"
+ line="38"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_AUDIO_FILTER"
+ c:identifier="GST_IS_AUDIO_FILTER"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/gstaudiofilter.h"
+ line="46"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_AUDIO_FILTER_CLASS"
+ c:identifier="GST_IS_AUDIO_FILTER_CLASS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/gstaudiofilter.h"
+ line="48"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_AUDIO_RING_BUFFER"
+ c:identifier="GST_IS_AUDIO_RING_BUFFER"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="37"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_AUDIO_RING_BUFFER_CLASS"
+ c:identifier="GST_IS_AUDIO_RING_BUFFER_CLASS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/gstaudioringbuffer.h"
+ line="38"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_AUDIO_SINK"
+ c:identifier="GST_IS_AUDIO_SINK"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/gstaudiosink.h" line="39"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_AUDIO_SINK_CLASS"
+ c:identifier="GST_IS_AUDIO_SINK_CLASS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/gstaudiosink.h" line="40"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_AUDIO_SRC"
+ c:identifier="GST_IS_AUDIO_SRC"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/gstaudiosrc.h" line="39"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_AUDIO_SRC_CLASS"
+ c:identifier="GST_IS_AUDIO_SRC_CLASS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/gstaudiosrc.h" line="40"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <constant name="META_TAG_AUDIO_CHANNELS_STR"
+ value="channels"
+ c:type="GST_META_TAG_AUDIO_CHANNELS_STR"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio.h"
+ line="72">This metadata stays relevant as long as channels are unchanged.</doc>
+ <source-position filename="gst-libs/gst/audio/audio.h" line="79"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="META_TAG_AUDIO_RATE_STR"
+ value="rate"
+ c:type="GST_META_TAG_AUDIO_RATE_STR"
+ version="1.8">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio.h"
+ line="81">This metadata stays relevant as long as sample rate is unchanged.</doc>
+ <source-position filename="gst-libs/gst/audio/audio.h" line="88"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="META_TAG_AUDIO_STR"
+ value="audio"
+ c:type="GST_META_TAG_AUDIO_STR"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio.h"
+ line="64">This metadata is relevant for audio streams.</doc>
+ <source-position filename="gst-libs/gst/audio/audio.h" line="71"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <function-macro name="STREAM_VOLUME_GET_INTERFACE"
+ c:identifier="GST_STREAM_VOLUME_GET_INTERFACE"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/streamvolume.h" line="33"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <interface name="StreamVolume"
+ c:symbol-prefix="stream_volume"
+ c:type="GstStreamVolume"
+ glib:type-name="GstStreamVolume"
+ glib:get-type="gst_stream_volume_get_type"
+ glib:type-struct="StreamVolumeInterface">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/streamvolume.c"
+ line="20">This interface is implemented by elements that provide a stream volume. Examples for
+such elements are #volume and #playbin.
+
+Applications can use this interface to get or set the current stream volume. For this
+the "volume" #GObject property can be used or the helper functions gst_stream_volume_set_volume()
+and gst_stream_volume_get_volume(). This volume is always a linear factor, i.e. 0.0 is muted
+1.0 is 100%. For showing the volume in a GUI it might make sense to convert it to
+a different format by using gst_stream_volume_convert_volume(). Volume sliders should usually
+use a cubic volume.
+
+Separate from the volume the stream can also be muted by the "mute" #GObject property or
+gst_stream_volume_set_mute() and gst_stream_volume_get_mute().
+
+Elements that provide some kind of stream volume should implement the "volume" and
+"mute" #GObject properties and handle setting and getting of them properly.
+The volume property is defined to be a linear volume factor.</doc>
+ <source-position filename="gst-libs/gst/audio/streamvolume.h" line="37"/>
+ <function name="convert_volume"
+ c:identifier="gst_stream_volume_convert_volume">
+ <source-position filename="gst-libs/gst/audio/streamvolume.h"
+ line="74"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/streamvolume.c"
+ line="170">the converted volume</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </return-value>
+ <parameters>
+ <parameter name="from" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/streamvolume.c"
+ line="166">#GstStreamVolumeFormat to convert from</doc>
+ <type name="StreamVolumeFormat" c:type="GstStreamVolumeFormat"/>
+ </parameter>
+ <parameter name="to" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/streamvolume.c"
+ line="167">#GstStreamVolumeFormat to convert to</doc>
+ <type name="StreamVolumeFormat" c:type="GstStreamVolumeFormat"/>
+ </parameter>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/streamvolume.c"
+ line="168">Volume in @from format that should be converted</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </parameter>
+ </parameters>
+ </function>
+ <method name="get_mute" c:identifier="gst_stream_volume_get_mute">
+ <source-position filename="gst-libs/gst/audio/streamvolume.h"
+ line="71"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/streamvolume.c"
+ line="138">Returns %TRUE if the stream is muted</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="volume" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/streamvolume.c"
+ line="136">#GstStreamVolume that should be used</doc>
+ <type name="StreamVolume" c:type="GstStreamVolume*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_volume" c:identifier="gst_stream_volume_get_volume">
+ <source-position filename="gst-libs/gst/audio/streamvolume.h"
+ line="63"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/streamvolume.c"
+ line="97">The current stream volume as linear factor</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="volume" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/streamvolume.c"
+ line="94">#GstStreamVolume that should be used</doc>
+ <type name="StreamVolume" c:type="GstStreamVolume*"/>
+ </instance-parameter>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/streamvolume.c"
+ line="95">#GstStreamVolumeFormat which should be returned</doc>
+ <type name="StreamVolumeFormat" c:type="GstStreamVolumeFormat"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_mute" c:identifier="gst_stream_volume_set_mute">
+ <source-position filename="gst-libs/gst/audio/streamvolume.h"
+ line="67"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="volume" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/streamvolume.c"
+ line="153">#GstStreamVolume that should be used</doc>
+ <type name="StreamVolume" c:type="GstStreamVolume*"/>
+ </instance-parameter>
+ <parameter name="mute" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/streamvolume.c"
+ line="154">Mute state that should be set</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_volume" c:identifier="gst_stream_volume_set_volume">
+ <source-position filename="gst-libs/gst/audio/streamvolume.h"
+ line="58"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="volume" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/streamvolume.c"
+ line="117">#GstStreamVolume that should be used</doc>
+ <type name="StreamVolume" c:type="GstStreamVolume*"/>
+ </instance-parameter>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/streamvolume.c"
+ line="118">#GstStreamVolumeFormat of @val</doc>
+ <type name="StreamVolumeFormat" c:type="GstStreamVolumeFormat"/>
+ </parameter>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/streamvolume.c"
+ line="119">Linear volume factor that should be set</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="mute" writable="1" transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </property>
+ <property name="volume" writable="1" transfer-ownership="none">
+ <type name="gdouble" c:type="gdouble"/>
+ </property>
+ </interface>
+ <enumeration name="StreamVolumeFormat" c:type="GstStreamVolumeFormat">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/streamvolume.h"
+ line="39">Different representations of a stream volume. gst_stream_volume_convert_volume()
+allows to convert between the different representations.
+
+Formulas to convert from a linear to a cubic or dB volume are
+cbrt(val) and 20 * log10 (val).</doc>
+ <source-position filename="gst-libs/gst/audio/streamvolume.h" line="55"/>
+ <member name="linear"
+ value="0"
+ c:identifier="GST_STREAM_VOLUME_FORMAT_LINEAR">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/streamvolume.h"
+ line="41">Linear scale factor, 1.0 = 100%</doc>
+ </member>
+ <member name="cubic"
+ value="1"
+ c:identifier="GST_STREAM_VOLUME_FORMAT_CUBIC">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/streamvolume.h"
+ line="42">Cubic volume scale</doc>
+ </member>
+ <member name="db" value="2" c:identifier="GST_STREAM_VOLUME_FORMAT_DB">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/streamvolume.h"
+ line="43">Logarithmic volume scale (dB, amplitude not power)</doc>
+ </member>
+ </enumeration>
+ <record name="StreamVolumeInterface"
+ c:type="GstStreamVolumeInterface"
+ glib:is-gtype-struct-for="StreamVolume">
+ <source-position filename="gst-libs/gst/audio/streamvolume.h" line="37"/>
+ <field name="iface">
+ <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
+ </field>
+ </record>
+ <function name="audio_buffer_clip"
+ c:identifier="gst_audio_buffer_clip"
+ moved-to="AudioBuffer.clip">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio.c"
+ line="58">Clip the buffer to the given %GstSegment.
+
+After calling this function the caller does not own a reference to
+@buffer anymore.</doc>
+ <source-position filename="gst-libs/gst/audio/audio.h" line="96"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio.c"
+ line="72">%NULL if the buffer is completely outside the configured segment,
+otherwise the clipped buffer is returned.
+
+If the buffer has no timestamp, it is assumed to be inside the segment and
+is not clipped</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio.c"
+ line="60">The buffer to clip.</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="segment" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio.c"
+ line="61">Segment in %GST_FORMAT_TIME or %GST_FORMAT_DEFAULT to which
+ the buffer should be clipped.</doc>
+ <type name="Gst.Segment" c:type="const GstSegment*"/>
+ </parameter>
+ <parameter name="rate" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio.c"
+ line="63">sample rate.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="bpf" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio.c"
+ line="64">size of one audio frame in bytes. This is the size of one sample *
+number of channels.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="audio_buffer_reorder_channels"
+ c:identifier="gst_audio_buffer_reorder_channels"
+ moved-to="AudioBuffer.reorder_channels">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channels.c"
+ line="278">Reorders @buffer from the channel positions @from to the channel
+positions @to. @from and @to must contain the same number of
+positions and the same positions, only in a different order.
+@buffer must be writable.</doc>
+ <source-position filename="gst-libs/gst/audio/audio-channels.h"
+ line="135"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channels.c"
+ line="291">%TRUE if the reordering was possible.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channels.c"
+ line="280">The buffer to reorder.</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channels.c"
+ line="281">The %GstAudioFormat of the buffer.</doc>
+ <type name="AudioFormat" c:type="GstAudioFormat"/>
+ </parameter>
+ <parameter name="channels" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channels.c"
+ line="282">The number of channels.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="from" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channels.c"
+ line="283">The channel positions in the buffer.</doc>
+ <array length="2"
+ zero-terminated="0"
+ c:type="const GstAudioChannelPosition*">
+ <type name="AudioChannelPosition"
+ c:type="GstAudioChannelPosition"/>
+ </array>
+ </parameter>
+ <parameter name="to" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channels.c"
+ line="284">The channel positions to convert to.</doc>
+ <array length="2"
+ zero-terminated="0"
+ c:type="const GstAudioChannelPosition*">
+ <type name="AudioChannelPosition"
+ c:type="GstAudioChannelPosition"/>
+ </array>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="audio_buffer_truncate"
+ c:identifier="gst_audio_buffer_truncate"
+ moved-to="AudioBuffer.truncate"
+ version="1.16">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio.c"
+ line="247">Truncate the buffer to finally have @samples number of samples, removing
+the necessary amount of samples from the end and @trim number of samples
+from the beginning.
+
+After calling this function the caller does not own a reference to
+@buffer anymore.</doc>
+ <source-position filename="gst-libs/gst/audio/audio.h" line="101"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio.c"
+ line="264">the truncated buffer or %NULL if the arguments
+ were invalid</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio.c"
+ line="249">The buffer to truncate.</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="bpf" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio.c"
+ line="250">size of one audio frame in bytes. This is the size of one sample *
+number of channels.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="trim" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio.c"
+ line="252">the number of samples to remove from the beginning of the buffer</doc>
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ <parameter name="samples" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio.c"
+ line="253">the final number of samples that should exist in this buffer or -1
+to use all the remaining samples if you are only removing samples from the
+beginning.</doc>
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="audio_channel_get_fallback_mask"
+ c:identifier="gst_audio_channel_get_fallback_mask"
+ version="1.8">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channels.c"
+ line="568">Get the fallback channel-mask for the given number of channels.
+
+This function returns a reasonable fallback channel-mask and should be
+called as a last resort when the specific channel map is unknown.</doc>
+ <source-position filename="gst-libs/gst/audio/audio-channels.h"
+ line="172"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channels.c"
+ line="577">a fallback channel-mask for @channels or 0 when there is no
+mask and mono.</doc>
+ <type name="guint64" c:type="guint64"/>
+ </return-value>
+ <parameters>
+ <parameter name="channels" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channels.c"
+ line="570">the number of channels</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="audio_channel_mixer_new"
+ c:identifier="gst_audio_channel_mixer_new"
+ moved-to="AudioChannelMixer.new"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channel-mixer.c"
+ line="973">Create a new channel mixer object for the given parameters.</doc>
+ <source-position filename="gst-libs/gst/audio/audio-channel-mixer.h"
+ line="50"/>
+ <return-value>
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channel-mixer.c"
+ line="983">a new #GstAudioChannelMixer object, or %NULL if @format isn't supported.
+ Free with gst_audio_channel_mixer_free() after usage.</doc>
+ <type name="AudioChannelMixer" c:type="GstAudioChannelMixer*"/>
+ </return-value>
+ <parameters>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channel-mixer.c"
+ line="975">#GstAudioChannelMixerFlags</doc>
+ <type name="AudioChannelMixerFlags"
+ c:type="GstAudioChannelMixerFlags"/>
+ </parameter>
+ <parameter name="format" transfer-ownership="none">
+ <type name="AudioFormat" c:type="GstAudioFormat"/>
+ </parameter>
+ <parameter name="in_channels" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channel-mixer.c"
+ line="976">number of input channels</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="in_position" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channel-mixer.c"
+ line="977">positions of input channels</doc>
+ <type name="AudioChannelPosition" c:type="GstAudioChannelPosition*"/>
+ </parameter>
+ <parameter name="out_channels" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channel-mixer.c"
+ line="978">number of output channels</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="out_position" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channel-mixer.c"
+ line="979">positions of output channels</doc>
+ <type name="AudioChannelPosition" c:type="GstAudioChannelPosition*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="audio_channel_mixer_new_with_matrix"
+ c:identifier="gst_audio_channel_mixer_new_with_matrix"
+ moved-to="AudioChannelMixer.new_with_matrix"
+ version="1.14"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channel-mixer.c"
+ line="809">Create a new channel mixer object for the given parameters.</doc>
+ <source-position filename="gst-libs/gst/audio/audio-channel-mixer.h"
+ line="58"/>
+ <return-value>
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channel-mixer.c"
+ line="820">a new #GstAudioChannelMixer object, or %NULL if @format isn't supported,
+ @matrix is invalid, or @matrix is %NULL and @in_channels != @out_channels.
+ Free with gst_audio_channel_mixer_free() after usage.</doc>
+ <type name="AudioChannelMixer" c:type="GstAudioChannelMixer*"/>
+ </return-value>
+ <parameters>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channel-mixer.c"
+ line="811">#GstAudioChannelMixerFlags</doc>
+ <type name="AudioChannelMixerFlags"
+ c:type="GstAudioChannelMixerFlags"/>
+ </parameter>
+ <parameter name="format" transfer-ownership="none">
+ <type name="AudioFormat" c:type="GstAudioFormat"/>
+ </parameter>
+ <parameter name="in_channels" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channel-mixer.c"
+ line="812">number of input channels</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="out_channels" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channel-mixer.c"
+ line="813">number of output channels</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="matrix"
+ transfer-ownership="full"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channel-mixer.c"
+ line="814">channel conversion matrix, m[@in_channels][@out_channels].
+ If identity matrix, passthrough applies. If %NULL, a (potentially truncated)
+ identity matrix is generated.</doc>
+ <type name="gfloat" c:type="gfloat**"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="audio_channel_positions_from_mask"
+ c:identifier="gst_audio_channel_positions_from_mask">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channels.c"
+ line="367">Convert the @channels present in @channel_mask to a @position array
+(which should have at least @channels entries ensured by caller).
+If @channel_mask is set to 0, it is considered as 'not present' for purpose
+of conversion.
+A partially valid @channel_mask with less bits set than the number
+of channels is considered valid.</doc>
+ <source-position filename="gst-libs/gst/audio/audio-channels.h"
+ line="162"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channels.c"
+ line="381">%TRUE if channel and channel mask are valid and could be converted</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="channels" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channels.c"
+ line="369">The number of channels</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="channel_mask" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channels.c"
+ line="370">The input channel_mask</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ <parameter name="position" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channels.c"
+ line="371">The
+ %GstAudioChannelPosition&lt;!-- --&gt;s</doc>
+ <array length="0"
+ zero-terminated="0"
+ c:type="GstAudioChannelPosition*">
+ <type name="AudioChannelPosition"
+ c:type="GstAudioChannelPosition"/>
+ </array>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="audio_channel_positions_to_mask"
+ c:identifier="gst_audio_channel_positions_to_mask">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channels.c"
+ line="345">Convert the @position array of @channels channels to a bitmask.
+
+If @force_order is %TRUE it additionally checks if the channels are
+in the order required by GStreamer.</doc>
+ <source-position filename="gst-libs/gst/audio/audio-channels.h"
+ line="157"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channels.c"
+ line="357">%TRUE if the channel positions are valid and could be converted.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="position" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channels.c"
+ line="347">The %GstAudioChannelPositions</doc>
+ <array length="1"
+ zero-terminated="0"
+ c:type="const GstAudioChannelPosition*">
+ <type name="AudioChannelPosition"
+ c:type="GstAudioChannelPosition"/>
+ </array>
+ </parameter>
+ <parameter name="channels" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channels.c"
+ line="348">The number of channels.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="force_order" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channels.c"
+ line="349">Only consider the GStreamer channel order.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ <parameter name="channel_mask"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channels.c"
+ line="350">the output channel mask</doc>
+ <type name="guint64" c:type="guint64*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="audio_channel_positions_to_string"
+ c:identifier="gst_audio_channel_positions_to_string"
+ version="1.10">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channels.c"
+ line="666">Converts @position to a human-readable string representation for
+debugging purposes.</doc>
+ <source-position filename="gst-libs/gst/audio/audio-channels.h"
+ line="175"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channels.c"
+ line="675">a newly allocated string representing
+@position</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="position" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channels.c"
+ line="668">The %GstAudioChannelPositions
+ to convert.</doc>
+ <array length="1"
+ zero-terminated="0"
+ c:type="const GstAudioChannelPosition*">
+ <type name="AudioChannelPosition"
+ c:type="GstAudioChannelPosition"/>
+ </array>
+ </parameter>
+ <parameter name="channels" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channels.c"
+ line="670">The number of channels.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="audio_channel_positions_to_valid_order"
+ c:identifier="gst_audio_channel_positions_to_valid_order">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channels.c"
+ line="491">Reorders the channel positions in @position from any order to
+the GStreamer channel order.</doc>
+ <source-position filename="gst-libs/gst/audio/audio-channels.h"
+ line="149"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channels.c"
+ line="500">%TRUE if the channel positions are valid and reordering
+was successful.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="position" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channels.c"
+ line="493">The channel positions to
+ reorder to.</doc>
+ <array length="1"
+ zero-terminated="0"
+ c:type="GstAudioChannelPosition*">
+ <type name="AudioChannelPosition"
+ c:type="GstAudioChannelPosition"/>
+ </array>
+ </parameter>
+ <parameter name="channels" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channels.c"
+ line="495">The number of channels.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="audio_check_valid_channel_positions"
+ c:identifier="gst_audio_check_valid_channel_positions">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channels.c"
+ line="325">Checks if @position contains valid channel positions for
+@channels channels. If @force_order is %TRUE it additionally
+checks if the channels are in the order required by GStreamer.</doc>
+ <source-position filename="gst-libs/gst/audio/audio-channels.h"
+ line="153"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channels.c"
+ line="336">%TRUE if the channel positions are valid.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="position" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channels.c"
+ line="327">The %GstAudioChannelPositions
+ to check.</doc>
+ <array length="1"
+ zero-terminated="0"
+ c:type="const GstAudioChannelPosition*">
+ <type name="AudioChannelPosition"
+ c:type="GstAudioChannelPosition"/>
+ </array>
+ </parameter>
+ <parameter name="channels" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channels.c"
+ line="329">The number of channels.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="force_order" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channels.c"
+ line="330">Only consider the GStreamer channel order.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="audio_clipping_meta_api_get_type"
+ c:identifier="gst_audio_clipping_meta_api_get_type">
+ <source-position filename="gst-libs/gst/audio/gstaudiometa.h"
+ line="115"/>
+ <return-value transfer-ownership="none">
+ <type name="GType" c:type="GType"/>
+ </return-value>
+ </function>
+ <function name="audio_clipping_meta_get_info"
+ c:identifier="gst_audio_clipping_meta_get_info"
+ moved-to="AudioClippingMeta.get_info">
+ <source-position filename="gst-libs/gst/audio/gstaudiometa.h"
+ line="118"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.MetaInfo" c:type="const GstMetaInfo*"/>
+ </return-value>
+ </function>
+ <function name="audio_downmix_meta_api_get_type"
+ c:identifier="gst_audio_downmix_meta_api_get_type">
+ <source-position filename="gst-libs/gst/audio/gstaudiometa.h" line="60"/>
+ <return-value transfer-ownership="none">
+ <type name="GType" c:type="GType"/>
+ </return-value>
+ </function>
+ <function name="audio_downmix_meta_get_info"
+ c:identifier="gst_audio_downmix_meta_get_info"
+ moved-to="AudioDownmixMeta.get_info">
+ <source-position filename="gst-libs/gst/audio/gstaudiometa.h" line="63"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.MetaInfo" c:type="const GstMetaInfo*"/>
+ </return-value>
+ </function>
+ <function name="audio_format_build_integer"
+ c:identifier="gst_audio_format_build_integer"
+ moved-to="AudioFormat.build_integer">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.c"
+ line="358">Construct a #GstAudioFormat with given parameters.</doc>
+ <source-position filename="gst-libs/gst/audio/audio-format.h"
+ line="275"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.c"
+ line="367">a #GstAudioFormat or GST_AUDIO_FORMAT_UNKNOWN when no audio format
+exists with the given parameters.</doc>
+ <type name="AudioFormat" c:type="GstAudioFormat"/>
+ </return-value>
+ <parameters>
+ <parameter name="sign" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.c"
+ line="360">signed or unsigned format</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ <parameter name="endianness" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.c"
+ line="361">G_LITTLE_ENDIAN or G_BIG_ENDIAN</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="width" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.c"
+ line="362">amount of bits used per sample</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="depth" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.c"
+ line="363">amount of used bits in @width</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="audio_format_fill_silence"
+ c:identifier="gst_audio_format_fill_silence"
+ moved-to="AudioFormat.fill_silence">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.c"
+ line="454">Fill @length bytes in @dest with silence samples for @info.</doc>
+ <source-position filename="gst-libs/gst/audio/audio-format.h"
+ line="289"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.c"
+ line="456">a #GstAudioFormatInfo</doc>
+ <type name="AudioFormatInfo" c:type="const GstAudioFormatInfo*"/>
+ </parameter>
+ <parameter name="dest" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.c"
+ line="457">a destination
+ to fill</doc>
+ <array length="2" zero-terminated="0" c:type="gpointer">
+ <type name="guint8"/>
+ </array>
+ </parameter>
+ <parameter name="length" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.c"
+ line="459">the length to fill</doc>
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="audio_format_from_string"
+ c:identifier="gst_audio_format_from_string"
+ moved-to="AudioFormat.from_string">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.c"
+ line="404">Convert the @format string to its #GstAudioFormat.</doc>
+ <source-position filename="gst-libs/gst/audio/audio-format.h"
+ line="279"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.c"
+ line="410">the #GstAudioFormat for @format or GST_AUDIO_FORMAT_UNKNOWN when the
+string is not a known format.</doc>
+ <type name="AudioFormat" c:type="GstAudioFormat"/>
+ </return-value>
+ <parameters>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.c"
+ line="406">a format string</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="audio_format_get_info"
+ c:identifier="gst_audio_format_get_info"
+ moved-to="AudioFormat.get_info">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.c"
+ line="438">Get the #GstAudioFormatInfo for @format</doc>
+ <source-position filename="gst-libs/gst/audio/audio-format.h"
+ line="286"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.c"
+ line="444">The #GstAudioFormatInfo for @format.</doc>
+ <type name="AudioFormatInfo" c:type="const GstAudioFormatInfo*"/>
+ </return-value>
+ <parameters>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.c"
+ line="440">a #GstAudioFormat</doc>
+ <type name="AudioFormat" c:type="GstAudioFormat"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="audio_format_info_get_type"
+ c:identifier="gst_audio_format_info_get_type">
+ <source-position filename="gst-libs/gst/audio/audio-format.h"
+ line="257"/>
+ <return-value transfer-ownership="none">
+ <type name="GType" c:type="GType"/>
+ </return-value>
+ </function>
+ <function name="audio_format_to_string"
+ c:identifier="gst_audio_format_to_string"
+ moved-to="AudioFormat.to_string">
+ <source-position filename="gst-libs/gst/audio/audio-format.h"
+ line="282"/>
+ <return-value transfer-ownership="none">
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="format" transfer-ownership="none">
+ <type name="AudioFormat" c:type="GstAudioFormat"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="audio_formats_raw"
+ c:identifier="gst_audio_formats_raw"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.c"
+ line="558">Return all the raw audio formats supported by GStreamer.</doc>
+ <source-position filename="gst-libs/gst/audio/audio-format.h"
+ line="357"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.c"
+ line="564">an array of #GstAudioFormat</doc>
+ <array length="0" zero-terminated="0" c:type="const GstAudioFormat*">
+ <type name="AudioFormat" c:type="GstAudioFormat"/>
+ </array>
+ </return-value>
+ <parameters>
+ <parameter name="len"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.c"
+ line="560">the number of elements in the returned array</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="audio_get_channel_reorder_map"
+ c:identifier="gst_audio_get_channel_reorder_map">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channels.c"
+ line="429">Returns a reorder map for @from to @to that can be used in
+custom channel reordering code, e.g. to convert from or to the
+GStreamer channel order. @from and @to must contain the same
+number of positions and the same positions, only in a
+different order.
+
+The resulting @reorder_map can be used for reordering by assigning
+channel i of the input to channel reorder_map[i] of the output.</doc>
+ <source-position filename="gst-libs/gst/audio/audio-channels.h"
+ line="166"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channels.c"
+ line="445">%TRUE if the channel positions are valid and reordering
+is possible.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="channels" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channels.c"
+ line="431">The number of channels.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="from" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channels.c"
+ line="432">The channel positions to reorder from.</doc>
+ <array length="0"
+ zero-terminated="0"
+ c:type="const GstAudioChannelPosition*">
+ <type name="AudioChannelPosition"
+ c:type="GstAudioChannelPosition"/>
+ </array>
+ </parameter>
+ <parameter name="to" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channels.c"
+ line="433">The channel positions to reorder to.</doc>
+ <array length="0"
+ zero-terminated="0"
+ c:type="const GstAudioChannelPosition*">
+ <type name="AudioChannelPosition"
+ c:type="GstAudioChannelPosition"/>
+ </array>
+ </parameter>
+ <parameter name="reorder_map" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channels.c"
+ line="434">Pointer to the reorder map.</doc>
+ <array length="0" zero-terminated="0" c:type="gint*">
+ <type name="gint" c:type="gint"/>
+ </array>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="audio_iec61937_frame_size"
+ c:identifier="gst_audio_iec61937_frame_size">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioiec61937.c"
+ line="65">Calculated the size of the buffer expected by gst_audio_iec61937_payload() for
+payloading type from @spec.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudioiec61937.h"
+ line="28"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioiec61937.c"
+ line="72">the size or 0 if the given @type is not supported or cannot be
+payloaded.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <parameter name="spec" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioiec61937.c"
+ line="67">the ringbufer spec</doc>
+ <type name="AudioRingBufferSpec"
+ c:type="const GstAudioRingBufferSpec*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="audio_iec61937_payload"
+ c:identifier="gst_audio_iec61937_payload">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioiec61937.c"
+ line="142">Payloads @src in the form specified by IEC 61937 for the type from @spec and
+stores the result in @dst. @src must contain exactly one frame of data and
+the frame is not checked for errors.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudioiec61937.h"
+ line="31"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioiec61937.c"
+ line="156">transfer-full: %TRUE if the payloading was successful, %FALSE
+otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioiec61937.c"
+ line="144">a buffer containing the data to payload</doc>
+ <array length="1" zero-terminated="0" c:type="const guint8*">
+ <type name="guint8" c:type="guint8"/>
+ </array>
+ </parameter>
+ <parameter name="src_n" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioiec61937.c"
+ line="145">size of @src in bytes</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="dst" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioiec61937.c"
+ line="146">the destination buffer to store the
+ payloaded contents in. Should not overlap with @src</doc>
+ <array length="3" zero-terminated="0" c:type="guint8*">
+ <type name="guint8" c:type="guint8"/>
+ </array>
+ </parameter>
+ <parameter name="dst_n" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioiec61937.c"
+ line="148">size of @dst in bytes</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="spec" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioiec61937.c"
+ line="149">the ringbufer spec for @src</doc>
+ <type name="AudioRingBufferSpec"
+ c:type="const GstAudioRingBufferSpec*"/>
+ </parameter>
+ <parameter name="endianness" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioiec61937.c"
+ line="150">the expected byte order of the payloaded data</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="audio_make_raw_caps"
+ c:identifier="gst_audio_make_raw_caps"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.c"
+ line="582">Return a generic raw audio caps for formats defined in @formats.
+If @formats is %NULL returns a caps for all the supported raw audio formats,
+see gst_audio_formats_raw().</doc>
+ <source-position filename="gst-libs/gst/audio/audio-format.h"
+ line="404"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.c"
+ line="592">an audio @GstCaps</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <parameter name="formats"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.c"
+ line="584">an array of raw #GstAudioFormat, or %NULL</doc>
+ <array length="1" zero-terminated="0" c:type="const GstAudioFormat*">
+ <type name="AudioFormat" c:type="GstAudioFormat"/>
+ </array>
+ </parameter>
+ <parameter name="len" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.c"
+ line="585">the size of @formats</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="layout" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-format.c"
+ line="586">the layout of audio samples</doc>
+ <type name="AudioLayout" c:type="GstAudioLayout"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="audio_meta_api_get_type"
+ c:identifier="gst_audio_meta_api_get_type">
+ <source-position filename="gst-libs/gst/audio/gstaudiometa.h"
+ line="188"/>
+ <return-value transfer-ownership="none">
+ <type name="GType" c:type="GType"/>
+ </return-value>
+ </function>
+ <function name="audio_meta_get_info"
+ c:identifier="gst_audio_meta_get_info"
+ moved-to="AudioMeta.get_info">
+ <source-position filename="gst-libs/gst/audio/gstaudiometa.h"
+ line="191"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.MetaInfo" c:type="const GstMetaInfo*"/>
+ </return-value>
+ </function>
+ <function name="audio_quantize_new"
+ c:identifier="gst_audio_quantize_new"
+ moved-to="AudioQuantize.new"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-quantize.c"
+ line="413">Create a new quantizer object with the given parameters.
+
+Output samples will be quantized to a multiple of @quantizer. Better
+performance is achieved when @quantizer is a power of 2.
+
+Dithering and noise-shaping can be performed during quantization with
+the @dither and @ns parameters.</doc>
+ <source-position filename="gst-libs/gst/audio/audio-quantize.h"
+ line="85"/>
+ <return-value>
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-quantize.c"
+ line="430">a new #GstAudioQuantize. Free with gst_audio_quantize_free().</doc>
+ <type name="AudioQuantize" c:type="GstAudioQuantize*"/>
+ </return-value>
+ <parameters>
+ <parameter name="dither" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-quantize.c"
+ line="415">a #GstAudioDitherMethod</doc>
+ <type name="AudioDitherMethod" c:type="GstAudioDitherMethod"/>
+ </parameter>
+ <parameter name="ns" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-quantize.c"
+ line="416">a #GstAudioNoiseShapingMethod</doc>
+ <type name="AudioNoiseShapingMethod"
+ c:type="GstAudioNoiseShapingMethod"/>
+ </parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-quantize.c"
+ line="417">#GstAudioQuantizeFlags</doc>
+ <type name="AudioQuantizeFlags" c:type="GstAudioQuantizeFlags"/>
+ </parameter>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-quantize.c"
+ line="418">the #GstAudioFormat of the samples</doc>
+ <type name="AudioFormat" c:type="GstAudioFormat"/>
+ </parameter>
+ <parameter name="channels" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-quantize.c"
+ line="419">the amount of channels in the samples</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="quantizer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-quantize.c"
+ line="420">the quantizer to use</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="audio_reorder_channels"
+ c:identifier="gst_audio_reorder_channels">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channels.c"
+ line="185">Reorders @data from the channel positions @from to the channel
+positions @to. @from and @to must contain the same number of
+positions and the same positions, only in a different order.
+
+Note: this function assumes the audio data is in interleaved layout</doc>
+ <source-position filename="gst-libs/gst/audio/audio-channels.h"
+ line="142"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channels.c"
+ line="201">%TRUE if the reordering was possible.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channels.c"
+ line="187">The pointer to
+ the memory.</doc>
+ <array length="1" zero-terminated="0" c:type="gpointer">
+ <type name="guint8"/>
+ </array>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channels.c"
+ line="189">The size of the memory.</doc>
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channels.c"
+ line="190">The %GstAudioFormat of the buffer.</doc>
+ <type name="AudioFormat" c:type="GstAudioFormat"/>
+ </parameter>
+ <parameter name="channels" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channels.c"
+ line="191">The number of channels.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="from" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channels.c"
+ line="192">The channel positions in the buffer.</doc>
+ <array length="3"
+ zero-terminated="0"
+ c:type="const GstAudioChannelPosition*">
+ <type name="AudioChannelPosition"
+ c:type="GstAudioChannelPosition"/>
+ </array>
+ </parameter>
+ <parameter name="to" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channels.c"
+ line="193">The channel positions to convert to.</doc>
+ <array length="3"
+ zero-terminated="0"
+ c:type="const GstAudioChannelPosition*">
+ <type name="AudioChannelPosition"
+ c:type="GstAudioChannelPosition"/>
+ </array>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="audio_resampler_new"
+ c:identifier="gst_audio_resampler_new"
+ moved-to="AudioResampler.new">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-resampler.c"
+ line="1333">Make a new resampler.</doc>
+ <source-position filename="gst-libs/gst/audio/audio-resampler.h"
+ line="224"/>
+ <return-value transfer-ownership="full" skip="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-resampler.c"
+ line="1345">The new #GstAudioResampler, or
+%NULL on failure.</doc>
+ <type name="AudioResampler" c:type="GstAudioResampler*"/>
+ </return-value>
+ <parameters>
+ <parameter name="method" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-resampler.c"
+ line="1335">a #GstAudioResamplerMethod</doc>
+ <type name="AudioResamplerMethod" c:type="GstAudioResamplerMethod"/>
+ </parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-resampler.c"
+ line="1336">#GstAudioResamplerFlags</doc>
+ <type name="AudioResamplerFlags" c:type="GstAudioResamplerFlags"/>
+ </parameter>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-resampler.c"
+ line="1337">the #GstAudioFormat</doc>
+ <type name="AudioFormat" c:type="GstAudioFormat"/>
+ </parameter>
+ <parameter name="channels" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-resampler.c"
+ line="1338">the number of channels</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="in_rate" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-resampler.c"
+ line="1339">input rate</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="out_rate" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-resampler.c"
+ line="1340">output rate</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="options" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-resampler.c"
+ line="1341">extra options</doc>
+ <type name="Gst.Structure" c:type="GstStructure*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="audio_resampler_options_set_quality"
+ c:identifier="gst_audio_resampler_options_set_quality"
+ moved-to="AudioResampler.options_set_quality">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-resampler.c"
+ line="1269">Set the parameters for resampling from @in_rate to @out_rate using @method
+for @quality in @options.</doc>
+ <source-position filename="gst-libs/gst/audio/audio-resampler.h"
+ line="218"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="method" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-resampler.c"
+ line="1271">a #GstAudioResamplerMethod</doc>
+ <type name="AudioResamplerMethod" c:type="GstAudioResamplerMethod"/>
+ </parameter>
+ <parameter name="quality" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-resampler.c"
+ line="1272">the quality</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="in_rate" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-resampler.c"
+ line="1273">the input rate</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="out_rate" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-resampler.c"
+ line="1274">the output rate</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="options" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-resampler.c"
+ line="1275">a #GstStructure</doc>
+ <type name="Gst.Structure" c:type="GstStructure*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="buffer_add_audio_clipping_meta"
+ c:identifier="gst_buffer_add_audio_clipping_meta"
+ version="1.8">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiometa.c"
+ line="248">Attaches #GstAudioClippingMeta metadata to @buffer with the given parameters.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudiometa.h"
+ line="123"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiometa.c"
+ line="257">the #GstAudioClippingMeta on @buffer.</doc>
+ <type name="AudioClippingMeta" c:type="GstAudioClippingMeta*"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiometa.c"
+ line="250">a #GstBuffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiometa.c"
+ line="251">GstFormat of @start and @stop, GST_FORMAT_DEFAULT is samples</doc>
+ <type name="Gst.Format" c:type="GstFormat"/>
+ </parameter>
+ <parameter name="start" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiometa.c"
+ line="252">Amount of audio to clip from start of buffer</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ <parameter name="end" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiometa.c"
+ line="253">Amount of to clip from end of buffer</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="buffer_add_audio_downmix_meta"
+ c:identifier="gst_buffer_add_audio_downmix_meta">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiometa.c"
+ line="116">Attaches #GstAudioDownmixMeta metadata to @buffer with the given parameters.
+
+@matrix is an two-dimensional array of @to_channels times @from_channels
+coefficients, i.e. the i-th output channels is constructed by multiplicating
+the input channels with the coefficients in @matrix[i] and taking the sum
+of the results.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudiometa.h" line="72"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiometa.c"
+ line="134">the #GstAudioDownmixMeta on @buffer.</doc>
+ <type name="AudioDownmixMeta" c:type="GstAudioDownmixMeta*"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiometa.c"
+ line="118">a #GstBuffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="from_position" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiometa.c"
+ line="119">the channel positions
+ of the source</doc>
+ <array length="2"
+ zero-terminated="0"
+ c:type="const GstAudioChannelPosition*">
+ <type name="AudioChannelPosition"
+ c:type="GstAudioChannelPosition"/>
+ </array>
+ </parameter>
+ <parameter name="from_channels" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiometa.c"
+ line="121">The number of channels of the source</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="to_position" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiometa.c"
+ line="122">the channel positions of
+ the destination</doc>
+ <array length="4"
+ zero-terminated="0"
+ c:type="const GstAudioChannelPosition*">
+ <type name="AudioChannelPosition"
+ c:type="GstAudioChannelPosition"/>
+ </array>
+ </parameter>
+ <parameter name="to_channels" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiometa.c"
+ line="124">The number of channels of the destination</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="matrix" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiometa.c"
+ line="125">The matrix coefficients.</doc>
+ <type name="gfloat" c:type="const gfloat**"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="buffer_add_audio_meta"
+ c:identifier="gst_buffer_add_audio_meta"
+ version="1.16">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiometa.c"
+ line="354">Allocates and attaches a #GstAudioMeta on @buffer, which must be writable
+for that purpose. The fields of the #GstAudioMeta are directly populated
+from the arguments of this function.
+
+When @info-&gt;layout is %GST_AUDIO_LAYOUT_NON_INTERLEAVED and @offsets is
+%NULL, the offsets are calculated with a formula that assumes the planes are
+tightly packed and in sequence:
+offsets[channel] = channel * @samples * sample_stride
+
+It is not allowed for channels to overlap in memory,
+i.e. for each i in [0, channels), the range
+[@offsets[i], @offsets[i] + @samples * sample_stride) must not overlap
+with any other such range. This function will assert if the parameters
+specified cause this restriction to be violated.
+
+It is, obviously, also not allowed to specify parameters that would cause
+out-of-bounds memory access on @buffer. This is also checked, which means
+that you must add enough memory on the @buffer before adding this meta.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudiometa.h"
+ line="197"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiometa.c"
+ line="382">the #GstAudioMeta that was attached on the @buffer</doc>
+ <type name="AudioMeta" c:type="GstAudioMeta*"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiometa.c"
+ line="356">a #GstBuffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiometa.c"
+ line="357">the audio properties of the buffer</doc>
+ <type name="AudioInfo" c:type="const GstAudioInfo*"/>
+ </parameter>
+ <parameter name="samples" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiometa.c"
+ line="358">the number of valid samples in the buffer</doc>
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ <parameter name="offsets"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiometa.c"
+ line="359">the offsets (in bytes) where each channel plane starts
+ in the buffer or %NULL to calculate it (see below); must be %NULL also
+ when @info-&gt;layout is %GST_AUDIO_LAYOUT_INTERLEAVED</doc>
+ <type name="gsize" c:type="gsize*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function-macro name="buffer_get_audio_clipping_meta"
+ c:identifier="gst_buffer_get_audio_clipping_meta"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/gstaudiometa.h"
+ line="120"/>
+ <parameters>
+ <parameter name="b">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="buffer_get_audio_downmix_meta"
+ c:identifier="gst_buffer_get_audio_downmix_meta"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/gstaudiometa.h" line="65"/>
+ <parameters>
+ <parameter name="b">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function name="buffer_get_audio_downmix_meta_for_channels"
+ c:identifier="gst_buffer_get_audio_downmix_meta_for_channels">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiometa.c"
+ line="84">Find the #GstAudioDownmixMeta on @buffer for the given destination
+channel positions.</doc>
+ <source-position filename="gst-libs/gst/audio/gstaudiometa.h" line="67"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiometa.c"
+ line="94">the #GstAudioDownmixMeta on @buffer.</doc>
+ <type name="AudioDownmixMeta" c:type="GstAudioDownmixMeta*"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiometa.c"
+ line="86">a #GstBuffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="to_position" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiometa.c"
+ line="87">the channel positions of
+ the destination</doc>
+ <array length="2"
+ zero-terminated="0"
+ c:type="const GstAudioChannelPosition*">
+ <type name="AudioChannelPosition"
+ c:type="GstAudioChannelPosition"/>
+ </array>
+ </parameter>
+ <parameter name="to_channels" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudiometa.c"
+ line="89">The number of channels of the destination</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function-macro name="buffer_get_audio_meta"
+ c:identifier="gst_buffer_get_audio_meta"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/audio/gstaudiometa.h"
+ line="193"/>
+ <parameters>
+ <parameter name="b">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <docsection name="gstaudio">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio.c"
+ line="19">This library contains some helper functions for audio elements.</doc>
+ </docsection>
+ <docsection name="gstaudiochannels">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/audio-channels.c"
+ line="19">This library contains some helper functions for multichannel audio.</doc>
+ </docsection>
+ <docsection name="gstaudioiec61937">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/gstaudioiec61937.c"
+ line="22">This module contains some helper functions for encapsulating various
+audio formats in IEC 61937 headers and padding.</doc>
+ </docsection>
+ <function name="stream_volume_convert_volume"
+ c:identifier="gst_stream_volume_convert_volume"
+ moved-to="StreamVolume.convert_volume">
+ <source-position filename="gst-libs/gst/audio/streamvolume.h" line="74"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/streamvolume.c"
+ line="170">the converted volume</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </return-value>
+ <parameters>
+ <parameter name="from" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/streamvolume.c"
+ line="166">#GstStreamVolumeFormat to convert from</doc>
+ <type name="StreamVolumeFormat" c:type="GstStreamVolumeFormat"/>
+ </parameter>
+ <parameter name="to" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/streamvolume.c"
+ line="167">#GstStreamVolumeFormat to convert to</doc>
+ <type name="StreamVolumeFormat" c:type="GstStreamVolumeFormat"/>
+ </parameter>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/audio/streamvolume.c"
+ line="168">Volume in @from format that should be converted</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </parameter>
+ </parameters>
+ </function>
+ </namespace>
+</repository>
diff --git a/subprojects/gstreamer-sharp/girs/GstBase-1.0.gir b/subprojects/gstreamer-sharp/girs/GstBase-1.0.gir
new file mode 100644
index 0000000000..0aad79a0b4
--- /dev/null
+++ b/subprojects/gstreamer-sharp/girs/GstBase-1.0.gir
@@ -0,0 +1,18611 @@
+<?xml version="1.0"?>
+<!-- This file was automatically generated from C sources - DO NOT EDIT!
+To affect the contents of this file, edit the original C definitions,
+and/or use gtk-doc annotations. -->
+<repository version="1.2"
+ xmlns="http://www.gtk.org/introspection/core/1.0"
+ xmlns:c="http://www.gtk.org/introspection/c/1.0"
+ xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
+ <include name="GLib" version="2.0"/>
+ <include name="GModule" version="2.0"/>
+ <include name="GObject" version="2.0"/>
+ <include name="Gst" version="1.0"/>
+ <package name="gstreamer-base-1.0"/>
+ <c:include name="gst/base/base.h"/>
+ <namespace name="GstBase"
+ version="1.0"
+ shared-library="libgstbase-1.0.so.0"
+ c:identifier-prefixes="Gst"
+ c:symbol-prefixes="gst">
+ <function-macro name="ADAPTER"
+ c:identifier="GST_ADAPTER"
+ introspectable="0">
+ <source-position filename="libs/gst/base/gstadapter.h" line="31"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="ADAPTER_CLASS"
+ c:identifier="GST_ADAPTER_CLASS"
+ introspectable="0">
+ <source-position filename="libs/gst/base/gstadapter.h" line="33"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="ADAPTER_GET_CLASS"
+ c:identifier="GST_ADAPTER_GET_CLASS"
+ introspectable="0">
+ <source-position filename="libs/gst/base/gstadapter.h" line="35"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AGGREGATOR"
+ c:identifier="GST_AGGREGATOR"
+ introspectable="0">
+ <source-position filename="libs/gst/base/gstaggregator.h" line="129"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AGGREGATOR_CAST"
+ c:identifier="GST_AGGREGATOR_CAST"
+ introspectable="0">
+ <source-position filename="libs/gst/base/gstaggregator.h" line="130"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AGGREGATOR_CLASS"
+ c:identifier="GST_AGGREGATOR_CLASS"
+ introspectable="0">
+ <source-position filename="libs/gst/base/gstaggregator.h" line="131"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AGGREGATOR_GET_CLASS"
+ c:identifier="GST_AGGREGATOR_GET_CLASS"
+ introspectable="0">
+ <source-position filename="libs/gst/base/gstaggregator.h" line="132"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AGGREGATOR_PAD"
+ c:identifier="GST_AGGREGATOR_PAD"
+ introspectable="0">
+ <source-position filename="libs/gst/base/gstaggregator.h" line="42"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AGGREGATOR_PAD_CAST"
+ c:identifier="GST_AGGREGATOR_PAD_CAST"
+ introspectable="0">
+ <source-position filename="libs/gst/base/gstaggregator.h" line="43"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AGGREGATOR_PAD_CLASS"
+ c:identifier="GST_AGGREGATOR_PAD_CLASS"
+ introspectable="0">
+ <source-position filename="libs/gst/base/gstaggregator.h" line="44"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AGGREGATOR_PAD_GET_CLASS"
+ c:identifier="GST_AGGREGATOR_PAD_GET_CLASS"
+ introspectable="0">
+ <source-position filename="libs/gst/base/gstaggregator.h" line="45"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AGGREGATOR_SRC_PAD"
+ c:identifier="GST_AGGREGATOR_SRC_PAD"
+ version="1.6"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstaggregator.h"
+ line="361">Convenience macro to access the source pad of #GstAggregator</doc>
+ <source-position filename="libs/gst/base/gstaggregator.h" line="369"/>
+ <parameters>
+ <parameter name="agg">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstaggregator.h"
+ line="363">a #GstAggregator</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <class name="Adapter"
+ c:symbol-prefix="adapter"
+ c:type="GstAdapter"
+ parent="GObject.Object"
+ glib:type-name="GstAdapter"
+ glib:get-type="gst_adapter_get_type"
+ glib:type-struct="AdapterClass">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="21">This class is for elements that receive buffers in an undesired size.
+While for example raw video contains one image per buffer, the same is not
+true for a lot of other formats, especially those that come directly from
+a file. So if you have undefined buffer sizes and require a specific size,
+this object is for you.
+
+An adapter is created with gst_adapter_new(). It can be freed again with
+g_object_unref().
+
+The theory of operation is like this: All buffers received are put
+into the adapter using gst_adapter_push() and the data is then read back
+in chunks of the desired size using gst_adapter_map()/gst_adapter_unmap()
+and/or gst_adapter_copy(). After the data has been processed, it is freed
+using gst_adapter_unmap().
+
+Other methods such as gst_adapter_take() and gst_adapter_take_buffer()
+combine gst_adapter_map() and gst_adapter_unmap() in one method and are
+potentially more convenient for some use cases.
+
+For example, a sink pad's chain function that needs to pass data to a library
+in 512-byte chunks could be implemented like this:
+|[&lt;!-- language="C" --&gt;
+static GstFlowReturn
+sink_pad_chain (GstPad *pad, GstObject *parent, GstBuffer *buffer)
+{
+ MyElement *this;
+ GstAdapter *adapter;
+ GstFlowReturn ret = GST_FLOW_OK;
+
+ this = MY_ELEMENT (parent);
+
+ adapter = this-&gt;adapter;
+
+ // put buffer into adapter
+ gst_adapter_push (adapter, buffer);
+
+ // while we can read out 512 bytes, process them
+ while (gst_adapter_available (adapter) &gt;= 512 &amp;&amp; ret == GST_FLOW_OK) {
+ const guint8 *data = gst_adapter_map (adapter, 512);
+ // use flowreturn as an error value
+ ret = my_library_foo (data);
+ gst_adapter_unmap (adapter);
+ gst_adapter_flush (adapter, 512);
+ }
+ return ret;
+}
+]|
+
+For another example, a simple element inside GStreamer that uses #GstAdapter
+is the libvisual element.
+
+An element using #GstAdapter in its sink pad chain function should ensure that
+when the FLUSH_STOP event is received, that any queued data is cleared using
+gst_adapter_clear(). Data should also be cleared or processed on EOS and
+when changing state from %GST_STATE_PAUSED to %GST_STATE_READY.
+
+Also check the GST_BUFFER_FLAG_DISCONT flag on the buffer. Some elements might
+need to clear the adapter after a discontinuity.
+
+The adapter will keep track of the timestamps of the buffers
+that were pushed. The last seen timestamp before the current position
+can be queried with gst_adapter_prev_pts(). This function can
+optionally return the number of bytes between the start of the buffer that
+carried the timestamp and the current adapter position. The distance is
+useful when dealing with, for example, raw audio samples because it allows
+you to calculate the timestamp of the current adapter position by using the
+last seen timestamp and the amount of bytes since. Additionally, the
+gst_adapter_prev_pts_at_offset() can be used to determine the last
+seen timestamp at a particular offset in the adapter.
+
+The adapter will also keep track of the offset of the buffers
+(#GST_BUFFER_OFFSET) that were pushed. The last seen offset before the
+current position can be queried with gst_adapter_prev_offset(). This function
+can optionally return the number of bytes between the start of the buffer
+that carried the offset and the current adapter position.
+
+Additionally the adapter also keeps track of the PTS, DTS and buffer offset
+at the last discontinuity, which can be retrieved with
+gst_adapter_pts_at_discont(), gst_adapter_dts_at_discont() and
+gst_adapter_offset_at_discont(). The number of bytes that were consumed
+since then can be queried with gst_adapter_distance_from_discont().
+
+A last thing to note is that while #GstAdapter is pretty optimized,
+merging buffers still might be an operation that requires a `malloc()` and
+`memcpy()` operation, and these operations are not the fastest. Because of
+this, some functions like gst_adapter_available_fast() are provided to help
+speed up such cases should you want to. To avoid repeated memory allocations,
+gst_adapter_copy() can be used to copy data into a (statically allocated)
+user provided buffer.
+
+#GstAdapter is not MT safe. All operations on an adapter must be serialized by
+the caller. This is not normally a problem, however, as the normal use case
+of #GstAdapter is inside one pad's chain function, in which case access is
+serialized via the pad's STREAM_LOCK.
+
+Note that gst_adapter_push() takes ownership of the buffer passed. Use
+gst_buffer_ref() before pushing it into the adapter if you still want to
+access the buffer later. The adapter will never modify the data in the
+buffer pushed in it.</doc>
+ <source-position filename="libs/gst/base/gstadapter.h" line="49"/>
+ <constructor name="new" c:identifier="gst_adapter_new">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="237">Creates a new #GstAdapter. Free with g_object_unref().</doc>
+ <source-position filename="libs/gst/base/gstadapter.h" line="55"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="242">a new #GstAdapter</doc>
+ <type name="Adapter" c:type="GstAdapter*"/>
+ </return-value>
+ </constructor>
+ <method name="available" c:identifier="gst_adapter_available">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="1308">Gets the maximum amount of bytes available, that is it returns the maximum
+value that can be supplied to gst_adapter_map() without that function
+returning %NULL.</doc>
+ <source-position filename="libs/gst/base/gstadapter.h" line="106"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="1316">number of bytes available in @adapter</doc>
+ <type name="gsize" c:type="gsize"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="adapter" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="1310">a #GstAdapter</doc>
+ <type name="Adapter" c:type="GstAdapter*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="available_fast" c:identifier="gst_adapter_available_fast">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="1326">Gets the maximum number of bytes that are immediately available without
+requiring any expensive operations (like copying the data into a
+temporary buffer).</doc>
+ <source-position filename="libs/gst/base/gstadapter.h" line="109"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="1334">number of bytes that are available in @adapter without expensive
+operations</doc>
+ <type name="gsize" c:type="gsize"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="adapter" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="1328">a #GstAdapter</doc>
+ <type name="Adapter" c:type="GstAdapter*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="clear" c:identifier="gst_adapter_clear">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="250">Removes all buffers from @adapter.</doc>
+ <source-position filename="libs/gst/base/gstadapter.h" line="58"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="adapter" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="252">a #GstAdapter</doc>
+ <type name="Adapter" c:type="GstAdapter*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="copy"
+ c:identifier="gst_adapter_copy"
+ shadowed-by="copy_bytes"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="578">Copies @size bytes of data starting at @offset out of the buffers
+contained in #GstAdapter into an array @dest provided by the caller.
+
+The array @dest should be large enough to contain @size bytes.
+The user should check that the adapter has (@offset + @size) bytes
+available before calling this function.</doc>
+ <source-position filename="libs/gst/base/gstadapter.h" line="70"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="adapter" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="580">a #GstAdapter</doc>
+ <type name="Adapter" c:type="GstAdapter*"/>
+ </instance-parameter>
+ <parameter name="dest"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="581">
+ the memory to copy into</doc>
+ <array length="2" zero-terminated="0" c:type="gpointer">
+ <type name="guint8"/>
+ </array>
+ </parameter>
+ <parameter name="offset" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="583">the bytes offset in the adapter to start from</doc>
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ <parameter name="size"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="584">the number of bytes to copy</doc>
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="copy_bytes"
+ c:identifier="gst_adapter_copy_bytes"
+ shadows="copy"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="603">Similar to gst_adapter_copy, but more suitable for language bindings. @size
+bytes of data starting at @offset will be copied out of the buffers contained
+in @adapter and into a new #GBytes structure which is returned. Depending on
+the value of the @size argument an empty #GBytes structure may be returned.</doc>
+ <source-position filename="libs/gst/base/gstadapter.h" line="73"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="614">A new #GBytes structure containing the copied data.</doc>
+ <type name="GLib.Bytes" c:type="GBytes*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="adapter" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="605">a #GstAdapter</doc>
+ <type name="Adapter" c:type="GstAdapter*"/>
+ </instance-parameter>
+ <parameter name="offset" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="606">the bytes offset in the adapter to start from</doc>
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="607">the number of bytes to copy</doc>
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="distance_from_discont"
+ c:identifier="gst_adapter_distance_from_discont"
+ version="1.10">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="1367">Get the distance in bytes since the last buffer with the
+%GST_BUFFER_FLAG_DISCONT flag.
+
+The distance will be reset to 0 for all buffers with
+%GST_BUFFER_FLAG_DISCONT on them, and then calculated for all other
+following buffers based on their size.</doc>
+ <source-position filename="libs/gst/base/gstadapter.h" line="136"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="1380">The offset. Can be %GST_BUFFER_OFFSET_NONE.</doc>
+ <type name="guint64" c:type="guint64"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="adapter" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="1369">a #GstAdapter</doc>
+ <type name="Adapter" c:type="GstAdapter*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="dts_at_discont"
+ c:identifier="gst_adapter_dts_at_discont"
+ version="1.10">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="1426">Get the DTS that was on the last buffer with the GST_BUFFER_FLAG_DISCONT
+flag, or GST_CLOCK_TIME_NONE.</doc>
+ <source-position filename="libs/gst/base/gstadapter.h" line="130"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="1435">The DTS at the last discont or GST_CLOCK_TIME_NONE.</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="adapter" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="1428">a #GstAdapter</doc>
+ <type name="Adapter" c:type="GstAdapter*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="flush" c:identifier="gst_adapter_flush">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="687">Flushes the first @flush bytes in the @adapter. The caller must ensure that
+at least this many bytes are available.
+
+See also: gst_adapter_map(), gst_adapter_unmap()</doc>
+ <source-position filename="libs/gst/base/gstadapter.h" line="76"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="adapter" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="689">a #GstAdapter</doc>
+ <type name="Adapter" c:type="GstAdapter*"/>
+ </instance-parameter>
+ <parameter name="flush" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="690">the number of bytes to flush</doc>
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_buffer"
+ c:identifier="gst_adapter_get_buffer"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="942">Returns a #GstBuffer containing the first @nbytes of the @adapter, but
+does not flush them from the adapter. See gst_adapter_take_buffer()
+for details.
+
+Caller owns a reference to the returned buffer. gst_buffer_unref() after
+usage.
+
+Free-function: gst_buffer_unref</doc>
+ <source-position filename="libs/gst/base/gstadapter.h" line="94"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="956">a #GstBuffer containing the first
+ @nbytes of the adapter, or %NULL if @nbytes bytes are not available.
+ gst_buffer_unref() when no longer needed.</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="adapter" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="944">a #GstAdapter</doc>
+ <type name="Adapter" c:type="GstAdapter*"/>
+ </instance-parameter>
+ <parameter name="nbytes" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="945">the number of bytes to get</doc>
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_buffer_fast"
+ c:identifier="gst_adapter_get_buffer_fast"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="789">Returns a #GstBuffer containing the first @nbytes of the @adapter, but
+does not flush them from the adapter. See gst_adapter_take_buffer_fast()
+for details.
+
+Caller owns a reference to the returned buffer. gst_buffer_unref() after
+usage.
+
+Free-function: gst_buffer_unref</doc>
+ <source-position filename="libs/gst/base/gstadapter.h" line="100"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="803">a #GstBuffer containing the first
+ @nbytes of the adapter, or %NULL if @nbytes bytes are not available.
+ gst_buffer_unref() when no longer needed.</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="adapter" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="791">a #GstAdapter</doc>
+ <type name="Adapter" c:type="GstAdapter*"/>
+ </instance-parameter>
+ <parameter name="nbytes" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="792">the number of bytes to get</doc>
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_buffer_list"
+ c:identifier="gst_adapter_get_buffer_list"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="1239">Returns a #GstBufferList of buffers containing the first @nbytes bytes of
+the @adapter but does not flush them from the adapter. See
+gst_adapter_take_buffer_list() for details.
+
+Caller owns the returned list. Call gst_buffer_list_unref() to free
+the list after usage.</doc>
+ <source-position filename="libs/gst/base/gstadapter.h" line="103"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="1251">a #GstBufferList of buffers containing
+ the first @nbytes of the adapter, or %NULL if @nbytes bytes are not
+ available</doc>
+ <type name="Gst.BufferList" c:type="GstBufferList*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="adapter" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="1241">a #GstAdapter</doc>
+ <type name="Adapter" c:type="GstAdapter*"/>
+ </instance-parameter>
+ <parameter name="nbytes" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="1242">the number of bytes to get</doc>
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_list"
+ c:identifier="gst_adapter_get_list"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="1127">Returns a #GList of buffers containing the first @nbytes bytes of the
+@adapter, but does not flush them from the adapter. See
+gst_adapter_take_list() for details.
+
+Caller owns returned list and contained buffers. gst_buffer_unref() each
+buffer in the list before freeing the list after usage.</doc>
+ <source-position filename="libs/gst/base/gstadapter.h" line="97"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="1139">a #GList of
+ buffers containing the first @nbytes of the adapter, or %NULL if @nbytes
+ bytes are not available</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="Gst.Buffer"/>
+ </type>
+ </return-value>
+ <parameters>
+ <instance-parameter name="adapter" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="1129">a #GstAdapter</doc>
+ <type name="Adapter" c:type="GstAdapter*"/>
+ </instance-parameter>
+ <parameter name="nbytes" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="1130">the number of bytes to get</doc>
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="map" c:identifier="gst_adapter_map">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="461">Gets the first @size bytes stored in the @adapter. The returned pointer is
+valid until the next function is called on the adapter.
+
+Note that setting the returned pointer as the data of a #GstBuffer is
+incorrect for general-purpose plugins. The reason is that if a downstream
+element stores the buffer so that it has access to it outside of the bounds
+of its chain function, the buffer will have an invalid data pointer after
+your element flushes the bytes. In that case you should use
+gst_adapter_take(), which returns a freshly-allocated buffer that you can set
+as #GstBuffer memory or the potentially more performant
+gst_adapter_take_buffer().
+
+Returns %NULL if @size bytes are not available.</doc>
+ <source-position filename="libs/gst/base/gstadapter.h" line="64"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="480">
+ a pointer to the first @size bytes of data, or %NULL</doc>
+ <array length="0" zero-terminated="0" c:type="gconstpointer">
+ <type name="guint8"/>
+ </array>
+ </return-value>
+ <parameters>
+ <instance-parameter name="adapter" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="463">a #GstAdapter</doc>
+ <type name="Adapter" c:type="GstAdapter*"/>
+ </instance-parameter>
+ <parameter name="size"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="464">the number of bytes to map/peek</doc>
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="masked_scan_uint32"
+ c:identifier="gst_adapter_masked_scan_uint32">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="1742">Scan for pattern @pattern with applied mask @mask in the adapter data,
+starting from offset @offset.
+
+The bytes in @pattern and @mask are interpreted left-to-right, regardless
+of endianness. All four bytes of the pattern must be present in the
+adapter for it to match, even if the first or last bytes are masked out.
+
+It is an error to call this function without making sure that there is
+enough data (offset+size bytes) in the adapter.
+
+This function calls gst_adapter_masked_scan_uint32_peek() passing %NULL
+for value.</doc>
+ <source-position filename="libs/gst/base/gstadapter.h" line="139"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="1764">offset of the first match, or -1 if no match was found.
+
+Example:
+|[
+// Assume the adapter contains 0x00 0x01 0x02 ... 0xfe 0xff
+
+gst_adapter_masked_scan_uint32 (adapter, 0xffffffff, 0x00010203, 0, 256);
+// -&gt; returns 0
+gst_adapter_masked_scan_uint32 (adapter, 0xffffffff, 0x00010203, 1, 255);
+// -&gt; returns -1
+gst_adapter_masked_scan_uint32 (adapter, 0xffffffff, 0x01020304, 1, 255);
+// -&gt; returns 1
+gst_adapter_masked_scan_uint32 (adapter, 0xffff, 0x0001, 0, 256);
+// -&gt; returns -1
+gst_adapter_masked_scan_uint32 (adapter, 0xffff, 0x0203, 0, 256);
+// -&gt; returns 0
+gst_adapter_masked_scan_uint32 (adapter, 0xffff0000, 0x02030000, 0, 256);
+// -&gt; returns 2
+gst_adapter_masked_scan_uint32 (adapter, 0xffff0000, 0x02030000, 0, 4);
+// -&gt; returns -1
+]|</doc>
+ <type name="gssize" c:type="gssize"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="adapter" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="1744">a #GstAdapter</doc>
+ <type name="Adapter" c:type="GstAdapter*"/>
+ </instance-parameter>
+ <parameter name="mask" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="1745">mask to apply to data before matching against @pattern</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ <parameter name="pattern" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="1746">pattern to match (after mask is applied)</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ <parameter name="offset" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="1747">offset into the adapter data from which to start scanning, returns
+ the last scanned position.</doc>
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="1749">number of bytes to scan from offset</doc>
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="masked_scan_uint32_peek"
+ c:identifier="gst_adapter_masked_scan_uint32_peek">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="1628">Scan for pattern @pattern with applied mask @mask in the adapter data,
+starting from offset @offset. If a match is found, the value that matched
+is returned through @value, otherwise @value is left untouched.
+
+The bytes in @pattern and @mask are interpreted left-to-right, regardless
+of endianness. All four bytes of the pattern must be present in the
+adapter for it to match, even if the first or last bytes are masked out.
+
+It is an error to call this function without making sure that there is
+enough data (offset+size bytes) in the adapter.</doc>
+ <source-position filename="libs/gst/base/gstadapter.h" line="142"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="1649">offset of the first match, or -1 if no match was found.</doc>
+ <type name="gssize" c:type="gssize"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="adapter" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="1630">a #GstAdapter</doc>
+ <type name="Adapter" c:type="GstAdapter*"/>
+ </instance-parameter>
+ <parameter name="mask" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="1631">mask to apply to data before matching against @pattern</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ <parameter name="pattern" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="1632">pattern to match (after mask is applied)</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ <parameter name="offset" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="1633">offset into the adapter data from which to start scanning, returns
+ the last scanned position.</doc>
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="1635">number of bytes to scan from offset</doc>
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ <parameter name="value"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="1636">pointer to uint32 to return matching data</doc>
+ <type name="guint32" c:type="guint32*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="offset_at_discont"
+ c:identifier="gst_adapter_offset_at_discont"
+ version="1.10">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="1388">Get the offset that was on the last buffer with the GST_BUFFER_FLAG_DISCONT
+flag, or GST_BUFFER_OFFSET_NONE.</doc>
+ <source-position filename="libs/gst/base/gstadapter.h" line="133"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="1397">The offset at the last discont or GST_BUFFER_OFFSET_NONE.</doc>
+ <type name="guint64" c:type="guint64"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="adapter" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="1390">a #GstAdapter</doc>
+ <type name="Adapter" c:type="GstAdapter*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="prev_dts" c:identifier="gst_adapter_prev_dts">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="1501">Get the dts that was before the current byte in the adapter. When
+@distance is given, the amount of bytes between the dts and the current
+position is returned.
+
+The dts is reset to GST_CLOCK_TIME_NONE and the distance is set to 0 when
+the adapter is first created or when it is cleared. This also means that before
+the first byte with a dts is removed from the adapter, the dts
+and distance returned are GST_CLOCK_TIME_NONE and 0 respectively.</doc>
+ <source-position filename="libs/gst/base/gstadapter.h" line="115"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="1515">The previously seen dts.</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="adapter" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="1503">a #GstAdapter</doc>
+ <type name="Adapter" c:type="GstAdapter*"/>
+ </instance-parameter>
+ <parameter name="distance"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="1504">pointer to location for distance, or %NULL</doc>
+ <type name="guint64" c:type="guint64*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="prev_dts_at_offset"
+ c:identifier="gst_adapter_prev_dts_at_offset"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="1578">Get the dts that was before the byte at offset @offset in the adapter. When
+@distance is given, the amount of bytes between the dts and the current
+position is returned.
+
+The dts is reset to GST_CLOCK_TIME_NONE and the distance is set to 0 when
+the adapter is first created or when it is cleared. This also means that before
+the first byte with a dts is removed from the adapter, the dts
+and distance returned are GST_CLOCK_TIME_NONE and 0 respectively.</doc>
+ <source-position filename="libs/gst/base/gstadapter.h" line="121"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="1594">The previously seen dts at given offset.</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="adapter" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="1580">a #GstAdapter</doc>
+ <type name="Adapter" c:type="GstAdapter*"/>
+ </instance-parameter>
+ <parameter name="offset" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="1581">the offset in the adapter at which to get timestamp</doc>
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ <parameter name="distance"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="1582">pointer to location for distance, or %NULL</doc>
+ <type name="guint64" c:type="guint64*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="prev_offset"
+ c:identifier="gst_adapter_prev_offset"
+ version="1.10">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="1445">Get the offset that was before the current byte in the adapter. When
+@distance is given, the amount of bytes between the offset and the current
+position is returned.
+
+The offset is reset to GST_BUFFER_OFFSET_NONE and the distance is set to 0
+when the adapter is first created or when it is cleared. This also means that
+before the first byte with an offset is removed from the adapter, the offset
+and distance returned are GST_BUFFER_OFFSET_NONE and 0 respectively.</doc>
+ <source-position filename="libs/gst/base/gstadapter.h" line="124"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="1461">The previous seen offset.</doc>
+ <type name="guint64" c:type="guint64"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="adapter" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="1447">a #GstAdapter</doc>
+ <type name="Adapter" c:type="GstAdapter*"/>
+ </instance-parameter>
+ <parameter name="distance"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="1448">pointer to a location for distance, or %NULL</doc>
+ <type name="guint64" c:type="guint64*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="prev_pts" c:identifier="gst_adapter_prev_pts">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="1474">Get the pts that was before the current byte in the adapter. When
+@distance is given, the amount of bytes between the pts and the current
+position is returned.
+
+The pts is reset to GST_CLOCK_TIME_NONE and the distance is set to 0 when
+the adapter is first created or when it is cleared. This also means that before
+the first byte with a pts is removed from the adapter, the pts
+and distance returned are GST_CLOCK_TIME_NONE and 0 respectively.</doc>
+ <source-position filename="libs/gst/base/gstadapter.h" line="112"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="1488">The previously seen pts.</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="adapter" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="1476">a #GstAdapter</doc>
+ <type name="Adapter" c:type="GstAdapter*"/>
+ </instance-parameter>
+ <parameter name="distance"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="1477">pointer to location for distance, or %NULL</doc>
+ <type name="guint64" c:type="guint64*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="prev_pts_at_offset"
+ c:identifier="gst_adapter_prev_pts_at_offset"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="1528">Get the pts that was before the byte at offset @offset in the adapter. When
+@distance is given, the amount of bytes between the pts and the current
+position is returned.
+
+The pts is reset to GST_CLOCK_TIME_NONE and the distance is set to 0 when
+the adapter is first created or when it is cleared. This also means that before
+the first byte with a pts is removed from the adapter, the pts
+and distance returned are GST_CLOCK_TIME_NONE and 0 respectively.</doc>
+ <source-position filename="libs/gst/base/gstadapter.h" line="118"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="1544">The previously seen pts at given offset.</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="adapter" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="1530">a #GstAdapter</doc>
+ <type name="Adapter" c:type="GstAdapter*"/>
+ </instance-parameter>
+ <parameter name="offset" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="1531">the offset in the adapter at which to get timestamp</doc>
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ <parameter name="distance"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="1532">pointer to location for distance, or %NULL</doc>
+ <type name="guint64" c:type="guint64*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="pts_at_discont"
+ c:identifier="gst_adapter_pts_at_discont"
+ version="1.10">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="1407">Get the PTS that was on the last buffer with the GST_BUFFER_FLAG_DISCONT
+flag, or GST_CLOCK_TIME_NONE.</doc>
+ <source-position filename="libs/gst/base/gstadapter.h" line="127"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="1416">The PTS at the last discont or GST_CLOCK_TIME_NONE.</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="adapter" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="1409">a #GstAdapter</doc>
+ <type name="Adapter" c:type="GstAdapter*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="push" c:identifier="gst_adapter_push">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="369">Adds the data from @buf to the data stored inside @adapter and takes
+ownership of the buffer.</doc>
+ <source-position filename="libs/gst/base/gstadapter.h" line="61"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="adapter" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="371">a #GstAdapter</doc>
+ <type name="Adapter" c:type="GstAdapter*"/>
+ </instance-parameter>
+ <parameter name="buf" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="372">a #GstBuffer to add to queue in the adapter</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="take" c:identifier="gst_adapter_take">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="753">Returns a freshly allocated buffer containing the first @nbytes bytes of the
+@adapter. The returned bytes will be flushed from the adapter.
+
+Caller owns returned value. g_free after usage.
+
+Free-function: g_free</doc>
+ <source-position filename="libs/gst/base/gstadapter.h" line="79"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="765">
+ oven-fresh hot data, or %NULL if @nbytes bytes are not available</doc>
+ <array length="0" zero-terminated="0" c:type="gpointer">
+ <type name="guint8"/>
+ </array>
+ </return-value>
+ <parameters>
+ <instance-parameter name="adapter" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="755">a #GstAdapter</doc>
+ <type name="Adapter" c:type="GstAdapter*"/>
+ </instance-parameter>
+ <parameter name="nbytes"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="756">the number of bytes to take</doc>
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="take_buffer" c:identifier="gst_adapter_take_buffer">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="1039">Returns a #GstBuffer containing the first @nbytes bytes of the
+@adapter. The returned bytes will be flushed from the adapter.
+This function is potentially more performant than
+gst_adapter_take() since it can reuse the memory in pushed buffers
+by subbuffering or merging. This function will always return a
+buffer with a single memory region.
+
+Note that no assumptions should be made as to whether certain buffer
+flags such as the DISCONT flag are set on the returned buffer, or not.
+The caller needs to explicitly set or unset flags that should be set or
+unset.
+
+Since 1.6 this will also copy over all GstMeta of the input buffers except
+for meta with the %GST_META_FLAG_POOLED flag or with the "memory" tag.
+
+Caller owns a reference to the returned buffer. gst_buffer_unref() after
+usage.
+
+Free-function: gst_buffer_unref</doc>
+ <source-position filename="libs/gst/base/gstadapter.h" line="82"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="1064">a #GstBuffer containing the first
+ @nbytes of the adapter, or %NULL if @nbytes bytes are not available.
+ gst_buffer_unref() when no longer needed.</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="adapter" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="1041">a #GstAdapter</doc>
+ <type name="Adapter" c:type="GstAdapter*"/>
+ </instance-parameter>
+ <parameter name="nbytes" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="1042">the number of bytes to take</doc>
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="take_buffer_fast"
+ c:identifier="gst_adapter_take_buffer_fast"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="865">Returns a #GstBuffer containing the first @nbytes of the @adapter.
+The returned bytes will be flushed from the adapter. This function
+is potentially more performant than gst_adapter_take_buffer() since
+it can reuse the memory in pushed buffers by subbuffering or
+merging. Unlike gst_adapter_take_buffer(), the returned buffer may
+be composed of multiple non-contiguous #GstMemory objects, no
+copies are made.
+
+Note that no assumptions should be made as to whether certain buffer
+flags such as the DISCONT flag are set on the returned buffer, or not.
+The caller needs to explicitly set or unset flags that should be set or
+unset.
+
+This will also copy over all GstMeta of the input buffers except
+for meta with the %GST_META_FLAG_POOLED flag or with the "memory" tag.
+
+This function can return buffer up to the return value of
+gst_adapter_available() without making copies if possible.
+
+Caller owns a reference to the returned buffer. gst_buffer_unref() after
+usage.
+
+Free-function: gst_buffer_unref</doc>
+ <source-position filename="libs/gst/base/gstadapter.h" line="88"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="894">a #GstBuffer containing the first
+ @nbytes of the adapter, or %NULL if @nbytes bytes are not available.
+ gst_buffer_unref() when no longer needed.</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="adapter" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="867">a #GstAdapter</doc>
+ <type name="Adapter" c:type="GstAdapter*"/>
+ </instance-parameter>
+ <parameter name="nbytes" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="868">the number of bytes to take</doc>
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="take_buffer_list"
+ c:identifier="gst_adapter_take_buffer_list"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="1185">Returns a #GstBufferList of buffers containing the first @nbytes bytes of
+the @adapter. The returned bytes will be flushed from the adapter.
+When the caller can deal with individual buffers, this function is more
+performant because no memory should be copied.
+
+Caller owns the returned list. Call gst_buffer_list_unref() to free
+the list after usage.</doc>
+ <source-position filename="libs/gst/base/gstadapter.h" line="91"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="1198">a #GstBufferList of buffers containing
+ the first @nbytes of the adapter, or %NULL if @nbytes bytes are not
+ available</doc>
+ <type name="Gst.BufferList" c:type="GstBufferList*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="adapter" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="1187">a #GstAdapter</doc>
+ <type name="Adapter" c:type="GstAdapter*"/>
+ </instance-parameter>
+ <parameter name="nbytes" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="1188">the number of bytes to take</doc>
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="take_list" c:identifier="gst_adapter_take_list">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="1083">Returns a #GList of buffers containing the first @nbytes bytes of the
+@adapter. The returned bytes will be flushed from the adapter.
+When the caller can deal with individual buffers, this function is more
+performant because no memory should be copied.
+
+Caller owns returned list and contained buffers. gst_buffer_unref() each
+buffer in the list before freeing the list after usage.</doc>
+ <source-position filename="libs/gst/base/gstadapter.h" line="85"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="1096">a #GList of
+ buffers containing the first @nbytes of the adapter, or %NULL if @nbytes
+ bytes are not available</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="Gst.Buffer"/>
+ </type>
+ </return-value>
+ <parameters>
+ <instance-parameter name="adapter" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="1085">a #GstAdapter</doc>
+ <type name="Adapter" c:type="GstAdapter*"/>
+ </instance-parameter>
+ <parameter name="nbytes" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="1086">the number of bytes to take</doc>
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="unmap" c:identifier="gst_adapter_unmap">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="559">Releases the memory obtained with the last gst_adapter_map().</doc>
+ <source-position filename="libs/gst/base/gstadapter.h" line="67"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="adapter" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstadapter.c"
+ line="561">a #GstAdapter</doc>
+ <type name="Adapter" c:type="GstAdapter*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ </class>
+ <record name="AdapterClass"
+ c:type="GstAdapterClass"
+ disguised="1"
+ glib:is-gtype-struct-for="Adapter">
+ <source-position filename="libs/gst/base/gstadapter.h" line="49"/>
+ </record>
+ <class name="Aggregator"
+ c:symbol-prefix="aggregator"
+ c:type="GstAggregator"
+ version="1.14"
+ parent="Gst.Element"
+ abstract="1"
+ glib:type-name="GstAggregator"
+ glib:get-type="gst_aggregator_get_type"
+ glib:type-struct="AggregatorClass">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstaggregator.c"
+ line="22">Manages a set of pads with the purpose of aggregating their buffers.
+Control is given to the subclass when all pads have data.
+
+ * Base class for mixers and muxers. Subclasses should at least implement
+ the #GstAggregatorClass.aggregate() virtual method.
+
+ * Installs a #GstPadChainFunction, a #GstPadEventFullFunction and a
+ #GstPadQueryFunction to queue all serialized data packets per sink pad.
+ Subclasses should not overwrite those, but instead implement
+ #GstAggregatorClass.sink_event() and #GstAggregatorClass.sink_query() as
+ needed.
+
+ * When data is queued on all pads, the aggregate vmethod is called.
+
+ * One can peek at the data on any given GstAggregatorPad with the
+ gst_aggregator_pad_peek_buffer() method, and remove it from the pad
+ with the gst_aggregator_pad_pop_buffer () method. When a buffer
+ has been taken with pop_buffer (), a new buffer can be queued
+ on that pad.
+
+ * When gst_aggregator_pad_peek_buffer() or gst_aggregator_pad_has_buffer()
+ are called, a reference is taken to the returned buffer, which stays
+ valid until either:
+
+ - gst_aggregator_pad_pop_buffer() is called, in which case the caller
+ is guaranteed that the buffer they receive is the same as the peeked
+ buffer.
+ - gst_aggregator_pad_drop_buffer() is called, in which case the caller
+ is guaranteed that the dropped buffer is the one that was peeked.
+ - the subclass implementation of #GstAggregatorClass.aggregate returns.
+
+ Subsequent calls to gst_aggregator_pad_peek_buffer() or
+ gst_aggregator_pad_has_buffer() return / check the same buffer that was
+ returned / checked, until one of the conditions listed above is met.
+
+ Subclasses are only allowed to call these methods from the aggregate
+ thread.
+
+ * If the subclass wishes to push a buffer downstream in its aggregate
+ implementation, it should do so through the
+ gst_aggregator_finish_buffer() method. This method will take care
+ of sending and ordering mandatory events such as stream start, caps
+ and segment. Buffer lists can also be pushed out with
+ gst_aggregator_finish_buffer_list().
+
+ * Same goes for EOS events, which should not be pushed directly by the
+ subclass, it should instead return GST_FLOW_EOS in its aggregate
+ implementation.
+
+ * Note that the aggregator logic regarding gap event handling is to turn
+ these into gap buffers with matching PTS and duration. It will also
+ flag these buffers with GST_BUFFER_FLAG_GAP and GST_BUFFER_FLAG_DROPPABLE
+ to ease their identification and subsequent processing.
+
+ * Subclasses must use (a subclass of) #GstAggregatorPad for both their
+ sink and source pads.
+ See gst_element_class_add_static_pad_template_with_gtype().
+
+This class used to live in gst-plugins-bad and was moved to core.</doc>
+ <source-position filename="libs/gst/base/gstaggregator.h" line="355"/>
+ <virtual-method name="aggregate">
+ <source-position filename="libs/gst/base/gstaggregator.h" line="291"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="aggregator" transfer-ownership="none">
+ <type name="Aggregator" c:type="GstAggregator*"/>
+ </instance-parameter>
+ <parameter name="timeout" transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="clip">
+ <source-position filename="libs/gst/base/gstaggregator.h" line="264"/>
+ <return-value transfer-ownership="full">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="aggregator" transfer-ownership="none">
+ <type name="Aggregator" c:type="GstAggregator*"/>
+ </instance-parameter>
+ <parameter name="aggregator_pad" transfer-ownership="none">
+ <type name="AggregatorPad" c:type="GstAggregatorPad*"/>
+ </parameter>
+ <parameter name="buf" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="create_new_pad" introspectable="0">
+ <source-position filename="libs/gst/base/gstaggregator.h" line="300"/>
+ <return-value>
+ <type name="AggregatorPad" c:type="GstAggregatorPad*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <type name="Aggregator" c:type="GstAggregator*"/>
+ </instance-parameter>
+ <parameter name="templ" transfer-ownership="none">
+ <type name="Gst.PadTemplate" c:type="GstPadTemplate*"/>
+ </parameter>
+ <parameter name="req_name" transfer-ownership="none">
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="const GstCaps*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="decide_allocation">
+ <source-position filename="libs/gst/base/gstaggregator.h" line="316"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <type name="Aggregator" c:type="GstAggregator*"/>
+ </instance-parameter>
+ <parameter name="query" transfer-ownership="none">
+ <type name="Gst.Query" c:type="GstQuery*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="finish_buffer" invoker="finish_buffer">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstaggregator.c"
+ line="677">This method will push the provided output buffer downstream. If needed,
+mandatory events such as stream-start, caps, and segment events will be
+sent before pushing the buffer.</doc>
+ <source-position filename="libs/gst/base/gstaggregator.h" line="268"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="aggregator" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstaggregator.c"
+ line="679">The #GstAggregator</doc>
+ <type name="Aggregator" c:type="GstAggregator*"/>
+ </instance-parameter>
+ <parameter name="buffer" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstaggregator.c"
+ line="680">the #GstBuffer to push.</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="finish_buffer_list"
+ invoker="finish_buffer_list"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstaggregator.c"
+ line="716">This method will push the provided output buffer list downstream. If needed,
+mandatory events such as stream-start, caps, and segment events will be
+sent before pushing the buffer.</doc>
+ <source-position filename="libs/gst/base/gstaggregator.h" line="341"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="aggregator" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstaggregator.c"
+ line="718">The #GstAggregator</doc>
+ <type name="Aggregator" c:type="GstAggregator*"/>
+ </instance-parameter>
+ <parameter name="bufferlist" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstaggregator.c"
+ line="719">the #GstBufferList to push.</doc>
+ <type name="Gst.BufferList" c:type="GstBufferList*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="fixate_src_caps">
+ <source-position filename="libs/gst/base/gstaggregator.h" line="312"/>
+ <return-value transfer-ownership="full">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <type name="Aggregator" c:type="GstAggregator*"/>
+ </instance-parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="flush">
+ <source-position filename="libs/gst/base/gstaggregator.h" line="262"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="aggregator" transfer-ownership="none">
+ <type name="Aggregator" c:type="GstAggregator*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="get_next_time">
+ <source-position filename="libs/gst/base/gstaggregator.h" line="298"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="aggregator" transfer-ownership="none">
+ <type name="Aggregator" c:type="GstAggregator*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="negotiate" invoker="negotiate" version="1.18">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstaggregator.c"
+ line="1279">Negotiates src pad caps with downstream elements.
+Unmarks GST_PAD_FLAG_NEED_RECONFIGURE in any case. But marks it again
+if #GstAggregatorClass.negotiate() fails.</doc>
+ <source-position filename="libs/gst/base/gstaggregator.h" line="323"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstaggregator.c"
+ line="1287">%TRUE if the negotiation succeeded, else %FALSE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstaggregator.c"
+ line="1281">a #GstAggregator</doc>
+ <type name="Aggregator" c:type="GstAggregator*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="negotiated_src_caps">
+ <source-position filename="libs/gst/base/gstaggregator.h" line="314"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <type name="Aggregator" c:type="GstAggregator*"/>
+ </instance-parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="peek_next_sample"
+ invoker="peek_next_sample"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstaggregator.c"
+ line="319">Use this function to determine what input buffers will be aggregated
+to produce the next output buffer. This should only be called from
+a #GstAggregator::samples-selected handler, and can be used to precisely
+control aggregating parameters for a given set of input samples.</doc>
+ <source-position filename="libs/gst/base/gstaggregator.h" line="350"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstaggregator.c"
+ line="327">The sample that is about to be aggregated. It may hold a #GstBuffer
+ or a #GstBufferList. The contents of its info structure is subclass-dependent,
+ and documented on a subclass basis. The buffers held by the sample are
+ not writable.</doc>
+ <type name="Gst.Sample" c:type="GstSample*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="aggregator" transfer-ownership="none">
+ <type name="Aggregator" c:type="GstAggregator*"/>
+ </instance-parameter>
+ <parameter name="aggregator_pad" transfer-ownership="none">
+ <type name="AggregatorPad" c:type="GstAggregatorPad*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="propose_allocation">
+ <source-position filename="libs/gst/base/gstaggregator.h" line="318"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <type name="Aggregator" c:type="GstAggregator*"/>
+ </instance-parameter>
+ <parameter name="pad" transfer-ownership="none">
+ <type name="AggregatorPad" c:type="GstAggregatorPad*"/>
+ </parameter>
+ <parameter name="decide_query" transfer-ownership="none">
+ <type name="Gst.Query" c:type="GstQuery*"/>
+ </parameter>
+ <parameter name="query" transfer-ownership="none">
+ <type name="Gst.Query" c:type="GstQuery*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="sink_event">
+ <source-position filename="libs/gst/base/gstaggregator.h" line="272"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="aggregator" transfer-ownership="none">
+ <type name="Aggregator" c:type="GstAggregator*"/>
+ </instance-parameter>
+ <parameter name="aggregator_pad" transfer-ownership="none">
+ <type name="AggregatorPad" c:type="GstAggregatorPad*"/>
+ </parameter>
+ <parameter name="event" transfer-ownership="none">
+ <type name="Gst.Event" c:type="GstEvent*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="sink_event_pre_queue">
+ <source-position filename="libs/gst/base/gstaggregator.h" line="325"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="aggregator" transfer-ownership="none">
+ <type name="Aggregator" c:type="GstAggregator*"/>
+ </instance-parameter>
+ <parameter name="aggregator_pad" transfer-ownership="none">
+ <type name="AggregatorPad" c:type="GstAggregatorPad*"/>
+ </parameter>
+ <parameter name="event" transfer-ownership="none">
+ <type name="Gst.Event" c:type="GstEvent*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="sink_query">
+ <source-position filename="libs/gst/base/gstaggregator.h" line="276"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="aggregator" transfer-ownership="none">
+ <type name="Aggregator" c:type="GstAggregator*"/>
+ </instance-parameter>
+ <parameter name="aggregator_pad" transfer-ownership="none">
+ <type name="AggregatorPad" c:type="GstAggregatorPad*"/>
+ </parameter>
+ <parameter name="query" transfer-ownership="none">
+ <type name="Gst.Query" c:type="GstQuery*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="sink_query_pre_queue">
+ <source-position filename="libs/gst/base/gstaggregator.h" line="329"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="aggregator" transfer-ownership="none">
+ <type name="Aggregator" c:type="GstAggregator*"/>
+ </instance-parameter>
+ <parameter name="aggregator_pad" transfer-ownership="none">
+ <type name="AggregatorPad" c:type="GstAggregatorPad*"/>
+ </parameter>
+ <parameter name="query" transfer-ownership="none">
+ <type name="Gst.Query" c:type="GstQuery*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="src_activate">
+ <source-position filename="libs/gst/base/gstaggregator.h" line="287"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="aggregator" transfer-ownership="none">
+ <type name="Aggregator" c:type="GstAggregator*"/>
+ </instance-parameter>
+ <parameter name="mode" transfer-ownership="none">
+ <type name="Gst.PadMode" c:type="GstPadMode"/>
+ </parameter>
+ <parameter name="active" transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="src_event">
+ <source-position filename="libs/gst/base/gstaggregator.h" line="281"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="aggregator" transfer-ownership="none">
+ <type name="Aggregator" c:type="GstAggregator*"/>
+ </instance-parameter>
+ <parameter name="event" transfer-ownership="none">
+ <type name="Gst.Event" c:type="GstEvent*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="src_query">
+ <source-position filename="libs/gst/base/gstaggregator.h" line="284"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="aggregator" transfer-ownership="none">
+ <type name="Aggregator" c:type="GstAggregator*"/>
+ </instance-parameter>
+ <parameter name="query" transfer-ownership="none">
+ <type name="Gst.Query" c:type="GstQuery*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="start">
+ <source-position filename="libs/gst/base/gstaggregator.h" line="296"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="aggregator" transfer-ownership="none">
+ <type name="Aggregator" c:type="GstAggregator*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="stop">
+ <source-position filename="libs/gst/base/gstaggregator.h" line="294"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="aggregator" transfer-ownership="none">
+ <type name="Aggregator" c:type="GstAggregator*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="update_src_caps">
+ <source-position filename="libs/gst/base/gstaggregator.h" line="309"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <type name="Aggregator" c:type="GstAggregator*"/>
+ </instance-parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ <parameter name="ret"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <type name="Gst.Caps" c:type="GstCaps**"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <method name="finish_buffer" c:identifier="gst_aggregator_finish_buffer">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstaggregator.c"
+ line="677">This method will push the provided output buffer downstream. If needed,
+mandatory events such as stream-start, caps, and segment events will be
+sent before pushing the buffer.</doc>
+ <source-position filename="libs/gst/base/gstaggregator.h" line="376"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="aggregator" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstaggregator.c"
+ line="679">The #GstAggregator</doc>
+ <type name="Aggregator" c:type="GstAggregator*"/>
+ </instance-parameter>
+ <parameter name="buffer" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstaggregator.c"
+ line="680">the #GstBuffer to push.</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="finish_buffer_list"
+ c:identifier="gst_aggregator_finish_buffer_list"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstaggregator.c"
+ line="716">This method will push the provided output buffer list downstream. If needed,
+mandatory events such as stream-start, caps, and segment events will be
+sent before pushing the buffer.</doc>
+ <source-position filename="libs/gst/base/gstaggregator.h" line="380"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="aggregator" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstaggregator.c"
+ line="718">The #GstAggregator</doc>
+ <type name="Aggregator" c:type="GstAggregator*"/>
+ </instance-parameter>
+ <parameter name="bufferlist" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstaggregator.c"
+ line="719">the #GstBufferList to push.</doc>
+ <type name="Gst.BufferList" c:type="GstBufferList*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_allocator" c:identifier="gst_aggregator_get_allocator">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstaggregator.c"
+ line="3628">Lets #GstAggregator sub-classes get the memory @allocator
+acquired by the base class and its @params.
+
+Unref the @allocator after use it.</doc>
+ <source-position filename="libs/gst/base/gstaggregator.h" line="405"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstaggregator.c"
+ line="3630">a #GstAggregator</doc>
+ <type name="Aggregator" c:type="GstAggregator*"/>
+ </instance-parameter>
+ <parameter name="allocator"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ nullable="1"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstaggregator.c"
+ line="3631">the #GstAllocator
+used</doc>
+ <type name="Gst.Allocator" c:type="GstAllocator**"/>
+ </parameter>
+ <parameter name="params"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstaggregator.c"
+ line="3633">the
+#GstAllocationParams of @allocator</doc>
+ <type name="Gst.AllocationParams" c:type="GstAllocationParams*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_buffer_pool"
+ c:identifier="gst_aggregator_get_buffer_pool">
+ <source-position filename="libs/gst/base/gstaggregator.h" line="402"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstaggregator.c"
+ line="3609">the instance of the #GstBufferPool used
+by @trans; free it after use it</doc>
+ <type name="Gst.BufferPool" c:type="GstBufferPool*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstaggregator.c"
+ line="3607">a #GstAggregator</doc>
+ <type name="Aggregator" c:type="GstAggregator*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_latency" c:identifier="gst_aggregator_get_latency">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstaggregator.c"
+ line="2139">Retrieves the latency values reported by @self in response to the latency
+query, or %GST_CLOCK_TIME_NONE if there is not live source connected and the element
+will not wait for the clock.
+
+Typically only called by subclasses.</doc>
+ <source-position filename="libs/gst/base/gstaggregator.h" line="399"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstaggregator.c"
+ line="2149">The latency or %GST_CLOCK_TIME_NONE if the element does not sync</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstaggregator.c"
+ line="2141">a #GstAggregator</doc>
+ <type name="Aggregator" c:type="GstAggregator*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="negotiate"
+ c:identifier="gst_aggregator_negotiate"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstaggregator.c"
+ line="1279">Negotiates src pad caps with downstream elements.
+Unmarks GST_PAD_FLAG_NEED_RECONFIGURE in any case. But marks it again
+if #GstAggregatorClass.negotiate() fails.</doc>
+ <source-position filename="libs/gst/base/gstaggregator.h" line="388"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstaggregator.c"
+ line="1287">%TRUE if the negotiation succeeded, else %FALSE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstaggregator.c"
+ line="1281">a #GstAggregator</doc>
+ <type name="Aggregator" c:type="GstAggregator*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="peek_next_sample"
+ c:identifier="gst_aggregator_peek_next_sample"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstaggregator.c"
+ line="319">Use this function to determine what input buffers will be aggregated
+to produce the next output buffer. This should only be called from
+a #GstAggregator::samples-selected handler, and can be used to precisely
+control aggregating parameters for a given set of input samples.</doc>
+ <source-position filename="libs/gst/base/gstaggregator.h" line="417"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstaggregator.c"
+ line="327">The sample that is about to be aggregated. It may hold a #GstBuffer
+ or a #GstBufferList. The contents of its info structure is subclass-dependent,
+ and documented on a subclass basis. The buffers held by the sample are
+ not writable.</doc>
+ <type name="Gst.Sample" c:type="GstSample*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <type name="Aggregator" c:type="GstAggregator*"/>
+ </instance-parameter>
+ <parameter name="pad" transfer-ownership="none">
+ <type name="AggregatorPad" c:type="GstAggregatorPad*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="selected_samples"
+ c:identifier="gst_aggregator_selected_samples"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstaggregator.c"
+ line="3722">Subclasses should call this when they have prepared the
+buffers they will aggregate for each of their sink pads, but
+before using any of the properties of the pads that govern
+*how* aggregation should be performed, for example z-index
+for video aggregators.
+
+If gst_aggregator_update_segment() is used by the subclass,
+it MUST be called before gst_aggregator_selected_samples().
+
+This function MUST only be called from the #GstAggregatorClass::aggregate()
+function.</doc>
+ <source-position filename="libs/gst/base/gstaggregator.h" line="421"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <type name="Aggregator" c:type="GstAggregator*"/>
+ </instance-parameter>
+ <parameter name="pts" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstaggregator.c"
+ line="3724">The presentation timestamp of the next output buffer</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="dts" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstaggregator.c"
+ line="3725">The decoding timestamp of the next output buffer</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="duration" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstaggregator.c"
+ line="3726">The duration of the next output buffer</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="info"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstaggregator.c"
+ line="3727">a #GstStructure containing additional information</doc>
+ <type name="Gst.Structure" c:type="GstStructure*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_latency" c:identifier="gst_aggregator_set_latency">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstaggregator.c"
+ line="3565">Lets #GstAggregator sub-classes tell the baseclass what their internal
+latency is. Will also post a LATENCY message on the bus so the pipeline
+can reconfigure its global latency.</doc>
+ <source-position filename="libs/gst/base/gstaggregator.h" line="391"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstaggregator.c"
+ line="3567">a #GstAggregator</doc>
+ <type name="Aggregator" c:type="GstAggregator*"/>
+ </instance-parameter>
+ <parameter name="min_latency" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstaggregator.c"
+ line="3568">minimum latency</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="max_latency" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstaggregator.c"
+ line="3569">maximum latency</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_src_caps" c:identifier="gst_aggregator_set_src_caps">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstaggregator.c"
+ line="642">Sets the caps to be used on the src pad.</doc>
+ <source-position filename="libs/gst/base/gstaggregator.h" line="384"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstaggregator.c"
+ line="644">The #GstAggregator</doc>
+ <type name="Aggregator" c:type="GstAggregator*"/>
+ </instance-parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstaggregator.c"
+ line="645">The #GstCaps to set on the src pad.</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="simple_get_next_time"
+ c:identifier="gst_aggregator_simple_get_next_time"
+ version="1.16">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstaggregator.c"
+ line="3655">This is a simple #GstAggregatorClass.get_next_time() implementation that
+just looks at the #GstSegment on the srcpad of the aggregator and bases
+the next time on the running time there.
+
+This is the desired behaviour in most cases where you have a live source
+and you have a dead line based aggregator subclass.</doc>
+ <source-position filename="libs/gst/base/gstaggregator.h" line="410"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstaggregator.c"
+ line="3666">The running time based on the position</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstaggregator.c"
+ line="3657">A #GstAggregator</doc>
+ <type name="Aggregator" c:type="GstAggregator*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="update_segment"
+ c:identifier="gst_aggregator_update_segment"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstaggregator.c"
+ line="3692">Subclasses should use this to update the segment on their
+source pad, instead of directly pushing new segment events
+downstream.
+
+Subclasses MUST call this before gst_aggregator_selected_samples(),
+if it is used at all.</doc>
+ <source-position filename="libs/gst/base/gstaggregator.h" line="413"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <type name="Aggregator" c:type="GstAggregator*"/>
+ </instance-parameter>
+ <parameter name="segment" transfer-ownership="none">
+ <type name="Gst.Segment" c:type="const GstSegment*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="emit-signals"
+ version="1.18"
+ writable="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstaggregator.c"
+ line="2782">Enables the emission of signals such as #GstAggregator::samples-selected</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </property>
+ <property name="latency" writable="1" transfer-ownership="none">
+ <type name="guint64" c:type="guint64"/>
+ </property>
+ <property name="min-upstream-latency"
+ version="1.16"
+ writable="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstaggregator.c"
+ line="2748">Force minimum upstream latency (in nanoseconds). When sources with a
+higher latency are expected to be plugged in dynamically after the
+aggregator has started playing, this allows overriding the minimum
+latency reported by the initial source(s). This is only taken into
+account when larger than the actually reported minimum latency.</doc>
+ <type name="guint64" c:type="guint64"/>
+ </property>
+ <property name="start-time" writable="1" transfer-ownership="none">
+ <type name="guint64" c:type="guint64"/>
+ </property>
+ <property name="start-time-selection"
+ writable="1"
+ transfer-ownership="none">
+ <type name="AggregatorStartTimeSelection"/>
+ </property>
+ <field name="parent">
+ <type name="Gst.Element" c:type="GstElement"/>
+ </field>
+ <field name="srcpad">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstaggregator.h"
+ line="140">the aggregator's source pad</doc>
+ <type name="Gst.Pad" c:type="GstPad*"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="AggregatorPrivate" c:type="GstAggregatorPrivate*"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="20">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <glib:signal name="samples-selected" when="first" version="1.18">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstaggregator.c"
+ line="2794">Signals that the #GstAggregator subclass has selected the next set
+of input samples it will aggregate. Handlers may call
+gst_aggregator_peek_next_sample() at that point.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="segment" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstaggregator.c"
+ line="2797">The #GstSegment the next output buffer is part of</doc>
+ <type name="Gst.Segment"/>
+ </parameter>
+ <parameter name="pts" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstaggregator.c"
+ line="2798">The presentation timestamp of the next output buffer</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ <parameter name="dts" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstaggregator.c"
+ line="2799">The decoding timestamp of the next output buffer</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ <parameter name="duration" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstaggregator.c"
+ line="2800">The duration of the next output buffer</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ <parameter name="info"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstaggregator.c"
+ line="2801">a #GstStructure containing additional information</doc>
+ <type name="Gst.Structure"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ </class>
+ <record name="AggregatorClass"
+ c:type="GstAggregatorClass"
+ glib:is-gtype-struct-for="Aggregator"
+ version="1.14">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstaggregator.h"
+ line="159">The aggregator base class will handle in a thread-safe way all manners of
+concurrent flushes, seeks, pad additions and removals, leaving to the
+subclass the responsibility of clipping buffers, and aggregating buffers in
+the way the implementor sees fit.
+
+It will also take care of event ordering (stream-start, segment, eos).
+
+Basically, a simple implementation will override @aggregate, and call
+_finish_buffer from inside that function.</doc>
+ <source-position filename="libs/gst/base/gstaggregator.h" line="355"/>
+ <field name="parent_class">
+ <type name="Gst.ElementClass" c:type="GstElementClass"/>
+ </field>
+ <field name="flush">
+ <callback name="flush">
+ <source-position filename="libs/gst/base/gstaggregator.h"
+ line="262"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="aggregator" transfer-ownership="none">
+ <type name="Aggregator" c:type="GstAggregator*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="clip">
+ <callback name="clip">
+ <source-position filename="libs/gst/base/gstaggregator.h"
+ line="264"/>
+ <return-value transfer-ownership="full">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <parameter name="aggregator" transfer-ownership="none">
+ <type name="Aggregator" c:type="GstAggregator*"/>
+ </parameter>
+ <parameter name="aggregator_pad" transfer-ownership="none">
+ <type name="AggregatorPad" c:type="GstAggregatorPad*"/>
+ </parameter>
+ <parameter name="buf" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="finish_buffer">
+ <callback name="finish_buffer">
+ <source-position filename="libs/gst/base/gstaggregator.h"
+ line="268"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="aggregator" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstaggregator.c"
+ line="679">The #GstAggregator</doc>
+ <type name="Aggregator" c:type="GstAggregator*"/>
+ </parameter>
+ <parameter name="buffer" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstaggregator.c"
+ line="680">the #GstBuffer to push.</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="sink_event">
+ <callback name="sink_event">
+ <source-position filename="libs/gst/base/gstaggregator.h"
+ line="272"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="aggregator" transfer-ownership="none">
+ <type name="Aggregator" c:type="GstAggregator*"/>
+ </parameter>
+ <parameter name="aggregator_pad" transfer-ownership="none">
+ <type name="AggregatorPad" c:type="GstAggregatorPad*"/>
+ </parameter>
+ <parameter name="event" transfer-ownership="none">
+ <type name="Gst.Event" c:type="GstEvent*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="sink_query">
+ <callback name="sink_query">
+ <source-position filename="libs/gst/base/gstaggregator.h"
+ line="276"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="aggregator" transfer-ownership="none">
+ <type name="Aggregator" c:type="GstAggregator*"/>
+ </parameter>
+ <parameter name="aggregator_pad" transfer-ownership="none">
+ <type name="AggregatorPad" c:type="GstAggregatorPad*"/>
+ </parameter>
+ <parameter name="query" transfer-ownership="none">
+ <type name="Gst.Query" c:type="GstQuery*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="src_event">
+ <callback name="src_event">
+ <source-position filename="libs/gst/base/gstaggregator.h"
+ line="281"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="aggregator" transfer-ownership="none">
+ <type name="Aggregator" c:type="GstAggregator*"/>
+ </parameter>
+ <parameter name="event" transfer-ownership="none">
+ <type name="Gst.Event" c:type="GstEvent*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="src_query">
+ <callback name="src_query">
+ <source-position filename="libs/gst/base/gstaggregator.h"
+ line="284"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="aggregator" transfer-ownership="none">
+ <type name="Aggregator" c:type="GstAggregator*"/>
+ </parameter>
+ <parameter name="query" transfer-ownership="none">
+ <type name="Gst.Query" c:type="GstQuery*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="src_activate">
+ <callback name="src_activate">
+ <source-position filename="libs/gst/base/gstaggregator.h"
+ line="287"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="aggregator" transfer-ownership="none">
+ <type name="Aggregator" c:type="GstAggregator*"/>
+ </parameter>
+ <parameter name="mode" transfer-ownership="none">
+ <type name="Gst.PadMode" c:type="GstPadMode"/>
+ </parameter>
+ <parameter name="active" transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="aggregate">
+ <callback name="aggregate">
+ <source-position filename="libs/gst/base/gstaggregator.h"
+ line="291"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="aggregator" transfer-ownership="none">
+ <type name="Aggregator" c:type="GstAggregator*"/>
+ </parameter>
+ <parameter name="timeout" transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="stop">
+ <callback name="stop">
+ <source-position filename="libs/gst/base/gstaggregator.h"
+ line="294"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="aggregator" transfer-ownership="none">
+ <type name="Aggregator" c:type="GstAggregator*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="start">
+ <callback name="start">
+ <source-position filename="libs/gst/base/gstaggregator.h"
+ line="296"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="aggregator" transfer-ownership="none">
+ <type name="Aggregator" c:type="GstAggregator*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="get_next_time">
+ <callback name="get_next_time">
+ <source-position filename="libs/gst/base/gstaggregator.h"
+ line="298"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ <parameters>
+ <parameter name="aggregator" transfer-ownership="none">
+ <type name="Aggregator" c:type="GstAggregator*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="create_new_pad" introspectable="0">
+ <callback name="create_new_pad" introspectable="0">
+ <source-position filename="libs/gst/base/gstaggregator.h"
+ line="300"/>
+ <return-value>
+ <type name="AggregatorPad" c:type="GstAggregatorPad*"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <type name="Aggregator" c:type="GstAggregator*"/>
+ </parameter>
+ <parameter name="templ" transfer-ownership="none">
+ <type name="Gst.PadTemplate" c:type="GstPadTemplate*"/>
+ </parameter>
+ <parameter name="req_name" transfer-ownership="none">
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="const GstCaps*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="update_src_caps">
+ <callback name="update_src_caps">
+ <source-position filename="libs/gst/base/gstaggregator.h"
+ line="309"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <type name="Aggregator" c:type="GstAggregator*"/>
+ </parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ <parameter name="ret"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <type name="Gst.Caps" c:type="GstCaps**"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="fixate_src_caps">
+ <callback name="fixate_src_caps">
+ <source-position filename="libs/gst/base/gstaggregator.h"
+ line="312"/>
+ <return-value transfer-ownership="full">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <type name="Aggregator" c:type="GstAggregator*"/>
+ </parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="negotiated_src_caps">
+ <callback name="negotiated_src_caps">
+ <source-position filename="libs/gst/base/gstaggregator.h"
+ line="314"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <type name="Aggregator" c:type="GstAggregator*"/>
+ </parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="decide_allocation">
+ <callback name="decide_allocation">
+ <source-position filename="libs/gst/base/gstaggregator.h"
+ line="316"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <type name="Aggregator" c:type="GstAggregator*"/>
+ </parameter>
+ <parameter name="query" transfer-ownership="none">
+ <type name="Gst.Query" c:type="GstQuery*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="propose_allocation">
+ <callback name="propose_allocation">
+ <source-position filename="libs/gst/base/gstaggregator.h"
+ line="318"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <type name="Aggregator" c:type="GstAggregator*"/>
+ </parameter>
+ <parameter name="pad" transfer-ownership="none">
+ <type name="AggregatorPad" c:type="GstAggregatorPad*"/>
+ </parameter>
+ <parameter name="decide_query" transfer-ownership="none">
+ <type name="Gst.Query" c:type="GstQuery*"/>
+ </parameter>
+ <parameter name="query" transfer-ownership="none">
+ <type name="Gst.Query" c:type="GstQuery*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="negotiate">
+ <callback name="negotiate">
+ <source-position filename="libs/gst/base/gstaggregator.h"
+ line="323"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstaggregator.c"
+ line="1287">%TRUE if the negotiation succeeded, else %FALSE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstaggregator.c"
+ line="1281">a #GstAggregator</doc>
+ <type name="Aggregator" c:type="GstAggregator*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="sink_event_pre_queue">
+ <callback name="sink_event_pre_queue">
+ <source-position filename="libs/gst/base/gstaggregator.h"
+ line="325"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="aggregator" transfer-ownership="none">
+ <type name="Aggregator" c:type="GstAggregator*"/>
+ </parameter>
+ <parameter name="aggregator_pad" transfer-ownership="none">
+ <type name="AggregatorPad" c:type="GstAggregatorPad*"/>
+ </parameter>
+ <parameter name="event" transfer-ownership="none">
+ <type name="Gst.Event" c:type="GstEvent*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="sink_query_pre_queue">
+ <callback name="sink_query_pre_queue">
+ <source-position filename="libs/gst/base/gstaggregator.h"
+ line="329"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="aggregator" transfer-ownership="none">
+ <type name="Aggregator" c:type="GstAggregator*"/>
+ </parameter>
+ <parameter name="aggregator_pad" transfer-ownership="none">
+ <type name="AggregatorPad" c:type="GstAggregatorPad*"/>
+ </parameter>
+ <parameter name="query" transfer-ownership="none">
+ <type name="Gst.Query" c:type="GstQuery*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="finish_buffer_list">
+ <callback name="finish_buffer_list">
+ <source-position filename="libs/gst/base/gstaggregator.h"
+ line="341"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="aggregator" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstaggregator.c"
+ line="718">The #GstAggregator</doc>
+ <type name="Aggregator" c:type="GstAggregator*"/>
+ </parameter>
+ <parameter name="bufferlist" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstaggregator.c"
+ line="719">the #GstBufferList to push.</doc>
+ <type name="Gst.BufferList" c:type="GstBufferList*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="peek_next_sample">
+ <callback name="peek_next_sample">
+ <source-position filename="libs/gst/base/gstaggregator.h"
+ line="350"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstaggregator.c"
+ line="327">The sample that is about to be aggregated. It may hold a #GstBuffer
+ or a #GstBufferList. The contents of its info structure is subclass-dependent,
+ and documented on a subclass basis. The buffers held by the sample are
+ not writable.</doc>
+ <type name="Gst.Sample" c:type="GstSample*"/>
+ </return-value>
+ <parameters>
+ <parameter name="aggregator" transfer-ownership="none">
+ <type name="Aggregator" c:type="GstAggregator*"/>
+ </parameter>
+ <parameter name="aggregator_pad" transfer-ownership="none">
+ <type name="AggregatorPad" c:type="GstAggregatorPad*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="15">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <class name="AggregatorPad"
+ c:symbol-prefix="aggregator_pad"
+ c:type="GstAggregatorPad"
+ version="1.14"
+ parent="Gst.Pad"
+ glib:type-name="GstAggregatorPad"
+ glib:get-type="gst_aggregator_pad_get_type"
+ glib:type-struct="AggregatorPadClass">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstaggregator.c"
+ line="92">Pads managed by a #GstAggregator subclass.
+
+This class used to live in gst-plugins-bad and was moved to core.</doc>
+ <source-position filename="libs/gst/base/gstaggregator.h" line="100"/>
+ <virtual-method name="flush">
+ <source-position filename="libs/gst/base/gstaggregator.h" line="95"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="aggpad" transfer-ownership="none">
+ <type name="AggregatorPad" c:type="GstAggregatorPad*"/>
+ </instance-parameter>
+ <parameter name="aggregator" transfer-ownership="none">
+ <type name="Aggregator" c:type="GstAggregator*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="skip_buffer">
+ <source-position filename="libs/gst/base/gstaggregator.h" line="96"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="aggpad" transfer-ownership="none">
+ <type name="AggregatorPad" c:type="GstAggregatorPad*"/>
+ </instance-parameter>
+ <parameter name="aggregator" transfer-ownership="none">
+ <type name="Aggregator" c:type="GstAggregator*"/>
+ </parameter>
+ <parameter name="buffer" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <method name="drop_buffer" c:identifier="gst_aggregator_pad_drop_buffer">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstaggregator.c"
+ line="3419">Drop the buffer currently queued in @pad.</doc>
+ <source-position filename="libs/gst/base/gstaggregator.h" line="116"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstaggregator.c"
+ line="3425">TRUE if there was a buffer queued in @pad, or FALSE if not.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstaggregator.c"
+ line="3421">the pad where to drop any pending buffer</doc>
+ <type name="AggregatorPad" c:type="GstAggregatorPad*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="has_buffer"
+ c:identifier="gst_aggregator_pad_has_buffer"
+ version="1.14.1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstaggregator.c"
+ line="3478">This checks if a pad has a buffer available that will be returned by
+a call to gst_aggregator_pad_peek_buffer() or
+gst_aggregator_pad_pop_buffer().</doc>
+ <source-position filename="libs/gst/base/gstaggregator.h" line="119"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstaggregator.c"
+ line="3486">%TRUE if the pad has a buffer available as the next thing.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstaggregator.c"
+ line="3480">the pad to check the buffer on</doc>
+ <type name="AggregatorPad" c:type="GstAggregatorPad*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="is_eos" c:identifier="gst_aggregator_pad_is_eos">
+ <source-position filename="libs/gst/base/gstaggregator.h" line="122"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstaggregator.c"
+ line="3514">%TRUE if the pad is EOS, otherwise %FALSE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstaggregator.c"
+ line="3512">an aggregator pad</doc>
+ <type name="AggregatorPad" c:type="GstAggregatorPad*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="peek_buffer" c:identifier="gst_aggregator_pad_peek_buffer">
+ <source-position filename="libs/gst/base/gstaggregator.h" line="113"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstaggregator.c"
+ line="3445">A reference to the buffer in @pad or
+NULL if no buffer was queued. You should unref the buffer after
+usage.</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstaggregator.c"
+ line="3443">the pad to get buffer from</doc>
+ <type name="AggregatorPad" c:type="GstAggregatorPad*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="pop_buffer" c:identifier="gst_aggregator_pad_pop_buffer">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstaggregator.c"
+ line="3361">Steal the ref to the buffer currently queued in @pad.</doc>
+ <source-position filename="libs/gst/base/gstaggregator.h" line="110"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstaggregator.c"
+ line="3367">The buffer in @pad or NULL if no buffer was
+ queued. You should unref the buffer after usage.</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstaggregator.c"
+ line="3363">the pad to get buffer from</doc>
+ <type name="AggregatorPad" c:type="GstAggregatorPad*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <property name="emit-signals"
+ version="1.16"
+ writable="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstaggregator.c"
+ line="3272">Enables the emission of signals such as #GstAggregatorPad::buffer-consumed</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </property>
+ <field name="parent">
+ <type name="Gst.Pad" c:type="GstPad"/>
+ </field>
+ <field name="segment">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstaggregator.h"
+ line="59">last segment received.</doc>
+ <type name="Gst.Segment" c:type="GstSegment"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="AggregatorPadPrivate" c:type="GstAggregatorPadPrivate*"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <glib:signal name="buffer-consumed" when="first">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <type name="Gst.Buffer"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ </class>
+ <record name="AggregatorPadClass"
+ c:type="GstAggregatorPadClass"
+ glib:is-gtype-struct-for="AggregatorPad"
+ version="1.14">
+ <source-position filename="libs/gst/base/gstaggregator.h" line="100"/>
+ <field name="parent_class">
+ <type name="Gst.PadClass" c:type="GstPadClass"/>
+ </field>
+ <field name="flush">
+ <callback name="flush">
+ <source-position filename="libs/gst/base/gstaggregator.h" line="95"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="aggpad" transfer-ownership="none">
+ <type name="AggregatorPad" c:type="GstAggregatorPad*"/>
+ </parameter>
+ <parameter name="aggregator" transfer-ownership="none">
+ <type name="Aggregator" c:type="GstAggregator*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="skip_buffer">
+ <callback name="skip_buffer">
+ <source-position filename="libs/gst/base/gstaggregator.h" line="96"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="aggpad" transfer-ownership="none">
+ <type name="AggregatorPad" c:type="GstAggregatorPad*"/>
+ </parameter>
+ <parameter name="aggregator" transfer-ownership="none">
+ <type name="Aggregator" c:type="GstAggregator*"/>
+ </parameter>
+ <parameter name="buffer" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="20">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="AggregatorPadPrivate"
+ c:type="GstAggregatorPadPrivate"
+ disguised="1">
+ <source-position filename="libs/gst/base/gstaggregator.h" line="55"/>
+ </record>
+ <record name="AggregatorPrivate"
+ c:type="GstAggregatorPrivate"
+ disguised="1">
+ <source-position filename="libs/gst/base/gstaggregator.h" line="34"/>
+ </record>
+ <enumeration name="AggregatorStartTimeSelection"
+ version="1.18"
+ glib:type-name="GstAggregatorStartTimeSelection"
+ glib:get-type="gst_aggregator_start_time_selection_get_type"
+ c:type="GstAggregatorStartTimeSelection">
+ <member name="zero"
+ value="0"
+ c:identifier="GST_AGGREGATOR_START_TIME_SELECTION_ZERO"
+ glib:nick="zero">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstaggregator.h"
+ line="429">Start at running time 0.</doc>
+ </member>
+ <member name="first"
+ value="1"
+ c:identifier="GST_AGGREGATOR_START_TIME_SELECTION_FIRST"
+ glib:nick="first">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstaggregator.h"
+ line="430">Start at the running time of
+the first buffer that is received.</doc>
+ </member>
+ <member name="set"
+ value="2"
+ c:identifier="GST_AGGREGATOR_START_TIME_SELECTION_SET"
+ glib:nick="set">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstaggregator.h"
+ line="432">Start at the running time
+selected by the `start-time` property.</doc>
+ </member>
+ </enumeration>
+ <function-macro name="BASE_PARSE"
+ c:identifier="GST_BASE_PARSE"
+ introspectable="0">
+ <source-position filename="libs/gst/base/gstbaseparse.h" line="31"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="BASE_PARSE_CAST"
+ c:identifier="GST_BASE_PARSE_CAST"
+ introspectable="0">
+ <source-position filename="libs/gst/base/gstbaseparse.h" line="36"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="BASE_PARSE_CLASS"
+ c:identifier="GST_BASE_PARSE_CLASS"
+ introspectable="0">
+ <source-position filename="libs/gst/base/gstbaseparse.h" line="32"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="BASE_PARSE_DRAINING"
+ c:identifier="GST_BASE_PARSE_DRAINING"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbaseparse.h"
+ line="76">Obtains current drain status (ie. whether EOS has been received and
+the parser is now processing the frames at the end of the stream)</doc>
+ <source-position filename="libs/gst/base/gstbaseparse.h" line="83"/>
+ <parameters>
+ <parameter name="parse">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbaseparse.h"
+ line="78">base parse instance</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <constant name="BASE_PARSE_FLAG_DRAINING"
+ value="2"
+ c:type="GST_BASE_PARSE_FLAG_DRAINING">
+ <source-position filename="libs/gst/base/gstbaseparse.h" line="66"/>
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="BASE_PARSE_FLAG_LOST_SYNC"
+ value="1"
+ c:type="GST_BASE_PARSE_FLAG_LOST_SYNC">
+ <source-position filename="libs/gst/base/gstbaseparse.h" line="65"/>
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <function-macro name="BASE_PARSE_GET_CLASS"
+ c:identifier="GST_BASE_PARSE_GET_CLASS"
+ introspectable="0">
+ <source-position filename="libs/gst/base/gstbaseparse.h" line="33"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="BASE_PARSE_LOST_SYNC"
+ c:identifier="GST_BASE_PARSE_LOST_SYNC"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbaseparse.h"
+ line="68">Obtains current sync status.</doc>
+ <source-position filename="libs/gst/base/gstbaseparse.h" line="74"/>
+ <parameters>
+ <parameter name="parse">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbaseparse.h"
+ line="70">base parse instance</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="BASE_PARSE_SINK_PAD"
+ c:identifier="GST_BASE_PARSE_SINK_PAD"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbaseparse.h"
+ line="46">Gives the pointer to the sink #GstPad object of the element.</doc>
+ <source-position filename="libs/gst/base/gstbaseparse.h" line="52"/>
+ <parameters>
+ <parameter name="obj">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbaseparse.h"
+ line="48">base parse instance</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="BASE_PARSE_SRC_PAD"
+ c:identifier="GST_BASE_PARSE_SRC_PAD"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbaseparse.h"
+ line="38">Gives the pointer to the source #GstPad object of the element.</doc>
+ <source-position filename="libs/gst/base/gstbaseparse.h" line="44"/>
+ <parameters>
+ <parameter name="obj">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbaseparse.h"
+ line="40">base parse instance</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="BASE_SINK"
+ c:identifier="GST_BASE_SINK"
+ introspectable="0">
+ <source-position filename="libs/gst/base/gstbasesink.h" line="33"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="BASE_SINK_CAST"
+ c:identifier="GST_BASE_SINK_CAST"
+ introspectable="0">
+ <source-position filename="libs/gst/base/gstbasesink.h" line="38"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="BASE_SINK_CLASS"
+ c:identifier="GST_BASE_SINK_CLASS"
+ introspectable="0">
+ <source-position filename="libs/gst/base/gstbasesink.h" line="34"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="BASE_SINK_GET_CLASS"
+ c:identifier="GST_BASE_SINK_GET_CLASS"
+ introspectable="0">
+ <source-position filename="libs/gst/base/gstbasesink.h" line="35"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="BASE_SINK_GET_PREROLL_COND"
+ c:identifier="GST_BASE_SINK_GET_PREROLL_COND"
+ introspectable="0">
+ <source-position filename="libs/gst/base/gstbasesink.h" line="53"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="BASE_SINK_GET_PREROLL_LOCK"
+ c:identifier="GST_BASE_SINK_GET_PREROLL_LOCK"
+ introspectable="0">
+ <source-position filename="libs/gst/base/gstbasesink.h" line="48"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="BASE_SINK_PAD"
+ c:identifier="GST_BASE_SINK_PAD"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.h"
+ line="40">Gives the pointer to the #GstPad object of the element.</doc>
+ <source-position filename="libs/gst/base/gstbasesink.h" line="46"/>
+ <parameters>
+ <parameter name="obj">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.h"
+ line="42">base sink instance</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="BASE_SINK_PREROLL_BROADCAST"
+ c:identifier="GST_BASE_SINK_PREROLL_BROADCAST"
+ introspectable="0">
+ <source-position filename="libs/gst/base/gstbasesink.h" line="59"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="BASE_SINK_PREROLL_LOCK"
+ c:identifier="GST_BASE_SINK_PREROLL_LOCK"
+ introspectable="0">
+ <source-position filename="libs/gst/base/gstbasesink.h" line="49"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="BASE_SINK_PREROLL_SIGNAL"
+ c:identifier="GST_BASE_SINK_PREROLL_SIGNAL"
+ introspectable="0">
+ <source-position filename="libs/gst/base/gstbasesink.h" line="58"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="BASE_SINK_PREROLL_TRYLOCK"
+ c:identifier="GST_BASE_SINK_PREROLL_TRYLOCK"
+ introspectable="0">
+ <source-position filename="libs/gst/base/gstbasesink.h" line="50"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="BASE_SINK_PREROLL_UNLOCK"
+ c:identifier="GST_BASE_SINK_PREROLL_UNLOCK"
+ introspectable="0">
+ <source-position filename="libs/gst/base/gstbasesink.h" line="51"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="BASE_SINK_PREROLL_WAIT"
+ c:identifier="GST_BASE_SINK_PREROLL_WAIT"
+ introspectable="0">
+ <source-position filename="libs/gst/base/gstbasesink.h" line="54"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="BASE_SINK_PREROLL_WAIT_UNTIL"
+ c:identifier="GST_BASE_SINK_PREROLL_WAIT_UNTIL"
+ introspectable="0">
+ <source-position filename="libs/gst/base/gstbasesink.h" line="56"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ <parameter name="end_time">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="BASE_SRC"
+ c:identifier="GST_BASE_SRC"
+ introspectable="0">
+ <source-position filename="libs/gst/base/gstbasesrc.h" line="33"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="BASE_SRC_CAST"
+ c:identifier="GST_BASE_SRC_CAST"
+ introspectable="0">
+ <source-position filename="libs/gst/base/gstbasesrc.h" line="38"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="BASE_SRC_CLASS"
+ c:identifier="GST_BASE_SRC_CLASS"
+ introspectable="0">
+ <source-position filename="libs/gst/base/gstbasesrc.h" line="34"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="BASE_SRC_GET_CLASS"
+ c:identifier="GST_BASE_SRC_GET_CLASS"
+ introspectable="0">
+ <source-position filename="libs/gst/base/gstbasesrc.h" line="35"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="BASE_SRC_IS_STARTED"
+ c:identifier="GST_BASE_SRC_IS_STARTED"
+ introspectable="0">
+ <source-position filename="libs/gst/base/gstbasesrc.h" line="56"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="BASE_SRC_IS_STARTING"
+ c:identifier="GST_BASE_SRC_IS_STARTING"
+ introspectable="0">
+ <source-position filename="libs/gst/base/gstbasesrc.h" line="55"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="BASE_SRC_PAD"
+ c:identifier="GST_BASE_SRC_PAD"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesrc.h"
+ line="62">Gives the pointer to the #GstPad object of the element.</doc>
+ <source-position filename="libs/gst/base/gstbasesrc.h" line="68"/>
+ <parameters>
+ <parameter name="obj">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesrc.h"
+ line="64">base source instance</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="BASE_TRANSFORM"
+ c:identifier="GST_BASE_TRANSFORM"
+ introspectable="0">
+ <source-position filename="libs/gst/base/gstbasetransform.h" line="30"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="BASE_TRANSFORM_CAST"
+ c:identifier="GST_BASE_TRANSFORM_CAST"
+ introspectable="0">
+ <source-position filename="libs/gst/base/gstbasetransform.h" line="35"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="BASE_TRANSFORM_CLASS"
+ c:identifier="GST_BASE_TRANSFORM_CLASS"
+ introspectable="0">
+ <source-position filename="libs/gst/base/gstbasetransform.h" line="31"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="BASE_TRANSFORM_GET_CLASS"
+ c:identifier="GST_BASE_TRANSFORM_GET_CLASS"
+ introspectable="0">
+ <source-position filename="libs/gst/base/gstbasetransform.h" line="32"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <constant name="BASE_TRANSFORM_SINK_NAME"
+ value="sink"
+ c:type="GST_BASE_TRANSFORM_SINK_NAME">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasetransform.h"
+ line="37">The name of the templates for the sink pad.</doc>
+ <source-position filename="libs/gst/base/gstbasetransform.h" line="42"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <function-macro name="BASE_TRANSFORM_SINK_PAD"
+ c:identifier="GST_BASE_TRANSFORM_SINK_PAD"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasetransform.h"
+ line="58">Gives the pointer to the sink #GstPad object of the element.</doc>
+ <source-position filename="libs/gst/base/gstbasetransform.h" line="64"/>
+ <parameters>
+ <parameter name="obj">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasetransform.h"
+ line="60">base transform instance</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <constant name="BASE_TRANSFORM_SRC_NAME"
+ value="src"
+ c:type="GST_BASE_TRANSFORM_SRC_NAME">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasetransform.h"
+ line="43">The name of the templates for the source pad.</doc>
+ <source-position filename="libs/gst/base/gstbasetransform.h" line="48"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <function-macro name="BASE_TRANSFORM_SRC_PAD"
+ c:identifier="GST_BASE_TRANSFORM_SRC_PAD"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasetransform.h"
+ line="50">Gives the pointer to the source #GstPad object of the element.</doc>
+ <source-position filename="libs/gst/base/gstbasetransform.h" line="56"/>
+ <parameters>
+ <parameter name="obj">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasetransform.h"
+ line="52">base transform instance</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="BIT_READER"
+ c:identifier="GST_BIT_READER"
+ introspectable="0">
+ <source-position filename="libs/gst/base/gstbitreader.h" line="31"/>
+ <parameters>
+ <parameter name="reader">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="BIT_READER_INIT"
+ c:identifier="GST_BIT_READER_INIT"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitreader.h"
+ line="105">A #GstBitReader must be initialized with this macro, before it can be
+used. This macro can used be to initialize a variable, but it cannot
+be assigned to a variable. In that case you have to use
+gst_bit_reader_init().</doc>
+ <source-position filename="libs/gst/base/gstbitreader.h" line="115"/>
+ <parameters>
+ <parameter name="data">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitreader.h"
+ line="107">Data from which the #GstBitReader should read</doc>
+ </parameter>
+ <parameter name="size">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitreader.h"
+ line="108">Size of @data in bytes</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="BIT_WRITER"
+ c:identifier="GST_BIT_WRITER"
+ introspectable="0">
+ <source-position filename="libs/gst/base/gstbitwriter.h" line="35"/>
+ <parameters>
+ <parameter name="writer">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="BIT_WRITER_BIT_SIZE"
+ c:identifier="GST_BIT_WRITER_BIT_SIZE"
+ introspectable="0">
+ <source-position filename="libs/gst/base/gstbitwriter.h" line="34"/>
+ <parameters>
+ <parameter name="writer">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="BIT_WRITER_DATA"
+ c:identifier="GST_BIT_WRITER_DATA"
+ introspectable="0">
+ <source-position filename="libs/gst/base/gstbitwriter.h" line="33"/>
+ <parameters>
+ <parameter name="writer">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="BYTE_READER"
+ c:identifier="GST_BYTE_READER"
+ introspectable="0">
+ <source-position filename="libs/gst/base/gstbytereader.h" line="30"/>
+ <parameters>
+ <parameter name="reader">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="BYTE_READER_INIT"
+ c:identifier="GST_BYTE_READER_INIT"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.h"
+ line="274">A #GstByteReader must be initialized with this macro, before it can be
+used. This macro can used be to initialize a variable, but it cannot
+be assigned to a variable. In that case you have to use
+gst_byte_reader_init().</doc>
+ <source-position filename="libs/gst/base/gstbytereader.h" line="284"/>
+ <parameters>
+ <parameter name="data">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.h"
+ line="276">Data from which the #GstByteReader should read</doc>
+ </parameter>
+ <parameter name="size">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.h"
+ line="277">Size of @data in bytes</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="BYTE_WRITER"
+ c:identifier="GST_BYTE_WRITER"
+ introspectable="0">
+ <source-position filename="libs/gst/base/gstbytewriter.h" line="31"/>
+ <parameters>
+ <parameter name="writer">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <class name="BaseParse"
+ c:symbol-prefix="base_parse"
+ c:type="GstBaseParse"
+ parent="Gst.Element"
+ abstract="1"
+ glib:type-name="GstBaseParse"
+ glib:get-type="gst_base_parse_get_type"
+ glib:type-struct="BaseParseClass">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbaseparse.c"
+ line="24">This base class is for parser elements that process data and splits it
+into separate audio/video/whatever frames.
+
+It provides for:
+
+ * provides one sink pad and one source pad
+ * handles state changes
+ * can operate in pull mode or push mode
+ * handles seeking in both modes
+ * handles events (SEGMENT/EOS/FLUSH)
+ * handles queries (POSITION/DURATION/SEEKING/FORMAT/CONVERT)
+ * handles flushing
+
+The purpose of this base class is to provide the basic functionality of
+a parser and share a lot of rather complex code.
+
+# Description of the parsing mechanism:
+
+## Set-up phase
+
+ * #GstBaseParse calls #GstBaseParseClass.start() to inform subclass
+ that data processing is about to start now.
+
+ * #GstBaseParse class calls #GstBaseParseClass.set_sink_caps() to
+ inform the subclass about incoming sinkpad caps. Subclass could
+ already set the srcpad caps accordingly, but this might be delayed
+ until calling gst_base_parse_finish_frame() with a non-queued frame.
+
+ * At least at this point subclass needs to tell the #GstBaseParse class
+ how big data chunks it wants to receive (minimum frame size ). It can
+ do this with gst_base_parse_set_min_frame_size().
+
+ * #GstBaseParse class sets up appropriate data passing mode (pull/push)
+ and starts to process the data.
+
+## Parsing phase
+
+ * #GstBaseParse gathers at least min_frame_size bytes of data either
+ by pulling it from upstream or collecting buffers in an internal
+ #GstAdapter.
+
+ * A buffer of (at least) min_frame_size bytes is passed to subclass
+ with #GstBaseParseClass.handle_frame(). Subclass checks the contents
+ and can optionally return #GST_FLOW_OK along with an amount of data
+ to be skipped to find a valid frame (which will result in a
+ subsequent DISCONT). If, otherwise, the buffer does not hold a
+ complete frame, #GstBaseParseClass.handle_frame() can merely return
+ and will be called again when additional data is available. In push
+ mode this amounts to an additional input buffer (thus minimal
+ additional latency), in pull mode this amounts to some arbitrary
+ reasonable buffer size increase.
+
+ Of course, gst_base_parse_set_min_frame_size() could also be used if
+ a very specific known amount of additional data is required. If,
+ however, the buffer holds a complete valid frame, it can pass the
+ size of this frame to gst_base_parse_finish_frame().
+
+ If acting as a converter, it can also merely indicate consumed input
+ data while simultaneously providing custom output data. Note that
+ baseclass performs some processing (such as tracking overall consumed
+ data rate versus duration) for each finished frame, but other state
+ is only updated upon each call to #GstBaseParseClass.handle_frame()
+ (such as tracking upstream input timestamp).
+
+ Subclass is also responsible for setting the buffer metadata
+ (e.g. buffer timestamp and duration, or keyframe if applicable).
+ (although the latter can also be done by #GstBaseParse if it is
+ appropriately configured, see below). Frame is provided with
+ timestamp derived from upstream (as much as generally possible),
+ duration obtained from configuration (see below), and offset
+ if meaningful (in pull mode).
+
+ Note that #GstBaseParseClass.handle_frame() might receive any small
+ amount of input data when leftover data is being drained (e.g. at
+ EOS).
+
+ * As part of finish frame processing, just prior to actually pushing
+ the buffer in question, it is passed to
+ #GstBaseParseClass.pre_push_frame() which gives subclass yet one last
+ chance to examine buffer metadata, or to send some custom (tag)
+ events, or to perform custom (segment) filtering.
+
+ * During the parsing process #GstBaseParseClass will handle both srcpad
+ and sinkpad events. They will be passed to subclass if
+ #GstBaseParseClass.sink_event() or #GstBaseParseClass.src_event()
+ implementations have been provided.
+
+## Shutdown phase
+
+* #GstBaseParse class calls #GstBaseParseClass.stop() to inform the
+ subclass that data parsing will be stopped.
+
+Subclass is responsible for providing pad template caps for source and
+sink pads. The pads need to be named "sink" and "src". It also needs to
+set the fixed caps on srcpad, when the format is ensured (e.g. when
+base class calls subclass' #GstBaseParseClass.set_sink_caps() function).
+
+This base class uses %GST_FORMAT_DEFAULT as a meaning of frames. So,
+subclass conversion routine needs to know that conversion from
+%GST_FORMAT_TIME to %GST_FORMAT_DEFAULT must return the
+frame number that can be found from the given byte position.
+
+#GstBaseParse uses subclasses conversion methods also for seeking (or
+otherwise uses its own default one, see also below).
+
+Subclass @start and @stop functions will be called to inform the beginning
+and end of data processing.
+
+Things that subclass need to take care of:
+
+* Provide pad templates
+* Fixate the source pad caps when appropriate
+* Inform base class how big data chunks should be retrieved. This is
+ done with gst_base_parse_set_min_frame_size() function.
+* Examine data chunks passed to subclass with
+ #GstBaseParseClass.handle_frame() and pass proper frame(s) to
+ gst_base_parse_finish_frame(), and setting src pad caps and timestamps
+ on frame.
+* Provide conversion functions
+* Update the duration information with gst_base_parse_set_duration()
+* Optionally passthrough using gst_base_parse_set_passthrough()
+* Configure various baseparse parameters using
+ gst_base_parse_set_average_bitrate(), gst_base_parse_set_syncable()
+ and gst_base_parse_set_frame_rate().
+
+* In particular, if subclass is unable to determine a duration, but
+ parsing (or specs) yields a frames per seconds rate, then this can be
+ provided to #GstBaseParse to enable it to cater for buffer time
+ metadata (which will be taken from upstream as much as
+ possible). Internally keeping track of frame durations and respective
+ sizes that have been pushed provides #GstBaseParse with an estimated
+ bitrate. A default #GstBaseParseClass.convert() (used if not
+ overridden) will then use these rates to perform obvious conversions.
+ These rates are also used to update (estimated) duration at regular
+ frame intervals.</doc>
+ <source-position filename="libs/gst/base/gstbaseparse.h" line="278"/>
+ <virtual-method name="convert">
+ <source-position filename="libs/gst/base/gstbaseparse.h" line="252"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="parse" transfer-ownership="none">
+ <type name="BaseParse" c:type="GstBaseParse*"/>
+ </instance-parameter>
+ <parameter name="src_format" transfer-ownership="none">
+ <type name="Gst.Format" c:type="GstFormat"/>
+ </parameter>
+ <parameter name="src_value" transfer-ownership="none">
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ <parameter name="dest_format" transfer-ownership="none">
+ <type name="Gst.Format" c:type="GstFormat"/>
+ </parameter>
+ <parameter name="dest_value" transfer-ownership="none">
+ <type name="gint64" c:type="gint64*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="detect">
+ <source-position filename="libs/gst/base/gstbaseparse.h" line="267"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="parse" transfer-ownership="none">
+ <type name="BaseParse" c:type="GstBaseParse*"/>
+ </instance-parameter>
+ <parameter name="buffer" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="get_sink_caps">
+ <source-position filename="libs/gst/base/gstbaseparse.h" line="264"/>
+ <return-value transfer-ownership="full">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="parse" transfer-ownership="none">
+ <type name="BaseParse" c:type="GstBaseParse*"/>
+ </instance-parameter>
+ <parameter name="filter" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="handle_frame">
+ <source-position filename="libs/gst/base/gstbaseparse.h" line="245"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="parse" transfer-ownership="none">
+ <type name="BaseParse" c:type="GstBaseParse*"/>
+ </instance-parameter>
+ <parameter name="frame" transfer-ownership="none">
+ <type name="BaseParseFrame" c:type="GstBaseParseFrame*"/>
+ </parameter>
+ <parameter name="skipsize" transfer-ownership="none">
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="pre_push_frame">
+ <source-position filename="libs/gst/base/gstbaseparse.h" line="249"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="parse" transfer-ownership="none">
+ <type name="BaseParse" c:type="GstBaseParse*"/>
+ </instance-parameter>
+ <parameter name="frame" transfer-ownership="none">
+ <type name="BaseParseFrame" c:type="GstBaseParseFrame*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="set_sink_caps">
+ <source-position filename="libs/gst/base/gstbaseparse.h" line="242"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="parse" transfer-ownership="none">
+ <type name="BaseParse" c:type="GstBaseParse*"/>
+ </instance-parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="sink_event">
+ <source-position filename="libs/gst/base/gstbaseparse.h" line="258"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="parse" transfer-ownership="none">
+ <type name="BaseParse" c:type="GstBaseParse*"/>
+ </instance-parameter>
+ <parameter name="event" transfer-ownership="none">
+ <type name="Gst.Event" c:type="GstEvent*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="sink_query">
+ <source-position filename="libs/gst/base/gstbaseparse.h" line="270"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="parse" transfer-ownership="none">
+ <type name="BaseParse" c:type="GstBaseParse*"/>
+ </instance-parameter>
+ <parameter name="query" transfer-ownership="none">
+ <type name="Gst.Query" c:type="GstQuery*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="src_event">
+ <source-position filename="libs/gst/base/gstbaseparse.h" line="261"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="parse" transfer-ownership="none">
+ <type name="BaseParse" c:type="GstBaseParse*"/>
+ </instance-parameter>
+ <parameter name="event" transfer-ownership="none">
+ <type name="Gst.Event" c:type="GstEvent*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="src_query">
+ <source-position filename="libs/gst/base/gstbaseparse.h" line="273"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="parse" transfer-ownership="none">
+ <type name="BaseParse" c:type="GstBaseParse*"/>
+ </instance-parameter>
+ <parameter name="query" transfer-ownership="none">
+ <type name="Gst.Query" c:type="GstQuery*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="start">
+ <source-position filename="libs/gst/base/gstbaseparse.h" line="238"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="parse" transfer-ownership="none">
+ <type name="BaseParse" c:type="GstBaseParse*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="stop">
+ <source-position filename="libs/gst/base/gstbaseparse.h" line="240"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="parse" transfer-ownership="none">
+ <type name="BaseParse" c:type="GstBaseParse*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <method name="add_index_entry"
+ c:identifier="gst_base_parse_add_index_entry">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbaseparse.c"
+ line="1973">Adds an entry to the index associating @offset to @ts. It is recommended
+to only add keyframe entries. @force allows to bypass checks, such as
+whether the stream is (upstream) seekable, another entry is already "close"
+to the new entry, etc.</doc>
+ <source-position filename="libs/gst/base/gstbaseparse.h" line="351"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbaseparse.c"
+ line="1986">#gboolean indicating whether entry was added</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="parse" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbaseparse.c"
+ line="1975">#GstBaseParse.</doc>
+ <type name="BaseParse" c:type="GstBaseParse*"/>
+ </instance-parameter>
+ <parameter name="offset" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbaseparse.c"
+ line="1976">offset of entry</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ <parameter name="ts" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbaseparse.c"
+ line="1977">timestamp associated with offset</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="key" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbaseparse.c"
+ line="1978">whether entry refers to keyframe</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ <parameter name="force" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbaseparse.c"
+ line="1979">add entry disregarding sanity checks</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="convert_default"
+ c:identifier="gst_base_parse_convert_default">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbaseparse.c"
+ line="1735">Default implementation of #GstBaseParseClass.convert().</doc>
+ <source-position filename="libs/gst/base/gstbaseparse.h" line="345"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbaseparse.c"
+ line="1745">%TRUE if conversion was successful.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="parse" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbaseparse.c"
+ line="1737">#GstBaseParse.</doc>
+ <type name="BaseParse" c:type="GstBaseParse*"/>
+ </instance-parameter>
+ <parameter name="src_format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbaseparse.c"
+ line="1738">#GstFormat describing the source format.</doc>
+ <type name="Gst.Format" c:type="GstFormat"/>
+ </parameter>
+ <parameter name="src_value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbaseparse.c"
+ line="1739">Source value to be converted.</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ <parameter name="dest_format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbaseparse.c"
+ line="1740">#GstFormat defining the converted format.</doc>
+ <type name="Gst.Format" c:type="GstFormat"/>
+ </parameter>
+ <parameter name="dest_value"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbaseparse.c"
+ line="1741">Pointer where the conversion result will be put.</doc>
+ <type name="gint64" c:type="gint64*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="drain" c:identifier="gst_base_parse_drain" version="1.12">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbaseparse.c"
+ line="2754">Drains the adapter until it is empty. It decreases the min_frame_size to
+match the current adapter size and calls chain method until the adapter
+is emptied or chain returns with error.</doc>
+ <source-position filename="libs/gst/base/gstbaseparse.h" line="320"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="parse" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbaseparse.c"
+ line="2756">a #GstBaseParse</doc>
+ <type name="BaseParse" c:type="GstBaseParse*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="finish_frame" c:identifier="gst_base_parse_finish_frame">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbaseparse.c"
+ line="2658">Collects parsed data and pushes this downstream.
+Source pad caps must be set when this is called.
+
+If @frame's out_buffer is set, that will be used as subsequent frame data.
+Otherwise, @size samples will be taken from the input and used for output,
+and the output's metadata (timestamps etc) will be taken as (optionally)
+set by the subclass on @frame's (input) buffer (which is otherwise
+ignored for any but the above purpose/information).
+
+Note that the latter buffer is invalidated by this call, whereas the
+caller retains ownership of @frame.</doc>
+ <source-position filename="libs/gst/base/gstbaseparse.h" line="302"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbaseparse.c"
+ line="2676">a #GstFlowReturn that should be escalated to caller (of caller)</doc>
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="parse" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbaseparse.c"
+ line="2660">a #GstBaseParse</doc>
+ <type name="BaseParse" c:type="GstBaseParse*"/>
+ </instance-parameter>
+ <parameter name="frame" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbaseparse.c"
+ line="2661">a #GstBaseParseFrame</doc>
+ <type name="BaseParseFrame" c:type="GstBaseParseFrame*"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbaseparse.c"
+ line="2662">consumed input data represented by frame</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="merge_tags"
+ c:identifier="gst_base_parse_merge_tags"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbaseparse.c"
+ line="4988">Sets the parser subclass's tags and how they should be merged with any
+upstream stream tags. This will override any tags previously-set
+with gst_base_parse_merge_tags().
+
+Note that this is provided for convenience, and the subclass is
+not required to use this and can still do tag handling on its own.</doc>
+ <source-position filename="libs/gst/base/gstbaseparse.h" line="360"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="parse" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbaseparse.c"
+ line="4990">a #GstBaseParse</doc>
+ <type name="BaseParse" c:type="GstBaseParse*"/>
+ </instance-parameter>
+ <parameter name="tags"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbaseparse.c"
+ line="4991">a #GstTagList to merge, or NULL to unset
+ previously-set tags</doc>
+ <type name="Gst.TagList" c:type="GstTagList*"/>
+ </parameter>
+ <parameter name="mode" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbaseparse.c"
+ line="4993">the #GstTagMergeMode to use, usually #GST_TAG_MERGE_REPLACE</doc>
+ <type name="Gst.TagMergeMode" c:type="GstTagMergeMode"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="push_frame" c:identifier="gst_base_parse_push_frame">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbaseparse.c"
+ line="2444">Pushes the frame's buffer downstream, sends any pending events and
+does some timestamp and segment handling. Takes ownership of
+frame's buffer, though caller retains ownership of @frame.
+
+This must be called with sinkpad STREAM_LOCK held.</doc>
+ <source-position filename="libs/gst/base/gstbaseparse.h" line="299"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbaseparse.c"
+ line="2455">#GstFlowReturn</doc>
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="parse" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbaseparse.c"
+ line="2446">#GstBaseParse.</doc>
+ <type name="BaseParse" c:type="GstBaseParse*"/>
+ </instance-parameter>
+ <parameter name="frame" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbaseparse.c"
+ line="2447">a #GstBaseParseFrame</doc>
+ <type name="BaseParseFrame" c:type="GstBaseParseFrame*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_average_bitrate"
+ c:identifier="gst_base_parse_set_average_bitrate">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbaseparse.c"
+ line="3878">Optionally sets the average bitrate detected in media (if non-zero),
+e.g. based on metadata, as it will be posted to the application.
+
+By default, announced average bitrate is estimated. The average bitrate
+is used to estimate the total duration of the stream and to estimate
+a seek position, if there's no index and the format is syncable
+(see gst_base_parse_set_syncable()).</doc>
+ <source-position filename="libs/gst/base/gstbaseparse.h" line="311"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="parse" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbaseparse.c"
+ line="3880">#GstBaseParse.</doc>
+ <type name="BaseParse" c:type="GstBaseParse*"/>
+ </instance-parameter>
+ <parameter name="bitrate" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbaseparse.c"
+ line="3881">average bitrate in bits/second</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_duration" c:identifier="gst_base_parse_set_duration">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbaseparse.c"
+ line="3827">Sets the duration of the currently playing media. Subclass can use this
+when it is able to determine duration and/or notices a change in the media
+duration. Alternatively, if @interval is non-zero (default), then stream
+duration is determined based on estimated bitrate, and updated every @interval
+frames.</doc>
+ <source-position filename="libs/gst/base/gstbaseparse.h" line="306"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="parse" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbaseparse.c"
+ line="3829">#GstBaseParse.</doc>
+ <type name="BaseParse" c:type="GstBaseParse*"/>
+ </instance-parameter>
+ <parameter name="fmt" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbaseparse.c"
+ line="3830">#GstFormat.</doc>
+ <type name="Gst.Format" c:type="GstFormat"/>
+ </parameter>
+ <parameter name="duration" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbaseparse.c"
+ line="3831">duration value.</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ <parameter name="interval" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbaseparse.c"
+ line="3832">how often to update the duration estimate based on bitrate, or 0.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_frame_rate"
+ c:identifier="gst_base_parse_set_frame_rate">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbaseparse.c"
+ line="3916">If frames per second is configured, parser can take care of buffer duration
+and timestamping. When performing segment clipping, or seeking to a specific
+location, a corresponding decoder might need an initial @lead_in and a
+following @lead_out number of frames to ensure the desired segment is
+entirely filled upon decoding.</doc>
+ <source-position filename="libs/gst/base/gstbaseparse.h" line="335"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="parse" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbaseparse.c"
+ line="3918">the #GstBaseParse to set</doc>
+ <type name="BaseParse" c:type="GstBaseParse*"/>
+ </instance-parameter>
+ <parameter name="fps_num" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbaseparse.c"
+ line="3919">frames per second (numerator).</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="fps_den" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbaseparse.c"
+ line="3920">frames per second (denominator).</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="lead_in" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbaseparse.c"
+ line="3921">frames needed before a segment for subsequent decode</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="lead_out" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbaseparse.c"
+ line="3922">frames needed after a segment</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_has_timing_info"
+ c:identifier="gst_base_parse_set_has_timing_info">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbaseparse.c"
+ line="3973">Set if frames carry timing information which the subclass can (generally)
+parse and provide. In particular, intrinsic (rather than estimated) time
+can be obtained following a seek.</doc>
+ <source-position filename="libs/gst/base/gstbaseparse.h" line="317"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="parse" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbaseparse.c"
+ line="3975">a #GstBaseParse</doc>
+ <type name="BaseParse" c:type="GstBaseParse*"/>
+ </instance-parameter>
+ <parameter name="has_timing" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbaseparse.c"
+ line="3976">whether frames carry timing information</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_infer_ts" c:identifier="gst_base_parse_set_infer_ts">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbaseparse.c"
+ line="4044">By default, the base class might try to infer PTS from DTS and vice
+versa. While this is generally correct for audio data, it may not
+be otherwise. Sub-classes implementing such formats should disable
+timestamp inferring.</doc>
+ <source-position filename="libs/gst/base/gstbaseparse.h" line="332"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="parse" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbaseparse.c"
+ line="4046">a #GstBaseParse</doc>
+ <type name="BaseParse" c:type="GstBaseParse*"/>
+ </instance-parameter>
+ <parameter name="infer_ts" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbaseparse.c"
+ line="4047">%TRUE if parser should infer DTS/PTS from each other</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_latency" c:identifier="gst_base_parse_set_latency">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbaseparse.c"
+ line="4061">Sets the minimum and maximum (which may likely be equal) latency introduced
+by the parsing process. If there is such a latency, which depends on the
+particular parsing of the format, it typically corresponds to 1 frame duration.</doc>
+ <source-position filename="libs/gst/base/gstbaseparse.h" line="341"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="parse" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbaseparse.c"
+ line="4063">a #GstBaseParse</doc>
+ <type name="BaseParse" c:type="GstBaseParse*"/>
+ </instance-parameter>
+ <parameter name="min_latency" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbaseparse.c"
+ line="4064">minimum parse latency</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="max_latency" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbaseparse.c"
+ line="4065">maximum parse latency</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_min_frame_size"
+ c:identifier="gst_base_parse_set_min_frame_size">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbaseparse.c"
+ line="3898">Subclass can use this function to tell the base class that it needs to
+be given buffers of at least @min_size bytes.</doc>
+ <source-position filename="libs/gst/base/gstbaseparse.h" line="314"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="parse" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbaseparse.c"
+ line="3900">#GstBaseParse.</doc>
+ <type name="BaseParse" c:type="GstBaseParse*"/>
+ </instance-parameter>
+ <parameter name="min_size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbaseparse.c"
+ line="3901">Minimum size in bytes of the data that this base class should
+ give to subclass.</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_passthrough"
+ c:identifier="gst_base_parse_set_passthrough">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbaseparse.c"
+ line="4005">Set if the nature of the format or configuration does not allow (much)
+parsing, and the parser should operate in passthrough mode (which only
+applies when operating in push mode). That is, incoming buffers are
+pushed through unmodified, i.e. no #GstBaseParseClass.handle_frame()
+will be invoked, but #GstBaseParseClass.pre_push_frame() will still be
+invoked, so subclass can perform as much or as little is appropriate for
+passthrough semantics in #GstBaseParseClass.pre_push_frame().</doc>
+ <source-position filename="libs/gst/base/gstbaseparse.h" line="326"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="parse" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbaseparse.c"
+ line="4007">a #GstBaseParse</doc>
+ <type name="BaseParse" c:type="GstBaseParse*"/>
+ </instance-parameter>
+ <parameter name="passthrough" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbaseparse.c"
+ line="4008">%TRUE if parser should run in passthrough mode</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_pts_interpolation"
+ c:identifier="gst_base_parse_set_pts_interpolation">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbaseparse.c"
+ line="4025">By default, the base class will guess PTS timestamps using a simple
+interpolation (previous timestamp + duration), which is incorrect for
+data streams with reordering, where PTS can go backward. Sub-classes
+implementing such formats should disable PTS interpolation.</doc>
+ <source-position filename="libs/gst/base/gstbaseparse.h" line="329"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="parse" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbaseparse.c"
+ line="4027">a #GstBaseParse</doc>
+ <type name="BaseParse" c:type="GstBaseParse*"/>
+ </instance-parameter>
+ <parameter name="pts_interpolate" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbaseparse.c"
+ line="4028">%TRUE if parser should interpolate PTS timestamps</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_syncable" c:identifier="gst_base_parse_set_syncable">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbaseparse.c"
+ line="3989">Set if frame starts can be identified. This is set by default and
+determines whether seeking based on bitrate averages
+is possible for a format/stream.</doc>
+ <source-position filename="libs/gst/base/gstbaseparse.h" line="323"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="parse" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbaseparse.c"
+ line="3991">a #GstBaseParse</doc>
+ <type name="BaseParse" c:type="GstBaseParse*"/>
+ </instance-parameter>
+ <parameter name="syncable" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbaseparse.c"
+ line="3992">set if frame starts can be identified</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_ts_at_offset"
+ c:identifier="gst_base_parse_set_ts_at_offset"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbaseparse.c"
+ line="4948">This function should only be called from a @handle_frame implementation.
+
+#GstBaseParse creates initial timestamps for frames by using the last
+timestamp seen in the stream before the frame starts. In certain
+cases, the correct timestamps will occur in the stream after the
+start of the frame, but before the start of the actual picture data.
+This function can be used to set the timestamps based on the offset
+into the frame data that the picture starts.</doc>
+ <source-position filename="libs/gst/base/gstbaseparse.h" line="357"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="parse" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbaseparse.c"
+ line="4950">a #GstBaseParse</doc>
+ <type name="BaseParse" c:type="GstBaseParse*"/>
+ </instance-parameter>
+ <parameter name="offset" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbaseparse.c"
+ line="4951">offset into current buffer</doc>
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="disable-passthrough"
+ writable="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbaseparse.c"
+ line="551">If set to %TRUE, baseparse will unconditionally force parsing of the
+incoming data. This can be required in the rare cases where the incoming
+side-data (caps, pts, dts, ...) is not trusted by the user and wants to
+force validation and parsing of the incoming data.
+If set to %FALSE, decision of whether to parse the data or not is up to
+the implementation (standard behaviour).</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </property>
+ <field name="element">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbaseparse.h"
+ line="156">the parent element.</doc>
+ <type name="Gst.Element" c:type="GstElement"/>
+ </field>
+ <field name="sinkpad">
+ <type name="Gst.Pad" c:type="GstPad*"/>
+ </field>
+ <field name="srcpad">
+ <type name="Gst.Pad" c:type="GstPad*"/>
+ </field>
+ <field name="flags">
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="segment">
+ <type name="Gst.Segment" c:type="GstSegment"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="20">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="BaseParsePrivate" c:type="GstBaseParsePrivate*"/>
+ </field>
+ </class>
+ <record name="BaseParseClass"
+ c:type="GstBaseParseClass"
+ glib:is-gtype-struct-for="BaseParse">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbaseparse.h"
+ line="179">Subclasses can override any of the available virtual methods or not, as
+needed. At minimum @handle_frame needs to be overridden.</doc>
+ <source-position filename="libs/gst/base/gstbaseparse.h" line="278"/>
+ <field name="parent_class">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbaseparse.h"
+ line="181">the parent class</doc>
+ <type name="Gst.ElementClass" c:type="GstElementClass"/>
+ </field>
+ <field name="start">
+ <callback name="start">
+ <source-position filename="libs/gst/base/gstbaseparse.h" line="238"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="parse" transfer-ownership="none">
+ <type name="BaseParse" c:type="GstBaseParse*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="stop">
+ <callback name="stop">
+ <source-position filename="libs/gst/base/gstbaseparse.h" line="240"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="parse" transfer-ownership="none">
+ <type name="BaseParse" c:type="GstBaseParse*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="set_sink_caps">
+ <callback name="set_sink_caps">
+ <source-position filename="libs/gst/base/gstbaseparse.h" line="242"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="parse" transfer-ownership="none">
+ <type name="BaseParse" c:type="GstBaseParse*"/>
+ </parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="handle_frame">
+ <callback name="handle_frame">
+ <source-position filename="libs/gst/base/gstbaseparse.h" line="245"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="parse" transfer-ownership="none">
+ <type name="BaseParse" c:type="GstBaseParse*"/>
+ </parameter>
+ <parameter name="frame" transfer-ownership="none">
+ <type name="BaseParseFrame" c:type="GstBaseParseFrame*"/>
+ </parameter>
+ <parameter name="skipsize" transfer-ownership="none">
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="pre_push_frame">
+ <callback name="pre_push_frame">
+ <source-position filename="libs/gst/base/gstbaseparse.h" line="249"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="parse" transfer-ownership="none">
+ <type name="BaseParse" c:type="GstBaseParse*"/>
+ </parameter>
+ <parameter name="frame" transfer-ownership="none">
+ <type name="BaseParseFrame" c:type="GstBaseParseFrame*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="convert">
+ <callback name="convert">
+ <source-position filename="libs/gst/base/gstbaseparse.h" line="252"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="parse" transfer-ownership="none">
+ <type name="BaseParse" c:type="GstBaseParse*"/>
+ </parameter>
+ <parameter name="src_format" transfer-ownership="none">
+ <type name="Gst.Format" c:type="GstFormat"/>
+ </parameter>
+ <parameter name="src_value" transfer-ownership="none">
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ <parameter name="dest_format" transfer-ownership="none">
+ <type name="Gst.Format" c:type="GstFormat"/>
+ </parameter>
+ <parameter name="dest_value" transfer-ownership="none">
+ <type name="gint64" c:type="gint64*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="sink_event">
+ <callback name="sink_event">
+ <source-position filename="libs/gst/base/gstbaseparse.h" line="258"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="parse" transfer-ownership="none">
+ <type name="BaseParse" c:type="GstBaseParse*"/>
+ </parameter>
+ <parameter name="event" transfer-ownership="none">
+ <type name="Gst.Event" c:type="GstEvent*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="src_event">
+ <callback name="src_event">
+ <source-position filename="libs/gst/base/gstbaseparse.h" line="261"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="parse" transfer-ownership="none">
+ <type name="BaseParse" c:type="GstBaseParse*"/>
+ </parameter>
+ <parameter name="event" transfer-ownership="none">
+ <type name="Gst.Event" c:type="GstEvent*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="get_sink_caps">
+ <callback name="get_sink_caps">
+ <source-position filename="libs/gst/base/gstbaseparse.h" line="264"/>
+ <return-value transfer-ownership="full">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <parameter name="parse" transfer-ownership="none">
+ <type name="BaseParse" c:type="GstBaseParse*"/>
+ </parameter>
+ <parameter name="filter" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="detect">
+ <callback name="detect">
+ <source-position filename="libs/gst/base/gstbaseparse.h" line="267"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="parse" transfer-ownership="none">
+ <type name="BaseParse" c:type="GstBaseParse*"/>
+ </parameter>
+ <parameter name="buffer" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="sink_query">
+ <callback name="sink_query">
+ <source-position filename="libs/gst/base/gstbaseparse.h" line="270"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="parse" transfer-ownership="none">
+ <type name="BaseParse" c:type="GstBaseParse*"/>
+ </parameter>
+ <parameter name="query" transfer-ownership="none">
+ <type name="Gst.Query" c:type="GstQuery*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="src_query">
+ <callback name="src_query">
+ <source-position filename="libs/gst/base/gstbaseparse.h" line="273"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="parse" transfer-ownership="none">
+ <type name="BaseParse" c:type="GstBaseParse*"/>
+ </parameter>
+ <parameter name="query" transfer-ownership="none">
+ <type name="Gst.Query" c:type="GstQuery*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="18">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="BaseParseFrame"
+ c:type="GstBaseParseFrame"
+ glib:type-name="GstBaseParseFrame"
+ glib:get-type="gst_base_parse_frame_get_type"
+ c:symbol-prefix="base_parse_frame">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbaseparse.h"
+ line="115">Frame (context) data passed to each frame parsing virtual methods. In
+addition to providing the data to be checked for a valid frame or an already
+identified frame, it conveys additional metadata or control information
+from and to the subclass w.r.t. the particular frame in question (rather
+than global parameters). Some of these may apply to each parsing stage, others
+only to some a particular one. These parameters are effectively zeroed at start
+of each frame's processing, i.e. parsing virtual method invocation sequence.</doc>
+ <source-position filename="libs/gst/base/gstbaseparse.h" line="148"/>
+ <field name="buffer" writable="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbaseparse.h"
+ line="117">input data to be parsed for frames.</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </field>
+ <field name="out_buffer" writable="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbaseparse.h"
+ line="118">output data.</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </field>
+ <field name="flags" writable="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbaseparse.h"
+ line="125">a combination of input and output #GstBaseParseFrameFlags that
+ convey additional context to subclass or allow subclass to tune
+ subsequent #GstBaseParse actions.</doc>
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="offset" writable="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbaseparse.h"
+ line="119">media specific offset of input frame
+ Note that a converter may have a different one on the frame's buffer.</doc>
+ <type name="guint64" c:type="guint64"/>
+ </field>
+ <field name="overhead" writable="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbaseparse.h"
+ line="121">subclass can set this to indicates the metadata overhead
+ for the given frame, which is then used to enable more accurate bitrate
+ computations. If this is -1, it is assumed that this frame should be
+ skipped in bitrate calculation.</doc>
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="size" readable="0" private="1">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="_gst_reserved_i" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="2">
+ <type name="guint" c:type="guint"/>
+ </array>
+ </field>
+ <field name="_gst_reserved_p" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="2">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <field name="_private_flags" readable="0" private="1">
+ <type name="guint" c:type="guint"/>
+ </field>
+ <constructor name="new" c:identifier="gst_base_parse_frame_new">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbaseparse.c"
+ line="748">Allocates a new #GstBaseParseFrame. This function is mainly for bindings,
+elements written in C should usually allocate the frame on the stack and
+then use gst_base_parse_frame_init() to initialise it.</doc>
+ <source-position filename="libs/gst/base/gstbaseparse.h" line="287"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbaseparse.c"
+ line="760">a newly-allocated #GstBaseParseFrame. Free with
+ gst_base_parse_frame_free() when no longer needed.</doc>
+ <type name="BaseParseFrame" c:type="GstBaseParseFrame*"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbaseparse.c"
+ line="750">a #GstBuffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbaseparse.c"
+ line="751">the flags</doc>
+ <type name="BaseParseFrameFlags" c:type="GstBaseParseFrameFlags"/>
+ </parameter>
+ <parameter name="overhead" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbaseparse.c"
+ line="752">number of bytes in this frame which should be counted as
+ metadata overhead, ie. not used to calculate the average bitrate.
+ Set to -1 to mark the entire frame as metadata. If in doubt, set to 0.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <method name="copy"
+ c:identifier="gst_base_parse_frame_copy"
+ version="1.12.1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbaseparse.c"
+ line="679">Copies a #GstBaseParseFrame.</doc>
+ <source-position filename="libs/gst/base/gstbaseparse.h" line="294"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbaseparse.c"
+ line="685">A copy of @frame</doc>
+ <type name="BaseParseFrame" c:type="GstBaseParseFrame*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="frame" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbaseparse.c"
+ line="681">a #GstBaseParseFrame</doc>
+ <type name="BaseParseFrame" c:type="GstBaseParseFrame*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="free" c:identifier="gst_base_parse_frame_free">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbaseparse.c"
+ line="703">Frees the provided @frame.</doc>
+ <source-position filename="libs/gst/base/gstbaseparse.h" line="296"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="frame" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbaseparse.c"
+ line="705">A #GstBaseParseFrame</doc>
+ <type name="BaseParseFrame" c:type="GstBaseParseFrame*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="init" c:identifier="gst_base_parse_frame_init">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbaseparse.c"
+ line="730">Sets a #GstBaseParseFrame to initial state. Currently this means
+all public fields are zero-ed and a private flag is set to make
+sure gst_base_parse_frame_free() only frees the contents but not
+the actual frame. Use this function to initialise a #GstBaseParseFrame
+allocated on the stack.</doc>
+ <source-position filename="libs/gst/base/gstbaseparse.h" line="291"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="frame" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbaseparse.c"
+ line="732">#GstBaseParseFrame.</doc>
+ <type name="BaseParseFrame" c:type="GstBaseParseFrame*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ </record>
+ <bitfield name="BaseParseFrameFlags" c:type="GstBaseParseFrameFlags">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbaseparse.h"
+ line="85">Flags to be used in a #GstBaseParseFrame.</doc>
+ <source-position filename="libs/gst/base/gstbaseparse.h" line="113"/>
+ <member name="none"
+ value="0"
+ c:identifier="GST_BASE_PARSE_FRAME_FLAG_NONE">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbaseparse.h"
+ line="87">no flag</doc>
+ </member>
+ <member name="new_frame"
+ value="1"
+ c:identifier="GST_BASE_PARSE_FRAME_FLAG_NEW_FRAME">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbaseparse.h"
+ line="88">set by baseclass if current frame
+ is passed for processing to the subclass for the first time
+ (and not set on subsequent calls with same data).</doc>
+ </member>
+ <member name="no_frame"
+ value="2"
+ c:identifier="GST_BASE_PARSE_FRAME_FLAG_NO_FRAME">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbaseparse.h"
+ line="91">set to indicate this buffer should not be
+ counted as frame, e.g. if this frame is dependent on a previous one.
+ As it is not counted as a frame, bitrate increases but frame to time
+ conversions are maintained.</doc>
+ </member>
+ <member name="clip"
+ value="4"
+ c:identifier="GST_BASE_PARSE_FRAME_FLAG_CLIP">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbaseparse.h"
+ line="95">@pre_push_frame can set this to indicate
+ that regular segment clipping can still be performed (as opposed to
+ any custom one having been done).</doc>
+ </member>
+ <member name="drop"
+ value="8"
+ c:identifier="GST_BASE_PARSE_FRAME_FLAG_DROP">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbaseparse.h"
+ line="98">indicates to @finish_frame that the
+ the frame should be dropped (and might be handled internally by subclass)</doc>
+ </member>
+ <member name="queue"
+ value="16"
+ c:identifier="GST_BASE_PARSE_FRAME_FLAG_QUEUE">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbaseparse.h"
+ line="100">indicates to @finish_frame that the
+ the frame should be queued for now and processed fully later
+ when the first non-queued frame is finished</doc>
+ </member>
+ </bitfield>
+ <record name="BaseParsePrivate" c:type="GstBaseParsePrivate" disguised="1">
+ <source-position filename="libs/gst/base/gstbaseparse.h" line="152"/>
+ </record>
+ <class name="BaseSink"
+ c:symbol-prefix="base_sink"
+ c:type="GstBaseSink"
+ parent="Gst.Element"
+ abstract="1"
+ glib:type-name="GstBaseSink"
+ glib:get-type="gst_base_sink_get_type"
+ glib:type-struct="BaseSinkClass">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="22">#GstBaseSink is the base class for sink elements in GStreamer, such as
+xvimagesink or filesink. It is a layer on top of #GstElement that provides a
+simplified interface to plugin writers. #GstBaseSink handles many details
+for you, for example: preroll, clock synchronization, state changes,
+activation in push or pull mode, and queries.
+
+In most cases, when writing sink elements, there is no need to implement
+class methods from #GstElement or to set functions on pads, because the
+#GstBaseSink infrastructure should be sufficient.
+
+#GstBaseSink provides support for exactly one sink pad, which should be
+named "sink". A sink implementation (subclass of #GstBaseSink) should
+install a pad template in its class_init function, like so:
+|[&lt;!-- language="C" --&gt;
+static void
+my_element_class_init (GstMyElementClass *klass)
+{
+ GstElementClass *gstelement_class = GST_ELEMENT_CLASS (klass);
+
+ // sinktemplate should be a #GstStaticPadTemplate with direction
+ // %GST_PAD_SINK and name "sink"
+ gst_element_class_add_static_pad_template (gstelement_class, &amp;amp;sinktemplate);
+
+ gst_element_class_set_static_metadata (gstelement_class,
+ "Sink name",
+ "Sink",
+ "My Sink element",
+ "The author &lt;my.sink@my.email&gt;");
+}
+]|
+
+#GstBaseSink will handle the prerolling correctly. This means that it will
+return %GST_STATE_CHANGE_ASYNC from a state change to PAUSED until the first
+buffer arrives in this element. The base class will call the
+#GstBaseSinkClass.preroll() vmethod with this preroll buffer and will then
+commit the state change to the next asynchronously pending state.
+
+When the element is set to PLAYING, #GstBaseSink will synchronise on the
+clock using the times returned from #GstBaseSinkClass.get_times(). If this
+function returns %GST_CLOCK_TIME_NONE for the start time, no synchronisation
+will be done. Synchronisation can be disabled entirely by setting the object
+#GstBaseSink:sync property to %FALSE.
+
+After synchronisation the virtual method #GstBaseSinkClass.render() will be
+called. Subclasses should minimally implement this method.
+
+Subclasses that synchronise on the clock in the #GstBaseSinkClass.render()
+method are supported as well. These classes typically receive a buffer in
+the render method and can then potentially block on the clock while
+rendering. A typical example is an audiosink.
+These subclasses can use gst_base_sink_wait_preroll() to perform the
+blocking wait.
+
+Upon receiving the EOS event in the PLAYING state, #GstBaseSink will wait
+for the clock to reach the time indicated by the stop time of the last
+#GstBaseSinkClass.get_times() call before posting an EOS message. When the
+element receives EOS in PAUSED, preroll completes, the event is queued and an
+EOS message is posted when going to PLAYING.
+
+#GstBaseSink will internally use the %GST_EVENT_SEGMENT events to schedule
+synchronisation and clipping of buffers. Buffers that fall completely outside
+of the current segment are dropped. Buffers that fall partially in the
+segment are rendered (and prerolled). Subclasses should do any subbuffer
+clipping themselves when needed.
+
+#GstBaseSink will by default report the current playback position in
+%GST_FORMAT_TIME based on the current clock time and segment information.
+If no clock has been set on the element, the query will be forwarded
+upstream.
+
+The #GstBaseSinkClass.set_caps() function will be called when the subclass
+should configure itself to process a specific media type.
+
+The #GstBaseSinkClass.start() and #GstBaseSinkClass.stop() virtual methods
+will be called when resources should be allocated. Any
+#GstBaseSinkClass.preroll(), #GstBaseSinkClass.render() and
+#GstBaseSinkClass.set_caps() function will be called between the
+#GstBaseSinkClass.start() and #GstBaseSinkClass.stop() calls.
+
+The #GstBaseSinkClass.event() virtual method will be called when an event is
+received by #GstBaseSink. Normally this method should only be overridden by
+very specific elements (such as file sinks) which need to handle the
+newsegment event specially.
+
+The #GstBaseSinkClass.unlock() method is called when the elements should
+unblock any blocking operations they perform in the
+#GstBaseSinkClass.render() method. This is mostly useful when the
+#GstBaseSinkClass.render() method performs a blocking write on a file
+descriptor, for example.
+
+The #GstBaseSink:max-lateness property affects how the sink deals with
+buffers that arrive too late in the sink. A buffer arrives too late in the
+sink when the presentation time (as a combination of the last segment, buffer
+timestamp and element base_time) plus the duration is before the current
+time of the clock.
+If the frame is later than max-lateness, the sink will drop the buffer
+without calling the render method.
+This feature is disabled if sync is disabled, the
+#GstBaseSinkClass.get_times() method does not return a valid start time or
+max-lateness is set to -1 (the default).
+Subclasses can use gst_base_sink_set_max_lateness() to configure the
+max-lateness value.
+
+The #GstBaseSink:qos property will enable the quality-of-service features of
+the basesink which gather statistics about the real-time performance of the
+clock synchronisation. For each buffer received in the sink, statistics are
+gathered and a QOS event is sent upstream with these numbers. This
+information can then be used by upstream elements to reduce their processing
+rate, for example.
+
+The #GstBaseSink:async property can be used to instruct the sink to never
+perform an ASYNC state change. This feature is mostly usable when dealing
+with non-synchronized streams or sparse streams.</doc>
+ <source-position filename="libs/gst/base/gstbasesink.h" line="208"/>
+ <virtual-method name="activate_pull">
+ <source-position filename="libs/gst/base/gstbasesink.h" line="167"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="sink" transfer-ownership="none">
+ <type name="BaseSink" c:type="GstBaseSink*"/>
+ </instance-parameter>
+ <parameter name="active" transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="event">
+ <source-position filename="libs/gst/base/gstbasesink.h" line="192"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="sink" transfer-ownership="none">
+ <type name="BaseSink" c:type="GstBaseSink*"/>
+ </instance-parameter>
+ <parameter name="event" transfer-ownership="none">
+ <type name="Gst.Event" c:type="GstEvent*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="fixate">
+ <source-position filename="libs/gst/base/gstbasesink.h" line="165"/>
+ <return-value transfer-ownership="full">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="sink" transfer-ownership="none">
+ <type name="BaseSink" c:type="GstBaseSink*"/>
+ </instance-parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="get_caps">
+ <source-position filename="libs/gst/base/gstbasesink.h" line="160"/>
+ <return-value transfer-ownership="full">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="sink" transfer-ownership="none">
+ <type name="BaseSink" c:type="GstBaseSink*"/>
+ </instance-parameter>
+ <parameter name="filter" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="get_times">
+ <source-position filename="libs/gst/base/gstbasesink.h" line="170"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="sink" transfer-ownership="none">
+ <type name="BaseSink" c:type="GstBaseSink*"/>
+ </instance-parameter>
+ <parameter name="buffer" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="start" transfer-ownership="none">
+ <type name="Gst.ClockTime" c:type="GstClockTime*"/>
+ </parameter>
+ <parameter name="end" transfer-ownership="none">
+ <type name="Gst.ClockTime" c:type="GstClockTime*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="prepare">
+ <source-position filename="libs/gst/base/gstbasesink.h" line="197"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="sink" transfer-ownership="none">
+ <type name="BaseSink" c:type="GstBaseSink*"/>
+ </instance-parameter>
+ <parameter name="buffer" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="prepare_list">
+ <source-position filename="libs/gst/base/gstbasesink.h" line="198"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="sink" transfer-ownership="none">
+ <type name="BaseSink" c:type="GstBaseSink*"/>
+ </instance-parameter>
+ <parameter name="buffer_list" transfer-ownership="none">
+ <type name="Gst.BufferList" c:type="GstBufferList*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="preroll">
+ <source-position filename="libs/gst/base/gstbasesink.h" line="201"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="sink" transfer-ownership="none">
+ <type name="BaseSink" c:type="GstBaseSink*"/>
+ </instance-parameter>
+ <parameter name="buffer" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="propose_allocation">
+ <source-position filename="libs/gst/base/gstbasesink.h" line="174"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="sink" transfer-ownership="none">
+ <type name="BaseSink" c:type="GstBaseSink*"/>
+ </instance-parameter>
+ <parameter name="query" transfer-ownership="none">
+ <type name="Gst.Query" c:type="GstQuery*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="query">
+ <source-position filename="libs/gst/base/gstbasesink.h" line="189"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="sink" transfer-ownership="none">
+ <type name="BaseSink" c:type="GstBaseSink*"/>
+ </instance-parameter>
+ <parameter name="query" transfer-ownership="none">
+ <type name="Gst.Query" c:type="GstQuery*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="render">
+ <source-position filename="libs/gst/base/gstbasesink.h" line="202"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="sink" transfer-ownership="none">
+ <type name="BaseSink" c:type="GstBaseSink*"/>
+ </instance-parameter>
+ <parameter name="buffer" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="render_list">
+ <source-position filename="libs/gst/base/gstbasesink.h" line="204"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="sink" transfer-ownership="none">
+ <type name="BaseSink" c:type="GstBaseSink*"/>
+ </instance-parameter>
+ <parameter name="buffer_list" transfer-ownership="none">
+ <type name="Gst.BufferList" c:type="GstBufferList*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="set_caps">
+ <source-position filename="libs/gst/base/gstbasesink.h" line="162"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="sink" transfer-ownership="none">
+ <type name="BaseSink" c:type="GstBaseSink*"/>
+ </instance-parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="start">
+ <source-position filename="libs/gst/base/gstbasesink.h" line="177"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="sink" transfer-ownership="none">
+ <type name="BaseSink" c:type="GstBaseSink*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="stop">
+ <source-position filename="libs/gst/base/gstbasesink.h" line="178"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="sink" transfer-ownership="none">
+ <type name="BaseSink" c:type="GstBaseSink*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="unlock">
+ <source-position filename="libs/gst/base/gstbasesink.h" line="182"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="sink" transfer-ownership="none">
+ <type name="BaseSink" c:type="GstBaseSink*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="unlock_stop">
+ <source-position filename="libs/gst/base/gstbasesink.h" line="186"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="sink" transfer-ownership="none">
+ <type name="BaseSink" c:type="GstBaseSink*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="wait_event">
+ <source-position filename="libs/gst/base/gstbasesink.h" line="194"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="sink" transfer-ownership="none">
+ <type name="BaseSink" c:type="GstBaseSink*"/>
+ </instance-parameter>
+ <parameter name="event" transfer-ownership="none">
+ <type name="Gst.Event" c:type="GstEvent*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <method name="do_preroll" c:identifier="gst_base_sink_do_preroll">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="2450">If the @sink spawns its own thread for pulling buffers from upstream it
+should call this method after it has pulled a buffer. If the element needed
+to preroll, this function will perform the preroll and will then block
+until the element state is changed.
+
+This function should be called with the PREROLL_LOCK held.</doc>
+ <source-position filename="libs/gst/base/gstbasesink.h" line="214"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="2462">%GST_FLOW_OK if the preroll completed and processing can
+continue. Any other return value should be returned from the render vmethod.</doc>
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="sink" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="2452">the sink</doc>
+ <type name="BaseSink" c:type="GstBaseSink*"/>
+ </instance-parameter>
+ <parameter name="obj" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="2453">the mini object that caused the preroll</doc>
+ <type name="Gst.MiniObject" c:type="GstMiniObject*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_blocksize" c:identifier="gst_base_sink_get_blocksize">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="1388">Get the number of bytes that the sink will pull when it is operating in pull
+mode.</doc>
+ <source-position filename="libs/gst/base/gstbasesink.h" line="300"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="1395">the number of bytes @sink will pull in pull mode.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="sink" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="1390">a #GstBaseSink</doc>
+ <type name="BaseSink" c:type="GstBaseSink*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_drop_out_of_segment"
+ c:identifier="gst_base_sink_get_drop_out_of_segment"
+ version="1.12">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="810">Checks if @sink is currently configured to drop buffers which are outside
+the current segment</doc>
+ <source-position filename="libs/gst/base/gstbasesink.h" line="233"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="817">%TRUE if the sink is configured to drop buffers outside the
+current segment.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="sink" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="812">the sink</doc>
+ <type name="BaseSink" c:type="GstBaseSink*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_last_sample"
+ c:identifier="gst_base_sink_get_last_sample">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="1003">Get the last sample that arrived in the sink and was used for preroll or for
+rendering. This property can be used to generate thumbnails.
+
+The #GstCaps on the sample can be used to determine the type of the buffer.
+
+Free-function: gst_sample_unref</doc>
+ <source-position filename="libs/gst/base/gstbasesink.h" line="270"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="1014">a #GstSample. gst_sample_unref() after
+ usage. This function returns %NULL when no buffer has arrived in the
+ sink yet or when the sink is not in PAUSED or PLAYING.</doc>
+ <type name="Gst.Sample" c:type="GstSample*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="sink" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="1005">the sink</doc>
+ <type name="BaseSink" c:type="GstBaseSink*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_latency" c:identifier="gst_base_sink_get_latency">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="1162">Get the currently configured latency.</doc>
+ <source-position filename="libs/gst/base/gstbasesink.h" line="284"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="1168">The configured latency.</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="sink" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="1164">the sink</doc>
+ <type name="BaseSink" c:type="GstBaseSink*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_max_bitrate"
+ c:identifier="gst_base_sink_get_max_bitrate"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="1475">Get the maximum amount of bits per second that the sink will render.</doc>
+ <source-position filename="libs/gst/base/gstbasesink.h" line="316"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="1481">the maximum number of bits per second @sink will render.</doc>
+ <type name="guint64" c:type="guint64"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="sink" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="1477">a #GstBaseSink</doc>
+ <type name="BaseSink" c:type="GstBaseSink*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_max_lateness"
+ c:identifier="gst_base_sink_get_max_lateness">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="856">Gets the max lateness value. See gst_base_sink_set_max_lateness() for
+more details.</doc>
+ <source-position filename="libs/gst/base/gstbasesink.h" line="241"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="863">The maximum time in nanoseconds that a buffer can be late
+before it is dropped and not rendered. A value of -1 means an
+unlimited time.</doc>
+ <type name="gint64" c:type="gint64"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="sink" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="858">the sink</doc>
+ <type name="BaseSink" c:type="GstBaseSink*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_processing_deadline"
+ c:identifier="gst_base_sink_get_processing_deadline"
+ version="1.16">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="1534">Get the processing deadline of @sink. see
+gst_base_sink_set_processing_deadline() for more information about
+the processing deadline.</doc>
+ <source-position filename="libs/gst/base/gstbasesink.h" line="323"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="1542">the processing deadline</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="sink" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="1536">a #GstBaseSink</doc>
+ <type name="BaseSink" c:type="GstBaseSink*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_render_delay"
+ c:identifier="gst_base_sink_get_render_delay">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="1345">Get the render delay of @sink. see gst_base_sink_set_render_delay() for more
+information about the render delay.</doc>
+ <source-position filename="libs/gst/base/gstbasesink.h" line="292"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="1352">the render delay of @sink.</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="sink" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="1347">a #GstBaseSink</doc>
+ <type name="BaseSink" c:type="GstBaseSink*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_stats"
+ c:identifier="gst_base_sink_get_stats"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="5877">Return various #GstBaseSink statistics. This function returns a #GstStructure
+with name `application/x-gst-base-sink-stats` with the following fields:
+
+- "average-rate" G_TYPE_DOUBLE average frame rate
+- "dropped" G_TYPE_UINT64 Number of dropped frames
+- "rendered" G_TYPE_UINT64 Number of rendered frames</doc>
+ <source-position filename="libs/gst/base/gstbasesink.h" line="333"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="5888">pointer to #GstStructure</doc>
+ <type name="Gst.Structure" c:type="GstStructure*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="sink" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="5879">#GstBaseSink</doc>
+ <type name="BaseSink" c:type="GstBaseSink*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_sync" c:identifier="gst_base_sink_get_sync">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="766">Checks if @sink is currently configured to synchronize against the
+clock.</doc>
+ <source-position filename="libs/gst/base/gstbasesink.h" line="225"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="773">%TRUE if the sink is configured to synchronize against the clock.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="sink" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="768">the sink</doc>
+ <type name="BaseSink" c:type="GstBaseSink*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_throttle_time"
+ c:identifier="gst_base_sink_get_throttle_time">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="1432">Get the time that will be inserted between frames to control the
+maximum buffers per second.</doc>
+ <source-position filename="libs/gst/base/gstbasesink.h" line="308"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="1439">the number of nanoseconds @sink will put between frames.</doc>
+ <type name="guint64" c:type="guint64"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="sink" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="1434">a #GstBaseSink</doc>
+ <type name="BaseSink" c:type="GstBaseSink*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_ts_offset" c:identifier="gst_base_sink_get_ts_offset">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="981">Get the synchronisation offset of @sink.</doc>
+ <source-position filename="libs/gst/base/gstbasesink.h" line="265"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="987">The synchronisation offset.</doc>
+ <type name="Gst.ClockTimeDiff" c:type="GstClockTimeDiff"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="sink" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="983">the sink</doc>
+ <type name="BaseSink" c:type="GstBaseSink*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="is_async_enabled"
+ c:identifier="gst_base_sink_is_async_enabled">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="938">Checks if @sink is currently configured to perform asynchronous state
+changes to PAUSED.</doc>
+ <source-position filename="libs/gst/base/gstbasesink.h" line="257"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="945">%TRUE if the sink is configured to perform asynchronous state
+changes.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="sink" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="940">the sink</doc>
+ <type name="BaseSink" c:type="GstBaseSink*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="is_last_sample_enabled"
+ c:identifier="gst_base_sink_is_last_sample_enabled">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="1145">Checks if @sink is currently configured to store the last received sample in
+the last-sample property.</doc>
+ <source-position filename="libs/gst/base/gstbasesink.h" line="276"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="1152">%TRUE if the sink is configured to store the last received sample.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="sink" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="1147">the sink</doc>
+ <type name="BaseSink" c:type="GstBaseSink*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="is_qos_enabled"
+ c:identifier="gst_base_sink_is_qos_enabled">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="896">Checks if @sink is currently configured to send Quality-of-Service events
+upstream.</doc>
+ <source-position filename="libs/gst/base/gstbasesink.h" line="249"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="903">%TRUE if the sink is configured to perform Quality-of-Service.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="sink" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="898">the sink</doc>
+ <type name="BaseSink" c:type="GstBaseSink*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="query_latency" c:identifier="gst_base_sink_query_latency">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="1182">Query the sink for the latency parameters. The latency will be queried from
+the upstream elements. @live will be %TRUE if @sink is configured to
+synchronize against the clock. @upstream_live will be %TRUE if an upstream
+element is live.
+
+If both @live and @upstream_live are %TRUE, the sink will want to compensate
+for the latency introduced by the upstream elements by setting the
+@min_latency to a strictly positive value.
+
+This function is mostly used by subclasses.</doc>
+ <source-position filename="libs/gst/base/gstbasesink.h" line="281"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="1201">%TRUE if the query succeeded.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="sink" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="1184">the sink</doc>
+ <type name="BaseSink" c:type="GstBaseSink*"/>
+ </instance-parameter>
+ <parameter name="live"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="1185">if the sink is live</doc>
+ <type name="gboolean" c:type="gboolean*"/>
+ </parameter>
+ <parameter name="upstream_live"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="1186">if an upstream element is live</doc>
+ <type name="gboolean" c:type="gboolean*"/>
+ </parameter>
+ <parameter name="min_latency"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="1187">the min latency of the upstream elements</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime*"/>
+ </parameter>
+ <parameter name="max_latency"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="1188">the max latency of the upstream elements</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_async_enabled"
+ c:identifier="gst_base_sink_set_async_enabled">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="917">Configures @sink to perform all state changes asynchronously. When async is
+disabled, the sink will immediately go to PAUSED instead of waiting for a
+preroll buffer. This feature is useful if the sink does not synchronize
+against the clock or when it is dealing with sparse streams.</doc>
+ <source-position filename="libs/gst/base/gstbasesink.h" line="254"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="sink" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="919">the sink</doc>
+ <type name="BaseSink" c:type="GstBaseSink*"/>
+ </instance-parameter>
+ <parameter name="enabled" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="920">the new async value.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_blocksize" c:identifier="gst_base_sink_set_blocksize">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="1368">Set the number of bytes that the sink will pull when it is operating in pull
+mode.</doc>
+ <source-position filename="libs/gst/base/gstbasesink.h" line="297"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="sink" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="1370">a #GstBaseSink</doc>
+ <type name="BaseSink" c:type="GstBaseSink*"/>
+ </instance-parameter>
+ <parameter name="blocksize" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="1371">the blocksize in bytes</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_drop_out_of_segment"
+ c:identifier="gst_base_sink_set_drop_out_of_segment"
+ version="1.12">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="789">Configure @sink to drop buffers which are outside the current segment</doc>
+ <source-position filename="libs/gst/base/gstbasesink.h" line="230"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="sink" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="791">the sink</doc>
+ <type name="BaseSink" c:type="GstBaseSink*"/>
+ </instance-parameter>
+ <parameter name="drop_out_of_segment" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="792">drop buffers outside the segment</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_last_sample_enabled"
+ c:identifier="gst_base_sink_set_last_sample_enabled">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="1122">Configures @sink to store the last received sample in the last-sample
+property.</doc>
+ <source-position filename="libs/gst/base/gstbasesink.h" line="273"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="sink" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="1124">the sink</doc>
+ <type name="BaseSink" c:type="GstBaseSink*"/>
+ </instance-parameter>
+ <parameter name="enabled" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="1125">the new enable-last-sample value.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_max_bitrate"
+ c:identifier="gst_base_sink_set_max_bitrate"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="1455">Set the maximum amount of bits per second that the sink will render.</doc>
+ <source-position filename="libs/gst/base/gstbasesink.h" line="313"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="sink" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="1457">a #GstBaseSink</doc>
+ <type name="BaseSink" c:type="GstBaseSink*"/>
+ </instance-parameter>
+ <parameter name="max_bitrate" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="1458">the max_bitrate in bits per second</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_max_lateness"
+ c:identifier="gst_base_sink_set_max_lateness">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="836">Sets the new max lateness value to @max_lateness. This value is
+used to decide if a buffer should be dropped or not based on the
+buffer timestamp and the current clock time. A value of -1 means
+an unlimited time.</doc>
+ <source-position filename="libs/gst/base/gstbasesink.h" line="238"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="sink" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="838">the sink</doc>
+ <type name="BaseSink" c:type="GstBaseSink*"/>
+ </instance-parameter>
+ <parameter name="max_lateness" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="839">the new max lateness value.</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_processing_deadline"
+ c:identifier="gst_base_sink_set_processing_deadline"
+ version="1.16">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="1499">Maximum amount of time (in nanoseconds) that the pipeline can take
+for processing the buffer. This is added to the latency of live
+pipelines.
+
+This function is usually called by subclasses.</doc>
+ <source-position filename="libs/gst/base/gstbasesink.h" line="320"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="sink" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="1501">a #GstBaseSink</doc>
+ <type name="BaseSink" c:type="GstBaseSink*"/>
+ </instance-parameter>
+ <parameter name="processing_deadline" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="1502">the new processing deadline in nanoseconds.</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_qos_enabled"
+ c:identifier="gst_base_sink_set_qos_enabled">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="881">Configures @sink to send Quality-of-Service events upstream.</doc>
+ <source-position filename="libs/gst/base/gstbasesink.h" line="246"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="sink" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="883">the sink</doc>
+ <type name="BaseSink" c:type="GstBaseSink*"/>
+ </instance-parameter>
+ <parameter name="enabled" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="884">the new qos value.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_render_delay"
+ c:identifier="gst_base_sink_set_render_delay">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="1309">Set the render delay in @sink to @delay. The render delay is the time
+between actual rendering of a buffer and its synchronisation time. Some
+devices might delay media rendering which can be compensated for with this
+function.
+
+After calling this function, this sink will report additional latency and
+other sinks will adjust their latency to delay the rendering of their media.
+
+This function is usually called by subclasses.</doc>
+ <source-position filename="libs/gst/base/gstbasesink.h" line="289"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="sink" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="1311">a #GstBaseSink</doc>
+ <type name="BaseSink" c:type="GstBaseSink*"/>
+ </instance-parameter>
+ <parameter name="delay" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="1312">the new delay</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_sync" c:identifier="gst_base_sink_set_sync">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="745">Configures @sink to synchronize on the clock or not. When
+@sync is %FALSE, incoming samples will be played as fast as
+possible. If @sync is %TRUE, the timestamps of the incoming
+buffers will be used to schedule the exact render time of its
+contents.</doc>
+ <source-position filename="libs/gst/base/gstbasesink.h" line="222"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="sink" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="747">the sink</doc>
+ <type name="BaseSink" c:type="GstBaseSink*"/>
+ </instance-parameter>
+ <parameter name="sync" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="748">the new sync value.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_throttle_time"
+ c:identifier="gst_base_sink_set_throttle_time">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="1412">Set the time that will be inserted between rendered buffers. This
+can be used to control the maximum buffers per second that the sink
+will render.</doc>
+ <source-position filename="libs/gst/base/gstbasesink.h" line="305"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="sink" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="1414">a #GstBaseSink</doc>
+ <type name="BaseSink" c:type="GstBaseSink*"/>
+ </instance-parameter>
+ <parameter name="throttle" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="1415">the throttle time in nanoseconds</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_ts_offset" c:identifier="gst_base_sink_set_ts_offset">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="960">Adjust the synchronisation of @sink with @offset. A negative value will
+render buffers earlier than their timestamp. A positive value will delay
+rendering. This function can be used to fix playback of badly timestamped
+buffers.</doc>
+ <source-position filename="libs/gst/base/gstbasesink.h" line="262"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="sink" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="962">the sink</doc>
+ <type name="BaseSink" c:type="GstBaseSink*"/>
+ </instance-parameter>
+ <parameter name="offset" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="963">the new offset</doc>
+ <type name="Gst.ClockTimeDiff" c:type="GstClockTimeDiff"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="wait" c:identifier="gst_base_sink_wait">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="2552">This function will wait for preroll to complete and will then block until @time
+is reached. It is usually called by subclasses that use their own internal
+synchronisation but want to let some synchronization (like EOS) be handled
+by the base class.
+
+This function should only be called with the PREROLL_LOCK held (like when
+receiving an EOS event in the ::event vmethod or when handling buffers in
+::render).
+
+The @time argument should be the running_time of when the timeout should happen
+and will be adjusted with any latency and offset configured in the sink.</doc>
+ <source-position filename="libs/gst/base/gstbasesink.h" line="329"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="2570">#GstFlowReturn</doc>
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="sink" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="2554">the sink</doc>
+ <type name="BaseSink" c:type="GstBaseSink*"/>
+ </instance-parameter>
+ <parameter name="time" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="2555">the running_time to be reached</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="jitter"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="2556">the jitter to be filled with time diff, or %NULL</doc>
+ <type name="Gst.ClockTimeDiff" c:type="GstClockTimeDiff*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="wait_clock" c:identifier="gst_base_sink_wait_clock">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="2294">This function will block until @time is reached. It is usually called by
+subclasses that use their own internal synchronisation.
+
+If @time is not valid, no synchronisation is done and %GST_CLOCK_BADTIME is
+returned. Likewise, if synchronisation is disabled in the element or there
+is no clock, no synchronisation is done and %GST_CLOCK_BADTIME is returned.
+
+This function should only be called with the PREROLL_LOCK held, like when
+receiving an EOS event in the #GstBaseSinkClass.event() vmethod or when
+receiving a buffer in
+the #GstBaseSinkClass.render() vmethod.
+
+The @time argument should be the running_time of when this method should
+return and is not adjusted with any latency or offset configured in the
+sink.</doc>
+ <source-position filename="libs/gst/base/gstbasesink.h" line="326"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="2316">#GstClockReturn</doc>
+ <type name="Gst.ClockReturn" c:type="GstClockReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="sink" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="2296">the sink</doc>
+ <type name="BaseSink" c:type="GstBaseSink*"/>
+ </instance-parameter>
+ <parameter name="time" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="2297">the running_time to be reached</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="jitter"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="2298">the jitter to be filled with time diff, or %NULL</doc>
+ <type name="Gst.ClockTimeDiff" c:type="GstClockTimeDiff*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="wait_preroll" c:identifier="gst_base_sink_wait_preroll">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="2394">If the #GstBaseSinkClass.render() method performs its own synchronisation
+against the clock it must unblock when going from PLAYING to the PAUSED state
+and call this method before continuing to render the remaining data.
+
+If the #GstBaseSinkClass.render() method can block on something else than
+the clock, it must also be ready to unblock immediately on
+the #GstBaseSinkClass.unlock() method and cause the
+#GstBaseSinkClass.render() method to immediately call this function.
+In this case, the subclass must be prepared to continue rendering where it
+left off if this function returns %GST_FLOW_OK.
+
+This function will block until a state change to PLAYING happens (in which
+case this function returns %GST_FLOW_OK) or the processing must be stopped due
+to a state change to READY or a FLUSH event (in which case this function
+returns %GST_FLOW_FLUSHING).
+
+This function should only be called with the PREROLL_LOCK held, like in the
+render function.</doc>
+ <source-position filename="libs/gst/base/gstbasesink.h" line="217"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="2417">%GST_FLOW_OK if the preroll completed and processing can
+continue. Any other return value should be returned from the render vmethod.</doc>
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="sink" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="2396">the sink</doc>
+ <type name="BaseSink" c:type="GstBaseSink*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <property name="async" writable="1" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="467">If set to %TRUE, the basesink will perform asynchronous state changes.
+When set to %FALSE, the sink will not signal the parent when it prerolls.
+Use this option when dealing with sparse streams or when synchronisation is
+not required.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </property>
+ <property name="blocksize" writable="1" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="515">The amount of bytes to pull when operating in pull mode.</doc>
+ <type name="guint" c:type="guint"/>
+ </property>
+ <property name="enable-last-sample"
+ writable="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="491">Enable the last-sample property. If %FALSE, basesink doesn't keep a
+reference to the last buffer arrived and the last-sample property is always
+set to %NULL. This can be useful if you need buffers to be released as soon
+as possible, eg. if you're using a buffer pool.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </property>
+ <property name="last-sample" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="504">The last buffer that arrived in the sink and was used for preroll or for
+rendering. This property can be used to generate thumbnails. This property
+can be %NULL when the sink has not yet received a buffer.</doc>
+ <type name="Gst.Sample"/>
+ </property>
+ <property name="max-bitrate"
+ version="1.2"
+ writable="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="548">Control the maximum amount of bits that will be rendered per second.
+Setting this property to a value bigger than 0 will make the sink delay
+rendering of the buffers when it would exceed to max-bitrate.</doc>
+ <type name="guint64" c:type="guint64"/>
+ </property>
+ <property name="max-lateness" writable="1" transfer-ownership="none">
+ <type name="gint64" c:type="gint64"/>
+ </property>
+ <property name="processing-deadline"
+ version="1.16"
+ writable="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="562">Maximum amount of time (in nanoseconds) that the pipeline can take
+for processing the buffer. This is added to the latency of live
+pipelines.</doc>
+ <type name="guint64" c:type="guint64"/>
+ </property>
+ <property name="qos" writable="1" transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </property>
+ <property name="render-delay" writable="1" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="525">The additional delay between synchronisation and actual rendering of the
+media. This property will add additional latency to the device in order to
+make other sinks compensate for the delay.</doc>
+ <type name="guint64" c:type="guint64"/>
+ </property>
+ <property name="stats" version="1.18" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="578">Various #GstBaseSink statistics. This property returns a #GstStructure
+with name `application/x-gst-base-sink-stats` with the following fields:
+
+- "average-rate" G_TYPE_DOUBLE average frame rate
+- "dropped" G_TYPE_UINT64 Number of dropped frames
+- "rendered" G_TYPE_UINT64 Number of rendered frames</doc>
+ <type name="Gst.Structure"/>
+ </property>
+ <property name="sync" writable="1" transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </property>
+ <property name="throttle-time" writable="1" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="536">The time to insert between buffers. This property can be used to control
+the maximum amount of buffers per second to render. Setting this property
+to a value bigger than 0 will make the sink create THROTTLE QoS events.</doc>
+ <type name="guint64" c:type="guint64"/>
+ </property>
+ <property name="ts-offset" writable="1" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.c"
+ line="479">Controls the final synchronisation, a negative value will render the buffer
+earlier while a positive value delays playback. This property can be
+used to fix synchronisation in bad files.</doc>
+ <type name="gint64" c:type="gint64"/>
+ </property>
+ <field name="element">
+ <type name="Gst.Element" c:type="GstElement"/>
+ </field>
+ <field name="sinkpad">
+ <type name="Gst.Pad" c:type="GstPad*"/>
+ </field>
+ <field name="pad_mode">
+ <type name="Gst.PadMode" c:type="GstPadMode"/>
+ </field>
+ <field name="offset">
+ <type name="guint64" c:type="guint64"/>
+ </field>
+ <field name="can_activate_pull">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="can_activate_push">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="preroll_lock">
+ <type name="GLib.Mutex" c:type="GMutex"/>
+ </field>
+ <field name="preroll_cond">
+ <type name="GLib.Cond" c:type="GCond"/>
+ </field>
+ <field name="eos">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="need_preroll">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="have_preroll">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="playing_async">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="have_newsegment">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="segment">
+ <type name="Gst.Segment" c:type="GstSegment"/>
+ </field>
+ <field name="clock_id" readable="0" private="1">
+ <type name="Gst.ClockID" c:type="GstClockID"/>
+ </field>
+ <field name="sync" readable="0" private="1">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="flushing" readable="0" private="1">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="running" readable="0" private="1">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="max_lateness" readable="0" private="1">
+ <type name="gint64" c:type="gint64"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="BaseSinkPrivate" c:type="GstBaseSinkPrivate*"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="20">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="BaseSinkClass"
+ c:type="GstBaseSinkClass"
+ glib:is-gtype-struct-for="BaseSink">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.h"
+ line="108">Subclasses can override any of the available virtual methods or not, as
+needed. At the minimum, the @render method should be overridden to
+output/present buffers.</doc>
+ <source-position filename="libs/gst/base/gstbasesink.h" line="208"/>
+ <field name="parent_class">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesink.h"
+ line="110">Element parent class</doc>
+ <type name="Gst.ElementClass" c:type="GstElementClass"/>
+ </field>
+ <field name="get_caps">
+ <callback name="get_caps">
+ <source-position filename="libs/gst/base/gstbasesink.h" line="160"/>
+ <return-value transfer-ownership="full">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <parameter name="sink" transfer-ownership="none">
+ <type name="BaseSink" c:type="GstBaseSink*"/>
+ </parameter>
+ <parameter name="filter" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="set_caps">
+ <callback name="set_caps">
+ <source-position filename="libs/gst/base/gstbasesink.h" line="162"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="sink" transfer-ownership="none">
+ <type name="BaseSink" c:type="GstBaseSink*"/>
+ </parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="fixate">
+ <callback name="fixate">
+ <source-position filename="libs/gst/base/gstbasesink.h" line="165"/>
+ <return-value transfer-ownership="full">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <parameter name="sink" transfer-ownership="none">
+ <type name="BaseSink" c:type="GstBaseSink*"/>
+ </parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="activate_pull">
+ <callback name="activate_pull">
+ <source-position filename="libs/gst/base/gstbasesink.h" line="167"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="sink" transfer-ownership="none">
+ <type name="BaseSink" c:type="GstBaseSink*"/>
+ </parameter>
+ <parameter name="active" transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="get_times">
+ <callback name="get_times">
+ <source-position filename="libs/gst/base/gstbasesink.h" line="170"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="sink" transfer-ownership="none">
+ <type name="BaseSink" c:type="GstBaseSink*"/>
+ </parameter>
+ <parameter name="buffer" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="start" transfer-ownership="none">
+ <type name="Gst.ClockTime" c:type="GstClockTime*"/>
+ </parameter>
+ <parameter name="end" transfer-ownership="none">
+ <type name="Gst.ClockTime" c:type="GstClockTime*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="propose_allocation">
+ <callback name="propose_allocation">
+ <source-position filename="libs/gst/base/gstbasesink.h" line="174"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="sink" transfer-ownership="none">
+ <type name="BaseSink" c:type="GstBaseSink*"/>
+ </parameter>
+ <parameter name="query" transfer-ownership="none">
+ <type name="Gst.Query" c:type="GstQuery*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="start">
+ <callback name="start">
+ <source-position filename="libs/gst/base/gstbasesink.h" line="177"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="sink" transfer-ownership="none">
+ <type name="BaseSink" c:type="GstBaseSink*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="stop">
+ <callback name="stop">
+ <source-position filename="libs/gst/base/gstbasesink.h" line="178"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="sink" transfer-ownership="none">
+ <type name="BaseSink" c:type="GstBaseSink*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="unlock">
+ <callback name="unlock">
+ <source-position filename="libs/gst/base/gstbasesink.h" line="182"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="sink" transfer-ownership="none">
+ <type name="BaseSink" c:type="GstBaseSink*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="unlock_stop">
+ <callback name="unlock_stop">
+ <source-position filename="libs/gst/base/gstbasesink.h" line="186"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="sink" transfer-ownership="none">
+ <type name="BaseSink" c:type="GstBaseSink*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="query">
+ <callback name="query">
+ <source-position filename="libs/gst/base/gstbasesink.h" line="189"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="sink" transfer-ownership="none">
+ <type name="BaseSink" c:type="GstBaseSink*"/>
+ </parameter>
+ <parameter name="query" transfer-ownership="none">
+ <type name="Gst.Query" c:type="GstQuery*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="event">
+ <callback name="event">
+ <source-position filename="libs/gst/base/gstbasesink.h" line="192"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="sink" transfer-ownership="none">
+ <type name="BaseSink" c:type="GstBaseSink*"/>
+ </parameter>
+ <parameter name="event" transfer-ownership="none">
+ <type name="Gst.Event" c:type="GstEvent*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="wait_event">
+ <callback name="wait_event">
+ <source-position filename="libs/gst/base/gstbasesink.h" line="194"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="sink" transfer-ownership="none">
+ <type name="BaseSink" c:type="GstBaseSink*"/>
+ </parameter>
+ <parameter name="event" transfer-ownership="none">
+ <type name="Gst.Event" c:type="GstEvent*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="prepare">
+ <callback name="prepare">
+ <source-position filename="libs/gst/base/gstbasesink.h" line="197"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="sink" transfer-ownership="none">
+ <type name="BaseSink" c:type="GstBaseSink*"/>
+ </parameter>
+ <parameter name="buffer" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="prepare_list">
+ <callback name="prepare_list">
+ <source-position filename="libs/gst/base/gstbasesink.h" line="198"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="sink" transfer-ownership="none">
+ <type name="BaseSink" c:type="GstBaseSink*"/>
+ </parameter>
+ <parameter name="buffer_list" transfer-ownership="none">
+ <type name="Gst.BufferList" c:type="GstBufferList*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="preroll">
+ <callback name="preroll">
+ <source-position filename="libs/gst/base/gstbasesink.h" line="201"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="sink" transfer-ownership="none">
+ <type name="BaseSink" c:type="GstBaseSink*"/>
+ </parameter>
+ <parameter name="buffer" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="render">
+ <callback name="render">
+ <source-position filename="libs/gst/base/gstbasesink.h" line="202"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="sink" transfer-ownership="none">
+ <type name="BaseSink" c:type="GstBaseSink*"/>
+ </parameter>
+ <parameter name="buffer" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="render_list">
+ <callback name="render_list">
+ <source-position filename="libs/gst/base/gstbasesink.h" line="204"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="sink" transfer-ownership="none">
+ <type name="BaseSink" c:type="GstBaseSink*"/>
+ </parameter>
+ <parameter name="buffer_list" transfer-ownership="none">
+ <type name="Gst.BufferList" c:type="GstBufferList*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="20">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="BaseSinkPrivate" c:type="GstBaseSinkPrivate" disguised="1">
+ <source-position filename="libs/gst/base/gstbasesink.h" line="63"/>
+ </record>
+ <class name="BaseSrc"
+ c:symbol-prefix="base_src"
+ c:type="GstBaseSrc"
+ parent="Gst.Element"
+ abstract="1"
+ glib:type-name="GstBaseSrc"
+ glib:get-type="gst_base_src_get_type"
+ glib:type-struct="BaseSrcClass">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesrc.c"
+ line="23">This is a generic base class for source elements. The following
+types of sources are supported:
+
+ * random access sources like files
+ * seekable sources
+ * live sources
+
+The source can be configured to operate in any #GstFormat with the
+gst_base_src_set_format() method. The currently set format determines
+the format of the internal #GstSegment and any %GST_EVENT_SEGMENT
+events. The default format for #GstBaseSrc is %GST_FORMAT_BYTES.
+
+#GstBaseSrc always supports push mode scheduling. If the following
+conditions are met, it also supports pull mode scheduling:
+
+ * The format is set to %GST_FORMAT_BYTES (default).
+ * #GstBaseSrcClass.is_seekable() returns %TRUE.
+
+If all the conditions are met for operating in pull mode, #GstBaseSrc is
+automatically seekable in push mode as well. The following conditions must
+be met to make the element seekable in push mode when the format is not
+%GST_FORMAT_BYTES:
+
+* #GstBaseSrcClass.is_seekable() returns %TRUE.
+* #GstBaseSrcClass.query() can convert all supported seek formats to the
+ internal format as set with gst_base_src_set_format().
+* #GstBaseSrcClass.do_seek() is implemented, performs the seek and returns
+ %TRUE.
+
+When the element does not meet the requirements to operate in pull mode, the
+offset and length in the #GstBaseSrcClass.create() method should be ignored.
+It is recommended to subclass #GstPushSrc instead, in this situation. If the
+element can operate in pull mode but only with specific offsets and
+lengths, it is allowed to generate an error when the wrong values are passed
+to the #GstBaseSrcClass.create() function.
+
+#GstBaseSrc has support for live sources. Live sources are sources that when
+paused discard data, such as audio or video capture devices. A typical live
+source also produces data at a fixed rate and thus provides a clock to publish
+this rate.
+Use gst_base_src_set_live() to activate the live source mode.
+
+A live source does not produce data in the PAUSED state. This means that the
+#GstBaseSrcClass.create() method will not be called in PAUSED but only in
+PLAYING. To signal the pipeline that the element will not produce data, the
+return value from the READY to PAUSED state will be
+%GST_STATE_CHANGE_NO_PREROLL.
+
+A typical live source will timestamp the buffers it creates with the
+current running time of the pipeline. This is one reason why a live source
+can only produce data in the PLAYING state, when the clock is actually
+distributed and running.
+
+Live sources that synchronize and block on the clock (an audio source, for
+example) can use gst_base_src_wait_playing() when the
+#GstBaseSrcClass.create() function was interrupted by a state change to
+PAUSED.
+
+The #GstBaseSrcClass.get_times() method can be used to implement pseudo-live
+sources. It only makes sense to implement the #GstBaseSrcClass.get_times()
+function if the source is a live source. The #GstBaseSrcClass.get_times()
+function should return timestamps starting from 0, as if it were a non-live
+source. The base class will make sure that the timestamps are transformed
+into the current running_time. The base source will then wait for the
+calculated running_time before pushing out the buffer.
+
+For live sources, the base class will by default report a latency of 0.
+For pseudo live sources, the base class will by default measure the difference
+between the first buffer timestamp and the start time of get_times and will
+report this value as the latency.
+Subclasses should override the query function when this behaviour is not
+acceptable.
+
+There is only support in #GstBaseSrc for exactly one source pad, which
+should be named "src". A source implementation (subclass of #GstBaseSrc)
+should install a pad template in its class_init function, like so:
+|[&lt;!-- language="C" --&gt;
+static void
+my_element_class_init (GstMyElementClass *klass)
+{
+ GstElementClass *gstelement_class = GST_ELEMENT_CLASS (klass);
+ // srctemplate should be a #GstStaticPadTemplate with direction
+ // %GST_PAD_SRC and name "src"
+ gst_element_class_add_static_pad_template (gstelement_class, &amp;amp;srctemplate);
+
+ gst_element_class_set_static_metadata (gstelement_class,
+ "Source name",
+ "Source",
+ "My Source element",
+ "The author &lt;my.sink@my.email&gt;");
+}
+]|
+
+## Controlled shutdown of live sources in applications
+
+Applications that record from a live source may want to stop recording
+in a controlled way, so that the recording is stopped, but the data
+already in the pipeline is processed to the end (remember that many live
+sources would go on recording forever otherwise). For that to happen the
+application needs to make the source stop recording and send an EOS
+event down the pipeline. The application would then wait for an
+EOS message posted on the pipeline's bus to know when all data has
+been processed and the pipeline can safely be stopped.
+
+An application may send an EOS event to a source element to make it
+perform the EOS logic (send EOS event downstream or post a
+%GST_MESSAGE_SEGMENT_DONE on the bus). This can typically be done
+with the gst_element_send_event() function on the element or its parent bin.
+
+After the EOS has been sent to the element, the application should wait for
+an EOS message to be posted on the pipeline's bus. Once this EOS message is
+received, it may safely shut down the entire pipeline.</doc>
+ <source-position filename="libs/gst/base/gstbasesrc.h" line="254"/>
+ <virtual-method name="alloc">
+ <source-position filename="libs/gst/base/gstbasesrc.h" line="246"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="src" transfer-ownership="none">
+ <type name="BaseSrc" c:type="GstBaseSrc*"/>
+ </instance-parameter>
+ <parameter name="offset" transfer-ownership="none">
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="buf" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer**"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="create">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesrc.h"
+ line="235">Ask the subclass to create a buffer with @offset and @size, the default
+implementation will call alloc and fill.</doc>
+ <source-position filename="libs/gst/base/gstbasesrc.h" line="242"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="src" transfer-ownership="none">
+ <type name="BaseSrc" c:type="GstBaseSrc*"/>
+ </instance-parameter>
+ <parameter name="offset" transfer-ownership="none">
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="buf"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <type name="Gst.Buffer" c:type="GstBuffer**"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="decide_allocation">
+ <source-position filename="libs/gst/base/gstbasesrc.h" line="192"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="src" transfer-ownership="none">
+ <type name="BaseSrc" c:type="GstBaseSrc*"/>
+ </instance-parameter>
+ <parameter name="query" transfer-ownership="none">
+ <type name="Gst.Query" c:type="GstQuery*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="do_seek">
+ <source-position filename="libs/gst/base/gstbasesrc.h" line="221"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="src" transfer-ownership="none">
+ <type name="BaseSrc" c:type="GstBaseSrc*"/>
+ </instance-parameter>
+ <parameter name="segment" transfer-ownership="none">
+ <type name="Gst.Segment" c:type="GstSegment*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="event">
+ <source-position filename="libs/gst/base/gstbasesrc.h" line="233"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="src" transfer-ownership="none">
+ <type name="BaseSrc" c:type="GstBaseSrc*"/>
+ </instance-parameter>
+ <parameter name="event" transfer-ownership="none">
+ <type name="Gst.Event" c:type="GstEvent*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="fill">
+ <source-position filename="libs/gst/base/gstbasesrc.h" line="249"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="src" transfer-ownership="none">
+ <type name="BaseSrc" c:type="GstBaseSrc*"/>
+ </instance-parameter>
+ <parameter name="offset" transfer-ownership="none">
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="buf" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="fixate">
+ <source-position filename="libs/gst/base/gstbasesrc.h" line="187"/>
+ <return-value transfer-ownership="full">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="src" transfer-ownership="none">
+ <type name="BaseSrc" c:type="GstBaseSrc*"/>
+ </instance-parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="get_caps">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesrc.h"
+ line="177">Called to get the caps to report.</doc>
+ <source-position filename="libs/gst/base/gstbasesrc.h" line="183"/>
+ <return-value transfer-ownership="full">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="src" transfer-ownership="none">
+ <type name="BaseSrc" c:type="GstBaseSrc*"/>
+ </instance-parameter>
+ <parameter name="filter"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="get_size">
+ <source-position filename="libs/gst/base/gstbasesrc.h" line="211"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="src" transfer-ownership="none">
+ <type name="BaseSrc" c:type="GstBaseSrc*"/>
+ </instance-parameter>
+ <parameter name="size" transfer-ownership="none">
+ <type name="guint64" c:type="guint64*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="get_times">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesrc.h"
+ line="198">Given @buffer, return @start and @end time when it should be pushed
+out. The base class will sync on the clock using these times.</doc>
+ <source-position filename="libs/gst/base/gstbasesrc.h" line="206"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="src" transfer-ownership="none">
+ <type name="BaseSrc" c:type="GstBaseSrc*"/>
+ </instance-parameter>
+ <parameter name="buffer" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="start"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <type name="Gst.ClockTime" c:type="GstClockTime*"/>
+ </parameter>
+ <parameter name="end"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <type name="Gst.ClockTime" c:type="GstClockTime*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="is_seekable">
+ <source-position filename="libs/gst/base/gstbasesrc.h" line="214"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="src" transfer-ownership="none">
+ <type name="BaseSrc" c:type="GstBaseSrc*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="negotiate" invoker="negotiate" version="1.18">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesrc.c"
+ line="3459">Negotiates src pad caps with downstream elements.
+Unmarks GST_PAD_FLAG_NEED_RECONFIGURE in any case. But marks it again
+if #GstBaseSrcClass.negotiate() fails.
+
+Do not call this in the #GstBaseSrcClass.fill() vmethod. Call this in
+#GstBaseSrcClass.create() or in #GstBaseSrcClass.alloc(), _before_ any
+buffer is allocated.</doc>
+ <source-position filename="libs/gst/base/gstbasesrc.h" line="185"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesrc.c"
+ line="3471">%TRUE if the negotiation succeeded, else %FALSE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="src" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesrc.c"
+ line="3461">base source instance</doc>
+ <type name="BaseSrc" c:type="GstBaseSrc*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="prepare_seek_segment">
+ <source-position filename="libs/gst/base/gstbasesrc.h" line="218"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="src" transfer-ownership="none">
+ <type name="BaseSrc" c:type="GstBaseSrc*"/>
+ </instance-parameter>
+ <parameter name="seek" transfer-ownership="none">
+ <type name="Gst.Event" c:type="GstEvent*"/>
+ </parameter>
+ <parameter name="segment" transfer-ownership="none">
+ <type name="Gst.Segment" c:type="GstSegment*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="query">
+ <source-position filename="libs/gst/base/gstbasesrc.h" line="230"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="src" transfer-ownership="none">
+ <type name="BaseSrc" c:type="GstBaseSrc*"/>
+ </instance-parameter>
+ <parameter name="query" transfer-ownership="none">
+ <type name="Gst.Query" c:type="GstQuery*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="set_caps" invoker="set_caps">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesrc.c"
+ line="981">Set new caps on the basesrc source pad.</doc>
+ <source-position filename="libs/gst/base/gstbasesrc.h" line="189"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesrc.c"
+ line="988">%TRUE if the caps could be set</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="src" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesrc.c"
+ line="983">a #GstBaseSrc</doc>
+ <type name="BaseSrc" c:type="GstBaseSrc*"/>
+ </instance-parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesrc.c"
+ line="984">a #GstCaps</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="start">
+ <source-position filename="libs/gst/base/gstbasesrc.h" line="195"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="src" transfer-ownership="none">
+ <type name="BaseSrc" c:type="GstBaseSrc*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="stop">
+ <source-position filename="libs/gst/base/gstbasesrc.h" line="196"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="src" transfer-ownership="none">
+ <type name="BaseSrc" c:type="GstBaseSrc*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="unlock">
+ <source-position filename="libs/gst/base/gstbasesrc.h" line="225"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="src" transfer-ownership="none">
+ <type name="BaseSrc" c:type="GstBaseSrc*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="unlock_stop">
+ <source-position filename="libs/gst/base/gstbasesrc.h" line="227"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="src" transfer-ownership="none">
+ <type name="BaseSrc" c:type="GstBaseSrc*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <method name="get_allocator" c:identifier="gst_base_src_get_allocator">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesrc.c"
+ line="4075">Lets #GstBaseSrc sub-classes to know the memory @allocator
+used by the base class and its @params.
+
+Unref the @allocator after usage.</doc>
+ <source-position filename="libs/gst/base/gstbasesrc.h" line="322"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="src" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesrc.c"
+ line="4077">a #GstBaseSrc</doc>
+ <type name="BaseSrc" c:type="GstBaseSrc*"/>
+ </instance-parameter>
+ <parameter name="allocator"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ nullable="1"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesrc.c"
+ line="4078">the #GstAllocator
+used</doc>
+ <type name="Gst.Allocator" c:type="GstAllocator**"/>
+ </parameter>
+ <parameter name="params"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesrc.c"
+ line="4080">the #GstAllocationParams of @allocator</doc>
+ <type name="Gst.AllocationParams" c:type="GstAllocationParams*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_blocksize" c:identifier="gst_base_src_get_blocksize">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesrc.c"
+ line="785">Get the number of bytes that @src will push out with each buffer.</doc>
+ <source-position filename="libs/gst/base/gstbasesrc.h" line="300"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesrc.c"
+ line="791">the number of bytes pushed with each buffer.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="src" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesrc.c"
+ line="787">the source</doc>
+ <type name="BaseSrc" c:type="GstBaseSrc*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_buffer_pool"
+ c:identifier="gst_base_src_get_buffer_pool">
+ <source-position filename="libs/gst/base/gstbasesrc.h" line="319"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesrc.c"
+ line="4057">the instance of the #GstBufferPool used
+by the src; unref it after usage.</doc>
+ <type name="Gst.BufferPool" c:type="GstBufferPool*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="src" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesrc.c"
+ line="4055">a #GstBaseSrc</doc>
+ <type name="BaseSrc" c:type="GstBaseSrc*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_do_timestamp"
+ c:identifier="gst_base_src_get_do_timestamp">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesrc.c"
+ line="829">Query if @src timestamps outgoing buffers based on the current running_time.</doc>
+ <source-position filename="libs/gst/base/gstbasesrc.h" line="306"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesrc.c"
+ line="835">%TRUE if the base class will automatically timestamp outgoing buffers.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="src" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesrc.c"
+ line="831">the source</doc>
+ <type name="BaseSrc" c:type="GstBaseSrc*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="is_async" c:identifier="gst_base_src_is_async">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesrc.c"
+ line="695">Get the current async behaviour of @src. See also gst_base_src_set_async().</doc>
+ <source-position filename="libs/gst/base/gstbasesrc.h" line="281"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesrc.c"
+ line="701">%TRUE if @src is operating in async mode.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="src" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesrc.c"
+ line="697">base source instance</doc>
+ <type name="BaseSrc" c:type="GstBaseSrc*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="is_live" c:identifier="gst_base_src_is_live">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesrc.c"
+ line="586">Check if an element is in live mode.</doc>
+ <source-position filename="libs/gst/base/gstbasesrc.h" line="266"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesrc.c"
+ line="592">%TRUE if element is in live mode.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="src" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesrc.c"
+ line="588">base source instance</doc>
+ <type name="BaseSrc" c:type="GstBaseSrc*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="negotiate"
+ c:identifier="gst_base_src_negotiate"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesrc.c"
+ line="3459">Negotiates src pad caps with downstream elements.
+Unmarks GST_PAD_FLAG_NEED_RECONFIGURE in any case. But marks it again
+if #GstBaseSrcClass.negotiate() fails.
+
+Do not call this in the #GstBaseSrcClass.fill() vmethod. Call this in
+#GstBaseSrcClass.create() or in #GstBaseSrcClass.alloc(), _before_ any
+buffer is allocated.</doc>
+ <source-position filename="libs/gst/base/gstbasesrc.h" line="284"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesrc.c"
+ line="3471">%TRUE if the negotiation succeeded, else %FALSE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="src" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesrc.c"
+ line="3461">base source instance</doc>
+ <type name="BaseSrc" c:type="GstBaseSrc*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="new_seamless_segment"
+ c:identifier="gst_base_src_new_seamless_segment"
+ deprecated="1"
+ deprecated-version="1.18">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesrc.c"
+ line="851">Prepare a new seamless segment for emission downstream. This function must
+only be called by derived sub-classes, and only from the #GstBaseSrcClass::create function,
+as the stream-lock needs to be held.
+
+The format for the new segment will be the current format of the source, as
+configured with gst_base_src_set_format()</doc>
+ <doc-deprecated xml:space="preserve">Use gst_base_src_new_segment()</doc-deprecated>
+ <source-position filename="libs/gst/base/gstbasesrc.h" line="309"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesrc.c"
+ line="865">%TRUE if preparation of the seamless segment succeeded.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="src" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesrc.c"
+ line="853">The source</doc>
+ <type name="BaseSrc" c:type="GstBaseSrc*"/>
+ </instance-parameter>
+ <parameter name="start" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesrc.c"
+ line="854">The new start value for the segment</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ <parameter name="stop" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesrc.c"
+ line="855">Stop value for the new segment</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ <parameter name="time" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesrc.c"
+ line="856">The new time value for the start of the new segment</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="new_segment"
+ c:identifier="gst_base_src_new_segment"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesrc.c"
+ line="901">Prepare a new segment for emission downstream. This function must
+only be called by derived sub-classes, and only from the #GstBaseSrcClass::create function,
+as the stream-lock needs to be held.
+
+The format for the @segment must be identical with the current format
+of the source, as configured with gst_base_src_set_format().
+
+The format of @src must not be %GST_FORMAT_UNDEFINED and the format
+should be configured via gst_base_src_set_format() before calling this method.</doc>
+ <source-position filename="libs/gst/base/gstbasesrc.h" line="312"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesrc.c"
+ line="916">%TRUE if preparation of new segment succeeded.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="src" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesrc.c"
+ line="903">a #GstBaseSrc</doc>
+ <type name="BaseSrc" c:type="GstBaseSrc*"/>
+ </instance-parameter>
+ <parameter name="segment" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesrc.c"
+ line="904">a pointer to a #GstSegment</doc>
+ <type name="Gst.Segment" c:type="const GstSegment*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="query_latency" c:identifier="gst_base_src_query_latency">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesrc.c"
+ line="718">Query the source for the latency parameters. @live will be %TRUE when @src is
+configured as a live source. @min_latency and @max_latency will be set
+to the difference between the running time and the timestamp of the first
+buffer.
+
+This function is mostly used by subclasses.</doc>
+ <source-position filename="libs/gst/base/gstbasesrc.h" line="293"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesrc.c"
+ line="732">%TRUE if the query succeeded.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="src" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesrc.c"
+ line="720">the source</doc>
+ <type name="BaseSrc" c:type="GstBaseSrc*"/>
+ </instance-parameter>
+ <parameter name="live"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesrc.c"
+ line="721">if the source is live</doc>
+ <type name="gboolean" c:type="gboolean*"/>
+ </parameter>
+ <parameter name="min_latency"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesrc.c"
+ line="722">the min latency of the source</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime*"/>
+ </parameter>
+ <parameter name="max_latency"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesrc.c"
+ line="723">the max latency of the source</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_async" c:identifier="gst_base_src_set_async">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesrc.c"
+ line="675">Configure async behaviour in @src, no state change will block. The open,
+close, start, stop, play and pause virtual methods will be executed in a
+different thread and are thus allowed to perform blocking operations. Any
+blocking operation should be unblocked with the unlock vmethod.</doc>
+ <source-position filename="libs/gst/base/gstbasesrc.h" line="278"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="src" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesrc.c"
+ line="677">base source instance</doc>
+ <type name="BaseSrc" c:type="GstBaseSrc*"/>
+ </instance-parameter>
+ <parameter name="async" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesrc.c"
+ line="678">new async mode</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_automatic_eos"
+ c:identifier="gst_base_src_set_automatic_eos"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesrc.c"
+ line="649">If @automatic_eos is %TRUE, @src will automatically go EOS if a buffer
+after the total size is returned. By default this is %TRUE but sources
+that can't return an authoritative size and only know that they're EOS
+when trying to read more should set this to %FALSE.
+
+When @src operates in %GST_FORMAT_TIME, #GstBaseSrc will send an EOS
+when a buffer outside of the currently configured segment is pushed if
+@automatic_eos is %TRUE. Since 1.16, if @automatic_eos is %FALSE an
+EOS will be pushed only when the #GstBaseSrcClass.create() implementation
+returns %GST_FLOW_EOS.</doc>
+ <source-position filename="libs/gst/base/gstbasesrc.h" line="275"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="src" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesrc.c"
+ line="651">base source instance</doc>
+ <type name="BaseSrc" c:type="GstBaseSrc*"/>
+ </instance-parameter>
+ <parameter name="automatic_eos" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesrc.c"
+ line="652">automatic eos</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_blocksize" c:identifier="gst_base_src_set_blocksize">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesrc.c"
+ line="767">Set the number of bytes that @src will push out with each buffer. When
+@blocksize is set to -1, a default length will be used.</doc>
+ <source-position filename="libs/gst/base/gstbasesrc.h" line="297"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="src" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesrc.c"
+ line="769">the source</doc>
+ <type name="BaseSrc" c:type="GstBaseSrc*"/>
+ </instance-parameter>
+ <parameter name="blocksize" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesrc.c"
+ line="770">the new blocksize in bytes</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_caps" c:identifier="gst_base_src_set_caps">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesrc.c"
+ line="981">Set new caps on the basesrc source pad.</doc>
+ <source-position filename="libs/gst/base/gstbasesrc.h" line="316"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesrc.c"
+ line="988">%TRUE if the caps could be set</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="src" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesrc.c"
+ line="983">a #GstBaseSrc</doc>
+ <type name="BaseSrc" c:type="GstBaseSrc*"/>
+ </instance-parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesrc.c"
+ line="984">a #GstCaps</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_do_timestamp"
+ c:identifier="gst_base_src_set_do_timestamp">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesrc.c"
+ line="808">Configure @src to automatically timestamp outgoing buffers based on the
+current running_time of the pipeline. This property is mostly useful for live
+sources.</doc>
+ <source-position filename="libs/gst/base/gstbasesrc.h" line="303"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="src" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesrc.c"
+ line="810">the source</doc>
+ <type name="BaseSrc" c:type="GstBaseSrc*"/>
+ </instance-parameter>
+ <parameter name="timestamp" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesrc.c"
+ line="811">enable or disable timestamping</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_dynamic_size"
+ c:identifier="gst_base_src_set_dynamic_size">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesrc.c"
+ line="632">If not @dynamic, size is only updated when needed, such as when trying to
+read past current tracked size. Otherwise, size is checked for upon each
+read.</doc>
+ <source-position filename="libs/gst/base/gstbasesrc.h" line="272"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="src" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesrc.c"
+ line="634">base source instance</doc>
+ <type name="BaseSrc" c:type="GstBaseSrc*"/>
+ </instance-parameter>
+ <parameter name="dynamic" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesrc.c"
+ line="635">new dynamic size mode</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_format" c:identifier="gst_base_src_set_format">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesrc.c"
+ line="608">Sets the default format of the source. This will be the format used
+for sending SEGMENT events and for performing seeks.
+
+If a format of GST_FORMAT_BYTES is set, the element will be able to
+operate in pull mode if the #GstBaseSrcClass.is_seekable() returns %TRUE.
+
+This function must only be called in states &lt; %GST_STATE_PAUSED.</doc>
+ <source-position filename="libs/gst/base/gstbasesrc.h" line="269"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="src" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesrc.c"
+ line="610">base source instance</doc>
+ <type name="BaseSrc" c:type="GstBaseSrc*"/>
+ </instance-parameter>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesrc.c"
+ line="611">the format to use</doc>
+ <type name="Gst.Format" c:type="GstFormat"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_live" c:identifier="gst_base_src_set_live">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesrc.c"
+ line="562">If the element listens to a live source, @live should
+be set to %TRUE.
+
+A live source will not produce data in the PAUSED state and
+will therefore not be able to participate in the PREROLL phase
+of a pipeline. To signal this fact to the application and the
+pipeline, the state change return value of the live source will
+be GST_STATE_CHANGE_NO_PREROLL.</doc>
+ <source-position filename="libs/gst/base/gstbasesrc.h" line="263"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="src" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesrc.c"
+ line="564">base source instance</doc>
+ <type name="BaseSrc" c:type="GstBaseSrc*"/>
+ </instance-parameter>
+ <parameter name="live" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesrc.c"
+ line="565">new live-mode</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="start_complete" c:identifier="gst_base_src_start_complete">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesrc.c"
+ line="3563">Complete an asynchronous start operation. When the subclass overrides the
+start method, it should call gst_base_src_start_complete() when the start
+operation completes either from the same thread or from an asynchronous
+helper thread.</doc>
+ <source-position filename="libs/gst/base/gstbasesrc.h" line="287"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="basesrc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesrc.c"
+ line="3565">base source instance</doc>
+ <type name="BaseSrc" c:type="GstBaseSrc*"/>
+ </instance-parameter>
+ <parameter name="ret" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesrc.c"
+ line="3566">a #GstFlowReturn</doc>
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="start_wait" c:identifier="gst_base_src_start_wait">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesrc.c"
+ line="3703">Wait until the start operation completes.</doc>
+ <source-position filename="libs/gst/base/gstbasesrc.h" line="290"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesrc.c"
+ line="3709">a #GstFlowReturn.</doc>
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="basesrc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesrc.c"
+ line="3705">base source instance</doc>
+ <type name="BaseSrc" c:type="GstBaseSrc*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="submit_buffer_list"
+ c:identifier="gst_base_src_submit_buffer_list"
+ version="1.14">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesrc.c"
+ line="4103">Subclasses can call this from their create virtual method implementation
+to submit a buffer list to be pushed out later. This is useful in
+cases where the create function wants to produce multiple buffers to be
+pushed out in one go in form of a #GstBufferList, which can reduce overhead
+drastically, especially for packetised inputs (for data streams where
+the packetisation/chunking is not important it is usually more efficient
+to return larger buffers instead).
+
+Subclasses that use this function from their create function must return
+%GST_FLOW_OK and no buffer from their create virtual method implementation.
+If a buffer is returned after a buffer list has also been submitted via this
+function the behaviour is undefined.
+
+Subclasses must only call this function once per create function call and
+subclasses must only call this function when the source operates in push
+mode.</doc>
+ <source-position filename="libs/gst/base/gstbasesrc.h" line="327"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="src" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesrc.c"
+ line="4105">a #GstBaseSrc</doc>
+ <type name="BaseSrc" c:type="GstBaseSrc*"/>
+ </instance-parameter>
+ <parameter name="buffer_list" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesrc.c"
+ line="4106">a #GstBufferList</doc>
+ <type name="Gst.BufferList" c:type="GstBufferList*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="wait_playing" c:identifier="gst_base_src_wait_playing">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesrc.c"
+ line="532">If the #GstBaseSrcClass.create() method performs its own synchronisation
+against the clock it must unblock when going from PLAYING to the PAUSED state
+and call this method before continuing to produce the remaining data.
+
+This function will block until a state change to PLAYING happens (in which
+case this function returns %GST_FLOW_OK) or the processing must be stopped due
+to a state change to READY or a FLUSH event (in which case this function
+returns %GST_FLOW_FLUSHING).</doc>
+ <source-position filename="libs/gst/base/gstbasesrc.h" line="260"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesrc.c"
+ line="545">%GST_FLOW_OK if @src is PLAYING and processing can
+continue. Any other return value should be returned from the create vmethod.</doc>
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="src" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesrc.c"
+ line="534">the src</doc>
+ <type name="BaseSrc" c:type="GstBaseSrc*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <property name="blocksize" writable="1" transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </property>
+ <property name="do-timestamp" writable="1" transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </property>
+ <property name="num-buffers" writable="1" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </property>
+ <property name="typefind" writable="1" transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </property>
+ <field name="element">
+ <type name="Gst.Element" c:type="GstElement"/>
+ </field>
+ <field name="srcpad">
+ <type name="Gst.Pad" c:type="GstPad*"/>
+ </field>
+ <field name="live_lock">
+ <type name="GLib.Mutex" c:type="GMutex"/>
+ </field>
+ <field name="live_cond">
+ <type name="GLib.Cond" c:type="GCond"/>
+ </field>
+ <field name="is_live">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="live_running">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="blocksize">
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="can_activate_push">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="random_access">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="clock_id">
+ <type name="Gst.ClockID" c:type="GstClockID"/>
+ </field>
+ <field name="segment">
+ <type name="Gst.Segment" c:type="GstSegment"/>
+ </field>
+ <field name="need_newsegment">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="num_buffers">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="num_buffers_left">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="typefind">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="running">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="pending_seek">
+ <type name="Gst.Event" c:type="GstEvent*"/>
+ </field>
+ <field name="priv">
+ <type name="BaseSrcPrivate" c:type="GstBaseSrcPrivate*"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="20">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="BaseSrcClass"
+ c:type="GstBaseSrcClass"
+ glib:is-gtype-struct-for="BaseSrc">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesrc.h"
+ line="117">Subclasses can override any of the available virtual methods or not, as
+needed. At the minimum, the @create method should be overridden to produce
+buffers.</doc>
+ <source-position filename="libs/gst/base/gstbasesrc.h" line="254"/>
+ <field name="parent_class">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesrc.h"
+ line="119">Element parent class</doc>
+ <type name="Gst.ElementClass" c:type="GstElementClass"/>
+ </field>
+ <field name="get_caps">
+ <callback name="get_caps">
+ <source-position filename="libs/gst/base/gstbasesrc.h" line="183"/>
+ <return-value transfer-ownership="full">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <type name="BaseSrc" c:type="GstBaseSrc*"/>
+ </parameter>
+ <parameter name="filter"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="negotiate">
+ <callback name="negotiate">
+ <source-position filename="libs/gst/base/gstbasesrc.h" line="185"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesrc.c"
+ line="3471">%TRUE if the negotiation succeeded, else %FALSE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesrc.c"
+ line="3461">base source instance</doc>
+ <type name="BaseSrc" c:type="GstBaseSrc*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="fixate">
+ <callback name="fixate">
+ <source-position filename="libs/gst/base/gstbasesrc.h" line="187"/>
+ <return-value transfer-ownership="full">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <type name="BaseSrc" c:type="GstBaseSrc*"/>
+ </parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="set_caps">
+ <callback name="set_caps">
+ <source-position filename="libs/gst/base/gstbasesrc.h" line="189"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesrc.c"
+ line="988">%TRUE if the caps could be set</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesrc.c"
+ line="983">a #GstBaseSrc</doc>
+ <type name="BaseSrc" c:type="GstBaseSrc*"/>
+ </parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesrc.c"
+ line="984">a #GstCaps</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="decide_allocation">
+ <callback name="decide_allocation">
+ <source-position filename="libs/gst/base/gstbasesrc.h" line="192"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <type name="BaseSrc" c:type="GstBaseSrc*"/>
+ </parameter>
+ <parameter name="query" transfer-ownership="none">
+ <type name="Gst.Query" c:type="GstQuery*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="start">
+ <callback name="start">
+ <source-position filename="libs/gst/base/gstbasesrc.h" line="195"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <type name="BaseSrc" c:type="GstBaseSrc*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="stop">
+ <callback name="stop">
+ <source-position filename="libs/gst/base/gstbasesrc.h" line="196"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <type name="BaseSrc" c:type="GstBaseSrc*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="get_times">
+ <callback name="get_times">
+ <source-position filename="libs/gst/base/gstbasesrc.h" line="206"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <type name="BaseSrc" c:type="GstBaseSrc*"/>
+ </parameter>
+ <parameter name="buffer" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="start"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <type name="Gst.ClockTime" c:type="GstClockTime*"/>
+ </parameter>
+ <parameter name="end"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <type name="Gst.ClockTime" c:type="GstClockTime*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="get_size">
+ <callback name="get_size">
+ <source-position filename="libs/gst/base/gstbasesrc.h" line="211"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <type name="BaseSrc" c:type="GstBaseSrc*"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <type name="guint64" c:type="guint64*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="is_seekable">
+ <callback name="is_seekable">
+ <source-position filename="libs/gst/base/gstbasesrc.h" line="214"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <type name="BaseSrc" c:type="GstBaseSrc*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="prepare_seek_segment">
+ <callback name="prepare_seek_segment">
+ <source-position filename="libs/gst/base/gstbasesrc.h" line="218"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <type name="BaseSrc" c:type="GstBaseSrc*"/>
+ </parameter>
+ <parameter name="seek" transfer-ownership="none">
+ <type name="Gst.Event" c:type="GstEvent*"/>
+ </parameter>
+ <parameter name="segment" transfer-ownership="none">
+ <type name="Gst.Segment" c:type="GstSegment*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="do_seek">
+ <callback name="do_seek">
+ <source-position filename="libs/gst/base/gstbasesrc.h" line="221"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <type name="BaseSrc" c:type="GstBaseSrc*"/>
+ </parameter>
+ <parameter name="segment" transfer-ownership="none">
+ <type name="Gst.Segment" c:type="GstSegment*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="unlock">
+ <callback name="unlock">
+ <source-position filename="libs/gst/base/gstbasesrc.h" line="225"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <type name="BaseSrc" c:type="GstBaseSrc*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="unlock_stop">
+ <callback name="unlock_stop">
+ <source-position filename="libs/gst/base/gstbasesrc.h" line="227"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <type name="BaseSrc" c:type="GstBaseSrc*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="query">
+ <callback name="query">
+ <source-position filename="libs/gst/base/gstbasesrc.h" line="230"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <type name="BaseSrc" c:type="GstBaseSrc*"/>
+ </parameter>
+ <parameter name="query" transfer-ownership="none">
+ <type name="Gst.Query" c:type="GstQuery*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="event">
+ <callback name="event">
+ <source-position filename="libs/gst/base/gstbasesrc.h" line="233"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <type name="BaseSrc" c:type="GstBaseSrc*"/>
+ </parameter>
+ <parameter name="event" transfer-ownership="none">
+ <type name="Gst.Event" c:type="GstEvent*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="create">
+ <callback name="create">
+ <source-position filename="libs/gst/base/gstbasesrc.h" line="242"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <type name="BaseSrc" c:type="GstBaseSrc*"/>
+ </parameter>
+ <parameter name="offset" transfer-ownership="none">
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="buf"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <type name="Gst.Buffer" c:type="GstBuffer**"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="alloc">
+ <callback name="alloc">
+ <source-position filename="libs/gst/base/gstbasesrc.h" line="246"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <type name="BaseSrc" c:type="GstBaseSrc*"/>
+ </parameter>
+ <parameter name="offset" transfer-ownership="none">
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="buf" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer**"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="fill">
+ <callback name="fill">
+ <source-position filename="libs/gst/base/gstbasesrc.h" line="249"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <type name="BaseSrc" c:type="GstBaseSrc*"/>
+ </parameter>
+ <parameter name="offset" transfer-ownership="none">
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="buf" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="20">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <bitfield name="BaseSrcFlags" c:type="GstBaseSrcFlags">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesrc.h"
+ line="40">The #GstElement flags that a basesrc element may have.</doc>
+ <source-position filename="libs/gst/base/gstbasesrc.h" line="53"/>
+ <member name="starting"
+ value="16384"
+ c:identifier="GST_BASE_SRC_FLAG_STARTING">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesrc.h"
+ line="42">has source is starting</doc>
+ </member>
+ <member name="started"
+ value="32768"
+ c:identifier="GST_BASE_SRC_FLAG_STARTED">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesrc.h"
+ line="43">has source been started</doc>
+ </member>
+ <member name="last"
+ value="1048576"
+ c:identifier="GST_BASE_SRC_FLAG_LAST">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasesrc.h"
+ line="44">offset to define more flags</doc>
+ </member>
+ </bitfield>
+ <record name="BaseSrcPrivate" c:type="GstBaseSrcPrivate" disguised="1">
+ <source-position filename="libs/gst/base/gstbasesrc.h" line="60"/>
+ </record>
+ <class name="BaseTransform"
+ c:symbol-prefix="base_transform"
+ c:type="GstBaseTransform"
+ parent="Gst.Element"
+ abstract="1"
+ glib:type-name="GstBaseTransform"
+ glib:get-type="gst_base_transform_get_type"
+ glib:type-struct="BaseTransformClass">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasetransform.c"
+ line="24">This base class is for filter elements that process data. Elements
+that are suitable for implementation using #GstBaseTransform are ones
+where the size and caps of the output is known entirely from the input
+caps and buffer sizes. These include elements that directly transform
+one buffer into another, modify the contents of a buffer in-place, as
+well as elements that collate multiple input buffers into one output buffer,
+or that expand one input buffer into multiple output buffers. See below
+for more concrete use cases.
+
+It provides for:
+
+* one sinkpad and one srcpad
+* Possible formats on sink and source pad implemented
+ with custom transform_caps function. By default uses
+ same format on sink and source.
+
+* Handles state changes
+* Does flushing
+* Push mode
+* Pull mode if the sub-class transform can operate on arbitrary data
+
+# Use Cases
+
+## Passthrough mode
+
+ * Element has no interest in modifying the buffer. It may want to inspect it,
+ in which case the element should have a transform_ip function. If there
+ is no transform_ip function in passthrough mode, the buffer is pushed
+ intact.
+
+ * The #GstBaseTransformClass.passthrough_on_same_caps variable
+ will automatically set/unset passthrough based on whether the
+ element negotiates the same caps on both pads.
+
+ * #GstBaseTransformClass.passthrough_on_same_caps on an element that
+ doesn't implement a transform_caps function is useful for elements that
+ only inspect data (such as level)
+
+ * Example elements
+
+ * Level
+ * Videoscale, audioconvert, videoconvert, audioresample in certain modes.
+
+## Modifications in-place - input buffer and output buffer are the same thing.
+
+* The element must implement a transform_ip function.
+* Output buffer size must &lt;= input buffer size
+* If the always_in_place flag is set, non-writable buffers will be copied
+ and passed to the transform_ip function, otherwise a new buffer will be
+ created and the transform function called.
+
+* Incoming writable buffers will be passed to the transform_ip function
+ immediately.
+* only implementing transform_ip and not transform implies always_in_place = %TRUE
+
+ * Example elements:
+ * Volume
+ * Audioconvert in certain modes (signed/unsigned conversion)
+ * videoconvert in certain modes (endianness swapping)
+
+## Modifications only to the caps/metadata of a buffer
+
+* The element does not require writable data, but non-writable buffers
+ should be subbuffered so that the meta-information can be replaced.
+
+* Elements wishing to operate in this mode should replace the
+ prepare_output_buffer method to create subbuffers of the input buffer
+ and set always_in_place to %TRUE
+
+* Example elements
+ * Capsfilter when setting caps on outgoing buffers that have
+ none.
+ * identity when it is going to re-timestamp buffers by
+ datarate.
+
+## Normal mode
+ * always_in_place flag is not set, or there is no transform_ip function
+ * Element will receive an input buffer and output buffer to operate on.
+ * Output buffer is allocated by calling the prepare_output_buffer function.
+ * Example elements:
+ * Videoscale, videoconvert, audioconvert when doing
+ scaling/conversions
+
+## Special output buffer allocations
+ * Elements which need to do special allocation of their output buffers
+ beyond allocating output buffers via the negotiated allocator or
+ buffer pool should implement the prepare_output_buffer method.
+
+ * Example elements:
+ * efence
+
+# Sub-class settable flags on GstBaseTransform
+
+* passthrough
+
+ * Implies that in the current configuration, the sub-class is not interested in modifying the buffers.
+ * Elements which are always in passthrough mode whenever the same caps has been negotiated on both pads can set the class variable passthrough_on_same_caps to have this behaviour automatically.
+
+* always_in_place
+ * Determines whether a non-writable buffer will be copied before passing
+ to the transform_ip function.
+
+ * Implied %TRUE if no transform function is implemented.
+ * Implied %FALSE if ONLY transform function is implemented.</doc>
+ <source-position filename="libs/gst/base/gstbasetransform.h" line="302"/>
+ <virtual-method name="accept_caps">
+ <source-position filename="libs/gst/base/gstbasetransform.h"
+ line="232"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="trans" transfer-ownership="none">
+ <type name="BaseTransform" c:type="GstBaseTransform*"/>
+ </instance-parameter>
+ <parameter name="direction" transfer-ownership="none">
+ <type name="Gst.PadDirection" c:type="GstPadDirection"/>
+ </parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="before_transform">
+ <source-position filename="libs/gst/base/gstbasetransform.h"
+ line="285"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="trans" transfer-ownership="none">
+ <type name="BaseTransform" c:type="GstBaseTransform*"/>
+ </instance-parameter>
+ <parameter name="buffer" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="copy_metadata">
+ <source-position filename="libs/gst/base/gstbasetransform.h"
+ line="280"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="trans" transfer-ownership="none">
+ <type name="BaseTransform" c:type="GstBaseTransform*"/>
+ </instance-parameter>
+ <parameter name="input" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="outbuf" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="decide_allocation">
+ <source-position filename="libs/gst/base/gstbasetransform.h"
+ line="240"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="trans" transfer-ownership="none">
+ <type name="BaseTransform" c:type="GstBaseTransform*"/>
+ </instance-parameter>
+ <parameter name="query" transfer-ownership="none">
+ <type name="Gst.Query" c:type="GstQuery*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="filter_meta">
+ <source-position filename="libs/gst/base/gstbasetransform.h"
+ line="241"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="trans" transfer-ownership="none">
+ <type name="BaseTransform" c:type="GstBaseTransform*"/>
+ </instance-parameter>
+ <parameter name="query" transfer-ownership="none">
+ <type name="Gst.Query" c:type="GstQuery*"/>
+ </parameter>
+ <parameter name="api" transfer-ownership="none">
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ <parameter name="params" transfer-ownership="none">
+ <type name="Gst.Structure" c:type="const GstStructure*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="fixate_caps">
+ <source-position filename="libs/gst/base/gstbasetransform.h"
+ line="229"/>
+ <return-value transfer-ownership="full">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="trans" transfer-ownership="none">
+ <type name="BaseTransform" c:type="GstBaseTransform*"/>
+ </instance-parameter>
+ <parameter name="direction" transfer-ownership="none">
+ <type name="Gst.PadDirection" c:type="GstPadDirection"/>
+ </parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ <parameter name="othercaps" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="generate_output">
+ <source-position filename="libs/gst/base/gstbasetransform.h"
+ line="298"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="trans" transfer-ownership="none">
+ <type name="BaseTransform" c:type="GstBaseTransform*"/>
+ </instance-parameter>
+ <parameter name="outbuf"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <type name="Gst.Buffer" c:type="GstBuffer**"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="get_unit_size">
+ <source-position filename="libs/gst/base/gstbasetransform.h"
+ line="261"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="trans" transfer-ownership="none">
+ <type name="BaseTransform" c:type="GstBaseTransform*"/>
+ </instance-parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ <parameter name="size"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <type name="gsize" c:type="gsize*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="prepare_output_buffer">
+ <source-position filename="libs/gst/base/gstbasetransform.h"
+ line="276"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="trans" transfer-ownership="none">
+ <type name="BaseTransform" c:type="GstBaseTransform*"/>
+ </instance-parameter>
+ <parameter name="input" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="outbuf"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <type name="Gst.Buffer" c:type="GstBuffer**"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="propose_allocation">
+ <source-position filename="libs/gst/base/gstbasetransform.h"
+ line="245"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="trans" transfer-ownership="none">
+ <type name="BaseTransform" c:type="GstBaseTransform*"/>
+ </instance-parameter>
+ <parameter name="decide_query" transfer-ownership="none">
+ <type name="Gst.Query" c:type="GstQuery*"/>
+ </parameter>
+ <parameter name="query" transfer-ownership="none">
+ <type name="Gst.Query" c:type="GstQuery*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="query">
+ <source-position filename="libs/gst/base/gstbasetransform.h"
+ line="236"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="trans" transfer-ownership="none">
+ <type name="BaseTransform" c:type="GstBaseTransform*"/>
+ </instance-parameter>
+ <parameter name="direction" transfer-ownership="none">
+ <type name="Gst.PadDirection" c:type="GstPadDirection"/>
+ </parameter>
+ <parameter name="query" transfer-ownership="none">
+ <type name="Gst.Query" c:type="GstQuery*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="set_caps">
+ <source-position filename="libs/gst/base/gstbasetransform.h"
+ line="234"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="trans" transfer-ownership="none">
+ <type name="BaseTransform" c:type="GstBaseTransform*"/>
+ </instance-parameter>
+ <parameter name="incaps" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ <parameter name="outcaps" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="sink_event">
+ <source-position filename="libs/gst/base/gstbasetransform.h"
+ line="269"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="trans" transfer-ownership="none">
+ <type name="BaseTransform" c:type="GstBaseTransform*"/>
+ </instance-parameter>
+ <parameter name="event" transfer-ownership="none">
+ <type name="Gst.Event" c:type="GstEvent*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="src_event">
+ <source-position filename="libs/gst/base/gstbasetransform.h"
+ line="270"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="trans" transfer-ownership="none">
+ <type name="BaseTransform" c:type="GstBaseTransform*"/>
+ </instance-parameter>
+ <parameter name="event" transfer-ownership="none">
+ <type name="Gst.Event" c:type="GstEvent*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="start">
+ <source-position filename="libs/gst/base/gstbasetransform.h"
+ line="265"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="trans" transfer-ownership="none">
+ <type name="BaseTransform" c:type="GstBaseTransform*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="stop">
+ <source-position filename="libs/gst/base/gstbasetransform.h"
+ line="266"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="trans" transfer-ownership="none">
+ <type name="BaseTransform" c:type="GstBaseTransform*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="submit_input_buffer">
+ <source-position filename="libs/gst/base/gstbasetransform.h"
+ line="292"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="trans" transfer-ownership="none">
+ <type name="BaseTransform" c:type="GstBaseTransform*"/>
+ </instance-parameter>
+ <parameter name="is_discont" transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ <parameter name="input" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="transform">
+ <source-position filename="libs/gst/base/gstbasetransform.h"
+ line="288"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="trans" transfer-ownership="none">
+ <type name="BaseTransform" c:type="GstBaseTransform*"/>
+ </instance-parameter>
+ <parameter name="inbuf" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="outbuf" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="transform_caps">
+ <source-position filename="libs/gst/base/gstbasetransform.h"
+ line="226"/>
+ <return-value transfer-ownership="full">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="trans" transfer-ownership="none">
+ <type name="BaseTransform" c:type="GstBaseTransform*"/>
+ </instance-parameter>
+ <parameter name="direction" transfer-ownership="none">
+ <type name="Gst.PadDirection" c:type="GstPadDirection"/>
+ </parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ <parameter name="filter" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="transform_ip">
+ <source-position filename="libs/gst/base/gstbasetransform.h"
+ line="290"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="trans" transfer-ownership="none">
+ <type name="BaseTransform" c:type="GstBaseTransform*"/>
+ </instance-parameter>
+ <parameter name="buf" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="transform_meta">
+ <source-position filename="libs/gst/base/gstbasetransform.h"
+ line="282"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="trans" transfer-ownership="none">
+ <type name="BaseTransform" c:type="GstBaseTransform*"/>
+ </instance-parameter>
+ <parameter name="outbuf" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="meta" transfer-ownership="none">
+ <type name="Gst.Meta" c:type="GstMeta*"/>
+ </parameter>
+ <parameter name="inbuf" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="transform_size">
+ <source-position filename="libs/gst/base/gstbasetransform.h"
+ line="252"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="trans" transfer-ownership="none">
+ <type name="BaseTransform" c:type="GstBaseTransform*"/>
+ </instance-parameter>
+ <parameter name="direction" transfer-ownership="none">
+ <type name="Gst.PadDirection" c:type="GstPadDirection"/>
+ </parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ <parameter name="othercaps" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ <parameter name="othersize"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <type name="gsize" c:type="gsize*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <method name="get_allocator"
+ c:identifier="gst_base_transform_get_allocator">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasetransform.c"
+ line="2864">Lets #GstBaseTransform sub-classes know the memory @allocator
+used by the base class and its @params.
+
+Unref the @allocator after use.</doc>
+ <source-position filename="libs/gst/base/gstbasetransform.h"
+ line="340"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="trans" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasetransform.c"
+ line="2866">a #GstBaseTransform</doc>
+ <type name="BaseTransform" c:type="GstBaseTransform*"/>
+ </instance-parameter>
+ <parameter name="allocator"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ nullable="1"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasetransform.c"
+ line="2867">the #GstAllocator
+used</doc>
+ <type name="Gst.Allocator" c:type="GstAllocator**"/>
+ </parameter>
+ <parameter name="params"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasetransform.c"
+ line="2869">the #GstAllocationParams of @allocator</doc>
+ <type name="Gst.AllocationParams" c:type="GstAllocationParams*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_buffer_pool"
+ c:identifier="gst_base_transform_get_buffer_pool">
+ <source-position filename="libs/gst/base/gstbasetransform.h"
+ line="337"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasetransform.c"
+ line="2850">the instance of the #GstBufferPool used
+by @trans; free it after use</doc>
+ <type name="Gst.BufferPool" c:type="GstBufferPool*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="trans" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasetransform.c"
+ line="2848">a #GstBaseTransform</doc>
+ <type name="BaseTransform" c:type="GstBaseTransform*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="is_in_place" c:identifier="gst_base_transform_is_in_place">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasetransform.c"
+ line="2656">See if @trans is configured as a in_place transform.</doc>
+ <source-position filename="libs/gst/base/gstbasetransform.h"
+ line="317"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasetransform.c"
+ line="2662">%TRUE if the transform is configured in in_place mode.
+
+MT safe.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="trans" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasetransform.c"
+ line="2658">the #GstBaseTransform to query</doc>
+ <type name="BaseTransform" c:type="GstBaseTransform*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="is_passthrough"
+ c:identifier="gst_base_transform_is_passthrough">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasetransform.c"
+ line="2592">See if @trans is configured as a passthrough transform.</doc>
+ <source-position filename="libs/gst/base/gstbasetransform.h"
+ line="311"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasetransform.c"
+ line="2598">%TRUE if the transform is configured in passthrough mode.
+
+MT safe.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="trans" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasetransform.c"
+ line="2594">the #GstBaseTransform to query</doc>
+ <type name="BaseTransform" c:type="GstBaseTransform*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="is_qos_enabled"
+ c:identifier="gst_base_transform_is_qos_enabled">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasetransform.c"
+ line="2731">Queries if the transform will handle QoS.</doc>
+ <source-position filename="libs/gst/base/gstbasetransform.h"
+ line="328"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasetransform.c"
+ line="2737">%TRUE if QoS is enabled.
+
+MT safe.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="trans" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasetransform.c"
+ line="2733">a #GstBaseTransform</doc>
+ <type name="BaseTransform" c:type="GstBaseTransform*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="reconfigure"
+ c:identifier="gst_base_transform_reconfigure"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasetransform.c"
+ line="1447">Negotiates src pad caps with downstream elements if the source pad is
+marked as needing reconfiguring. Unmarks GST_PAD_FLAG_NEED_RECONFIGURE in
+any case. But marks it again if negotiation fails.
+
+Do not call this in the #GstBaseTransformClass.transform() or
+#GstBaseTransformClass.transform_ip() vmethod. Call this in
+#GstBaseTransformClass.submit_input_buffer(),
+#GstBaseTransformClass.prepare_output_buffer() or in
+#GstBaseTransformClass.generate_output() _before_ any output buffer is
+allocated.
+
+It will be default be called when handling an ALLOCATION query or at the
+very beginning of the default #GstBaseTransformClass.submit_input_buffer()
+implementation.</doc>
+ <source-position filename="libs/gst/base/gstbasetransform.h"
+ line="354"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasetransform.c"
+ line="1466">%TRUE if the negotiation succeeded, else %FALSE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="trans" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasetransform.c"
+ line="1449">the #GstBaseTransform to set</doc>
+ <type name="BaseTransform" c:type="GstBaseTransform*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="reconfigure_sink"
+ c:identifier="gst_base_transform_reconfigure_sink">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasetransform.c"
+ line="2811">Instructs @trans to request renegotiation upstream. This function is
+typically called after properties on the transform were set that
+influence the input format.</doc>
+ <source-position filename="libs/gst/base/gstbasetransform.h"
+ line="344"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="trans" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasetransform.c"
+ line="2813">a #GstBaseTransform</doc>
+ <type name="BaseTransform" c:type="GstBaseTransform*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="reconfigure_src"
+ c:identifier="gst_base_transform_reconfigure_src">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasetransform.c"
+ line="2830">Instructs @trans to renegotiate a new downstream transform on the next
+buffer. This function is typically called after properties on the transform
+were set that influence the output format.</doc>
+ <source-position filename="libs/gst/base/gstbasetransform.h"
+ line="347"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="trans" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasetransform.c"
+ line="2832">a #GstBaseTransform</doc>
+ <type name="BaseTransform" c:type="GstBaseTransform*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="set_gap_aware"
+ c:identifier="gst_base_transform_set_gap_aware">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasetransform.c"
+ line="2755">If @gap_aware is %FALSE (the default), output buffers will have the
+%GST_BUFFER_FLAG_GAP flag unset.
+
+If set to %TRUE, the element must handle output buffers with this flag set
+correctly, i.e. it can assume that the buffer contains neutral data but must
+unset the flag if the output is no neutral data.
+
+MT safe.</doc>
+ <source-position filename="libs/gst/base/gstbasetransform.h"
+ line="331"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="trans" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasetransform.c"
+ line="2757">a #GstBaseTransform</doc>
+ <type name="BaseTransform" c:type="GstBaseTransform*"/>
+ </instance-parameter>
+ <parameter name="gap_aware" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasetransform.c"
+ line="2758">New state</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_in_place"
+ c:identifier="gst_base_transform_set_in_place">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasetransform.c"
+ line="2616">Determines whether a non-writable buffer will be copied before passing
+to the transform_ip function.
+
+ * Always %TRUE if no transform function is implemented.
+ * Always %FALSE if ONLY transform function is implemented.
+
+MT safe.</doc>
+ <source-position filename="libs/gst/base/gstbasetransform.h"
+ line="314"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="trans" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasetransform.c"
+ line="2618">the #GstBaseTransform to modify</doc>
+ <type name="BaseTransform" c:type="GstBaseTransform*"/>
+ </instance-parameter>
+ <parameter name="in_place" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasetransform.c"
+ line="2619">Boolean value indicating that we would like to operate
+on in_place buffers.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_passthrough"
+ c:identifier="gst_base_transform_set_passthrough">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasetransform.c"
+ line="2556">Set passthrough mode for this filter by default. This is mostly
+useful for filters that do not care about negotiation.
+
+Always %TRUE for filters which don't implement either a transform
+or transform_ip or generate_output method.
+
+MT safe.</doc>
+ <source-position filename="libs/gst/base/gstbasetransform.h"
+ line="308"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="trans" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasetransform.c"
+ line="2558">the #GstBaseTransform to set</doc>
+ <type name="BaseTransform" c:type="GstBaseTransform*"/>
+ </instance-parameter>
+ <parameter name="passthrough" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasetransform.c"
+ line="2559">boolean indicating passthrough mode.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_prefer_passthrough"
+ c:identifier="gst_base_transform_set_prefer_passthrough"
+ version="1.0.1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasetransform.c"
+ line="2780">If @prefer_passthrough is %TRUE (the default), @trans will check and
+prefer passthrough caps from the list of caps returned by the
+transform_caps vmethod.
+
+If set to %FALSE, the element must order the caps returned from the
+transform_caps function in such a way that the preferred format is
+first in the list. This can be interesting for transforms that can do
+passthrough transforms but prefer to do something else, like a
+capsfilter.
+
+MT safe.</doc>
+ <source-position filename="libs/gst/base/gstbasetransform.h"
+ line="334"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="trans" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasetransform.c"
+ line="2782">a #GstBaseTransform</doc>
+ <type name="BaseTransform" c:type="GstBaseTransform*"/>
+ </instance-parameter>
+ <parameter name="prefer_passthrough" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasetransform.c"
+ line="2783">New state</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_qos_enabled"
+ c:identifier="gst_base_transform_set_qos_enabled">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasetransform.c"
+ line="2710">Enable or disable QoS handling in the transform.
+
+MT safe.</doc>
+ <source-position filename="libs/gst/base/gstbasetransform.h"
+ line="325"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="trans" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasetransform.c"
+ line="2712">a #GstBaseTransform</doc>
+ <type name="BaseTransform" c:type="GstBaseTransform*"/>
+ </instance-parameter>
+ <parameter name="enabled" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasetransform.c"
+ line="2713">new state</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="update_qos" c:identifier="gst_base_transform_update_qos">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasetransform.c"
+ line="2680">Set the QoS parameters in the transform. This function is called internally
+when a QOS event is received but subclasses can provide custom information
+when needed.
+
+MT safe.</doc>
+ <source-position filename="libs/gst/base/gstbasetransform.h"
+ line="320"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="trans" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasetransform.c"
+ line="2682">a #GstBaseTransform</doc>
+ <type name="BaseTransform" c:type="GstBaseTransform*"/>
+ </instance-parameter>
+ <parameter name="proportion" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasetransform.c"
+ line="2683">the proportion</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </parameter>
+ <parameter name="diff" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasetransform.c"
+ line="2684">the diff against the clock</doc>
+ <type name="Gst.ClockTimeDiff" c:type="GstClockTimeDiff"/>
+ </parameter>
+ <parameter name="timestamp" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasetransform.c"
+ line="2685">the timestamp of the buffer generating the QoS expressed in
+running_time.</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="update_src_caps"
+ c:identifier="gst_base_transform_update_src_caps"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasetransform.c"
+ line="2890">Updates the srcpad caps and sends the caps downstream. This function
+can be used by subclasses when they have already negotiated their caps
+but found a change in them (or computed new information). This way,
+they can notify downstream about that change without losing any
+buffer.</doc>
+ <source-position filename="libs/gst/base/gstbasetransform.h"
+ line="350"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasetransform.c"
+ line="2902">%TRUE if the caps could be sent downstream %FALSE otherwise</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="trans" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasetransform.c"
+ line="2892">a #GstBaseTransform</doc>
+ <type name="BaseTransform" c:type="GstBaseTransform*"/>
+ </instance-parameter>
+ <parameter name="updated_caps" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasetransform.c"
+ line="2893">An updated version of the srcpad caps to be pushed
+downstream</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="qos" writable="1" transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </property>
+ <field name="element">
+ <type name="Gst.Element" c:type="GstElement"/>
+ </field>
+ <field name="sinkpad">
+ <type name="Gst.Pad" c:type="GstPad*"/>
+ </field>
+ <field name="srcpad">
+ <type name="Gst.Pad" c:type="GstPad*"/>
+ </field>
+ <field name="have_segment">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="segment">
+ <type name="Gst.Segment" c:type="GstSegment"/>
+ </field>
+ <field name="queued_buf">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="BaseTransformPrivate" c:type="GstBaseTransformPrivate*"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="19">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="BaseTransformClass"
+ c:type="GstBaseTransformClass"
+ glib:is-gtype-struct-for="BaseTransform">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasetransform.h"
+ line="104">Subclasses can override any of the available virtual methods or not, as
+needed. At minimum either @transform or @transform_ip need to be overridden.
+If the element can overwrite the input data with the results (data is of the
+same type and quantity) it should provide @transform_ip.</doc>
+ <source-position filename="libs/gst/base/gstbasetransform.h" line="302"/>
+ <field name="parent_class">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasetransform.h"
+ line="106">Element parent class</doc>
+ <type name="Gst.ElementClass" c:type="GstElementClass"/>
+ </field>
+ <field name="passthrough_on_same_caps">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasetransform.h"
+ line="107">If set to %TRUE, passthrough mode will be
+ automatically enabled if the caps are the same.
+ Set to %FALSE by default.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="transform_ip_on_passthrough">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbasetransform.h"
+ line="110">If set to %TRUE, @transform_ip will be called in
+ passthrough mode. The passed buffer might not be
+ writable. When %FALSE, neither @transform nor
+ @transform_ip will be called in passthrough mode.
+ Set to %TRUE by default.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="transform_caps">
+ <callback name="transform_caps">
+ <source-position filename="libs/gst/base/gstbasetransform.h"
+ line="226"/>
+ <return-value transfer-ownership="full">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <parameter name="trans" transfer-ownership="none">
+ <type name="BaseTransform" c:type="GstBaseTransform*"/>
+ </parameter>
+ <parameter name="direction" transfer-ownership="none">
+ <type name="Gst.PadDirection" c:type="GstPadDirection"/>
+ </parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ <parameter name="filter" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="fixate_caps">
+ <callback name="fixate_caps">
+ <source-position filename="libs/gst/base/gstbasetransform.h"
+ line="229"/>
+ <return-value transfer-ownership="full">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <parameter name="trans" transfer-ownership="none">
+ <type name="BaseTransform" c:type="GstBaseTransform*"/>
+ </parameter>
+ <parameter name="direction" transfer-ownership="none">
+ <type name="Gst.PadDirection" c:type="GstPadDirection"/>
+ </parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ <parameter name="othercaps" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="accept_caps">
+ <callback name="accept_caps">
+ <source-position filename="libs/gst/base/gstbasetransform.h"
+ line="232"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="trans" transfer-ownership="none">
+ <type name="BaseTransform" c:type="GstBaseTransform*"/>
+ </parameter>
+ <parameter name="direction" transfer-ownership="none">
+ <type name="Gst.PadDirection" c:type="GstPadDirection"/>
+ </parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="set_caps">
+ <callback name="set_caps">
+ <source-position filename="libs/gst/base/gstbasetransform.h"
+ line="234"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="trans" transfer-ownership="none">
+ <type name="BaseTransform" c:type="GstBaseTransform*"/>
+ </parameter>
+ <parameter name="incaps" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ <parameter name="outcaps" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="query">
+ <callback name="query">
+ <source-position filename="libs/gst/base/gstbasetransform.h"
+ line="236"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="trans" transfer-ownership="none">
+ <type name="BaseTransform" c:type="GstBaseTransform*"/>
+ </parameter>
+ <parameter name="direction" transfer-ownership="none">
+ <type name="Gst.PadDirection" c:type="GstPadDirection"/>
+ </parameter>
+ <parameter name="query" transfer-ownership="none">
+ <type name="Gst.Query" c:type="GstQuery*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="decide_allocation">
+ <callback name="decide_allocation">
+ <source-position filename="libs/gst/base/gstbasetransform.h"
+ line="240"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="trans" transfer-ownership="none">
+ <type name="BaseTransform" c:type="GstBaseTransform*"/>
+ </parameter>
+ <parameter name="query" transfer-ownership="none">
+ <type name="Gst.Query" c:type="GstQuery*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="filter_meta">
+ <callback name="filter_meta">
+ <source-position filename="libs/gst/base/gstbasetransform.h"
+ line="241"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="trans" transfer-ownership="none">
+ <type name="BaseTransform" c:type="GstBaseTransform*"/>
+ </parameter>
+ <parameter name="query" transfer-ownership="none">
+ <type name="Gst.Query" c:type="GstQuery*"/>
+ </parameter>
+ <parameter name="api" transfer-ownership="none">
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ <parameter name="params" transfer-ownership="none">
+ <type name="Gst.Structure" c:type="const GstStructure*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="propose_allocation">
+ <callback name="propose_allocation">
+ <source-position filename="libs/gst/base/gstbasetransform.h"
+ line="245"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="trans" transfer-ownership="none">
+ <type name="BaseTransform" c:type="GstBaseTransform*"/>
+ </parameter>
+ <parameter name="decide_query" transfer-ownership="none">
+ <type name="Gst.Query" c:type="GstQuery*"/>
+ </parameter>
+ <parameter name="query" transfer-ownership="none">
+ <type name="Gst.Query" c:type="GstQuery*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="transform_size">
+ <callback name="transform_size">
+ <source-position filename="libs/gst/base/gstbasetransform.h"
+ line="252"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="trans" transfer-ownership="none">
+ <type name="BaseTransform" c:type="GstBaseTransform*"/>
+ </parameter>
+ <parameter name="direction" transfer-ownership="none">
+ <type name="Gst.PadDirection" c:type="GstPadDirection"/>
+ </parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ <parameter name="othercaps" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ <parameter name="othersize"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <type name="gsize" c:type="gsize*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="get_unit_size">
+ <callback name="get_unit_size">
+ <source-position filename="libs/gst/base/gstbasetransform.h"
+ line="261"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="trans" transfer-ownership="none">
+ <type name="BaseTransform" c:type="GstBaseTransform*"/>
+ </parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ <parameter name="size"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <type name="gsize" c:type="gsize*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="start">
+ <callback name="start">
+ <source-position filename="libs/gst/base/gstbasetransform.h"
+ line="265"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="trans" transfer-ownership="none">
+ <type name="BaseTransform" c:type="GstBaseTransform*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="stop">
+ <callback name="stop">
+ <source-position filename="libs/gst/base/gstbasetransform.h"
+ line="266"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="trans" transfer-ownership="none">
+ <type name="BaseTransform" c:type="GstBaseTransform*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="sink_event">
+ <callback name="sink_event">
+ <source-position filename="libs/gst/base/gstbasetransform.h"
+ line="269"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="trans" transfer-ownership="none">
+ <type name="BaseTransform" c:type="GstBaseTransform*"/>
+ </parameter>
+ <parameter name="event" transfer-ownership="none">
+ <type name="Gst.Event" c:type="GstEvent*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="src_event">
+ <callback name="src_event">
+ <source-position filename="libs/gst/base/gstbasetransform.h"
+ line="270"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="trans" transfer-ownership="none">
+ <type name="BaseTransform" c:type="GstBaseTransform*"/>
+ </parameter>
+ <parameter name="event" transfer-ownership="none">
+ <type name="Gst.Event" c:type="GstEvent*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="prepare_output_buffer">
+ <callback name="prepare_output_buffer">
+ <source-position filename="libs/gst/base/gstbasetransform.h"
+ line="276"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="trans" transfer-ownership="none">
+ <type name="BaseTransform" c:type="GstBaseTransform*"/>
+ </parameter>
+ <parameter name="input" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="outbuf"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <type name="Gst.Buffer" c:type="GstBuffer**"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="copy_metadata">
+ <callback name="copy_metadata">
+ <source-position filename="libs/gst/base/gstbasetransform.h"
+ line="280"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="trans" transfer-ownership="none">
+ <type name="BaseTransform" c:type="GstBaseTransform*"/>
+ </parameter>
+ <parameter name="input" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="outbuf" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="transform_meta">
+ <callback name="transform_meta">
+ <source-position filename="libs/gst/base/gstbasetransform.h"
+ line="282"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="trans" transfer-ownership="none">
+ <type name="BaseTransform" c:type="GstBaseTransform*"/>
+ </parameter>
+ <parameter name="outbuf" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="meta" transfer-ownership="none">
+ <type name="Gst.Meta" c:type="GstMeta*"/>
+ </parameter>
+ <parameter name="inbuf" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="before_transform">
+ <callback name="before_transform">
+ <source-position filename="libs/gst/base/gstbasetransform.h"
+ line="285"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="trans" transfer-ownership="none">
+ <type name="BaseTransform" c:type="GstBaseTransform*"/>
+ </parameter>
+ <parameter name="buffer" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="transform">
+ <callback name="transform">
+ <source-position filename="libs/gst/base/gstbasetransform.h"
+ line="288"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="trans" transfer-ownership="none">
+ <type name="BaseTransform" c:type="GstBaseTransform*"/>
+ </parameter>
+ <parameter name="inbuf" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="outbuf" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="transform_ip">
+ <callback name="transform_ip">
+ <source-position filename="libs/gst/base/gstbasetransform.h"
+ line="290"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="trans" transfer-ownership="none">
+ <type name="BaseTransform" c:type="GstBaseTransform*"/>
+ </parameter>
+ <parameter name="buf" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="submit_input_buffer">
+ <callback name="submit_input_buffer">
+ <source-position filename="libs/gst/base/gstbasetransform.h"
+ line="292"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="trans" transfer-ownership="none">
+ <type name="BaseTransform" c:type="GstBaseTransform*"/>
+ </parameter>
+ <parameter name="is_discont" transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ <parameter name="input" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="generate_output">
+ <callback name="generate_output">
+ <source-position filename="libs/gst/base/gstbasetransform.h"
+ line="298"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="trans" transfer-ownership="none">
+ <type name="BaseTransform" c:type="GstBaseTransform*"/>
+ </parameter>
+ <parameter name="outbuf"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <type name="Gst.Buffer" c:type="GstBuffer**"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="18">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="BaseTransformPrivate"
+ c:type="GstBaseTransformPrivate"
+ disguised="1">
+ <source-position filename="libs/gst/base/gstbasetransform.h" line="76"/>
+ </record>
+ <record name="BitReader" c:type="GstBitReader">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitreader.c"
+ line="30">#GstBitReader provides a bit reader that can read any number of bits
+from a memory buffer. It provides functions for reading any number of bits
+into 8, 16, 32 and 64 bit variables.</doc>
+ <source-position filename="libs/gst/base/gstbitreader.h" line="52"/>
+ <field name="data" writable="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitreader.h"
+ line="35">Data from which the bit reader will
+ read</doc>
+ <array length="1" zero-terminated="0" c:type="const guint8*">
+ <type name="guint8" c:type="guint8"/>
+ </array>
+ </field>
+ <field name="size" writable="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitreader.h"
+ line="37">Size of @data in bytes</doc>
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="byte" writable="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitreader.h"
+ line="38">Current byte position</doc>
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="bit" writable="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitreader.h"
+ line="39">Bit position in the current byte</doc>
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <method name="free" c:identifier="gst_bit_reader_free">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitreader.c"
+ line="74">Frees a #GstBitReader instance, which was previously allocated by
+gst_bit_reader_new().</doc>
+ <source-position filename="libs/gst/base/gstbitreader.h" line="58"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="reader" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitreader.c"
+ line="76">a #GstBitReader instance</doc>
+ <type name="BitReader" c:type="GstBitReader*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_bits_uint16"
+ c:identifier="gst_bit_reader_get_bits_uint16">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitreader.c"
+ line="214">Read @nbits bits into @val and update the current position.</doc>
+ <source-position filename="libs/gst/base/gstbitreader.h" line="85"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitreader.c"
+ line="222">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="reader" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitreader.c"
+ line="216">a #GstBitReader instance</doc>
+ <type name="BitReader" c:type="GstBitReader*"/>
+ </instance-parameter>
+ <parameter name="val"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitreader.c"
+ line="217">Pointer to a #guint16 to store the result</doc>
+ <type name="guint16" c:type="guint16*"/>
+ </parameter>
+ <parameter name="nbits" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitreader.c"
+ line="218">number of bits to read</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_bits_uint32"
+ c:identifier="gst_bit_reader_get_bits_uint32">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitreader.c"
+ line="225">Read @nbits bits into @val and update the current position.</doc>
+ <source-position filename="libs/gst/base/gstbitreader.h" line="88"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitreader.c"
+ line="233">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="reader" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitreader.c"
+ line="227">a #GstBitReader instance</doc>
+ <type name="BitReader" c:type="GstBitReader*"/>
+ </instance-parameter>
+ <parameter name="val"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitreader.c"
+ line="228">Pointer to a #guint32 to store the result</doc>
+ <type name="guint32" c:type="guint32*"/>
+ </parameter>
+ <parameter name="nbits" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitreader.c"
+ line="229">number of bits to read</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_bits_uint64"
+ c:identifier="gst_bit_reader_get_bits_uint64">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitreader.c"
+ line="236">Read @nbits bits into @val and update the current position.</doc>
+ <source-position filename="libs/gst/base/gstbitreader.h" line="91"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitreader.c"
+ line="244">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="reader" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitreader.c"
+ line="238">a #GstBitReader instance</doc>
+ <type name="BitReader" c:type="GstBitReader*"/>
+ </instance-parameter>
+ <parameter name="val"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitreader.c"
+ line="239">Pointer to a #guint64 to store the result</doc>
+ <type name="guint64" c:type="guint64*"/>
+ </parameter>
+ <parameter name="nbits" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitreader.c"
+ line="240">number of bits to read</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_bits_uint8"
+ c:identifier="gst_bit_reader_get_bits_uint8">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitreader.c"
+ line="203">Read @nbits bits into @val and update the current position.</doc>
+ <source-position filename="libs/gst/base/gstbitreader.h" line="82"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitreader.c"
+ line="211">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="reader" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitreader.c"
+ line="205">a #GstBitReader instance</doc>
+ <type name="BitReader" c:type="GstBitReader*"/>
+ </instance-parameter>
+ <parameter name="val"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitreader.c"
+ line="206">Pointer to a #guint8 to store the result</doc>
+ <type name="guint8" c:type="guint8*"/>
+ </parameter>
+ <parameter name="nbits" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitreader.c"
+ line="207">number of bits to read</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_pos" c:identifier="gst_bit_reader_get_pos">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitreader.c"
+ line="132">Returns the current position of a #GstBitReader instance in bits.</doc>
+ <source-position filename="libs/gst/base/gstbitreader.h" line="67"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitreader.c"
+ line="138">The current position of @reader in bits.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="reader" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitreader.c"
+ line="134">a #GstBitReader instance</doc>
+ <type name="BitReader" c:type="const GstBitReader*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_remaining" c:identifier="gst_bit_reader_get_remaining">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitreader.c"
+ line="146">Returns the remaining number of bits of a #GstBitReader instance.</doc>
+ <source-position filename="libs/gst/base/gstbitreader.h" line="70"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitreader.c"
+ line="152">The remaining number of bits of @reader instance.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="reader" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitreader.c"
+ line="148">a #GstBitReader instance</doc>
+ <type name="BitReader" c:type="const GstBitReader*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_size" c:identifier="gst_bit_reader_get_size">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitreader.c"
+ line="160">Returns the total number of bits of a #GstBitReader instance.</doc>
+ <source-position filename="libs/gst/base/gstbitreader.h" line="73"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitreader.c"
+ line="166">The total number of bits of @reader instance.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="reader" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitreader.c"
+ line="162">a #GstBitReader instance</doc>
+ <type name="BitReader" c:type="const GstBitReader*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="init" c:identifier="gst_bit_reader_init">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitreader.c"
+ line="89">Initializes a #GstBitReader instance to read from @data. This function
+can be called on already initialized instances.</doc>
+ <source-position filename="libs/gst/base/gstbitreader.h" line="61"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="reader" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitreader.c"
+ line="91">a #GstBitReader instance</doc>
+ <type name="BitReader" c:type="GstBitReader*"/>
+ </instance-parameter>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitreader.c"
+ line="92">data from which the bit reader should read</doc>
+ <array length="1" zero-terminated="0" c:type="const guint8*">
+ <type name="guint8" c:type="guint8"/>
+ </array>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitreader.c"
+ line="93">Size of @data in bytes</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="peek_bits_uint16"
+ c:identifier="gst_bit_reader_peek_bits_uint16">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitreader.c"
+ line="258">Read @nbits bits into @val but keep the current position.</doc>
+ <source-position filename="libs/gst/base/gstbitreader.h" line="97"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitreader.c"
+ line="266">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="reader" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitreader.c"
+ line="260">a #GstBitReader instance</doc>
+ <type name="BitReader" c:type="const GstBitReader*"/>
+ </instance-parameter>
+ <parameter name="val"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitreader.c"
+ line="261">Pointer to a #guint16 to store the result</doc>
+ <type name="guint16" c:type="guint16*"/>
+ </parameter>
+ <parameter name="nbits" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitreader.c"
+ line="262">number of bits to read</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="peek_bits_uint32"
+ c:identifier="gst_bit_reader_peek_bits_uint32">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitreader.c"
+ line="269">Read @nbits bits into @val but keep the current position.</doc>
+ <source-position filename="libs/gst/base/gstbitreader.h" line="100"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitreader.c"
+ line="277">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="reader" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitreader.c"
+ line="271">a #GstBitReader instance</doc>
+ <type name="BitReader" c:type="const GstBitReader*"/>
+ </instance-parameter>
+ <parameter name="val"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitreader.c"
+ line="272">Pointer to a #guint32 to store the result</doc>
+ <type name="guint32" c:type="guint32*"/>
+ </parameter>
+ <parameter name="nbits" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitreader.c"
+ line="273">number of bits to read</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="peek_bits_uint64"
+ c:identifier="gst_bit_reader_peek_bits_uint64">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitreader.c"
+ line="280">Read @nbits bits into @val but keep the current position.</doc>
+ <source-position filename="libs/gst/base/gstbitreader.h" line="103"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitreader.c"
+ line="288">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="reader" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitreader.c"
+ line="282">a #GstBitReader instance</doc>
+ <type name="BitReader" c:type="const GstBitReader*"/>
+ </instance-parameter>
+ <parameter name="val"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitreader.c"
+ line="283">Pointer to a #guint64 to store the result</doc>
+ <type name="guint64" c:type="guint64*"/>
+ </parameter>
+ <parameter name="nbits" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitreader.c"
+ line="284">number of bits to read</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="peek_bits_uint8"
+ c:identifier="gst_bit_reader_peek_bits_uint8">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitreader.c"
+ line="247">Read @nbits bits into @val but keep the current position.</doc>
+ <source-position filename="libs/gst/base/gstbitreader.h" line="94"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitreader.c"
+ line="255">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="reader" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitreader.c"
+ line="249">a #GstBitReader instance</doc>
+ <type name="BitReader" c:type="const GstBitReader*"/>
+ </instance-parameter>
+ <parameter name="val"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitreader.c"
+ line="250">Pointer to a #guint8 to store the result</doc>
+ <type name="guint8" c:type="guint8*"/>
+ </parameter>
+ <parameter name="nbits" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitreader.c"
+ line="251">number of bits to read</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_pos" c:identifier="gst_bit_reader_set_pos">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitreader.c"
+ line="108">Sets the new position of a #GstBitReader instance to @pos in bits.</doc>
+ <source-position filename="libs/gst/base/gstbitreader.h" line="64"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitreader.c"
+ line="115">%TRUE if the position could be set successfully, %FALSE
+otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="reader" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitreader.c"
+ line="110">a #GstBitReader instance</doc>
+ <type name="BitReader" c:type="GstBitReader*"/>
+ </instance-parameter>
+ <parameter name="pos" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitreader.c"
+ line="111">The new position in bits</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="skip" c:identifier="gst_bit_reader_skip">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitreader.c"
+ line="174">Skips @nbits bits of the #GstBitReader instance.</doc>
+ <source-position filename="libs/gst/base/gstbitreader.h" line="76"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitreader.c"
+ line="181">%TRUE if @nbits bits could be skipped, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="reader" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitreader.c"
+ line="176">a #GstBitReader instance</doc>
+ <type name="BitReader" c:type="GstBitReader*"/>
+ </instance-parameter>
+ <parameter name="nbits" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitreader.c"
+ line="177">the number of bits to skip</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="skip_to_byte" c:identifier="gst_bit_reader_skip_to_byte">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitreader.c"
+ line="189">Skips until the next byte.</doc>
+ <source-position filename="libs/gst/base/gstbitreader.h" line="79"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitreader.c"
+ line="195">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="reader" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitreader.c"
+ line="191">a #GstBitReader instance</doc>
+ <type name="BitReader" c:type="GstBitReader*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <function name="new"
+ c:identifier="gst_bit_reader_new"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitreader.c"
+ line="51">Create a new #GstBitReader instance, which will read from @data.
+
+Free-function: gst_bit_reader_free</doc>
+ <source-position filename="libs/gst/base/gstbitreader.h" line="55"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitreader.c"
+ line="61">a new #GstBitReader instance</doc>
+ <type name="BitReader" c:type="GstBitReader*"/>
+ </return-value>
+ <parameters>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitreader.c"
+ line="53">Data from which the #GstBitReader
+ should read</doc>
+ <array length="1" zero-terminated="0" c:type="const guint8*">
+ <type name="guint8" c:type="guint8"/>
+ </array>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitreader.c"
+ line="55">Size of @data in bytes</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ </record>
+ <record name="BitWriter" c:type="GstBitWriter" version="1.16">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitwriter.c"
+ line="30">#GstBitWriter provides a bit writer that can write any number of
+bits into a memory buffer. It provides functions for writing any
+number of bits into 8, 16, 32 and 64 bit variables.</doc>
+ <source-position filename="libs/gst/base/gstbitwriter.h" line="58"/>
+ <field name="data" writable="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitwriter.h"
+ line="41">Allocated @data for bit writer to write</doc>
+ <type name="guint8" c:type="guint8*"/>
+ </field>
+ <field name="bit_size" writable="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitwriter.h"
+ line="42">Size of written @data in bits</doc>
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="bit_capacity" readable="0" private="1">
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="auto_grow" readable="0" private="1">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="owned" readable="0" private="1">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <method name="align_bytes" c:identifier="gst_bit_writer_align_bytes">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitwriter.c"
+ line="430">Write trailing bit to align last byte of @data. @trailing_bit can
+only be 1 or 0.</doc>
+ <source-position filename="libs/gst/base/gstbitwriter.h" line="132"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitwriter.c"
+ line="438">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="bitwriter" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitwriter.c"
+ line="432">a #GstBitWriter instance</doc>
+ <type name="BitWriter" c:type="GstBitWriter*"/>
+ </instance-parameter>
+ <parameter name="trailing_bit" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitwriter.c"
+ line="433">trailing bits of last byte, 0 or 1</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="free" c:identifier="gst_bit_writer_free">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitwriter.c"
+ line="246">Frees @bitwriter and the allocated data inside.</doc>
+ <source-position filename="libs/gst/base/gstbitwriter.h" line="71"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="bitwriter" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitwriter.c"
+ line="248">#GstBitWriter instance</doc>
+ <type name="BitWriter" c:type="GstBitWriter*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="free_and_get_buffer"
+ c:identifier="gst_bit_writer_free_and_get_buffer">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitwriter.c"
+ line="286">Frees @bitwriter without destroying the internal data, which is
+returned as #GstBuffer.
+
+Free-function: gst_buffer_unref</doc>
+ <source-position filename="libs/gst/base/gstbitwriter.h" line="77"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitwriter.c"
+ line="295">a new allocated #GstBuffer wrapping the
+ data inside. gst_buffer_unref() after usage.</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="bitwriter" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitwriter.c"
+ line="288">#GstBitWriter instance</doc>
+ <type name="BitWriter" c:type="GstBitWriter*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="free_and_get_data"
+ c:identifier="gst_bit_writer_free_and_get_data">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitwriter.c"
+ line="261">Frees @bitwriter without destroying the internal data, which is
+returned.
+
+Free-function: g_free</doc>
+ <source-position filename="libs/gst/base/gstbitwriter.h" line="74"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitwriter.c"
+ line="270">the current data. g_free() after
+ usage.</doc>
+ <array zero-terminated="0" c:type="guint8*">
+ <type name="guint8" c:type="guint8"/>
+ </array>
+ </return-value>
+ <parameters>
+ <instance-parameter name="bitwriter" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitwriter.c"
+ line="263">#GstBitWriter instance</doc>
+ <type name="BitWriter" c:type="GstBitWriter*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_data" c:identifier="gst_bit_writer_get_data">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitwriter.c"
+ line="325">Get written data pointer</doc>
+ <source-position filename="libs/gst/base/gstbitwriter.h" line="103"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitwriter.c"
+ line="331">data pointer</doc>
+ <type name="guint8" c:type="guint8*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="bitwriter" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitwriter.c"
+ line="327">a #GstBitWriter instance</doc>
+ <type name="BitWriter" c:type="const GstBitWriter*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_remaining" c:identifier="gst_bit_writer_get_remaining">
+ <source-position filename="libs/gst/base/gstbitwriter.h" line="109"/>
+ <return-value transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="bitwriter" transfer-ownership="none">
+ <type name="BitWriter" c:type="const GstBitWriter*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_size" c:identifier="gst_bit_writer_get_size">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitwriter.c"
+ line="311">Get size of written @data</doc>
+ <source-position filename="libs/gst/base/gstbitwriter.h" line="100"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitwriter.c"
+ line="317">size of bits written in @data</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="bitwriter" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitwriter.c"
+ line="313">a #GstBitWriter instance</doc>
+ <type name="BitWriter" c:type="const GstBitWriter*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="init"
+ c:identifier="gst_bit_writer_init"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitwriter.c"
+ line="103">Initializes @bitwriter to an empty instance.</doc>
+ <source-position filename="libs/gst/base/gstbitwriter.h" line="80"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="bitwriter" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitwriter.c"
+ line="105">#GstBitWriter instance</doc>
+ <type name="BitWriter" c:type="GstBitWriter*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="init_with_data"
+ c:identifier="gst_bit_writer_init_with_data"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitwriter.c"
+ line="141">Initializes @bitwriter with the given memory area @data. IF
+@initialized is %TRUE it is possible to read @size bits from the
+#GstBitWriter from the beginning.</doc>
+ <source-position filename="libs/gst/base/gstbitwriter.h" line="87"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="bitwriter" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitwriter.c"
+ line="143">#GstBitWriter instance</doc>
+ <type name="BitWriter" c:type="GstBitWriter*"/>
+ </instance-parameter>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitwriter.c"
+ line="144">Memory area for writing</doc>
+ <array length="1" zero-terminated="0" c:type="guint8*">
+ <type name="guint8" c:type="guint8"/>
+ </array>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitwriter.c"
+ line="145">Size of @data in bytes</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="initialized" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitwriter.c"
+ line="146">If %TRUE the complete data can be read from the beginning</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="init_with_size"
+ c:identifier="gst_bit_writer_init_with_size"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitwriter.c"
+ line="119">Initializes a #GstBitWriter instance and allocates the given data
+@size.</doc>
+ <source-position filename="libs/gst/base/gstbitwriter.h" line="83"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="bitwriter" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitwriter.c"
+ line="121">#GstBitWriter instance</doc>
+ <type name="BitWriter" c:type="GstBitWriter*"/>
+ </instance-parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitwriter.c"
+ line="122">the size on bytes to allocate for data</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ <parameter name="fixed" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitwriter.c"
+ line="123">If %TRUE the data can't be reallocated</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="put_bits_uint16"
+ c:identifier="gst_bit_writer_put_bits_uint16">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitwriter.c"
+ line="365">Write @nbits bits of @value to #GstBitWriter.</doc>
+ <source-position filename="libs/gst/base/gstbitwriter.h" line="116"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitwriter.c"
+ line="373">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="bitwriter" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitwriter.c"
+ line="367">a #GstBitWriter instance</doc>
+ <type name="BitWriter" c:type="GstBitWriter*"/>
+ </instance-parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitwriter.c"
+ line="368">value of #guint16 to write</doc>
+ <type name="guint16" c:type="guint16"/>
+ </parameter>
+ <parameter name="nbits" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitwriter.c"
+ line="369">number of bits to write</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="put_bits_uint32"
+ c:identifier="gst_bit_writer_put_bits_uint32">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitwriter.c"
+ line="376">Write @nbits bits of @value to #GstBitWriter.</doc>
+ <source-position filename="libs/gst/base/gstbitwriter.h" line="120"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitwriter.c"
+ line="384">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="bitwriter" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitwriter.c"
+ line="378">a #GstBitWriter instance</doc>
+ <type name="BitWriter" c:type="GstBitWriter*"/>
+ </instance-parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitwriter.c"
+ line="379">value of #guint32 to write</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ <parameter name="nbits" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitwriter.c"
+ line="380">number of bits to write</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="put_bits_uint64"
+ c:identifier="gst_bit_writer_put_bits_uint64">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitwriter.c"
+ line="387">Write @nbits bits of @value to #GstBitWriter.</doc>
+ <source-position filename="libs/gst/base/gstbitwriter.h" line="124"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitwriter.c"
+ line="395">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="bitwriter" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitwriter.c"
+ line="389">a #GstBitWriter instance</doc>
+ <type name="BitWriter" c:type="GstBitWriter*"/>
+ </instance-parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitwriter.c"
+ line="390">value of #guint64 to write</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ <parameter name="nbits" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitwriter.c"
+ line="391">number of bits to write</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="put_bits_uint8"
+ c:identifier="gst_bit_writer_put_bits_uint8">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitwriter.c"
+ line="354">Write @nbits bits of @value to #GstBitWriter.</doc>
+ <source-position filename="libs/gst/base/gstbitwriter.h" line="112"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitwriter.c"
+ line="362">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="bitwriter" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitwriter.c"
+ line="356">a #GstBitWriter instance</doc>
+ <type name="BitWriter" c:type="GstBitWriter*"/>
+ </instance-parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitwriter.c"
+ line="357">value of #guint8 to write</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ <parameter name="nbits" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitwriter.c"
+ line="358">number of bits to write</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="put_bytes" c:identifier="gst_bit_writer_put_bytes">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitwriter.c"
+ line="413">Write @nbytes bytes of @data to #GstBitWriter.</doc>
+ <source-position filename="libs/gst/base/gstbitwriter.h" line="128"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitwriter.c"
+ line="421">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="bitwriter" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitwriter.c"
+ line="415">a #GstBitWriter instance</doc>
+ <type name="BitWriter" c:type="GstBitWriter*"/>
+ </instance-parameter>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitwriter.c"
+ line="416">pointer of data to write</doc>
+ <type name="guint8" c:type="const guint8*"/>
+ </parameter>
+ <parameter name="nbytes" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitwriter.c"
+ line="417">number of bytes to write</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="reset" c:identifier="gst_bit_writer_reset">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitwriter.c"
+ line="167">Resets @bitwriter and frees the data if it's owned by @bitwriter.</doc>
+ <source-position filename="libs/gst/base/gstbitwriter.h" line="91"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="bitwriter" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitwriter.c"
+ line="169">#GstBitWriter instance</doc>
+ <type name="BitWriter" c:type="GstBitWriter*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="reset_and_get_buffer"
+ c:identifier="gst_bit_writer_reset_and_get_buffer">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitwriter.c"
+ line="209">Resets @bitwriter and returns the current data as #GstBuffer.
+
+Free-function: gst_buffer_unref</doc>
+ <source-position filename="libs/gst/base/gstbitwriter.h" line="97"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitwriter.c"
+ line="217">a new allocated #GstBuffer wrapping the
+ current data. gst_buffer_unref() after usage.</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="bitwriter" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitwriter.c"
+ line="211">a #GstBitWriter instance</doc>
+ <type name="BitWriter" c:type="GstBitWriter*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="reset_and_get_data"
+ c:identifier="gst_bit_writer_reset_and_get_data">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitwriter.c"
+ line="183">Resets @bitwriter and returns the current data.
+
+Free-function: g_free</doc>
+ <source-position filename="libs/gst/base/gstbitwriter.h" line="94"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitwriter.c"
+ line="191">the current data. g_free() after
+ usage.</doc>
+ <array zero-terminated="0" c:type="guint8*">
+ <type name="guint8" c:type="guint8"/>
+ </array>
+ </return-value>
+ <parameters>
+ <instance-parameter name="bitwriter" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitwriter.c"
+ line="185">a #GstBitWriter instance</doc>
+ <type name="BitWriter" c:type="GstBitWriter*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="set_pos" c:identifier="gst_bit_writer_set_pos">
+ <source-position filename="libs/gst/base/gstbitwriter.h" line="106"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="bitwriter" transfer-ownership="none">
+ <type name="BitWriter" c:type="GstBitWriter*"/>
+ </instance-parameter>
+ <parameter name="pos" transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <function name="new"
+ c:identifier="gst_bit_writer_new"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitwriter.c"
+ line="40">Creates a new, empty #GstBitWriter instance.
+
+Free-function: gst_bit_writer_free</doc>
+ <source-position filename="libs/gst/base/gstbitwriter.h" line="61"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitwriter.c"
+ line="47">a new, empty #GstByteWriter instance</doc>
+ <type name="BitWriter" c:type="GstBitWriter*"/>
+ </return-value>
+ </function>
+ <function name="new_with_data"
+ c:identifier="gst_bit_writer_new_with_data"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitwriter.c"
+ line="79">Creates a new #GstBitWriter instance with the given memory area. If
+@initialized is %TRUE it is possible to read @size bits from the
+#GstBitWriter from the beginning.
+
+Free-function: gst_bit_writer_free</doc>
+ <source-position filename="libs/gst/base/gstbitwriter.h" line="67"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitwriter.c"
+ line="91">a new #GstBitWriter instance</doc>
+ <type name="BitWriter" c:type="GstBitWriter*"/>
+ </return-value>
+ <parameters>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitwriter.c"
+ line="81">Memory area for writing</doc>
+ <type name="guint8" c:type="guint8*"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitwriter.c"
+ line="82">Size of @data in bytes</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="initialized" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitwriter.c"
+ line="83">if %TRUE the complete data can be read from the beginning</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="new_with_size"
+ c:identifier="gst_bit_writer_new_with_size"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitwriter.c"
+ line="59">Creates a #GstBitWriter instance with the given initial data size.
+
+Free-function: gst_bit_writer_free</doc>
+ <source-position filename="libs/gst/base/gstbitwriter.h" line="64"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitwriter.c"
+ line="68">a new #GstBitWriter instance</doc>
+ <type name="BitWriter" c:type="GstBitWriter*"/>
+ </return-value>
+ <parameters>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitwriter.c"
+ line="61">Initial size of data in bytes</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ <parameter name="fixed" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitwriter.c"
+ line="62">If %TRUE the data can't be reallocated</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </function>
+ </record>
+ <record name="ByteReader" c:type="GstByteReader">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="31">#GstByteReader provides a byte reader that can read different integer and
+floating point types from a memory buffer. It provides functions for reading
+signed/unsigned, little/big endian integers of 8, 16, 24, 32 and 64 bits
+and functions for reading little/big endian floating points numbers of
+32 and 64 bits. It also provides functions to read NUL-terminated strings
+in various character encodings.</doc>
+ <source-position filename="libs/gst/base/gstbytereader.h" line="49"/>
+ <field name="data" writable="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.h"
+ line="34">Data from which the bit reader will
+ read</doc>
+ <array length="1" zero-terminated="0" c:type="const guint8*">
+ <type name="guint8" c:type="guint8"/>
+ </array>
+ </field>
+ <field name="size" writable="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.h"
+ line="36">Size of @data in bytes</doc>
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="byte" writable="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.h"
+ line="37">Current byte position</doc>
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <method name="dup_data" c:identifier="gst_byte_reader_dup_data">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="843">Free-function: g_free
+
+Returns a newly-allocated copy of the current data
+position if at least @size bytes are left and
+updates the current position. Free with g_free() when no longer needed.</doc>
+ <source-position filename="libs/gst/base/gstbytereader.h" line="216"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="856">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="reader" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="845">a #GstByteReader instance</doc>
+ <type name="ByteReader" c:type="GstByteReader*"/>
+ </instance-parameter>
+ <parameter name="size"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="846">Size in bytes</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="val"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="847">address of a
+ #guint8 pointer variable in which to store the result</doc>
+ <array length="0" zero-terminated="0" c:type="guint8**">
+ <type name="guint8" c:type="guint8*"/>
+ </array>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="dup_string_utf16"
+ c:identifier="gst_byte_reader_dup_string_utf16">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="1250">Free-function: g_free
+
+Returns a newly-allocated copy of the current data position if there is
+a NUL-terminated UTF-16 string in the data (this could be an empty string
+as well), and advances the current position.
+
+No input checking for valid UTF-16 is done. This function is endianness
+agnostic - you should not assume the UTF-16 characters are in host
+endianness.
+
+This function will fail if no NUL-terminator was found in in the data.
+
+Note: there is no peek or get variant of this function to ensure correct
+byte alignment of the UTF-16 string.</doc>
+ <source-position filename="libs/gst/base/gstbytereader.h" line="231"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="1271">%TRUE if a string could be read, %FALSE otherwise. The
+ string put into @str must be freed with g_free() when no longer needed.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="reader" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="1252">a #GstByteReader instance</doc>
+ <type name="ByteReader" c:type="GstByteReader*"/>
+ </instance-parameter>
+ <parameter name="str"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="1253">address of a
+ #guint16 pointer variable in which to store the result</doc>
+ <array c:type="guint16**">
+ <type name="guint16" c:type="guint16*"/>
+ </array>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="dup_string_utf32"
+ c:identifier="gst_byte_reader_dup_string_utf32">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="1276">Free-function: g_free
+
+Returns a newly-allocated copy of the current data position if there is
+a NUL-terminated UTF-32 string in the data (this could be an empty string
+as well), and advances the current position.
+
+No input checking for valid UTF-32 is done. This function is endianness
+agnostic - you should not assume the UTF-32 characters are in host
+endianness.
+
+This function will fail if no NUL-terminator was found in in the data.
+
+Note: there is no peek or get variant of this function to ensure correct
+byte alignment of the UTF-32 string.</doc>
+ <source-position filename="libs/gst/base/gstbytereader.h" line="234"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="1297">%TRUE if a string could be read, %FALSE otherwise. The
+ string put into @str must be freed with g_free() when no longer needed.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="reader" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="1278">a #GstByteReader instance</doc>
+ <type name="ByteReader" c:type="GstByteReader*"/>
+ </instance-parameter>
+ <parameter name="str"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="1279">address of a
+ #guint32 pointer variable in which to store the result</doc>
+ <array c:type="guint32**">
+ <type name="guint32" c:type="guint32*"/>
+ </array>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="dup_string_utf8"
+ c:identifier="gst_byte_reader_dup_string_utf8">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="1230">Free-function: g_free
+
+FIXME:Reads (copies) a NUL-terminated string in the #GstByteReader instance,
+advancing the current position to the byte after the string. This will work
+for any NUL-terminated string with a character width of 8 bits, so ASCII,
+UTF-8, ISO-8859-N etc. No input checking for valid UTF-8 is done.
+
+This function will fail if no NUL-terminator was found in in the data.</doc>
+ <source-position filename="libs/gst/base/gstbytereader.h" line="228"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="1245">%TRUE if a string could be read into @str, %FALSE otherwise. The
+ string put into @str must be freed with g_free() when no longer needed.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="reader" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="1232">a #GstByteReader instance</doc>
+ <type name="ByteReader" c:type="GstByteReader*"/>
+ </instance-parameter>
+ <parameter name="str"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="1233">address of a
+ #gchar pointer variable in which to store the result</doc>
+ <array c:type="gchar**">
+ <type name="utf8" c:type="gchar*"/>
+ </array>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="free" c:identifier="gst_byte_reader_free">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="109">Frees a #GstByteReader instance, which was previously allocated by
+gst_byte_reader_new().</doc>
+ <source-position filename="libs/gst/base/gstbytereader.h" line="55"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="reader" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="111">a #GstByteReader instance</doc>
+ <type name="ByteReader" c:type="GstByteReader*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_data" c:identifier="gst_byte_reader_get_data">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="803">Returns a constant pointer to the current data
+position if at least @size bytes are left and
+updates the current position.</doc>
+ <source-position filename="libs/gst/base/gstbytereader.h" line="219"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="814">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="reader" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="805">a #GstByteReader instance</doc>
+ <type name="ByteReader" c:type="GstByteReader*"/>
+ </instance-parameter>
+ <parameter name="size"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="806">Size in bytes</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="val"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="807">address of a
+ #guint8 pointer variable in which to store the result</doc>
+ <array length="0" zero-terminated="0" c:type="const guint8**">
+ <type name="guint8" c:type="guint8*"/>
+ </array>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_float32_be"
+ c:identifier="gst_byte_reader_get_float32_be">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="730">Read a 32 bit big endian floating point value into @val
+and update the current position.</doc>
+ <source-position filename="libs/gst/base/gstbytereader.h" line="195"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="738">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="reader" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="732">a #GstByteReader instance</doc>
+ <type name="ByteReader" c:type="GstByteReader*"/>
+ </instance-parameter>
+ <parameter name="val"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="733">Pointer to a #gfloat to store the result</doc>
+ <type name="gfloat" c:type="gfloat*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_float32_le"
+ c:identifier="gst_byte_reader_get_float32_le">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="708">Read a 32 bit little endian floating point value into @val
+and update the current position.</doc>
+ <source-position filename="libs/gst/base/gstbytereader.h" line="192"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="716">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="reader" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="710">a #GstByteReader instance</doc>
+ <type name="ByteReader" c:type="GstByteReader*"/>
+ </instance-parameter>
+ <parameter name="val"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="711">Pointer to a #gfloat to store the result</doc>
+ <type name="gfloat" c:type="gfloat*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_float64_be"
+ c:identifier="gst_byte_reader_get_float64_be">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="774">Read a 64 bit big endian floating point value into @val
+and update the current position.</doc>
+ <source-position filename="libs/gst/base/gstbytereader.h" line="201"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="782">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="reader" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="776">a #GstByteReader instance</doc>
+ <type name="ByteReader" c:type="GstByteReader*"/>
+ </instance-parameter>
+ <parameter name="val"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="777">Pointer to a #gdouble to store the result</doc>
+ <type name="gdouble" c:type="gdouble*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_float64_le"
+ c:identifier="gst_byte_reader_get_float64_le">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="752">Read a 64 bit little endian floating point value into @val
+and update the current position.</doc>
+ <source-position filename="libs/gst/base/gstbytereader.h" line="198"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="760">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="reader" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="754">a #GstByteReader instance</doc>
+ <type name="ByteReader" c:type="GstByteReader*"/>
+ </instance-parameter>
+ <parameter name="val"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="755">Pointer to a #gdouble to store the result</doc>
+ <type name="gdouble" c:type="gdouble*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_int16_be" c:identifier="gst_byte_reader_get_int16_be">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="372">Read a signed 16 bit big endian integer into @val
+and update the current position.</doc>
+ <source-position filename="libs/gst/base/gstbytereader.h" line="99"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="380">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="reader" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="374">a #GstByteReader instance</doc>
+ <type name="ByteReader" c:type="GstByteReader*"/>
+ </instance-parameter>
+ <parameter name="val"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="375">Pointer to a #gint16 to store the result</doc>
+ <type name="gint16" c:type="gint16*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_int16_le" c:identifier="gst_byte_reader_get_int16_le">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="328">Read a signed 16 bit little endian integer into @val
+and update the current position.</doc>
+ <source-position filename="libs/gst/base/gstbytereader.h" line="93"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="336">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="reader" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="330">a #GstByteReader instance</doc>
+ <type name="ByteReader" c:type="GstByteReader*"/>
+ </instance-parameter>
+ <parameter name="val"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="331">Pointer to a #gint16 to store the result</doc>
+ <type name="gint16" c:type="gint16*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_int24_be" c:identifier="gst_byte_reader_get_int24_be">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="460">Read a signed 24 bit big endian integer into @val
+and update the current position.</doc>
+ <source-position filename="libs/gst/base/gstbytereader.h" line="111"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="468">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="reader" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="462">a #GstByteReader instance</doc>
+ <type name="ByteReader" c:type="GstByteReader*"/>
+ </instance-parameter>
+ <parameter name="val"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="463">Pointer to a #gint32 to store the result</doc>
+ <type name="gint32" c:type="gint32*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_int24_le" c:identifier="gst_byte_reader_get_int24_le">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="416">Read a signed 24 bit little endian integer into @val
+and update the current position.</doc>
+ <source-position filename="libs/gst/base/gstbytereader.h" line="105"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="424">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="reader" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="418">a #GstByteReader instance</doc>
+ <type name="ByteReader" c:type="GstByteReader*"/>
+ </instance-parameter>
+ <parameter name="val"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="419">Pointer to a #gint32 to store the result</doc>
+ <type name="gint32" c:type="gint32*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_int32_be" c:identifier="gst_byte_reader_get_int32_be">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="549">Read a signed 32 bit big endian integer into @val
+and update the current position.</doc>
+ <source-position filename="libs/gst/base/gstbytereader.h" line="123"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="557">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="reader" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="551">a #GstByteReader instance</doc>
+ <type name="ByteReader" c:type="GstByteReader*"/>
+ </instance-parameter>
+ <parameter name="val"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="552">Pointer to a #gint32 to store the result</doc>
+ <type name="gint32" c:type="gint32*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_int32_le" c:identifier="gst_byte_reader_get_int32_le">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="505">Read a signed 32 bit little endian integer into @val
+and update the current position.</doc>
+ <source-position filename="libs/gst/base/gstbytereader.h" line="117"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="513">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="reader" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="507">a #GstByteReader instance</doc>
+ <type name="ByteReader" c:type="GstByteReader*"/>
+ </instance-parameter>
+ <parameter name="val"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="508">Pointer to a #gint32 to store the result</doc>
+ <type name="gint32" c:type="gint32*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_int64_be" c:identifier="gst_byte_reader_get_int64_be">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="637">Read a signed 64 bit big endian integer into @val
+and update the current position.</doc>
+ <source-position filename="libs/gst/base/gstbytereader.h" line="135"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="645">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="reader" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="639">a #GstByteReader instance</doc>
+ <type name="ByteReader" c:type="GstByteReader*"/>
+ </instance-parameter>
+ <parameter name="val"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="640">Pointer to a #gint64 to store the result</doc>
+ <type name="gint64" c:type="gint64*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_int64_le" c:identifier="gst_byte_reader_get_int64_le">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="593">Read a signed 64 bit little endian integer into @val
+and update the current position.</doc>
+ <source-position filename="libs/gst/base/gstbytereader.h" line="129"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="601">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="reader" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="595">a #GstByteReader instance</doc>
+ <type name="ByteReader" c:type="GstByteReader*"/>
+ </instance-parameter>
+ <parameter name="val"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="596">Pointer to a #gint64 to store the result</doc>
+ <type name="gint64" c:type="gint64*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_int8" c:identifier="gst_byte_reader_get_int8">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="287">Read a signed 8 bit integer into @val and update the current position.</doc>
+ <source-position filename="libs/gst/base/gstbytereader.h" line="87"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="294">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="reader" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="289">a #GstByteReader instance</doc>
+ <type name="ByteReader" c:type="GstByteReader*"/>
+ </instance-parameter>
+ <parameter name="val"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="290">Pointer to a #gint8 to store the result</doc>
+ <type name="gint8" c:type="gint8*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_pos" c:identifier="gst_byte_reader_get_pos">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="217">Returns the current position of a #GstByteReader instance in bytes.</doc>
+ <source-position filename="libs/gst/base/gstbytereader.h" line="72"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="223">The current position of @reader in bytes.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="reader" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="219">a #GstByteReader instance</doc>
+ <type name="ByteReader" c:type="const GstByteReader*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_remaining"
+ c:identifier="gst_byte_reader_get_remaining">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="231">Returns the remaining number of bytes of a #GstByteReader instance.</doc>
+ <source-position filename="libs/gst/base/gstbytereader.h" line="75"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="237">The remaining number of bytes of @reader instance.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="reader" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="233">a #GstByteReader instance</doc>
+ <type name="ByteReader" c:type="const GstByteReader*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_size" c:identifier="gst_byte_reader_get_size">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="245">Returns the total number of bytes of a #GstByteReader instance.</doc>
+ <source-position filename="libs/gst/base/gstbytereader.h" line="78"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="251">The total number of bytes of @reader instance.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="reader" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="247">a #GstByteReader instance</doc>
+ <type name="ByteReader" c:type="const GstByteReader*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_string_utf8"
+ c:identifier="gst_byte_reader_get_string_utf8">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="1174">Returns a constant pointer to the current data position if there is
+a NUL-terminated string in the data (this could be just a NUL terminator),
+advancing the current position to the byte after the string. This will work
+for any NUL-terminated string with a character width of 8 bits, so ASCII,
+UTF-8, ISO-8859-N etc.
+
+No input checking for valid UTF-8 is done.
+
+This function will fail if no NUL-terminator was found in in the data.</doc>
+ <source-position filename="libs/gst/base/gstbytereader.h" line="255"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="1190">%TRUE if a string could be found, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="reader" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="1176">a #GstByteReader instance</doc>
+ <type name="ByteReader" c:type="GstByteReader*"/>
+ </instance-parameter>
+ <parameter name="str"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="1177">address of a
+ #gchar pointer variable in which to store the result</doc>
+ <array c:type="const gchar**">
+ <type name="utf8" c:type="gchar*"/>
+ </array>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_sub_reader"
+ c:identifier="gst_byte_reader_get_sub_reader"
+ version="1.6"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="169">Initializes a #GstByteReader sub-reader instance to contain @size bytes of
+data from the current position of @reader. This is useful to read chunked
+formats and make sure that one doesn't read beyond the size of the sub-chunk.
+
+Unlike gst_byte_reader_peek_sub_reader(), this function also modifies the
+position of @reader and moves it forward by @size bytes.</doc>
+ <source-position filename="libs/gst/base/gstbytereader.h" line="65"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="182">FALSE on error or if @reader does not contain @size more bytes from
+ the current position, and otherwise TRUE</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="reader" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="171">an existing and initialized #GstByteReader instance</doc>
+ <type name="ByteReader" c:type="GstByteReader*"/>
+ </instance-parameter>
+ <parameter name="sub_reader" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="172">a #GstByteReader instance to initialize as sub-reader</doc>
+ <type name="ByteReader" c:type="GstByteReader*"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="173">size of @sub_reader in bytes</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_uint16_be"
+ c:identifier="gst_byte_reader_get_uint16_be">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="361">Read an unsigned 16 bit big endian integer into @val
+and update the current position.</doc>
+ <source-position filename="libs/gst/base/gstbytereader.h" line="96"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="369">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="reader" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="363">a #GstByteReader instance</doc>
+ <type name="ByteReader" c:type="GstByteReader*"/>
+ </instance-parameter>
+ <parameter name="val"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="364">Pointer to a #guint16 to store the result</doc>
+ <type name="guint16" c:type="guint16*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_uint16_le"
+ c:identifier="gst_byte_reader_get_uint16_le">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="317">Read an unsigned 16 bit little endian integer into @val
+and update the current position.</doc>
+ <source-position filename="libs/gst/base/gstbytereader.h" line="90"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="325">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="reader" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="319">a #GstByteReader instance</doc>
+ <type name="ByteReader" c:type="GstByteReader*"/>
+ </instance-parameter>
+ <parameter name="val"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="320">Pointer to a #guint16 to store the result</doc>
+ <type name="guint16" c:type="guint16*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_uint24_be"
+ c:identifier="gst_byte_reader_get_uint24_be">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="449">Read an unsigned 24 bit big endian integer into @val
+and update the current position.</doc>
+ <source-position filename="libs/gst/base/gstbytereader.h" line="108"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="457">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="reader" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="451">a #GstByteReader instance</doc>
+ <type name="ByteReader" c:type="GstByteReader*"/>
+ </instance-parameter>
+ <parameter name="val"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="452">Pointer to a #guint32 to store the result</doc>
+ <type name="guint32" c:type="guint32*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_uint24_le"
+ c:identifier="gst_byte_reader_get_uint24_le">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="405">Read an unsigned 24 bit little endian integer into @val
+and update the current position.</doc>
+ <source-position filename="libs/gst/base/gstbytereader.h" line="102"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="413">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="reader" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="407">a #GstByteReader instance</doc>
+ <type name="ByteReader" c:type="GstByteReader*"/>
+ </instance-parameter>
+ <parameter name="val"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="408">Pointer to a #guint32 to store the result</doc>
+ <type name="guint32" c:type="guint32*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_uint32_be"
+ c:identifier="gst_byte_reader_get_uint32_be">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="538">Read an unsigned 32 bit big endian integer into @val
+and update the current position.</doc>
+ <source-position filename="libs/gst/base/gstbytereader.h" line="120"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="546">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="reader" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="540">a #GstByteReader instance</doc>
+ <type name="ByteReader" c:type="GstByteReader*"/>
+ </instance-parameter>
+ <parameter name="val"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="541">Pointer to a #guint32 to store the result</doc>
+ <type name="guint32" c:type="guint32*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_uint32_le"
+ c:identifier="gst_byte_reader_get_uint32_le">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="494">Read an unsigned 32 bit little endian integer into @val
+and update the current position.</doc>
+ <source-position filename="libs/gst/base/gstbytereader.h" line="114"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="502">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="reader" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="496">a #GstByteReader instance</doc>
+ <type name="ByteReader" c:type="GstByteReader*"/>
+ </instance-parameter>
+ <parameter name="val"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="497">Pointer to a #guint32 to store the result</doc>
+ <type name="guint32" c:type="guint32*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_uint64_be"
+ c:identifier="gst_byte_reader_get_uint64_be">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="626">Read an unsigned 64 bit big endian integer into @val
+and update the current position.</doc>
+ <source-position filename="libs/gst/base/gstbytereader.h" line="132"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="634">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="reader" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="628">a #GstByteReader instance</doc>
+ <type name="ByteReader" c:type="GstByteReader*"/>
+ </instance-parameter>
+ <parameter name="val"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="629">Pointer to a #guint64 to store the result</doc>
+ <type name="guint64" c:type="guint64*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_uint64_le"
+ c:identifier="gst_byte_reader_get_uint64_le">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="582">Read an unsigned 64 bit little endian integer into @val
+and update the current position.</doc>
+ <source-position filename="libs/gst/base/gstbytereader.h" line="126"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="590">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="reader" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="584">a #GstByteReader instance</doc>
+ <type name="ByteReader" c:type="GstByteReader*"/>
+ </instance-parameter>
+ <parameter name="val"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="585">Pointer to a #guint64 to store the result</doc>
+ <type name="guint64" c:type="guint64*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_uint8" c:identifier="gst_byte_reader_get_uint8">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="277">Read an unsigned 8 bit integer into @val and update the current position.</doc>
+ <source-position filename="libs/gst/base/gstbytereader.h" line="84"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="284">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="reader" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="279">a #GstByteReader instance</doc>
+ <type name="ByteReader" c:type="GstByteReader*"/>
+ </instance-parameter>
+ <parameter name="val"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="280">Pointer to a #guint8 to store the result</doc>
+ <type name="guint8" c:type="guint8*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="init" c:identifier="gst_byte_reader_init">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="124">Initializes a #GstByteReader instance to read from @data. This function
+can be called on already initialized instances.</doc>
+ <source-position filename="libs/gst/base/gstbytereader.h" line="58"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="reader" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="126">a #GstByteReader instance</doc>
+ <type name="ByteReader" c:type="GstByteReader*"/>
+ </instance-parameter>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="127">data from which
+ the #GstByteReader should read</doc>
+ <array length="1" zero-terminated="0" c:type="const guint8*">
+ <type name="guint8" c:type="guint8"/>
+ </array>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="129">Size of @data in bytes</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="masked_scan_uint32"
+ c:identifier="gst_byte_reader_masked_scan_uint32">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="941">Scan for pattern @pattern with applied mask @mask in the byte reader data,
+starting from offset @offset relative to the current position.
+
+The bytes in @pattern and @mask are interpreted left-to-right, regardless
+of endianness. All four bytes of the pattern must be present in the
+byte reader data for it to match, even if the first or last bytes are masked
+out.
+
+It is an error to call this function without making sure that there is
+enough data (offset+size bytes) in the byte reader.</doc>
+ <source-position filename="libs/gst/base/gstbytereader.h" line="261"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="961">offset of the first match, or -1 if no match was found.
+
+Example:
+|[
+// Assume the reader contains 0x00 0x01 0x02 ... 0xfe 0xff
+
+gst_byte_reader_masked_scan_uint32 (reader, 0xffffffff, 0x00010203, 0, 256);
+// -&gt; returns 0
+gst_byte_reader_masked_scan_uint32 (reader, 0xffffffff, 0x00010203, 1, 255);
+// -&gt; returns -1
+gst_byte_reader_masked_scan_uint32 (reader, 0xffffffff, 0x01020304, 1, 255);
+// -&gt; returns 1
+gst_byte_reader_masked_scan_uint32 (reader, 0xffff, 0x0001, 0, 256);
+// -&gt; returns -1
+gst_byte_reader_masked_scan_uint32 (reader, 0xffff, 0x0203, 0, 256);
+// -&gt; returns 0
+gst_byte_reader_masked_scan_uint32 (reader, 0xffff0000, 0x02030000, 0, 256);
+// -&gt; returns 2
+gst_byte_reader_masked_scan_uint32 (reader, 0xffff0000, 0x02030000, 0, 4);
+// -&gt; returns -1
+]|</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="reader" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="943">a #GstByteReader</doc>
+ <type name="ByteReader" c:type="const GstByteReader*"/>
+ </instance-parameter>
+ <parameter name="mask" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="944">mask to apply to data before matching against @pattern</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ <parameter name="pattern" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="945">pattern to match (after mask is applied)</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ <parameter name="offset" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="946">offset from which to start scanning, relative to the current
+ position</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="948">number of bytes to scan from offset</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="masked_scan_uint32_peek"
+ c:identifier="gst_byte_reader_masked_scan_uint32_peek"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="990">Scan for pattern @pattern with applied mask @mask in the byte reader data,
+starting from offset @offset relative to the current position.
+
+The bytes in @pattern and @mask are interpreted left-to-right, regardless
+of endianness. All four bytes of the pattern must be present in the
+byte reader data for it to match, even if the first or last bytes are masked
+out.
+
+It is an error to call this function without making sure that there is
+enough data (offset+size bytes) in the byte reader.</doc>
+ <source-position filename="libs/gst/base/gstbytereader.h" line="267"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="1011">offset of the first match, or -1 if no match was found.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="reader" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="992">a #GstByteReader</doc>
+ <type name="ByteReader" c:type="const GstByteReader*"/>
+ </instance-parameter>
+ <parameter name="mask" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="993">mask to apply to data before matching against @pattern</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ <parameter name="pattern" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="994">pattern to match (after mask is applied)</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ <parameter name="offset" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="995">offset from which to start scanning, relative to the current
+ position</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="997">number of bytes to scan from offset</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="value"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="998">pointer to uint32 to return matching data</doc>
+ <type name="guint32" c:type="guint32*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="peek_data" c:identifier="gst_byte_reader_peek_data">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="823">Returns a constant pointer to the current data
+position if at least @size bytes are left and
+keeps the current position.</doc>
+ <source-position filename="libs/gst/base/gstbytereader.h" line="222"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="834">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="reader" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="825">a #GstByteReader instance</doc>
+ <type name="ByteReader" c:type="const GstByteReader*"/>
+ </instance-parameter>
+ <parameter name="size"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="826">Size in bytes</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="val"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="827">address of a
+ #guint8 pointer variable in which to store the result</doc>
+ <array length="0" zero-terminated="0" c:type="const guint8**">
+ <type name="guint8" c:type="guint8*"/>
+ </array>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="peek_float32_be"
+ c:identifier="gst_byte_reader_peek_float32_be">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="741">Read a 32 bit big endian floating point value into @val
+but keep the current position.</doc>
+ <source-position filename="libs/gst/base/gstbytereader.h" line="207"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="749">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="reader" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="743">a #GstByteReader instance</doc>
+ <type name="ByteReader" c:type="const GstByteReader*"/>
+ </instance-parameter>
+ <parameter name="val"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="744">Pointer to a #gfloat to store the result</doc>
+ <type name="gfloat" c:type="gfloat*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="peek_float32_le"
+ c:identifier="gst_byte_reader_peek_float32_le">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="719">Read a 32 bit little endian floating point value into @val
+but keep the current position.</doc>
+ <source-position filename="libs/gst/base/gstbytereader.h" line="204"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="727">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="reader" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="721">a #GstByteReader instance</doc>
+ <type name="ByteReader" c:type="const GstByteReader*"/>
+ </instance-parameter>
+ <parameter name="val"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="722">Pointer to a #gfloat to store the result</doc>
+ <type name="gfloat" c:type="gfloat*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="peek_float64_be"
+ c:identifier="gst_byte_reader_peek_float64_be">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="785">Read a 64 bit big endian floating point value into @val
+but keep the current position.</doc>
+ <source-position filename="libs/gst/base/gstbytereader.h" line="213"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="793">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="reader" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="787">a #GstByteReader instance</doc>
+ <type name="ByteReader" c:type="const GstByteReader*"/>
+ </instance-parameter>
+ <parameter name="val"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="788">Pointer to a #gdouble to store the result</doc>
+ <type name="gdouble" c:type="gdouble*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="peek_float64_le"
+ c:identifier="gst_byte_reader_peek_float64_le">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="763">Read a 64 bit little endian floating point value into @val
+but keep the current position.</doc>
+ <source-position filename="libs/gst/base/gstbytereader.h" line="210"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="771">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="reader" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="765">a #GstByteReader instance</doc>
+ <type name="ByteReader" c:type="const GstByteReader*"/>
+ </instance-parameter>
+ <parameter name="val"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="766">Pointer to a #gdouble to store the result</doc>
+ <type name="gdouble" c:type="gdouble*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="peek_int16_be"
+ c:identifier="gst_byte_reader_peek_int16_be">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="394">Read a signed 16 bit big endian integer into @val
+but keep the current position.</doc>
+ <source-position filename="libs/gst/base/gstbytereader.h" line="153"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="402">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="reader" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="396">a #GstByteReader instance</doc>
+ <type name="ByteReader" c:type="const GstByteReader*"/>
+ </instance-parameter>
+ <parameter name="val"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="397">Pointer to a #gint16 to store the result</doc>
+ <type name="gint16" c:type="gint16*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="peek_int16_le"
+ c:identifier="gst_byte_reader_peek_int16_le">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="350">Read a signed 16 bit little endian integer into @val
+but keep the current position.</doc>
+ <source-position filename="libs/gst/base/gstbytereader.h" line="147"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="358">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="reader" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="352">a #GstByteReader instance</doc>
+ <type name="ByteReader" c:type="const GstByteReader*"/>
+ </instance-parameter>
+ <parameter name="val"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="353">Pointer to a #gint16 to store the result</doc>
+ <type name="gint16" c:type="gint16*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="peek_int24_be"
+ c:identifier="gst_byte_reader_peek_int24_be">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="482">Read a signed 24 bit big endian integer into @val
+but keep the current position.</doc>
+ <source-position filename="libs/gst/base/gstbytereader.h" line="165"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="490">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="reader" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="484">a #GstByteReader instance</doc>
+ <type name="ByteReader" c:type="const GstByteReader*"/>
+ </instance-parameter>
+ <parameter name="val"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="485">Pointer to a #gint32 to store the result</doc>
+ <type name="gint32" c:type="gint32*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="peek_int24_le"
+ c:identifier="gst_byte_reader_peek_int24_le">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="438">Read a signed 24 bit little endian integer into @val
+but keep the current position.</doc>
+ <source-position filename="libs/gst/base/gstbytereader.h" line="159"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="446">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="reader" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="440">a #GstByteReader instance</doc>
+ <type name="ByteReader" c:type="const GstByteReader*"/>
+ </instance-parameter>
+ <parameter name="val"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="441">Pointer to a #gint32 to store the result</doc>
+ <type name="gint32" c:type="gint32*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="peek_int32_be"
+ c:identifier="gst_byte_reader_peek_int32_be">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="571">Read a signed 32 bit big endian integer into @val
+but keep the current position.</doc>
+ <source-position filename="libs/gst/base/gstbytereader.h" line="177"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="579">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="reader" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="573">a #GstByteReader instance</doc>
+ <type name="ByteReader" c:type="const GstByteReader*"/>
+ </instance-parameter>
+ <parameter name="val"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="574">Pointer to a #gint32 to store the result</doc>
+ <type name="gint32" c:type="gint32*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="peek_int32_le"
+ c:identifier="gst_byte_reader_peek_int32_le">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="527">Read a signed 32 bit little endian integer into @val
+but keep the current position.</doc>
+ <source-position filename="libs/gst/base/gstbytereader.h" line="171"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="535">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="reader" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="529">a #GstByteReader instance</doc>
+ <type name="ByteReader" c:type="const GstByteReader*"/>
+ </instance-parameter>
+ <parameter name="val"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="530">Pointer to a #gint32 to store the result</doc>
+ <type name="gint32" c:type="gint32*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="peek_int64_be"
+ c:identifier="gst_byte_reader_peek_int64_be">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="659">Read a signed 64 bit big endian integer into @val
+but keep the current position.</doc>
+ <source-position filename="libs/gst/base/gstbytereader.h" line="189"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="667">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="reader" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="661">a #GstByteReader instance</doc>
+ <type name="ByteReader" c:type="const GstByteReader*"/>
+ </instance-parameter>
+ <parameter name="val"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="662">Pointer to a #gint64 to store the result</doc>
+ <type name="gint64" c:type="gint64*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="peek_int64_le"
+ c:identifier="gst_byte_reader_peek_int64_le">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="615">Read a signed 64 bit little endian integer into @val
+but keep the current position.</doc>
+ <source-position filename="libs/gst/base/gstbytereader.h" line="183"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="623">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="reader" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="617">a #GstByteReader instance</doc>
+ <type name="ByteReader" c:type="const GstByteReader*"/>
+ </instance-parameter>
+ <parameter name="val"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="618">Pointer to a #gint64 to store the result</doc>
+ <type name="gint64" c:type="gint64*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="peek_int8" c:identifier="gst_byte_reader_peek_int8">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="307">Read a signed 8 bit integer into @val but keep the current position.</doc>
+ <source-position filename="libs/gst/base/gstbytereader.h" line="141"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="314">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="reader" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="309">a #GstByteReader instance</doc>
+ <type name="ByteReader" c:type="const GstByteReader*"/>
+ </instance-parameter>
+ <parameter name="val"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="310">Pointer to a #gint8 to store the result</doc>
+ <type name="gint8" c:type="gint8*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="peek_string_utf8"
+ c:identifier="gst_byte_reader_peek_string_utf8">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="1141">Returns a constant pointer to the current data position if there is
+a NUL-terminated string in the data (this could be just a NUL terminator).
+The current position will be maintained. This will work for any
+NUL-terminated string with a character width of 8 bits, so ASCII,
+UTF-8, ISO-8859-N etc.
+
+No input checking for valid UTF-8 is done.
+
+This function will fail if no NUL-terminator was found in in the data.</doc>
+ <source-position filename="libs/gst/base/gstbytereader.h" line="258"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="1157">%TRUE if a string could be skipped, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="reader" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="1143">a #GstByteReader instance</doc>
+ <type name="ByteReader" c:type="const GstByteReader*"/>
+ </instance-parameter>
+ <parameter name="str"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="1144">address of a
+ #gchar pointer variable in which to store the result</doc>
+ <array c:type="const gchar**">
+ <type name="utf8" c:type="gchar*"/>
+ </array>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="peek_sub_reader"
+ c:identifier="gst_byte_reader_peek_sub_reader"
+ version="1.6"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="144">Initializes a #GstByteReader sub-reader instance to contain @size bytes of
+data from the current position of @reader. This is useful to read chunked
+formats and make sure that one doesn't read beyond the size of the sub-chunk.
+
+Unlike gst_byte_reader_get_sub_reader(), this function does not modify the
+current position of @reader.</doc>
+ <source-position filename="libs/gst/base/gstbytereader.h" line="61"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="157">FALSE on error or if @reader does not contain @size more bytes from
+ the current position, and otherwise TRUE</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="reader" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="146">an existing and initialized #GstByteReader instance</doc>
+ <type name="ByteReader" c:type="GstByteReader*"/>
+ </instance-parameter>
+ <parameter name="sub_reader" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="147">a #GstByteReader instance to initialize as sub-reader</doc>
+ <type name="ByteReader" c:type="GstByteReader*"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="148">size of @sub_reader in bytes</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="peek_uint16_be"
+ c:identifier="gst_byte_reader_peek_uint16_be">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="383">Read an unsigned 16 bit big endian integer into @val
+but keep the current position.</doc>
+ <source-position filename="libs/gst/base/gstbytereader.h" line="150"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="391">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="reader" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="385">a #GstByteReader instance</doc>
+ <type name="ByteReader" c:type="const GstByteReader*"/>
+ </instance-parameter>
+ <parameter name="val"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="386">Pointer to a #guint16 to store the result</doc>
+ <type name="guint16" c:type="guint16*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="peek_uint16_le"
+ c:identifier="gst_byte_reader_peek_uint16_le">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="339">Read an unsigned 16 bit little endian integer into @val
+but keep the current position.</doc>
+ <source-position filename="libs/gst/base/gstbytereader.h" line="144"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="347">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="reader" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="341">a #GstByteReader instance</doc>
+ <type name="ByteReader" c:type="const GstByteReader*"/>
+ </instance-parameter>
+ <parameter name="val"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="342">Pointer to a #guint16 to store the result</doc>
+ <type name="guint16" c:type="guint16*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="peek_uint24_be"
+ c:identifier="gst_byte_reader_peek_uint24_be">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="471">Read an unsigned 24 bit big endian integer into @val
+but keep the current position.</doc>
+ <source-position filename="libs/gst/base/gstbytereader.h" line="162"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="479">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="reader" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="473">a #GstByteReader instance</doc>
+ <type name="ByteReader" c:type="const GstByteReader*"/>
+ </instance-parameter>
+ <parameter name="val"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="474">Pointer to a #guint32 to store the result</doc>
+ <type name="guint32" c:type="guint32*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="peek_uint24_le"
+ c:identifier="gst_byte_reader_peek_uint24_le">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="427">Read an unsigned 24 bit little endian integer into @val
+but keep the current position.</doc>
+ <source-position filename="libs/gst/base/gstbytereader.h" line="156"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="435">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="reader" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="429">a #GstByteReader instance</doc>
+ <type name="ByteReader" c:type="const GstByteReader*"/>
+ </instance-parameter>
+ <parameter name="val"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="430">Pointer to a #guint32 to store the result</doc>
+ <type name="guint32" c:type="guint32*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="peek_uint32_be"
+ c:identifier="gst_byte_reader_peek_uint32_be">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="560">Read an unsigned 32 bit big endian integer into @val
+but keep the current position.</doc>
+ <source-position filename="libs/gst/base/gstbytereader.h" line="174"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="568">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="reader" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="562">a #GstByteReader instance</doc>
+ <type name="ByteReader" c:type="const GstByteReader*"/>
+ </instance-parameter>
+ <parameter name="val"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="563">Pointer to a #guint32 to store the result</doc>
+ <type name="guint32" c:type="guint32*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="peek_uint32_le"
+ c:identifier="gst_byte_reader_peek_uint32_le">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="516">Read an unsigned 32 bit little endian integer into @val
+but keep the current position.</doc>
+ <source-position filename="libs/gst/base/gstbytereader.h" line="168"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="524">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="reader" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="518">a #GstByteReader instance</doc>
+ <type name="ByteReader" c:type="const GstByteReader*"/>
+ </instance-parameter>
+ <parameter name="val"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="519">Pointer to a #guint32 to store the result</doc>
+ <type name="guint32" c:type="guint32*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="peek_uint64_be"
+ c:identifier="gst_byte_reader_peek_uint64_be">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="648">Read an unsigned 64 bit big endian integer into @val
+but keep the current position.</doc>
+ <source-position filename="libs/gst/base/gstbytereader.h" line="186"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="656">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="reader" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="650">a #GstByteReader instance</doc>
+ <type name="ByteReader" c:type="const GstByteReader*"/>
+ </instance-parameter>
+ <parameter name="val"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="651">Pointer to a #guint64 to store the result</doc>
+ <type name="guint64" c:type="guint64*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="peek_uint64_le"
+ c:identifier="gst_byte_reader_peek_uint64_le">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="604">Read an unsigned 64 bit little endian integer into @val
+but keep the current position.</doc>
+ <source-position filename="libs/gst/base/gstbytereader.h" line="180"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="612">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="reader" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="606">a #GstByteReader instance</doc>
+ <type name="ByteReader" c:type="const GstByteReader*"/>
+ </instance-parameter>
+ <parameter name="val"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="607">Pointer to a #guint64 to store the result</doc>
+ <type name="guint64" c:type="guint64*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="peek_uint8" c:identifier="gst_byte_reader_peek_uint8">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="297">Read an unsigned 8 bit integer into @val but keep the current position.</doc>
+ <source-position filename="libs/gst/base/gstbytereader.h" line="138"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="304">%TRUE if successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="reader" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="299">a #GstByteReader instance</doc>
+ <type name="ByteReader" c:type="const GstByteReader*"/>
+ </instance-parameter>
+ <parameter name="val"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="300">Pointer to a #guint8 to store the result</doc>
+ <type name="guint8" c:type="guint8*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_pos" c:identifier="gst_byte_reader_set_pos">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="194">Sets the new position of a #GstByteReader instance to @pos in bytes.</doc>
+ <source-position filename="libs/gst/base/gstbytereader.h" line="69"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="201">%TRUE if the position could be set successfully, %FALSE
+otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="reader" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="196">a #GstByteReader instance</doc>
+ <type name="ByteReader" c:type="GstByteReader*"/>
+ </instance-parameter>
+ <parameter name="pos" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="197">The new position in bytes</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="skip" c:identifier="gst_byte_reader_skip">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="262">Skips @nbytes bytes of the #GstByteReader instance.</doc>
+ <source-position filename="libs/gst/base/gstbytereader.h" line="81"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="269">%TRUE if @nbytes bytes could be skipped, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="reader" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="264">a #GstByteReader instance</doc>
+ <type name="ByteReader" c:type="GstByteReader*"/>
+ </instance-parameter>
+ <parameter name="nbytes" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="265">the number of bytes to skip</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="skip_string_utf16"
+ c:identifier="gst_byte_reader_skip_string_utf16">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="1095">Skips a NUL-terminated UTF-16 string in the #GstByteReader instance,
+advancing the current position to the byte after the string.
+
+No input checking for valid UTF-16 is done.
+
+This function will fail if no NUL-terminator was found in in the data.</doc>
+ <source-position filename="libs/gst/base/gstbytereader.h" line="243"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="1106">%TRUE if a string could be skipped, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="reader" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="1097">a #GstByteReader instance</doc>
+ <type name="ByteReader" c:type="GstByteReader*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="skip_string_utf32"
+ c:identifier="gst_byte_reader_skip_string_utf32">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="1110">Skips a NUL-terminated UTF-32 string in the #GstByteReader instance,
+advancing the current position to the byte after the string.
+
+No input checking for valid UTF-32 is done.
+
+This function will fail if no NUL-terminator was found in in the data.</doc>
+ <source-position filename="libs/gst/base/gstbytereader.h" line="246"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="1121">%TRUE if a string could be skipped, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="reader" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="1112">a #GstByteReader instance</doc>
+ <type name="ByteReader" c:type="GstByteReader*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="skip_string_utf8"
+ c:identifier="gst_byte_reader_skip_string_utf8">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="1080">Skips a NUL-terminated string in the #GstByteReader instance, advancing
+the current position to the byte after the string. This will work for
+any NUL-terminated string with a character width of 8 bits, so ASCII,
+UTF-8, ISO-8859-N etc. No input checking for valid UTF-8 is done.
+
+This function will fail if no NUL-terminator was found in in the data.</doc>
+ <source-position filename="libs/gst/base/gstbytereader.h" line="240"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="1091">%TRUE if a string could be skipped, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="reader" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="1082">a #GstByteReader instance</doc>
+ <type name="ByteReader" c:type="GstByteReader*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <function name="new"
+ c:identifier="gst_byte_reader_new"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="86">Create a new #GstByteReader instance, which will read from @data.
+
+Free-function: gst_byte_reader_free</doc>
+ <source-position filename="libs/gst/base/gstbytereader.h" line="52"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="96">a new #GstByteReader instance</doc>
+ <type name="ByteReader" c:type="GstByteReader*"/>
+ </return-value>
+ <parameters>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="88">data from which the
+ #GstByteReader should read</doc>
+ <array length="1" zero-terminated="0" c:type="const guint8*">
+ <type name="guint8" c:type="guint8"/>
+ </array>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="90">Size of @data in bytes</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ </record>
+ <record name="ByteWriter" c:type="GstByteWriter">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="28">#GstByteWriter provides a byte writer and reader that can write/read different
+integer and floating point types to/from a memory buffer. It provides functions
+for writing/reading signed/unsigned, little/big endian integers of 8, 16, 24,
+32 and 64 bits and functions for reading little/big endian floating points numbers of
+32 and 64 bits. It also provides functions to write/read NUL-terminated strings
+in various character encodings.</doc>
+ <source-position filename="libs/gst/base/gstbytewriter.h" line="52"/>
+ <field name="parent" writable="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.h"
+ line="35">#GstByteReader parent</doc>
+ <type name="ByteReader" c:type="GstByteReader"/>
+ </field>
+ <field name="alloc_size" writable="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.h"
+ line="36">Allocation size of the data</doc>
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="fixed" writable="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.h"
+ line="37">If %TRUE no reallocations are allowed</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="owned" writable="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.h"
+ line="38">If %FALSE no reallocations are allowed and copies of data are returned</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <method name="ensure_free_space"
+ c:identifier="gst_byte_writer_ensure_free_space">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="362">Checks if enough free space from the current write cursor is
+available and reallocates if necessary.</doc>
+ <source-position filename="libs/gst/base/gstbytewriter.h" line="134"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="370">%TRUE if at least @size bytes are still available</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="writer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="364">#GstByteWriter instance</doc>
+ <type name="ByteWriter" c:type="GstByteWriter*"/>
+ </instance-parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="365">Number of bytes that should be available</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="fill" c:identifier="gst_byte_writer_fill">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="686">Writes @size bytes containing @value to @writer.</doc>
+ <source-position filename="libs/gst/base/gstbytewriter.h" line="206"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="694">%TRUE if the value could be written</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="writer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="688">#GstByteWriter instance</doc>
+ <type name="ByteWriter" c:type="GstByteWriter*"/>
+ </instance-parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="689">Value to be written</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="690">Number of bytes to be written</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="free" c:identifier="gst_byte_writer_free">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="278">Frees @writer and all memory allocated by it.</doc>
+ <source-position filename="libs/gst/base/gstbytewriter.h" line="73"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="writer" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="280">#GstByteWriter instance</doc>
+ <type name="ByteWriter" c:type="GstByteWriter*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="free_and_get_buffer"
+ c:identifier="gst_byte_writer_free_and_get_buffer">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="317">Frees @writer and all memory allocated by it except
+the current data, which is returned as #GstBuffer.
+
+Free-function: gst_buffer_unref</doc>
+ <source-position filename="libs/gst/base/gstbytewriter.h" line="79"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="326">the current data as buffer. gst_buffer_unref()
+ after usage.</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="writer" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="319">#GstByteWriter instance</doc>
+ <type name="ByteWriter" c:type="GstByteWriter*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="free_and_get_data"
+ c:identifier="gst_byte_writer_free_and_get_data">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="293">Frees @writer and all memory allocated by it except
+the current data, which is returned.
+
+Free-function: g_free</doc>
+ <source-position filename="libs/gst/base/gstbytewriter.h" line="76"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="302">the current data. g_free() after usage.</doc>
+ <type name="guint8" c:type="guint8*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="writer" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="295">#GstByteWriter instance</doc>
+ <type name="ByteWriter" c:type="GstByteWriter*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_remaining"
+ c:identifier="gst_byte_writer_get_remaining">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="342">Returns the remaining size of data that can still be written. If
+-1 is returned the remaining size is only limited by system resources.</doc>
+ <source-position filename="libs/gst/base/gstbytewriter.h" line="131"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="349">the remaining size of data that can still be written</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="writer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="344">#GstByteWriter instance</doc>
+ <type name="ByteWriter" c:type="const GstByteWriter*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="init" c:identifier="gst_byte_writer_init">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="138">Initializes @writer to an empty instance</doc>
+ <source-position filename="libs/gst/base/gstbytewriter.h" line="64"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="writer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="140">#GstByteWriter instance</doc>
+ <type name="ByteWriter" c:type="GstByteWriter*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="init_with_data"
+ c:identifier="gst_byte_writer_init_with_data">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="176">Initializes @writer with the given
+memory area. If @initialized is %TRUE it is possible to
+read @size bytes from the #GstByteWriter from the beginning.</doc>
+ <source-position filename="libs/gst/base/gstbytewriter.h" line="70"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="writer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="178">#GstByteWriter instance</doc>
+ <type name="ByteWriter" c:type="GstByteWriter*"/>
+ </instance-parameter>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="179">Memory area for writing</doc>
+ <array length="1" zero-terminated="0" c:type="guint8*">
+ <type name="guint8" c:type="guint8"/>
+ </array>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="180">Size of @data in bytes</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="initialized" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="181">If %TRUE the complete data can be read from the beginning</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="init_with_size"
+ c:identifier="gst_byte_writer_init_with_size">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="154">Initializes @writer with the given initial data size.</doc>
+ <source-position filename="libs/gst/base/gstbytewriter.h" line="67"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="writer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="156">#GstByteWriter instance</doc>
+ <type name="ByteWriter" c:type="GstByteWriter*"/>
+ </instance-parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="157">Initial size of data</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="fixed" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="158">If %TRUE the data can't be reallocated</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="put_buffer" c:identifier="gst_byte_writer_put_buffer">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="697">Writes @size bytes of @data to @writer.</doc>
+ <source-position filename="libs/gst/base/gstbytewriter.h" line="216"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="706">%TRUE if the data could be written</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="writer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="699">#GstByteWriter instance</doc>
+ <type name="ByteWriter" c:type="GstByteWriter*"/>
+ </instance-parameter>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="700">source #GstBuffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="offset" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="701">offset to copy from</doc>
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="702">total size to copy. If -1, all data is copied</doc>
+ <type name="gssize" c:type="gssize"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="put_data" c:identifier="gst_byte_writer_put_data">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="676">Writes @size bytes of @data to @writer.</doc>
+ <source-position filename="libs/gst/base/gstbytewriter.h" line="203"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="684">%TRUE if the value could be written</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="writer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="678">#GstByteWriter instance</doc>
+ <type name="ByteWriter" c:type="GstByteWriter*"/>
+ </instance-parameter>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="679">Data to write</doc>
+ <array length="1" zero-terminated="0" c:type="const guint8*">
+ <type name="guint8" c:type="guint8"/>
+ </array>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="680">Size of @data in bytes</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="put_float32_be"
+ c:identifier="gst_byte_writer_put_float32_be">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="613">Writes a big endian 32 bit float to @writer.</doc>
+ <source-position filename="libs/gst/base/gstbytewriter.h" line="191"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="620">%TRUE if the value could be written</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="writer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="615">#GstByteWriter instance</doc>
+ <type name="ByteWriter" c:type="GstByteWriter*"/>
+ </instance-parameter>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="616">Value to write</doc>
+ <type name="gfloat" c:type="gfloat"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="put_float32_le"
+ c:identifier="gst_byte_writer_put_float32_le">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="631">Writes a little endian 32 bit float to @writer.</doc>
+ <source-position filename="libs/gst/base/gstbytewriter.h" line="194"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="638">%TRUE if the value could be written</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="writer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="633">#GstByteWriter instance</doc>
+ <type name="ByteWriter" c:type="GstByteWriter*"/>
+ </instance-parameter>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="634">Value to write</doc>
+ <type name="gfloat" c:type="gfloat"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="put_float64_be"
+ c:identifier="gst_byte_writer_put_float64_be">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="622">Writes a big endian 64 bit float to @writer.</doc>
+ <source-position filename="libs/gst/base/gstbytewriter.h" line="197"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="629">%TRUE if the value could be written</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="writer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="624">#GstByteWriter instance</doc>
+ <type name="ByteWriter" c:type="GstByteWriter*"/>
+ </instance-parameter>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="625">Value to write</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="put_float64_le"
+ c:identifier="gst_byte_writer_put_float64_le">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="640">Writes a little endian 64 bit float to @writer.</doc>
+ <source-position filename="libs/gst/base/gstbytewriter.h" line="200"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="647">%TRUE if the value could be written</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="writer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="642">#GstByteWriter instance</doc>
+ <type name="ByteWriter" c:type="GstByteWriter*"/>
+ </instance-parameter>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="643">Value to write</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="put_int16_be" c:identifier="gst_byte_writer_put_int16_be">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="541">Writes a signed big endian 16 bit integer to @writer.</doc>
+ <source-position filename="libs/gst/base/gstbytewriter.h" line="149"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="548">%TRUE if the value could be written</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="writer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="543">#GstByteWriter instance</doc>
+ <type name="ByteWriter" c:type="GstByteWriter*"/>
+ </instance-parameter>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="544">Value to write</doc>
+ <type name="gint16" c:type="gint16"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="put_int16_le" c:identifier="gst_byte_writer_put_int16_le">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="577">Writes a signed little endian 16 bit integer to @writer.</doc>
+ <source-position filename="libs/gst/base/gstbytewriter.h" line="152"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="584">%TRUE if the value could be written</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="writer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="579">#GstByteWriter instance</doc>
+ <type name="ByteWriter" c:type="GstByteWriter*"/>
+ </instance-parameter>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="580">Value to write</doc>
+ <type name="gint16" c:type="gint16"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="put_int24_be" c:identifier="gst_byte_writer_put_int24_be">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="550">Writes a signed big endian 24 bit integer to @writer.</doc>
+ <source-position filename="libs/gst/base/gstbytewriter.h" line="161"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="557">%TRUE if the value could be written</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="writer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="552">#GstByteWriter instance</doc>
+ <type name="ByteWriter" c:type="GstByteWriter*"/>
+ </instance-parameter>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="553">Value to write</doc>
+ <type name="gint32" c:type="gint32"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="put_int24_le" c:identifier="gst_byte_writer_put_int24_le">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="586">Writes a signed little endian 24 bit integer to @writer.</doc>
+ <source-position filename="libs/gst/base/gstbytewriter.h" line="164"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="593">%TRUE if the value could be written</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="writer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="588">#GstByteWriter instance</doc>
+ <type name="ByteWriter" c:type="GstByteWriter*"/>
+ </instance-parameter>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="589">Value to write</doc>
+ <type name="gint32" c:type="gint32"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="put_int32_be" c:identifier="gst_byte_writer_put_int32_be">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="559">Writes a signed big endian 32 bit integer to @writer.</doc>
+ <source-position filename="libs/gst/base/gstbytewriter.h" line="173"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="566">%TRUE if the value could be written</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="writer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="561">#GstByteWriter instance</doc>
+ <type name="ByteWriter" c:type="GstByteWriter*"/>
+ </instance-parameter>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="562">Value to write</doc>
+ <type name="gint32" c:type="gint32"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="put_int32_le" c:identifier="gst_byte_writer_put_int32_le">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="595">Writes a signed little endian 32 bit integer to @writer.</doc>
+ <source-position filename="libs/gst/base/gstbytewriter.h" line="176"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="602">%TRUE if the value could be written</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="writer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="597">#GstByteWriter instance</doc>
+ <type name="ByteWriter" c:type="GstByteWriter*"/>
+ </instance-parameter>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="598">Value to write</doc>
+ <type name="gint32" c:type="gint32"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="put_int64_be" c:identifier="gst_byte_writer_put_int64_be">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="568">Writes a signed big endian 64 bit integer to @writer.</doc>
+ <source-position filename="libs/gst/base/gstbytewriter.h" line="185"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="575">%TRUE if the value could be written</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="writer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="570">#GstByteWriter instance</doc>
+ <type name="ByteWriter" c:type="GstByteWriter*"/>
+ </instance-parameter>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="571">Value to write</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="put_int64_le" c:identifier="gst_byte_writer_put_int64_le">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="604">Writes a signed little endian 64 bit integer to @writer.</doc>
+ <source-position filename="libs/gst/base/gstbytewriter.h" line="188"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="611">%TRUE if the value could be written</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="writer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="606">#GstByteWriter instance</doc>
+ <type name="ByteWriter" c:type="GstByteWriter*"/>
+ </instance-parameter>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="607">Value to write</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="put_int8" c:identifier="gst_byte_writer_put_int8">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="532">Writes a signed 8 bit integer to @writer.</doc>
+ <source-position filename="libs/gst/base/gstbytewriter.h" line="140"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="539">%TRUE if the value could be written</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="writer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="534">#GstByteWriter instance</doc>
+ <type name="ByteWriter" c:type="GstByteWriter*"/>
+ </instance-parameter>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="535">Value to write</doc>
+ <type name="gint8" c:type="gint8"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="put_string_utf16"
+ c:identifier="gst_byte_writer_put_string_utf16">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="658">Writes a NUL-terminated UTF16 string to @writer (including the terminator).</doc>
+ <source-position filename="libs/gst/base/gstbytewriter.h" line="212"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="665">%TRUE if the value could be written</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="writer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="660">#GstByteWriter instance</doc>
+ <type name="ByteWriter" c:type="GstByteWriter*"/>
+ </instance-parameter>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="661">UTF16 string to write</doc>
+ <array c:type="const guint16*">
+ <type name="guint16" c:type="guint16"/>
+ </array>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="put_string_utf32"
+ c:identifier="gst_byte_writer_put_string_utf32">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="667">Writes a NUL-terminated UTF32 string to @writer (including the terminator).</doc>
+ <source-position filename="libs/gst/base/gstbytewriter.h" line="215"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="674">%TRUE if the value could be written</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="writer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="669">#GstByteWriter instance</doc>
+ <type name="ByteWriter" c:type="GstByteWriter*"/>
+ </instance-parameter>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="670">UTF32 string to write</doc>
+ <array c:type="const guint32*">
+ <type name="guint32" c:type="guint32"/>
+ </array>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="put_string_utf8"
+ c:identifier="gst_byte_writer_put_string_utf8">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="649">Writes a NUL-terminated UTF8 string to @writer (including the terminator).</doc>
+ <source-position filename="libs/gst/base/gstbytewriter.h" line="209"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="656">%TRUE if the value could be written</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="writer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="651">#GstByteWriter instance</doc>
+ <type name="ByteWriter" c:type="GstByteWriter*"/>
+ </instance-parameter>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="652">UTF8 string to write</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="put_uint16_be"
+ c:identifier="gst_byte_writer_put_uint16_be">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="460">Writes a unsigned big endian 16 bit integer to @writer.</doc>
+ <source-position filename="libs/gst/base/gstbytewriter.h" line="143"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="467">%TRUE if the value could be written</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="writer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="462">#GstByteWriter instance</doc>
+ <type name="ByteWriter" c:type="GstByteWriter*"/>
+ </instance-parameter>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="463">Value to write</doc>
+ <type name="guint16" c:type="guint16"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="put_uint16_le"
+ c:identifier="gst_byte_writer_put_uint16_le">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="496">Writes a unsigned little endian 16 bit integer to @writer.</doc>
+ <source-position filename="libs/gst/base/gstbytewriter.h" line="146"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="503">%TRUE if the value could be written</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="writer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="498">#GstByteWriter instance</doc>
+ <type name="ByteWriter" c:type="GstByteWriter*"/>
+ </instance-parameter>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="499">Value to write</doc>
+ <type name="guint16" c:type="guint16"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="put_uint24_be"
+ c:identifier="gst_byte_writer_put_uint24_be">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="469">Writes a unsigned big endian 24 bit integer to @writer.</doc>
+ <source-position filename="libs/gst/base/gstbytewriter.h" line="155"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="476">%TRUE if the value could be written</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="writer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="471">#GstByteWriter instance</doc>
+ <type name="ByteWriter" c:type="GstByteWriter*"/>
+ </instance-parameter>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="472">Value to write</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="put_uint24_le"
+ c:identifier="gst_byte_writer_put_uint24_le">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="505">Writes a unsigned little endian 24 bit integer to @writer.</doc>
+ <source-position filename="libs/gst/base/gstbytewriter.h" line="158"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="512">%TRUE if the value could be written</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="writer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="507">#GstByteWriter instance</doc>
+ <type name="ByteWriter" c:type="GstByteWriter*"/>
+ </instance-parameter>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="508">Value to write</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="put_uint32_be"
+ c:identifier="gst_byte_writer_put_uint32_be">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="478">Writes a unsigned big endian 32 bit integer to @writer.</doc>
+ <source-position filename="libs/gst/base/gstbytewriter.h" line="167"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="485">%TRUE if the value could be written</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="writer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="480">#GstByteWriter instance</doc>
+ <type name="ByteWriter" c:type="GstByteWriter*"/>
+ </instance-parameter>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="481">Value to write</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="put_uint32_le"
+ c:identifier="gst_byte_writer_put_uint32_le">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="514">Writes a unsigned little endian 32 bit integer to @writer.</doc>
+ <source-position filename="libs/gst/base/gstbytewriter.h" line="170"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="521">%TRUE if the value could be written</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="writer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="516">#GstByteWriter instance</doc>
+ <type name="ByteWriter" c:type="GstByteWriter*"/>
+ </instance-parameter>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="517">Value to write</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="put_uint64_be"
+ c:identifier="gst_byte_writer_put_uint64_be">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="487">Writes a unsigned big endian 64 bit integer to @writer.</doc>
+ <source-position filename="libs/gst/base/gstbytewriter.h" line="179"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="494">%TRUE if the value could be written</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="writer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="489">#GstByteWriter instance</doc>
+ <type name="ByteWriter" c:type="GstByteWriter*"/>
+ </instance-parameter>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="490">Value to write</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="put_uint64_le"
+ c:identifier="gst_byte_writer_put_uint64_le">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="523">Writes a unsigned little endian 64 bit integer to @writer.</doc>
+ <source-position filename="libs/gst/base/gstbytewriter.h" line="182"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="530">%TRUE if the value could be written</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="writer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="525">#GstByteWriter instance</doc>
+ <type name="ByteWriter" c:type="GstByteWriter*"/>
+ </instance-parameter>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="526">Value to write</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="put_uint8" c:identifier="gst_byte_writer_put_uint8">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="451">Writes a unsigned 8 bit integer to @writer.</doc>
+ <source-position filename="libs/gst/base/gstbytewriter.h" line="137"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="458">%TRUE if the value could be written</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="writer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="453">#GstByteWriter instance</doc>
+ <type name="ByteWriter" c:type="GstByteWriter*"/>
+ </instance-parameter>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="454">Value to write</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="reset" c:identifier="gst_byte_writer_reset">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="202">Resets @writer and frees the data if it's
+owned by @writer.</doc>
+ <source-position filename="libs/gst/base/gstbytewriter.h" line="82"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="writer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="204">#GstByteWriter instance</doc>
+ <type name="ByteWriter" c:type="GstByteWriter*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="reset_and_get_buffer"
+ c:identifier="gst_byte_writer_reset_and_get_buffer">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="246">Resets @writer and returns the current data as buffer.
+
+Free-function: gst_buffer_unref</doc>
+ <source-position filename="libs/gst/base/gstbytewriter.h" line="88"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="254">the current data as buffer. gst_buffer_unref()
+ after usage.</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="writer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="248">#GstByteWriter instance</doc>
+ <type name="ByteWriter" c:type="GstByteWriter*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="reset_and_get_data"
+ c:identifier="gst_byte_writer_reset_and_get_data">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="219">Resets @writer and returns the current data.
+
+Free-function: g_free</doc>
+ <source-position filename="libs/gst/base/gstbytewriter.h" line="85"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="227">the current data. g_free() after
+usage.</doc>
+ <array zero-terminated="0" c:type="guint8*">
+ <type name="guint8" c:type="guint8"/>
+ </array>
+ </return-value>
+ <parameters>
+ <instance-parameter name="writer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="221">#GstByteWriter instance</doc>
+ <type name="ByteWriter" c:type="GstByteWriter*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <function name="new"
+ c:identifier="gst_byte_writer_new"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="67">Creates a new, empty #GstByteWriter instance
+
+Free-function: gst_byte_writer_free</doc>
+ <source-position filename="libs/gst/base/gstbytewriter.h" line="55"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="74">a new, empty #GstByteWriter instance</doc>
+ <type name="ByteWriter" c:type="GstByteWriter*"/>
+ </return-value>
+ </function>
+ <function name="new_with_data"
+ c:identifier="gst_byte_writer_new_with_data"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="110">Creates a new #GstByteWriter instance with the given
+memory area. If @initialized is %TRUE it is possible to
+read @size bytes from the #GstByteWriter from the beginning.
+
+Free-function: gst_byte_writer_free</doc>
+ <source-position filename="libs/gst/base/gstbytewriter.h" line="61"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="122">a new #GstByteWriter instance</doc>
+ <type name="ByteWriter" c:type="GstByteWriter*"/>
+ </return-value>
+ <parameters>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="112">Memory area for writing</doc>
+ <type name="guint8" c:type="guint8*"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="113">Size of @data in bytes</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="initialized" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="114">If %TRUE the complete data can be read from the beginning</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="new_with_size"
+ c:identifier="gst_byte_writer_new_with_size"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="85">Creates a new #GstByteWriter instance with the given
+initial data size.
+
+Free-function: gst_byte_writer_free</doc>
+ <source-position filename="libs/gst/base/gstbytewriter.h" line="58"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="95">a new #GstByteWriter instance</doc>
+ <type name="ByteWriter" c:type="GstByteWriter*"/>
+ </return-value>
+ <parameters>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="87">Initial size of data</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="fixed" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="88">If %TRUE the data can't be reallocated</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </function>
+ </record>
+ <function-macro name="COLLECT_PADS"
+ c:identifier="GST_COLLECT_PADS"
+ introspectable="0">
+ <source-position filename="libs/gst/base/gstcollectpads.h" line="32"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="COLLECT_PADS_CLASS"
+ c:identifier="GST_COLLECT_PADS_CLASS"
+ introspectable="0">
+ <source-position filename="libs/gst/base/gstcollectpads.h" line="33"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="COLLECT_PADS_DTS"
+ c:identifier="GST_COLLECT_PADS_DTS"
+ version="1.6"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.h"
+ line="107">Returns the DTS that has been converted to running time when using
+gst_collect_pads_clip_running_time(). Unlike the value saved into
+the buffer, this value is of type gint64 and may be negative. This allow
+properly handling streams with frame reordering where the first DTS may
+be negative. If the initial DTS was not set, this value will be
+set to %G_MININT64.</doc>
+ <source-position filename="libs/gst/base/gstcollectpads.h" line="120"/>
+ <parameters>
+ <parameter name="data">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.h"
+ line="109">A #GstCollectData.</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="COLLECT_PADS_DTS_IS_VALID"
+ c:identifier="GST_COLLECT_PADS_DTS_IS_VALID"
+ version="1.6"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.h"
+ line="122">Check if running DTS value store is valid.</doc>
+ <source-position filename="libs/gst/base/gstcollectpads.h" line="130"/>
+ <parameters>
+ <parameter name="data">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.h"
+ line="124">A #GstCollectData.</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="COLLECT_PADS_GET_CLASS"
+ c:identifier="GST_COLLECT_PADS_GET_CLASS"
+ introspectable="0">
+ <source-position filename="libs/gst/base/gstcollectpads.h" line="34"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="COLLECT_PADS_GET_STREAM_LOCK"
+ c:identifier="GST_COLLECT_PADS_GET_STREAM_LOCK"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.h"
+ line="291">Get the stream lock of @pads. The stream lock is used to coordinate and
+serialize execution among the various streams being collected, and in
+protecting the resources used to accomplish this.</doc>
+ <source-position filename="libs/gst/base/gstcollectpads.h" line="299"/>
+ <parameters>
+ <parameter name="pads">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.h"
+ line="293">a #GstCollectPads</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="COLLECT_PADS_STATE"
+ c:identifier="GST_COLLECT_PADS_STATE"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.h"
+ line="74">A flags word containing #GstCollectPadsStateFlags flags set
+on this collected pad.</doc>
+ <source-position filename="libs/gst/base/gstcollectpads.h" line="81"/>
+ <parameters>
+ <parameter name="data">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.h"
+ line="76">a #GstCollectData.</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="COLLECT_PADS_STATE_IS_SET"
+ c:identifier="GST_COLLECT_PADS_STATE_IS_SET"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.h"
+ line="82">Gives the status of a specific flag on a collected pad.</doc>
+ <source-position filename="libs/gst/base/gstcollectpads.h" line="89"/>
+ <parameters>
+ <parameter name="data">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.h"
+ line="84">a #GstCollectData.</doc>
+ </parameter>
+ <parameter name="flag">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.h"
+ line="85">the #GstCollectPadsStateFlags to check.</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="COLLECT_PADS_STATE_SET"
+ c:identifier="GST_COLLECT_PADS_STATE_SET"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.h"
+ line="90">Sets a state flag on a collected pad.</doc>
+ <source-position filename="libs/gst/base/gstcollectpads.h" line="97"/>
+ <parameters>
+ <parameter name="data">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.h"
+ line="92">a #GstCollectData.</doc>
+ </parameter>
+ <parameter name="flag">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.h"
+ line="93">the #GstCollectPadsStateFlags to set.</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="COLLECT_PADS_STATE_UNSET"
+ c:identifier="GST_COLLECT_PADS_STATE_UNSET"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.h"
+ line="98">Clears a state flag on a collected pad.</doc>
+ <source-position filename="libs/gst/base/gstcollectpads.h" line="105"/>
+ <parameters>
+ <parameter name="data">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.h"
+ line="100">a #GstCollectData.</doc>
+ </parameter>
+ <parameter name="flag">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.h"
+ line="101">the #GstCollectPadsStateFlags to clear.</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="COLLECT_PADS_STREAM_LOCK"
+ c:identifier="GST_COLLECT_PADS_STREAM_LOCK"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.h"
+ line="300">Lock the stream lock of @pads.</doc>
+ <source-position filename="libs/gst/base/gstcollectpads.h" line="306"/>
+ <parameters>
+ <parameter name="pads">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.h"
+ line="302">a #GstCollectPads</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="COLLECT_PADS_STREAM_UNLOCK"
+ c:identifier="GST_COLLECT_PADS_STREAM_UNLOCK"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.h"
+ line="307">Unlock the stream lock of @pads.</doc>
+ <source-position filename="libs/gst/base/gstcollectpads.h" line="313"/>
+ <parameters>
+ <parameter name="pads">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.h"
+ line="309">a #GstCollectPads</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <record name="CollectData" c:type="GstCollectData">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.h"
+ line="132">Structure used by the collect_pads.</doc>
+ <source-position filename="libs/gst/base/gstcollectpads.h" line="168"/>
+ <field name="collect" writable="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.h"
+ line="134">owner #GstCollectPads</doc>
+ <type name="CollectPads" c:type="GstCollectPads*"/>
+ </field>
+ <field name="pad" writable="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.h"
+ line="135">#GstPad managed by this data</doc>
+ <type name="Gst.Pad" c:type="GstPad*"/>
+ </field>
+ <field name="buffer" writable="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.h"
+ line="136">currently queued buffer.</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </field>
+ <field name="pos" writable="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.h"
+ line="137">position in the buffer</doc>
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="segment" writable="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.h"
+ line="138">last segment received.</doc>
+ <type name="Gst.Segment" c:type="GstSegment"/>
+ </field>
+ <field name="state" readable="0" private="1">
+ <type name="CollectPadsStateFlags" c:type="GstCollectPadsStateFlags"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="CollectDataPrivate" c:type="GstCollectDataPrivate*"/>
+ </field>
+ <union name="ABI" c:type="ABI">
+ <source-position filename="libs/gst/base/gstcollectpads.h" line="167"/>
+ <record name="abi" c:type="abi">
+ <source-position filename="libs/gst/base/gstcollectpads.h"
+ line="165"/>
+ <field name="dts" writable="1">
+ <type name="gint64" c:type="gint64"/>
+ </field>
+ </record>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </union>
+ </record>
+ <callback name="CollectDataDestroyNotify"
+ c:type="GstCollectDataDestroyNotify">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.h"
+ line="44">A function that will be called when the #GstCollectData will be freed.
+It is passed the pointer to the structure and should free any custom
+memory and resources allocated for it.</doc>
+ <source-position filename="libs/gst/base/gstcollectpads.h" line="52"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.h"
+ line="46">the #GstCollectData that will be freed</doc>
+ <type name="CollectData" c:type="GstCollectData*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <record name="CollectDataPrivate"
+ c:type="GstCollectDataPrivate"
+ disguised="1">
+ <source-position filename="libs/gst/base/gstcollectpads.h" line="39"/>
+ </record>
+ <class name="CollectPads"
+ c:symbol-prefix="collect_pads"
+ c:type="GstCollectPads"
+ parent="Gst.Object"
+ glib:type-name="GstCollectPads"
+ glib:get-type="gst_collect_pads_get_type"
+ glib:type-struct="CollectPadsClass">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.c"
+ line="23">Manages a set of pads that operate in collect mode. This means that control
+is given to the manager of this object when all pads have data.
+
+ * Collectpads are created with gst_collect_pads_new(). A callback should then
+ be installed with gst_collect_pads_set_function ().
+
+ * Pads are added to the collection with gst_collect_pads_add_pad()/
+ gst_collect_pads_remove_pad(). The pad has to be a sinkpad. When added,
+ the chain, event and query functions of the pad are overridden. The
+ element_private of the pad is used to store private information for the
+ collectpads.
+
+ * For each pad, data is queued in the _chain function or by
+ performing a pull_range.
+
+ * When data is queued on all pads in waiting mode, the callback function is called.
+
+ * Data can be dequeued from the pad with the gst_collect_pads_pop() method.
+ One can peek at the data with the gst_collect_pads_peek() function.
+ These functions will return %NULL if the pad received an EOS event. When all
+ pads return %NULL from a gst_collect_pads_peek(), the element can emit an EOS
+ event itself.
+
+ * Data can also be dequeued in byte units using the gst_collect_pads_available(),
+ gst_collect_pads_read_buffer() and gst_collect_pads_flush() calls.
+
+ * Elements should call gst_collect_pads_start() and gst_collect_pads_stop() in
+ their state change functions to start and stop the processing of the collectpads.
+ The gst_collect_pads_stop() call should be called before calling the parent
+ element state change function in the PAUSED_TO_READY state change to ensure
+ no pad is blocked and the element can finish streaming.
+
+ * gst_collect_pads_set_waiting() sets a pad to waiting or non-waiting mode.
+ CollectPads element is not waiting for data to be collected on non-waiting pads.
+ Thus these pads may but need not have data when the callback is called.
+ All pads are in waiting mode by default.</doc>
+ <source-position filename="libs/gst/base/gstcollectpads.h" line="341"/>
+ <constructor name="new" c:identifier="gst_collect_pads_new">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.c"
+ line="273">Create a new instance of #GstCollectPads.
+
+MT safe.</doc>
+ <source-position filename="libs/gst/base/gstcollectpads.h" line="349"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.c"
+ line="280">a new #GstCollectPads, or %NULL in case of an error.</doc>
+ <type name="CollectPads" c:type="GstCollectPads*"/>
+ </return-value>
+ </constructor>
+ <method name="add_pad" c:identifier="gst_collect_pads_add_pad">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.c"
+ line="585">Add a pad to the collection of collect pads. The pad has to be
+a sinkpad. The refcount of the pad is incremented. Use
+gst_collect_pads_remove_pad() to remove the pad from the collection
+again.
+
+You specify a size for the returned #GstCollectData structure
+so that you can use it to store additional information.
+
+You can also specify a #GstCollectDataDestroyNotify that will be called
+just before the #GstCollectData structure is freed. It is passed the
+pointer to the structure and should free any custom memory and resources
+allocated for it.
+
+Keeping a pad locked in waiting state is only relevant when using
+the default collection algorithm (providing the oldest buffer).
+It ensures a buffer must be available on this pad for a collection
+to take place. This is of typical use to a muxer element where
+non-subtitle streams should always be in waiting state,
+e.g. to assure that caps information is available on all these streams
+when initial headers have to be written.
+
+The pad will be automatically activated in push mode when @pads is
+started.
+
+MT safe.</doc>
+ <source-position filename="libs/gst/base/gstcollectpads.h" line="385"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.c"
+ line="620">a new #GstCollectData to identify the
+ new pad. Or %NULL if wrong parameters are supplied.</doc>
+ <type name="CollectData" c:type="GstCollectData*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pads" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.c"
+ line="587">the collectpads to use</doc>
+ <type name="CollectPads" c:type="GstCollectPads*"/>
+ </instance-parameter>
+ <parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.c"
+ line="588">the pad to add</doc>
+ <type name="Gst.Pad" c:type="GstPad*"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.c"
+ line="589">the size of the returned #GstCollectData structure</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="destroy_notify"
+ transfer-ownership="none"
+ scope="async">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.c"
+ line="590">function to be called before the returned
+ #GstCollectData structure is freed</doc>
+ <type name="CollectDataDestroyNotify"
+ c:type="GstCollectDataDestroyNotify"/>
+ </parameter>
+ <parameter name="lock" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.c"
+ line="592">whether to lock this pad in usual waiting state</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="available" c:identifier="gst_collect_pads_available">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.c"
+ line="1012">Query how much bytes can be read from each queued buffer. This means
+that the result of this call is the maximum number of bytes that can
+be read from each of the pads.
+
+This function should be called with @pads STREAM_LOCK held, such as
+in the callback.
+
+MT safe.</doc>
+ <source-position filename="libs/gst/base/gstcollectpads.h" line="413"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.c"
+ line="1025">The maximum number of bytes queued on all pads. This function
+returns 0 if a pad has no queued buffer.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pads" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.c"
+ line="1014">the collectpads to query</doc>
+ <type name="CollectPads" c:type="GstCollectPads*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="clip_running_time"
+ c:identifier="gst_collect_pads_clip_running_time">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.c"
+ line="472">Convenience clipping function that converts incoming buffer's timestamp
+to running time, or clips the buffer if outside configured segment.
+
+Since 1.6, this clipping function also sets the DTS parameter of the
+GstCollectData structure. This version of the running time DTS can be
+negative. G_MININT64 is used to indicate invalid value.</doc>
+ <source-position filename="libs/gst/base/gstcollectpads.h" line="434"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pads" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.c"
+ line="474">the collectpads to use</doc>
+ <type name="CollectPads" c:type="GstCollectPads*"/>
+ </instance-parameter>
+ <parameter name="cdata" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.c"
+ line="475">collect data of corresponding pad</doc>
+ <type name="CollectData" c:type="GstCollectData*"/>
+ </parameter>
+ <parameter name="buf" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.c"
+ line="476">buffer being clipped</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="outbuf"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.c"
+ line="477">output buffer with running time, or NULL if clipped</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer**"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.c"
+ line="478">user data (unused)</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="event_default"
+ c:identifier="gst_collect_pads_event_default">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.c"
+ line="1647">Default #GstCollectPads event handling that elements should always
+chain up to to ensure proper operation. Element might however indicate
+event should not be forwarded downstream.</doc>
+ <source-position filename="libs/gst/base/gstcollectpads.h" line="442"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pads" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.c"
+ line="1649">the collectpads to use</doc>
+ <type name="CollectPads" c:type="GstCollectPads*"/>
+ </instance-parameter>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.c"
+ line="1650">collect data of corresponding pad</doc>
+ <type name="CollectData" c:type="GstCollectData*"/>
+ </parameter>
+ <parameter name="event" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.c"
+ line="1651">event being processed</doc>
+ <type name="Gst.Event" c:type="GstEvent*"/>
+ </parameter>
+ <parameter name="discard" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.c"
+ line="1652">process but do not send event downstream</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="flush" c:identifier="gst_collect_pads_flush">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.c"
+ line="1081">Flush @size bytes from the pad @data.
+
+This function should be called with @pads STREAM_LOCK held, such as
+in the callback.
+
+MT safe.</doc>
+ <source-position filename="libs/gst/base/gstcollectpads.h" line="416"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.c"
+ line="1094">The number of bytes flushed This can be less than @size and
+is 0 if the pad was end-of-stream.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pads" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.c"
+ line="1083">the collectpads to query</doc>
+ <type name="CollectPads" c:type="GstCollectPads*"/>
+ </instance-parameter>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.c"
+ line="1084">the data to use</doc>
+ <type name="CollectData" c:type="GstCollectData*"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.c"
+ line="1085">the number of bytes to flush</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="peek" c:identifier="gst_collect_pads_peek">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.c"
+ line="930">Peek at the buffer currently queued in @data. This function
+should be called with the @pads STREAM_LOCK held, such as in the callback
+handler.
+
+MT safe.</doc>
+ <source-position filename="libs/gst/base/gstcollectpads.h" line="405"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.c"
+ line="941">The buffer in @data or %NULL if no
+buffer is queued. should unref the buffer after usage.</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pads" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.c"
+ line="932">the collectpads to peek</doc>
+ <type name="CollectPads" c:type="GstCollectPads*"/>
+ </instance-parameter>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.c"
+ line="933">the data to use</doc>
+ <type name="CollectData" c:type="GstCollectData*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="pop" c:identifier="gst_collect_pads_pop">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.c"
+ line="962">Pop the buffer currently queued in @data. This function
+should be called with the @pads STREAM_LOCK held, such as in the callback
+handler.
+
+MT safe.</doc>
+ <source-position filename="libs/gst/base/gstcollectpads.h" line="408"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.c"
+ line="973">The buffer in @data or %NULL if no
+buffer was queued. You should unref the buffer after usage.</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pads" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.c"
+ line="964">the collectpads to pop</doc>
+ <type name="CollectPads" c:type="GstCollectPads*"/>
+ </instance-parameter>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.c"
+ line="965">the data to use</doc>
+ <type name="CollectData" c:type="GstCollectData*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="query_default"
+ c:identifier="gst_collect_pads_query_default">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.c"
+ line="2025">Default #GstCollectPads query handling that elements should always
+chain up to to ensure proper operation. Element might however indicate
+query should not be forwarded downstream.</doc>
+ <source-position filename="libs/gst/base/gstcollectpads.h" line="448"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pads" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.c"
+ line="2027">the collectpads to use</doc>
+ <type name="CollectPads" c:type="GstCollectPads*"/>
+ </instance-parameter>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.c"
+ line="2028">collect data of corresponding pad</doc>
+ <type name="CollectData" c:type="GstCollectData*"/>
+ </parameter>
+ <parameter name="query" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.c"
+ line="2029">query being processed</doc>
+ <type name="Gst.Query" c:type="GstQuery*"/>
+ </parameter>
+ <parameter name="discard" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.c"
+ line="2030">process but do not send event downstream</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="read_buffer" c:identifier="gst_collect_pads_read_buffer">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.c"
+ line="1127">Get a subbuffer of @size bytes from the given pad @data.
+
+This function should be called with @pads STREAM_LOCK held, such as in the
+callback.
+
+MT safe.</doc>
+ <source-position filename="libs/gst/base/gstcollectpads.h" line="419"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.c"
+ line="1140">A sub buffer. The size of the buffer can
+be less that requested. A return of %NULL signals that the pad is
+end-of-stream. Unref the buffer after use.</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pads" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.c"
+ line="1129">the collectpads to query</doc>
+ <type name="CollectPads" c:type="GstCollectPads*"/>
+ </instance-parameter>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.c"
+ line="1130">the data to use</doc>
+ <type name="CollectData" c:type="GstCollectData*"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.c"
+ line="1131">the number of bytes to read</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="remove_pad" c:identifier="gst_collect_pads_remove_pad">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.c"
+ line="683">Remove a pad from the collection of collect pads. This function will also
+free the #GstCollectData and all the resources that were allocated with
+gst_collect_pads_add_pad().
+
+The pad will be deactivated automatically when @pads is stopped.
+
+MT safe.</doc>
+ <source-position filename="libs/gst/base/gstcollectpads.h" line="389"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.c"
+ line="696">%TRUE if the pad could be removed.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pads" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.c"
+ line="685">the collectpads to use</doc>
+ <type name="CollectPads" c:type="GstCollectPads*"/>
+ </instance-parameter>
+ <parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.c"
+ line="686">the pad to remove</doc>
+ <type name="Gst.Pad" c:type="GstPad*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_buffer_function"
+ c:identifier="gst_collect_pads_set_buffer_function">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.c"
+ line="304">Set the callback function and user data that will be called with
+the oldest buffer when all pads have been collected, or %NULL on EOS.
+If a buffer is passed, the callback owns a reference and must unref
+it.
+
+MT safe.</doc>
+ <source-position filename="libs/gst/base/gstcollectpads.h" line="358"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pads" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.c"
+ line="306">the collectpads to use</doc>
+ <type name="CollectPads" c:type="GstCollectPads*"/>
+ </instance-parameter>
+ <parameter name="func"
+ transfer-ownership="none"
+ scope="call"
+ closure="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.c"
+ line="307">the function to set</doc>
+ <type name="CollectPadsBufferFunction"
+ c:type="GstCollectPadsBufferFunction"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.c"
+ line="308">user data passed to the function</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_clip_function"
+ c:identifier="gst_collect_pads_set_clip_function">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.c"
+ line="542">Install a clipping function that is called right after a buffer is received
+on a pad managed by @pads. See #GstCollectPadsClipFunction for more info.</doc>
+ <source-position filename="libs/gst/base/gstcollectpads.h" line="374"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pads" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.c"
+ line="544">the collectpads to use</doc>
+ <type name="CollectPads" c:type="GstCollectPads*"/>
+ </instance-parameter>
+ <parameter name="clipfunc"
+ transfer-ownership="none"
+ scope="call"
+ closure="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.c"
+ line="545">clip function to install</doc>
+ <type name="CollectPadsClipFunction"
+ c:type="GstCollectPadsClipFunction"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.c"
+ line="546">user data to pass to @clip_func</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_compare_function"
+ c:identifier="gst_collect_pads_set_compare_function">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.c"
+ line="329">Set the timestamp comparison function.
+
+MT safe.</doc>
+ <source-position filename="libs/gst/base/gstcollectpads.h" line="370"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pads" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.c"
+ line="331">the pads to use</doc>
+ <type name="CollectPads" c:type="GstCollectPads*"/>
+ </instance-parameter>
+ <parameter name="func"
+ transfer-ownership="none"
+ scope="call"
+ closure="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.c"
+ line="332">the function to set</doc>
+ <type name="CollectPadsCompareFunction"
+ c:type="GstCollectPadsCompareFunction"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.c"
+ line="333">user data passed to the function</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_event_function"
+ c:identifier="gst_collect_pads_set_event_function">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.c"
+ line="416">Set the event callback function and user data that will be called when
+collectpads has received an event originating from one of the collected
+pads. If the event being processed is a serialized one, this callback is
+called with @pads STREAM_LOCK held, otherwise not. As this lock should be
+held when calling a number of CollectPads functions, it should be acquired
+if so (unusually) needed.
+
+MT safe.</doc>
+ <source-position filename="libs/gst/base/gstcollectpads.h" line="362"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pads" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.c"
+ line="418">the collectpads to use</doc>
+ <type name="CollectPads" c:type="GstCollectPads*"/>
+ </instance-parameter>
+ <parameter name="func"
+ transfer-ownership="none"
+ scope="call"
+ closure="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.c"
+ line="419">the function to set</doc>
+ <type name="CollectPadsEventFunction"
+ c:type="GstCollectPadsEventFunction"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.c"
+ line="420">user data passed to the function</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_flush_function"
+ c:identifier="gst_collect_pads_set_flush_function"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.c"
+ line="562">Install a flush function that is called when the internal
+state of all pads should be flushed as part of flushing seek
+handling. See #GstCollectPadsFlushFunction for more info.</doc>
+ <source-position filename="libs/gst/base/gstcollectpads.h" line="378"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pads" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.c"
+ line="564">the collectpads to use</doc>
+ <type name="CollectPads" c:type="GstCollectPads*"/>
+ </instance-parameter>
+ <parameter name="func"
+ transfer-ownership="none"
+ scope="call"
+ closure="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.c"
+ line="565">flush function to install</doc>
+ <type name="CollectPadsFlushFunction"
+ c:type="GstCollectPadsFlushFunction"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.c"
+ line="566">user data to pass to @func</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_flushing" c:identifier="gst_collect_pads_set_flushing">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.c"
+ line="804">Change the flushing state of all the pads in the collection. No pad
+is able to accept anymore data when @flushing is %TRUE. Calling this
+function with @flushing %FALSE makes @pads accept data again.
+Caller must ensure that downstream streaming (thread) is not blocked,
+e.g. by sending a FLUSH_START downstream.
+
+MT safe.</doc>
+ <source-position filename="libs/gst/base/gstcollectpads.h" line="400"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pads" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.c"
+ line="806">the collectpads to use</doc>
+ <type name="CollectPads" c:type="GstCollectPads*"/>
+ </instance-parameter>
+ <parameter name="flushing" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.c"
+ line="807">desired state of the pads</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_function" c:identifier="gst_collect_pads_set_function">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.c"
+ line="356">CollectPads provides a default collection algorithm that will determine
+the oldest buffer available on all of its pads, and then delegate
+to a configured callback.
+However, if circumstances are more complicated and/or more control
+is desired, this sets a callback that will be invoked instead when
+all the pads added to the collection have buffers queued.
+Evidently, this callback is not compatible with
+gst_collect_pads_set_buffer_function() callback.
+If this callback is set, the former will be unset.
+
+MT safe.</doc>
+ <source-position filename="libs/gst/base/gstcollectpads.h" line="354"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pads" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.c"
+ line="358">the collectpads to use</doc>
+ <type name="CollectPads" c:type="GstCollectPads*"/>
+ </instance-parameter>
+ <parameter name="func"
+ transfer-ownership="none"
+ scope="call"
+ closure="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.c"
+ line="359">the function to set</doc>
+ <type name="CollectPadsFunction" c:type="GstCollectPadsFunction"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.c"
+ line="360">user data passed to the function</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_query_function"
+ c:identifier="gst_collect_pads_set_query_function">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.c"
+ line="444">Set the query callback function and user data that will be called after
+collectpads has received a query originating from one of the collected
+pads. If the query being processed is a serialized one, this callback is
+called with @pads STREAM_LOCK held, otherwise not. As this lock should be
+held when calling a number of CollectPads functions, it should be acquired
+if so (unusually) needed.
+
+MT safe.</doc>
+ <source-position filename="libs/gst/base/gstcollectpads.h" line="366"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pads" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.c"
+ line="446">the collectpads to use</doc>
+ <type name="CollectPads" c:type="GstCollectPads*"/>
+ </instance-parameter>
+ <parameter name="func"
+ transfer-ownership="none"
+ scope="call"
+ closure="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.c"
+ line="447">the function to set</doc>
+ <type name="CollectPadsQueryFunction"
+ c:type="GstCollectPadsQueryFunction"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.c"
+ line="448">user data passed to the function</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_waiting" c:identifier="gst_collect_pads_set_waiting">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.c"
+ line="1196">Sets a pad to waiting or non-waiting mode, if at least this pad
+has not been created with locked waiting state,
+in which case nothing happens.
+
+This function should be called with @pads STREAM_LOCK held, such as
+in the callback.
+
+MT safe.</doc>
+ <source-position filename="libs/gst/base/gstcollectpads.h" line="428"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pads" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.c"
+ line="1198">the collectpads</doc>
+ <type name="CollectPads" c:type="GstCollectPads*"/>
+ </instance-parameter>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.c"
+ line="1199">the data to use</doc>
+ <type name="CollectData" c:type="GstCollectData*"/>
+ </parameter>
+ <parameter name="waiting" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.c"
+ line="1200">boolean indicating whether this pad should operate
+ in waiting or non-waiting mode</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="src_event_default"
+ c:identifier="gst_collect_pads_src_event_default"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.c"
+ line="1909">Default #GstCollectPads event handling for the src pad of elements.
+Elements can chain up to this to let flushing seek event handling
+be done by #GstCollectPads.</doc>
+ <source-position filename="libs/gst/base/gstcollectpads.h" line="445"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pads" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.c"
+ line="1911">the #GstCollectPads to use</doc>
+ <type name="CollectPads" c:type="GstCollectPads*"/>
+ </instance-parameter>
+ <parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.c"
+ line="1912">src #GstPad that received the event</doc>
+ <type name="Gst.Pad" c:type="GstPad*"/>
+ </parameter>
+ <parameter name="event" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.c"
+ line="1913">event being processed</doc>
+ <type name="Gst.Event" c:type="GstEvent*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="start" c:identifier="gst_collect_pads_start">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.c"
+ line="831">Starts the processing of data in the collect_pads.
+
+MT safe.</doc>
+ <source-position filename="libs/gst/base/gstcollectpads.h" line="394"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pads" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.c"
+ line="833">the collectpads to use</doc>
+ <type name="CollectPads" c:type="GstCollectPads*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="stop" c:identifier="gst_collect_pads_stop">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.c"
+ line="872">Stops the processing of data in the collect_pads. this function
+will also unblock any blocking operations.
+
+MT safe.</doc>
+ <source-position filename="libs/gst/base/gstcollectpads.h" line="397"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pads" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.c"
+ line="874">the collectpads to use</doc>
+ <type name="CollectPads" c:type="GstCollectPads*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="take_buffer" c:identifier="gst_collect_pads_take_buffer">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.c"
+ line="1166">Get a subbuffer of @size bytes from the given pad @data. Flushes the amount
+of read bytes.
+
+This function should be called with @pads STREAM_LOCK held, such as in the
+callback.
+
+MT safe.</doc>
+ <source-position filename="libs/gst/base/gstcollectpads.h" line="422"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.c"
+ line="1180">A sub buffer. The size of the buffer can
+be less that requested. A return of %NULL signals that the pad is
+end-of-stream. Unref the buffer after use.</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pads" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.c"
+ line="1168">the collectpads to query</doc>
+ <type name="CollectPads" c:type="GstCollectPads*"/>
+ </instance-parameter>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.c"
+ line="1169">the data to use</doc>
+ <type name="CollectData" c:type="GstCollectData*"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.c"
+ line="1170">the number of bytes to read</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <field name="object">
+ <type name="Gst.Object" c:type="GstObject"/>
+ </field>
+ <field name="data">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.h"
+ line="317">#GList of #GstCollectData managed
+ by this #GstCollectPads.</doc>
+ <type name="GLib.SList" c:type="GSList*">
+ <type name="CollectData"/>
+ </type>
+ </field>
+ <field name="stream_lock" readable="0" private="1">
+ <type name="GLib.RecMutex" c:type="GRecMutex"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="CollectPadsPrivate" c:type="GstCollectPadsPrivate*"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <callback name="CollectPadsBufferFunction"
+ c:type="GstCollectPadsBufferFunction">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.h"
+ line="181">A function that will be called when a (considered oldest) buffer can be muxed.
+If all pads have reached EOS, this function is called with %NULL @buffer
+and %NULL @data.</doc>
+ <source-position filename="libs/gst/base/gstcollectpads.h" line="194"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.h"
+ line="192">%GST_FLOW_OK for success</doc>
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="pads" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.h"
+ line="183">the #GstCollectPads that triggered the callback</doc>
+ <type name="CollectPads" c:type="GstCollectPads*"/>
+ </parameter>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.h"
+ line="184">the #GstCollectData of pad that has received the buffer</doc>
+ <type name="CollectData" c:type="GstCollectData*"/>
+ </parameter>
+ <parameter name="buffer" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.h"
+ line="185">the #GstBuffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1"
+ closure="3">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.h"
+ line="186">user data passed to gst_collect_pads_set_buffer_function()</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <record name="CollectPadsClass"
+ c:type="GstCollectPadsClass"
+ glib:is-gtype-struct-for="CollectPads">
+ <source-position filename="libs/gst/base/gstcollectpads.h" line="341"/>
+ <field name="parent_class">
+ <type name="Gst.ObjectClass" c:type="GstObjectClass"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <callback name="CollectPadsClipFunction"
+ c:type="GstCollectPadsClipFunction">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.h"
+ line="251">A function that will be called when @inbuffer is received on the pad managed
+by @data in the collectpad object @pads.
+
+The function should use the segment of @data and the negotiated media type on
+the pad to perform clipping of @inbuffer.
+
+This function takes ownership of @inbuffer and should output a buffer in
+@outbuffer or return %NULL in @outbuffer if the buffer should be dropped.</doc>
+ <source-position filename="libs/gst/base/gstcollectpads.h" line="270"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.h"
+ line="268">a #GstFlowReturn that corresponds to the result of clipping.</doc>
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="pads" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.h"
+ line="253">a #GstCollectPads</doc>
+ <type name="CollectPads" c:type="GstCollectPads*"/>
+ </parameter>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.h"
+ line="254">a #GstCollectData</doc>
+ <type name="CollectData" c:type="GstCollectData*"/>
+ </parameter>
+ <parameter name="inbuffer" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.h"
+ line="255">the input #GstBuffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="outbuffer"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.h"
+ line="256">the output #GstBuffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer**"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1"
+ closure="4">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.h"
+ line="257">user data</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <callback name="CollectPadsCompareFunction"
+ c:type="GstCollectPadsCompareFunction">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.h"
+ line="197">A function for comparing two timestamps of buffers or newsegments collected on one pad.</doc>
+ <source-position filename="libs/gst/base/gstcollectpads.h" line="212"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.h"
+ line="208">Integer less than zero when first timestamp is deemed older than the second one.
+ Zero if the timestamps are deemed equally old.
+ Integer greater than zero when second timestamp is deemed older than the first one.</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <parameter name="pads" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.h"
+ line="199">the #GstCollectPads that is comparing the timestamps</doc>
+ <type name="CollectPads" c:type="GstCollectPads*"/>
+ </parameter>
+ <parameter name="data1" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.h"
+ line="200">the first #GstCollectData</doc>
+ <type name="CollectData" c:type="GstCollectData*"/>
+ </parameter>
+ <parameter name="timestamp1" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.h"
+ line="201">the first timestamp</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="data2" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.h"
+ line="202">the second #GstCollectData</doc>
+ <type name="CollectData" c:type="GstCollectData*"/>
+ </parameter>
+ <parameter name="timestamp2" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.h"
+ line="203">the second timestamp</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1"
+ closure="5">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.h"
+ line="204">user data passed to gst_collect_pads_set_compare_function()</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <callback name="CollectPadsEventFunction"
+ c:type="GstCollectPadsEventFunction">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.h"
+ line="217">A function that will be called while processing an event. It takes
+ownership of the event and is responsible for chaining up (to
+gst_collect_pads_event_default()) or dropping events (such typical cases
+being handled by the default handler).</doc>
+ <source-position filename="libs/gst/base/gstcollectpads.h" line="231"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.h"
+ line="229">%TRUE if the pad could handle the event</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="pads" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.h"
+ line="219">the #GstCollectPads that triggered the callback</doc>
+ <type name="CollectPads" c:type="GstCollectPads*"/>
+ </parameter>
+ <parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.h"
+ line="220">the #GstPad that received an event</doc>
+ <type name="CollectData" c:type="GstCollectData*"/>
+ </parameter>
+ <parameter name="event" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.h"
+ line="221">the #GstEvent received</doc>
+ <type name="Gst.Event" c:type="GstEvent*"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1"
+ closure="3">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.h"
+ line="222">user data passed to gst_collect_pads_set_event_function()</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <callback name="CollectPadsFlushFunction"
+ c:type="GstCollectPadsFlushFunction"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.h"
+ line="275">A function that will be called while processing a flushing seek event.
+
+The function should flush any internal state of the element and the state of
+all the pads. It should clear only the state not directly managed by the
+@pads object. It is therefore not necessary to call
+gst_collect_pads_set_flushing nor gst_collect_pads_clear from this function.</doc>
+ <source-position filename="libs/gst/base/gstcollectpads.h" line="289"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="pads" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.h"
+ line="277">a #GstCollectPads</doc>
+ <type name="CollectPads" c:type="GstCollectPads*"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1"
+ closure="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.h"
+ line="278">user data</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <callback name="CollectPadsFunction" c:type="GstCollectPadsFunction">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.h"
+ line="170">A function that will be called when all pads have received data.</doc>
+ <source-position filename="libs/gst/base/gstcollectpads.h" line="179"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.h"
+ line="177">%GST_FLOW_OK for success</doc>
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="pads" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.h"
+ line="172">the #GstCollectPads that triggered the callback</doc>
+ <type name="CollectPads" c:type="GstCollectPads*"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1"
+ closure="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.h"
+ line="173">user data passed to gst_collect_pads_set_function()</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <record name="CollectPadsPrivate"
+ c:type="GstCollectPadsPrivate"
+ disguised="1">
+ <source-position filename="libs/gst/base/gstcollectpads.h" line="41"/>
+ </record>
+ <callback name="CollectPadsQueryFunction"
+ c:type="GstCollectPadsQueryFunction">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.h"
+ line="235">A function that will be called while processing a query. It takes
+ownership of the query and is responsible for chaining up (to
+events downstream (with gst_pad_event_default()).</doc>
+ <source-position filename="libs/gst/base/gstcollectpads.h" line="248"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.h"
+ line="246">%TRUE if the pad could handle the event</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="pads" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.h"
+ line="237">the #GstCollectPads that triggered the callback</doc>
+ <type name="CollectPads" c:type="GstCollectPads*"/>
+ </parameter>
+ <parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.h"
+ line="238">the #GstPad that received an event</doc>
+ <type name="CollectData" c:type="GstCollectData*"/>
+ </parameter>
+ <parameter name="query" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.h"
+ line="239">the #GstEvent received</doc>
+ <type name="Gst.Query" c:type="GstQuery*"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1"
+ closure="3">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.h"
+ line="240">user data passed to gst_collect_pads_set_query_function()</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <bitfield name="CollectPadsStateFlags" c:type="GstCollectPadsStateFlags">
+ <source-position filename="libs/gst/base/gstcollectpads.h" line="72"/>
+ <member name="eos" value="1" c:identifier="GST_COLLECT_PADS_STATE_EOS">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.h"
+ line="56">Set if collectdata's pad is EOS.</doc>
+ </member>
+ <member name="flushing"
+ value="2"
+ c:identifier="GST_COLLECT_PADS_STATE_FLUSHING">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.h"
+ line="57">Set if collectdata's pad is flushing.</doc>
+ </member>
+ <member name="new_segment"
+ value="4"
+ c:identifier="GST_COLLECT_PADS_STATE_NEW_SEGMENT">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.h"
+ line="58">Set if collectdata's pad received a
+ new_segment event.</doc>
+ </member>
+ <member name="waiting"
+ value="8"
+ c:identifier="GST_COLLECT_PADS_STATE_WAITING">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.h"
+ line="60">Set if collectdata's pad must be waited
+ for when collecting.</doc>
+ </member>
+ <member name="locked"
+ value="16"
+ c:identifier="GST_COLLECT_PADS_STATE_LOCKED">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstcollectpads.h"
+ line="62">Set collectdata's pad WAITING state must
+ not be changed.
+#GstCollectPadsStateFlags indicate private state of a collectdata('s pad).</doc>
+ </member>
+ </bitfield>
+ <function-macro name="DATA_QUEUE"
+ c:identifier="GST_DATA_QUEUE"
+ introspectable="0">
+ <source-position filename="libs/gst/base/gstdataqueue.h" line="31"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="DATA_QUEUE_CLASS"
+ c:identifier="GST_DATA_QUEUE_CLASS"
+ introspectable="0">
+ <source-position filename="libs/gst/base/gstdataqueue.h" line="33"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <class name="DataQueue"
+ c:symbol-prefix="data_queue"
+ c:type="GstDataQueue"
+ parent="GObject.Object"
+ glib:type-name="GstDataQueue"
+ glib:get-type="gst_data_queue_get_type"
+ glib:type-struct="DataQueueClass">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstdataqueue.c"
+ line="22">#GstDataQueue is an object that handles threadsafe queueing of objects. It
+also provides size-related functionality. This object should be used for
+any #GstElement that wishes to provide some sort of queueing functionality.</doc>
+ <source-position filename="libs/gst/base/gstdataqueue.h" line="137"/>
+ <constructor name="new"
+ c:identifier="gst_data_queue_new"
+ version="1.2"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstdataqueue.c"
+ line="212">Creates a new #GstDataQueue. If @fullcallback or @emptycallback are supplied, then
+the #GstDataQueue will call the respective callback to signal full or empty condition.
+If the callbacks are NULL the #GstDataQueue will instead emit 'full' and 'empty'
+signals.</doc>
+ <source-position filename="libs/gst/base/gstdataqueue.h" line="143"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstdataqueue.c"
+ line="226">a new #GstDataQueue.</doc>
+ <type name="DataQueue" c:type="GstDataQueue*"/>
+ </return-value>
+ <parameters>
+ <parameter name="checkfull" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstdataqueue.c"
+ line="214">the callback used to tell if the element considers the queue full
+or not.</doc>
+ <type name="DataQueueCheckFullFunction"
+ c:type="GstDataQueueCheckFullFunction"/>
+ </parameter>
+ <parameter name="fullcallback" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstdataqueue.c"
+ line="216">the callback which will be called when the queue is considered full.</doc>
+ <type name="DataQueueFullCallback"
+ c:type="GstDataQueueFullCallback"/>
+ </parameter>
+ <parameter name="emptycallback"
+ transfer-ownership="none"
+ closure="3">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstdataqueue.c"
+ line="217">the callback which will be called when the queue is considered empty.</doc>
+ <type name="DataQueueEmptyCallback"
+ c:type="GstDataQueueEmptyCallback"/>
+ </parameter>
+ <parameter name="checkdata"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstdataqueue.c"
+ line="218">a #gpointer that will be passed to the @checkfull, @fullcallback,
+ and @emptycallback callbacks.</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <virtual-method name="empty">
+ <source-position filename="libs/gst/base/gstdataqueue.h" line="133"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="queue" transfer-ownership="none">
+ <type name="DataQueue" c:type="GstDataQueue*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="full">
+ <source-position filename="libs/gst/base/gstdataqueue.h" line="134"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="queue" transfer-ownership="none">
+ <type name="DataQueue" c:type="GstDataQueue*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <method name="drop_head"
+ c:identifier="gst_data_queue_drop_head"
+ version="1.2"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstdataqueue.c"
+ line="687">Pop and unref the head-most #GstMiniObject with the given #GType.</doc>
+ <source-position filename="libs/gst/base/gstdataqueue.h" line="166"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstdataqueue.c"
+ line="694">%TRUE if an element was removed.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="queue" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstdataqueue.c"
+ line="689">The #GstDataQueue to drop an item from.</doc>
+ <type name="DataQueue" c:type="GstDataQueue*"/>
+ </instance-parameter>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstdataqueue.c"
+ line="690">The #GType of the item to drop.</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="flush"
+ c:identifier="gst_data_queue_flush"
+ version="1.2"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstdataqueue.c"
+ line="316">Flushes all the contents of the @queue. Any call to #gst_data_queue_push and
+#gst_data_queue_pop will be released.
+MT safe.</doc>
+ <source-position filename="libs/gst/base/gstdataqueue.h" line="160"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="queue" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstdataqueue.c"
+ line="318">a #GstDataQueue.</doc>
+ <type name="DataQueue" c:type="GstDataQueue*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_level"
+ c:identifier="gst_data_queue_get_level"
+ version="1.2"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstdataqueue.c"
+ line="759">Get the current level of the queue.</doc>
+ <source-position filename="libs/gst/base/gstdataqueue.h" line="175"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="queue" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstdataqueue.c"
+ line="761">The #GstDataQueue</doc>
+ <type name="DataQueue" c:type="GstDataQueue*"/>
+ </instance-parameter>
+ <parameter name="level"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstdataqueue.c"
+ line="762">the location to store the result</doc>
+ <type name="DataQueueSize" c:type="GstDataQueueSize*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="is_empty"
+ c:identifier="gst_data_queue_is_empty"
+ version="1.2"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstdataqueue.c"
+ line="335">Queries if there are any items in the @queue.
+MT safe.</doc>
+ <source-position filename="libs/gst/base/gstdataqueue.h" line="172"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstdataqueue.c"
+ line="342">%TRUE if @queue is empty.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="queue" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstdataqueue.c"
+ line="337">a #GstDataQueue.</doc>
+ <type name="DataQueue" c:type="GstDataQueue*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="is_full"
+ c:identifier="gst_data_queue_is_full"
+ version="1.2"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstdataqueue.c"
+ line="358">Queries if @queue is full. This check will be done using the
+#GstDataQueueCheckFullFunction registered with @queue.
+MT safe.</doc>
+ <source-position filename="libs/gst/base/gstdataqueue.h" line="169"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstdataqueue.c"
+ line="366">%TRUE if @queue is full.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="queue" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstdataqueue.c"
+ line="360">a #GstDataQueue.</doc>
+ <type name="DataQueue" c:type="GstDataQueue*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="limits_changed"
+ c:identifier="gst_data_queue_limits_changed"
+ version="1.2"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstdataqueue.c"
+ line="735">Inform the queue that the limits for the fullness check have changed and that
+any blocking gst_data_queue_push() should be unblocked to recheck the limits.</doc>
+ <source-position filename="libs/gst/base/gstdataqueue.h" line="178"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="queue" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstdataqueue.c"
+ line="737">The #GstDataQueue</doc>
+ <type name="DataQueue" c:type="GstDataQueue*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="peek"
+ c:identifier="gst_data_queue_peek"
+ version="1.2"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstdataqueue.c"
+ line="632">Retrieves the first @item available on the @queue without removing it.
+If the queue is currently empty, the call will block until at least
+one item is available, OR the @queue is set to the flushing state.
+MT safe.</doc>
+ <source-position filename="libs/gst/base/gstdataqueue.h" line="157"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstdataqueue.c"
+ line="642">%TRUE if an @item was successfully retrieved from the @queue.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="queue" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstdataqueue.c"
+ line="634">a #GstDataQueue.</doc>
+ <type name="DataQueue" c:type="GstDataQueue*"/>
+ </instance-parameter>
+ <parameter name="item"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstdataqueue.c"
+ line="635">pointer to store the returned #GstDataQueueItem.</doc>
+ <type name="DataQueueItem" c:type="GstDataQueueItem**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="pop"
+ c:identifier="gst_data_queue_pop"
+ version="1.2"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstdataqueue.c"
+ line="562">Retrieves the first @item available on the @queue. If the queue is currently
+empty, the call will block until at least one item is available, OR the
+@queue is set to the flushing state.
+MT safe.</doc>
+ <source-position filename="libs/gst/base/gstdataqueue.h" line="154"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstdataqueue.c"
+ line="572">%TRUE if an @item was successfully retrieved from the @queue.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="queue" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstdataqueue.c"
+ line="564">a #GstDataQueue.</doc>
+ <type name="DataQueue" c:type="GstDataQueue*"/>
+ </instance-parameter>
+ <parameter name="item"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstdataqueue.c"
+ line="565">pointer to store the returned #GstDataQueueItem.</doc>
+ <type name="DataQueueItem" c:type="GstDataQueueItem**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="push"
+ c:identifier="gst_data_queue_push"
+ version="1.2"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstdataqueue.c"
+ line="478">Pushes a #GstDataQueueItem (or a structure that begins with the same fields)
+on the @queue. If the @queue is full, the call will block until space is
+available, OR the @queue is set to flushing state.
+MT safe.
+
+Note that this function has slightly different semantics than gst_pad_push()
+and gst_pad_push_event(): this function only takes ownership of @item and
+the #GstMiniObject contained in @item if the push was successful. If %FALSE
+is returned, the caller is responsible for freeing @item and its contents.</doc>
+ <source-position filename="libs/gst/base/gstdataqueue.h" line="148"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstdataqueue.c"
+ line="493">%TRUE if the @item was successfully pushed on the @queue.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="queue" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstdataqueue.c"
+ line="480">a #GstDataQueue.</doc>
+ <type name="DataQueue" c:type="GstDataQueue*"/>
+ </instance-parameter>
+ <parameter name="item" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstdataqueue.c"
+ line="481">a #GstDataQueueItem.</doc>
+ <type name="DataQueueItem" c:type="GstDataQueueItem*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="push_force"
+ c:identifier="gst_data_queue_push_force"
+ version="1.2"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstdataqueue.c"
+ line="430">Pushes a #GstDataQueueItem (or a structure that begins with the same fields)
+on the @queue. It ignores if the @queue is full or not and forces the @item
+to be pushed anyway.
+MT safe.
+
+Note that this function has slightly different semantics than gst_pad_push()
+and gst_pad_push_event(): this function only takes ownership of @item and
+the #GstMiniObject contained in @item if the push was successful. If %FALSE
+is returned, the caller is responsible for freeing @item and its contents.</doc>
+ <source-position filename="libs/gst/base/gstdataqueue.h" line="151"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstdataqueue.c"
+ line="445">%TRUE if the @item was successfully pushed on the @queue.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="queue" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstdataqueue.c"
+ line="432">a #GstDataQueue.</doc>
+ <type name="DataQueue" c:type="GstDataQueue*"/>
+ </instance-parameter>
+ <parameter name="item" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstdataqueue.c"
+ line="433">a #GstDataQueueItem.</doc>
+ <type name="DataQueueItem" c:type="GstDataQueueItem*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_flushing"
+ c:identifier="gst_data_queue_set_flushing"
+ version="1.2"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstdataqueue.c"
+ line="382">Sets the queue to flushing state if @flushing is %TRUE. If set to flushing
+state, any incoming data on the @queue will be discarded. Any call currently
+blocking on #gst_data_queue_push or #gst_data_queue_pop will return straight
+away with a return value of %FALSE. While the @queue is in flushing state,
+all calls to those two functions will return %FALSE.
+
+MT Safe.</doc>
+ <source-position filename="libs/gst/base/gstdataqueue.h" line="163"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="queue" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstdataqueue.c"
+ line="384">a #GstDataQueue.</doc>
+ <type name="DataQueue" c:type="GstDataQueue*"/>
+ </instance-parameter>
+ <parameter name="flushing" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstdataqueue.c"
+ line="385">a #gboolean stating if the queue will be flushing or not.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="current-level-bytes" transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </property>
+ <property name="current-level-time" transfer-ownership="none">
+ <type name="guint64" c:type="guint64"/>
+ </property>
+ <property name="current-level-visible" transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </property>
+ <field name="object">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstdataqueue.h"
+ line="112">the parent structure</doc>
+ <type name="GObject.Object" c:type="GObject"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="DataQueuePrivate" c:type="GstDataQueuePrivate*"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <glib:signal name="empty" when="first" introspectable="0">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstdataqueue.c"
+ line="147">Reports that the queue became empty (empty).
+A queue is empty if the total amount of visible items inside it (num-visible, time,
+size) is lower than the boundary values which can be set through the GObject
+properties.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </glib:signal>
+ <glib:signal name="full" when="first" introspectable="0">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstdataqueue.c"
+ line="161">Reports that the queue became full (full).
+A queue is full if the total amount of data inside it (num-visible, time,
+size) is higher than the boundary values which can be set through the GObject
+properties.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </glib:signal>
+ </class>
+ <callback name="DataQueueCheckFullFunction"
+ c:type="GstDataQueueCheckFullFunction"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstdataqueue.h"
+ line="91">The prototype of the function used to inform the queue that it should be
+considered as full.</doc>
+ <source-position filename="libs/gst/base/gstdataqueue.h" line="104"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstdataqueue.h"
+ line="102">%TRUE if the queue should be considered full.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="queue" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstdataqueue.h"
+ line="93">a #GstDataQueue.</doc>
+ <type name="DataQueue" c:type="GstDataQueue*"/>
+ </parameter>
+ <parameter name="visible" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstdataqueue.h"
+ line="94">The number of visible items currently in the queue.</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="bytes" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstdataqueue.h"
+ line="95">The amount of bytes currently in the queue.</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="time" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstdataqueue.h"
+ line="96">The accumulated duration of the items currently in the queue.</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ <parameter name="checkdata"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstdataqueue.h"
+ line="97">The #gpointer registered when the #GstDataQueue was created.</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <record name="DataQueueClass"
+ c:type="GstDataQueueClass"
+ glib:is-gtype-struct-for="DataQueue">
+ <source-position filename="libs/gst/base/gstdataqueue.h" line="137"/>
+ <field name="parent_class">
+ <type name="GObject.ObjectClass" c:type="GObjectClass"/>
+ </field>
+ <field name="empty">
+ <callback name="empty">
+ <source-position filename="libs/gst/base/gstdataqueue.h" line="133"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="queue" transfer-ownership="none">
+ <type name="DataQueue" c:type="GstDataQueue*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="full">
+ <callback name="full">
+ <source-position filename="libs/gst/base/gstdataqueue.h" line="134"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="queue" transfer-ownership="none">
+ <type name="DataQueue" c:type="GstDataQueue*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gst_reserved">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <callback name="DataQueueEmptyCallback" c:type="GstDataQueueEmptyCallback">
+ <source-position filename="libs/gst/base/gstdataqueue.h" line="108"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="queue" transfer-ownership="none">
+ <type name="DataQueue" c:type="GstDataQueue*"/>
+ </parameter>
+ <parameter name="checkdata"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <callback name="DataQueueFullCallback" c:type="GstDataQueueFullCallback">
+ <source-position filename="libs/gst/base/gstdataqueue.h" line="107"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="queue" transfer-ownership="none">
+ <type name="DataQueue" c:type="GstDataQueue*"/>
+ </parameter>
+ <parameter name="checkdata"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <record name="DataQueueItem" c:type="GstDataQueueItem" introspectable="0">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstdataqueue.h"
+ line="47">Structure used by #GstDataQueue. You can supply a different structure, as
+long as the top of the structure is identical to this structure.</doc>
+ <source-position filename="libs/gst/base/gstdataqueue.h" line="74"/>
+ <field name="object" writable="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstdataqueue.h"
+ line="49">the #GstMiniObject to queue.</doc>
+ <type name="Gst.MiniObject" c:type="GstMiniObject*"/>
+ </field>
+ <field name="size" writable="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstdataqueue.h"
+ line="50">the size in bytes of the miniobject.</doc>
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="duration" writable="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstdataqueue.h"
+ line="51">the duration in #GstClockTime of the miniobject. Can not be
+%GST_CLOCK_TIME_NONE.</doc>
+ <type name="guint64" c:type="guint64"/>
+ </field>
+ <field name="visible" writable="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstdataqueue.h"
+ line="53">%TRUE if @object should be considered as a visible object.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="destroy" writable="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstdataqueue.h"
+ line="54">The #GDestroyNotify function to use to free the #GstDataQueueItem.
+This function should also drop the reference to @object the owner of the
+#GstDataQueueItem is assumed to hold.</doc>
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="DataQueuePrivate" c:type="GstDataQueuePrivate" disguised="1">
+ <source-position filename="libs/gst/base/gstdataqueue.h" line="45"/>
+ </record>
+ <record name="DataQueueSize" c:type="GstDataQueueSize" introspectable="0">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstdataqueue.h"
+ line="76">Structure describing the size of a queue.</doc>
+ <source-position filename="libs/gst/base/gstdataqueue.h" line="89"/>
+ <field name="visible" writable="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstdataqueue.h"
+ line="78">number of buffers</doc>
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="bytes" writable="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstdataqueue.h"
+ line="79">number of bytes</doc>
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="time" writable="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstdataqueue.h"
+ line="80">amount of time</doc>
+ <type name="guint64" c:type="guint64"/>
+ </field>
+ </record>
+ <record name="FlowCombiner"
+ c:type="GstFlowCombiner"
+ version="1.4"
+ glib:type-name="GstFlowCombiner"
+ glib:get-type="gst_flow_combiner_get_type"
+ c:symbol-prefix="flow_combiner">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstflowcombiner.c"
+ line="24">Utility struct to help handling #GstFlowReturn combination. Useful for
+#GstElement&lt;!-- --&gt;s that have multiple source pads and need to combine
+the different #GstFlowReturn for those pads.
+
+#GstFlowCombiner works by using the last #GstFlowReturn for all #GstPad
+it has in its list and computes the combined return value and provides
+it to the caller.
+
+To add a new pad to the #GstFlowCombiner use gst_flow_combiner_add_pad().
+The new #GstPad is stored with a default value of %GST_FLOW_OK.
+
+In case you want a #GstPad to be removed, use gst_flow_combiner_remove_pad().
+
+Please be aware that this struct isn't thread safe as its designed to be
+ used by demuxers, those usually will have a single thread operating it.
+
+These functions will take refs on the passed #GstPad&lt;!-- --&gt;s.
+
+Aside from reducing the user's code size, the main advantage of using this
+helper struct is to follow the standard rules for #GstFlowReturn combination.
+These rules are:
+
+* %GST_FLOW_EOS: only if all returns are EOS too
+* %GST_FLOW_NOT_LINKED: only if all returns are NOT_LINKED too
+* %GST_FLOW_ERROR or below: if at least one returns an error return
+* %GST_FLOW_NOT_NEGOTIATED: if at least one returns a not-negotiated return
+* %GST_FLOW_FLUSHING: if at least one returns flushing
+* %GST_FLOW_OK: otherwise
+
+%GST_FLOW_ERROR or below, GST_FLOW_NOT_NEGOTIATED and GST_FLOW_FLUSHING are
+returned immediately from the gst_flow_combiner_update_flow() function.</doc>
+ <source-position filename="libs/gst/base/gstflowcombiner.h" line="43"/>
+ <constructor name="new"
+ c:identifier="gst_flow_combiner_new"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstflowcombiner.c"
+ line="87">Creates a new #GstFlowCombiner, use gst_flow_combiner_free() to free it.</doc>
+ <source-position filename="libs/gst/base/gstflowcombiner.h" line="46"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstflowcombiner.c"
+ line="92">A new #GstFlowCombiner</doc>
+ <type name="FlowCombiner" c:type="GstFlowCombiner*"/>
+ </return-value>
+ </constructor>
+ <method name="add_pad"
+ c:identifier="gst_flow_combiner_add_pad"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstflowcombiner.c"
+ line="320">Adds a new #GstPad to the #GstFlowCombiner.</doc>
+ <source-position filename="libs/gst/base/gstflowcombiner.h" line="64"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="combiner" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstflowcombiner.c"
+ line="322">the #GstFlowCombiner</doc>
+ <type name="FlowCombiner" c:type="GstFlowCombiner*"/>
+ </instance-parameter>
+ <parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstflowcombiner.c"
+ line="323">the #GstPad that is being added</doc>
+ <type name="Gst.Pad" c:type="GstPad*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="clear"
+ c:identifier="gst_flow_combiner_clear"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstflowcombiner.c"
+ line="168">Removes all pads from a #GstFlowCombiner and resets it to its initial state.</doc>
+ <source-position filename="libs/gst/base/gstflowcombiner.h" line="70"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="combiner" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstflowcombiner.c"
+ line="170">the #GstFlowCombiner to clear</doc>
+ <type name="FlowCombiner" c:type="GstFlowCombiner*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="free" c:identifier="gst_flow_combiner_free" version="1.4">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstflowcombiner.c"
+ line="110">Frees a #GstFlowCombiner struct and all its internal data.</doc>
+ <source-position filename="libs/gst/base/gstflowcombiner.h" line="55"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="combiner" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstflowcombiner.c"
+ line="112">the #GstFlowCombiner to free</doc>
+ <type name="FlowCombiner" c:type="GstFlowCombiner*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="ref" c:identifier="gst_flow_combiner_ref" version="1.12.1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstflowcombiner.c"
+ line="124">Increments the reference count on the #GstFlowCombiner.</doc>
+ <source-position filename="libs/gst/base/gstflowcombiner.h" line="49"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstflowcombiner.c"
+ line="130">the #GstFlowCombiner.</doc>
+ <type name="FlowCombiner" c:type="GstFlowCombiner*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="combiner" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstflowcombiner.c"
+ line="126">the #GstFlowCombiner to add a reference to.</doc>
+ <type name="FlowCombiner" c:type="GstFlowCombiner*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="remove_pad"
+ c:identifier="gst_flow_combiner_remove_pad"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstflowcombiner.c"
+ line="338">Removes a #GstPad from the #GstFlowCombiner.</doc>
+ <source-position filename="libs/gst/base/gstflowcombiner.h" line="67"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="combiner" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstflowcombiner.c"
+ line="340">the #GstFlowCombiner</doc>
+ <type name="FlowCombiner" c:type="GstFlowCombiner*"/>
+ </instance-parameter>
+ <parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstflowcombiner.c"
+ line="341">the #GstPad to remove</doc>
+ <type name="Gst.Pad" c:type="GstPad*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="reset"
+ c:identifier="gst_flow_combiner_reset"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstflowcombiner.c"
+ line="190">Reset flow combiner and all pads to their initial state without removing pads.</doc>
+ <source-position filename="libs/gst/base/gstflowcombiner.h" line="73"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="combiner" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstflowcombiner.c"
+ line="192">the #GstFlowCombiner to clear</doc>
+ <type name="FlowCombiner" c:type="GstFlowCombiner*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="unref"
+ c:identifier="gst_flow_combiner_unref"
+ version="1.12.1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstflowcombiner.c"
+ line="144">Decrements the reference count on the #GstFlowCombiner.</doc>
+ <source-position filename="libs/gst/base/gstflowcombiner.h" line="52"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="combiner" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstflowcombiner.c"
+ line="146">the #GstFlowCombiner to unreference.</doc>
+ <type name="FlowCombiner" c:type="GstFlowCombiner*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="update_flow"
+ c:identifier="gst_flow_combiner_update_flow"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstflowcombiner.c"
+ line="253">Computes the combined flow return for the pads in it.
+
+The #GstFlowReturn parameter should be the last flow return update for a pad
+in this #GstFlowCombiner. It will use this value to be able to shortcut some
+combinations and avoid looking over all pads again. e.g. The last combined
+return is the same as the latest obtained #GstFlowReturn.</doc>
+ <source-position filename="libs/gst/base/gstflowcombiner.h" line="58"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstflowcombiner.c"
+ line="265">The combined #GstFlowReturn</doc>
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="combiner" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstflowcombiner.c"
+ line="255">the #GstFlowCombiner</doc>
+ <type name="FlowCombiner" c:type="GstFlowCombiner*"/>
+ </instance-parameter>
+ <parameter name="fret" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstflowcombiner.c"
+ line="256">the latest #GstFlowReturn received for a pad in this #GstFlowCombiner</doc>
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="update_pad_flow"
+ c:identifier="gst_flow_combiner_update_pad_flow"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstflowcombiner.c"
+ line="292">Sets the provided pad's last flow return to provided value and computes
+the combined flow return for the pads in it.
+
+The #GstFlowReturn parameter should be the last flow return update for a pad
+in this #GstFlowCombiner. It will use this value to be able to shortcut some
+combinations and avoid looking over all pads again. e.g. The last combined
+return is the same as the latest obtained #GstFlowReturn.</doc>
+ <source-position filename="libs/gst/base/gstflowcombiner.h" line="61"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstflowcombiner.c"
+ line="306">The combined #GstFlowReturn</doc>
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="combiner" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstflowcombiner.c"
+ line="294">the #GstFlowCombiner</doc>
+ <type name="FlowCombiner" c:type="GstFlowCombiner*"/>
+ </instance-parameter>
+ <parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstflowcombiner.c"
+ line="295">the #GstPad whose #GstFlowReturn to update</doc>
+ <type name="Gst.Pad" c:type="GstPad*"/>
+ </parameter>
+ <parameter name="fret" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstflowcombiner.c"
+ line="296">the latest #GstFlowReturn received for a pad in this #GstFlowCombiner</doc>
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </parameter>
+ </parameters>
+ </method>
+ </record>
+ <function-macro name="IS_ADAPTER"
+ c:identifier="GST_IS_ADAPTER"
+ introspectable="0">
+ <source-position filename="libs/gst/base/gstadapter.h" line="37"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_ADAPTER_CLASS"
+ c:identifier="GST_IS_ADAPTER_CLASS"
+ introspectable="0">
+ <source-position filename="libs/gst/base/gstadapter.h" line="39"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_AGGREGATOR"
+ c:identifier="GST_IS_AGGREGATOR"
+ introspectable="0">
+ <source-position filename="libs/gst/base/gstaggregator.h" line="133"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_AGGREGATOR_CLASS"
+ c:identifier="GST_IS_AGGREGATOR_CLASS"
+ introspectable="0">
+ <source-position filename="libs/gst/base/gstaggregator.h" line="134"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_AGGREGATOR_PAD"
+ c:identifier="GST_IS_AGGREGATOR_PAD"
+ introspectable="0">
+ <source-position filename="libs/gst/base/gstaggregator.h" line="46"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_AGGREGATOR_PAD_CLASS"
+ c:identifier="GST_IS_AGGREGATOR_PAD_CLASS"
+ introspectable="0">
+ <source-position filename="libs/gst/base/gstaggregator.h" line="47"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_BASE_PARSE"
+ c:identifier="GST_IS_BASE_PARSE"
+ introspectable="0">
+ <source-position filename="libs/gst/base/gstbaseparse.h" line="34"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_BASE_PARSE_CLASS"
+ c:identifier="GST_IS_BASE_PARSE_CLASS"
+ introspectable="0">
+ <source-position filename="libs/gst/base/gstbaseparse.h" line="35"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_BASE_SINK"
+ c:identifier="GST_IS_BASE_SINK"
+ introspectable="0">
+ <source-position filename="libs/gst/base/gstbasesink.h" line="36"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_BASE_SINK_CLASS"
+ c:identifier="GST_IS_BASE_SINK_CLASS"
+ introspectable="0">
+ <source-position filename="libs/gst/base/gstbasesink.h" line="37"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_BASE_SRC"
+ c:identifier="GST_IS_BASE_SRC"
+ introspectable="0">
+ <source-position filename="libs/gst/base/gstbasesrc.h" line="36"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_BASE_SRC_CLASS"
+ c:identifier="GST_IS_BASE_SRC_CLASS"
+ introspectable="0">
+ <source-position filename="libs/gst/base/gstbasesrc.h" line="37"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_BASE_TRANSFORM"
+ c:identifier="GST_IS_BASE_TRANSFORM"
+ introspectable="0">
+ <source-position filename="libs/gst/base/gstbasetransform.h" line="33"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_BASE_TRANSFORM_CLASS"
+ c:identifier="GST_IS_BASE_TRANSFORM_CLASS"
+ introspectable="0">
+ <source-position filename="libs/gst/base/gstbasetransform.h" line="34"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_COLLECT_PADS"
+ c:identifier="GST_IS_COLLECT_PADS"
+ introspectable="0">
+ <source-position filename="libs/gst/base/gstcollectpads.h" line="35"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_COLLECT_PADS_CLASS"
+ c:identifier="GST_IS_COLLECT_PADS_CLASS"
+ introspectable="0">
+ <source-position filename="libs/gst/base/gstcollectpads.h" line="36"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_DATA_QUEUE"
+ c:identifier="GST_IS_DATA_QUEUE"
+ introspectable="0">
+ <source-position filename="libs/gst/base/gstdataqueue.h" line="35"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_DATA_QUEUE_CLASS"
+ c:identifier="GST_IS_DATA_QUEUE_CLASS"
+ introspectable="0">
+ <source-position filename="libs/gst/base/gstdataqueue.h" line="37"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_PUSH_SRC"
+ c:identifier="GST_IS_PUSH_SRC"
+ introspectable="0">
+ <source-position filename="libs/gst/base/gstpushsrc.h" line="36"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_PUSH_SRC_CLASS"
+ c:identifier="GST_IS_PUSH_SRC_CLASS"
+ introspectable="0">
+ <source-position filename="libs/gst/base/gstpushsrc.h" line="37"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="PUSH_SRC"
+ c:identifier="GST_PUSH_SRC"
+ introspectable="0">
+ <source-position filename="libs/gst/base/gstpushsrc.h" line="33"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="PUSH_SRC_CLASS"
+ c:identifier="GST_PUSH_SRC_CLASS"
+ introspectable="0">
+ <source-position filename="libs/gst/base/gstpushsrc.h" line="34"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="PUSH_SRC_GET_CLASS"
+ c:identifier="GST_PUSH_SRC_GET_CLASS"
+ introspectable="0">
+ <source-position filename="libs/gst/base/gstpushsrc.h" line="35"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <class name="PushSrc"
+ c:symbol-prefix="push_src"
+ c:type="GstPushSrc"
+ parent="BaseSrc"
+ glib:type-name="GstPushSrc"
+ glib:get-type="gst_push_src_get_type"
+ glib:type-struct="PushSrcClass">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstpushsrc.c"
+ line="23">This class is mostly useful for elements that cannot do
+random access, or at least very slowly. The source usually
+prefers to push out a fixed size buffer.
+
+Subclasses usually operate in a format that is different from the
+default GST_FORMAT_BYTES format of #GstBaseSrc.
+
+Classes extending this base class will usually be scheduled
+in a push based mode. If the peer accepts to operate without
+offsets and within the limits of the allowed block size, this
+class can operate in getrange based mode automatically. To make
+this possible, the subclass should implement and override the
+SCHEDULING query.
+
+The subclass should extend the methods from the baseclass in
+addition to the ::create method.
+
+Seeking, flushing, scheduling and sync is all handled by this
+base class.</doc>
+ <source-position filename="libs/gst/base/gstpushsrc.h" line="83"/>
+ <virtual-method name="alloc">
+ <source-position filename="libs/gst/base/gstpushsrc.h" line="77"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="src" transfer-ownership="none">
+ <type name="PushSrc" c:type="GstPushSrc*"/>
+ </instance-parameter>
+ <parameter name="buf" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer**"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="create">
+ <source-position filename="libs/gst/base/gstpushsrc.h" line="75"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="src" transfer-ownership="none">
+ <type name="PushSrc" c:type="GstPushSrc*"/>
+ </instance-parameter>
+ <parameter name="buf" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer**"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="fill">
+ <source-position filename="libs/gst/base/gstpushsrc.h" line="79"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="src" transfer-ownership="none">
+ <type name="PushSrc" c:type="GstPushSrc*"/>
+ </instance-parameter>
+ <parameter name="buf" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <field name="parent">
+ <type name="BaseSrc" c:type="GstBaseSrc"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="PushSrcClass"
+ c:type="GstPushSrcClass"
+ glib:is-gtype-struct-for="PushSrc">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstpushsrc.h"
+ line="54">Subclasses can override any of the available virtual methods or not, as
+needed. At the minimum, the @fill method should be overridden to produce
+buffers.</doc>
+ <source-position filename="libs/gst/base/gstpushsrc.h" line="83"/>
+ <field name="parent_class">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstpushsrc.h"
+ line="56">Element parent class</doc>
+ <type name="BaseSrcClass" c:type="GstBaseSrcClass"/>
+ </field>
+ <field name="create">
+ <callback name="create">
+ <source-position filename="libs/gst/base/gstpushsrc.h" line="75"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <type name="PushSrc" c:type="GstPushSrc*"/>
+ </parameter>
+ <parameter name="buf" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer**"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="alloc">
+ <callback name="alloc">
+ <source-position filename="libs/gst/base/gstpushsrc.h" line="77"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <type name="PushSrc" c:type="GstPushSrc*"/>
+ </parameter>
+ <parameter name="buf" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer**"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="fill">
+ <callback name="fill">
+ <source-position filename="libs/gst/base/gstpushsrc.h" line="79"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <type name="PushSrc" c:type="GstPushSrc*"/>
+ </parameter>
+ <parameter name="buf" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="QueueArray"
+ c:type="GstQueueArray"
+ disguised="1"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstqueuearray.c"
+ line="23">#GstQueueArray is an object that provides standard queue functionality
+based on an array instead of linked lists. This reduces the overhead
+caused by memory management by a large factor.</doc>
+ <source-position filename="libs/gst/base/gstqueuearray.h" line="34"/>
+ <method name="clear"
+ c:identifier="gst_queue_array_clear"
+ version="1.16"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstqueuearray.c"
+ line="163">Clears queue @array and frees all memory associated to it.</doc>
+ <source-position filename="libs/gst/base/gstqueuearray.h" line="47"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="array" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstqueuearray.c"
+ line="165">a #GstQueueArray object</doc>
+ <type name="QueueArray" c:type="GstQueueArray*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="drop_element"
+ c:identifier="gst_queue_array_drop_element"
+ version="1.2"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstqueuearray.c"
+ line="687">Drops the queue element at position @idx from queue @array.</doc>
+ <source-position filename="libs/gst/base/gstqueuearray.h" line="71"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstqueuearray.c"
+ line="694">the dropped element</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="array" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstqueuearray.c"
+ line="689">a #GstQueueArray object</doc>
+ <type name="QueueArray" c:type="GstQueueArray*"/>
+ </instance-parameter>
+ <parameter name="idx" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstqueuearray.c"
+ line="690">index to drop</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="drop_struct"
+ c:identifier="gst_queue_array_drop_struct"
+ version="1.6"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstqueuearray.c"
+ line="569">Drops the queue element at position @idx from queue @array and copies the
+data of the element or structure that was removed into @p_struct if
+@p_struct is set (not NULL).</doc>
+ <source-position filename="libs/gst/base/gstqueuearray.h" line="98"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstqueuearray.c"
+ line="579">TRUE on success, or FALSE on error</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="array" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstqueuearray.c"
+ line="571">a #GstQueueArray object</doc>
+ <type name="QueueArray" c:type="GstQueueArray*"/>
+ </instance-parameter>
+ <parameter name="idx" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstqueuearray.c"
+ line="572">index to drop</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="p_struct"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstqueuearray.c"
+ line="573">address into which to store the data of the dropped structure, or NULL</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="find"
+ c:identifier="gst_queue_array_find"
+ version="1.2"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstqueuearray.c"
+ line="709">Finds an element in the queue @array, either by comparing every element
+with @func or by looking up @data if no compare function @func is provided,
+and returning the index of the found element.</doc>
+ <source-position filename="libs/gst/base/gstqueuearray.h" line="74"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstqueuearray.c"
+ line="719">Index of the found element or -1 if nothing was found.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="array" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstqueuearray.c"
+ line="711">a #GstQueueArray object</doc>
+ <type name="QueueArray" c:type="GstQueueArray*"/>
+ </instance-parameter>
+ <parameter name="func"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1"
+ closure="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstqueuearray.c"
+ line="712">comparison function, or %NULL to find @data by value</doc>
+ <type name="GLib.CompareFunc" c:type="GCompareFunc"/>
+ </parameter>
+ <parameter name="data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstqueuearray.c"
+ line="713">data for comparison function</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="free"
+ c:identifier="gst_queue_array_free"
+ version="1.2"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstqueuearray.c"
+ line="105">Frees queue @array and all memory associated to it.</doc>
+ <source-position filename="libs/gst/base/gstqueuearray.h" line="40"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="array" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstqueuearray.c"
+ line="107">a #GstQueueArray object</doc>
+ <type name="QueueArray" c:type="GstQueueArray*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_length"
+ c:identifier="gst_queue_array_get_length"
+ version="1.2"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstqueuearray.c"
+ line="757">Returns the length of the queue @array</doc>
+ <source-position filename="libs/gst/base/gstqueuearray.h" line="78"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstqueuearray.c"
+ line="763">the length of the queue @array.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="array" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstqueuearray.c"
+ line="759">a #GstQueueArray object</doc>
+ <type name="QueueArray" c:type="GstQueueArray*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="is_empty"
+ c:identifier="gst_queue_array_is_empty"
+ version="1.2"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstqueuearray.c"
+ line="551">Checks if the queue @array is empty.</doc>
+ <source-position filename="libs/gst/base/gstqueuearray.h" line="68"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstqueuearray.c"
+ line="557">%TRUE if the queue @array is empty</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="array" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstqueuearray.c"
+ line="553">a #GstQueueArray object</doc>
+ <type name="QueueArray" c:type="GstQueueArray*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="peek_head"
+ c:identifier="gst_queue_array_peek_head"
+ version="1.2"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstqueuearray.c"
+ line="270">Returns the head of the queue @array and does not
+remove it from the queue.</doc>
+ <source-position filename="libs/gst/base/gstqueuearray.h" line="53"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstqueuearray.c"
+ line="277">The head of the queue</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="array" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstqueuearray.c"
+ line="272">a #GstQueueArray object</doc>
+ <type name="QueueArray" c:type="GstQueueArray*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="peek_head_struct"
+ c:identifier="gst_queue_array_peek_head_struct"
+ version="1.6"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstqueuearray.c"
+ line="247">Returns the head of the queue @array without removing it from the queue.</doc>
+ <source-position filename="libs/gst/base/gstqueuearray.h" line="92"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstqueuearray.c"
+ line="253">pointer to element or struct, or NULL if @array was empty. The
+ data pointed to by the returned pointer stays valid only as long as
+ the queue array is not modified further!</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="array" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstqueuearray.c"
+ line="249">a #GstQueueArray object</doc>
+ <type name="QueueArray" c:type="GstQueueArray*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="peek_nth"
+ c:identifier="gst_queue_array_peek_nth"
+ version="1.16"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstqueuearray.c"
+ line="292">Returns the item at @idx in @array, but does not remove it from the queue.</doc>
+ <source-position filename="libs/gst/base/gstqueuearray.h" line="56"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstqueuearray.c"
+ line="297">The item, or %NULL if @idx was out of bounds</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="array" transfer-ownership="none">
+ <type name="QueueArray" c:type="GstQueueArray*"/>
+ </instance-parameter>
+ <parameter name="idx" transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="peek_nth_struct"
+ c:identifier="gst_queue_array_peek_nth_struct"
+ version="1.16"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstqueuearray.c"
+ line="312">Returns the item at @idx in @array, but does not remove it from the queue.</doc>
+ <source-position filename="libs/gst/base/gstqueuearray.h" line="95"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstqueuearray.c"
+ line="317">The item, or %NULL if @idx was out of bounds</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="array" transfer-ownership="none">
+ <type name="QueueArray" c:type="GstQueueArray*"/>
+ </instance-parameter>
+ <parameter name="idx" transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="peek_tail"
+ c:identifier="gst_queue_array_peek_tail"
+ version="1.14"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstqueuearray.c"
+ line="425">Returns the tail of the queue @array, but does not remove it from the queue.</doc>
+ <source-position filename="libs/gst/base/gstqueuearray.h" line="62"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstqueuearray.c"
+ line="431">The tail of the queue</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="array" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstqueuearray.c"
+ line="427">a #GstQueueArray object</doc>
+ <type name="QueueArray" c:type="GstQueueArray*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="peek_tail_struct"
+ c:identifier="gst_queue_array_peek_tail_struct"
+ version="1.14"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstqueuearray.c"
+ line="453">Returns the tail of the queue @array, but does not remove it from the queue.</doc>
+ <source-position filename="libs/gst/base/gstqueuearray.h" line="105"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstqueuearray.c"
+ line="459">The tail of the queue</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="array" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstqueuearray.c"
+ line="455">a #GstQueueArray object</doc>
+ <type name="QueueArray" c:type="GstQueueArray*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="pop_head"
+ c:identifier="gst_queue_array_pop_head"
+ version="1.2"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstqueuearray.c"
+ line="219">Returns and head of the queue @array and removes
+it from the queue.</doc>
+ <source-position filename="libs/gst/base/gstqueuearray.h" line="50"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstqueuearray.c"
+ line="226">The head of the queue</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="array" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstqueuearray.c"
+ line="221">a #GstQueueArray object</doc>
+ <type name="QueueArray" c:type="GstQueueArray*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="pop_head_struct"
+ c:identifier="gst_queue_array_pop_head_struct"
+ version="1.6"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstqueuearray.c"
+ line="189">Returns the head of the queue @array and removes it from the queue.</doc>
+ <source-position filename="libs/gst/base/gstqueuearray.h" line="89"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstqueuearray.c"
+ line="195">pointer to element or struct, or NULL if @array was empty. The
+ data pointed to by the returned pointer stays valid only as long as
+ the queue array is not modified further!</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="array" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstqueuearray.c"
+ line="191">a #GstQueueArray object</doc>
+ <type name="QueueArray" c:type="GstQueueArray*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="pop_tail"
+ c:identifier="gst_queue_array_pop_tail"
+ version="1.14"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstqueuearray.c"
+ line="481">Returns the tail of the queue @array and removes
+it from the queue.</doc>
+ <source-position filename="libs/gst/base/gstqueuearray.h" line="59"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstqueuearray.c"
+ line="488">The tail of the queue</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="array" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstqueuearray.c"
+ line="483">a #GstQueueArray object</doc>
+ <type name="QueueArray" c:type="GstQueueArray*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="pop_tail_struct"
+ c:identifier="gst_queue_array_pop_tail_struct"
+ version="1.14"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstqueuearray.c"
+ line="516">Returns the tail of the queue @array and removes
+it from the queue.</doc>
+ <source-position filename="libs/gst/base/gstqueuearray.h" line="102"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstqueuearray.c"
+ line="523">The tail of the queue</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="array" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstqueuearray.c"
+ line="518">a #GstQueueArray object</doc>
+ <type name="QueueArray" c:type="GstQueueArray*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="push_tail"
+ c:identifier="gst_queue_array_push_tail"
+ version="1.2"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstqueuearray.c"
+ line="401">Pushes @data to the tail of the queue @array.</doc>
+ <source-position filename="libs/gst/base/gstqueuearray.h" line="65"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="array" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstqueuearray.c"
+ line="403">a #GstQueueArray object</doc>
+ <type name="QueueArray" c:type="GstQueueArray*"/>
+ </instance-parameter>
+ <parameter name="data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstqueuearray.c"
+ line="404">object to push</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="push_tail_struct"
+ c:identifier="gst_queue_array_push_tail_struct">
+ <source-position filename="libs/gst/base/gstqueuearray.h" line="86"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="array" transfer-ownership="none">
+ <type name="QueueArray" c:type="GstQueueArray*"/>
+ </instance-parameter>
+ <parameter name="p_struct"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_clear_func"
+ c:identifier="gst_queue_array_set_clear_func"
+ version="1.16"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstqueuearray.c"
+ line="122">Sets a function to clear an element of @array.
+
+The @clear_func will be called when an element in the array
+data segment is removed and when the array is freed and data
+segment is deallocated as well. @clear_func will be passed a
+pointer to the element to clear, rather than the element itself.
+
+Note that in contrast with other uses of #GDestroyNotify
+functions, @clear_func is expected to clear the contents of
+the array element it is given, but not free the element itself.</doc>
+ <source-position filename="libs/gst/base/gstqueuearray.h" line="43"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="array" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstqueuearray.c"
+ line="124">a #GstQueueArray object</doc>
+ <type name="QueueArray" c:type="GstQueueArray*"/>
+ </instance-parameter>
+ <parameter name="clear_func" transfer-ownership="none" scope="async">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstqueuearray.c"
+ line="125">a function to clear an element of @array</doc>
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </parameter>
+ </parameters>
+ </method>
+ <function name="new"
+ c:identifier="gst_queue_array_new"
+ version="1.2"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstqueuearray.c"
+ line="84">Allocates a new #GstQueueArray object with an initial
+queue size of @initial_size.</doc>
+ <source-position filename="libs/gst/base/gstqueuearray.h" line="37"/>
+ <return-value>
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstqueuearray.c"
+ line="91">a new #GstQueueArray object</doc>
+ <type name="QueueArray" c:type="GstQueueArray*"/>
+ </return-value>
+ <parameters>
+ <parameter name="initial_size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstqueuearray.c"
+ line="86">Initial size of the new queue</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="new_for_struct"
+ c:identifier="gst_queue_array_new_for_struct"
+ version="1.6"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstqueuearray.c"
+ line="53">Allocates a new #GstQueueArray object for elements (e.g. structures)
+of size @struct_size, with an initial queue size of @initial_size.</doc>
+ <source-position filename="libs/gst/base/gstqueuearray.h" line="83"/>
+ <return-value>
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstqueuearray.c"
+ line="61">a new #GstQueueArray object</doc>
+ <type name="QueueArray" c:type="GstQueueArray*"/>
+ </return-value>
+ <parameters>
+ <parameter name="struct_size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstqueuearray.c"
+ line="55">Size of each element (e.g. structure) in the array</doc>
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ <parameter name="initial_size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstqueuearray.c"
+ line="56">Initial size of the new queue</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ </record>
+ <callback name="TypeFindHelperGetRangeFunction"
+ c:type="GstTypeFindHelperGetRangeFunction">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gsttypefindhelper.h"
+ line="63">This function will be called by gst_type_find_helper_get_range() when
+typefinding functions request to peek at the data of a stream at certain
+offsets. If this function returns GST_FLOW_OK, the result buffer will be
+stored in @buffer. The contents of @buffer is invalid for any other
+return value.
+
+This function is supposed to behave exactly like a #GstPadGetRangeFunction.</doc>
+ <source-position filename="libs/gst/base/gsttypefindhelper.h" line="81"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gsttypefindhelper.h"
+ line="79">GST_FLOW_OK for success</doc>
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="obj" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gsttypefindhelper.h"
+ line="65">a #GstObject that will handle the getrange request</doc>
+ <type name="Gst.Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="parent"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gsttypefindhelper.h"
+ line="66">the parent of @obj or %NULL</doc>
+ <type name="Gst.Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="offset" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gsttypefindhelper.h"
+ line="67">the offset of the range</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ <parameter name="length" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gsttypefindhelper.h"
+ line="68">the length of the range</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="buffer"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gsttypefindhelper.h"
+ line="69">a memory location to hold the result buffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer**"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <function name="bit_reader_new"
+ c:identifier="gst_bit_reader_new"
+ moved-to="BitReader.new"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitreader.c"
+ line="51">Create a new #GstBitReader instance, which will read from @data.
+
+Free-function: gst_bit_reader_free</doc>
+ <source-position filename="libs/gst/base/gstbitreader.h" line="55"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitreader.c"
+ line="61">a new #GstBitReader instance</doc>
+ <type name="BitReader" c:type="GstBitReader*"/>
+ </return-value>
+ <parameters>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitreader.c"
+ line="53">Data from which the #GstBitReader
+ should read</doc>
+ <array length="1" zero-terminated="0" c:type="const guint8*">
+ <type name="guint8" c:type="guint8"/>
+ </array>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitreader.c"
+ line="55">Size of @data in bytes</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="bit_writer_new"
+ c:identifier="gst_bit_writer_new"
+ moved-to="BitWriter.new"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitwriter.c"
+ line="40">Creates a new, empty #GstBitWriter instance.
+
+Free-function: gst_bit_writer_free</doc>
+ <source-position filename="libs/gst/base/gstbitwriter.h" line="61"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitwriter.c"
+ line="47">a new, empty #GstByteWriter instance</doc>
+ <type name="BitWriter" c:type="GstBitWriter*"/>
+ </return-value>
+ </function>
+ <function name="bit_writer_new_with_data"
+ c:identifier="gst_bit_writer_new_with_data"
+ moved-to="BitWriter.new_with_data"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitwriter.c"
+ line="79">Creates a new #GstBitWriter instance with the given memory area. If
+@initialized is %TRUE it is possible to read @size bits from the
+#GstBitWriter from the beginning.
+
+Free-function: gst_bit_writer_free</doc>
+ <source-position filename="libs/gst/base/gstbitwriter.h" line="67"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitwriter.c"
+ line="91">a new #GstBitWriter instance</doc>
+ <type name="BitWriter" c:type="GstBitWriter*"/>
+ </return-value>
+ <parameters>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitwriter.c"
+ line="81">Memory area for writing</doc>
+ <type name="guint8" c:type="guint8*"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitwriter.c"
+ line="82">Size of @data in bytes</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="initialized" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitwriter.c"
+ line="83">if %TRUE the complete data can be read from the beginning</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="bit_writer_new_with_size"
+ c:identifier="gst_bit_writer_new_with_size"
+ moved-to="BitWriter.new_with_size"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitwriter.c"
+ line="59">Creates a #GstBitWriter instance with the given initial data size.
+
+Free-function: gst_bit_writer_free</doc>
+ <source-position filename="libs/gst/base/gstbitwriter.h" line="64"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitwriter.c"
+ line="68">a new #GstBitWriter instance</doc>
+ <type name="BitWriter" c:type="GstBitWriter*"/>
+ </return-value>
+ <parameters>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitwriter.c"
+ line="61">Initial size of data in bytes</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ <parameter name="fixed" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbitwriter.c"
+ line="62">If %TRUE the data can't be reallocated</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function-macro name="byte_reader_dup_string"
+ c:identifier="gst_byte_reader_dup_string"
+ introspectable="0">
+ <source-position filename="libs/gst/base/gstbytereader.h" line="224"/>
+ <parameters>
+ <parameter name="reader">
+ </parameter>
+ <parameter name="str">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="byte_reader_get_string"
+ c:identifier="gst_byte_reader_get_string"
+ introspectable="0">
+ <source-position filename="libs/gst/base/gstbytereader.h" line="248"/>
+ <parameters>
+ <parameter name="reader">
+ </parameter>
+ <parameter name="str">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function name="byte_reader_new"
+ c:identifier="gst_byte_reader_new"
+ moved-to="ByteReader.new"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="86">Create a new #GstByteReader instance, which will read from @data.
+
+Free-function: gst_byte_reader_free</doc>
+ <source-position filename="libs/gst/base/gstbytereader.h" line="52"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="96">a new #GstByteReader instance</doc>
+ <type name="ByteReader" c:type="GstByteReader*"/>
+ </return-value>
+ <parameters>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="88">data from which the
+ #GstByteReader should read</doc>
+ <array length="1" zero-terminated="0" c:type="const guint8*">
+ <type name="guint8" c:type="guint8"/>
+ </array>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="90">Size of @data in bytes</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function-macro name="byte_reader_peek_string"
+ c:identifier="gst_byte_reader_peek_string"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="1125">Returns a constant pointer to the current data position if there is
+a NUL-terminated string in the data (this could be just a NUL terminator).
+The current position will be maintained. This will work for any
+NUL-terminated string with a character width of 8 bits, so ASCII,
+UTF-8, ISO-8859-N etc.
+
+This function will fail if no NUL-terminator was found in in the data.</doc>
+ <source-position filename="libs/gst/base/gstbytereader.h" line="251"/>
+ <parameters>
+ <parameter name="reader">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="1127">a #GstByteReader instance</doc>
+ </parameter>
+ <parameter name="str">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="1128">address of a
+ #gchar pointer variable in which to store the result</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="byte_reader_skip_string"
+ c:identifier="gst_byte_reader_skip_string"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="1067">Skips a NUL-terminated string in the #GstByteReader instance, advancing
+the current position to the byte after the string. This will work for
+any NUL-terminated string with a character width of 8 bits, so ASCII,
+UTF-8, ISO-8859-N etc.
+
+This function will fail if no NUL-terminator was found in in the data.</doc>
+ <source-position filename="libs/gst/base/gstbytereader.h" line="236"/>
+ <parameters>
+ <parameter name="reader">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytereader.c"
+ line="1069">a #GstByteReader instance</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function name="byte_writer_new"
+ c:identifier="gst_byte_writer_new"
+ moved-to="ByteWriter.new"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="67">Creates a new, empty #GstByteWriter instance
+
+Free-function: gst_byte_writer_free</doc>
+ <source-position filename="libs/gst/base/gstbytewriter.h" line="55"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="74">a new, empty #GstByteWriter instance</doc>
+ <type name="ByteWriter" c:type="GstByteWriter*"/>
+ </return-value>
+ </function>
+ <function name="byte_writer_new_with_data"
+ c:identifier="gst_byte_writer_new_with_data"
+ moved-to="ByteWriter.new_with_data"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="110">Creates a new #GstByteWriter instance with the given
+memory area. If @initialized is %TRUE it is possible to
+read @size bytes from the #GstByteWriter from the beginning.
+
+Free-function: gst_byte_writer_free</doc>
+ <source-position filename="libs/gst/base/gstbytewriter.h" line="61"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="122">a new #GstByteWriter instance</doc>
+ <type name="ByteWriter" c:type="GstByteWriter*"/>
+ </return-value>
+ <parameters>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="112">Memory area for writing</doc>
+ <type name="guint8" c:type="guint8*"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="113">Size of @data in bytes</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="initialized" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="114">If %TRUE the complete data can be read from the beginning</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="byte_writer_new_with_size"
+ c:identifier="gst_byte_writer_new_with_size"
+ moved-to="ByteWriter.new_with_size"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="85">Creates a new #GstByteWriter instance with the given
+initial data size.
+
+Free-function: gst_byte_writer_free</doc>
+ <source-position filename="libs/gst/base/gstbytewriter.h" line="58"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="95">a new #GstByteWriter instance</doc>
+ <type name="ByteWriter" c:type="GstByteWriter*"/>
+ </return-value>
+ <parameters>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="87">Initial size of data</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="fixed" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.c"
+ line="88">If %TRUE the data can't be reallocated</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function-macro name="byte_writer_put_string"
+ c:identifier="gst_byte_writer_put_string"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.h"
+ line="218">Write a NUL-terminated string to @writer (including the terminator). The
+string is assumed to be in an 8-bit encoding (e.g. ASCII,UTF-8 or
+ISO-8859-1).</doc>
+ <source-position filename="libs/gst/base/gstbytewriter.h" line="229"/>
+ <parameters>
+ <parameter name="writer">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.h"
+ line="220">#GstByteWriter instance</doc>
+ </parameter>
+ <parameter name="data">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstbytewriter.h"
+ line="221">Null terminated string</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <docsection name="gsttypefindhelper">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gsttypefindhelper.c"
+ line="24">Utility functions for elements doing typefinding:
+gst_type_find_helper() does typefinding in pull mode, while
+gst_type_find_helper_for_buffer() is useful for elements needing to do
+typefinding in push mode from a chain function.</doc>
+ </docsection>
+ <function name="queue_array_new"
+ c:identifier="gst_queue_array_new"
+ moved-to="QueueArray.new"
+ version="1.2"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstqueuearray.c"
+ line="84">Allocates a new #GstQueueArray object with an initial
+queue size of @initial_size.</doc>
+ <source-position filename="libs/gst/base/gstqueuearray.h" line="37"/>
+ <return-value>
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstqueuearray.c"
+ line="91">a new #GstQueueArray object</doc>
+ <type name="QueueArray" c:type="GstQueueArray*"/>
+ </return-value>
+ <parameters>
+ <parameter name="initial_size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstqueuearray.c"
+ line="86">Initial size of the new queue</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="queue_array_new_for_struct"
+ c:identifier="gst_queue_array_new_for_struct"
+ moved-to="QueueArray.new_for_struct"
+ version="1.6"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstqueuearray.c"
+ line="53">Allocates a new #GstQueueArray object for elements (e.g. structures)
+of size @struct_size, with an initial queue size of @initial_size.</doc>
+ <source-position filename="libs/gst/base/gstqueuearray.h" line="83"/>
+ <return-value>
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstqueuearray.c"
+ line="61">a new #GstQueueArray object</doc>
+ <type name="QueueArray" c:type="GstQueueArray*"/>
+ </return-value>
+ <parameters>
+ <parameter name="struct_size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstqueuearray.c"
+ line="55">Size of each element (e.g. structure) in the array</doc>
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ <parameter name="initial_size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gstqueuearray.c"
+ line="56">Initial size of the new queue</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="type_find_helper" c:identifier="gst_type_find_helper">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gsttypefindhelper.c"
+ line="463">Tries to find what type of data is flowing from the given source #GstPad.
+
+Free-function: gst_caps_unref</doc>
+ <source-position filename="libs/gst/base/gsttypefindhelper.h" line="33"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gsttypefindhelper.c"
+ line="472">the #GstCaps corresponding to the data
+ stream. Returns %NULL if no #GstCaps matches the data stream.</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gsttypefindhelper.c"
+ line="465">A source #GstPad</doc>
+ <type name="Gst.Pad" c:type="GstPad*"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gsttypefindhelper.c"
+ line="466">The length in bytes</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="type_find_helper_for_buffer"
+ c:identifier="gst_type_find_helper_for_buffer">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gsttypefindhelper.c"
+ line="684">Tries to find what type of data is contained in the given #GstBuffer, the
+assumption being that the buffer represents the beginning of the stream or
+file.
+
+All available typefinders will be called on the data in order of rank. If
+a typefinding function returns a probability of %GST_TYPE_FIND_MAXIMUM,
+typefinding is stopped immediately and the found caps will be returned
+right away. Otherwise, all available typefind functions will the tried,
+and the caps with the highest probability will be returned, or %NULL if
+the content of the buffer could not be identified.
+
+Free-function: gst_caps_unref</doc>
+ <source-position filename="libs/gst/base/gsttypefindhelper.h" line="49"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gsttypefindhelper.c"
+ line="704">the #GstCaps corresponding to the data,
+ or %NULL if no type could be found. The caller should free the caps
+ returned with gst_caps_unref().</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <parameter name="obj"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gsttypefindhelper.c"
+ line="686">object doing the typefinding, or %NULL (used for logging)</doc>
+ <type name="Gst.Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="buf" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gsttypefindhelper.c"
+ line="687">a #GstBuffer with data to typefind</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="prob"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gsttypefindhelper.c"
+ line="688">location to store the probability of the found
+ caps, or %NULL</doc>
+ <type name="Gst.TypeFindProbability"
+ c:type="GstTypeFindProbability*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="type_find_helper_for_buffer_with_extension"
+ c:identifier="gst_type_find_helper_for_buffer_with_extension"
+ version="1.16">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gsttypefindhelper.c"
+ line="715">Tries to find what type of data is contained in the given #GstBuffer, the
+assumption being that the buffer represents the beginning of the stream or
+file.
+
+All available typefinders will be called on the data in order of rank. If
+a typefinding function returns a probability of %GST_TYPE_FIND_MAXIMUM,
+typefinding is stopped immediately and the found caps will be returned
+right away. Otherwise, all available typefind functions will the tried,
+and the caps with the highest probability will be returned, or %NULL if
+the content of the buffer could not be identified.
+
+When @extension is not %NULL, this function will first try the typefind
+functions for the given extension, which might speed up the typefinding
+in many cases.
+
+Free-function: gst_caps_unref</doc>
+ <source-position filename="libs/gst/base/gsttypefindhelper.h" line="54"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gsttypefindhelper.c"
+ line="740">the #GstCaps corresponding to the data,
+ or %NULL if no type could be found. The caller should free the caps
+ returned with gst_caps_unref().</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <parameter name="obj"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gsttypefindhelper.c"
+ line="717">object doing the typefinding, or %NULL (used for logging)</doc>
+ <type name="Gst.Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="buf" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gsttypefindhelper.c"
+ line="718">a #GstBuffer with data to typefind</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="extension"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gsttypefindhelper.c"
+ line="719">extension of the media, or %NULL</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="prob"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gsttypefindhelper.c"
+ line="720">location to store the probability of the found
+ caps, or %NULL</doc>
+ <type name="Gst.TypeFindProbability"
+ c:type="GstTypeFindProbability*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="type_find_helper_for_data"
+ c:identifier="gst_type_find_helper_for_data">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gsttypefindhelper.c"
+ line="569">Tries to find what type of data is contained in the given @data, the
+assumption being that the data represents the beginning of the stream or
+file.
+
+All available typefinders will be called on the data in order of rank. If
+a typefinding function returns a probability of %GST_TYPE_FIND_MAXIMUM,
+typefinding is stopped immediately and the found caps will be returned
+right away. Otherwise, all available typefind functions will the tried,
+and the caps with the highest probability will be returned, or %NULL if
+the content of @data could not be identified.
+
+Free-function: gst_caps_unref</doc>
+ <source-position filename="libs/gst/base/gsttypefindhelper.h" line="36"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gsttypefindhelper.c"
+ line="590">the #GstCaps corresponding to the data,
+ or %NULL if no type could be found. The caller should free the caps
+ returned with gst_caps_unref().</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <parameter name="obj"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gsttypefindhelper.c"
+ line="571">object doing the typefinding, or %NULL (used for logging)</doc>
+ <type name="Gst.Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gsttypefindhelper.c"
+ line="572">* a pointer with data to typefind</doc>
+ <array length="2" zero-terminated="0" c:type="const guint8*">
+ <type name="guint8" c:type="guint8"/>
+ </array>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gsttypefindhelper.c"
+ line="573">the size of @data</doc>
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ <parameter name="prob"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gsttypefindhelper.c"
+ line="574">location to store the probability of the found
+ caps, or %NULL</doc>
+ <type name="Gst.TypeFindProbability"
+ c:type="GstTypeFindProbability*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="type_find_helper_for_data_with_extension"
+ c:identifier="gst_type_find_helper_for_data_with_extension"
+ version="1.16">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gsttypefindhelper.c"
+ line="602">Tries to find what type of data is contained in the given @data, the
+assumption being that the data represents the beginning of the stream or
+file.
+
+All available typefinders will be called on the data in order of rank. If
+a typefinding function returns a probability of %GST_TYPE_FIND_MAXIMUM,
+typefinding is stopped immediately and the found caps will be returned
+right away. Otherwise, all available typefind functions will the tried,
+and the caps with the highest probability will be returned, or %NULL if
+the content of @data could not be identified.
+
+When @extension is not %NULL, this function will first try the typefind
+functions for the given extension, which might speed up the typefinding
+in many cases.
+
+Free-function: gst_caps_unref</doc>
+ <source-position filename="libs/gst/base/gsttypefindhelper.h" line="42"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gsttypefindhelper.c"
+ line="628">the #GstCaps corresponding to the data,
+ or %NULL if no type could be found. The caller should free the caps
+ returned with gst_caps_unref().</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <parameter name="obj"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gsttypefindhelper.c"
+ line="604">object doing the typefinding, or %NULL (used for logging)</doc>
+ <type name="Gst.Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gsttypefindhelper.c"
+ line="605">* a pointer with data to typefind</doc>
+ <array length="2" zero-terminated="0" c:type="const guint8*">
+ <type name="guint8" c:type="guint8"/>
+ </array>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gsttypefindhelper.c"
+ line="606">the size of @data</doc>
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ <parameter name="extension"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gsttypefindhelper.c"
+ line="607">extension of the media, or %NULL</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="prob"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gsttypefindhelper.c"
+ line="608">location to store the probability of the found
+ caps, or %NULL</doc>
+ <type name="Gst.TypeFindProbability"
+ c:type="GstTypeFindProbability*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="type_find_helper_for_extension"
+ c:identifier="gst_type_find_helper_for_extension">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gsttypefindhelper.c"
+ line="769">Tries to find the best #GstCaps associated with @extension.
+
+All available typefinders will be checked against the extension in order
+of rank. The caps of the first typefinder that can handle @extension will be
+returned.
+
+Free-function: gst_caps_unref</doc>
+ <source-position filename="libs/gst/base/gsttypefindhelper.h" line="60"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gsttypefindhelper.c"
+ line="782">the #GstCaps corresponding to
+ @extension, or %NULL if no type could be found. The caller should free
+ the caps returned with gst_caps_unref().</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <parameter name="obj"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gsttypefindhelper.c"
+ line="771">object doing the typefinding, or %NULL (used for logging)</doc>
+ <type name="Gst.Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="extension" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gsttypefindhelper.c"
+ line="772">an extension</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="type_find_helper_get_range"
+ c:identifier="gst_type_find_helper_get_range">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gsttypefindhelper.c"
+ line="303">Utility function to do pull-based typefinding. Unlike gst_type_find_helper()
+however, this function will use the specified function @func to obtain the
+data needed by the typefind functions, rather than operating on a given
+source pad. This is useful mostly for elements like tag demuxers which
+strip off data at the beginning and/or end of a file and want to typefind
+the stripped data stream before adding their own source pad (the specified
+callback can then call the upstream peer pad with offsets adjusted for the
+tag size, for example).
+
+When @extension is not %NULL, this function will first try the typefind
+functions for the given extension, which might speed up the typefinding
+in many cases.
+
+Free-function: gst_caps_unref</doc>
+ <source-position filename="libs/gst/base/gsttypefindhelper.h" line="87"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gsttypefindhelper.c"
+ line="329">the #GstCaps corresponding to the data
+ stream. Returns %NULL if no #GstCaps matches the data stream.</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <parameter name="obj" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gsttypefindhelper.c"
+ line="305">A #GstObject that will be passed as first argument to @func</doc>
+ <type name="Gst.Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="parent"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gsttypefindhelper.c"
+ line="306">the parent of @obj or %NULL</doc>
+ <type name="Gst.Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="func" transfer-ownership="none" scope="call">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gsttypefindhelper.c"
+ line="307">A generic #GstTypeFindHelperGetRangeFunction that will
+ be used to access data at random offsets when doing the typefinding</doc>
+ <type name="TypeFindHelperGetRangeFunction"
+ c:type="GstTypeFindHelperGetRangeFunction"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gsttypefindhelper.c"
+ line="309">The length in bytes</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ <parameter name="extension"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gsttypefindhelper.c"
+ line="310">extension of the media, or %NULL</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="prob"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gsttypefindhelper.c"
+ line="311">location to store the probability of the found
+ caps, or %NULL</doc>
+ <type name="Gst.TypeFindProbability"
+ c:type="GstTypeFindProbability*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="type_find_helper_get_range_full"
+ c:identifier="gst_type_find_helper_get_range_full"
+ version="1.14.3">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gsttypefindhelper.c"
+ line="345">Utility function to do pull-based typefinding. Unlike gst_type_find_helper()
+however, this function will use the specified function @func to obtain the
+data needed by the typefind functions, rather than operating on a given
+source pad. This is useful mostly for elements like tag demuxers which
+strip off data at the beginning and/or end of a file and want to typefind
+the stripped data stream before adding their own source pad (the specified
+callback can then call the upstream peer pad with offsets adjusted for the
+tag size, for example).
+
+When @extension is not %NULL, this function will first try the typefind
+functions for the given extension, which might speed up the typefinding
+in many cases.</doc>
+ <source-position filename="libs/gst/base/gsttypefindhelper.h" line="95"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gsttypefindhelper.c"
+ line="370">the last %GstFlowReturn from pulling a buffer or %GST_FLOW_OK if
+ typefinding was successful.</doc>
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="obj" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gsttypefindhelper.c"
+ line="347">A #GstObject that will be passed as first argument to @func</doc>
+ <type name="Gst.Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="parent"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gsttypefindhelper.c"
+ line="348">the parent of @obj or %NULL</doc>
+ <type name="Gst.Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="func" transfer-ownership="none" scope="call">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gsttypefindhelper.c"
+ line="349">A generic #GstTypeFindHelperGetRangeFunction that will
+ be used to access data at random offsets when doing the typefinding</doc>
+ <type name="TypeFindHelperGetRangeFunction"
+ c:type="GstTypeFindHelperGetRangeFunction"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gsttypefindhelper.c"
+ line="351">The length in bytes</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ <parameter name="extension"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gsttypefindhelper.c"
+ line="352">extension of the media, or %NULL</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="caps"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gsttypefindhelper.c"
+ line="353">returned caps</doc>
+ <type name="Gst.Caps" c:type="GstCaps**"/>
+ </parameter>
+ <parameter name="prob"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/base/gsttypefindhelper.c"
+ line="354">location to store the probability of the found
+ caps, or %NULL</doc>
+ <type name="Gst.TypeFindProbability"
+ c:type="GstTypeFindProbability*"/>
+ </parameter>
+ </parameters>
+ </function>
+ </namespace>
+</repository>
diff --git a/subprojects/gstreamer-sharp/girs/GstController-1.0.gir b/subprojects/gstreamer-sharp/girs/GstController-1.0.gir
new file mode 100644
index 0000000000..47704d79dd
--- /dev/null
+++ b/subprojects/gstreamer-sharp/girs/GstController-1.0.gir
@@ -0,0 +1,1604 @@
+<?xml version="1.0"?>
+<!-- This file was automatically generated from C sources - DO NOT EDIT!
+To affect the contents of this file, edit the original C definitions,
+and/or use gtk-doc annotations. -->
+<repository version="1.2"
+ xmlns="http://www.gtk.org/introspection/core/1.0"
+ xmlns:c="http://www.gtk.org/introspection/c/1.0"
+ xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
+ <include name="GLib" version="2.0"/>
+ <include name="GModule" version="2.0"/>
+ <include name="GObject" version="2.0"/>
+ <include name="Gst" version="1.0"/>
+ <package name="gstreamer-controller-1.0"/>
+ <c:include name="gst/controller/controller.h"/>
+ <namespace name="GstController"
+ version="1.0"
+ shared-library="libgstcontroller-1.0.so.0"
+ c:identifier-prefixes="Gst"
+ c:symbol-prefixes="gst">
+ <class name="ARGBControlBinding"
+ c:symbol-prefix="argb_control_binding"
+ c:type="GstARGBControlBinding"
+ parent="Gst.ControlBinding"
+ glib:type-name="GstARGBControlBinding"
+ glib:get-type="gst_argb_control_binding_get_type"
+ glib:type-struct="ARGBControlBindingClass">
+ <doc xml:space="preserve"
+ filename="libs/gst/controller/gstargbcontrolbinding.c"
+ line="23">A value mapping object that attaches multiple control sources to a guint
+gobject properties representing a color. A control value of 0.0 will turn the
+color component off and a value of 1.0 will be the color level.</doc>
+ <source-position filename="libs/gst/controller/gstargbcontrolbinding.h"
+ line="87"/>
+ <constructor name="new" c:identifier="gst_argb_control_binding_new">
+ <doc xml:space="preserve"
+ filename="libs/gst/controller/gstargbcontrolbinding.c"
+ line="460">Create a new control-binding that attaches the given #GstControlSource to the
+#GObject property.</doc>
+ <source-position filename="libs/gst/controller/gstargbcontrolbinding.h"
+ line="95"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/controller/gstargbcontrolbinding.c"
+ line="472">the new #GstARGBControlBinding</doc>
+ <type name="Gst.ControlBinding" c:type="GstControlBinding*"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/controller/gstargbcontrolbinding.c"
+ line="462">the object of the property</doc>
+ <type name="Gst.Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="property_name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/controller/gstargbcontrolbinding.c"
+ line="463">the property-name to attach the control source</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="cs_a" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/controller/gstargbcontrolbinding.c"
+ line="464">the control source for the alpha channel</doc>
+ <type name="Gst.ControlSource" c:type="GstControlSource*"/>
+ </parameter>
+ <parameter name="cs_r" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/controller/gstargbcontrolbinding.c"
+ line="465">the control source for the red channel</doc>
+ <type name="Gst.ControlSource" c:type="GstControlSource*"/>
+ </parameter>
+ <parameter name="cs_g" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/controller/gstargbcontrolbinding.c"
+ line="466">the control source for the green channel</doc>
+ <type name="Gst.ControlSource" c:type="GstControlSource*"/>
+ </parameter>
+ <parameter name="cs_b" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/controller/gstargbcontrolbinding.c"
+ line="467">the control source for the blue channel</doc>
+ <type name="Gst.ControlSource" c:type="GstControlSource*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <property name="control-source-a"
+ writable="1"
+ construct="1"
+ transfer-ownership="none">
+ <type name="Gst.ControlSource"/>
+ </property>
+ <property name="control-source-b"
+ writable="1"
+ construct="1"
+ transfer-ownership="none">
+ <type name="Gst.ControlSource"/>
+ </property>
+ <property name="control-source-g"
+ writable="1"
+ construct="1"
+ transfer-ownership="none">
+ <type name="Gst.ControlSource"/>
+ </property>
+ <property name="control-source-r"
+ writable="1"
+ construct="1"
+ transfer-ownership="none">
+ <type name="Gst.ControlSource"/>
+ </property>
+ <field name="parent">
+ <type name="Gst.ControlBinding" c:type="GstControlBinding"/>
+ </field>
+ <field name="cs_a" readable="0" private="1">
+ <type name="Gst.ControlSource" c:type="GstControlSource*"/>
+ </field>
+ <field name="cs_r" readable="0" private="1">
+ <type name="Gst.ControlSource" c:type="GstControlSource*"/>
+ </field>
+ <field name="cs_g" readable="0" private="1">
+ <type name="Gst.ControlSource" c:type="GstControlSource*"/>
+ </field>
+ <field name="cs_b" readable="0" private="1">
+ <type name="Gst.ControlSource" c:type="GstControlSource*"/>
+ </field>
+ <field name="cur_value" readable="0" private="1">
+ <type name="GObject.Value" c:type="GValue"/>
+ </field>
+ <field name="last_value" readable="0" private="1">
+ <type name="guint32" c:type="guint32"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="ARGBControlBindingClass"
+ c:type="GstARGBControlBindingClass"
+ glib:is-gtype-struct-for="ARGBControlBinding">
+ <doc xml:space="preserve"
+ filename="libs/gst/controller/gstargbcontrolbinding.h"
+ line="73">The class structure of #GstARGBControlBinding.</doc>
+ <source-position filename="libs/gst/controller/gstargbcontrolbinding.h"
+ line="87"/>
+ <field name="parent_class">
+ <doc xml:space="preserve"
+ filename="libs/gst/controller/gstargbcontrolbinding.h"
+ line="75">Parent class</doc>
+ <type name="Gst.ControlBindingClass" c:type="GstControlBindingClass"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <function-macro name="ARGB_CONTROL_BINDING"
+ c:identifier="GST_ARGB_CONTROL_BINDING"
+ introspectable="0">
+ <source-position filename="libs/gst/controller/gstargbcontrolbinding.h"
+ line="37"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="ARGB_CONTROL_BINDING_CLASS"
+ c:identifier="GST_ARGB_CONTROL_BINDING_CLASS"
+ introspectable="0">
+ <source-position filename="libs/gst/controller/gstargbcontrolbinding.h"
+ line="39"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="ARGB_CONTROL_BINDING_GET_CLASS"
+ c:identifier="GST_ARGB_CONTROL_BINDING_GET_CLASS"
+ introspectable="0">
+ <source-position filename="libs/gst/controller/gstargbcontrolbinding.h"
+ line="45"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <record name="ControlPoint"
+ c:type="GstControlPoint"
+ glib:type-name="GstControlPoint"
+ glib:get-type="gst_control_point_get_type"
+ c:symbol-prefix="control_point">
+ <doc xml:space="preserve"
+ filename="libs/gst/controller/gsttimedvaluecontrolsource.h"
+ line="52">An internal structure for value+time and various temporary
+values used for interpolation. This "inherits" from
+GstTimedValue.</doc>
+ <source-position filename="libs/gst/controller/gsttimedvaluecontrolsource.h"
+ line="81"/>
+ <field name="timestamp" writable="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/controller/gsttimedvaluecontrolsource.h"
+ line="54">timestamp of the value change</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </field>
+ <field name="value" writable="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/controller/gsttimedvaluecontrolsource.h"
+ line="55">the new value</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </field>
+ <union name="cache" c:type="cache">
+ <source-position filename="libs/gst/controller/gsttimedvaluecontrolsource.h"
+ line="80"/>
+ <record name="cubic" c:type="cubic">
+ <source-position filename="libs/gst/controller/gsttimedvaluecontrolsource.h"
+ line="75"/>
+ <field name="h" writable="1">
+ <type name="gdouble" c:type="gdouble"/>
+ </field>
+ <field name="z" writable="1">
+ <type name="gdouble" c:type="gdouble"/>
+ </field>
+ </record>
+ <record name="cubic_monotonic" c:type="cubic_monotonic">
+ <source-position filename="libs/gst/controller/gsttimedvaluecontrolsource.h"
+ line="78"/>
+ <field name="c1s" writable="1">
+ <type name="gdouble" c:type="gdouble"/>
+ </field>
+ <field name="c2s" writable="1">
+ <type name="gdouble" c:type="gdouble"/>
+ </field>
+ <field name="c3s" writable="1">
+ <type name="gdouble" c:type="gdouble"/>
+ </field>
+ </record>
+ <field name="_gst_reserved" writable="1">
+ <array zero-terminated="0" fixed-size="64">
+ <type name="guint8" c:type="guint8"/>
+ </array>
+ </field>
+ </union>
+ <method name="copy" c:identifier="gst_control_point_copy">
+ <doc xml:space="preserve"
+ filename="libs/gst/controller/gsttimedvaluecontrolsource.c"
+ line="84">Copies a #GstControlPoint</doc>
+ <source-position filename="libs/gst/controller/gsttimedvaluecontrolsource.h"
+ line="154"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/controller/gsttimedvaluecontrolsource.c"
+ line="90">A copy of @cp</doc>
+ <type name="ControlPoint" c:type="GstControlPoint*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="cp" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/controller/gsttimedvaluecontrolsource.c"
+ line="86">The control point to copy</doc>
+ <type name="ControlPoint" c:type="GstControlPoint*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="free" c:identifier="gst_control_point_free">
+ <doc xml:space="preserve"
+ filename="libs/gst/controller/gsttimedvaluecontrolsource.c"
+ line="70">Frees all data allocated by a #GstControlPoint instance.</doc>
+ <source-position filename="libs/gst/controller/gsttimedvaluecontrolsource.h"
+ line="151"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="cp" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/controller/gsttimedvaluecontrolsource.c"
+ line="72">the object to free</doc>
+ <type name="ControlPoint" c:type="GstControlPoint*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ </record>
+ <function-macro name="DIRECT_CONTROL_BINDING"
+ c:identifier="GST_DIRECT_CONTROL_BINDING"
+ introspectable="0">
+ <source-position filename="libs/gst/controller/gstdirectcontrolbinding.h"
+ line="36"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="DIRECT_CONTROL_BINDING_CLASS"
+ c:identifier="GST_DIRECT_CONTROL_BINDING_CLASS"
+ introspectable="0">
+ <source-position filename="libs/gst/controller/gstdirectcontrolbinding.h"
+ line="38"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="DIRECT_CONTROL_BINDING_GET_CLASS"
+ c:identifier="GST_DIRECT_CONTROL_BINDING_GET_CLASS"
+ introspectable="0">
+ <source-position filename="libs/gst/controller/gstdirectcontrolbinding.h"
+ line="44"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <class name="DirectControlBinding"
+ c:symbol-prefix="direct_control_binding"
+ c:type="GstDirectControlBinding"
+ parent="Gst.ControlBinding"
+ glib:type-name="GstDirectControlBinding"
+ glib:get-type="gst_direct_control_binding_get_type"
+ glib:type-struct="DirectControlBindingClass">
+ <doc xml:space="preserve"
+ filename="libs/gst/controller/gstdirectcontrolbinding.c"
+ line="22">A value mapping object that attaches control sources to gobject properties. It
+will map the control values directly to the target property range. If a
+non-absolute direct control binding is used, the value range [0.0 ... 1.0]
+is mapped to full target property range, and all values outside the range
+will be clipped. An absolute control binding will not do any value
+transformations.</doc>
+ <source-position filename="libs/gst/controller/gstdirectcontrolbinding.h"
+ line="111"/>
+ <constructor name="new" c:identifier="gst_direct_control_binding_new">
+ <doc xml:space="preserve"
+ filename="libs/gst/controller/gstdirectcontrolbinding.c"
+ line="512">Create a new control-binding that attaches the #GstControlSource to the
+#GObject property. It will map the control source range [0.0 ... 1.0] to
+the full target property range, and clip all values outside this range.</doc>
+ <source-position filename="libs/gst/controller/gstdirectcontrolbinding.h"
+ line="119"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/controller/gstdirectcontrolbinding.c"
+ line="522">the new #GstDirectControlBinding</doc>
+ <type name="Gst.ControlBinding" c:type="GstControlBinding*"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/controller/gstdirectcontrolbinding.c"
+ line="514">the object of the property</doc>
+ <type name="Gst.Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="property_name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/controller/gstdirectcontrolbinding.c"
+ line="515">the property-name to attach the control source</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="cs" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/controller/gstdirectcontrolbinding.c"
+ line="516">the control source</doc>
+ <type name="Gst.ControlSource" c:type="GstControlSource*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_absolute"
+ c:identifier="gst_direct_control_binding_new_absolute"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="libs/gst/controller/gstdirectcontrolbinding.c"
+ line="532">Create a new control-binding that attaches the #GstControlSource to the
+#GObject property. It will directly map the control source values to the
+target property range without any transformations.</doc>
+ <source-position filename="libs/gst/controller/gstdirectcontrolbinding.h"
+ line="122"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/controller/gstdirectcontrolbinding.c"
+ line="542">the new #GstDirectControlBinding</doc>
+ <type name="Gst.ControlBinding" c:type="GstControlBinding*"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/controller/gstdirectcontrolbinding.c"
+ line="534">the object of the property</doc>
+ <type name="Gst.Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="property_name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/controller/gstdirectcontrolbinding.c"
+ line="535">the property-name to attach the control source</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="cs" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/controller/gstdirectcontrolbinding.c"
+ line="536">the control source</doc>
+ <type name="Gst.ControlSource" c:type="GstControlSource*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <property name="absolute"
+ writable="1"
+ construct-only="1"
+ transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </property>
+ <property name="control-source"
+ writable="1"
+ construct="1"
+ transfer-ownership="none">
+ <type name="Gst.ControlSource"/>
+ </property>
+ <field name="parent">
+ <type name="Gst.ControlBinding" c:type="GstControlBinding"/>
+ </field>
+ <field name="cs" readable="0" private="1">
+ <type name="Gst.ControlSource" c:type="GstControlSource*"/>
+ </field>
+ <field name="cur_value" readable="0" private="1">
+ <type name="GObject.Value" c:type="GValue"/>
+ </field>
+ <field name="last_value" readable="0" private="1">
+ <type name="gdouble" c:type="gdouble"/>
+ </field>
+ <field name="byte_size" readable="0" private="1">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="convert_value" readable="0" private="1">
+ <type name="DirectControlBindingConvertValue"
+ c:type="GstDirectControlBindingConvertValue"/>
+ </field>
+ <field name="convert_g_value" readable="0" private="1">
+ <type name="DirectControlBindingConvertGValue"
+ c:type="GstDirectControlBindingConvertGValue"/>
+ </field>
+ <union name="ABI" c:type="ABI">
+ <source-position filename="libs/gst/controller/gstdirectcontrolbinding.h"
+ line="94"/>
+ <field name="_gst_reserved" writable="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <record name="abi" c:type="abi">
+ <source-position filename="libs/gst/controller/gstdirectcontrolbinding.h"
+ line="93"/>
+ <field name="want_absolute" writable="1">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ </record>
+ </union>
+ </class>
+ <record name="DirectControlBindingClass"
+ c:type="GstDirectControlBindingClass"
+ glib:is-gtype-struct-for="DirectControlBinding">
+ <doc xml:space="preserve"
+ filename="libs/gst/controller/gstdirectcontrolbinding.h"
+ line="97">The class structure of #GstDirectControlBinding.</doc>
+ <source-position filename="libs/gst/controller/gstdirectcontrolbinding.h"
+ line="111"/>
+ <field name="parent_class">
+ <doc xml:space="preserve"
+ filename="libs/gst/controller/gstdirectcontrolbinding.h"
+ line="99">Parent class</doc>
+ <type name="Gst.ControlBindingClass" c:type="GstControlBindingClass"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <callback name="DirectControlBindingConvertGValue"
+ c:type="GstDirectControlBindingConvertGValue">
+ <doc xml:space="preserve"
+ filename="libs/gst/controller/gstdirectcontrolbinding.h"
+ line="61">Function to map a control-value to the target GValue.</doc>
+ <source-position filename="libs/gst/controller/gstdirectcontrolbinding.h"
+ line="69"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/controller/gstdirectcontrolbinding.h"
+ line="63">the #GstDirectControlBinding instance</doc>
+ <type name="DirectControlBinding" c:type="GstDirectControlBinding*"/>
+ </parameter>
+ <parameter name="src_value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/controller/gstdirectcontrolbinding.h"
+ line="64">the value returned by the cotnrol source</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </parameter>
+ <parameter name="dest_value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/controller/gstdirectcontrolbinding.h"
+ line="65">the target GValue</doc>
+ <type name="GObject.Value" c:type="GValue*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <callback name="DirectControlBindingConvertValue"
+ c:type="GstDirectControlBindingConvertValue">
+ <doc xml:space="preserve"
+ filename="libs/gst/controller/gstdirectcontrolbinding.h"
+ line="51">Function to map a control-value to the target plain data type.</doc>
+ <source-position filename="libs/gst/controller/gstdirectcontrolbinding.h"
+ line="59"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/controller/gstdirectcontrolbinding.h"
+ line="53">the #GstDirectControlBinding instance</doc>
+ <type name="DirectControlBinding" c:type="GstDirectControlBinding*"/>
+ </parameter>
+ <parameter name="src_value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/controller/gstdirectcontrolbinding.h"
+ line="54">the value returned by the cotnrol source</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </parameter>
+ <parameter name="dest_value"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/controller/gstdirectcontrolbinding.h"
+ line="55">the target location</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <function-macro name="INTERPOLATION_CONTROL_SOURCE"
+ c:identifier="GST_INTERPOLATION_CONTROL_SOURCE"
+ introspectable="0">
+ <source-position filename="libs/gst/controller/gstinterpolationcontrolsource.h"
+ line="36"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="INTERPOLATION_CONTROL_SOURCE_CLASS"
+ c:identifier="GST_INTERPOLATION_CONTROL_SOURCE_CLASS"
+ introspectable="0">
+ <source-position filename="libs/gst/controller/gstinterpolationcontrolsource.h"
+ line="38"/>
+ <parameters>
+ <parameter name="vtable">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="INTERPOLATION_CONTROL_SOURCE_GET_CLASS"
+ c:identifier="GST_INTERPOLATION_CONTROL_SOURCE_GET_CLASS"
+ introspectable="0">
+ <source-position filename="libs/gst/controller/gstinterpolationcontrolsource.h"
+ line="44"/>
+ <parameters>
+ <parameter name="inst">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_ARGB_CONTROL_BINDING"
+ c:identifier="GST_IS_ARGB_CONTROL_BINDING"
+ introspectable="0">
+ <source-position filename="libs/gst/controller/gstargbcontrolbinding.h"
+ line="41"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_ARGB_CONTROL_BINDING_CLASS"
+ c:identifier="GST_IS_ARGB_CONTROL_BINDING_CLASS"
+ introspectable="0">
+ <source-position filename="libs/gst/controller/gstargbcontrolbinding.h"
+ line="43"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_DIRECT_CONTROL_BINDING"
+ c:identifier="GST_IS_DIRECT_CONTROL_BINDING"
+ introspectable="0">
+ <source-position filename="libs/gst/controller/gstdirectcontrolbinding.h"
+ line="40"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_DIRECT_CONTROL_BINDING_CLASS"
+ c:identifier="GST_IS_DIRECT_CONTROL_BINDING_CLASS"
+ introspectable="0">
+ <source-position filename="libs/gst/controller/gstdirectcontrolbinding.h"
+ line="42"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_INTERPOLATION_CONTROL_SOURCE"
+ c:identifier="GST_IS_INTERPOLATION_CONTROL_SOURCE"
+ introspectable="0">
+ <source-position filename="libs/gst/controller/gstinterpolationcontrolsource.h"
+ line="40"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_INTERPOLATION_CONTROL_SOURCE_CLASS"
+ c:identifier="GST_IS_INTERPOLATION_CONTROL_SOURCE_CLASS"
+ introspectable="0">
+ <source-position filename="libs/gst/controller/gstinterpolationcontrolsource.h"
+ line="42"/>
+ <parameters>
+ <parameter name="vtable">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_LFO_CONTROL_SOURCE"
+ c:identifier="GST_IS_LFO_CONTROL_SOURCE"
+ introspectable="0">
+ <source-position filename="libs/gst/controller/gstlfocontrolsource.h"
+ line="38"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_LFO_CONTROL_SOURCE_CLASS"
+ c:identifier="GST_IS_LFO_CONTROL_SOURCE_CLASS"
+ introspectable="0">
+ <source-position filename="libs/gst/controller/gstlfocontrolsource.h"
+ line="40"/>
+ <parameters>
+ <parameter name="vtable">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_PROXY_CONTROL_BINDING"
+ c:identifier="GST_IS_PROXY_CONTROL_BINDING"
+ introspectable="0">
+ <source-position filename="libs/gst/controller/gstproxycontrolbinding.h"
+ line="34"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_PROXY_CONTROL_BINDING_CLASS"
+ c:identifier="GST_IS_PROXY_CONTROL_BINDING_CLASS"
+ introspectable="0">
+ <source-position filename="libs/gst/controller/gstproxycontrolbinding.h"
+ line="36"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_TIMED_VALUE_CONTROL_SOURCE"
+ c:identifier="GST_IS_TIMED_VALUE_CONTROL_SOURCE"
+ introspectable="0">
+ <source-position filename="libs/gst/controller/gsttimedvaluecontrolsource.h"
+ line="39"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_TIMED_VALUE_CONTROL_SOURCE_CLASS"
+ c:identifier="GST_IS_TIMED_VALUE_CONTROL_SOURCE_CLASS"
+ introspectable="0">
+ <source-position filename="libs/gst/controller/gsttimedvaluecontrolsource.h"
+ line="41"/>
+ <parameters>
+ <parameter name="vtable">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_TRIGGER_CONTROL_SOURCE"
+ c:identifier="GST_IS_TRIGGER_CONTROL_SOURCE"
+ introspectable="0">
+ <source-position filename="libs/gst/controller/gsttriggercontrolsource.h"
+ line="41"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_TRIGGER_CONTROL_SOURCE_CLASS"
+ c:identifier="GST_IS_TRIGGER_CONTROL_SOURCE_CLASS"
+ introspectable="0">
+ <source-position filename="libs/gst/controller/gsttriggercontrolsource.h"
+ line="43"/>
+ <parameters>
+ <parameter name="vtable">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <class name="InterpolationControlSource"
+ c:symbol-prefix="interpolation_control_source"
+ c:type="GstInterpolationControlSource"
+ parent="TimedValueControlSource"
+ glib:type-name="GstInterpolationControlSource"
+ glib:get-type="gst_interpolation_control_source_get_type"
+ glib:type-struct="InterpolationControlSourceClass">
+ <doc xml:space="preserve"
+ filename="libs/gst/controller/gstinterpolationcontrolsource.c"
+ line="24">#GstInterpolationControlSource is a #GstControlSource, that interpolates values between user-given
+control points. It supports several interpolation modes and property types.
+
+To use #GstInterpolationControlSource get a new instance by calling
+gst_interpolation_control_source_new(), bind it to a #GParamSpec and set some
+control points by calling gst_timed_value_control_source_set().
+
+All functions are MT-safe.</doc>
+ <source-position filename="libs/gst/controller/gstinterpolationcontrolsource.h"
+ line="90"/>
+ <constructor name="new"
+ c:identifier="gst_interpolation_control_source_new">
+ <doc xml:space="preserve"
+ filename="libs/gst/controller/gstinterpolationcontrolsource.c"
+ line="641">This returns a new, unbound #GstInterpolationControlSource.</doc>
+ <source-position filename="libs/gst/controller/gstinterpolationcontrolsource.h"
+ line="98"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/controller/gstinterpolationcontrolsource.c"
+ line="646">a new, unbound #GstInterpolationControlSource.</doc>
+ <type name="Gst.ControlSource" c:type="GstControlSource*"/>
+ </return-value>
+ </constructor>
+ <property name="mode" writable="1" transfer-ownership="none">
+ <type name="InterpolationMode"/>
+ </property>
+ <field name="parent">
+ <type name="TimedValueControlSource"
+ c:type="GstTimedValueControlSource"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="InterpolationControlSourcePrivate"
+ c:type="GstInterpolationControlSourcePrivate*"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="InterpolationControlSourceClass"
+ c:type="GstInterpolationControlSourceClass"
+ glib:is-gtype-struct-for="InterpolationControlSource">
+ <source-position filename="libs/gst/controller/gstinterpolationcontrolsource.h"
+ line="90"/>
+ <field name="parent_class">
+ <type name="TimedValueControlSourceClass"
+ c:type="GstTimedValueControlSourceClass"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="InterpolationControlSourcePrivate"
+ c:type="GstInterpolationControlSourcePrivate"
+ disguised="1">
+ <source-position filename="libs/gst/controller/gstinterpolationcontrolsource.h"
+ line="50"/>
+ </record>
+ <enumeration name="InterpolationMode"
+ glib:type-name="GstInterpolationMode"
+ glib:get-type="gst_interpolation_mode_get_type"
+ c:type="GstInterpolationMode">
+ <doc xml:space="preserve"
+ filename="libs/gst/controller/gstinterpolationcontrolsource.h"
+ line="52">The various interpolation modes available.</doc>
+ <member name="none"
+ value="0"
+ c:identifier="GST_INTERPOLATION_MODE_NONE"
+ glib:nick="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/controller/gstinterpolationcontrolsource.h"
+ line="54">steps-like interpolation, default</doc>
+ </member>
+ <member name="linear"
+ value="1"
+ c:identifier="GST_INTERPOLATION_MODE_LINEAR"
+ glib:nick="linear">
+ <doc xml:space="preserve"
+ filename="libs/gst/controller/gstinterpolationcontrolsource.h"
+ line="55">linear interpolation</doc>
+ </member>
+ <member name="cubic"
+ value="2"
+ c:identifier="GST_INTERPOLATION_MODE_CUBIC"
+ glib:nick="cubic">
+ <doc xml:space="preserve"
+ filename="libs/gst/controller/gstinterpolationcontrolsource.h"
+ line="56">cubic interpolation (natural), may overshoot
+ the min or max values set by the control point, but is more 'curvy'</doc>
+ </member>
+ <member name="cubic_monotonic"
+ value="3"
+ c:identifier="GST_INTERPOLATION_MODE_CUBIC_MONOTONIC"
+ glib:nick="cubic-monotonic">
+ <doc xml:space="preserve"
+ filename="libs/gst/controller/gstinterpolationcontrolsource.h"
+ line="58">monotonic cubic interpolation, will not
+ produce any values outside of the min-max range set by the control points
+ (Since: 1.8)</doc>
+ </member>
+ </enumeration>
+ <class name="LFOControlSource"
+ c:symbol-prefix="lfo_control_source"
+ c:type="GstLFOControlSource"
+ parent="Gst.ControlSource"
+ glib:type-name="GstLFOControlSource"
+ glib:get-type="gst_lfo_control_source_get_type"
+ glib:type-struct="LFOControlSourceClass">
+ <doc xml:space="preserve"
+ filename="libs/gst/controller/gstlfocontrolsource.c"
+ line="24">#GstLFOControlSource is a #GstControlSource, that provides several periodic
+waveforms as control values.
+
+To use #GstLFOControlSource get a new instance by calling
+gst_lfo_control_source_new(), bind it to a #GParamSpec and set the relevant
+properties.
+
+All functions are MT-safe.</doc>
+ <source-position filename="libs/gst/controller/gstlfocontrolsource.h"
+ line="88"/>
+ <constructor name="new" c:identifier="gst_lfo_control_source_new">
+ <doc xml:space="preserve"
+ filename="libs/gst/controller/gstlfocontrolsource.c"
+ line="394">This returns a new, unbound #GstLFOControlSource.</doc>
+ <source-position filename="libs/gst/controller/gstlfocontrolsource.h"
+ line="96"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/controller/gstlfocontrolsource.c"
+ line="399">a new, unbound #GstLFOControlSource.</doc>
+ <type name="Gst.ControlSource" c:type="GstControlSource*"/>
+ </return-value>
+ </constructor>
+ <property name="amplitude" writable="1" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/controller/gstlfocontrolsource.c"
+ line="575">Specifies the amplitude for the waveform of this #GstLFOControlSource.</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </property>
+ <property name="frequency" writable="1" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/controller/gstlfocontrolsource.c"
+ line="548">Specifies the frequency that should be used for the waveform
+of this #GstLFOControlSource. It should be large enough
+so that the period is longer than one nanosecond.</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </property>
+ <property name="offset" writable="1" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/controller/gstlfocontrolsource.c"
+ line="585">Specifies the value offset for the waveform of this #GstLFOControlSource.</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </property>
+ <property name="timeshift" writable="1" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/controller/gstlfocontrolsource.c"
+ line="560">Specifies the timeshift to the right that should be used for the waveform
+of this #GstLFOControlSource in nanoseconds.
+
+To get a n nanosecond shift to the left use
+"(GST_SECOND / frequency) - n".</doc>
+ <type name="guint64" c:type="guint64"/>
+ </property>
+ <property name="waveform" writable="1" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/controller/gstlfocontrolsource.c"
+ line="538">Specifies the waveform that should be used for this #GstLFOControlSource.</doc>
+ <type name="LFOWaveform"/>
+ </property>
+ <field name="parent">
+ <type name="Gst.ControlSource" c:type="GstControlSource"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="LFOControlSourcePrivate"
+ c:type="GstLFOControlSourcePrivate*"/>
+ </field>
+ <field name="lock" readable="0" private="1">
+ <type name="GLib.Mutex" c:type="GMutex"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="LFOControlSourceClass"
+ c:type="GstLFOControlSourceClass"
+ glib:is-gtype-struct-for="LFOControlSource">
+ <source-position filename="libs/gst/controller/gstlfocontrolsource.h"
+ line="88"/>
+ <field name="parent_class">
+ <type name="Gst.ControlSourceClass" c:type="GstControlSourceClass"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="LFOControlSourcePrivate"
+ c:type="GstLFOControlSourcePrivate"
+ disguised="1">
+ <source-position filename="libs/gst/controller/gstlfocontrolsource.h"
+ line="48"/>
+ </record>
+ <enumeration name="LFOWaveform"
+ glib:type-name="GstLFOWaveform"
+ glib:get-type="gst_lfo_waveform_get_type"
+ c:type="GstLFOWaveform">
+ <doc xml:space="preserve"
+ filename="libs/gst/controller/gstlfocontrolsource.h"
+ line="50">The various waveform modes available.</doc>
+ <member name="sine"
+ value="0"
+ c:identifier="GST_LFO_WAVEFORM_SINE"
+ glib:nick="sine">
+ <doc xml:space="preserve"
+ filename="libs/gst/controller/gstlfocontrolsource.h"
+ line="52">sine waveform</doc>
+ </member>
+ <member name="square"
+ value="1"
+ c:identifier="GST_LFO_WAVEFORM_SQUARE"
+ glib:nick="square">
+ <doc xml:space="preserve"
+ filename="libs/gst/controller/gstlfocontrolsource.h"
+ line="53">square waveform</doc>
+ </member>
+ <member name="saw"
+ value="2"
+ c:identifier="GST_LFO_WAVEFORM_SAW"
+ glib:nick="saw">
+ <doc xml:space="preserve"
+ filename="libs/gst/controller/gstlfocontrolsource.h"
+ line="54">saw waveform</doc>
+ </member>
+ <member name="reverse_saw"
+ value="3"
+ c:identifier="GST_LFO_WAVEFORM_REVERSE_SAW"
+ glib:nick="reverse-saw">
+ <doc xml:space="preserve"
+ filename="libs/gst/controller/gstlfocontrolsource.h"
+ line="55">reverse saw waveform</doc>
+ </member>
+ <member name="triangle"
+ value="4"
+ c:identifier="GST_LFO_WAVEFORM_TRIANGLE"
+ glib:nick="triangle">
+ <doc xml:space="preserve"
+ filename="libs/gst/controller/gstlfocontrolsource.h"
+ line="56">triangle waveform</doc>
+ </member>
+ </enumeration>
+ <function-macro name="LFO_CONTROL_SOURCE"
+ c:identifier="GST_LFO_CONTROL_SOURCE"
+ introspectable="0">
+ <source-position filename="libs/gst/controller/gstlfocontrolsource.h"
+ line="34"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="LFO_CONTROL_SOURCE_CLASS"
+ c:identifier="GST_LFO_CONTROL_SOURCE_CLASS"
+ introspectable="0">
+ <source-position filename="libs/gst/controller/gstlfocontrolsource.h"
+ line="36"/>
+ <parameters>
+ <parameter name="vtable">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="LFO_CONTROL_SOURCE_GET_CLASS"
+ c:identifier="GST_LFO_CONTROL_SOURCE_GET_CLASS"
+ introspectable="0">
+ <source-position filename="libs/gst/controller/gstlfocontrolsource.h"
+ line="42"/>
+ <parameters>
+ <parameter name="inst">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="PROXY_CONTROL_BINDING"
+ c:identifier="GST_PROXY_CONTROL_BINDING"
+ introspectable="0">
+ <source-position filename="libs/gst/controller/gstproxycontrolbinding.h"
+ line="30"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="PROXY_CONTROL_BINDING_CLASS"
+ c:identifier="GST_PROXY_CONTROL_BINDING_CLASS"
+ introspectable="0">
+ <source-position filename="libs/gst/controller/gstproxycontrolbinding.h"
+ line="32"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="PROXY_CONTROL_BINDING_GET_CLASS"
+ c:identifier="GST_PROXY_CONTROL_BINDING_GET_CLASS"
+ introspectable="0">
+ <source-position filename="libs/gst/controller/gstproxycontrolbinding.h"
+ line="38"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <class name="ProxyControlBinding"
+ c:symbol-prefix="proxy_control_binding"
+ c:type="GstProxyControlBinding"
+ parent="Gst.ControlBinding"
+ glib:type-name="GstProxyControlBinding"
+ glib:get-type="gst_proxy_control_binding_get_type"
+ glib:type-struct="ProxyControlBindingClass">
+ <doc xml:space="preserve"
+ filename="libs/gst/controller/gstproxycontrolbinding.c"
+ line="20">A #GstControlBinding that forwards requests to another #GstControlBinding</doc>
+ <source-position filename="libs/gst/controller/gstproxycontrolbinding.h"
+ line="71"/>
+ <constructor name="new"
+ c:identifier="gst_proxy_control_binding_new"
+ version="1.12">
+ <doc xml:space="preserve"
+ filename="libs/gst/controller/gstproxycontrolbinding.c"
+ line="165">#GstProxyControlBinding forwards all access to data or `sync_values()`
+requests from @property_name on @object to the control binding at
+@ref_property_name on @ref_object.</doc>
+ <source-position filename="libs/gst/controller/gstproxycontrolbinding.h"
+ line="77"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/controller/gstproxycontrolbinding.c"
+ line="177">a new #GstControlBinding that proxies the control interface between
+properties on different #GstObject's</doc>
+ <type name="Gst.ControlBinding" c:type="GstControlBinding*"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/controller/gstproxycontrolbinding.c"
+ line="167">a #GstObject</doc>
+ <type name="Gst.Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="property_name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/controller/gstproxycontrolbinding.c"
+ line="168">the property name in @object to control</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="ref_object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/controller/gstproxycontrolbinding.c"
+ line="169">a #GstObject to forward all
+ #GstControlBinding requests to</doc>
+ <type name="Gst.Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="ref_property_name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/controller/gstproxycontrolbinding.c"
+ line="171">the property_name in @ref_object to control</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <field name="parent" readable="0" private="1">
+ <type name="Gst.ControlBinding" c:type="GstControlBinding"/>
+ </field>
+ <field name="ref_object" readable="0" private="1">
+ <type name="GObject.WeakRef" c:type="GWeakRef"/>
+ </field>
+ <field name="property_name" readable="0" private="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="_padding" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="ProxyControlBindingClass"
+ c:type="GstProxyControlBindingClass"
+ glib:is-gtype-struct-for="ProxyControlBinding">
+ <doc xml:space="preserve"
+ filename="libs/gst/controller/gstproxycontrolbinding.h"
+ line="60">Opaque #GstProxyControlBindingClass struct</doc>
+ <source-position filename="libs/gst/controller/gstproxycontrolbinding.h"
+ line="71"/>
+ <field name="parent_class" readable="0" private="1">
+ <type name="Gst.ControlBindingClass" c:type="GstControlBindingClass"/>
+ </field>
+ <field name="_padding" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <function-macro name="TIMED_VALUE_CONTROL_SOURCE"
+ c:identifier="GST_TIMED_VALUE_CONTROL_SOURCE"
+ introspectable="0">
+ <source-position filename="libs/gst/controller/gsttimedvaluecontrolsource.h"
+ line="35"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="TIMED_VALUE_CONTROL_SOURCE_CLASS"
+ c:identifier="GST_TIMED_VALUE_CONTROL_SOURCE_CLASS"
+ introspectable="0">
+ <source-position filename="libs/gst/controller/gsttimedvaluecontrolsource.h"
+ line="37"/>
+ <parameters>
+ <parameter name="vtable">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="TIMED_VALUE_CONTROL_SOURCE_GET_CLASS"
+ c:identifier="GST_TIMED_VALUE_CONTROL_SOURCE_GET_CLASS"
+ introspectable="0">
+ <source-position filename="libs/gst/controller/gsttimedvaluecontrolsource.h"
+ line="43"/>
+ <parameters>
+ <parameter name="inst">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="TIMED_VALUE_CONTROL_SOURCE_LOCK"
+ c:identifier="GST_TIMED_VALUE_CONTROL_SOURCE_LOCK"
+ introspectable="0">
+ <source-position filename="libs/gst/controller/gsttimedvaluecontrolsource.h"
+ line="112"/>
+ <parameters>
+ <parameter name="o">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="TIMED_VALUE_CONTROL_SOURCE_UNLOCK"
+ c:identifier="GST_TIMED_VALUE_CONTROL_SOURCE_UNLOCK"
+ introspectable="0">
+ <source-position filename="libs/gst/controller/gsttimedvaluecontrolsource.h"
+ line="114"/>
+ <parameters>
+ <parameter name="o">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="TRIGGER_CONTROL_SOURCE"
+ c:identifier="GST_TRIGGER_CONTROL_SOURCE"
+ introspectable="0">
+ <source-position filename="libs/gst/controller/gsttriggercontrolsource.h"
+ line="37"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="TRIGGER_CONTROL_SOURCE_CLASS"
+ c:identifier="GST_TRIGGER_CONTROL_SOURCE_CLASS"
+ introspectable="0">
+ <source-position filename="libs/gst/controller/gsttriggercontrolsource.h"
+ line="39"/>
+ <parameters>
+ <parameter name="vtable">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="TRIGGER_CONTROL_SOURCE_GET_CLASS"
+ c:identifier="GST_TRIGGER_CONTROL_SOURCE_GET_CLASS"
+ introspectable="0">
+ <source-position filename="libs/gst/controller/gsttriggercontrolsource.h"
+ line="45"/>
+ <parameters>
+ <parameter name="inst">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <class name="TimedValueControlSource"
+ c:symbol-prefix="timed_value_control_source"
+ c:type="GstTimedValueControlSource"
+ parent="Gst.ControlSource"
+ abstract="1"
+ glib:type-name="GstTimedValueControlSource"
+ glib:get-type="gst_timed_value_control_source_get_type"
+ glib:type-struct="TimedValueControlSourceClass">
+ <doc xml:space="preserve"
+ filename="libs/gst/controller/gsttimedvaluecontrolsource.c"
+ line="25">Base class for #GstControlSource that use time-stamped values.
+
+When overriding bind, chain up first to give this bind implementation a
+chance to setup things.
+
+All functions are MT-safe.</doc>
+ <source-position filename="libs/gst/controller/gsttimedvaluecontrolsource.h"
+ line="111"/>
+ <method name="find_control_point_iter"
+ c:identifier="gst_timed_value_control_source_find_control_point_iter">
+ <doc xml:space="preserve"
+ filename="libs/gst/controller/gsttimedvaluecontrolsource.c"
+ line="224">Find last value before given timestamp in control point list.
+If all values in the control point list come after the given
+timestamp or no values exist, %NULL is returned.
+
+For use in control source implementations.</doc>
+ <source-position filename="libs/gst/controller/gsttimedvaluecontrolsource.h"
+ line="124"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/controller/gsttimedvaluecontrolsource.c"
+ line="235">the found #GSequenceIter or %NULL</doc>
+ <type name="GLib.SequenceIter" c:type="GSequenceIter*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/controller/gsttimedvaluecontrolsource.c"
+ line="226">the control source to search in</doc>
+ <type name="TimedValueControlSource"
+ c:type="GstTimedValueControlSource*"/>
+ </instance-parameter>
+ <parameter name="timestamp" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/controller/gsttimedvaluecontrolsource.c"
+ line="227">the search key</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_all"
+ c:identifier="gst_timed_value_control_source_get_all">
+ <doc xml:space="preserve"
+ filename="libs/gst/controller/gsttimedvaluecontrolsource.c"
+ line="393">Returns a read-only copy of the list of #GstTimedValue for the given property.
+Free the list after done with it.</doc>
+ <source-position filename="libs/gst/controller/gsttimedvaluecontrolsource.h"
+ line="142"/>
+ <return-value transfer-ownership="container">
+ <doc xml:space="preserve"
+ filename="libs/gst/controller/gsttimedvaluecontrolsource.c"
+ line="400">a copy
+of the list, or %NULL if the property isn't handled by the controller</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="Gst.TimedValue"/>
+ </type>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/controller/gsttimedvaluecontrolsource.c"
+ line="395">the #GstTimedValueControlSource to get the list from</doc>
+ <type name="TimedValueControlSource"
+ c:type="GstTimedValueControlSource*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_count"
+ c:identifier="gst_timed_value_control_source_get_count">
+ <doc xml:space="preserve"
+ filename="libs/gst/controller/gsttimedvaluecontrolsource.c"
+ line="418">Get the number of control points that are set.</doc>
+ <source-position filename="libs/gst/controller/gsttimedvaluecontrolsource.h"
+ line="145"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/controller/gsttimedvaluecontrolsource.c"
+ line="424">the number of control points that are set.</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/controller/gsttimedvaluecontrolsource.c"
+ line="420">the #GstTimedValueControlSource to get the number of values from</doc>
+ <type name="TimedValueControlSource"
+ c:type="GstTimedValueControlSource*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="set" c:identifier="gst_timed_value_control_source_set">
+ <doc xml:space="preserve"
+ filename="libs/gst/controller/gsttimedvaluecontrolsource.c"
+ line="260">Set the value of given controller-handled property at a certain time.</doc>
+ <source-position filename="libs/gst/controller/gsttimedvaluecontrolsource.h"
+ line="128"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/controller/gsttimedvaluecontrolsource.c"
+ line="268">FALSE if the values couldn't be set, TRUE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/controller/gsttimedvaluecontrolsource.c"
+ line="262">the #GstTimedValueControlSource object</doc>
+ <type name="TimedValueControlSource"
+ c:type="GstTimedValueControlSource*"/>
+ </instance-parameter>
+ <parameter name="timestamp" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/controller/gsttimedvaluecontrolsource.c"
+ line="263">the time the control-change is scheduled for</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/controller/gsttimedvaluecontrolsource.c"
+ line="264">the control-value</doc>
+ <type name="gdouble" c:type="const gdouble"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_from_list"
+ c:identifier="gst_timed_value_control_source_set_from_list">
+ <doc xml:space="preserve"
+ filename="libs/gst/controller/gsttimedvaluecontrolsource.c"
+ line="282">Sets multiple timed values at once.</doc>
+ <source-position filename="libs/gst/controller/gsttimedvaluecontrolsource.h"
+ line="132"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/controller/gsttimedvaluecontrolsource.c"
+ line="290">FALSE if the values couldn't be set, TRUE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/controller/gsttimedvaluecontrolsource.c"
+ line="284">the #GstTimedValueControlSource object</doc>
+ <type name="TimedValueControlSource"
+ c:type="GstTimedValueControlSource*"/>
+ </instance-parameter>
+ <parameter name="timedvalues" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/controller/gsttimedvaluecontrolsource.c"
+ line="285">a list
+with #GstTimedValue items</doc>
+ <type name="GLib.SList" c:type="const GSList*">
+ <type name="Gst.TimedValue"/>
+ </type>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="unset" c:identifier="gst_timed_value_control_source_unset">
+ <doc xml:space="preserve"
+ filename="libs/gst/controller/gsttimedvaluecontrolsource.c"
+ line="316">Used to remove the value of given controller-handled property at a certain
+time.</doc>
+ <source-position filename="libs/gst/controller/gsttimedvaluecontrolsource.h"
+ line="135"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/controller/gsttimedvaluecontrolsource.c"
+ line="324">FALSE if the value couldn't be unset (i.e. not found, TRUE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/controller/gsttimedvaluecontrolsource.c"
+ line="318">the #GstTimedValueControlSource object</doc>
+ <type name="TimedValueControlSource"
+ c:type="GstTimedValueControlSource*"/>
+ </instance-parameter>
+ <parameter name="timestamp" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/controller/gsttimedvaluecontrolsource.c"
+ line="319">the time the control-change should be removed from</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="unset_all"
+ c:identifier="gst_timed_value_control_source_unset_all">
+ <doc xml:space="preserve"
+ filename="libs/gst/controller/gsttimedvaluecontrolsource.c"
+ line="363">Used to remove all time-stamped values of given controller-handled property</doc>
+ <source-position filename="libs/gst/controller/gsttimedvaluecontrolsource.h"
+ line="139"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/controller/gsttimedvaluecontrolsource.c"
+ line="365">the #GstTimedValueControlSource object</doc>
+ <type name="TimedValueControlSource"
+ c:type="GstTimedValueControlSource*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <field name="parent">
+ <type name="Gst.ControlSource" c:type="GstControlSource"/>
+ </field>
+ <field name="lock">
+ <type name="GLib.Mutex" c:type="GMutex"/>
+ </field>
+ <field name="values">
+ <type name="GLib.Sequence" c:type="GSequence*"/>
+ </field>
+ <field name="nvalues">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="valid_cache">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="TimedValueControlSourcePrivate"
+ c:type="GstTimedValueControlSourcePrivate*"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <glib:signal name="value-added" when="first" version="1.6">
+ <doc xml:space="preserve"
+ filename="libs/gst/controller/gsttimedvaluecontrolsource.c"
+ line="486">Emitted right after the new value has been added to @self</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="timed_value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/controller/gsttimedvaluecontrolsource.c"
+ line="490">The newly added #GstTimedValue</doc>
+ <type name="ControlPoint"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="value-changed" when="first" version="1.6">
+ <doc xml:space="preserve"
+ filename="libs/gst/controller/gsttimedvaluecontrolsource.c"
+ line="472">Emitted right after the new value has been set on @timed_signals</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="timed_value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/controller/gsttimedvaluecontrolsource.c"
+ line="475">The #GstTimedValue where the value changed</doc>
+ <type name="ControlPoint"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="value-removed" when="first" version="1.6">
+ <doc xml:space="preserve"
+ filename="libs/gst/controller/gsttimedvaluecontrolsource.c"
+ line="501">Emitted when @timed_value is removed from @self</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="timed_value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/controller/gsttimedvaluecontrolsource.c"
+ line="505">The removed #GstTimedValue</doc>
+ <type name="ControlPoint"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ </class>
+ <record name="TimedValueControlSourceClass"
+ c:type="GstTimedValueControlSourceClass"
+ glib:is-gtype-struct-for="TimedValueControlSource">
+ <source-position filename="libs/gst/controller/gsttimedvaluecontrolsource.h"
+ line="111"/>
+ <field name="parent_class">
+ <type name="Gst.ControlSourceClass" c:type="GstControlSourceClass"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="TimedValueControlSourcePrivate"
+ c:type="GstTimedValueControlSourcePrivate"
+ disguised="1">
+ <source-position filename="libs/gst/controller/gsttimedvaluecontrolsource.h"
+ line="49"/>
+ </record>
+ <class name="TriggerControlSource"
+ c:symbol-prefix="trigger_control_source"
+ c:type="GstTriggerControlSource"
+ parent="TimedValueControlSource"
+ glib:type-name="GstTriggerControlSource"
+ glib:get-type="gst_trigger_control_source_get_type"
+ glib:type-struct="TriggerControlSourceClass">
+ <doc xml:space="preserve"
+ filename="libs/gst/controller/gsttriggercontrolsource.c"
+ line="25">#GstTriggerControlSource is a #GstControlSource, that returns values from user-given
+control points. It allows for a tolerance on the time-stamps.
+
+To use #GstTriggerControlSource get a new instance by calling
+gst_trigger_control_source_new(), bind it to a #GParamSpec and set some
+control points by calling gst_timed_value_control_source_set().
+
+All functions are MT-safe.</doc>
+ <source-position filename="libs/gst/controller/gsttriggercontrolsource.h"
+ line="73"/>
+ <constructor name="new" c:identifier="gst_trigger_control_source_new">
+ <doc xml:space="preserve"
+ filename="libs/gst/controller/gsttriggercontrolsource.c"
+ line="185">This returns a new, unbound #GstTriggerControlSource.</doc>
+ <source-position filename="libs/gst/controller/gsttriggercontrolsource.h"
+ line="81"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/controller/gsttriggercontrolsource.c"
+ line="190">a new, unbound #GstTriggerControlSource.</doc>
+ <type name="Gst.ControlSource" c:type="GstControlSource*"/>
+ </return-value>
+ </constructor>
+ <property name="tolerance" writable="1" transfer-ownership="none">
+ <type name="gint64" c:type="gint64"/>
+ </property>
+ <field name="parent">
+ <type name="TimedValueControlSource"
+ c:type="GstTimedValueControlSource"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="TriggerControlSourcePrivate"
+ c:type="GstTriggerControlSourcePrivate*"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="TriggerControlSourceClass"
+ c:type="GstTriggerControlSourceClass"
+ glib:is-gtype-struct-for="TriggerControlSource">
+ <source-position filename="libs/gst/controller/gsttriggercontrolsource.h"
+ line="73"/>
+ <field name="parent_class">
+ <type name="TimedValueControlSourceClass"
+ c:type="GstTimedValueControlSourceClass"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="TriggerControlSourcePrivate"
+ c:type="GstTriggerControlSourcePrivate"
+ disguised="1">
+ <source-position filename="libs/gst/controller/gsttriggercontrolsource.h"
+ line="53"/>
+ </record>
+ <function name="timed_value_control_invalidate_cache"
+ c:identifier="gst_timed_value_control_invalidate_cache">
+ <doc xml:space="preserve"
+ filename="libs/gst/controller/gsttimedvaluecontrolsource.c"
+ line="433">Reset the controlled value cache.</doc>
+ <source-position filename="libs/gst/controller/gsttimedvaluecontrolsource.h"
+ line="148"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/controller/gsttimedvaluecontrolsource.c"
+ line="435">the #GstTimedValueControlSource</doc>
+ <type name="TimedValueControlSource"
+ c:type="GstTimedValueControlSource*"/>
+ </parameter>
+ </parameters>
+ </function>
+ </namespace>
+</repository>
diff --git a/subprojects/gstreamer-sharp/girs/GstNet-1.0.gir b/subprojects/gstreamer-sharp/girs/GstNet-1.0.gir
new file mode 100644
index 0000000000..52535405e5
--- /dev/null
+++ b/subprojects/gstreamer-sharp/girs/GstNet-1.0.gir
@@ -0,0 +1,1290 @@
+<?xml version="1.0"?>
+<!-- This file was automatically generated from C sources - DO NOT EDIT!
+To affect the contents of this file, edit the original C definitions,
+and/or use gtk-doc annotations. -->
+<repository version="1.2"
+ xmlns="http://www.gtk.org/introspection/core/1.0"
+ xmlns:c="http://www.gtk.org/introspection/c/1.0"
+ xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
+ <include name="GLib" version="2.0"/>
+ <include name="GModule" version="2.0"/>
+ <include name="GObject" version="2.0"/>
+ <include name="Gio" version="2.0"/>
+ <include name="Gst" version="1.0"/>
+ <package name="gstreamer-net-1.0"/>
+ <c:include name="gst/net/net.h"/>
+ <namespace name="GstNet"
+ version="1.0"
+ shared-library="libgstnet-1.0.so.0"
+ c:identifier-prefixes="Gst"
+ c:symbol-prefixes="gst">
+ <function-macro name="IS_NET_CLIENT_CLOCK"
+ c:identifier="GST_IS_NET_CLIENT_CLOCK"
+ introspectable="0">
+ <source-position filename="libs/gst/net/gstnetclientclock.h" line="41"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_NET_CLIENT_CLOCK_CLASS"
+ c:identifier="GST_IS_NET_CLIENT_CLOCK_CLASS"
+ introspectable="0">
+ <source-position filename="libs/gst/net/gstnetclientclock.h" line="43"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_NET_TIME_PROVIDER"
+ c:identifier="GST_IS_NET_TIME_PROVIDER"
+ introspectable="0">
+ <source-position filename="libs/gst/net/gstnettimeprovider.h" line="36"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_NET_TIME_PROVIDER_CLASS"
+ c:identifier="GST_IS_NET_TIME_PROVIDER_CLASS"
+ introspectable="0">
+ <source-position filename="libs/gst/net/gstnettimeprovider.h" line="38"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_NTP_CLOCK"
+ c:identifier="GST_IS_NTP_CLOCK"
+ introspectable="0">
+ <source-position filename="libs/gst/net/gstnetclientclock.h" line="83"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_NTP_CLOCK_CLASS"
+ c:identifier="GST_IS_NTP_CLOCK_CLASS"
+ introspectable="0">
+ <source-position filename="libs/gst/net/gstnetclientclock.h" line="85"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_PTP_CLOCK"
+ c:identifier="GST_IS_PTP_CLOCK"
+ introspectable="0">
+ <source-position filename="libs/gst/net/gstptpclock.h" line="35"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_PTP_CLOCK_CLASS"
+ c:identifier="GST_IS_PTP_CLOCK_CLASS"
+ introspectable="0">
+ <source-position filename="libs/gst/net/gstptpclock.h" line="37"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="NET_CLIENT_CLOCK"
+ c:identifier="GST_NET_CLIENT_CLOCK"
+ introspectable="0">
+ <source-position filename="libs/gst/net/gstnetclientclock.h" line="37"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="NET_CLIENT_CLOCK_CLASS"
+ c:identifier="GST_NET_CLIENT_CLOCK_CLASS"
+ introspectable="0">
+ <source-position filename="libs/gst/net/gstnetclientclock.h" line="39"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <constant name="NET_TIME_PACKET_SIZE"
+ value="16"
+ c:type="GST_NET_TIME_PACKET_SIZE">
+ <doc xml:space="preserve"
+ filename="libs/gst/net/gstnettimepacket.h"
+ line="30">The size of the packets sent between network clocks.</doc>
+ <source-position filename="libs/gst/net/gstnettimepacket.h" line="35"/>
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <function-macro name="NET_TIME_PROVIDER"
+ c:identifier="GST_NET_TIME_PROVIDER"
+ introspectable="0">
+ <source-position filename="libs/gst/net/gstnettimeprovider.h" line="32"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="NET_TIME_PROVIDER_CLASS"
+ c:identifier="GST_NET_TIME_PROVIDER_CLASS"
+ introspectable="0">
+ <source-position filename="libs/gst/net/gstnettimeprovider.h" line="34"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="NTP_CLOCK"
+ c:identifier="GST_NTP_CLOCK"
+ introspectable="0">
+ <source-position filename="libs/gst/net/gstnetclientclock.h" line="79"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="NTP_CLOCK_CLASS"
+ c:identifier="GST_NTP_CLOCK_CLASS"
+ introspectable="0">
+ <source-position filename="libs/gst/net/gstnetclientclock.h" line="81"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <record name="NetAddressMeta" c:type="GstNetAddressMeta">
+ <doc xml:space="preserve"
+ filename="libs/gst/net/gstnetaddressmeta.c"
+ line="20">#GstNetAddressMeta can be used to store a network address (a #GSocketAddress)
+in a #GstBuffer so that it network elements can track the to and from address
+of the buffer.</doc>
+ <source-position filename="libs/gst/net/gstnetaddressmeta.h" line="42"/>
+ <field name="meta" writable="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/net/gstnetaddressmeta.h"
+ line="33">the parent type</doc>
+ <type name="Gst.Meta" c:type="GstMeta"/>
+ </field>
+ <field name="addr" writable="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/net/gstnetaddressmeta.h"
+ line="34">a #GSocketAddress stored as metadata</doc>
+ <type name="Gio.SocketAddress" c:type="GSocketAddress*"/>
+ </field>
+ <function name="get_info" c:identifier="gst_net_address_meta_get_info">
+ <source-position filename="libs/gst/net/gstnetaddressmeta.h"
+ line="51"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.MetaInfo" c:type="const GstMetaInfo*"/>
+ </return-value>
+ </function>
+ </record>
+ <class name="NetClientClock"
+ c:symbol-prefix="net_client_clock"
+ c:type="GstNetClientClock"
+ parent="Gst.SystemClock"
+ glib:type-name="GstNetClientClock"
+ glib:get-type="gst_net_client_clock_get_type"
+ glib:type-struct="NetClientClockClass">
+ <doc xml:space="preserve"
+ filename="libs/gst/net/gstnetclientclock.c"
+ line="26">#GstNetClientClock implements a custom #GstClock that synchronizes its time
+to a remote time provider such as #GstNetTimeProvider. #GstNtpClock
+implements a #GstClock that synchronizes its time to a remote NTPv4 server.
+
+A new clock is created with gst_net_client_clock_new() or
+gst_ntp_clock_new(), which takes the address and port of the remote time
+provider along with a name and an initial time.
+
+This clock will poll the time provider and will update its calibration
+parameters based on the local and remote observations.
+
+The "round-trip" property limits the maximum round trip packets can take.
+
+Various parameters of the clock can be configured with the parent #GstClock
+"timeout", "window-size" and "window-threshold" object properties.
+
+A #GstNetClientClock and #GstNtpClock is typically set on a #GstPipeline with
+gst_pipeline_use_clock().
+
+If you set a #GstBus on the clock via the "bus" object property, it will
+send @GST_MESSAGE_ELEMENT messages with an attached #GstStructure containing
+statistics about clock accuracy and network traffic.</doc>
+ <source-position filename="libs/gst/net/gstnetclientclock.h" line="70"/>
+ <constructor name="new" c:identifier="gst_net_client_clock_new">
+ <doc xml:space="preserve"
+ filename="libs/gst/net/gstnetclientclock.c"
+ line="1411">Create a new #GstNetClientClock that will report the time
+provided by the #GstNetTimeProvider on @remote_address and
+@remote_port.</doc>
+ <source-position filename="libs/gst/net/gstnetclientclock.h"
+ line="76"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/net/gstnetclientclock.c"
+ line="1422">a new #GstClock that receives a time from the remote
+clock.</doc>
+ <type name="Gst.Clock" c:type="GstClock*"/>
+ </return-value>
+ <parameters>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/net/gstnetclientclock.c"
+ line="1413">a name for the clock</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="remote_address" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/net/gstnetclientclock.c"
+ line="1414">the address or hostname of the remote clock provider</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="remote_port" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/net/gstnetclientclock.c"
+ line="1415">the port of the remote clock provider</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="base_time" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/net/gstnetclientclock.c"
+ line="1416">initial time of the clock</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <property name="address"
+ writable="1"
+ construct="1"
+ transfer-ownership="none">
+ <type name="utf8" c:type="gchar*"/>
+ </property>
+ <property name="base-time"
+ writable="1"
+ construct-only="1"
+ transfer-ownership="none">
+ <type name="guint64" c:type="guint64"/>
+ </property>
+ <property name="bus" writable="1" transfer-ownership="none">
+ <type name="Gst.Bus"/>
+ </property>
+ <property name="internal-clock" transfer-ownership="none">
+ <type name="Gst.Clock"/>
+ </property>
+ <property name="minimum-update-interval"
+ writable="1"
+ transfer-ownership="none">
+ <type name="guint64" c:type="guint64"/>
+ </property>
+ <property name="port"
+ writable="1"
+ construct="1"
+ transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </property>
+ <property name="qos-dscp" writable="1" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </property>
+ <property name="round-trip-limit" writable="1" transfer-ownership="none">
+ <type name="guint64" c:type="guint64"/>
+ </property>
+ <field name="clock">
+ <type name="Gst.SystemClock" c:type="GstSystemClock"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="NetClientClockPrivate" c:type="GstNetClientClockPrivate*"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="NetClientClockClass"
+ c:type="GstNetClientClockClass"
+ glib:is-gtype-struct-for="NetClientClock">
+ <source-position filename="libs/gst/net/gstnetclientclock.h" line="70"/>
+ <field name="parent_class">
+ <type name="Gst.SystemClockClass" c:type="GstSystemClockClass"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="NetClientClockPrivate"
+ c:type="GstNetClientClockPrivate"
+ disguised="1">
+ <source-position filename="libs/gst/net/gstnetclientclock.h" line="49"/>
+ </record>
+ <record name="NetControlMessageMeta" c:type="GstNetControlMessageMeta">
+ <doc xml:space="preserve"
+ filename="libs/gst/net/gstnetcontrolmessagemeta.c"
+ line="20">#GstNetControlMessageMeta can be used to store control messages (ancillary
+data) which was received with or is to be sent alongside the buffer data.
+When used with socket sinks and sources which understand this meta it allows
+sending and receiving ancillary data such as unix credentials (See
+#GUnixCredentialsMessage) and Unix file descriptions (See #GUnixFDMessage).</doc>
+ <source-position filename="libs/gst/net/gstnetcontrolmessagemeta.h"
+ line="43"/>
+ <field name="meta" writable="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/net/gstnetcontrolmessagemeta.h"
+ line="33">the parent type</doc>
+ <type name="Gst.Meta" c:type="GstMeta"/>
+ </field>
+ <field name="message" writable="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/net/gstnetcontrolmessagemeta.h"
+ line="34">a #GSocketControlMessage stored as metadata</doc>
+ <type name="Gio.SocketControlMessage" c:type="GSocketControlMessage*"/>
+ </field>
+ <function name="get_info"
+ c:identifier="gst_net_control_message_meta_get_info">
+ <source-position filename="libs/gst/net/gstnetcontrolmessagemeta.h"
+ line="57"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.MetaInfo" c:type="const GstMetaInfo*"/>
+ </return-value>
+ </function>
+ </record>
+ <record name="NetTimePacket"
+ c:type="GstNetTimePacket"
+ glib:type-name="GstNetTimePacket"
+ glib:get-type="gst_net_time_packet_get_type"
+ c:symbol-prefix="net_time_packet">
+ <doc xml:space="preserve"
+ filename="libs/gst/net/gstnettimepacket.c"
+ line="21">Various functions for receiving, sending an serializing #GstNetTimePacket
+structures.</doc>
+ <source-position filename="libs/gst/net/gstnettimepacket.h" line="49"/>
+ <field name="local_time" writable="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/net/gstnettimepacket.h"
+ line="41">the local time when this packet was sent</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </field>
+ <field name="remote_time" writable="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/net/gstnettimepacket.h"
+ line="42">the remote time observation</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </field>
+ <constructor name="new" c:identifier="gst_net_time_packet_new">
+ <doc xml:space="preserve"
+ filename="libs/gst/net/gstnettimepacket.c"
+ line="48">Creates a new #GstNetTimePacket from a buffer received over the network. The
+caller is responsible for ensuring that @buffer is at least
+#GST_NET_TIME_PACKET_SIZE bytes long.
+
+If @buffer is %NULL, the local and remote times will be set to
+#GST_CLOCK_TIME_NONE.
+
+MT safe. Caller owns return value (gst_net_time_packet_free to free).</doc>
+ <source-position filename="libs/gst/net/gstnettimepacket.h" line="55"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/net/gstnettimepacket.c"
+ line="61">The new #GstNetTimePacket.</doc>
+ <type name="NetTimePacket" c:type="GstNetTimePacket*"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/net/gstnettimepacket.c"
+ line="50">a buffer from which to construct the packet, or NULL</doc>
+ <array zero-terminated="0" c:type="const guint8*">
+ <type name="guint8" c:type="guint8"/>
+ </array>
+ </parameter>
+ </parameters>
+ </constructor>
+ <method name="copy" c:identifier="gst_net_time_packet_copy">
+ <doc xml:space="preserve"
+ filename="libs/gst/net/gstnettimepacket.c"
+ line="95">Make a copy of @packet.</doc>
+ <source-position filename="libs/gst/net/gstnettimepacket.h" line="58"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/net/gstnettimepacket.c"
+ line="101">a copy of @packet, free with gst_net_time_packet_free().</doc>
+ <type name="NetTimePacket" c:type="GstNetTimePacket*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="packet" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/net/gstnettimepacket.c"
+ line="97">the #GstNetTimePacket</doc>
+ <type name="NetTimePacket" c:type="const GstNetTimePacket*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="free" c:identifier="gst_net_time_packet_free">
+ <doc xml:space="preserve"
+ filename="libs/gst/net/gstnettimepacket.c"
+ line="83">Free @packet.</doc>
+ <source-position filename="libs/gst/net/gstnettimepacket.h" line="61"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="packet" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/net/gstnettimepacket.c"
+ line="85">the #GstNetTimePacket</doc>
+ <type name="NetTimePacket" c:type="GstNetTimePacket*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="send" c:identifier="gst_net_time_packet_send" throws="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/net/gstnettimepacket.c"
+ line="201">Sends a #GstNetTimePacket over a socket.
+
+MT safe.</doc>
+ <source-position filename="libs/gst/net/gstnettimepacket.h" line="71"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/net/gstnettimepacket.c"
+ line="212">TRUE if successful, FALSE in case an error occurred.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="packet" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/net/gstnettimepacket.c"
+ line="203">the #GstNetTimePacket to send</doc>
+ <type name="NetTimePacket" c:type="const GstNetTimePacket*"/>
+ </instance-parameter>
+ <parameter name="socket" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/net/gstnettimepacket.c"
+ line="204">socket to send the time packet on</doc>
+ <type name="Gio.Socket" c:type="GSocket*"/>
+ </parameter>
+ <parameter name="dest_address" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/net/gstnettimepacket.c"
+ line="205">address to send the time packet to</doc>
+ <type name="Gio.SocketAddress" c:type="GSocketAddress*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="serialize" c:identifier="gst_net_time_packet_serialize">
+ <doc xml:space="preserve"
+ filename="libs/gst/net/gstnettimepacket.c"
+ line="115">Serialized a #GstNetTimePacket into a newly-allocated sequence of
+#GST_NET_TIME_PACKET_SIZE bytes, in network byte order. The value returned is
+suitable for passing to write(2) or sendto(2) for communication over the
+network.
+
+MT safe. Caller owns return value (g_free to free).</doc>
+ <source-position filename="libs/gst/net/gstnettimepacket.h" line="64"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/net/gstnettimepacket.c"
+ line="126">A newly allocated sequence of #GST_NET_TIME_PACKET_SIZE bytes.</doc>
+ <type name="guint8" c:type="guint8*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="packet" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/net/gstnettimepacket.c"
+ line="117">the #GstNetTimePacket</doc>
+ <type name="NetTimePacket" c:type="const GstNetTimePacket*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <function name="receive"
+ c:identifier="gst_net_time_packet_receive"
+ throws="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/net/gstnettimepacket.c"
+ line="143">Receives a #GstNetTimePacket over a socket. Handles interrupted system
+calls, but otherwise returns NULL on error.</doc>
+ <source-position filename="libs/gst/net/gstnettimepacket.h" line="67"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/net/gstnettimepacket.c"
+ line="152">a new #GstNetTimePacket, or NULL on error. Free
+ with gst_net_time_packet_free() when done.</doc>
+ <type name="NetTimePacket" c:type="GstNetTimePacket*"/>
+ </return-value>
+ <parameters>
+ <parameter name="socket" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/net/gstnettimepacket.c"
+ line="145">socket to receive the time packet on</doc>
+ <type name="Gio.Socket" c:type="GSocket*"/>
+ </parameter>
+ <parameter name="src_address"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/net/gstnettimepacket.c"
+ line="146">address of variable to return sender address</doc>
+ <type name="Gio.SocketAddress" c:type="GSocketAddress**"/>
+ </parameter>
+ </parameters>
+ </function>
+ </record>
+ <class name="NetTimeProvider"
+ c:symbol-prefix="net_time_provider"
+ c:type="GstNetTimeProvider"
+ parent="Gst.Object"
+ glib:type-name="GstNetTimeProvider"
+ glib:get-type="gst_net_time_provider_get_type"
+ glib:type-struct="NetTimeProviderClass">
+ <doc xml:space="preserve"
+ filename="libs/gst/net/gstnettimeprovider.c"
+ line="19">This object exposes the time of a #GstClock on the network.
+
+A #GstNetTimeProvider is created with gst_net_time_provider_new() which
+takes a #GstClock, an address and a port number as arguments.
+
+After creating the object, a client clock such as #GstNetClientClock can
+query the exposed clock over the network for its values.
+
+The #GstNetTimeProvider typically wraps the clock used by a #GstPipeline.</doc>
+ <source-position filename="libs/gst/net/gstnettimeprovider.h" line="64"/>
+ <implements name="Gio.Initable"/>
+ <constructor name="new" c:identifier="gst_net_time_provider_new">
+ <doc xml:space="preserve"
+ filename="libs/gst/net/gstnettimeprovider.c"
+ line="450">Allows network clients to get the current time of @clock.</doc>
+ <source-position filename="libs/gst/net/gstnettimeprovider.h"
+ line="70"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/net/gstnettimeprovider.c"
+ line="459">the new #GstNetTimeProvider, or NULL on error</doc>
+ <type name="NetTimeProvider" c:type="GstNetTimeProvider*"/>
+ </return-value>
+ <parameters>
+ <parameter name="clock" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/net/gstnettimeprovider.c"
+ line="452">a #GstClock to export over the network</doc>
+ <type name="Gst.Clock" c:type="GstClock*"/>
+ </parameter>
+ <parameter name="address"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/net/gstnettimeprovider.c"
+ line="453">an address to bind on as a dotted quad
+ (xxx.xxx.xxx.xxx), IPv6 address, or NULL to bind to all addresses</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="port" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/net/gstnettimeprovider.c"
+ line="455">a port to bind on, or 0 to let the kernel choose</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <property name="active" writable="1" transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </property>
+ <property name="address"
+ writable="1"
+ construct-only="1"
+ transfer-ownership="none">
+ <type name="utf8" c:type="gchar*"/>
+ </property>
+ <property name="clock"
+ writable="1"
+ construct-only="1"
+ transfer-ownership="none">
+ <type name="Gst.Clock"/>
+ </property>
+ <property name="port"
+ writable="1"
+ construct-only="1"
+ transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </property>
+ <property name="qos-dscp" writable="1" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </property>
+ <field name="parent">
+ <type name="Gst.Object" c:type="GstObject"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="NetTimeProviderPrivate"
+ c:type="GstNetTimeProviderPrivate*"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="NetTimeProviderClass"
+ c:type="GstNetTimeProviderClass"
+ glib:is-gtype-struct-for="NetTimeProvider">
+ <source-position filename="libs/gst/net/gstnettimeprovider.h" line="64"/>
+ <field name="parent_class">
+ <type name="Gst.ObjectClass" c:type="GstObjectClass"/>
+ </field>
+ <field name="_gst_reserved">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="NetTimeProviderPrivate"
+ c:type="GstNetTimeProviderPrivate"
+ disguised="1">
+ <source-position filename="libs/gst/net/gstnettimeprovider.h" line="44"/>
+ </record>
+ <class name="NtpClock"
+ c:symbol-prefix="ntp_clock"
+ c:type="GstNtpClock"
+ parent="NetClientClock"
+ glib:type-name="GstNtpClock"
+ glib:get-type="gst_ntp_clock_get_type"
+ glib:type-struct="NtpClockClass">
+ <source-position filename="libs/gst/net/gstnetclientclock.h" line="91"/>
+ <constructor name="new" c:identifier="gst_ntp_clock_new" version="1.6">
+ <doc xml:space="preserve"
+ filename="libs/gst/net/gstnetclientclock.c"
+ line="1459">Create a new #GstNtpClock that will report the time provided by
+the NTPv4 server on @remote_address and @remote_port.</doc>
+ <source-position filename="libs/gst/net/gstnetclientclock.h"
+ line="97"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/net/gstnetclientclock.c"
+ line="1469">a new #GstClock that receives a time from the remote
+clock.</doc>
+ <type name="Gst.Clock" c:type="GstClock*"/>
+ </return-value>
+ <parameters>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/net/gstnetclientclock.c"
+ line="1461">a name for the clock</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="remote_address" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/net/gstnetclientclock.c"
+ line="1462">the address or hostname of the remote clock provider</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="remote_port" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/net/gstnetclientclock.c"
+ line="1463">the port of the remote clock provider</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="base_time" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/net/gstnetclientclock.c"
+ line="1464">initial time of the clock</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <field name="clock">
+ <type name="Gst.SystemClock" c:type="GstSystemClock"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="NetClientClockPrivate" c:type="GstNetClientClockPrivate*"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="NtpClockClass"
+ c:type="GstNtpClockClass"
+ glib:is-gtype-struct-for="NtpClock">
+ <source-position filename="libs/gst/net/gstnetclientclock.h" line="91"/>
+ <field name="parent_class">
+ <type name="Gst.SystemClockClass" c:type="GstSystemClockClass"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <function-macro name="PTP_CLOCK"
+ c:identifier="GST_PTP_CLOCK"
+ introspectable="0">
+ <source-position filename="libs/gst/net/gstptpclock.h" line="31"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="PTP_CLOCK_CLASS"
+ c:identifier="GST_PTP_CLOCK_CLASS"
+ introspectable="0">
+ <source-position filename="libs/gst/net/gstptpclock.h" line="33"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <constant name="PTP_CLOCK_ID_NONE"
+ value="18446744073709551615"
+ c:type="GST_PTP_CLOCK_ID_NONE">
+ <doc xml:space="preserve"
+ filename="libs/gst/net/gstptpclock.h"
+ line="72">PTP clock identification that can be passed to gst_ptp_init() to
+automatically select one based on the MAC address of interfaces</doc>
+ <source-position filename="libs/gst/net/gstptpclock.h" line="76"/>
+ <type name="guint64" c:type="guint64"/>
+ </constant>
+ <constant name="PTP_STATISTICS_BEST_MASTER_CLOCK_SELECTED"
+ value="GstPtpStatisticsBestMasterClockSelected"
+ c:type="GST_PTP_STATISTICS_BEST_MASTER_CLOCK_SELECTED">
+ <source-position filename="libs/gst/net/gstptpclock.h" line="94"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="PTP_STATISTICS_NEW_DOMAIN_FOUND"
+ value="GstPtpStatisticsNewDomainFound"
+ c:type="GST_PTP_STATISTICS_NEW_DOMAIN_FOUND">
+ <source-position filename="libs/gst/net/gstptpclock.h" line="93"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="PTP_STATISTICS_PATH_DELAY_MEASURED"
+ value="GstPtpStatisticsPathDelayMeasured"
+ c:type="GST_PTP_STATISTICS_PATH_DELAY_MEASURED">
+ <source-position filename="libs/gst/net/gstptpclock.h" line="95"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="PTP_STATISTICS_TIME_UPDATED"
+ value="GstPtpStatisticsTimeUpdated"
+ c:type="GST_PTP_STATISTICS_TIME_UPDATED">
+ <source-position filename="libs/gst/net/gstptpclock.h" line="96"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <class name="PtpClock"
+ c:symbol-prefix="ptp_clock"
+ c:type="GstPtpClock"
+ version="1.6"
+ parent="Gst.SystemClock"
+ glib:type-name="GstPtpClock"
+ glib:get-type="gst_ptp_clock_get_type"
+ glib:type-struct="PtpClockClass">
+ <doc xml:space="preserve"
+ filename="libs/gst/net/gstptpclock.c"
+ line="20">GstPtpClock implements a PTP (IEEE1588:2008) ordinary clock in slave-only
+mode, that allows a GStreamer pipeline to synchronize to a PTP network
+clock in some specific domain.
+
+The PTP subsystem can be initialized with gst_ptp_init(), which then starts
+a helper process to do the actual communication via the PTP ports. This is
+required as PTP listens on ports &lt; 1024 and thus requires special
+privileges. Once this helper process is started, the main process will
+synchronize to all PTP domains that are detected on the selected
+interfaces.
+
+gst_ptp_clock_new() then allows to create a GstClock that provides the PTP
+time from a master clock inside a specific PTP domain. This clock will only
+return valid timestamps once the timestamps in the PTP domain are known. To
+check this, you can use gst_clock_wait_for_sync(), the GstClock::synced
+signal and gst_clock_is_synced().
+
+To gather statistics about the PTP clock synchronization,
+gst_ptp_statistics_callback_add() can be used. This gives the application
+the possibility to collect all kinds of statistics from the clock
+synchronization.</doc>
+ <source-position filename="libs/gst/net/gstptpclock.h" line="70"/>
+ <constructor name="new" c:identifier="gst_ptp_clock_new" version="1.6">
+ <doc xml:space="preserve"
+ filename="libs/gst/net/gstptpclock.c"
+ line="2536">Creates a new PTP clock instance that exports the PTP time of the master
+clock in @domain. This clock can be slaved to other clocks as needed.
+
+If gst_ptp_init() was not called before, this will call gst_ptp_init() with
+default parameters.
+
+This clock only returns valid timestamps after it received the first
+times from the PTP master clock on the network. Once this happens the
+GstPtpClock::internal-clock property will become non-NULL. You can
+check this with gst_clock_wait_for_sync(), the GstClock::synced signal and
+gst_clock_is_synced().</doc>
+ <source-position filename="libs/gst/net/gstptpclock.h" line="153"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/net/gstptpclock.c"
+ line="2553">A new #GstClock</doc>
+ <type name="Gst.Clock" c:type="GstClock*"/>
+ </return-value>
+ <parameters>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/net/gstptpclock.c"
+ line="2538">Name of the clock</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="domain" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/net/gstptpclock.c"
+ line="2539">PTP domain</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <property name="domain"
+ writable="1"
+ construct-only="1"
+ transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </property>
+ <property name="grandmaster-clock-id" transfer-ownership="none">
+ <type name="guint64" c:type="guint64"/>
+ </property>
+ <property name="internal-clock" transfer-ownership="none">
+ <type name="Gst.Clock"/>
+ </property>
+ <property name="master-clock-id" transfer-ownership="none">
+ <type name="guint64" c:type="guint64"/>
+ </property>
+ <field name="clock">
+ <type name="Gst.SystemClock" c:type="GstSystemClock"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="PtpClockPrivate" c:type="GstPtpClockPrivate*"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="PtpClockClass"
+ c:type="GstPtpClockClass"
+ glib:is-gtype-struct-for="PtpClock">
+ <doc xml:space="preserve"
+ filename="libs/gst/net/gstptpclock.h"
+ line="59">Opaque #GstPtpClockClass structure.</doc>
+ <source-position filename="libs/gst/net/gstptpclock.h" line="70"/>
+ <field name="parent_class">
+ <doc xml:space="preserve"
+ filename="libs/gst/net/gstptpclock.h"
+ line="61">parented to #GstSystemClockClass</doc>
+ <type name="Gst.SystemClockClass" c:type="GstSystemClockClass"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="PtpClockPrivate" c:type="GstPtpClockPrivate" disguised="1">
+ <source-position filename="libs/gst/net/gstptpclock.h" line="43"/>
+ </record>
+ <callback name="PtpStatisticsCallback" c:type="GstPtpStatisticsCallback">
+ <doc xml:space="preserve"
+ filename="libs/gst/net/gstptpclock.h"
+ line="99">The statistics can be the following structures:
+
+GST_PTP_STATISTICS_NEW_DOMAIN_FOUND:
+"domain" G_TYPE_UINT The domain identifier of the domain
+"clock" GST_TYPE_CLOCK The internal clock that is slaved to the
+ PTP domain
+
+GST_PTP_STATISTICS_BEST_MASTER_CLOCK_SELECTED:
+"domain" G_TYPE_UINT The domain identifier of the domain
+"master-clock-id" G_TYPE_UINT64 PTP clock identifier of the selected master
+ clock
+"master-clock-port" G_TYPE_UINT PTP port number of the selected master clock
+"grandmaster-clock-id" G_TYPE_UINT64 PTP clock identifier of the grandmaster clock
+
+GST_PTP_STATISTICS_PATH_DELAY_MEASURED:
+"domain" G_TYPE_UINT The domain identifier of the domain
+"mean-path-delay-avg" GST_TYPE_CLOCK_TIME Average mean path delay
+"mean-path-delay" GST_TYPE_CLOCK_TIME Latest mean path delay
+"delay-request-delay" GST_TYPE_CLOCK_TIME Delay of DELAY_REQ / DELAY_RESP messages
+
+GST_PTP_STATISTICS_TIME_UPDATED:
+"domain" G_TYPE_UINT The domain identifier of the domain
+"mean-path-delay-avg" GST_TYPE_CLOCK_TIME Average mean path delay
+"local-time" GST_TYPE_CLOCK_TIME Local time that corresponds to ptp-time
+"ptp-time" GST_TYPE_CLOCK_TIME Newly measured PTP time at local-time
+"estimated-ptp-time" GST_TYPE_CLOCK_TIME Estimated PTP time based on previous measurements
+"discontinuity" G_TYPE_INT64 Difference between estimated and measured PTP time
+"synced" G_TYPE_BOOLEAN Currently synced to the remote clock
+"r-squared" G_TYPE_DOUBLE R² of clock estimation regression
+"internal-time" GST_TYPE_CLOCK_TIME Internal time clock parameter
+"external-time" GST_TYPE_CLOCK_TIME External time clock parameter
+"rate-num" G_TYPE_UINT64 Internal/external rate numerator
+"rate-den" G_TYPE_UINT64 Internal/external rate denominator
+"rate" G_TYPE_DOUBLE Internal/external rate
+
+If %FALSE is returned, the callback is removed and never called again.</doc>
+ <source-position filename="libs/gst/net/gstptpclock.h" line="143"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="domain" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/net/gstptpclock.h"
+ line="101">PTP domain identifier</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ <parameter name="stats" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/net/gstptpclock.h"
+ line="102">New statistics</doc>
+ <type name="Gst.Structure" c:type="const GstStructure*"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1"
+ closure="2">
+ <doc xml:space="preserve"
+ filename="libs/gst/net/gstptpclock.h"
+ line="103">Data passed to gst_ptp_statistics_callback_add()</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <function name="buffer_add_net_address_meta"
+ c:identifier="gst_buffer_add_net_address_meta">
+ <doc xml:space="preserve"
+ filename="libs/gst/net/gstnetaddressmeta.c"
+ line="101">Attaches @addr as metadata in a #GstNetAddressMeta to @buffer.</doc>
+ <source-position filename="libs/gst/net/gstnetaddressmeta.h" line="55"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/net/gstnetaddressmeta.c"
+ line="108">a #GstNetAddressMeta connected to @buffer</doc>
+ <type name="NetAddressMeta" c:type="GstNetAddressMeta*"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/net/gstnetaddressmeta.c"
+ line="103">a #GstBuffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="addr" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/net/gstnetaddressmeta.c"
+ line="104">a @GSocketAddress to connect to @buffer</doc>
+ <type name="Gio.SocketAddress" c:type="GSocketAddress*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="buffer_add_net_control_message_meta"
+ c:identifier="gst_buffer_add_net_control_message_meta">
+ <doc xml:space="preserve"
+ filename="libs/gst/net/gstnetcontrolmessagemeta.c"
+ line="107">Attaches @message as metadata in a #GstNetControlMessageMeta to @buffer.</doc>
+ <source-position filename="libs/gst/net/gstnetcontrolmessagemeta.h"
+ line="63"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/net/gstnetcontrolmessagemeta.c"
+ line="114">a #GstNetControlMessageMeta connected to @buffer</doc>
+ <type name="NetControlMessageMeta" c:type="GstNetControlMessageMeta*"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/net/gstnetcontrolmessagemeta.c"
+ line="109">a #GstBuffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="message" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/net/gstnetcontrolmessagemeta.c"
+ line="110">a @GSocketControlMessage to attach to @buffer</doc>
+ <type name="Gio.SocketControlMessage"
+ c:type="GSocketControlMessage*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="buffer_get_net_address_meta"
+ c:identifier="gst_buffer_get_net_address_meta">
+ <doc xml:space="preserve"
+ filename="libs/gst/net/gstnetaddressmeta.c"
+ line="127">Find the #GstNetAddressMeta on @buffer.</doc>
+ <source-position filename="libs/gst/net/gstnetaddressmeta.h" line="58"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/net/gstnetaddressmeta.c"
+ line="133">the #GstNetAddressMeta or %NULL when there
+is no such metadata on @buffer.</doc>
+ <type name="NetAddressMeta" c:type="GstNetAddressMeta*"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/net/gstnetaddressmeta.c"
+ line="129">a #GstBuffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function-macro name="buffer_get_net_control_message_meta"
+ c:identifier="gst_buffer_get_net_control_message_meta"
+ introspectable="0">
+ <source-position filename="libs/gst/net/gstnetcontrolmessagemeta.h"
+ line="50"/>
+ <parameters>
+ <parameter name="b">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <docsection name="gstnetutils">
+ <doc xml:space="preserve"
+ filename="libs/gst/net/gstnetutils.c"
+ line="20">GstNetUtils gathers network utility functions, enabling use for all
+gstreamer plugins.</doc>
+ </docsection>
+ <function name="net_address_meta_api_get_type"
+ c:identifier="gst_net_address_meta_api_get_type">
+ <source-position filename="libs/gst/net/gstnetaddressmeta.h" line="45"/>
+ <return-value transfer-ownership="none">
+ <type name="GType" c:type="GType"/>
+ </return-value>
+ </function>
+ <function name="net_address_meta_get_info"
+ c:identifier="gst_net_address_meta_get_info"
+ moved-to="NetAddressMeta.get_info">
+ <source-position filename="libs/gst/net/gstnetaddressmeta.h" line="51"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.MetaInfo" c:type="const GstMetaInfo*"/>
+ </return-value>
+ </function>
+ <function name="net_control_message_meta_api_get_type"
+ c:identifier="gst_net_control_message_meta_api_get_type">
+ <source-position filename="libs/gst/net/gstnetcontrolmessagemeta.h"
+ line="46"/>
+ <return-value transfer-ownership="none">
+ <type name="GType" c:type="GType"/>
+ </return-value>
+ </function>
+ <function name="net_control_message_meta_get_info"
+ c:identifier="gst_net_control_message_meta_get_info"
+ moved-to="NetControlMessageMeta.get_info">
+ <source-position filename="libs/gst/net/gstnetcontrolmessagemeta.h"
+ line="57"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.MetaInfo" c:type="const GstMetaInfo*"/>
+ </return-value>
+ </function>
+ <function name="net_time_packet_receive"
+ c:identifier="gst_net_time_packet_receive"
+ moved-to="NetTimePacket.receive"
+ throws="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/net/gstnettimepacket.c"
+ line="143">Receives a #GstNetTimePacket over a socket. Handles interrupted system
+calls, but otherwise returns NULL on error.</doc>
+ <source-position filename="libs/gst/net/gstnettimepacket.h" line="67"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/net/gstnettimepacket.c"
+ line="152">a new #GstNetTimePacket, or NULL on error. Free
+ with gst_net_time_packet_free() when done.</doc>
+ <type name="NetTimePacket" c:type="GstNetTimePacket*"/>
+ </return-value>
+ <parameters>
+ <parameter name="socket" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/net/gstnettimepacket.c"
+ line="145">socket to receive the time packet on</doc>
+ <type name="Gio.Socket" c:type="GSocket*"/>
+ </parameter>
+ <parameter name="src_address"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="libs/gst/net/gstnettimepacket.c"
+ line="146">address of variable to return sender address</doc>
+ <type name="Gio.SocketAddress" c:type="GSocketAddress**"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="net_utils_set_socket_tos"
+ c:identifier="gst_net_utils_set_socket_tos"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="libs/gst/net/gstnetutils.c"
+ line="48">Configures IP_TOS value of socket, i.e. sets QoS DSCP.</doc>
+ <source-position filename="libs/gst/net/gstnetutils.h" line="32"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/net/gstnetutils.c"
+ line="55">TRUE if successful, FALSE in case an error occurred.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="socket" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/net/gstnetutils.c"
+ line="50">Socket to configure</doc>
+ <type name="Gio.Socket" c:type="GSocket*"/>
+ </parameter>
+ <parameter name="qos_dscp" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/net/gstnetutils.c"
+ line="51">QoS DSCP value</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="ptp_deinit" c:identifier="gst_ptp_deinit" version="1.6">
+ <doc xml:space="preserve"
+ filename="libs/gst/net/gstptpclock.c"
+ line="2225">Deinitialize the GStreamer PTP subsystem and stop the PTP clock. If there
+are any remaining GstPtpClock instances, they won't be further synchronized
+to the PTP network clock.</doc>
+ <source-position filename="libs/gst/net/gstptpclock.h" line="92"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </function>
+ <function name="ptp_init" c:identifier="gst_ptp_init" version="1.6">
+ <doc xml:space="preserve"
+ filename="libs/gst/net/gstptpclock.c"
+ line="2025">Initialize the GStreamer PTP subsystem and create a PTP ordinary clock in
+slave-only mode for all domains on the given @interfaces with the
+given @clock_id.
+
+If @clock_id is %GST_PTP_CLOCK_ID_NONE, a clock id is automatically
+generated from the MAC address of the first network interface.
+
+This function is automatically called by gst_ptp_clock_new() with default
+parameters if it wasn't called before.</doc>
+ <source-position filename="libs/gst/net/gstptpclock.h" line="89"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/net/gstptpclock.c"
+ line="2040">%TRUE if the GStreamer PTP clock subsystem could be initialized.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="clock_id" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/net/gstptpclock.c"
+ line="2027">PTP clock id of this process' clock or %GST_PTP_CLOCK_ID_NONE</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ <parameter name="interfaces"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/net/gstptpclock.c"
+ line="2028">network interfaces to run the clock on</doc>
+ <array c:type="gchar**">
+ <type name="utf8" c:type="gchar*"/>
+ </array>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="ptp_is_initialized"
+ c:identifier="gst_ptp_is_initialized"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="libs/gst/net/gstptpclock.c"
+ line="2010">Check if the GStreamer PTP clock subsystem is initialized.</doc>
+ <source-position filename="libs/gst/net/gstptpclock.h" line="86"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/net/gstptpclock.c"
+ line="2015">%TRUE if the GStreamer PTP clock subsystem is initialized.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </function>
+ <function name="ptp_is_supported"
+ c:identifier="gst_ptp_is_supported"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="libs/gst/net/gstptpclock.c"
+ line="1993">Check if PTP clocks are generally supported on this system, and if previous
+initializations did not fail.</doc>
+ <source-position filename="libs/gst/net/gstptpclock.h" line="83"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/net/gstptpclock.c"
+ line="1999">%TRUE if PTP clocks are generally supported on this system, and
+previous initializations did not fail.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </function>
+ <function name="ptp_statistics_callback_add"
+ c:identifier="gst_ptp_statistics_callback_add"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="libs/gst/net/gstptpclock.c"
+ line="2604">Installs a new statistics callback for gathering PTP statistics. See
+GstPtpStatisticsCallback for a list of statistics that are provided.</doc>
+ <source-position filename="libs/gst/net/gstptpclock.h" line="147"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/net/gstptpclock.c"
+ line="2613">Id for the callback that can be passed to
+gst_ptp_statistics_callback_remove()</doc>
+ <type name="gulong" c:type="gulong"/>
+ </return-value>
+ <parameters>
+ <parameter name="callback"
+ transfer-ownership="none"
+ scope="notified"
+ closure="1"
+ destroy="2">
+ <doc xml:space="preserve"
+ filename="libs/gst/net/gstptpclock.c"
+ line="2606">GstPtpStatisticsCallback to call</doc>
+ <type name="PtpStatisticsCallback"
+ c:type="GstPtpStatisticsCallback"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="libs/gst/net/gstptpclock.c"
+ line="2607">Data to pass to the callback</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="destroy_data" transfer-ownership="none" scope="async">
+ <doc xml:space="preserve"
+ filename="libs/gst/net/gstptpclock.c"
+ line="2608">GDestroyNotify to destroy the data</doc>
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="ptp_statistics_callback_remove"
+ c:identifier="gst_ptp_statistics_callback_remove"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="libs/gst/net/gstptpclock.c"
+ line="2643">Removes a PTP statistics callback that was previously added with
+gst_ptp_statistics_callback_add().</doc>
+ <source-position filename="libs/gst/net/gstptpclock.h" line="150"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="id" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="libs/gst/net/gstptpclock.c"
+ line="2645">Callback id to remove</doc>
+ <type name="gulong" c:type="gulong"/>
+ </parameter>
+ </parameters>
+ </function>
+ </namespace>
+</repository>
diff --git a/subprojects/gstreamer-sharp/girs/GstPbutils-1.0.gir b/subprojects/gstreamer-sharp/girs/GstPbutils-1.0.gir
new file mode 100644
index 0000000000..f7a5945932
--- /dev/null
+++ b/subprojects/gstreamer-sharp/girs/GstPbutils-1.0.gir
@@ -0,0 +1,6836 @@
+<?xml version="1.0"?>
+<!-- This file was automatically generated from C sources - DO NOT EDIT!
+To affect the contents of this file, edit the original C definitions,
+and/or use gtk-doc annotations. -->
+<repository version="1.2"
+ xmlns="http://www.gtk.org/introspection/core/1.0"
+ xmlns:c="http://www.gtk.org/introspection/c/1.0"
+ xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
+ <include name="Gst" version="1.0"/>
+ <include name="GstAudio" version="1.0"/>
+ <include name="GstBase" version="1.0"/>
+ <include name="GstVideo" version="1.0"/>
+ <package name="gstreamer-pbutils-1.0"/>
+ <c:include name="gst/pbutils/pbutils.h"/>
+ <namespace name="GstPbutils"
+ version="1.0"
+ shared-library="libgstpbutils-1.0.so.0"
+ c:identifier-prefixes="Gst"
+ c:symbol-prefixes="gst">
+ <alias name="DiscovererAudioInfoClass"
+ c:type="GstDiscovererAudioInfoClass">
+ <source-position filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="120"/>
+ <type name="GObject.ObjectClass" c:type="GObjectClass"/>
+ </alias>
+ <alias name="DiscovererContainerInfoClass"
+ c:type="GstDiscovererContainerInfoClass">
+ <source-position filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="99"/>
+ <type name="GObject.ObjectClass" c:type="GObjectClass"/>
+ </alias>
+ <alias name="DiscovererInfoClass" c:type="GstDiscovererInfoClass">
+ <source-position filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="274"/>
+ <type name="GObject.ObjectClass" c:type="GObjectClass"/>
+ </alias>
+ <alias name="DiscovererStreamInfoClass"
+ c:type="GstDiscovererStreamInfoClass">
+ <source-position filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="36"/>
+ <type name="GObject.ObjectClass" c:type="GObjectClass"/>
+ </alias>
+ <alias name="DiscovererSubtitleInfoClass"
+ c:type="GstDiscovererSubtitleInfoClass">
+ <source-position filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="209"/>
+ <type name="GObject.ObjectClass" c:type="GObjectClass"/>
+ </alias>
+ <alias name="DiscovererVideoInfoClass"
+ c:type="GstDiscovererVideoInfoClass">
+ <source-position filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="158"/>
+ <type name="GObject.ObjectClass" c:type="GObjectClass"/>
+ </alias>
+ <alias name="EncodingTargetClass" c:type="GstEncodingTargetClass">
+ <source-position filename="gst-libs/gst/pbutils/encoding-target.h"
+ line="101"/>
+ <type name="GObject.ObjectClass" c:type="GObjectClass"/>
+ </alias>
+ <function-macro name="AUDIO_VISUALIZER"
+ c:identifier="GST_AUDIO_VISUALIZER"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/pbutils/gstaudiovisualizer.h"
+ line="36"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_VISUALIZER_CLASS"
+ c:identifier="GST_AUDIO_VISUALIZER_CLASS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/pbutils/gstaudiovisualizer.h"
+ line="37"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="AUDIO_VISUALIZER_GET_CLASS"
+ c:identifier="GST_AUDIO_VISUALIZER_GET_CLASS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/pbutils/gstaudiovisualizer.h"
+ line="38"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <class name="AudioVisualizer"
+ c:symbol-prefix="audio_visualizer"
+ c:type="GstAudioVisualizer"
+ parent="Gst.Element"
+ abstract="1"
+ glib:type-name="GstAudioVisualizer"
+ glib:get-type="gst_audio_visualizer_get_type"
+ glib:type-struct="AudioVisualizerClass">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstaudiovisualizer.c"
+ line="22">A baseclass for scopes (visualizers). It takes care of re-fitting the
+audio-rate to video-rate and handles renegotiation (downstream video size
+changes).
+
+It also provides several background shading effects. These effects are
+applied to a previous picture before the `render()` implementation can draw a
+new frame.</doc>
+ <source-position filename="gst-libs/gst/pbutils/gstaudiovisualizer.h"
+ line="104"/>
+ <virtual-method name="decide_allocation">
+ <source-position filename="gst-libs/gst/pbutils/gstaudiovisualizer.h"
+ line="103"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="scope" transfer-ownership="none">
+ <type name="AudioVisualizer" c:type="GstAudioVisualizer*"/>
+ </instance-parameter>
+ <parameter name="query" transfer-ownership="none">
+ <type name="Gst.Query" c:type="GstQuery*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="render">
+ <source-position filename="gst-libs/gst/pbutils/gstaudiovisualizer.h"
+ line="101"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="scope" transfer-ownership="none">
+ <type name="AudioVisualizer" c:type="GstAudioVisualizer*"/>
+ </instance-parameter>
+ <parameter name="audio" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="video" transfer-ownership="none">
+ <type name="GstVideo.VideoFrame" c:type="GstVideoFrame*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="setup">
+ <source-position filename="gst-libs/gst/pbutils/gstaudiovisualizer.h"
+ line="98"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="scope" transfer-ownership="none">
+ <type name="AudioVisualizer" c:type="GstAudioVisualizer*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <property name="shade-amount" writable="1" transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </property>
+ <property name="shader" writable="1" transfer-ownership="none">
+ <type name="AudioVisualizerShader"/>
+ </property>
+ <field name="parent">
+ <type name="Gst.Element" c:type="GstElement"/>
+ </field>
+ <field name="req_spf">
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="vinfo">
+ <type name="GstVideo.VideoInfo" c:type="GstVideoInfo"/>
+ </field>
+ <field name="ainfo">
+ <type name="GstAudio.AudioInfo" c:type="GstAudioInfo"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="AudioVisualizerPrivate"
+ c:type="GstAudioVisualizerPrivate*"/>
+ </field>
+ </class>
+ <record name="AudioVisualizerClass"
+ c:type="GstAudioVisualizerClass"
+ glib:is-gtype-struct-for="AudioVisualizer">
+ <source-position filename="gst-libs/gst/pbutils/gstaudiovisualizer.h"
+ line="104"/>
+ <field name="parent_class" readable="0" private="1">
+ <type name="Gst.ElementClass" c:type="GstElementClass"/>
+ </field>
+ <field name="setup">
+ <callback name="setup">
+ <source-position filename="gst-libs/gst/pbutils/gstaudiovisualizer.h"
+ line="98"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="scope" transfer-ownership="none">
+ <type name="AudioVisualizer" c:type="GstAudioVisualizer*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="render">
+ <callback name="render">
+ <source-position filename="gst-libs/gst/pbutils/gstaudiovisualizer.h"
+ line="101"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="scope" transfer-ownership="none">
+ <type name="AudioVisualizer" c:type="GstAudioVisualizer*"/>
+ </parameter>
+ <parameter name="audio" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="video" transfer-ownership="none">
+ <type name="GstVideo.VideoFrame" c:type="GstVideoFrame*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="decide_allocation">
+ <callback name="decide_allocation">
+ <source-position filename="gst-libs/gst/pbutils/gstaudiovisualizer.h"
+ line="103"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="scope" transfer-ownership="none">
+ <type name="AudioVisualizer" c:type="GstAudioVisualizer*"/>
+ </parameter>
+ <parameter name="query" transfer-ownership="none">
+ <type name="Gst.Query" c:type="GstQuery*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ </record>
+ <record name="AudioVisualizerPrivate"
+ c:type="GstAudioVisualizerPrivate"
+ disguised="1">
+ <source-position filename="gst-libs/gst/pbutils/gstaudiovisualizer.h"
+ line="43"/>
+ </record>
+ <enumeration name="AudioVisualizerShader"
+ glib:type-name="GstAudioVisualizerShader"
+ glib:get-type="gst_audio_visualizer_shader_get_type"
+ c:type="GstAudioVisualizerShader">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstaudiovisualizer.h"
+ line="47">Different types of supported background shading functions.</doc>
+ <member name="none"
+ value="0"
+ c:identifier="GST_AUDIO_VISUALIZER_SHADER_NONE"
+ glib:nick="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstaudiovisualizer.h"
+ line="49">no shading</doc>
+ </member>
+ <member name="fade"
+ value="1"
+ c:identifier="GST_AUDIO_VISUALIZER_SHADER_FADE"
+ glib:nick="fade">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstaudiovisualizer.h"
+ line="50">plain fading</doc>
+ </member>
+ <member name="fade_and_move_up"
+ value="2"
+ c:identifier="GST_AUDIO_VISUALIZER_SHADER_FADE_AND_MOVE_UP"
+ glib:nick="fade-and-move-up">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstaudiovisualizer.h"
+ line="51">fade and move up</doc>
+ </member>
+ <member name="fade_and_move_down"
+ value="3"
+ c:identifier="GST_AUDIO_VISUALIZER_SHADER_FADE_AND_MOVE_DOWN"
+ glib:nick="fade-and-move-down">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstaudiovisualizer.h"
+ line="52">fade and move down</doc>
+ </member>
+ <member name="fade_and_move_left"
+ value="4"
+ c:identifier="GST_AUDIO_VISUALIZER_SHADER_FADE_AND_MOVE_LEFT"
+ glib:nick="fade-and-move-left">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstaudiovisualizer.h"
+ line="53">fade and move left</doc>
+ </member>
+ <member name="fade_and_move_right"
+ value="5"
+ c:identifier="GST_AUDIO_VISUALIZER_SHADER_FADE_AND_MOVE_RIGHT"
+ glib:nick="fade-and-move-right">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstaudiovisualizer.h"
+ line="54">fade and move right</doc>
+ </member>
+ <member name="fade_and_move_horiz_out"
+ value="6"
+ c:identifier="GST_AUDIO_VISUALIZER_SHADER_FADE_AND_MOVE_HORIZ_OUT"
+ glib:nick="fade-and-move-horiz-out">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstaudiovisualizer.h"
+ line="55">fade and move horizontally out</doc>
+ </member>
+ <member name="fade_and_move_horiz_in"
+ value="7"
+ c:identifier="GST_AUDIO_VISUALIZER_SHADER_FADE_AND_MOVE_HORIZ_IN"
+ glib:nick="fade-and-move-horiz-in">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstaudiovisualizer.h"
+ line="56">fade and move horizontally in</doc>
+ </member>
+ <member name="fade_and_move_vert_out"
+ value="8"
+ c:identifier="GST_AUDIO_VISUALIZER_SHADER_FADE_AND_MOVE_VERT_OUT"
+ glib:nick="fade-and-move-vert-out">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstaudiovisualizer.h"
+ line="57">fade and move vertically out</doc>
+ </member>
+ <member name="fade_and_move_vert_in"
+ value="9"
+ c:identifier="GST_AUDIO_VISUALIZER_SHADER_FADE_AND_MOVE_VERT_IN"
+ glib:nick="fade-and-move-vert-in">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstaudiovisualizer.h"
+ line="58">fade and move vertically in</doc>
+ </member>
+ </enumeration>
+ <callback name="AudioVisualizerShaderFunc"
+ c:type="GstAudioVisualizerShaderFunc">
+ <source-position filename="gst-libs/gst/pbutils/gstaudiovisualizer.h"
+ line="45"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="scope" transfer-ownership="none">
+ <type name="AudioVisualizer" c:type="GstAudioVisualizer*"/>
+ </parameter>
+ <parameter name="s" transfer-ownership="none">
+ <type name="GstVideo.VideoFrame" c:type="const GstVideoFrame*"/>
+ </parameter>
+ <parameter name="d" transfer-ownership="none">
+ <type name="GstVideo.VideoFrame" c:type="GstVideoFrame*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <function-macro name="CHECK_PLUGINS_BASE_VERSION"
+ c:identifier="GST_CHECK_PLUGINS_BASE_VERSION"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/pbutils/gstpluginsbaseversion.h"
+ line="63"/>
+ <parameters>
+ <parameter name="major">
+ </parameter>
+ <parameter name="minor">
+ </parameter>
+ <parameter name="micro">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="DISCOVERER"
+ c:identifier="GST_DISCOVERER"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="338"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="DISCOVERER_AUDIO_INFO"
+ c:identifier="GST_DISCOVERER_AUDIO_INFO"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="112"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="DISCOVERER_CLASS"
+ c:identifier="GST_DISCOVERER_CLASS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="340"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="DISCOVERER_CONTAINER_INFO"
+ c:identifier="GST_DISCOVERER_CONTAINER_INFO"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="92"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="DISCOVERER_INFO"
+ c:identifier="GST_DISCOVERER_INFO"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="264"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="DISCOVERER_STREAM_INFO"
+ c:identifier="GST_DISCOVERER_STREAM_INFO"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="30"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="DISCOVERER_SUBTITLE_INFO"
+ c:identifier="GST_DISCOVERER_SUBTITLE_INFO"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="199"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="DISCOVERER_VIDEO_INFO"
+ c:identifier="GST_DISCOVERER_VIDEO_INFO"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="149"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <class name="Discoverer"
+ c:symbol-prefix="discoverer"
+ c:type="GstDiscoverer"
+ parent="GObject.Object"
+ glib:type-name="GstDiscoverer"
+ glib:get-type="gst_discoverer_get_type"
+ glib:type-struct="DiscovererClass">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer.c"
+ line="21">The #GstDiscoverer is a utility object which allows to get as much
+information as possible from one or many URIs.
+
+It provides two APIs, allowing usage in blocking or non-blocking mode.
+
+The blocking mode just requires calling gst_discoverer_discover_uri()
+with the URI one wishes to discover.
+
+The non-blocking mode requires a running #GMainLoop iterating a
+#GMainContext, where one connects to the various signals, appends the
+URIs to be processed (through gst_discoverer_discover_uri_async()) and then
+asks for the discovery to begin (through gst_discoverer_start()).
+By default this will use the GLib default main context unless you have
+set a custom context using g_main_context_push_thread_default().
+
+All the information is returned in a #GstDiscovererInfo structure.</doc>
+ <source-position filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="385"/>
+ <constructor name="new" c:identifier="gst_discoverer_new" throws="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer.c"
+ line="2616">Creates a new #GstDiscoverer with the provided timeout.</doc>
+ <source-position filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="391"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer.c"
+ line="2624">The new #GstDiscoverer.
+If an error occurred when creating the discoverer, @err will be set
+accordingly and %NULL will be returned. If @err is set, the caller must
+free it when no longer needed using g_error_free().</doc>
+ <type name="Discoverer" c:type="GstDiscoverer*"/>
+ </return-value>
+ <parameters>
+ <parameter name="timeout" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer.c"
+ line="2618">timeout per file, in nanoseconds. Allowed are values between
+ one second (#GST_SECOND) and one hour (3600 * #GST_SECOND)</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <virtual-method name="discovered">
+ <source-position filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="378"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="discoverer" transfer-ownership="none">
+ <type name="Discoverer" c:type="GstDiscoverer*"/>
+ </instance-parameter>
+ <parameter name="info" transfer-ownership="none">
+ <type name="DiscovererInfo" c:type="GstDiscovererInfo*"/>
+ </parameter>
+ <parameter name="err" transfer-ownership="none">
+ <type name="GLib.Error" c:type="const GError*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="finished">
+ <source-position filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="376"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="discoverer" transfer-ownership="none">
+ <type name="Discoverer" c:type="GstDiscoverer*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="source_setup">
+ <source-position filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="381"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="discoverer" transfer-ownership="none">
+ <type name="Discoverer" c:type="GstDiscoverer*"/>
+ </instance-parameter>
+ <parameter name="source" transfer-ownership="none">
+ <type name="Gst.Element" c:type="GstElement*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="starting">
+ <source-position filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="377"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="discoverer" transfer-ownership="none">
+ <type name="Discoverer" c:type="GstDiscoverer*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <method name="discover_uri"
+ c:identifier="gst_discoverer_discover_uri"
+ throws="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer.c"
+ line="2554">Synchronously discovers the given @uri.
+
+A copy of @uri will be made internally, so the caller can safely g_free()
+afterwards.</doc>
+ <source-position filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="409"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer.c"
+ line="2565">the result of the scanning. Can be %NULL if an
+error occurred.</doc>
+ <type name="DiscovererInfo" c:type="GstDiscovererInfo*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="discoverer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer.c"
+ line="2556">A #GstDiscoverer</doc>
+ <type name="Discoverer" c:type="GstDiscoverer*"/>
+ </instance-parameter>
+ <parameter name="uri" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer.c"
+ line="2557">The URI to run on.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="discover_uri_async"
+ c:identifier="gst_discoverer_discover_uri_async">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer.c"
+ line="2515">Appends the given @uri to the list of URIs to discoverer. The actual
+discovery of the @uri will only take place if gst_discoverer_start() has
+been called.
+
+A copy of @uri will be made internally, so the caller can safely g_free()
+afterwards.</doc>
+ <source-position filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="402"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer.c"
+ line="2527">%TRUE if the @uri was successfully appended to the list of pending
+uris, else %FALSE</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="discoverer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer.c"
+ line="2517">A #GstDiscoverer</doc>
+ <type name="Discoverer" c:type="GstDiscoverer*"/>
+ </instance-parameter>
+ <parameter name="uri" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer.c"
+ line="2518">the URI to add.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="start" c:identifier="gst_discoverer_start">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer.c"
+ line="2414">Allow asynchronous discovering of URIs to take place.
+A #GMainLoop must be available for #GstDiscoverer to properly work in
+asynchronous mode.</doc>
+ <source-position filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="396"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="discoverer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer.c"
+ line="2416">A #GstDiscoverer</doc>
+ <type name="Discoverer" c:type="GstDiscoverer*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="stop" c:identifier="gst_discoverer_stop">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer.c"
+ line="2457">Stop the discovery of any pending URIs and clears the list of
+pending URIS (if any).</doc>
+ <source-position filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="399"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="discoverer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer.c"
+ line="2459">A #GstDiscoverer</doc>
+ <type name="Discoverer" c:type="GstDiscoverer*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <property name="timeout"
+ writable="1"
+ construct="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer.c"
+ line="232">The duration (in nanoseconds) after which the discovery of an individual
+URI will timeout.
+
+If the discovery of a URI times out, the %GST_DISCOVERER_TIMEOUT will be
+set on the result flags.</doc>
+ <type name="guint64" c:type="guint64"/>
+ </property>
+ <property name="use-cache"
+ writable="1"
+ construct="1"
+ transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </property>
+ <field name="parent">
+ <type name="GObject.Object" c:type="GObject"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="DiscovererPrivate" c:type="GstDiscovererPrivate*"/>
+ </field>
+ <field name="_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <glib:signal name="discovered" when="last">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer.c"
+ line="287">Will be emitted in async mode when all information on a URI could be
+discovered, or an error occurred.
+
+When an error occurs, @info might still contain some partial information,
+depending on the circumstances of the error.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer.c"
+ line="290">the results #GstDiscovererInfo</doc>
+ <type name="DiscovererInfo"/>
+ </parameter>
+ <parameter name="error"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer.c"
+ line="291">#GError, which will be non-NULL
+ if an error occurred during
+ discovery. You must not free
+ this #GError, it will be freed by
+ the discoverer.</doc>
+ <type name="GLib.Error"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="finished" when="last">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer.c"
+ line="265">Will be emitted in async mode when all pending URIs have been processed.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </glib:signal>
+ <glib:signal name="source-setup" when="last">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer.c"
+ line="309">This signal is emitted after the source element has been created for, so
+the URI being discovered, so it can be configured by setting additional
+properties (e.g. set a proxy server for an http source, or set the device
+and read speed for an audio cd source).
+
+This signal is usually emitted from the context of a GStreamer streaming
+thread.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="source" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer.c"
+ line="312">source element</doc>
+ <type name="Gst.Element"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="starting" when="last">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer.c"
+ line="276">Will be emitted when the discover starts analyzing the pending URIs</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </glib:signal>
+ </class>
+ <class name="DiscovererAudioInfo"
+ c:symbol-prefix="discoverer_audio_info"
+ c:type="GstDiscovererAudioInfo"
+ parent="DiscovererStreamInfo"
+ glib:type-name="GstDiscovererAudioInfo"
+ glib:get-type="gst_discoverer_audio_info_get_type">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="108">#GstDiscovererStreamInfo specific to audio streams.</doc>
+ <method name="get_bitrate"
+ c:identifier="gst_discoverer_audio_info_get_bitrate">
+ <source-position filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="138"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer-types.c"
+ line="792">the average or nominal bitrate of the stream in bits/second.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer-types.c"
+ line="790">a #GstDiscovererAudioInfo</doc>
+ <type name="DiscovererAudioInfo"
+ c:type="const GstDiscovererAudioInfo*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_channel_mask"
+ c:identifier="gst_discoverer_audio_info_get_channel_mask"
+ version="1.14">
+ <source-position filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="129"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer-types.c"
+ line="761">the channel-mask of the stream, refer to
+gst_audio_channel_positions_from_mask() for more
+information.</doc>
+ <type name="guint64" c:type="guint64"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer-types.c"
+ line="759">a #GstDiscovererAudioInfo</doc>
+ <type name="DiscovererAudioInfo"
+ c:type="const GstDiscovererAudioInfo*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_channels"
+ c:identifier="gst_discoverer_audio_info_get_channels">
+ <source-position filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="126"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer-types.c"
+ line="752">the number of channels in the stream.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer-types.c"
+ line="750">a #GstDiscovererAudioInfo</doc>
+ <type name="DiscovererAudioInfo"
+ c:type="const GstDiscovererAudioInfo*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_depth"
+ c:identifier="gst_discoverer_audio_info_get_depth">
+ <source-position filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="135"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer-types.c"
+ line="783">the number of bits used per sample in each channel.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer-types.c"
+ line="781">a #GstDiscovererAudioInfo</doc>
+ <type name="DiscovererAudioInfo"
+ c:type="const GstDiscovererAudioInfo*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_language"
+ c:identifier="gst_discoverer_audio_info_get_language">
+ <source-position filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="144"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer-types.c"
+ line="810">the language of the stream, or NULL if unknown.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer-types.c"
+ line="808">a #GstDiscovererAudioInfo</doc>
+ <type name="DiscovererAudioInfo"
+ c:type="const GstDiscovererAudioInfo*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_max_bitrate"
+ c:identifier="gst_discoverer_audio_info_get_max_bitrate">
+ <source-position filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="141"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer-types.c"
+ line="801">the maximum bitrate of the stream in bits/second.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer-types.c"
+ line="799">a #GstDiscovererAudioInfo</doc>
+ <type name="DiscovererAudioInfo"
+ c:type="const GstDiscovererAudioInfo*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_sample_rate"
+ c:identifier="gst_discoverer_audio_info_get_sample_rate">
+ <source-position filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="132"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer-types.c"
+ line="774">the sample rate of the stream in Hertz.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer-types.c"
+ line="772">a #GstDiscovererAudioInfo</doc>
+ <type name="DiscovererAudioInfo"
+ c:type="const GstDiscovererAudioInfo*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ </class>
+ <record name="DiscovererClass"
+ c:type="GstDiscovererClass"
+ glib:is-gtype-struct-for="Discoverer">
+ <source-position filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="385"/>
+ <field name="parentclass">
+ <type name="GObject.ObjectClass" c:type="GObjectClass"/>
+ </field>
+ <field name="finished">
+ <callback name="finished">
+ <source-position filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="376"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="discoverer" transfer-ownership="none">
+ <type name="Discoverer" c:type="GstDiscoverer*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="starting">
+ <callback name="starting">
+ <source-position filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="377"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="discoverer" transfer-ownership="none">
+ <type name="Discoverer" c:type="GstDiscoverer*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="discovered">
+ <callback name="discovered">
+ <source-position filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="378"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="discoverer" transfer-ownership="none">
+ <type name="Discoverer" c:type="GstDiscoverer*"/>
+ </parameter>
+ <parameter name="info" transfer-ownership="none">
+ <type name="DiscovererInfo" c:type="GstDiscovererInfo*"/>
+ </parameter>
+ <parameter name="err" transfer-ownership="none">
+ <type name="GLib.Error" c:type="const GError*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="source_setup">
+ <callback name="source_setup">
+ <source-position filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="381"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="discoverer" transfer-ownership="none">
+ <type name="Discoverer" c:type="GstDiscoverer*"/>
+ </parameter>
+ <parameter name="source" transfer-ownership="none">
+ <type name="Gst.Element" c:type="GstElement*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_reserved">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <class name="DiscovererContainerInfo"
+ c:symbol-prefix="discoverer_container_info"
+ c:type="GstDiscovererContainerInfo"
+ parent="DiscovererStreamInfo"
+ glib:type-name="GstDiscovererContainerInfo"
+ glib:get-type="gst_discoverer_container_info_get_type">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="87">#GstDiscovererStreamInfo specific to container streams.</doc>
+ <method name="get_streams"
+ c:identifier="gst_discoverer_container_info_get_streams">
+ <source-position filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="105"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer-types.c"
+ line="721">the list of
+#GstDiscovererStreamInfo this container stream offers.
+Free with gst_discoverer_stream_info_list_free() after usage.</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="DiscovererStreamInfo"/>
+ </type>
+ </return-value>
+ <parameters>
+ <instance-parameter name="info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer-types.c"
+ line="719">a #GstDiscovererStreamInfo</doc>
+ <type name="DiscovererContainerInfo"
+ c:type="GstDiscovererContainerInfo*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ </class>
+ <class name="DiscovererInfo"
+ c:symbol-prefix="discoverer_info"
+ c:type="GstDiscovererInfo"
+ parent="GObject.Object"
+ glib:type-name="GstDiscovererInfo"
+ glib:get-type="gst_discoverer_info_get_type">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="261">Structure containing the information of a URI analyzed by #GstDiscoverer.</doc>
+ <function name="from_variant"
+ c:identifier="gst_discoverer_info_from_variant"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer.c"
+ line="2689">Parses a #GVariant as produced by gst_discoverer_info_to_variant()
+back to a #GstDiscovererInfo.</doc>
+ <source-position filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="338"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer.c"
+ line="2696">A newly-allocated #GstDiscovererInfo.</doc>
+ <type name="DiscovererInfo" c:type="GstDiscovererInfo*"/>
+ </return-value>
+ <parameters>
+ <parameter name="variant" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer.c"
+ line="2691">A #GVariant to deserialize into a #GstDiscovererInfo.</doc>
+ <type name="GLib.Variant" c:type="GVariant*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <method name="copy" c:identifier="gst_discoverer_info_copy">
+ <source-position filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="283"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer-types.c"
+ line="395">A copy of the #GstDiscovererInfo</doc>
+ <type name="DiscovererInfo" c:type="GstDiscovererInfo*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="ptr" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer-types.c"
+ line="393">a #GstDiscovererInfo</doc>
+ <type name="DiscovererInfo" c:type="GstDiscovererInfo*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_audio_streams"
+ c:identifier="gst_discoverer_info_get_audio_streams">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer-types.c"
+ line="494">Finds all the #GstDiscovererAudioInfo contained in @info</doc>
+ <source-position filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="322"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer-types.c"
+ line="500">A #GList of
+matching #GstDiscovererStreamInfo. The caller should free it with
+gst_discoverer_stream_info_list_free().</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="DiscovererStreamInfo"/>
+ </type>
+ </return-value>
+ <parameters>
+ <instance-parameter name="info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer-types.c"
+ line="496">a #GstDiscovererInfo</doc>
+ <type name="DiscovererInfo" c:type="GstDiscovererInfo*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_container_streams"
+ c:identifier="gst_discoverer_info_get_container_streams">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer-types.c"
+ line="543">Finds all the #GstDiscovererContainerInfo contained in @info</doc>
+ <source-position filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="331"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer-types.c"
+ line="549">A #GList of
+matching #GstDiscovererStreamInfo. The caller should free it with
+gst_discoverer_stream_info_list_free().</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="DiscovererStreamInfo"/>
+ </type>
+ </return-value>
+ <parameters>
+ <instance-parameter name="info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer-types.c"
+ line="545">a #GstDiscovererInfo</doc>
+ <type name="DiscovererInfo" c:type="GstDiscovererInfo*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_duration"
+ c:identifier="gst_discoverer_info_get_duration">
+ <source-position filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="298"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer-types.c"
+ line="1021">the duration of the URI in #GstClockTime (nanoseconds).</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer-types.c"
+ line="1019">a #GstDiscovererInfo</doc>
+ <type name="DiscovererInfo" c:type="const GstDiscovererInfo*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_live"
+ c:identifier="gst_discoverer_info_get_live"
+ version="1.14">
+ <source-position filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="304"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer-types.c"
+ line="1039">whether the URI is live.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer-types.c"
+ line="1037">a #GstDiscovererInfo</doc>
+ <type name="DiscovererInfo" c:type="const GstDiscovererInfo*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_misc"
+ c:identifier="gst_discoverer_info_get_misc"
+ deprecated="1">
+ <doc-deprecated xml:space="preserve">This functions is deprecated since version 1.4, use
+#gst_discoverer_info_get_missing_elements_installer_details</doc-deprecated>
+ <source-position filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="307"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer-types.c"
+ line="1054">Miscellaneous information stored as a #GstStructure
+(for example: information about missing plugins). If you wish to use the
+#GstStructure after the life-time of @info, you will need to copy it.</doc>
+ <type name="Gst.Structure" c:type="const GstStructure*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer-types.c"
+ line="1049">a #GstDiscovererInfo</doc>
+ <type name="DiscovererInfo" c:type="const GstDiscovererInfo*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_missing_elements_installer_details"
+ c:identifier="gst_discoverer_info_get_missing_elements_installer_details"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer-types.c"
+ line="1115">Get the installer details for missing elements</doc>
+ <source-position filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="315"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer-types.c"
+ line="1122">An array of strings
+containing information about how to install the various missing elements
+for @info to be usable. If you wish to use the strings after the life-time
+of @info, you will need to copy them.</doc>
+ <array c:type="const gchar**">
+ <type name="utf8"/>
+ </array>
+ </return-value>
+ <parameters>
+ <instance-parameter name="info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer-types.c"
+ line="1117">a #GstDiscovererStreamInfo to retrieve installer detail
+for the missing element</doc>
+ <type name="DiscovererInfo" c:type="const GstDiscovererInfo*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_result" c:identifier="gst_discoverer_info_get_result">
+ <source-position filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="289"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer-types.c"
+ line="969">the result of the discovery as a #GstDiscovererResult.</doc>
+ <type name="DiscovererResult" c:type="GstDiscovererResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer-types.c"
+ line="967">a #GstDiscovererInfo</doc>
+ <type name="DiscovererInfo" c:type="const GstDiscovererInfo*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_seekable"
+ c:identifier="gst_discoverer_info_get_seekable">
+ <source-position filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="301"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer-types.c"
+ line="1030">the whether the URI is seekable.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer-types.c"
+ line="1028">a #GstDiscovererInfo</doc>
+ <type name="DiscovererInfo" c:type="const GstDiscovererInfo*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_stream_info"
+ c:identifier="gst_discoverer_info_get_stream_info">
+ <source-position filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="292"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer-types.c"
+ line="978">the structure (or topology) of the URI as a
+#GstDiscovererStreamInfo.
+This structure can be traversed to see the original hierarchy. Unref with
+gst_discoverer_stream_info_unref() after usage.</doc>
+ <type name="DiscovererStreamInfo" c:type="GstDiscovererStreamInfo*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer-types.c"
+ line="976">a #GstDiscovererInfo</doc>
+ <type name="DiscovererInfo" c:type="GstDiscovererInfo*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_stream_list"
+ c:identifier="gst_discoverer_info_get_stream_list">
+ <source-position filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="295"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer-types.c"
+ line="998">the list of
+all streams contained in the #info. Free after usage
+with gst_discoverer_stream_info_list_free().</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="DiscovererStreamInfo"/>
+ </type>
+ </return-value>
+ <parameters>
+ <instance-parameter name="info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer-types.c"
+ line="996">a #GstDiscovererInfo</doc>
+ <type name="DiscovererInfo" c:type="GstDiscovererInfo*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_streams"
+ c:identifier="gst_discoverer_info_get_streams">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer-types.c"
+ line="467">Finds the #GstDiscovererStreamInfo contained in @info that match the
+given @streamtype.</doc>
+ <source-position filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="318"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer-types.c"
+ line="475">A #GList of
+matching #GstDiscovererStreamInfo. The caller should free it with
+gst_discoverer_stream_info_list_free().</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="DiscovererStreamInfo"/>
+ </type>
+ </return-value>
+ <parameters>
+ <instance-parameter name="info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer-types.c"
+ line="469">a #GstDiscovererInfo</doc>
+ <type name="DiscovererInfo" c:type="GstDiscovererInfo*"/>
+ </instance-parameter>
+ <parameter name="streamtype" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer-types.c"
+ line="470">a #GType derived from #GstDiscovererStreamInfo</doc>
+ <type name="GType" c:type="GType"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_subtitle_streams"
+ c:identifier="gst_discoverer_info_get_subtitle_streams">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer-types.c"
+ line="526">Finds all the #GstDiscovererSubtitleInfo contained in @info</doc>
+ <source-position filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="328"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer-types.c"
+ line="532">A #GList of
+matching #GstDiscovererStreamInfo. The caller should free it with
+gst_discoverer_stream_info_list_free().</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="DiscovererStreamInfo"/>
+ </type>
+ </return-value>
+ <parameters>
+ <instance-parameter name="info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer-types.c"
+ line="528">a #GstDiscovererInfo</doc>
+ <type name="DiscovererInfo" c:type="GstDiscovererInfo*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_tags" c:identifier="gst_discoverer_info_get_tags">
+ <source-position filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="310"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer-types.c"
+ line="1066">all tags contained in the URI. If you wish to use
+the tags after the life-time of @info, you will need to copy them.</doc>
+ <type name="Gst.TagList" c:type="const GstTagList*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer-types.c"
+ line="1064">a #GstDiscovererInfo</doc>
+ <type name="DiscovererInfo" c:type="const GstDiscovererInfo*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_toc" c:identifier="gst_discoverer_info_get_toc">
+ <source-position filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="312"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer-types.c"
+ line="1076">TOC contained in the URI. If you wish to use
+the TOC after the life-time of @info, you will need to copy it.</doc>
+ <type name="Gst.Toc" c:type="const GstToc*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer-types.c"
+ line="1074">a #GstDiscovererInfo</doc>
+ <type name="DiscovererInfo" c:type="const GstDiscovererInfo*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_uri" c:identifier="gst_discoverer_info_get_uri">
+ <source-position filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="286"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer-types.c"
+ line="959">the URI to which this information corresponds to.
+Copy it if you wish to use it after the life-time of @info.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer-types.c"
+ line="957">a #GstDiscovererInfo</doc>
+ <type name="DiscovererInfo" c:type="const GstDiscovererInfo*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_video_streams"
+ c:identifier="gst_discoverer_info_get_video_streams">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer-types.c"
+ line="510">Finds all the #GstDiscovererVideoInfo contained in @info</doc>
+ <source-position filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="325"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer-types.c"
+ line="516">A #GList of
+matching #GstDiscovererStreamInfo. The caller should free it with
+gst_discoverer_stream_info_list_free().</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="DiscovererStreamInfo"/>
+ </type>
+ </return-value>
+ <parameters>
+ <instance-parameter name="info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer-types.c"
+ line="512">a #GstDiscovererInfo</doc>
+ <type name="DiscovererInfo" c:type="GstDiscovererInfo*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="to_variant"
+ c:identifier="gst_discoverer_info_to_variant"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer.c"
+ line="2645">Serializes @info to a #GVariant that can be parsed again
+through gst_discoverer_info_from_variant().
+
+Note that any #GstToc (s) that might have been discovered will not be serialized
+for now.</doc>
+ <source-position filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="334"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer.c"
+ line="2657">A newly-allocated #GVariant representing @info.</doc>
+ <type name="GLib.Variant" c:type="GVariant*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer.c"
+ line="2647">A #GstDiscovererInfo</doc>
+ <type name="DiscovererInfo" c:type="GstDiscovererInfo*"/>
+ </instance-parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer.c"
+ line="2648">A combination of #GstDiscovererSerializeFlags to specify
+what needs to be serialized.</doc>
+ <type name="DiscovererSerializeFlags"
+ c:type="GstDiscovererSerializeFlags"/>
+ </parameter>
+ </parameters>
+ </method>
+ </class>
+ <record name="DiscovererPrivate"
+ c:type="GstDiscovererPrivate"
+ disguised="1">
+ <source-position filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="356"/>
+ </record>
+ <enumeration name="DiscovererResult"
+ glib:type-name="GstDiscovererResult"
+ glib:get-type="gst_discoverer_result_get_type"
+ c:type="GstDiscovererResult">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="217">Result values for the discovery process.</doc>
+ <member name="ok"
+ value="0"
+ c:identifier="GST_DISCOVERER_OK"
+ glib:nick="ok">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="219">The discovery was successful</doc>
+ </member>
+ <member name="uri_invalid"
+ value="1"
+ c:identifier="GST_DISCOVERER_URI_INVALID"
+ glib:nick="uri-invalid">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="220">the URI is invalid</doc>
+ </member>
+ <member name="error"
+ value="2"
+ c:identifier="GST_DISCOVERER_ERROR"
+ glib:nick="error">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="221">an error happened and the GError is set</doc>
+ </member>
+ <member name="timeout"
+ value="3"
+ c:identifier="GST_DISCOVERER_TIMEOUT"
+ glib:nick="timeout">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="222">the discovery timed-out</doc>
+ </member>
+ <member name="busy"
+ value="4"
+ c:identifier="GST_DISCOVERER_BUSY"
+ glib:nick="busy">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="223">the discoverer was already discovering a file</doc>
+ </member>
+ <member name="missing_plugins"
+ value="5"
+ c:identifier="GST_DISCOVERER_MISSING_PLUGINS"
+ glib:nick="missing-plugins">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="224">Some plugins are missing for full discovery</doc>
+ </member>
+ </enumeration>
+ <bitfield name="DiscovererSerializeFlags"
+ version="1.6"
+ glib:type-name="GstDiscovererSerializeFlags"
+ glib:get-type="gst_discoverer_serialize_flags_get_type"
+ c:type="GstDiscovererSerializeFlags">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="237">You can use these flags to control what is serialized by
+gst_discoverer_info_to_variant()</doc>
+ <member name="basic"
+ value="0"
+ c:identifier="GST_DISCOVERER_SERIALIZE_BASIC"
+ glib:nick="basic">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="239">Serialize only basic information, excluding
+caps, tags and miscellaneous information</doc>
+ </member>
+ <member name="caps"
+ value="1"
+ c:identifier="GST_DISCOVERER_SERIALIZE_CAPS"
+ glib:nick="caps">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="241">Serialize the caps for each stream</doc>
+ </member>
+ <member name="tags"
+ value="2"
+ c:identifier="GST_DISCOVERER_SERIALIZE_TAGS"
+ glib:nick="tags">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="242">Serialize the tags for each stream</doc>
+ </member>
+ <member name="misc"
+ value="4"
+ c:identifier="GST_DISCOVERER_SERIALIZE_MISC"
+ glib:nick="misc">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="243">Serialize miscellaneous information for each stream</doc>
+ </member>
+ <member name="all"
+ value="7"
+ c:identifier="GST_DISCOVERER_SERIALIZE_ALL"
+ glib:nick="all">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="244">Serialize all the available info, including
+caps, tags and miscellaneous information</doc>
+ </member>
+ </bitfield>
+ <class name="DiscovererStreamInfo"
+ c:symbol-prefix="discoverer_stream_info"
+ c:type="GstDiscovererStreamInfo"
+ parent="GObject.Object"
+ glib:type-name="GstDiscovererStreamInfo"
+ glib:get-type="gst_discoverer_stream_info_get_type">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="41">Base structure for information concerning a media stream. Depending on the
+stream type, one can find more media-specific information in
+#GstDiscovererAudioInfo, #GstDiscovererVideoInfo, and
+#GstDiscovererContainerInfo.
+
+The #GstDiscovererStreamInfo represents the topology of the stream. Siblings
+can be iterated over with gst_discoverer_stream_info_get_next() and
+gst_discoverer_stream_info_get_previous(). Children (sub-streams) of a
+stream can be accessed using the #GstDiscovererContainerInfo API.
+
+As a simple example, if you run #GstDiscoverer on an AVI file with one audio
+and one video stream, you will get a #GstDiscovererContainerInfo
+corresponding to the AVI container, which in turn will have a
+#GstDiscovererAudioInfo sub-stream and a #GstDiscovererVideoInfo sub-stream
+for the audio and video streams respectively.</doc>
+ <function name="list_free"
+ c:identifier="gst_discoverer_stream_info_list_free">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer-types.c"
+ line="450">Decrements the reference count of all contained #GstDiscovererStreamInfo
+and fress the #GList.</doc>
+ <source-position filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="341"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="infos" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer-types.c"
+ line="452">a #GList of #GstDiscovererStreamInfo</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="DiscovererStreamInfo"/>
+ </type>
+ </parameter>
+ </parameters>
+ </function>
+ <method name="get_caps"
+ c:identifier="gst_discoverer_stream_info_get_caps">
+ <source-position filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="70"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer-types.c"
+ line="636">the #GstCaps of the stream. Unref with
+#gst_caps_unref after usage.</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer-types.c"
+ line="634">a #GstDiscovererStreamInfo</doc>
+ <type name="DiscovererStreamInfo"
+ c:type="GstDiscovererStreamInfo*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_misc"
+ c:identifier="gst_discoverer_stream_info_get_misc"
+ deprecated="1">
+ <doc-deprecated xml:space="preserve">This functions is deprecated since version 1.4, use
+#gst_discoverer_info_get_missing_elements_installer_details</doc-deprecated>
+ <source-position filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="82"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer-types.c"
+ line="702">additional information regarding the stream (for
+example codec version, profile, etc..). If you wish to use the #GstStructure
+after the life-time of @info you will need to copy it.</doc>
+ <type name="Gst.Structure" c:type="const GstStructure*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer-types.c"
+ line="697">a #GstDiscovererStreamInfo</doc>
+ <type name="DiscovererStreamInfo"
+ c:type="GstDiscovererStreamInfo*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_next"
+ c:identifier="gst_discoverer_stream_info_get_next">
+ <source-position filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="67"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer-types.c"
+ line="617">the next #GstDiscovererStreamInfo in a chain. %NULL
+for final streams.
+Unref with #gst_discoverer_stream_info_unref after usage.</doc>
+ <type name="DiscovererStreamInfo" c:type="GstDiscovererStreamInfo*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer-types.c"
+ line="615">a #GstDiscovererStreamInfo</doc>
+ <type name="DiscovererStreamInfo"
+ c:type="GstDiscovererStreamInfo*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_previous"
+ c:identifier="gst_discoverer_stream_info_get_previous">
+ <source-position filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="64"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer-types.c"
+ line="599">the previous #GstDiscovererStreamInfo in a chain.
+%NULL for starting points. Unref with #gst_discoverer_stream_info_unref
+after usage.</doc>
+ <type name="DiscovererStreamInfo" c:type="GstDiscovererStreamInfo*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer-types.c"
+ line="597">a #GstDiscovererStreamInfo</doc>
+ <type name="DiscovererStreamInfo"
+ c:type="GstDiscovererStreamInfo*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_stream_id"
+ c:identifier="gst_discoverer_stream_info_get_stream_id">
+ <source-position filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="79"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer-types.c"
+ line="683">the stream ID of this stream. If you wish to
+use the stream ID after the life-time of @info you will need to copy it.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer-types.c"
+ line="681">a #GstDiscovererStreamInfo</doc>
+ <type name="DiscovererStreamInfo"
+ c:type="GstDiscovererStreamInfo*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_stream_type_nick"
+ c:identifier="gst_discoverer_stream_info_get_stream_type_nick">
+ <source-position filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="85"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer-types.c"
+ line="564">a human readable name for the stream type of the given @info (ex : "audio",
+"container",...).</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer-types.c"
+ line="562">a #GstDiscovererStreamInfo</doc>
+ <type name="DiscovererStreamInfo"
+ c:type="GstDiscovererStreamInfo*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_tags"
+ c:identifier="gst_discoverer_stream_info_get_tags">
+ <source-position filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="73"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer-types.c"
+ line="653">the tags contained in this stream. If you wish to
+use the tags after the life-time of @info you will need to copy them.</doc>
+ <type name="Gst.TagList" c:type="const GstTagList*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer-types.c"
+ line="651">a #GstDiscovererStreamInfo</doc>
+ <type name="DiscovererStreamInfo"
+ c:type="GstDiscovererStreamInfo*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_toc" c:identifier="gst_discoverer_stream_info_get_toc">
+ <source-position filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="76"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer-types.c"
+ line="668">the TOC contained in this stream. If you wish to
+use the TOC after the life-time of @info you will need to copy it.</doc>
+ <type name="Gst.Toc" c:type="const GstToc*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer-types.c"
+ line="666">a #GstDiscovererStreamInfo</doc>
+ <type name="DiscovererStreamInfo"
+ c:type="GstDiscovererStreamInfo*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ </class>
+ <class name="DiscovererSubtitleInfo"
+ c:symbol-prefix="discoverer_subtitle_info"
+ c:type="GstDiscovererSubtitleInfo"
+ parent="DiscovererStreamInfo"
+ glib:type-name="GstDiscovererSubtitleInfo"
+ glib:get-type="gst_discoverer_subtitle_info_get_type">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="196">#GstDiscovererStreamInfo specific to subtitle streams (this includes text and
+image based ones).</doc>
+ <method name="get_language"
+ c:identifier="gst_discoverer_subtitle_info_get_language">
+ <source-position filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="215"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer-types.c"
+ line="943">the language of the stream, or NULL if unknown.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer-types.c"
+ line="941">a #GstDiscovererSubtitleInfo</doc>
+ <type name="DiscovererSubtitleInfo"
+ c:type="const GstDiscovererSubtitleInfo*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ </class>
+ <class name="DiscovererVideoInfo"
+ c:symbol-prefix="discoverer_video_info"
+ c:type="GstDiscovererVideoInfo"
+ parent="DiscovererStreamInfo"
+ glib:type-name="GstDiscovererVideoInfo"
+ glib:get-type="gst_discoverer_video_info_get_type">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="146">#GstDiscovererStreamInfo specific to video streams (this includes images).</doc>
+ <method name="get_bitrate"
+ c:identifier="gst_discoverer_video_info_get_bitrate">
+ <source-position filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="188"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer-types.c"
+ line="903">the average or nominal bitrate of the video stream in bits/second.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer-types.c"
+ line="901">a #GstDiscovererVideoInfo</doc>
+ <type name="DiscovererVideoInfo"
+ c:type="const GstDiscovererVideoInfo*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_depth"
+ c:identifier="gst_discoverer_video_info_get_depth">
+ <source-position filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="170"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer-types.c"
+ line="844">the depth in bits of the video stream.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer-types.c"
+ line="842">a #GstDiscovererVideoInfo</doc>
+ <type name="DiscovererVideoInfo"
+ c:type="const GstDiscovererVideoInfo*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_framerate_denom"
+ c:identifier="gst_discoverer_video_info_get_framerate_denom">
+ <source-position filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="176"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer-types.c"
+ line="862">the framerate of the video stream (denominator).</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer-types.c"
+ line="860">a #GstDiscovererVideoInfo</doc>
+ <type name="DiscovererVideoInfo"
+ c:type="const GstDiscovererVideoInfo*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_framerate_num"
+ c:identifier="gst_discoverer_video_info_get_framerate_num">
+ <source-position filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="173"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer-types.c"
+ line="853">the framerate of the video stream (numerator).</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer-types.c"
+ line="851">a #GstDiscovererVideoInfo</doc>
+ <type name="DiscovererVideoInfo"
+ c:type="const GstDiscovererVideoInfo*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_height"
+ c:identifier="gst_discoverer_video_info_get_height">
+ <source-position filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="167"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer-types.c"
+ line="835">the height of the video stream in pixels.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer-types.c"
+ line="833">a #GstDiscovererVideoInfo</doc>
+ <type name="DiscovererVideoInfo"
+ c:type="const GstDiscovererVideoInfo*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_max_bitrate"
+ c:identifier="gst_discoverer_video_info_get_max_bitrate">
+ <source-position filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="191"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer-types.c"
+ line="912">the maximum bitrate of the video stream in bits/second.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer-types.c"
+ line="910">a #GstDiscovererVideoInfo</doc>
+ <type name="DiscovererVideoInfo"
+ c:type="const GstDiscovererVideoInfo*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_par_denom"
+ c:identifier="gst_discoverer_video_info_get_par_denom">
+ <source-position filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="182"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer-types.c"
+ line="880">the Pixel Aspect Ratio (PAR) of the video stream (denominator).</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer-types.c"
+ line="878">a #GstDiscovererVideoInfo</doc>
+ <type name="DiscovererVideoInfo"
+ c:type="const GstDiscovererVideoInfo*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_par_num"
+ c:identifier="gst_discoverer_video_info_get_par_num">
+ <source-position filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="179"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer-types.c"
+ line="871">the Pixel Aspect Ratio (PAR) of the video stream (numerator).</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer-types.c"
+ line="869">a #GstDiscovererVideoInfo</doc>
+ <type name="DiscovererVideoInfo"
+ c:type="const GstDiscovererVideoInfo*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_width"
+ c:identifier="gst_discoverer_video_info_get_width">
+ <source-position filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="164"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer-types.c"
+ line="826">the width of the video stream in pixels.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer-types.c"
+ line="824">a #GstDiscovererVideoInfo</doc>
+ <type name="DiscovererVideoInfo"
+ c:type="const GstDiscovererVideoInfo*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="is_image"
+ c:identifier="gst_discoverer_video_info_is_image">
+ <source-position filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="194"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer-types.c"
+ line="921">%TRUE if the video stream corresponds to an image (i.e. only contains
+one frame).</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer-types.c"
+ line="919">a #GstDiscovererVideoInfo</doc>
+ <type name="DiscovererVideoInfo"
+ c:type="const GstDiscovererVideoInfo*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="is_interlaced"
+ c:identifier="gst_discoverer_video_info_is_interlaced">
+ <source-position filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="185"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer-types.c"
+ line="889">%TRUE if the stream is interlaced, else %FALSE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer-types.c"
+ line="887">a #GstDiscovererVideoInfo</doc>
+ <type name="DiscovererVideoInfo"
+ c:type="const GstDiscovererVideoInfo*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ </class>
+ <function-macro name="ENCODING_AUDIO_PROFILE"
+ c:identifier="GST_ENCODING_AUDIO_PROFILE"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/pbutils/encoding-profile.h"
+ line="93"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <constant name="ENCODING_CATEGORY_CAPTURE"
+ value="capture"
+ c:type="GST_ENCODING_CATEGORY_CAPTURE">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-target.h"
+ line="66">#GstEncodingTarget category for recording and capture.
+Targets within this category are optimized for low latency encoding.</doc>
+ <source-position filename="gst-libs/gst/pbutils/encoding-target.h"
+ line="72"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="ENCODING_CATEGORY_DEVICE"
+ value="device"
+ c:type="GST_ENCODING_CATEGORY_DEVICE">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-target.h"
+ line="35">#GstEncodingTarget category for device-specific targets.
+The name of the target will usually be the constructor and model of the device,
+and that target will contain #GstEncodingProfiles suitable for that device.</doc>
+ <source-position filename="gst-libs/gst/pbutils/encoding-target.h"
+ line="42"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="ENCODING_CATEGORY_FILE_EXTENSION"
+ value="file-extension"
+ c:type="GST_ENCODING_CATEGORY_FILE_EXTENSION">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-target.h"
+ line="74">#GstEncodingTarget category for file extensions.
+The name of the target will be the name of the file extensions possible
+for a particular target. Those targets are defining like 'default' formats
+usually used for a particular file extension.</doc>
+ <source-position filename="gst-libs/gst/pbutils/encoding-target.h"
+ line="83"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="ENCODING_CATEGORY_ONLINE_SERVICE"
+ value="online-service"
+ c:type="GST_ENCODING_CATEGORY_ONLINE_SERVICE">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-target.h"
+ line="44">#GstEncodingTarget category for online-services.
+The name of the target will usually be the name of the online service
+and that target will contain #GstEncodingProfiles suitable for that online
+service.</doc>
+ <source-position filename="gst-libs/gst/pbutils/encoding-target.h"
+ line="53"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="ENCODING_CATEGORY_STORAGE_EDITING"
+ value="storage-editing"
+ c:type="GST_ENCODING_CATEGORY_STORAGE_EDITING">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-target.h"
+ line="55">#GstEncodingTarget category for storage, archiving and editing targets.
+Those targets can be lossless and/or provide very fast random access content.
+The name of the target will usually be the container type or editing target,
+and that target will contain #GstEncodingProfiles suitable for editing or
+storage.</doc>
+ <source-position filename="gst-libs/gst/pbutils/encoding-target.h"
+ line="64"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <function-macro name="ENCODING_CONTAINER_PROFILE"
+ c:identifier="GST_ENCODING_CONTAINER_PROFILE"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/pbutils/encoding-profile.h"
+ line="57"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="ENCODING_PROFILE"
+ c:identifier="GST_ENCODING_PROFILE"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/pbutils/encoding-profile.h"
+ line="39"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="ENCODING_TARGET"
+ c:identifier="GST_ENCODING_TARGET"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/pbutils/encoding-target.h"
+ line="94"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="ENCODING_VIDEO_PROFILE"
+ c:identifier="GST_ENCODING_VIDEO_PROFILE"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/pbutils/encoding-profile.h"
+ line="75"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <class name="EncodingAudioProfile"
+ c:symbol-prefix="encoding_audio_profile"
+ c:type="GstEncodingAudioProfile"
+ parent="EncodingProfile"
+ glib:type-name="GstEncodingAudioProfile"
+ glib:get-type="gst_encoding_audio_profile_get_type"
+ glib:type-struct="EncodingAudioProfileClass">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.h"
+ line="90">Variant of #GstEncodingProfile for audio streams.</doc>
+ <source-position filename="gst-libs/gst/pbutils/encoding-profile.h"
+ line="102"/>
+ <constructor name="new" c:identifier="gst_encoding_audio_profile_new">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="1181">Creates a new #GstEncodingAudioProfile
+
+All provided allocatable arguments will be internally copied, so can be
+safely freed/unreferenced after calling this method.</doc>
+ <source-position filename="gst-libs/gst/pbutils/encoding-profile.h"
+ line="244"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="1195">the newly created #GstEncodingAudioProfile.</doc>
+ <type name="EncodingAudioProfile" c:type="GstEncodingAudioProfile*"/>
+ </return-value>
+ <parameters>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="1183">the #GstCaps</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ <parameter name="preset"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="1184">the preset(s) to use on the encoder, can be %NULL</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="restriction"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="1185">the #GstCaps used to restrict the input to the encoder, can be
+NULL. See gst_encoding_profile_get_restriction() for more details.</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ <parameter name="presence" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="1187">the number of time this stream must be used. 0 means any number of
+ times (including never)</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ </class>
+ <record name="EncodingAudioProfileClass"
+ c:type="GstEncodingAudioProfileClass"
+ disguised="1"
+ glib:is-gtype-struct-for="EncodingAudioProfile">
+ <source-position filename="gst-libs/gst/pbutils/encoding-profile.h"
+ line="102"/>
+ </record>
+ <class name="EncodingContainerProfile"
+ c:symbol-prefix="encoding_container_profile"
+ c:type="GstEncodingContainerProfile"
+ parent="EncodingProfile"
+ glib:type-name="GstEncodingContainerProfile"
+ glib:get-type="gst_encoding_container_profile_get_type"
+ glib:type-struct="EncodingContainerProfileClass">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.h"
+ line="52">Encoding profiles for containers. Keeps track of a list of #GstEncodingProfile</doc>
+ <source-position filename="gst-libs/gst/pbutils/encoding-profile.h"
+ line="64"/>
+ <constructor name="new"
+ c:identifier="gst_encoding_container_profile_new">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="1127">Creates a new #GstEncodingContainerProfile.</doc>
+ <source-position filename="gst-libs/gst/pbutils/encoding-profile.h"
+ line="229"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="1137">The newly created #GstEncodingContainerProfile.</doc>
+ <type name="EncodingContainerProfile"
+ c:type="GstEncodingContainerProfile*"/>
+ </return-value>
+ <parameters>
+ <parameter name="name"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="1129">The name of the container profile, can be %NULL</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="description"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="1130">The description of the container profile,
+ can be %NULL</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="1132">The format to use for this profile</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ <parameter name="preset"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="1133">The preset to use for this profile.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <method name="add_profile"
+ c:identifier="gst_encoding_container_profile_add_profile">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="1075">Add a #GstEncodingProfile to the list of profiles handled by @container.
+
+No copy of @profile will be made, if you wish to use it elsewhere after this
+method you should increment its reference count.</doc>
+ <source-position filename="gst-libs/gst/pbutils/encoding-profile.h"
+ line="217"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="1085">%TRUE if the @stream was properly added, else %FALSE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="container" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="1077">the #GstEncodingContainerProfile to use</doc>
+ <type name="EncodingContainerProfile"
+ c:type="GstEncodingContainerProfile*"/>
+ </instance-parameter>
+ <parameter name="profile" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="1078">the #GstEncodingProfile to add.</doc>
+ <type name="EncodingProfile" c:type="GstEncodingProfile*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="contains_profile"
+ c:identifier="gst_encoding_container_profile_contains_profile">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="1053">Checks if @container contains a #GstEncodingProfile identical to
+@profile.</doc>
+ <source-position filename="gst-libs/gst/pbutils/encoding-profile.h"
+ line="221"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="1061">%TRUE if @container contains a #GstEncodingProfile identical
+to @profile, else %FALSE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="container" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="1055">a #GstEncodingContainerProfile</doc>
+ <type name="EncodingContainerProfile"
+ c:type="GstEncodingContainerProfile*"/>
+ </instance-parameter>
+ <parameter name="profile" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="1056">a #GstEncodingProfile</doc>
+ <type name="EncodingProfile" c:type="GstEncodingProfile*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_profiles"
+ c:identifier="gst_encoding_container_profile_get_profiles">
+ <source-position filename="gst-libs/gst/pbutils/encoding-profile.h"
+ line="225"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="845">
+the list of contained #GstEncodingProfile.</doc>
+ <type name="GLib.List" c:type="const GList*">
+ <type name="EncodingProfile"/>
+ </type>
+ </return-value>
+ <parameters>
+ <instance-parameter name="profile" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="843">a #GstEncodingContainerProfile</doc>
+ <type name="EncodingContainerProfile"
+ c:type="GstEncodingContainerProfile*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ </class>
+ <record name="EncodingContainerProfileClass"
+ c:type="GstEncodingContainerProfileClass"
+ disguised="1"
+ glib:is-gtype-struct-for="EncodingContainerProfile">
+ <source-position filename="gst-libs/gst/pbutils/encoding-profile.h"
+ line="64"/>
+ </record>
+ <class name="EncodingProfile"
+ c:symbol-prefix="encoding_profile"
+ c:type="GstEncodingProfile"
+ parent="GObject.Object"
+ glib:type-name="GstEncodingProfile"
+ glib:get-type="gst_encoding_profile_get_type"
+ glib:type-struct="EncodingProfileClass">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.h"
+ line="31">The opaque base class object for all encoding profiles. This contains generic
+information like name, description, format and preset.</doc>
+ <source-position filename="gst-libs/gst/pbutils/encoding-profile.h"
+ line="45"/>
+ <function name="find" c:identifier="gst_encoding_profile_find">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="1443">Find the #GstEncodingProfile with the specified name and category.</doc>
+ <source-position filename="gst-libs/gst/pbutils/encoding-profile.h"
+ line="204"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="1452">The matching #GstEncodingProfile or %NULL.</doc>
+ <type name="EncodingProfile" c:type="GstEncodingProfile*"/>
+ </return-value>
+ <parameters>
+ <parameter name="targetname" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="1445">The name of the target</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="profilename"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="1446">The name of the profile, if %NULL
+provided, it will default to the encoding profile called `default`.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="category"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="1448">The target category. Can be %NULL</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="from_discoverer"
+ c:identifier="gst_encoding_profile_from_discoverer">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="2055">Creates a #GstEncodingProfile matching the formats from the given
+#GstDiscovererInfo. Streams other than audio or video (eg,
+subtitles), are currently ignored.</doc>
+ <source-position filename="gst-libs/gst/pbutils/encoding-profile.h"
+ line="264"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="2063">The new #GstEncodingProfile or %NULL.</doc>
+ <type name="EncodingProfile" c:type="GstEncodingProfile*"/>
+ </return-value>
+ <parameters>
+ <parameter name="info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="2057">The #GstDiscovererInfo to read from</doc>
+ <type name="DiscovererInfo" c:type="GstDiscovererInfo*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <method name="copy"
+ c:identifier="gst_encoding_profile_copy"
+ version="1.12">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="2096">Makes a deep copy of @self</doc>
+ <source-position filename="gst-libs/gst/pbutils/encoding-profile.h"
+ line="267"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="2102">The copy of @self</doc>
+ <type name="EncodingProfile" c:type="GstEncodingProfile*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="self" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="2098">The #GstEncodingProfile to copy</doc>
+ <type name="EncodingProfile" c:type="GstEncodingProfile*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_allow_dynamic_output"
+ c:identifier="gst_encoding_profile_get_allow_dynamic_output">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="614">Get whether the format that has been negotiated in at some point can be renegotiated
+later during the encoding.</doc>
+ <source-position filename="gst-libs/gst/pbutils/encoding-profile.h"
+ line="149"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="profile" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="616">a #GstEncodingProfile</doc>
+ <type name="EncodingProfile" c:type="GstEncodingProfile*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_description"
+ c:identifier="gst_encoding_profile_get_description">
+ <source-position filename="gst-libs/gst/pbutils/encoding-profile.h"
+ line="135"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="457">the description of the profile, can be %NULL.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="profile" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="455">a #GstEncodingProfile</doc>
+ <type name="EncodingProfile" c:type="GstEncodingProfile*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_file_extension"
+ c:identifier="gst_encoding_profile_get_file_extension">
+ <source-position filename="gst-libs/gst/pbutils/encoding-profile.h"
+ line="201"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="1342">a suitable file extension for @profile, or NULL.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="profile" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="1340">a #GstEncodingProfile</doc>
+ <type name="EncodingProfile" c:type="GstEncodingProfile*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_format" c:identifier="gst_encoding_profile_get_format">
+ <source-position filename="gst-libs/gst/pbutils/encoding-profile.h"
+ line="142"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="471">the #GstCaps corresponding to the media format used
+in the profile. Unref after usage.</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="profile" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="469">a #GstEncodingProfile</doc>
+ <type name="EncodingProfile" c:type="GstEncodingProfile*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_input_caps"
+ c:identifier="gst_encoding_profile_get_input_caps">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="1226">Computes the full output caps that this @profile will be able to consume.</doc>
+ <source-position filename="gst-libs/gst/pbutils/encoding-profile.h"
+ line="195"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="1232">The full caps the given @profile can consume. Call
+gst_caps_unref() when you are done with the caps.</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="profile" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="1228">a #GstEncodingProfile</doc>
+ <type name="EncodingProfile" c:type="GstEncodingProfile*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_name" c:identifier="gst_encoding_profile_get_name">
+ <source-position filename="gst-libs/gst/pbutils/encoding-profile.h"
+ line="128"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="443">the name of the profile, can be %NULL.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="profile" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="441">a #GstEncodingProfile</doc>
+ <type name="EncodingProfile" c:type="GstEncodingProfile*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_presence"
+ c:identifier="gst_encoding_profile_get_presence">
+ <source-position filename="gst-libs/gst/pbutils/encoding-profile.h"
+ line="173"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="515">The number of times the profile is used in its parent
+container profile. If 0, it is not a mandatory stream.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="profile" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="513">a #GstEncodingProfile</doc>
+ <type name="EncodingProfile" c:type="GstEncodingProfile*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_preset" c:identifier="gst_encoding_profile_get_preset">
+ <source-position filename="gst-libs/gst/pbutils/encoding-profile.h"
+ line="163"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="486">the name of the #GstPreset to be used in the profile.
+This is the name that has been set when saving the preset.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="profile" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="484">a #GstEncodingProfile</doc>
+ <type name="EncodingProfile" c:type="GstEncodingProfile*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_preset_name"
+ c:identifier="gst_encoding_profile_get_preset_name">
+ <source-position filename="gst-libs/gst/pbutils/encoding-profile.h"
+ line="166"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="501">the name of the #GstPreset factory to be used in the profile.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="profile" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="499">a #GstEncodingProfile</doc>
+ <type name="EncodingProfile" c:type="GstEncodingProfile*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_restriction"
+ c:identifier="gst_encoding_profile_get_restriction">
+ <source-position filename="gst-libs/gst/pbutils/encoding-profile.h"
+ line="184"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="546">The restriction #GstCaps to apply before the encoder
+that will be used in the profile. The fields present in restriction caps are
+properties of the raw stream (that is before encoding), such as height and
+width for video and depth and sampling rate for audio. Does not apply to
+#GstEncodingContainerProfile (since there is no corresponding raw stream).
+Can be %NULL. Unref after usage.</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="profile" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="544">a #GstEncodingProfile</doc>
+ <type name="EncodingProfile" c:type="GstEncodingProfile*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_single_segment"
+ c:identifier="gst_encoding_profile_get_single_segment"
+ version="1.18">
+ <source-position filename="gst-libs/gst/pbutils/encoding-profile.h"
+ line="156"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="651">#TRUE if the stream represented by @profile should use a single
+segment before the encoder, #FALSE otherwise. This means that buffers will be retimestamped
+and segments will be eat so as to appear as one segment.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="profile" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="649">a #GstEncodingProfile</doc>
+ <type name="EncodingProfile" c:type="GstEncodingProfile*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_type_nick"
+ c:identifier="gst_encoding_profile_get_type_nick">
+ <source-position filename="gst-libs/gst/pbutils/encoding-profile.h"
+ line="198"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="1286">the human-readable name of the type of @profile.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="profile" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="1284">a #GstEncodingProfile</doc>
+ <type name="EncodingProfile" c:type="GstEncodingProfile*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="is_enabled" c:identifier="gst_encoding_profile_is_enabled">
+ <source-position filename="gst-libs/gst/pbutils/encoding-profile.h"
+ line="209"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="profile" transfer-ownership="none">
+ <type name="EncodingProfile" c:type="GstEncodingProfile*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="is_equal" c:identifier="gst_encoding_profile_is_equal">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="1207">Checks whether the two #GstEncodingProfile are equal</doc>
+ <source-position filename="gst-libs/gst/pbutils/encoding-profile.h"
+ line="191"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="1214">%TRUE if @a and @b are equal, else %FALSE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="a" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="1209">a #GstEncodingProfile</doc>
+ <type name="EncodingProfile" c:type="GstEncodingProfile*"/>
+ </instance-parameter>
+ <parameter name="b" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="1210">a #GstEncodingProfile</doc>
+ <type name="EncodingProfile" c:type="GstEncodingProfile*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_allow_dynamic_output"
+ c:identifier="gst_encoding_profile_set_allow_dynamic_output">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="629">Sets whether the format that has been negotiated in at some point can be renegotiated
+later during the encoding.</doc>
+ <source-position filename="gst-libs/gst/pbutils/encoding-profile.h"
+ line="152"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="profile" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="631">a #GstEncodingProfile</doc>
+ <type name="EncodingProfile" c:type="GstEncodingProfile*"/>
+ </instance-parameter>
+ <parameter name="allow_dynamic_output" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="632">Whether the format that has been negotiated first can be renegotiated
+during the encoding</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_description"
+ c:identifier="gst_encoding_profile_set_description">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="579">Set @description as the given description for the @profile. A copy of
+@description will be made internally.</doc>
+ <source-position filename="gst-libs/gst/pbutils/encoding-profile.h"
+ line="138"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="profile" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="581">a #GstEncodingProfile</doc>
+ <type name="EncodingProfile" c:type="GstEncodingProfile*"/>
+ </instance-parameter>
+ <parameter name="description"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="582">the description to set on the profile</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_enabled"
+ c:identifier="gst_encoding_profile_set_enabled"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="740">Set whether the profile should be used or not.</doc>
+ <source-position filename="gst-libs/gst/pbutils/encoding-profile.h"
+ line="212"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="profile" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="742">a #GstEncodingProfile</doc>
+ <type name="EncodingProfile" c:type="GstEncodingProfile*"/>
+ </instance-parameter>
+ <parameter name="enabled" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="743">%FALSE to disable @profile, %TRUE to enable it</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_format" c:identifier="gst_encoding_profile_set_format">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="597">Sets the media format used in the profile.</doc>
+ <source-position filename="gst-libs/gst/pbutils/encoding-profile.h"
+ line="145"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="profile" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="599">a #GstEncodingProfile</doc>
+ <type name="EncodingProfile" c:type="GstEncodingProfile*"/>
+ </instance-parameter>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="600">the media format to use in the profile.</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_name" c:identifier="gst_encoding_profile_set_name">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="562">Set @name as the given name for the @profile. A copy of @name will be made
+internally.</doc>
+ <source-position filename="gst-libs/gst/pbutils/encoding-profile.h"
+ line="131"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="profile" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="564">a #GstEncodingProfile</doc>
+ <type name="EncodingProfile" c:type="GstEncodingProfile*"/>
+ </instance-parameter>
+ <parameter name="name"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="565">the name to set on the profile</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_presence"
+ c:identifier="gst_encoding_profile_set_presence">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="724">Set the number of time the profile is used in its parent
+container profile. If 0, it is not a mandatory stream</doc>
+ <source-position filename="gst-libs/gst/pbutils/encoding-profile.h"
+ line="176"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="profile" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="726">a #GstEncodingProfile</doc>
+ <type name="EncodingProfile" c:type="GstEncodingProfile*"/>
+ </instance-parameter>
+ <parameter name="presence" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="727">the number of time the profile can be used</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_preset" c:identifier="gst_encoding_profile_set_preset">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="688">Sets the name of the #GstElement that implements the #GstPreset interface
+to use for the profile.
+This is the name that has been set when saving the preset.</doc>
+ <source-position filename="gst-libs/gst/pbutils/encoding-profile.h"
+ line="169"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="profile" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="690">a #GstEncodingProfile</doc>
+ <type name="EncodingProfile" c:type="GstEncodingProfile*"/>
+ </instance-parameter>
+ <parameter name="preset"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="691">the element preset to use</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_preset_name"
+ c:identifier="gst_encoding_profile_set_preset_name">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="707">Sets the name of the #GstPreset's factory to be used in the profile.</doc>
+ <source-position filename="gst-libs/gst/pbutils/encoding-profile.h"
+ line="180"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="profile" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="709">a #GstEncodingProfile</doc>
+ <type name="EncodingProfile" c:type="GstEncodingProfile*"/>
+ </instance-parameter>
+ <parameter name="preset_name"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="710">The name of the preset to use in this @profile.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_restriction"
+ c:identifier="gst_encoding_profile_set_restriction">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="758">Set the restriction #GstCaps to apply before the encoder
+that will be used in the profile. See gst_encoding_profile_get_restriction()
+for more about restrictions. Does not apply to #GstEncodingContainerProfile.</doc>
+ <source-position filename="gst-libs/gst/pbutils/encoding-profile.h"
+ line="187"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="profile" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="760">a #GstEncodingProfile</doc>
+ <type name="EncodingProfile" c:type="GstEncodingProfile*"/>
+ </instance-parameter>
+ <parameter name="restriction"
+ transfer-ownership="full"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="761">the restriction to apply</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_single_segment"
+ c:identifier="gst_encoding_profile_set_single_segment"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="665">If using a single segment, buffers will be retimestamped and segments will be
+eat so as to appear as one segment.
+
+&gt; *NOTE*: Single segment is not property supported when using
+&gt; #encodebin:avoid-reencoding</doc>
+ <source-position filename="gst-libs/gst/pbutils/encoding-profile.h"
+ line="159"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="profile" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="667">a #GstEncodingProfile</doc>
+ <type name="EncodingProfile" c:type="GstEncodingProfile*"/>
+ </instance-parameter>
+ <parameter name="single_segment" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="668">#TRUE if the stream represented by @profile should use a
+single segment before the encoder, #FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="restriction-caps" writable="1" transfer-ownership="none">
+ <type name="Gst.Caps"/>
+ </property>
+ </class>
+ <record name="EncodingProfileClass"
+ c:type="GstEncodingProfileClass"
+ disguised="1"
+ glib:is-gtype-struct-for="EncodingProfile">
+ <source-position filename="gst-libs/gst/pbutils/encoding-profile.h"
+ line="45"/>
+ </record>
+ <class name="EncodingTarget"
+ c:symbol-prefix="encoding_target"
+ c:type="GstEncodingTarget"
+ parent="GObject.Object"
+ glib:type-name="GstEncodingTarget"
+ glib:get-type="gst_encoding_target_get_type">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-target.h"
+ line="85">Collection of #GstEncodingProfile for a specific target or use-case.
+
+When being stored/loaded, targets come from a specific category, like
+#GST_ENCODING_CATEGORY_DEVICE.</doc>
+ <constructor name="new" c:identifier="gst_encoding_target_new">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-target.c"
+ line="270">Creates a new #GstEncodingTarget.
+
+The name and category can only consist of lowercase ASCII letters for the
+first character, followed by either lowercase ASCII letters, digits or
+hyphens ('-').
+
+The @category *should* be one of the existing
+well-defined categories, like #GST_ENCODING_CATEGORY_DEVICE, but it
+*can* be a application or user specific category if
+needed.</doc>
+ <source-position filename="gst-libs/gst/pbutils/encoding-target.h"
+ line="125"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-target.c"
+ line="291">The newly created #GstEncodingTarget or %NULL if
+there was an error.</doc>
+ <type name="EncodingTarget" c:type="GstEncodingTarget*"/>
+ </return-value>
+ <parameters>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-target.c"
+ line="272">The name of the target.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="category" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-target.c"
+ line="273">The name of the category to which this @target
+belongs. For example: #GST_ENCODING_CATEGORY_DEVICE.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="description" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-target.c"
+ line="275">A description of #GstEncodingTarget in the
+current locale.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="profiles" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-target.c"
+ line="277">A #GList of
+#GstEncodingProfile.</doc>
+ <type name="GLib.List" c:type="const GList*">
+ <type name="EncodingProfile"/>
+ </type>
+ </parameter>
+ </parameters>
+ </constructor>
+ <function name="load" c:identifier="gst_encoding_target_load" throws="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-target.c"
+ line="875">Searches for the #GstEncodingTarget with the given name, loads it
+and returns it.
+
+If the category name is specified only targets from that category will be
+searched for.</doc>
+ <source-position filename="gst-libs/gst/pbutils/encoding-target.h"
+ line="163"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-target.c"
+ line="890">The #GstEncodingTarget if available, else %NULL.</doc>
+ <type name="EncodingTarget" c:type="GstEncodingTarget*"/>
+ </return-value>
+ <parameters>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-target.c"
+ line="877">the name of the #GstEncodingTarget to load (automatically
+converted to lower case internally as capital letters are not
+valid for target names).</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="category"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-target.c"
+ line="880">the name of the target category, like
+#GST_ENCODING_CATEGORY_DEVICE. Can be %NULL</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="load_from_file"
+ c:identifier="gst_encoding_target_load_from_file"
+ throws="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-target.c"
+ line="775">Opens the provided file and returns the contained #GstEncodingTarget.</doc>
+ <source-position filename="gst-libs/gst/pbutils/encoding-target.h"
+ line="168"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-target.c"
+ line="782">The #GstEncodingTarget contained in the file, else
+%NULL</doc>
+ <type name="EncodingTarget" c:type="GstEncodingTarget*"/>
+ </return-value>
+ <parameters>
+ <parameter name="filepath" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-target.c"
+ line="777">The file location to load the #GstEncodingTarget from</doc>
+ <type name="filename" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <method name="add_profile"
+ c:identifier="gst_encoding_target_add_profile">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-target.c"
+ line="339">Adds the given @profile to the @target. Each added profile must have
+a unique name within the profile.
+
+The @target will steal a reference to the @profile. If you wish to use
+the profile after calling this method, you should increase its reference
+count.</doc>
+ <source-position filename="gst-libs/gst/pbutils/encoding-target.h"
+ line="150"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-target.c"
+ line="351">%TRUE if the profile was added, else %FALSE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="target" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-target.c"
+ line="341">the #GstEncodingTarget to add a profile to</doc>
+ <type name="EncodingTarget" c:type="GstEncodingTarget*"/>
+ </instance-parameter>
+ <parameter name="profile" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-target.c"
+ line="342">the #GstEncodingProfile to add</doc>
+ <type name="EncodingProfile" c:type="GstEncodingProfile*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_category"
+ c:identifier="gst_encoding_target_get_category">
+ <source-position filename="gst-libs/gst/pbutils/encoding-target.h"
+ line="134"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-target.c"
+ line="155">The category of the @target. For example:
+#GST_ENCODING_CATEGORY_DEVICE.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="target" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-target.c"
+ line="153">a #GstEncodingTarget</doc>
+ <type name="EncodingTarget" c:type="GstEncodingTarget*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_description"
+ c:identifier="gst_encoding_target_get_description">
+ <source-position filename="gst-libs/gst/pbutils/encoding-target.h"
+ line="137"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-target.c"
+ line="168">The description of the @target.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="target" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-target.c"
+ line="166">a #GstEncodingTarget</doc>
+ <type name="EncodingTarget" c:type="GstEncodingTarget*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_name" c:identifier="gst_encoding_target_get_name">
+ <source-position filename="gst-libs/gst/pbutils/encoding-target.h"
+ line="131"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-target.c"
+ line="143">The name of the @target.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="target" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-target.c"
+ line="141">a #GstEncodingTarget</doc>
+ <type name="EncodingTarget" c:type="GstEncodingTarget*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_path"
+ c:identifier="gst_encoding_target_get_path"
+ version="1.18">
+ <source-position filename="gst-libs/gst/pbutils/encoding-target.h"
+ line="140"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-target.c"
+ line="180">The path to the @target file.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="target" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-target.c"
+ line="178">a #GstEncodingTarget</doc>
+ <type name="EncodingTarget" c:type="GstEncodingTarget*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_profile"
+ c:identifier="gst_encoding_target_get_profile">
+ <source-position filename="gst-libs/gst/pbutils/encoding-target.h"
+ line="146"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-target.c"
+ line="209">The matching #GstEncodingProfile, or %NULL.</doc>
+ <type name="EncodingProfile" c:type="GstEncodingProfile*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="target" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-target.c"
+ line="206">a #GstEncodingTarget</doc>
+ <type name="EncodingTarget" c:type="GstEncodingTarget*"/>
+ </instance-parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-target.c"
+ line="207">the name of the profile to retrieve</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_profiles"
+ c:identifier="gst_encoding_target_get_profiles">
+ <source-position filename="gst-libs/gst/pbutils/encoding-target.h"
+ line="143"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-target.c"
+ line="195">A list of
+#GstEncodingProfile(s) this @target handles.</doc>
+ <type name="GLib.List" c:type="const GList*">
+ <type name="EncodingProfile"/>
+ </type>
+ </return-value>
+ <parameters>
+ <instance-parameter name="target" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-target.c"
+ line="193">a #GstEncodingTarget</doc>
+ <type name="EncodingTarget" c:type="GstEncodingTarget*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="save" c:identifier="gst_encoding_target_save" throws="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-target.c"
+ line="1061">Saves the @target to a default user-local directory.</doc>
+ <source-position filename="gst-libs/gst/pbutils/encoding-target.h"
+ line="154"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-target.c"
+ line="1068">%TRUE if the target was correctly saved, else %FALSE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="target" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-target.c"
+ line="1063">a #GstEncodingTarget</doc>
+ <type name="EncodingTarget" c:type="GstEncodingTarget*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="save_to_file"
+ c:identifier="gst_encoding_target_save_to_file"
+ throws="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-target.c"
+ line="991">Saves the @target to the provided file location.</doc>
+ <source-position filename="gst-libs/gst/pbutils/encoding-target.h"
+ line="158"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-target.c"
+ line="999">%TRUE if the target was correctly saved, else %FALSE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="target" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-target.c"
+ line="993">a #GstEncodingTarget</doc>
+ <type name="EncodingTarget" c:type="GstEncodingTarget*"/>
+ </instance-parameter>
+ <parameter name="filepath" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-target.c"
+ line="994">the location to store the @target at.</doc>
+ <type name="filename" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ </class>
+ <class name="EncodingVideoProfile"
+ c:symbol-prefix="encoding_video_profile"
+ c:type="GstEncodingVideoProfile"
+ parent="EncodingProfile"
+ glib:type-name="GstEncodingVideoProfile"
+ glib:get-type="gst_encoding_video_profile_get_type"
+ glib:type-struct="EncodingVideoProfileClass">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.h"
+ line="71">Variant of #GstEncodingProfile for video streams, allows specifying the @pass.</doc>
+ <source-position filename="gst-libs/gst/pbutils/encoding-profile.h"
+ line="83"/>
+ <constructor name="new" c:identifier="gst_encoding_video_profile_new">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="1150">Creates a new #GstEncodingVideoProfile
+
+All provided allocatable arguments will be internally copied, so can be
+safely freed/unreferenced after calling this method.
+
+If you wish to control the pass number (in case of multi-pass scenarios),
+please refer to the gst_encoding_video_profile_set_pass() documentation.
+
+If you wish to use/force a constant framerate please refer to the
+gst_encoding_video_profile_set_variableframerate() documentation.</doc>
+ <source-position filename="gst-libs/gst/pbutils/encoding-profile.h"
+ line="238"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="1170">the newly created #GstEncodingVideoProfile.</doc>
+ <type name="EncodingVideoProfile" c:type="GstEncodingVideoProfile*"/>
+ </return-value>
+ <parameters>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="1152">the #GstCaps</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ <parameter name="preset"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="1153">the preset(s) to use on the encoder, can be %NULL</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="restriction"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="1154">the #GstCaps used to restrict the input to the encoder, can be
+NULL. See gst_encoding_profile_get_restriction() for more details.</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ <parameter name="presence" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="1156">the number of time this stream must be used. 0 means any number of
+ times (including never)</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <method name="get_pass"
+ c:identifier="gst_encoding_video_profile_get_pass">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="898">Get the pass number if this is part of a multi-pass profile.</doc>
+ <source-position filename="gst-libs/gst/pbutils/encoding-profile.h"
+ line="250"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="904">The pass number. Starts at 1 for multi-pass. 0 if this is
+not a multi-pass profile</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="prof" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="900">a #GstEncodingVideoProfile</doc>
+ <type name="EncodingVideoProfile"
+ c:type="GstEncodingVideoProfile*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_variableframerate"
+ c:identifier="gst_encoding_video_profile_get_variableframerate">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="915">&gt; *NOTE*: Fixed framerate won't be enforced when #encodebin:avoid-reencoding
+&gt; is set.</doc>
+ <source-position filename="gst-libs/gst/pbutils/encoding-profile.h"
+ line="253"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="922">Whether non-constant video framerate is allowed for encoding.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="prof" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="917">a #GstEncodingVideoProfile</doc>
+ <type name="EncodingVideoProfile"
+ c:type="GstEncodingVideoProfile*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="set_pass"
+ c:identifier="gst_encoding_video_profile_set_pass">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="933">Sets the pass number of this video profile. The first pass profile should have
+this value set to 1. If this video profile isn't part of a multi-pass profile,
+you may set it to 0 (the default value).</doc>
+ <source-position filename="gst-libs/gst/pbutils/encoding-profile.h"
+ line="256"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="prof" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="935">a #GstEncodingVideoProfile</doc>
+ <type name="EncodingVideoProfile"
+ c:type="GstEncodingVideoProfile*"/>
+ </instance-parameter>
+ <parameter name="pass" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="936">the pass number for this profile</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_variableframerate"
+ c:identifier="gst_encoding_video_profile_set_variableframerate">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="950">If set to %TRUE, then the incoming stream will be allowed to have non-constant
+framerate. If set to %FALSE (default value), then the incoming stream will
+be normalized by dropping/duplicating frames in order to produce a
+constance framerate.</doc>
+ <source-position filename="gst-libs/gst/pbutils/encoding-profile.h"
+ line="260"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="prof" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="952">a #GstEncodingVideoProfile</doc>
+ <type name="EncodingVideoProfile"
+ c:type="GstEncodingVideoProfile*"/>
+ </instance-parameter>
+ <parameter name="variableframerate" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="953">a boolean</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ </class>
+ <record name="EncodingVideoProfileClass"
+ c:type="GstEncodingVideoProfileClass"
+ disguised="1"
+ glib:is-gtype-struct-for="EncodingVideoProfile">
+ <source-position filename="gst-libs/gst/pbutils/encoding-profile.h"
+ line="83"/>
+ </record>
+ <function-macro name="IS_DISCOVERER"
+ c:identifier="GST_IS_DISCOVERER"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="342"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_DISCOVERER_AUDIO_INFO"
+ c:identifier="GST_IS_DISCOVERER_AUDIO_INFO"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="114"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_DISCOVERER_CLASS"
+ c:identifier="GST_IS_DISCOVERER_CLASS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="344"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_DISCOVERER_CONTAINER_INFO"
+ c:identifier="GST_IS_DISCOVERER_CONTAINER_INFO"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="94"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_DISCOVERER_INFO"
+ c:identifier="GST_IS_DISCOVERER_INFO"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="266"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_DISCOVERER_STREAM_INFO"
+ c:identifier="GST_IS_DISCOVERER_STREAM_INFO"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="32"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_DISCOVERER_SUBTITLE_INFO"
+ c:identifier="GST_IS_DISCOVERER_SUBTITLE_INFO"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="201"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_DISCOVERER_VIDEO_INFO"
+ c:identifier="GST_IS_DISCOVERER_VIDEO_INFO"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="151"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_ENCODING_AUDIO_PROFILE"
+ c:identifier="GST_IS_ENCODING_AUDIO_PROFILE"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/pbutils/encoding-profile.h"
+ line="95"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_ENCODING_CONTAINER_PROFILE"
+ c:identifier="GST_IS_ENCODING_CONTAINER_PROFILE"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/pbutils/encoding-profile.h"
+ line="59"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_ENCODING_PROFILE"
+ c:identifier="GST_IS_ENCODING_PROFILE"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/pbutils/encoding-profile.h"
+ line="41"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_ENCODING_TARGET"
+ c:identifier="GST_IS_ENCODING_TARGET"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/pbutils/encoding-target.h"
+ line="96"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_ENCODING_VIDEO_PROFILE"
+ c:identifier="GST_IS_ENCODING_VIDEO_PROFILE"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/pbutils/encoding-profile.h"
+ line="77"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_SYNAESTHESIA"
+ c:identifier="GST_IS_SYNAESTHESIA"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/pbutils/gstaudiovisualizer.h"
+ line="39"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_SYNAESTHESIA_CLASS"
+ c:identifier="GST_IS_SYNAESTHESIA_CLASS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/pbutils/gstaudiovisualizer.h"
+ line="40"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <record name="InstallPluginsContext"
+ c:type="GstInstallPluginsContext"
+ glib:type-name="GstInstallPluginsContext"
+ glib:get-type="gst_install_plugins_context_get_type"
+ c:symbol-prefix="install_plugins_context">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/install-plugins.h"
+ line="90">Opaque context structure for the plugin installation. Use the provided
+API to set details on it.</doc>
+ <source-position filename="gst-libs/gst/pbutils/install-plugins.h"
+ line="99"/>
+ <constructor name="new" c:identifier="gst_install_plugins_context_new">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/install-plugins.c"
+ line="415">Creates a new #GstInstallPluginsContext.</doc>
+ <source-position filename="gst-libs/gst/pbutils/install-plugins.h"
+ line="102"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/install-plugins.c"
+ line="420">a new #GstInstallPluginsContext. Free with
+gst_install_plugins_context_free() when no longer needed</doc>
+ <type name="InstallPluginsContext"
+ c:type="GstInstallPluginsContext*"/>
+ </return-value>
+ </constructor>
+ <method name="copy"
+ c:identifier="gst_install_plugins_context_copy"
+ version="1.12.1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/install-plugins.c"
+ line="446">Copies a #GstInstallPluginsContext.</doc>
+ <source-position filename="gst-libs/gst/pbutils/install-plugins.h"
+ line="105"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/install-plugins.c"
+ line="452">A copy of @ctx</doc>
+ <type name="InstallPluginsContext"
+ c:type="GstInstallPluginsContext*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="ctx" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/install-plugins.c"
+ line="448">a #GstInstallPluginsContext</doc>
+ <type name="InstallPluginsContext"
+ c:type="GstInstallPluginsContext*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="free" c:identifier="gst_install_plugins_context_free">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/install-plugins.c"
+ line="429">Frees a #GstInstallPluginsContext.</doc>
+ <source-position filename="gst-libs/gst/pbutils/install-plugins.h"
+ line="107"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="ctx" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/install-plugins.c"
+ line="431">a #GstInstallPluginsContext</doc>
+ <type name="InstallPluginsContext"
+ c:type="GstInstallPluginsContext*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="set_confirm_search"
+ c:identifier="gst_install_plugins_context_set_confirm_search"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/install-plugins.c"
+ line="294">This function is used to tell the external installer process whether it
+should ask for confirmation or not before searching for missing plugins.
+
+If set, this option will be passed to the installer via a
+--interaction=[show-confirm-search|hide-confirm-search] command line option.</doc>
+ <source-position filename="gst-libs/gst/pbutils/install-plugins.h"
+ line="110"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="ctx" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/install-plugins.c"
+ line="296">a #GstInstallPluginsContext</doc>
+ <type name="InstallPluginsContext"
+ c:type="GstInstallPluginsContext*"/>
+ </instance-parameter>
+ <parameter name="confirm_search" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/install-plugins.c"
+ line="297">whether to ask for confirmation before searching for plugins</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_desktop_id"
+ c:identifier="gst_install_plugins_context_set_desktop_id"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/install-plugins.c"
+ line="319">This function is used to pass the calling application's desktop file ID to
+the external installer process.
+
+A desktop file ID is the basename of the desktop file, including the
+.desktop extension.
+
+If set, the desktop file ID will be passed to the installer via a
+--desktop-id= command line option.</doc>
+ <source-position filename="gst-libs/gst/pbutils/install-plugins.h"
+ line="114"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="ctx" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/install-plugins.c"
+ line="321">a #GstInstallPluginsContext</doc>
+ <type name="InstallPluginsContext"
+ c:type="GstInstallPluginsContext*"/>
+ </instance-parameter>
+ <parameter name="desktop_id" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/install-plugins.c"
+ line="322">the desktop file ID of the calling application</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_startup_notification_id"
+ c:identifier="gst_install_plugins_context_set_startup_notification_id"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/install-plugins.c"
+ line="344">Sets the startup notification ID for the launched process.
+
+This is typically used to to pass the current X11 event timestamp to the
+external installer process.
+
+Startup notification IDs are defined in the
+[FreeDesktop.Org Startup Notifications standard](http://standards.freedesktop.org/startup-notification-spec/startup-notification-latest.txt).
+
+If set, the ID will be passed to the installer via a
+--startup-notification-id= command line option.
+
+GTK+/GNOME applications should be able to create a startup notification ID
+like this:
+|[
+ timestamp = gtk_get_current_event_time ();
+ startup_id = g_strdup_printf ("_TIME%u", timestamp);
+...
+]|</doc>
+ <source-position filename="gst-libs/gst/pbutils/install-plugins.h"
+ line="118"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="ctx" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/install-plugins.c"
+ line="346">a #GstInstallPluginsContext</doc>
+ <type name="InstallPluginsContext"
+ c:type="GstInstallPluginsContext*"/>
+ </instance-parameter>
+ <parameter name="startup_id" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/install-plugins.c"
+ line="347">the startup notification ID</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_xid"
+ c:identifier="gst_install_plugins_context_set_xid">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/install-plugins.c"
+ line="378">This function is for X11-based applications (such as most Gtk/Qt
+applications on linux/unix) only. You can use it to tell the external
+installer the XID of your main application window. That way the installer
+can make its own window transient to your application window during the
+installation.
+
+If set, the XID will be passed to the installer via a --transient-for=XID
+command line option.
+
+Gtk+/Gnome application should be able to obtain the XID of the top-level
+window like this:
+|[
+##include &amp;lt;gtk/gtk.h&amp;gt;
+##ifdef GDK_WINDOWING_X11
+##include &amp;lt;gdk/gdkx.h&amp;gt;
+##endif
+...
+##ifdef GDK_WINDOWING_X11
+ xid = GDK_WINDOW_XWINDOW (GTK_WIDGET (application_window)-&amp;gt;window);
+##endif
+...
+]|</doc>
+ <source-position filename="gst-libs/gst/pbutils/install-plugins.h"
+ line="122"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="ctx" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/install-plugins.c"
+ line="380">a #GstInstallPluginsContext</doc>
+ <type name="InstallPluginsContext"
+ c:type="GstInstallPluginsContext*"/>
+ </instance-parameter>
+ <parameter name="xid" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/install-plugins.c"
+ line="381">the XWindow ID (XID) of the top-level application</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ </record>
+ <callback name="InstallPluginsResultFunc"
+ c:type="GstInstallPluginsResultFunc">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/install-plugins.h"
+ line="128">The prototype of the callback function that will be called once the
+external plugin installer program has returned. You only need to provide
+a callback function if you are using the asynchronous interface.</doc>
+ <source-position filename="gst-libs/gst/pbutils/install-plugins.h"
+ line="137"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="result" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/install-plugins.h"
+ line="130">whether the installation of the requested plugins succeeded or not</doc>
+ <type name="InstallPluginsReturn" c:type="GstInstallPluginsReturn"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1"
+ closure="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/install-plugins.h"
+ line="131">the user data passed to gst_install_plugins_async()</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <enumeration name="InstallPluginsReturn"
+ glib:type-name="GstInstallPluginsReturn"
+ glib:get-type="gst_install_plugins_return_get_type"
+ c:type="GstInstallPluginsReturn">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/install-plugins.h"
+ line="33">Result codes returned by gst_install_plugins_async() and
+gst_install_plugins_sync(), and also the result code passed to the
+#GstInstallPluginsResultFunc specified with gst_install_plugins_async().
+
+These codes indicate success or failure of starting an external installer
+program and to what extent the requested plugins could be installed.</doc>
+ <member name="success"
+ value="0"
+ c:identifier="GST_INSTALL_PLUGINS_SUCCESS"
+ glib:nick="success">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/install-plugins.h"
+ line="35">all of the requested plugins could be
+ installed</doc>
+ </member>
+ <member name="not_found"
+ value="1"
+ c:identifier="GST_INSTALL_PLUGINS_NOT_FOUND"
+ glib:nick="not-found">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/install-plugins.h"
+ line="37">no appropriate installation candidate for
+ any of the requested plugins could be found. Only return this if nothing
+ has been installed. Return #GST_INSTALL_PLUGINS_PARTIAL_SUCCESS if
+ some (but not all) of the requested plugins could be installed.</doc>
+ </member>
+ <member name="error"
+ value="2"
+ c:identifier="GST_INSTALL_PLUGINS_ERROR"
+ glib:nick="error">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/install-plugins.h"
+ line="41">an error occurred during the installation. If
+ this happens, the user has already seen an error message and another
+ one should not be displayed</doc>
+ </member>
+ <member name="partial_success"
+ value="3"
+ c:identifier="GST_INSTALL_PLUGINS_PARTIAL_SUCCESS"
+ glib:nick="partial-success">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/install-plugins.h"
+ line="46">some of the requested plugins could
+ be installed, but not all</doc>
+ </member>
+ <member name="user_abort"
+ value="4"
+ c:identifier="GST_INSTALL_PLUGINS_USER_ABORT"
+ glib:nick="user-abort">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/install-plugins.h"
+ line="48">the user has aborted the installation</doc>
+ </member>
+ <member name="crashed"
+ value="100"
+ c:identifier="GST_INSTALL_PLUGINS_CRASHED"
+ glib:nick="crashed">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/install-plugins.h"
+ line="44">the installer had an unclean exit code
+ (ie. death by signal)</doc>
+ </member>
+ <member name="invalid"
+ value="101"
+ c:identifier="GST_INSTALL_PLUGINS_INVALID"
+ glib:nick="invalid">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/install-plugins.h"
+ line="49">the helper returned an invalid status code</doc>
+ </member>
+ <member name="started_ok"
+ value="200"
+ c:identifier="GST_INSTALL_PLUGINS_STARTED_OK"
+ glib:nick="started-ok">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/install-plugins.h"
+ line="50">returned by gst_install_plugins_async() to
+ indicate that everything went fine so far and the provided callback
+ will be called with the result of the installation later</doc>
+ </member>
+ <member name="internal_failure"
+ value="201"
+ c:identifier="GST_INSTALL_PLUGINS_INTERNAL_FAILURE"
+ glib:nick="internal-failure">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/install-plugins.h"
+ line="53">some internal failure has
+ occurred when trying to start the installer</doc>
+ </member>
+ <member name="helper_missing"
+ value="202"
+ c:identifier="GST_INSTALL_PLUGINS_HELPER_MISSING"
+ glib:nick="helper-missing">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/install-plugins.h"
+ line="55">the helper script to call the
+ actual installer is not installed</doc>
+ </member>
+ <member name="install_in_progress"
+ value="203"
+ c:identifier="GST_INSTALL_PLUGINS_INSTALL_IN_PROGRESS"
+ glib:nick="install-in-progress">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/install-plugins.h"
+ line="57">a previously-started plugin
+ installation is still in progress, try again later</doc>
+ </member>
+ <function name="get_name"
+ c:identifier="gst_install_plugins_return_get_name">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/install-plugins.c"
+ line="708">Convenience function to return the descriptive string associated
+with a status code. This function returns English strings and
+should not be used for user messages. It is here only to assist
+in debugging.</doc>
+ <source-position filename="gst-libs/gst/pbutils/install-plugins.h"
+ line="151"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/install-plugins.c"
+ line="717">a descriptive string for the status code in @ret</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="ret" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/install-plugins.c"
+ line="710">the return status code</doc>
+ <type name="InstallPluginsReturn"
+ c:type="GstInstallPluginsReturn"/>
+ </parameter>
+ </parameters>
+ </function>
+ </enumeration>
+ <function-macro name="PBUTILS_DEPRECATED_FOR"
+ c:identifier="GST_PBUTILS_DEPRECATED_FOR"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/pbutils/pbutils-prelude.h"
+ line="35"/>
+ <parameters>
+ <parameter name="f">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <constant name="PLUGINS_BASE_VERSION_MAJOR"
+ value="1"
+ c:type="GST_PLUGINS_BASE_VERSION_MAJOR">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstpluginsbaseversion.h"
+ line="28">The major version of GStreamer's gst-plugins-base libraries at compile time.</doc>
+ <source-position filename="gst-libs/gst/pbutils/gstpluginsbaseversion.h"
+ line="33"/>
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="PLUGINS_BASE_VERSION_MICRO"
+ value="0"
+ c:type="GST_PLUGINS_BASE_VERSION_MICRO">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstpluginsbaseversion.h"
+ line="40">The micro version of GStreamer's gst-plugins-base libraries at compile time.</doc>
+ <source-position filename="gst-libs/gst/pbutils/gstpluginsbaseversion.h"
+ line="45"/>
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="PLUGINS_BASE_VERSION_MINOR"
+ value="19"
+ c:type="GST_PLUGINS_BASE_VERSION_MINOR">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstpluginsbaseversion.h"
+ line="34">The minor version of GStreamer's gst-plugins-base libraries at compile time.</doc>
+ <source-position filename="gst-libs/gst/pbutils/gstpluginsbaseversion.h"
+ line="39"/>
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="PLUGINS_BASE_VERSION_NANO"
+ value="1"
+ c:type="GST_PLUGINS_BASE_VERSION_NANO">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstpluginsbaseversion.h"
+ line="46">The nano version of GStreamer's gst-plugins-base libraries at compile time.
+Actual releases have 0, GIT versions have 1, prerelease versions have 2-...</doc>
+ <source-position filename="gst-libs/gst/pbutils/gstpluginsbaseversion.h"
+ line="52"/>
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <function name="codec_utils_aac_caps_set_level_and_profile"
+ c:identifier="gst_codec_utils_aac_caps_set_level_and_profile">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="490">Sets the level and profile on @caps if it can be determined from
+@audio_config. See gst_codec_utils_aac_get_level() and
+gst_codec_utils_aac_get_profile() for more details on the parameters.
+@caps must be audio/mpeg caps with an "mpegversion" field of either 2 or 4.
+If mpegversion is 4, the "base-profile" field is also set in @caps.</doc>
+ <source-position filename="gst-libs/gst/pbutils/codec-utils.h"
+ line="51"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="504">%TRUE if the level and profile could be set, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="caps" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="492">the #GstCaps to which level and profile fields are to be added</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ <parameter name="audio_config" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="493">a pointer to the AudioSpecificConfig
+ as specified in the Elementary Stream Descriptor (esds)
+ in ISO/IEC 14496-1. (See below for more details)</doc>
+ <array length="2" zero-terminated="0" c:type="const guint8*">
+ <type name="guint8" c:type="guint8"/>
+ </array>
+ </parameter>
+ <parameter name="len" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="496">Length of @audio_config in bytes</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="codec_utils_aac_get_channels"
+ c:identifier="gst_codec_utils_aac_get_channels"
+ version="1.10">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="218">Returns the channels of the given AAC stream.</doc>
+ <source-position filename="gst-libs/gst/pbutils/codec-utils.h"
+ line="48"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="227">The channels or 0 if the channel could not be determined.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <parameter name="audio_config" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="220">a pointer to the AudioSpecificConfig
+ as specified in the Elementary Stream Descriptor (esds)
+ in ISO/IEC 14496-1.</doc>
+ <array length="1" zero-terminated="0" c:type="const guint8*">
+ <type name="guint8" c:type="guint8"/>
+ </array>
+ </parameter>
+ <parameter name="len" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="223">Length of @audio_config in bytes</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="codec_utils_aac_get_index_from_sample_rate"
+ c:identifier="gst_codec_utils_aac_get_index_from_sample_rate">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="89">Translates the sample rate to the index corresponding to it in AAC spec.</doc>
+ <source-position filename="gst-libs/gst/pbutils/codec-utils.h"
+ line="36"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="95">The AAC index for this sample rate, -1 if the rate is not a
+valid AAC sample rate.</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <parameter name="rate" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="91">Sample rate</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="codec_utils_aac_get_level"
+ c:identifier="gst_codec_utils_aac_get_level">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="301">Determines the level of a stream as defined in ISO/IEC 14496-3. For AAC LC
+streams, the constraints from the AAC audio profile are applied. For AAC
+Main, LTP, SSR and others, the Main profile is used.
+
+The @audio_config parameter follows the following format, starting from the
+most significant bit of the first byte:
+
+ * Bit 0:4 contains the AudioObjectType (if this is 0x5, then the
+ real AudioObjectType is carried after the rate and channel data)
+ * Bit 5:8 contains the sample frequency index (if this is 0xf, then the
+ next 24 bits define the actual sample frequency, and subsequent
+ fields are appropriately shifted).
+ * Bit 9:12 contains the channel configuration</doc>
+ <source-position filename="gst-libs/gst/pbutils/codec-utils.h"
+ line="42"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="322">The level as a const string and %NULL if the level could not be
+determined.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="audio_config" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="303">a pointer to the AudioSpecificConfig
+ as specified in the Elementary Stream Descriptor (esds)
+ in ISO/IEC 14496-1.</doc>
+ <array length="1" zero-terminated="0" c:type="const guint8*">
+ <type name="guint8" c:type="guint8"/>
+ </array>
+ </parameter>
+ <parameter name="len" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="306">Length of @audio_config in bytes</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="codec_utils_aac_get_profile"
+ c:identifier="gst_codec_utils_aac_get_profile">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="248">Returns the profile of the given AAC stream as a string. The profile is
+normally determined using the AudioObjectType field which is in the first
+5 bits of @audio_config</doc>
+ <source-position filename="gst-libs/gst/pbutils/codec-utils.h"
+ line="39"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="259">The profile as a const string and %NULL if the profile could not be
+determined.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="audio_config" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="250">a pointer to the AudioSpecificConfig
+ as specified in the Elementary Stream Descriptor (esds)
+ in ISO/IEC 14496-1.</doc>
+ <array length="1" zero-terminated="0" c:type="const guint8*">
+ <type name="guint8" c:type="guint8"/>
+ </array>
+ </parameter>
+ <parameter name="len" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="253">Length of @audio_config in bytes</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="codec_utils_aac_get_sample_rate"
+ c:identifier="gst_codec_utils_aac_get_sample_rate"
+ version="1.10">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="188">Translates the sample rate index found in AAC headers to the actual sample
+rate.</doc>
+ <source-position filename="gst-libs/gst/pbutils/codec-utils.h"
+ line="45"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="198">The sample rate if sr_idx is valid, 0 otherwise.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <parameter name="audio_config" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="190">a pointer to the AudioSpecificConfig
+ as specified in the Elementary Stream Descriptor (esds)
+ in ISO/IEC 14496-1.</doc>
+ <array length="1" zero-terminated="0" c:type="const guint8*">
+ <type name="guint8" c:type="guint8"/>
+ </array>
+ </parameter>
+ <parameter name="len" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="193">Length of @audio_config</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="codec_utils_aac_get_sample_rate_from_index"
+ c:identifier="gst_codec_utils_aac_get_sample_rate_from_index">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="69">Translates the sample rate index found in AAC headers to the actual sample
+rate.</doc>
+ <source-position filename="gst-libs/gst/pbutils/codec-utils.h"
+ line="33"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="77">The sample rate if @sr_idx is valid, 0 otherwise.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <parameter name="sr_idx" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="71">Sample rate index as from the AudioSpecificConfig (MPEG-4
+ container) or ADTS frame header</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="codec_utils_h264_caps_set_level_and_profile"
+ c:identifier="gst_codec_utils_h264_caps_set_level_and_profile">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="782">Sets the level and profile in @caps if it can be determined from @sps. See
+gst_codec_utils_h264_get_level() and gst_codec_utils_h264_get_profile()
+for more details on the parameters.</doc>
+ <source-position filename="gst-libs/gst/pbutils/codec-utils.h"
+ line="67"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="792">%TRUE if the level and profile could be set, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="caps" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="784">the #GstCaps to which the level and profile are to be added</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ <parameter name="sps" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="785">Pointer to the sequence parameter set for the stream.</doc>
+ <array length="2" zero-terminated="0" c:type="const guint8*">
+ <type name="guint8" c:type="guint8"/>
+ </array>
+ </parameter>
+ <parameter name="len" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="786">Length of the data available in @sps.</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="codec_utils_h264_get_level"
+ c:identifier="gst_codec_utils_h264_get_level">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="659">Converts the level indication (level_idc) in the stream's
+sequence parameter set into a string. The SPS is expected to have the
+same format as for gst_codec_utils_h264_get_profile().</doc>
+ <source-position filename="gst-libs/gst/pbutils/codec-utils.h"
+ line="61"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="668">The level as a const string, or %NULL if there is an error.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="sps" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="661">Pointer to the sequence parameter set for the stream.</doc>
+ <array length="1" zero-terminated="0" c:type="const guint8*">
+ <type name="guint8" c:type="guint8"/>
+ </array>
+ </parameter>
+ <parameter name="len" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="662">Length of the data available in @sps.</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="codec_utils_h264_get_level_idc"
+ c:identifier="gst_codec_utils_h264_get_level_idc">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="724">Transform a level string from the caps into the level_idc</doc>
+ <source-position filename="gst-libs/gst/pbutils/codec-utils.h"
+ line="64"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="730">the level_idc or 0 if the level is unknown</doc>
+ <type name="guint8" c:type="guint8"/>
+ </return-value>
+ <parameters>
+ <parameter name="level" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="726">A level string from caps</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="codec_utils_h264_get_profile"
+ c:identifier="gst_codec_utils_h264_get_profile">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="547">Converts the profile indication (profile_idc) in the stream's
+sequence parameter set into a string. The SPS is expected to have the
+following format, as defined in the H.264 specification. The SPS is viewed
+as a bitstream here, with bit 0 being the most significant bit of the first
+byte.
+
+* Bit 0:7 - Profile indication
+* Bit 8 - constraint_set0_flag
+* Bit 9 - constraint_set1_flag
+* Bit 10 - constraint_set2_flag
+* Bit 11 - constraint_set3_flag
+* Bit 12 - constraint_set3_flag
+* Bit 13:15 - Reserved
+* Bit 16:24 - Level indication</doc>
+ <source-position filename="gst-libs/gst/pbutils/codec-utils.h"
+ line="58"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="567">The profile as a const string, or %NULL if there is an error.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="sps" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="549">Pointer to the sequence parameter set for the stream.</doc>
+ <array length="1" zero-terminated="0" c:type="const guint8*">
+ <type name="guint8" c:type="guint8"/>
+ </array>
+ </parameter>
+ <parameter name="len" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="550">Length of the data available in @sps.</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="codec_utils_h265_caps_set_level_tier_and_profile"
+ c:identifier="gst_codec_utils_h265_caps_set_level_tier_and_profile"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="1426">Sets the level, tier and profile in @caps if it can be determined from
+@profile_tier_level. See gst_codec_utils_h265_get_level(),
+gst_codec_utils_h265_get_tier() and gst_codec_utils_h265_get_profile()
+for more details on the parameters.</doc>
+ <source-position filename="gst-libs/gst/pbutils/codec-utils.h"
+ line="89"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="1438">%TRUE if the level, tier, profile could be set, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="caps" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="1428">the #GstCaps to which the level, tier and profile are to be added</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ <parameter name="profile_tier_level" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="1429">Pointer to the profile_tier_level
+ struct</doc>
+ <array length="2" zero-terminated="0" c:type="const guint8*">
+ <type name="guint8" c:type="guint8"/>
+ </array>
+ </parameter>
+ <parameter name="len" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="1431">Length of the data available in @profile_tier_level.</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="codec_utils_h265_get_level"
+ c:identifier="gst_codec_utils_h265_get_level"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="1323">Converts the level indication (general_level_idc) in the stream's
+profile_tier_level structure into a string. The profiel_tier_level is
+expected to have the same format as for gst_codec_utils_h264_get_profile().</doc>
+ <source-position filename="gst-libs/gst/pbutils/codec-utils.h"
+ line="82"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="1333">The level as a const string, or %NULL if there is an error.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="profile_tier_level" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="1325">Pointer to the profile_tier_level
+ for the stream</doc>
+ <array length="1" zero-terminated="0" c:type="const guint8*">
+ <type name="guint8" c:type="guint8"/>
+ </array>
+ </parameter>
+ <parameter name="len" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="1327">Length of the data available in @profile_tier_level.</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="codec_utils_h265_get_level_idc"
+ c:identifier="gst_codec_utils_h265_get_level_idc"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="1380">Transform a level string from the caps into the level_idc</doc>
+ <source-position filename="gst-libs/gst/pbutils/codec-utils.h"
+ line="86"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="1386">the level_idc or 0 if the level is unknown</doc>
+ <type name="guint8" c:type="guint8"/>
+ </return-value>
+ <parameters>
+ <parameter name="level" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="1382">A level string from caps</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="codec_utils_h265_get_profile"
+ c:identifier="gst_codec_utils_h265_get_profile"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="1107">Converts the profile indication (general_profile_idc) in the stream's
+profile_level_tier structure into a string. The profile_tier_level is
+expected to have the following format, as defined in the H.265
+specification. The profile_tier_level is viewed as a bitstream here,
+with bit 0 being the most significant bit of the first byte.
+
+* Bit 0:1 - general_profile_space
+* Bit 2 - general_tier_flag
+* Bit 3:7 - general_profile_idc
+* Bit 8:39 - gernal_profile_compatibility_flags
+* Bit 40 - general_progressive_source_flag
+* Bit 41 - general_interlaced_source_flag
+* Bit 42 - general_non_packed_constraint_flag
+* Bit 43 - general_frame_only_constraint_flag
+* Bit 44:87 - See below
+* Bit 88:95 - general_level_idc</doc>
+ <source-position filename="gst-libs/gst/pbutils/codec-utils.h"
+ line="74"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="1130">The profile as a const string, or %NULL if there is an error.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="profile_tier_level" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="1109">Pointer to the profile_tier_level
+ structure for the stream.</doc>
+ <array length="1" zero-terminated="0" c:type="const guint8*">
+ <type name="guint8" c:type="guint8"/>
+ </array>
+ </parameter>
+ <parameter name="len" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="1111">Length of the data available in @profile_tier_level</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="codec_utils_h265_get_tier"
+ c:identifier="gst_codec_utils_h265_get_tier"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="1286">Converts the tier indication (general_tier_flag) in the stream's
+profile_tier_level structure into a string. The profile_tier_level
+is expected to have the same format as for gst_codec_utils_h264_get_profile().</doc>
+ <source-position filename="gst-libs/gst/pbutils/codec-utils.h"
+ line="78"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="1296">The tier as a const string, or %NULL if there is an error.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="profile_tier_level" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="1288">Pointer to the profile_tier_level
+ for the stream.</doc>
+ <array length="1" zero-terminated="0" c:type="const guint8*">
+ <type name="guint8" c:type="guint8"/>
+ </array>
+ </parameter>
+ <parameter name="len" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="1290">Length of the data available in @profile_tier_level.</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="codec_utils_mpeg4video_caps_set_level_and_profile"
+ c:identifier="gst_codec_utils_mpeg4video_caps_set_level_and_profile">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="1637">Sets the level and profile in @caps if it can be determined from
+@vis_obj_seq. See gst_codec_utils_mpeg4video_get_level() and
+gst_codec_utils_mpeg4video_get_profile() for more details on the
+parameters.</doc>
+ <source-position filename="gst-libs/gst/pbutils/codec-utils.h"
+ line="101"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="1649">%TRUE if the level and profile could be set, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="caps" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="1639">the #GstCaps to which the level and profile are to be added</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ <parameter name="vis_obj_seq" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="1640">Pointer to the visual object
+ sequence for the stream.</doc>
+ <array length="2" zero-terminated="0" c:type="const guint8*">
+ <type name="guint8" c:type="guint8"/>
+ </array>
+ </parameter>
+ <parameter name="len" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="1642">Length of the data available in @sps.</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="codec_utils_mpeg4video_get_level"
+ c:identifier="gst_codec_utils_mpeg4video_get_level">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="1545">Converts the level indication in the stream's visual object sequence into
+a string. @vis_obj_seq is expected to be the data following the visual
+object sequence start code. Only the first byte
+(profile_and_level_indication) is used.</doc>
+ <source-position filename="gst-libs/gst/pbutils/codec-utils.h"
+ line="98"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="1556">The level as a const string, or NULL if there is an error.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="vis_obj_seq" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="1547">Pointer to the visual object
+ sequence for the stream.</doc>
+ <array length="1" zero-terminated="0" c:type="const guint8*">
+ <type name="guint8" c:type="guint8"/>
+ </array>
+ </parameter>
+ <parameter name="len" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="1549">Length of the data available in @sps.</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="codec_utils_mpeg4video_get_profile"
+ c:identifier="gst_codec_utils_mpeg4video_get_profile">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="1472">Converts the profile indication in the stream's visual object sequence into
+a string. @vis_obj_seq is expected to be the data following the visual
+object sequence start code. Only the first byte
+(profile_and_level_indication) is used.</doc>
+ <source-position filename="gst-libs/gst/pbutils/codec-utils.h"
+ line="95"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="1483">The profile as a const string, or NULL if there is an error.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="vis_obj_seq" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="1474">Pointer to the visual object
+ sequence for the stream.</doc>
+ <array length="1" zero-terminated="0" c:type="const guint8*">
+ <type name="guint8" c:type="guint8"/>
+ </array>
+ </parameter>
+ <parameter name="len" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="1476">Length of the data available in @sps.</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="codec_utils_opus_create_caps"
+ c:identifier="gst_codec_utils_opus_create_caps"
+ version="1.8">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="1794">Creates Opus caps from the given parameters.</doc>
+ <source-position filename="gst-libs/gst/pbutils/codec-utils.h"
+ line="117"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="1805">The #GstCaps, or %NULL if the parameters would lead to
+invalid Opus caps.</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <parameter name="rate" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="1796">the sample rate</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ <parameter name="channels" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="1797">the number of channels</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ <parameter name="channel_mapping_family" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="1798">the channel mapping family</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ <parameter name="stream_count" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="1799">the number of independent streams</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ <parameter name="coupled_count" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="1800">the number of stereo streams</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ <parameter name="channel_mapping"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="1801">the mapping between the streams</doc>
+ <array zero-terminated="0" c:type="const guint8*">
+ <type name="guint8" c:type="guint8"/>
+ </array>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="codec_utils_opus_create_caps_from_header"
+ c:identifier="gst_codec_utils_opus_create_caps_from_header"
+ version="1.8">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="1963">Creates Opus caps from the given OpusHead @header and comment header
+@comments.</doc>
+ <source-position filename="gst-libs/gst/pbutils/codec-utils.h"
+ line="125"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="1971">The #GstCaps.</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <parameter name="header" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="1965">OpusHead header</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="comments"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="1966">Comment header or NULL</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="codec_utils_opus_create_header"
+ c:identifier="gst_codec_utils_opus_create_header"
+ version="1.8">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="2018">Creates OpusHead header from the given parameters.</doc>
+ <source-position filename="gst-libs/gst/pbutils/codec-utils.h"
+ line="128"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="2031">The #GstBuffer containing the OpusHead.</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <parameter name="rate" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="2020">the sample rate</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ <parameter name="channels" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="2021">the number of channels</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ <parameter name="channel_mapping_family" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="2022">the channel mapping family</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ <parameter name="stream_count" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="2023">the number of independent streams</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ <parameter name="coupled_count" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="2024">the number of stereo streams</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ <parameter name="channel_mapping"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="2025">the mapping between the streams</doc>
+ <array zero-terminated="0" c:type="const guint8*">
+ <type name="guint8" c:type="guint8"/>
+ </array>
+ </parameter>
+ <parameter name="pre_skip" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="2026">Pre-skip in 48kHz samples or 0</doc>
+ <type name="guint16" c:type="guint16"/>
+ </parameter>
+ <parameter name="output_gain" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="2027">Output gain or 0</doc>
+ <type name="gint16" c:type="gint16"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="codec_utils_opus_parse_caps"
+ c:identifier="gst_codec_utils_opus_parse_caps"
+ version="1.8">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="1677">Parses Opus caps and fills the different fields with defaults if possible.</doc>
+ <source-position filename="gst-libs/gst/pbutils/codec-utils.h"
+ line="108"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="1689">%TRUE if parsing was successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="caps" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="1679">the #GstCaps to parse the data from</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ <parameter name="rate"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="1680">the sample rate</doc>
+ <type name="guint32" c:type="guint32*"/>
+ </parameter>
+ <parameter name="channels"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="1681">the number of channels</doc>
+ <type name="guint8" c:type="guint8*"/>
+ </parameter>
+ <parameter name="channel_mapping_family"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="1682">the channel mapping family</doc>
+ <type name="guint8" c:type="guint8*"/>
+ </parameter>
+ <parameter name="stream_count"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="1683">the number of independent streams</doc>
+ <type name="guint8" c:type="guint8*"/>
+ </parameter>
+ <parameter name="coupled_count"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="1684">the number of stereo streams</doc>
+ <type name="guint8" c:type="guint8*"/>
+ </parameter>
+ <parameter name="channel_mapping"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="1685">the mapping between the streams</doc>
+ <array zero-terminated="0" c:type="guint8*" fixed-size="256">
+ <type name="guint8" c:type="guint8"/>
+ </array>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="codec_utils_opus_parse_header"
+ c:identifier="gst_codec_utils_opus_parse_header"
+ version="1.8">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="2099">Parses the OpusHead header.</doc>
+ <source-position filename="gst-libs/gst/pbutils/codec-utils.h"
+ line="138"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="2113">%TRUE if parsing was successful, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="header" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="2101">the OpusHead #GstBuffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="rate"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="2102">the sample rate</doc>
+ <type name="guint32" c:type="guint32*"/>
+ </parameter>
+ <parameter name="channels"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="2103">the number of channels</doc>
+ <type name="guint8" c:type="guint8*"/>
+ </parameter>
+ <parameter name="channel_mapping_family"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="2104">the channel mapping family</doc>
+ <type name="guint8" c:type="guint8*"/>
+ </parameter>
+ <parameter name="stream_count"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="2105">the number of independent streams</doc>
+ <type name="guint8" c:type="guint8*"/>
+ </parameter>
+ <parameter name="coupled_count"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="2106">the number of stereo streams</doc>
+ <type name="guint8" c:type="guint8*"/>
+ </parameter>
+ <parameter name="channel_mapping"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="2107">the mapping between the streams</doc>
+ <array zero-terminated="0" c:type="guint8*" fixed-size="256">
+ <type name="guint8" c:type="guint8"/>
+ </array>
+ </parameter>
+ <parameter name="pre_skip"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="2108">Pre-skip in 48kHz samples or 0</doc>
+ <type name="guint16" c:type="guint16*"/>
+ </parameter>
+ <parameter name="output_gain"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="2109">Output gain or 0</doc>
+ <type name="gint16" c:type="gint16*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function-macro name="discoverer_info_ref"
+ c:identifier="gst_discoverer_info_ref"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer-types.c"
+ line="1082">Increments the reference count of @info.</doc>
+ <source-position filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="274"/>
+ <parameters>
+ <parameter name="info">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer-types.c"
+ line="1084">a #GstDiscovererInfo</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="discoverer_info_unref"
+ c:identifier="gst_discoverer_info_unref"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer-types.c"
+ line="1091">Decrements the reference count of @info.</doc>
+ <source-position filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="273"/>
+ <parameters>
+ <parameter name="info">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer-types.c"
+ line="1093">a #GstDiscovererInfo</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="discoverer_stream_info_ref"
+ c:identifier="gst_discoverer_stream_info_ref"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer-types.c"
+ line="1098">Increments the reference count of @info.</doc>
+ <source-position filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="59"/>
+ <parameters>
+ <parameter name="info">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer-types.c"
+ line="1100">a #GstDiscovererStreamInfo</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="discoverer_stream_info_unref"
+ c:identifier="gst_discoverer_stream_info_unref"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer-types.c"
+ line="1107">Decrements the reference count of @info.</doc>
+ <source-position filename="gst-libs/gst/pbutils/gstdiscoverer.h"
+ line="60"/>
+ <parameters>
+ <parameter name="info">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstdiscoverer-types.c"
+ line="1109">a #GstDiscovererStreamInfo</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <docsection name="encoding-profile">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.c"
+ line="21">Functions to create and handle encoding profiles.
+
+Encoding profiles describe the media types and settings one wishes to use
+for an encoding process. The top-level profiles are commonly
+#GstEncodingContainerProfile(s) (which contains a user-readable name and
+description along with which container format to use). These, in turn,
+reference one or more #GstEncodingProfile(s) which indicate which encoding
+format should be used on each individual streams.
+
+#GstEncodingProfile(s) can be provided to the 'encodebin' element, which
+will take care of selecting and setting up the required elements to produce
+an output stream conforming to the specifications of the profile.
+
+Unlike other systems, the encoding profiles do not specify which #GstElement
+to use for the various encoding and muxing steps, but instead relies on
+specifying the format one wishes to use.
+
+Encoding profiles can be created at runtime by the application or loaded
+from (and saved to) file using the #GstEncodingTarget API.
+
+## Defining a GstEncodingProfile as a string
+
+### Serialized encoding profile formats
+
+#### Using encoders and muxer element factory name:
+
+```
+ muxer_factory_name:video_encoder_factory_name:audio_encoder_factory_name
+```
+
+For example to encode a stream into a WebM container, with an OGG audio
+stream and a VP8 video stream, the serialized #GstEncodingProfile looks
+like:
+
+```
+ webmmux:vp8enc:vorbisenc
+```
+
+#### Define the encoding profile in a generic way using caps:
+
+```
+ muxer_source_caps:video_encoder_source_caps:audio_encoder_source_caps
+```
+
+For example to encode a stream into a WebM container, with an OGG audio
+stream and a VP8 video stream, the serialized #GstEncodingProfile looks
+like:
+
+```
+ video/webm:video/x-vp8:audio/x-vorbis
+```
+
+It is possible to mix caps and element type names so you can specify a specific
+video encoder while using caps for other encoders/muxer.
+
+### Advanced encoding format serialization features:
+
+You can also set the preset name of the encoding profile using the
+caps+preset_name syntax as in:
+
+```
+ video/webm:video/x-vp8+youtube-preset:audio/x-vorbis
+```
+
+Moreover, you can set extra properties `presence`, `single-segment` and
+`variable-framerate` * of an * encoding profile using the `|presence=` syntax
+as in:
+
+```
+ video/webm:video/x-vp8|presence=1,variable-framerate=true|single-segment=true:audio/x-vorbis
+```
+
+This field allows specifies the maximum number of times a
+#GstEncodingProfile can be used inside an encodebin. If 0, it is not a
+mandatory stream and can be used as many times as necessary.
+
+You can also use the `restriction_caps-&gt;encoded_format_caps` syntax to
+specify the restriction caps to be set on a #GstEncodingProfile
+
+It corresponds to the restriction #GstCaps to apply before the encoder that
+will be used in the profile. The fields present in restriction caps are
+properties of the raw stream (that is, before encoding), such as height and
+width for video and depth and sampling rate for audio. This property does
+not make sense for muxers. See #gst_encoding_profile_get_restriction for
+more details.
+
+To force a video stream to be encoded with a Full HD resolution (using WebM
+as the container format, VP8 as the video codec and Vorbis as the audio
+codec), you should use:
+
+```
+ "video/webm:video/x-raw,width=1920,height=1080-&gt;video/x-vp8:audio/x-vorbis"
+```
+
+&gt; NOTE: Make sure to enclose into quotes to avoid '&gt;' to be reinterpreted by
+&gt; the shell.
+
+In the case you are using encoder types, the following is also possible:
+
+```
+ "matroskamux:x264enc,width=1920,height=1080:audio/x-vorbis"
+```
+
+## Some serialized encoding formats examples:
+
+MP3 audio and H264 in MP4:
+
+```
+ video/quicktime,variant=iso:video/x-h264:audio/mpeg,mpegversion=1,layer=3
+```
+
+Vorbis and theora in OGG:
+
+```
+ application/ogg:video/x-theora:audio/x-vorbis
+```
+
+AC3 and H264 in MPEG-TS:
+
+```
+ video/mpegts:video/x-h264:audio/x-ac3
+```
+
+## Loading a profile from encoding targets
+
+Anywhere where you have to use a string to define a #GstEncodingProfile,
+you can use load it from a #GstEncodingTarget using the following syntaxes:
+
+```
+ target_name[/profilename/category]
+```
+
+or
+
+```
+ /path/to/target.gep:profilename
+```
+
+## Examples
+
+### Creating a profile
+
+``` c
+#include &lt;gst/pbutils/encoding-profile.h&gt;
+...
+GstEncodingProfile *
+create_ogg_theora_profile(void)
+{
+ GstEncodingContainerProfile *prof;
+ GstCaps *caps;
+
+ caps = gst_caps_from_string("application/ogg");
+ prof = gst_encoding_container_profile_new("Ogg audio/video",
+ "Standard OGG/THEORA/VORBIS",
+ caps, NULL);
+ gst_caps_unref (caps);
+
+ caps = gst_caps_from_string("video/x-theora");
+ gst_encoding_container_profile_add_profile(prof,
+ (GstEncodingProfile*) gst_encoding_video_profile_new(caps, NULL, NULL, 0));
+ gst_caps_unref (caps);
+
+ caps = gst_caps_from_string("audio/x-vorbis");
+ gst_encoding_container_profile_add_profile(prof,
+ (GstEncodingProfile*) gst_encoding_audio_profile_new(caps, NULL, NULL, 0));
+ gst_caps_unref (caps);
+
+ return (GstEncodingProfile*) prof;
+}
+
+```
+
+### Example: Using an encoder preset with a profile
+
+``` c
+#include &lt;gst/pbutils/encoding-profile.h&gt;
+...
+GstEncodingProfile *
+create_ogg_theora_profile(void)
+{
+ GstEncodingVideoProfile *v;
+ GstEncodingAudioProfile *a;
+ GstEncodingContainerProfile *prof;
+ GstCaps *caps;
+ GstPreset *preset;
+
+ caps = gst_caps_from_string ("application/ogg");
+ prof = gst_encoding_container_profile_new ("Ogg audio/video",
+ "Standard OGG/THEORA/VORBIS",
+ caps, NULL);
+ gst_caps_unref (caps);
+
+ preset = GST_PRESET (gst_element_factory_make ("theoraenc", "theorapreset"));
+ g_object_set (preset, "bitrate", 1000, NULL);
+ // The preset will be saved on the filesystem,
+ // so try to use a descriptive name
+ gst_preset_save_preset (preset, "theora_bitrate_preset");
+ gst_object_unref (preset);
+
+ caps = gst_caps_from_string ("video/x-theora");
+ v = gst_encoding_video_profile_new (caps, "theora_bitrate_preset", NULL, 0);
+ gst_encoding_container_profile_add_profile (prof, (GstEncodingProfile*) v);
+ gst_caps_unref (caps);
+
+ caps = gst_caps_from_string ("audio/x-vorbis");
+ a = gst_encoding_audio_profile_new (caps, NULL, NULL, 0);
+ gst_encoding_container_profile_add_profile (prof, (GstEncodingProfile*) a);
+ gst_caps_unref (caps);
+
+ return (GstEncodingProfile*) prof;
+}
+
+```
+
+### Listing categories, targets and profiles
+
+``` c
+#include &lt;gst/pbutils/encoding-profile.h&gt;
+...
+GstEncodingProfile *prof;
+GList *categories, *tmpc;
+GList *targets, *tmpt;
+...
+categories = gst_encoding_list_available_categories ();
+
+... Show available categories to user ...
+
+for (tmpc = categories; tmpc; tmpc = tmpc-&gt;next) {
+ gchar *category = (gchar *) tmpc-&gt;data;
+
+ ... and we can list all targets within that category ...
+
+ targets = gst_encoding_list_all_targets (category);
+
+ ... and show a list to our users ...
+
+ g_list_foreach (targets, (GFunc) gst_encoding_target_unref, NULL);
+ g_list_free (targets);
+}
+
+g_list_foreach (categories, (GFunc) g_free, NULL);
+g_list_free (categories);
+
+...
+```</doc>
+ </docsection>
+ <docsection name="encoding-target">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-target.c"
+ line="20">On top of the notion of profiles, we implement the notion of EncodingTarget.
+Encoding Targets are basically a higher level of abstraction to define formats
+for specific target types. Those can define several GstEncodingProfiles with
+different names, for example one for transcoding in full HD, another one for
+low res, etc.. which are defined in the same encoding target.
+
+Basically if you want to encode a stream to send it to, say, youtube you should
+have a Youtube encoding target defined in the "online-service" category.
+
+## Encoding target serialization format
+
+Encoding targets are serialized in a KeyFile like files.
+
+|[
+[GStreamer Encoding Target]
+name : &lt;name&gt;
+category : &lt;category&gt;
+\description : &lt;description&gt; #translatable
+
+[profile-&lt;profile1name&gt;]
+name : &lt;name&gt;
+\description : &lt;description&gt; #optional
+format : &lt;format&gt;
+preset : &lt;preset&gt;
+
+[streamprofile-&lt;id&gt;]
+parent : &lt;encodingprofile.name&gt;[,&lt;encodingprofile.name&gt;..]
+\type : &lt;type&gt; # "audio", "video", "text"
+format : &lt;format&gt;
+preset : &lt;preset&gt;
+restriction : &lt;restriction&gt;
+presence : &lt;presence&gt;
+pass : &lt;pass&gt;
+variableframerate : &lt;variableframerate&gt;
+]|
+
+## Location of encoding target files
+
+$GST_DATADIR/gstreamer-GST_API_VERSION/encoding-profile
+$HOME/gstreamer-GST_API_VERSION/encoding-profile
+
+There also is a GST_ENCODING_TARGET_PATH environment variable
+defining a list of folder containing encoding target files.
+
+## Naming convention
+
+|[
+ $(target.category)/$(target.name).gep
+]|
+
+## Naming restrictions:
+
+ * lowercase ASCII letter for the first character
+ * Same for all other characters + numerics + hyphens</doc>
+ </docsection>
+ <function name="encoding_list_all_targets"
+ c:identifier="gst_encoding_list_all_targets">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-target.c"
+ line="1260">List all available #GstEncodingTarget for the specified category, or all categories
+if @categoryname is %NULL.</doc>
+ <source-position filename="gst-libs/gst/pbutils/encoding-target.h"
+ line="175"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-target.c"
+ line="1268">The list of #GstEncodingTarget</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="EncodingTarget"/>
+ </type>
+ </return-value>
+ <parameters>
+ <parameter name="categoryname"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-target.c"
+ line="1262">The category, for ex: #GST_ENCODING_CATEGORY_DEVICE.
+Can be %NULL.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="encoding_list_available_categories"
+ c:identifier="gst_encoding_list_available_categories">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-target.c"
+ line="1127">Lists all #GstEncodingTarget categories present on disk.</doc>
+ <source-position filename="gst-libs/gst/pbutils/encoding-target.h"
+ line="172"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-target.c"
+ line="1132">A list
+of #GstEncodingTarget categories.</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="utf8"/>
+ </type>
+ </return-value>
+ </function>
+ <function-macro name="encoding_profile_ref"
+ c:identifier="gst_encoding_profile_ref"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.h"
+ line="119">Increases the reference count of the @profile.</doc>
+ <source-position filename="gst-libs/gst/pbutils/encoding-profile.h"
+ line="121"/>
+ <parameters>
+ <parameter name="profile">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.h"
+ line="121">a #GstEncodingProfile</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="encoding_profile_unref"
+ c:identifier="gst_encoding_profile_unref"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.h"
+ line="111">Decreases the reference count of the @profile, possibly freeing the @profile.</doc>
+ <source-position filename="gst-libs/gst/pbutils/encoding-profile.h"
+ line="113"/>
+ <parameters>
+ <parameter name="profile">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-profile.h"
+ line="113">a #GstEncodingProfile</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="encoding_target_ref"
+ c:identifier="gst_encoding_target_ref"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-target.h"
+ line="115">Increases the reference count of the @target.</doc>
+ <source-position filename="gst-libs/gst/pbutils/encoding-target.h"
+ line="120"/>
+ <parameters>
+ <parameter name="target">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-target.h"
+ line="117">a #GstEncodingTarget</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="encoding_target_unref"
+ c:identifier="gst_encoding_target_unref"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-target.h"
+ line="106">Decreases the reference count of the @target, possibly freeing it.</doc>
+ <source-position filename="gst-libs/gst/pbutils/encoding-target.h"
+ line="111"/>
+ <parameters>
+ <parameter name="target">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/encoding-target.h"
+ line="108">a #GstEncodingTarget</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <docsection name="gstpbutils">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/pbutils.c"
+ line="20">libgstpbutils is a general utility library for plugins and applications.
+It currently provides the
+following:
+
+* human-readable description strings of codecs, elements, sources, decoders,
+encoders, or sinks from decoder/encoder caps, element names, or protocol
+names.
+
+* support for applications to initiate installation of missing plugins (if
+this is supported by the distribution or operating system used)
+
+* API for GStreamer elements to create missing-plugin messages in order to
+communicate to the application that a certain type of plugin is missing
+(decoder, encoder, URI protocol source, URI protocol sink, named element)
+
+* API for applications to recognise and handle missing-plugin messages
+
+## Linking to this library
+
+You should obtain the required CFLAGS and LIBS using pkg-config on the
+gstreamer-plugins-base-1.0 module. You will then also need to add
+'-lgstreamer-pbutils-1.0' manually to your LIBS line.
+
+## Library initialisation
+
+Before using any of its functions, applications and plugins must call
+gst_pb_utils_init() to initialise the library.</doc>
+ </docsection>
+ <docsection name="gstpbutilscodecutils">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/codec-utils.c"
+ line="25">Provides codec-specific ulility functions such as functions to provide the
+codec profile and level in human-readable string form from header data.</doc>
+ </docsection>
+ <docsection name="gstpbutilsdescriptions">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/descriptions.c"
+ line="20">The above functions provide human-readable strings for media formats
+and decoder/demuxer/depayloader/encoder/muxer/payloader elements for use
+in error dialogs or other messages shown to users.
+
+gst_pb_utils_add_codec_description_to_tag_list() is a utility function
+for demuxer and decoder elements to add audio/video codec tags from a
+given (fixed) #GstCaps.</doc>
+ </docsection>
+ <docsection name="gstpbutilsinstallplugins">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/install-plugins.c"
+ line="21">## Overview
+
+Using this API, applications can request the installation of missing
+GStreamer plugins. These may be missing decoders/demuxers or
+encoders/muxers for a certain format, sources or sinks for a certain URI
+protocol (e.g. 'http'), or certain elements known by their element
+factory name ('audioresample').
+
+Whether plugin installation is supported or not depends on the operating
+system and/or distribution in question. The vendor of the operating
+system needs to make sure the necessary hooks and mechanisms are in
+place for plugin installation to work. See below for more detailed
+information.
+
+From the application perspective, plugin installation is usually
+triggered either
+
+- when the application itself has found that it wants or needs to
+ install a certain element
+- when the application has been notified by an element (such as
+ playbin or decodebin) that one or more plugins are missing *and* the
+ application has decided that it wants to install one or more of
+ those missing plugins
+
+The install functions in this section all take one or more 'detail
+strings'. These detail strings contain information about the type of
+plugin that needs to be installed (decoder, encoder, source, sink, or
+named element), and some additional information such GStreamer version
+used and a human-readable description of the component to install for
+user dialogs.
+
+Applications should not concern themselves with the composition of the
+string itself. They should regard the string as if it was a shared
+secret between GStreamer and the plugin installer application.
+
+Detail strings can be obtained using the function
+gst_missing_plugin_message_get_installer_detail() on a
+missing-plugin message. Such a message will either have been found by
+the application on a pipeline's #GstBus, or the application will have
+created it itself using gst_missing_element_message_new(),
+gst_missing_decoder_message_new(),
+gst_missing_encoder_message_new(),
+gst_missing_uri_sink_message_new(), or
+gst_missing_uri_source_message_new().
+
+For each GStreamer element/plugin/component that should be installed,
+the application needs one of those 'installer detail' string mentioned
+in the previous section. This string can be obtained, as already
+mentioned above, from a missing-plugin message using the function
+gst_missing_plugin_message_get_installer_detail(). The
+missing-plugin message is either posted by another element and then
+found on the bus by the application, or the application has created it
+itself as described above.
+
+The application will then call gst_install_plugins_async(), passing a
+NULL-terminated array of installer detail strings, and a function that
+should be called when the installation of the plugins has finished
+(successfully or not). Optionally, a #GstInstallPluginsContext created
+with gst_install_plugins_context_new() may be passed as well. This
+way additional optional arguments like the application window's XID can
+be passed to the external installer application.
+
+gst_install_plugins_async() will return almost immediately, with the
+return code indicating whether plugin installation was started or not.
+If the necessary hooks for plugin installation are in place and an
+external installer application has in fact been called, the passed in
+function will be called with a result code as soon as the external
+installer has finished. If the result code indicates that new plugins
+have been installed, the application will want to call
+gst_update_registry() so the run-time plugin registry is updated and
+the new plugins are made available to the application.
+
+&gt; A Gtk/GLib main loop must be running in order for the result function
+&gt; to be called when the external installer has finished. If this is not
+&gt; the case, make sure to regularly call in your code:
+&gt;
+&gt; g_main_context_iteration (NULL,FALSE);
+
+## 1. Installer hook
+
+When GStreamer applications initiate plugin installation via
+gst_install_plugins_async() or gst_install_plugins_sync(), a
+pre-defined helper application will be called.
+
+The exact path of the helper application to be called is set at compile
+time, usually by the build system based on the install prefix.
+For a normal package build into the `/usr` prefix, this will usually
+default to `/usr/libexec/gst-install-plugins-helper` or
+`/usr/lib/gst-install-plugins-helper`.
+
+Vendors/distros who want to support GStreamer plugin installation should
+either provide such a helper script/application or use the meson option
+`-Dinstall_plugins_helper'=/path/to/installer` to make GStreamer call an
+installer of their own directly.
+
+It is strongly recommended that vendors provide a small helper
+application as interlocutor to the real installer though, even more so
+if command line argument munging is required to transform the command
+line arguments passed by GStreamer to the helper application into
+arguments that are understood by the real installer.
+
+The helper application path defined at compile time can be overridden at
+runtime by setting the GST_INSTALL_PLUGINS_HELPER environment
+variable. This can be useful for testing/debugging purposes.
+
+## 2. Arguments passed to the install helper
+
+GStreamer will pass the following arguments to the install helper (this
+is in addition to the path of the executable itself, which is by
+convention argv[0]):
+
+- none to many optional arguments in the form of `--foo-bar=val`.
+ Example: `--transient-for=XID` where XID is the X Window ID of the
+ main window of the calling application (so the installer can make
+ itself transient to that window). Unknown optional arguments should
+ be ignored by the installer.
+
+- one 'installer detail string' argument for each plugin to be
+ installed; these strings will have a `gstreamer` prefix; the exact
+ format of the detail string is explained below
+
+## 3. Detail string describing the missing plugin
+
+The string is in UTF-8 encoding and is made up of several fields,
+separated by '|' characters (but neither the first nor the last
+character is a '|'). The fields are:
+
+- plugin system identifier, ie. "gstreamer"
+ This identifier determines the format of the rest of the detail
+ string. Automatic plugin installers should not process detail
+ strings with unknown identifiers. This allows other plugin-based
+ libraries to use the same mechanism for their automatic plugin
+ installation needs, or for the format to be changed should it turn
+ out to be insufficient.
+- plugin system version, e.g. "1.0"
+ This is required so that when there is GStreamer-2.0 at some point
+ in future, the different major versions can still co-exist and use
+ the same plugin install mechanism in the same way.
+- application identifier, e.g. "totem"
+ This may also be in the form of "pid/12345" if the program name
+ can't be obtained for some reason.
+- human-readable localised description of the required component, e.g.
+ "Vorbis audio decoder"
+- identifier string for the required component (see below for details
+ about how to map this to the package/plugin that needs installing),
+ e.g.
+ - urisource-$(PROTOCOL_REQUIRED), e.g. urisource-http or
+ urisource-mms
+ - element-$(ELEMENT_REQUIRED), e.g. element-videoconvert
+ - decoder-$(CAPS_REQUIRED), e.g. (do read below for more
+ details!):
+ - decoder-audio/x-vorbis
+ - decoder-application/ogg
+ - decoder-audio/mpeg, mpegversion=(int)4
+ - decoder-video/mpeg, systemstream=(boolean)true,
+ mpegversion=(int)2
+ - encoder-$(CAPS_REQUIRED), e.g. encoder-audio/x-vorbis
+- optional further fields not yet specified
+
+An entire ID string might then look like this, for example: `
+gstreamer|1.0|totem|Vorbis audio decoder|decoder-audio/x-vorbis`
+
+Plugin installers parsing this ID string should expect further fields
+also separated by '|' symbols and either ignore them, warn the user, or
+error out when encountering them.
+
+Those unfamiliar with the GStreamer 'caps' system should note a few
+things about the caps string used in the above decoder/encoder case:
+
+- the first part ("video/mpeg") of the caps string is a GStreamer
+ media type and *not* a MIME type. Wherever possible, the GStreamer
+ media type will be the same as the corresponding MIME type, but
+ often it is not.
+- a caps string may or may not have additional comma-separated fields
+ of various types (as seen in the examples above)
+- the caps string of a 'required' component (as above) will always
+ have fields with fixed values, whereas an introspected string (see
+ below) may have fields with non-fixed values. Compare for example:
+ - `audio/mpeg, mpegversion=(int)4` vs.
+ `audio/mpeg, mpegversion=(int){2, 4}`
+ - `video/mpeg, mpegversion=(int)2` vs.
+ `video/mpeg, systemstream=(boolean){ true, false}, mpegversion=(int)[1, 2]`
+
+## 4. Exit codes the installer should return
+
+The installer should return one of the following exit codes when it
+exits:
+
+- 0 if all of the requested plugins could be installed
+ (#GST_INSTALL_PLUGINS_SUCCESS)
+- 1 if no appropriate installation candidate for any of the requested
+ plugins could be found. Only return this if nothing has been
+ installed (#GST_INSTALL_PLUGINS_NOT_FOUND)
+- 2 if an error occurred during the installation. The application will
+ assume that the user will already have seen an error message by the
+ installer in this case and will usually not show another one
+ (#GST_INSTALL_PLUGINS_ERROR)
+- 3 if some of the requested plugins could be installed, but not all
+ (#GST_INSTALL_PLUGINS_PARTIAL_SUCCESS)
+- 4 if the user aborted the installation
+ (#GST_INSTALL_PLUGINS_USER_ABORT)
+
+## 5. How to map the required detail string to packages
+
+It is up to the vendor to find mechanism to map required components from
+the detail string to the actual packages/plugins to install. This could
+be a hardcoded list of mappings, for example, or be part of the
+packaging system metadata.
+
+GStreamer plugin files can be introspected for this information. The
+`gst-inspect` utility has a special command line option that will output
+information similar to what is required. For example `
+$ gst-inspect-1.0 --print-plugin-auto-install-info /path/to/libgstvorbis.so
+should output something along the lines of
+`decoder-audio/x-vorbis`, `element-vorbisdec` `element-vorbisenc`
+`element-vorbisparse`, `element-vorbistag`, `encoder-audio/x-vorbis`
+
+Note that in the encoder and decoder case the introspected caps can be
+more complex with additional fields, e.g.
+`audio/mpeg,mpegversion=(int){2,4}`, so they will not always exactly
+match the caps wanted by the application. It is up to the installer to
+deal with this (either by doing proper caps intersection using the
+GStreamer #GstCaps API, or by only taking into account the media type).
+
+Another potential source of problems are plugins such as ladspa or
+libvisual where the list of elements depends on the installed
+ladspa/libvisual plugins at the time. This is also up to the
+distribution to handle (but usually not relevant for playback
+applications).</doc>
+ </docsection>
+ <docsection name="gstpbutilsmissingplugins">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/missing-plugins.c"
+ line="20">Functions to create, recognise and parse missing-plugins messages for
+applications and elements.
+
+Missing-plugin messages are posted on the bus by elements like decodebin
+or playbin if they can't find an appropriate source element or decoder
+element. The application can use these messages for two things:
+
+ * concise error/problem reporting to the user mentioning what exactly
+ is missing, see gst_missing_plugin_message_get_description()
+
+ * initiate installation of missing plugins, see
+ gst_missing_plugin_message_get_installer_detail() and
+ gst_install_plugins_async()
+
+Applications may also create missing-plugin messages themselves to install
+required elements that are missing, using the install mechanism mentioned
+above.</doc>
+ </docsection>
+ <docsection name="gstpluginsbaseversion">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstpluginsbaseversion.c"
+ line="20">Use the GST_PLUGINS_BASE_VERSION_* macros e.g. to check what version of
+gst-plugins-base you are building against, and gst_plugins_base_version()
+if you need to check at runtime what version of the gst-plugins-base
+libraries are being used / you are currently linked against.
+
+The version macros get defined by including &amp;lt;gst/pbutils/pbutils.h&amp;gt;.</doc>
+ </docsection>
+ <function name="install_plugins_async"
+ c:identifier="gst_install_plugins_async">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/install-plugins.c"
+ line="610">Requests plugin installation without blocking. Once the plugins have been
+installed or installation has failed, @func will be called with the result
+of the installation and your provided @user_data pointer.
+
+This function requires a running GLib/Gtk main loop. If you are not
+running a GLib/Gtk main loop, make sure to regularly call
+g_main_context_iteration(NULL,FALSE).
+
+The installer strings that make up @detail are typically obtained by
+calling gst_missing_plugin_message_get_installer_detail() on missing-plugin
+messages that have been caught on a pipeline's bus or created by the
+application via the provided API, such as gst_missing_element_message_new().
+
+It is possible to request the installation of multiple missing plugins in
+one go (as might be required if there is a demuxer for a certain format
+installed but no suitable video decoder and no suitable audio decoder).</doc>
+ <source-position filename="gst-libs/gst/pbutils/install-plugins.h"
+ line="141"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/install-plugins.c"
+ line="635">result code whether an external installer could be started</doc>
+ <type name="InstallPluginsReturn" c:type="GstInstallPluginsReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="details" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/install-plugins.c"
+ line="612">NULL-terminated array
+ of installer string details (see below)</doc>
+ <array c:type="const gchar* const*">
+ <type name="utf8" c:type="gchar*"/>
+ </array>
+ </parameter>
+ <parameter name="ctx"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/install-plugins.c"
+ line="614">a #GstInstallPluginsContext, or NULL</doc>
+ <type name="InstallPluginsContext"
+ c:type="GstInstallPluginsContext*"/>
+ </parameter>
+ <parameter name="func"
+ transfer-ownership="none"
+ scope="async"
+ closure="3">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/install-plugins.c"
+ line="615">the function to call when the installer program returns</doc>
+ <type name="InstallPluginsResultFunc"
+ c:type="GstInstallPluginsResultFunc"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/install-plugins.c"
+ line="616">the user data to pass to @func when called, or NULL</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="install_plugins_installation_in_progress"
+ c:identifier="gst_install_plugins_installation_in_progress">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/install-plugins.c"
+ line="751">Checks whether plugin installation (initiated by this application only)
+is currently in progress.</doc>
+ <source-position filename="gst-libs/gst/pbutils/install-plugins.h"
+ line="154"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/install-plugins.c"
+ line="757">TRUE if plugin installation is in progress, otherwise FALSE</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </function>
+ <function name="install_plugins_return_get_name"
+ c:identifier="gst_install_plugins_return_get_name"
+ moved-to="InstallPluginsReturn.get_name">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/install-plugins.c"
+ line="708">Convenience function to return the descriptive string associated
+with a status code. This function returns English strings and
+should not be used for user messages. It is here only to assist
+in debugging.</doc>
+ <source-position filename="gst-libs/gst/pbutils/install-plugins.h"
+ line="151"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/install-plugins.c"
+ line="717">a descriptive string for the status code in @ret</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="ret" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/install-plugins.c"
+ line="710">the return status code</doc>
+ <type name="InstallPluginsReturn" c:type="GstInstallPluginsReturn"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="install_plugins_supported"
+ c:identifier="gst_install_plugins_supported">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/install-plugins.c"
+ line="765">Checks whether plugin installation is likely to be supported by the
+current environment. This currently only checks whether the helper script
+that is to be provided by the distribution or operating system vendor
+exists.</doc>
+ <source-position filename="gst-libs/gst/pbutils/install-plugins.h"
+ line="157"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/install-plugins.c"
+ line="773">TRUE if plugin installation is likely to be supported.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ </function>
+ <function name="install_plugins_sync"
+ c:identifier="gst_install_plugins_sync">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/install-plugins.c"
+ line="669">Requests plugin installation and block until the plugins have been
+installed or installation has failed.
+
+This function should almost never be used, it only exists for cases where
+a non-GLib main loop is running and the user wants to run it in a separate
+thread and marshal the result back asynchronously into the main thread
+using the other non-GLib main loop. You should almost always use
+gst_install_plugins_async() instead of this function.</doc>
+ <source-position filename="gst-libs/gst/pbutils/install-plugins.h"
+ line="147"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/install-plugins.c"
+ line="684">the result of the installation.</doc>
+ <type name="InstallPluginsReturn" c:type="GstInstallPluginsReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="details" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/install-plugins.c"
+ line="671">NULL-terminated array
+ of installer string details</doc>
+ <array c:type="const gchar* const*">
+ <type name="utf8" c:type="gchar*"/>
+ </array>
+ </parameter>
+ <parameter name="ctx"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/install-plugins.c"
+ line="673">a #GstInstallPluginsContext, or NULL</doc>
+ <type name="InstallPluginsContext"
+ c:type="GstInstallPluginsContext*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="is_missing_plugin_message"
+ c:identifier="gst_is_missing_plugin_message">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/missing-plugins.c"
+ line="586">Checks whether @msg is a missing plugins message.</doc>
+ <source-position filename="gst-libs/gst/pbutils/missing-plugins.h"
+ line="63"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/missing-plugins.c"
+ line="592">%TRUE if @msg is a missing-plugins message, otherwise %FALSE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/missing-plugins.c"
+ line="588">a #GstMessage</doc>
+ <type name="Gst.Message" c:type="GstMessage*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="missing_decoder_installer_detail_new"
+ c:identifier="gst_missing_decoder_installer_detail_new">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/missing-plugins.c"
+ line="724">Returns an opaque string containing all the details about the missing
+element to be passed to an external installer called via
+gst_install_plugins_async() or gst_install_plugins_sync().
+
+This function is mainly for applications that call external plugin
+installation mechanisms using one of the two above-mentioned functions in
+the case where the application knows exactly what kind of plugin it is
+missing.</doc>
+ <source-position filename="gst-libs/gst/pbutils/missing-plugins.h"
+ line="82"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/missing-plugins.c"
+ line="737">a newly-allocated detail string, or NULL on error. Free string
+ with g_free() when not needed any longer.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="decode_caps" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/missing-plugins.c"
+ line="726">the (fixed) caps for which a decoder element is needed</doc>
+ <type name="Gst.Caps" c:type="const GstCaps*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="missing_decoder_message_new"
+ c:identifier="gst_missing_decoder_message_new">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/missing-plugins.c"
+ line="256">Creates a missing-plugin message for @element to notify the application
+that a decoder element for a particular set of (fixed) caps is missing.
+This function is mainly for use in plugins.</doc>
+ <source-position filename="gst-libs/gst/pbutils/missing-plugins.h"
+ line="45"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/missing-plugins.c"
+ line="265">a new #GstMessage, or NULL on error</doc>
+ <type name="Gst.Message" c:type="GstMessage*"/>
+ </return-value>
+ <parameters>
+ <parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/missing-plugins.c"
+ line="258">the #GstElement posting the message</doc>
+ <type name="Gst.Element" c:type="GstElement*"/>
+ </parameter>
+ <parameter name="decode_caps" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/missing-plugins.c"
+ line="259">the (fixed) caps for which a decoder element is needed</doc>
+ <type name="Gst.Caps" c:type="const GstCaps*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="missing_element_installer_detail_new"
+ c:identifier="gst_missing_element_installer_detail_new">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/missing-plugins.c"
+ line="696">Returns an opaque string containing all the details about the missing
+element to be passed to an external installer called via
+gst_install_plugins_async() or gst_install_plugins_sync().
+
+This function is mainly for applications that call external plugin
+installation mechanisms using one of the two above-mentioned functions in
+the case where the application knows exactly what kind of plugin it is
+missing.</doc>
+ <source-position filename="gst-libs/gst/pbutils/missing-plugins.h"
+ line="79"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/missing-plugins.c"
+ line="710">a newly-allocated detail string, or NULL on error. Free string
+ with g_free() when not needed any longer.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="factory_name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/missing-plugins.c"
+ line="698">the name of the missing element (element factory),
+ e.g. "videoscale" or "cdparanoiasrc"</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="missing_element_message_new"
+ c:identifier="gst_missing_element_message_new">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/missing-plugins.c"
+ line="223">Creates a missing-plugin message for @element to notify the application
+that a certain required element is missing. This function is mainly for
+use in plugins.</doc>
+ <source-position filename="gst-libs/gst/pbutils/missing-plugins.h"
+ line="41"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/missing-plugins.c"
+ line="233">a new #GstMessage, or NULL on error</doc>
+ <type name="Gst.Message" c:type="GstMessage*"/>
+ </return-value>
+ <parameters>
+ <parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/missing-plugins.c"
+ line="225">the #GstElement posting the message</doc>
+ <type name="Gst.Element" c:type="GstElement*"/>
+ </parameter>
+ <parameter name="factory_name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/missing-plugins.c"
+ line="226">the name of the missing element (element factory),
+ e.g. "videoscale" or "cdparanoiasrc"</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="missing_encoder_installer_detail_new"
+ c:identifier="gst_missing_encoder_installer_detail_new">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/missing-plugins.c"
+ line="762">Returns an opaque string containing all the details about the missing
+element to be passed to an external installer called via
+gst_install_plugins_async() or gst_install_plugins_sync().
+
+This function is mainly for applications that call external plugin
+installation mechanisms using one of the two above-mentioned functions in
+the case where the application knows exactly what kind of plugin it is
+missing.</doc>
+ <source-position filename="gst-libs/gst/pbutils/missing-plugins.h"
+ line="85"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/missing-plugins.c"
+ line="775">a newly-allocated detail string, or NULL on error. Free string
+ with g_free() when not needed any longer.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="encode_caps" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/missing-plugins.c"
+ line="764">the (fixed) caps for which an encoder element is needed</doc>
+ <type name="Gst.Caps" c:type="const GstCaps*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="missing_encoder_message_new"
+ c:identifier="gst_missing_encoder_message_new">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/missing-plugins.c"
+ line="296">Creates a missing-plugin message for @element to notify the application
+that an encoder element for a particular set of (fixed) caps is missing.
+This function is mainly for use in plugins.</doc>
+ <source-position filename="gst-libs/gst/pbutils/missing-plugins.h"
+ line="49"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/missing-plugins.c"
+ line="305">a new #GstMessage, or NULL on error</doc>
+ <type name="Gst.Message" c:type="GstMessage*"/>
+ </return-value>
+ <parameters>
+ <parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/missing-plugins.c"
+ line="298">the #GstElement posting the message</doc>
+ <type name="Gst.Element" c:type="GstElement*"/>
+ </parameter>
+ <parameter name="encode_caps" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/missing-plugins.c"
+ line="299">the (fixed) caps for which an encoder element is needed</doc>
+ <type name="Gst.Caps" c:type="const GstCaps*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="missing_plugin_message_get_description"
+ c:identifier="gst_missing_plugin_message_get_description">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/missing-plugins.c"
+ line="481">Returns a localised string describing the missing feature, for use in
+error dialogs and the like. Should never return NULL unless @msg is not
+a valid missing-plugin message.
+
+This function is mainly for applications that need a human-readable string
+describing a missing plugin, given a previously collected missing-plugin
+message</doc>
+ <source-position filename="gst-libs/gst/pbutils/missing-plugins.h"
+ line="60"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/missing-plugins.c"
+ line="493">a newly-allocated description string, or NULL on error. Free
+ string with g_free() when not needed any longer.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/missing-plugins.c"
+ line="483">a missing-plugin #GstMessage of type #GST_MESSAGE_ELEMENT</doc>
+ <type name="Gst.Message" c:type="GstMessage*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="missing_plugin_message_get_installer_detail"
+ c:identifier="gst_missing_plugin_message_get_installer_detail">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/missing-plugins.c"
+ line="385">Returns an opaque string containing all the details about the missing
+element to be passed to an external installer called via
+gst_install_plugins_async() or gst_install_plugins_sync().
+
+This function is mainly for applications that call external plugin
+installation mechanisms using one of the two above-mentioned functions.</doc>
+ <source-position filename="gst-libs/gst/pbutils/missing-plugins.h"
+ line="57"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/missing-plugins.c"
+ line="396">a newly-allocated detail string, or NULL on error. Free string
+ with g_free() when not needed any longer.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/missing-plugins.c"
+ line="387">a missing-plugin #GstMessage of type #GST_MESSAGE_ELEMENT</doc>
+ <type name="Gst.Message" c:type="GstMessage*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="missing_uri_sink_installer_detail_new"
+ c:identifier="gst_missing_uri_sink_installer_detail_new">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/missing-plugins.c"
+ line="668">Returns an opaque string containing all the details about the missing
+element to be passed to an external installer called via
+gst_install_plugins_async() or gst_install_plugins_sync().
+
+This function is mainly for applications that call external plugin
+installation mechanisms using one of the two above-mentioned functions in
+the case where the application knows exactly what kind of plugin it is
+missing.</doc>
+ <source-position filename="gst-libs/gst/pbutils/missing-plugins.h"
+ line="76"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/missing-plugins.c"
+ line="682">a newly-allocated detail string, or NULL on error. Free string
+ with g_free() when not needed any longer.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="protocol" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/missing-plugins.c"
+ line="670">the URI protocol the missing source needs to implement,
+ e.g. "http" or "mms"</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="missing_uri_sink_message_new"
+ c:identifier="gst_missing_uri_sink_message_new">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/missing-plugins.c"
+ line="191">Creates a missing-plugin message for @element to notify the application
+that a sink element for a particular URI protocol is missing. This
+function is mainly for use in plugins.</doc>
+ <source-position filename="gst-libs/gst/pbutils/missing-plugins.h"
+ line="37"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/missing-plugins.c"
+ line="201">a new #GstMessage, or NULL on error</doc>
+ <type name="Gst.Message" c:type="GstMessage*"/>
+ </return-value>
+ <parameters>
+ <parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/missing-plugins.c"
+ line="193">the #GstElement posting the message</doc>
+ <type name="Gst.Element" c:type="GstElement*"/>
+ </parameter>
+ <parameter name="protocol" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/missing-plugins.c"
+ line="194">the URI protocol the missing sink needs to implement,
+ e.g. "http" or "smb"</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="missing_uri_source_installer_detail_new"
+ c:identifier="gst_missing_uri_source_installer_detail_new">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/missing-plugins.c"
+ line="640">Returns an opaque string containing all the details about the missing
+element to be passed to an external installer called via
+gst_install_plugins_async() or gst_install_plugins_sync().
+
+This function is mainly for applications that call external plugin
+installation mechanisms using one of the two above-mentioned functions in
+the case where the application knows exactly what kind of plugin it is
+missing.</doc>
+ <source-position filename="gst-libs/gst/pbutils/missing-plugins.h"
+ line="73"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/missing-plugins.c"
+ line="654">a newly-allocated detail string, or NULL on error. Free string
+ with g_free() when not needed any longer.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="protocol" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/missing-plugins.c"
+ line="642">the URI protocol the missing source needs to implement,
+ e.g. "http" or "mms"</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="missing_uri_source_message_new"
+ c:identifier="gst_missing_uri_source_message_new">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/missing-plugins.c"
+ line="158">Creates a missing-plugin message for @element to notify the application
+that a source element for a particular URI protocol is missing. This
+function is mainly for use in plugins.</doc>
+ <source-position filename="gst-libs/gst/pbutils/missing-plugins.h"
+ line="33"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/missing-plugins.c"
+ line="168">a new #GstMessage, or NULL on error</doc>
+ <type name="Gst.Message" c:type="GstMessage*"/>
+ </return-value>
+ <parameters>
+ <parameter name="element" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/missing-plugins.c"
+ line="160">the #GstElement posting the message</doc>
+ <type name="Gst.Element" c:type="GstElement*"/>
+ </parameter>
+ <parameter name="protocol" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/missing-plugins.c"
+ line="161">the URI protocol the missing source needs to implement,
+ e.g. "http" or "mms"</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="pb_utils_add_codec_description_to_tag_list"
+ c:identifier="gst_pb_utils_add_codec_description_to_tag_list">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/descriptions.c"
+ line="1141">Adds a codec tag describing the format specified by @caps to @taglist.</doc>
+ <source-position filename="gst-libs/gst/pbutils/descriptions.h"
+ line="35"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/descriptions.c"
+ line="1151">TRUE if a codec tag was added, FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="taglist" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/descriptions.c"
+ line="1143">a #GstTagList</doc>
+ <type name="Gst.TagList" c:type="GstTagList*"/>
+ </parameter>
+ <parameter name="codec_tag"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/descriptions.c"
+ line="1144">a GStreamer codec tag such as #GST_TAG_AUDIO_CODEC,
+ #GST_TAG_VIDEO_CODEC or #GST_TAG_CODEC. If none is specified,
+ the function will attempt to detect the appropriate category.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/descriptions.c"
+ line="1147">the (fixed) #GstCaps for which a codec tag should be added.</doc>
+ <type name="Gst.Caps" c:type="const GstCaps*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="pb_utils_get_codec_description"
+ c:identifier="gst_pb_utils_get_codec_description">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/descriptions.c"
+ line="1192">Returns a localised (as far as this is possible) string describing the
+media format specified in @caps, for use in error dialogs or other messages
+to be seen by the user. Should never return NULL unless @caps is invalid.
+
+Also see the convenience function
+gst_pb_utils_add_codec_description_to_tag_list().</doc>
+ <source-position filename="gst-libs/gst/pbutils/descriptions.h"
+ line="40"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/descriptions.c"
+ line="1203">a newly-allocated description string, or NULL on error. Free
+ string with g_free() when not needed any longer.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="caps" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/descriptions.c"
+ line="1194">the (fixed) #GstCaps for which an format description is needed</doc>
+ <type name="Gst.Caps" c:type="const GstCaps*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="pb_utils_get_decoder_description"
+ c:identifier="gst_pb_utils_get_decoder_description">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/descriptions.c"
+ line="1003">Returns a localised string describing an decoder for the format specified
+in @caps, for use in error dialogs or other messages to be seen by the user.
+Should never return NULL unless @factory_name or @caps are invalid.
+
+This function is mainly for internal use, applications would typically
+use gst_missing_plugin_message_get_description() to get a description of
+a missing feature from a missing-plugin message.</doc>
+ <source-position filename="gst-libs/gst/pbutils/descriptions.h"
+ line="54"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/descriptions.c"
+ line="1015">a newly-allocated description string, or NULL on error. Free
+ string with g_free() when not needed any longer.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="caps" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/descriptions.c"
+ line="1005">the (fixed) #GstCaps for which an decoder description is needed</doc>
+ <type name="Gst.Caps" c:type="const GstCaps*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="pb_utils_get_element_description"
+ c:identifier="gst_pb_utils_get_element_description">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/descriptions.c"
+ line="1110">Returns a localised string describing the given element, for use in
+error dialogs or other messages to be seen by the user. Should never
+return NULL unless @factory_name is invalid.
+
+This function is mainly for internal use, applications would typically
+use gst_missing_plugin_message_get_description() to get a description of
+a missing feature from a missing-plugin message.</doc>
+ <source-position filename="gst-libs/gst/pbutils/descriptions.h"
+ line="60"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/descriptions.c"
+ line="1122">a newly-allocated description string, or NULL on error. Free
+ string with g_free() when not needed any longer.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="factory_name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/descriptions.c"
+ line="1112">the name of the element, e.g. "giosrc"</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="pb_utils_get_encoder_description"
+ c:identifier="gst_pb_utils_get_encoder_description">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/descriptions.c"
+ line="1058">Returns a localised string describing an encoder for the format specified
+in @caps, for use in error dialogs or other messages to be seen by the user.
+Should never return NULL unless @factory_name or @caps are invalid.
+
+This function is mainly for internal use, applications would typically
+use gst_missing_plugin_message_get_description() to get a description of
+a missing feature from a missing-plugin message.</doc>
+ <source-position filename="gst-libs/gst/pbutils/descriptions.h"
+ line="57"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/descriptions.c"
+ line="1070">a newly-allocated description string, or NULL on error. Free
+ string with g_free() when not needed any longer.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="caps" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/descriptions.c"
+ line="1060">the (fixed) #GstCaps for which an encoder description is needed</doc>
+ <type name="Gst.Caps" c:type="const GstCaps*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="pb_utils_get_sink_description"
+ c:identifier="gst_pb_utils_get_sink_description">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/descriptions.c"
+ line="968">Returns a localised string describing a sink element handling the protocol
+specified in @protocol, for use in error dialogs or other messages to be
+seen by the user. Should never return NULL unless @protocol is invalid.
+
+This function is mainly for internal use, applications would typically
+use gst_missing_plugin_message_get_description() to get a description of
+a missing feature from a missing-plugin message.</doc>
+ <source-position filename="gst-libs/gst/pbutils/descriptions.h"
+ line="51"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/descriptions.c"
+ line="980">a newly-allocated description string, or NULL on error. Free
+ string with g_free() when not needed any longer.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="protocol" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/descriptions.c"
+ line="970">the protocol the sink element needs to handle, e.g. "http"</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="pb_utils_get_source_description"
+ c:identifier="gst_pb_utils_get_source_description">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/descriptions.c"
+ line="918">Returns a localised string describing a source element handling the protocol
+specified in @protocol, for use in error dialogs or other messages to be
+seen by the user. Should never return NULL unless @protocol is invalid.
+
+This function is mainly for internal use, applications would typically
+use gst_missing_plugin_message_get_description() to get a description of
+a missing feature from a missing-plugin message.</doc>
+ <source-position filename="gst-libs/gst/pbutils/descriptions.h"
+ line="48"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/descriptions.c"
+ line="930">a newly-allocated description string, or NULL on error. Free
+ string with g_free() when not needed any longer.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="protocol" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/descriptions.c"
+ line="920">the protocol the source element needs to handle, e.g. "http"</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="pb_utils_init" c:identifier="gst_pb_utils_init">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/pbutils.c"
+ line="85">Initialises the base utils support library. This function is not
+thread-safe. Applications should call it after calling gst_init(),
+plugins should call it from their plugin_init function.
+
+This function may be called multiple times. It will do nothing if the
+library has already been initialised.</doc>
+ <source-position filename="gst-libs/gst/pbutils/pbutils.h" line="39"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </function>
+ <function name="plugins_base_version"
+ c:identifier="gst_plugins_base_version">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstpluginsbaseversion.c"
+ line="38">Gets the version number of the GStreamer Plugins Base libraries.</doc>
+ <source-position filename="gst-libs/gst/pbutils/gstpluginsbaseversion.h"
+ line="72"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="major"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstpluginsbaseversion.c"
+ line="40">pointer to a guint to store the major version number, or %NULL</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ <parameter name="minor"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstpluginsbaseversion.c"
+ line="41">pointer to a guint to store the minor version number, or %NULL</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ <parameter name="micro"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstpluginsbaseversion.c"
+ line="42">pointer to a guint to store the micro version number, or %NULL</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ <parameter name="nano"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstpluginsbaseversion.c"
+ line="43">pointer to a guint to store the nano version number, or %NULL</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="plugins_base_version_string"
+ c:identifier="gst_plugins_base_version_string">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstpluginsbaseversion.c"
+ line="61">This function returns a string that is useful for describing this version
+of GStreamer's gst-plugins-base libraries to the outside world: user agent
+strings, logging, about dialogs ...</doc>
+ <source-position filename="gst-libs/gst/pbutils/gstpluginsbaseversion.h"
+ line="75"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/pbutils/gstpluginsbaseversion.c"
+ line="68">a newly allocated string describing this version of gst-plugins-base</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ </function>
+ </namespace>
+</repository>
diff --git a/subprojects/gstreamer-sharp/girs/GstRtp-1.0.gir b/subprojects/gstreamer-sharp/girs/GstRtp-1.0.gir
new file mode 100644
index 0000000000..58af7ee5dd
--- /dev/null
+++ b/subprojects/gstreamer-sharp/girs/GstRtp-1.0.gir
@@ -0,0 +1,8509 @@
+<?xml version="1.0"?>
+<!-- This file was automatically generated from C sources - DO NOT EDIT!
+To affect the contents of this file, edit the original C definitions,
+and/or use gtk-doc annotations. -->
+<repository version="1.2"
+ xmlns="http://www.gtk.org/introspection/core/1.0"
+ xmlns:c="http://www.gtk.org/introspection/c/1.0"
+ xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
+ <include name="Gst" version="1.0"/>
+ <include name="GstBase" version="1.0"/>
+ <package name="gstreamer-rtp-1.0"/>
+ <c:include name="gst/rtp/rtp.h"/>
+ <namespace name="GstRtp"
+ version="1.0"
+ shared-library="libgstrtp-1.0.so.0"
+ c:identifier-prefixes="Gst"
+ c:symbol-prefixes="gst">
+ <function-macro name="IS_RTP_BASE_AUDIO_PAYLOAD"
+ c:identifier="GST_IS_RTP_BASE_AUDIO_PAYLOAD"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/rtp/gstrtpbaseaudiopayload.h"
+ line="41"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_RTP_BASE_AUDIO_PAYLOAD_CLASS"
+ c:identifier="GST_IS_RTP_BASE_AUDIO_PAYLOAD_CLASS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/rtp/gstrtpbaseaudiopayload.h"
+ line="43"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_RTP_BASE_DEPAYLOAD"
+ c:identifier="GST_IS_RTP_BASE_DEPAYLOAD"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/rtp/gstrtpbasedepayload.h"
+ line="35"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_RTP_BASE_DEPAYLOAD_CLASS"
+ c:identifier="GST_IS_RTP_BASE_DEPAYLOAD_CLASS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/rtp/gstrtpbasedepayload.h"
+ line="37"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_RTP_BASE_PAYLOAD"
+ c:identifier="GST_IS_RTP_BASE_PAYLOAD"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/rtp/gstrtpbasepayload.h"
+ line="35"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_RTP_BASE_PAYLOAD_CLASS"
+ c:identifier="GST_IS_RTP_BASE_PAYLOAD_CLASS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/rtp/gstrtpbasepayload.h"
+ line="37"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <record name="RTCPBuffer" c:type="GstRTCPBuffer">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="23">Note: The API in this module is not yet declared stable.
+
+The GstRTPCBuffer helper functions makes it easy to parse and create regular
+#GstBuffer objects that contain compound RTCP packets. These buffers are typically
+of 'application/x-rtcp' #GstCaps.
+
+An RTCP buffer consists of 1 or more #GstRTCPPacket structures that you can
+retrieve with gst_rtcp_buffer_get_first_packet(). #GstRTCPPacket acts as a pointer
+into the RTCP buffer; you can move to the next packet with
+gst_rtcp_packet_move_to_next().</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h" line="229"/>
+ <field name="buffer" writable="1">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </field>
+ <field name="map" writable="1">
+ <type name="Gst.MapInfo" c:type="GstMapInfo"/>
+ </field>
+ <method name="add_packet" c:identifier="gst_rtcp_buffer_add_packet">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="530">Add a new packet of @type to @rtcp. @packet will point to the newly created
+packet.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="300"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="539">%TRUE if the packet could be created. This function returns %FALSE
+if the max mtu is exceeded for the buffer.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="rtcp" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="532">a valid RTCP buffer</doc>
+ <type name="RTCPBuffer" c:type="GstRTCPBuffer*"/>
+ </instance-parameter>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="533">the #GstRTCPType of the new packet</doc>
+ <type name="RTCPType" c:type="GstRTCPType"/>
+ </parameter>
+ <parameter name="packet" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="534">pointer to new packet</doc>
+ <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_first_packet"
+ c:identifier="gst_rtcp_buffer_get_first_packet">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="460">Initialize a new #GstRTCPPacket pointer that points to the first packet in
+@rtcp.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="294"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="468">TRUE if the packet existed in @rtcp.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="rtcp" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="462">a valid RTCP buffer</doc>
+ <type name="RTCPBuffer" c:type="GstRTCPBuffer*"/>
+ </instance-parameter>
+ <parameter name="packet" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="463">a #GstRTCPPacket</doc>
+ <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_packet_count"
+ c:identifier="gst_rtcp_buffer_get_packet_count">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="348">Get the number of RTCP packets in @rtcp.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="291"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="354">the number of RTCP packets in @rtcp.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="rtcp" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="350">a valid RTCP buffer</doc>
+ <type name="RTCPBuffer" c:type="GstRTCPBuffer*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="unmap" c:identifier="gst_rtcp_buffer_unmap">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="321">Finish @rtcp after being constructed. This function is usually called
+after gst_rtcp_buffer_map() and after adding the RTCP items to the new buffer.
+
+The function adjusts the size of @rtcp with the total length of all the
+added packets.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="286"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="rtcp" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="323">a buffer with an RTCP packet</doc>
+ <type name="RTCPBuffer" c:type="GstRTCPBuffer*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <function name="map" c:identifier="gst_rtcp_buffer_map">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="297">Open @buffer for reading or writing, depending on @flags. The resulting RTCP
+buffer state is stored in @rtcp.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="283"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="299">a buffer with an RTCP packet</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="300">flags for the mapping</doc>
+ <type name="Gst.MapFlags" c:type="GstMapFlags"/>
+ </parameter>
+ <parameter name="rtcp" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="301">resulting #GstRTCPBuffer</doc>
+ <type name="RTCPBuffer" c:type="GstRTCPBuffer*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="new" c:identifier="gst_rtcp_buffer_new">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="273">Create a new buffer for constructing RTCP packets. The packet will have a
+maximum size of @mtu.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="280"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="280">A newly allocated buffer.</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <parameter name="mtu" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="275">the maximum mtu size.</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="new_copy_data"
+ c:identifier="gst_rtcp_buffer_new_copy_data">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="73">Create a new buffer and set the data to a copy of @len
+bytes of @data and the size to @len. The data will be freed when the buffer
+is freed.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="264"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="82">A newly allocated buffer with a copy of @data and of size @len.</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="75">data for the new buffer</doc>
+ <array length="1" zero-terminated="0" c:type="gconstpointer">
+ <type name="guint8"/>
+ </array>
+ </parameter>
+ <parameter name="len" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="76">the length of data</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="new_take_data"
+ c:identifier="gst_rtcp_buffer_new_take_data">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="49">Create a new buffer and set the data and size of the buffer to @data and @len
+respectively. @data will be freed when the buffer is unreffed, so this
+function transfers ownership of @data to the new buffer.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="261"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="58">A newly allocated buffer with @data and of size @len.</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="51">data for the new buffer</doc>
+ <array length="1" zero-terminated="0" c:type="gpointer">
+ <type name="guint8"/>
+ </array>
+ </parameter>
+ <parameter name="len" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="52">the length of data</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="validate" c:identifier="gst_rtcp_buffer_validate">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="249">Check if the data pointed to by @buffer is a valid RTCP packet using
+gst_rtcp_buffer_validate_data().</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="270"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="256">TRUE if @buffer is a valid RTCP packet.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="251">the buffer to validate</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="validate_data"
+ c:identifier="gst_rtcp_buffer_validate_data">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="204">Check if the @data and @size point to the data of a valid compound,
+non-reduced size RTCP packet.
+Use this function to validate a packet before using the other functions in
+this module.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="267"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="214">TRUE if the data points to a valid RTCP packet.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="206">the data to validate</doc>
+ <array length="1" zero-terminated="0" c:type="guint8*">
+ <type name="guint8" c:type="guint8"/>
+ </array>
+ </parameter>
+ <parameter name="len" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="207">the length of @data to validate</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="validate_data_reduced"
+ c:identifier="gst_rtcp_buffer_validate_data_reduced"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="180">Check if the @data and @size point to the data of a valid RTCP packet.
+Use this function to validate a packet before using the other functions in
+this module.
+
+This function is updated to support reduced size rtcp packets according to
+RFC 5506 and will validate full compound RTCP packets as well as reduced
+size RTCP packets.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="273"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="193">TRUE if the data points to a valid RTCP packet.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="182">the data to validate</doc>
+ <array length="1" zero-terminated="0" c:type="guint8*">
+ <type name="guint8" c:type="guint8"/>
+ </array>
+ </parameter>
+ <parameter name="len" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="183">the length of @data to validate</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="validate_reduced"
+ c:identifier="gst_rtcp_buffer_validate_reduced"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="223">Check if the data pointed to by @buffer is a valid RTCP packet using
+gst_rtcp_buffer_validate_reduced().</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="276"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="230">TRUE if @buffer is a valid RTCP packet.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="225">the buffer to validate</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </function>
+ </record>
+ <enumeration name="RTCPFBType"
+ glib:type-name="GstRTCPFBType"
+ glib:get-type="gst_rtcpfb_type_get_type"
+ c:type="GstRTCPFBType">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="68">Different types of feedback messages.</doc>
+ <member name="fb_type_invalid"
+ value="0"
+ c:identifier="GST_RTCP_FB_TYPE_INVALID"
+ glib:nick="fb-type-invalid">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="70">Invalid type</doc>
+ </member>
+ <member name="rtpfb_type_nack"
+ value="1"
+ c:identifier="GST_RTCP_RTPFB_TYPE_NACK"
+ glib:nick="rtpfb-type-nack">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="71">Generic NACK</doc>
+ </member>
+ <member name="rtpfb_type_tmmbr"
+ value="3"
+ c:identifier="GST_RTCP_RTPFB_TYPE_TMMBR"
+ glib:nick="rtpfb-type-tmmbr">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="72">Temporary Maximum Media Stream Bit Rate Request</doc>
+ </member>
+ <member name="rtpfb_type_tmmbn"
+ value="4"
+ c:identifier="GST_RTCP_RTPFB_TYPE_TMMBN"
+ glib:nick="rtpfb-type-tmmbn">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="73">Temporary Maximum Media Stream Bit Rate
+ Notification</doc>
+ </member>
+ <member name="rtpfb_type_rtcp_sr_req"
+ value="5"
+ c:identifier="GST_RTCP_RTPFB_TYPE_RTCP_SR_REQ"
+ glib:nick="rtpfb-type-rtcp-sr-req">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="75">Request an SR packet for early
+ synchronization</doc>
+ </member>
+ <member name="rtpfb_type_twcc"
+ value="15"
+ c:identifier="GST_RTCP_RTPFB_TYPE_TWCC"
+ glib:nick="rtpfb-type-twcc">
+ </member>
+ <member name="psfb_type_pli"
+ value="1"
+ c:identifier="GST_RTCP_PSFB_TYPE_PLI"
+ glib:nick="psfb-type-pli">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="77">Picture Loss Indication</doc>
+ </member>
+ <member name="psfb_type_sli"
+ value="2"
+ c:identifier="GST_RTCP_PSFB_TYPE_SLI"
+ glib:nick="psfb-type-sli">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="78">Slice Loss Indication</doc>
+ </member>
+ <member name="psfb_type_rpsi"
+ value="3"
+ c:identifier="GST_RTCP_PSFB_TYPE_RPSI"
+ glib:nick="psfb-type-rpsi">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="79">Reference Picture Selection Indication</doc>
+ </member>
+ <member name="psfb_type_afb"
+ value="15"
+ c:identifier="GST_RTCP_PSFB_TYPE_AFB"
+ glib:nick="psfb-type-afb">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="80">Application layer Feedback</doc>
+ </member>
+ <member name="psfb_type_fir"
+ value="4"
+ c:identifier="GST_RTCP_PSFB_TYPE_FIR"
+ glib:nick="psfb-type-fir">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="81">Full Intra Request Command</doc>
+ </member>
+ <member name="psfb_type_tstr"
+ value="5"
+ c:identifier="GST_RTCP_PSFB_TYPE_TSTR"
+ glib:nick="psfb-type-tstr">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="82">Temporal-Spatial Trade-off Request</doc>
+ </member>
+ <member name="psfb_type_tstn"
+ value="6"
+ c:identifier="GST_RTCP_PSFB_TYPE_TSTN"
+ glib:nick="psfb-type-tstn">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="83">Temporal-Spatial Trade-off Notification</doc>
+ </member>
+ <member name="psfb_type_vbcn"
+ value="7"
+ c:identifier="GST_RTCP_PSFB_TYPE_VBCN"
+ glib:nick="psfb-type-vbcn">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="84">Video Back Channel Message</doc>
+ </member>
+ </enumeration>
+ <record name="RTCPPacket" c:type="GstRTCPPacket">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="233">Data structure that points to a packet at @offset in @buffer.
+The size of the structure is made public to allow stack allocations.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h" line="256"/>
+ <field name="rtcp" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="235">pointer to RTCP buffer</doc>
+ <type name="RTCPBuffer" c:type="GstRTCPBuffer*"/>
+ </field>
+ <field name="offset" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="236">offset of packet in buffer data</doc>
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="padding" readable="0" private="1">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="count" readable="0" private="1">
+ <type name="guint8" c:type="guint8"/>
+ </field>
+ <field name="type" readable="0" private="1">
+ <type name="RTCPType" c:type="GstRTCPType"/>
+ </field>
+ <field name="length" readable="0" private="1">
+ <type name="guint16" c:type="guint16"/>
+ </field>
+ <field name="item_offset" readable="0" private="1">
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="item_count" readable="0" private="1">
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="entry_offset" readable="0" private="1">
+ <type name="guint" c:type="guint"/>
+ </field>
+ <method name="add_profile_specific_ext"
+ c:identifier="gst_rtcp_packet_add_profile_specific_ext"
+ version="1.10">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="1068">Add profile-specific extension @data to @packet. If @packet already
+contains profile-specific extension @data will be appended to the existing
+extension.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="367"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="1078">%TRUE if the profile specific extension data was added.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="packet" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="1070">a valid SR or RR #GstRTCPPacket</doc>
+ <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
+ </instance-parameter>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="1071">profile-specific data</doc>
+ <array length="1" zero-terminated="0" c:type="const guint8*">
+ <type name="guint8" c:type="guint8"/>
+ </array>
+ </parameter>
+ <parameter name="len" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="1072">length of the profile-specific data in bytes</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_rb" c:identifier="gst_rtcp_packet_add_rb">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="951">Add a new report block to @packet with the given values.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="353"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="964">%TRUE if the packet was created. This function can return %FALSE if
+the max MTU is exceeded or the number of report blocks is greater than
+#GST_RTCP_MAX_RB_COUNT.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="packet" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="953">a valid SR or RR #GstRTCPPacket</doc>
+ <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
+ </instance-parameter>
+ <parameter name="ssrc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="954">data source being reported</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ <parameter name="fractionlost" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="955">fraction lost since last SR/RR</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ <parameter name="packetslost" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="956">the cumululative number of packets lost</doc>
+ <type name="gint32" c:type="gint32"/>
+ </parameter>
+ <parameter name="exthighestseq" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="957">the extended last sequence number received</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ <parameter name="jitter" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="958">the interarrival jitter</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ <parameter name="lsr" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="959">the last SR packet from this source</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ <parameter name="dlsr" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="960">the delay since last SR packet</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="app_get_data"
+ c:identifier="gst_rtcp_packet_app_get_data"
+ version="1.10">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2547">Get the application-dependent data attached to a RTPFB or PSFB @packet.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="468"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2553">A pointer to the data</doc>
+ <type name="guint8" c:type="guint8*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="packet" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2549">a valid APP #GstRTCPPacket</doc>
+ <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="app_get_data_length"
+ c:identifier="gst_rtcp_packet_app_get_data_length"
+ version="1.10">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2486">Get the length of the application-dependent data attached to an APP
+@packet.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="462"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2493">The length of data in 32-bit words.</doc>
+ <type name="guint16" c:type="guint16"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="packet" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2488">a valid APP #GstRTCPPacket</doc>
+ <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="app_get_name"
+ c:identifier="gst_rtcp_packet_app_get_name"
+ version="1.10">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2465">Get the name field of the APP @packet.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="459"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2471">The 4-byte name field, not zero-terminated.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="packet" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2467">a valid APP #GstRTCPPacket</doc>
+ <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="app_get_ssrc"
+ c:identifier="gst_rtcp_packet_app_get_ssrc"
+ version="1.10">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2417">Get the SSRC/CSRC field of the APP @packet.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="453"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2423">The SSRC/CSRC.</doc>
+ <type name="guint32" c:type="guint32"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="packet" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2419">a valid APP #GstRTCPPacket</doc>
+ <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="app_get_subtype"
+ c:identifier="gst_rtcp_packet_app_get_subtype"
+ version="1.10">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2369">Get the subtype field of the APP @packet.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="447"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2375">The subtype.</doc>
+ <type name="guint8" c:type="guint8"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="packet" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2371">a valid APP #GstRTCPPacket</doc>
+ <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="app_set_data_length"
+ c:identifier="gst_rtcp_packet_app_set_data_length"
+ version="1.10">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2512">Set the length of the application-dependent data attached to an APP
+@packet.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="465"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2520">%TRUE if there was enough space in the packet to add this much
+data.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="packet" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2514">a valid APP #GstRTCPPacket</doc>
+ <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
+ </instance-parameter>
+ <parameter name="wordlen" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2515">Length of the data in 32-bit words</doc>
+ <type name="guint16" c:type="guint16"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="app_set_name"
+ c:identifier="gst_rtcp_packet_app_set_name"
+ version="1.10">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2442">Set the name field of the APP @packet.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="456"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="packet" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2444">a valid APP #GstRTCPPacket</doc>
+ <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
+ </instance-parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2445">4-byte ASCII name</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="app_set_ssrc"
+ c:identifier="gst_rtcp_packet_app_set_ssrc"
+ version="1.10">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2394">Set the SSRC/CSRC field of the APP @packet.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="450"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="packet" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2396">a valid APP #GstRTCPPacket</doc>
+ <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
+ </instance-parameter>
+ <parameter name="ssrc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2397">SSRC/CSRC of the packet</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="app_set_subtype"
+ c:identifier="gst_rtcp_packet_app_set_subtype"
+ version="1.10">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2346">Set the subtype field of the APP @packet.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="444"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="packet" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2348">a valid APP #GstRTCPPacket</doc>
+ <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
+ </instance-parameter>
+ <parameter name="subtype" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2349">subtype of the packet</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="bye_add_ssrc" c:identifier="gst_rtcp_packet_bye_add_ssrc">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="1717">Add @ssrc to the BYE @packet.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="427"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="1724">%TRUE if the ssrc was added. This function can return %FALSE if
+the max MTU is exceeded or the number of sources blocks is greater than
+#GST_RTCP_MAX_BYE_SSRC_COUNT.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="packet" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="1719">a valid BYE #GstRTCPPacket</doc>
+ <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
+ </instance-parameter>
+ <parameter name="ssrc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="1720">an SSRC to add</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="bye_add_ssrcs"
+ c:identifier="gst_rtcp_packet_bye_add_ssrcs">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="1777">Adds @len SSRCs in @ssrc to BYE @packet.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="430"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="1785">%TRUE if the all the SSRCs were added. This function can return %FALSE if
+the max MTU is exceeded or the number of sources blocks is greater than
+#GST_RTCP_MAX_BYE_SSRC_COUNT.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="packet" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="1779">a valid BYE #GstRTCPPacket</doc>
+ <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
+ </instance-parameter>
+ <parameter name="ssrc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="1780">an array of SSRCs to add</doc>
+ <array length="1" zero-terminated="0" c:type="guint32*">
+ <type name="guint32" c:type="guint32"/>
+ </array>
+ </parameter>
+ <parameter name="len" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="1781">number of elements in @ssrc</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="bye_get_nth_ssrc"
+ c:identifier="gst_rtcp_packet_bye_get_nth_ssrc">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="1673">Get the @nth SSRC of the BYE @packet.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="424"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="1680">The @nth SSRC of @packet.</doc>
+ <type name="guint32" c:type="guint32"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="packet" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="1675">a valid BYE #GstRTCPPacket</doc>
+ <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
+ </instance-parameter>
+ <parameter name="nth" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="1676">the nth SSRC to get</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="bye_get_reason"
+ c:identifier="gst_rtcp_packet_bye_get_reason">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="1861">Get the reason in @packet.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="436"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="1867">The reason for the BYE @packet or NULL if the packet did not contain
+a reason string. The string must be freed with g_free() after usage.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="packet" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="1863">a valid BYE #GstRTCPPacket</doc>
+ <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="bye_get_reason_len"
+ c:identifier="gst_rtcp_packet_bye_get_reason_len">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="1832">Get the length of the reason string.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="433"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="1838">The length of the reason string or 0 when there is no reason string
+present.</doc>
+ <type name="guint8" c:type="guint8"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="packet" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="1834">a valid BYE #GstRTCPPacket</doc>
+ <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="bye_get_ssrc_count"
+ c:identifier="gst_rtcp_packet_bye_get_ssrc_count">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="1656">Get the number of SSRC fields in @packet.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="421"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="1662">The number of SSRC fields in @packet.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="packet" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="1658">a valid BYE #GstRTCPPacket</doc>
+ <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="bye_set_reason"
+ c:identifier="gst_rtcp_packet_bye_set_reason">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="1903">Set the reason string to @reason in @packet.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="439"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="1910">TRUE if the string could be set.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="packet" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="1905">a valid BYE #GstRTCPPacket</doc>
+ <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
+ </instance-parameter>
+ <parameter name="reason" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="1906">a reason string</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="copy_profile_specific_ext"
+ c:identifier="gst_rtcp_packet_copy_profile_specific_ext"
+ version="1.10">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="1184">The profile-specific extension data is copied into a new allocated
+memory area @data. This must be freed with g_free() after usage.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="378"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="1193">%TRUE if there was valid data.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="packet" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="1186">a valid SR or RR #GstRTCPPacket</doc>
+ <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
+ </instance-parameter>
+ <parameter name="data"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="1187">result profile-specific data</doc>
+ <array length="1" zero-terminated="0" c:type="guint8**">
+ <type name="guint8" c:type="guint8*"/>
+ </array>
+ </parameter>
+ <parameter name="len"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="1188">length of the profile-specific extension data</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="fb_get_fci" c:identifier="gst_rtcp_packet_fb_get_fci">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2319">Get the Feedback Control Information attached to a RTPFB or PSFB @packet.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="497"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2325">a pointer to the FCI</doc>
+ <type name="guint8" c:type="guint8*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="packet" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2321">a valid RTPFB or PSFB #GstRTCPPacket</doc>
+ <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="fb_get_fci_length"
+ c:identifier="gst_rtcp_packet_fb_get_fci_length">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2261">Get the length of the Feedback Control Information attached to a
+RTPFB or PSFB @packet.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="491"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2268">The length of the FCI in 32-bit words.</doc>
+ <type name="guint16" c:type="guint16"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="packet" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2263">a valid RTPFB or PSFB #GstRTCPPacket</doc>
+ <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="fb_get_media_ssrc"
+ c:identifier="gst_rtcp_packet_fb_get_media_ssrc">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2023">Get the media SSRC field of the RTPFB or PSFB @packet.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="479"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2029">the media SSRC.</doc>
+ <type name="guint32" c:type="guint32"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="packet" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2025">a valid RTPFB or PSFB #GstRTCPPacket</doc>
+ <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="fb_get_sender_ssrc"
+ c:identifier="gst_rtcp_packet_fb_get_sender_ssrc">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="1969">Get the sender SSRC field of the RTPFB or PSFB @packet.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="473"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="1975">the sender SSRC.</doc>
+ <type name="guint32" c:type="guint32"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="packet" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="1971">a valid RTPFB or PSFB #GstRTCPPacket</doc>
+ <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="fb_get_type" c:identifier="gst_rtcp_packet_fb_get_type">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2077">Get the feedback message type of the FB @packet.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="485"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2083">The feedback message type.</doc>
+ <type name="RTCPFBType" c:type="GstRTCPFBType"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="packet" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2079">a valid RTPFB or PSFB #GstRTCPPacket</doc>
+ <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="fb_set_fci_length"
+ c:identifier="gst_rtcp_packet_fb_set_fci_length">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2286">Set the length of the Feedback Control Information attached to a
+RTPFB or PSFB @packet.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="494"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2294">%TRUE if there was enough space in the packet to add this much FCI</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="packet" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2288">a valid RTPFB or PSFB #GstRTCPPacket</doc>
+ <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
+ </instance-parameter>
+ <parameter name="wordlen" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2289">Length of the FCI in 32-bit words</doc>
+ <type name="guint16" c:type="guint16"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="fb_set_media_ssrc"
+ c:identifier="gst_rtcp_packet_fb_set_media_ssrc">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2052">Set the media SSRC field of the RTPFB or PSFB @packet.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="482"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="packet" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2054">a valid RTPFB or PSFB #GstRTCPPacket</doc>
+ <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
+ </instance-parameter>
+ <parameter name="ssrc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2055">a media SSRC</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="fb_set_sender_ssrc"
+ c:identifier="gst_rtcp_packet_fb_set_sender_ssrc">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="1998">Set the sender SSRC field of the RTPFB or PSFB @packet.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="476"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="packet" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2000">a valid RTPFB or PSFB #GstRTCPPacket</doc>
+ <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
+ </instance-parameter>
+ <parameter name="ssrc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2001">a sender SSRC</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="fb_set_type" c:identifier="gst_rtcp_packet_fb_set_type">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2095">Set the feedback message type of the FB @packet.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="488"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="packet" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2097">a valid RTPFB or PSFB #GstRTCPPacket</doc>
+ <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
+ </instance-parameter>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2098">the #GstRTCPFBType to set</doc>
+ <type name="RTCPFBType" c:type="GstRTCPFBType"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_count" c:identifier="gst_rtcp_packet_get_count">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="680">Get the count field in @packet.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="312"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="686">The count field in @packet or -1 if @packet does not point to a
+valid packet.</doc>
+ <type name="guint8" c:type="guint8"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="packet" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="682">a valid #GstRTCPPacket</doc>
+ <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_length" c:identifier="gst_rtcp_packet_get_length">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="698">Get the length field of @packet. This is the length of the packet in
+32-bit words minus one.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="318"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="705">The length field of @packet.</doc>
+ <type name="guint16" c:type="guint16"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="packet" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="700">a valid #GstRTCPPacket</doc>
+ <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_padding" c:identifier="gst_rtcp_packet_get_padding">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="646">Get the packet padding of the packet pointed to by @packet.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="309"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="652">If the packet has the padding bit set.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="packet" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="648">a valid #GstRTCPPacket</doc>
+ <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_profile_specific_ext"
+ c:identifier="gst_rtcp_packet_get_profile_specific_ext"
+ version="1.10">
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="374"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="1152">%TRUE if there was valid data.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="packet" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="1148">a valid SR or RR #GstRTCPPacket</doc>
+ <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
+ </instance-parameter>
+ <parameter name="data"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="1149">result profile-specific data</doc>
+ <array length="1" zero-terminated="0" c:type="guint8**">
+ <type name="guint8" c:type="guint8*"/>
+ </array>
+ </parameter>
+ <parameter name="len"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="1150">result length of the profile-specific data</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_profile_specific_ext_length"
+ c:identifier="gst_rtcp_packet_get_profile_specific_ext_length"
+ version="1.10">
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="371"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="1119">The number of 32-bit words containing profile-specific extension
+ data from @packet.</doc>
+ <type name="guint16" c:type="guint16"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="packet" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="1117">a valid SR or RR #GstRTCPPacket</doc>
+ <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_rb" c:identifier="gst_rtcp_packet_get_rb">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="868">Parse the values of the @nth report block in @packet and store the result in
+the values.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="347"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="packet" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="870">a valid SR or RR #GstRTCPPacket</doc>
+ <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
+ </instance-parameter>
+ <parameter name="nth" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="871">the nth report block in @packet</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="ssrc"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="872">result for data source being reported</doc>
+ <type name="guint32" c:type="guint32*"/>
+ </parameter>
+ <parameter name="fractionlost"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="873">result for fraction lost since last SR/RR</doc>
+ <type name="guint8" c:type="guint8*"/>
+ </parameter>
+ <parameter name="packetslost"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="874">result for the cumululative number of packets lost</doc>
+ <type name="gint32" c:type="gint32*"/>
+ </parameter>
+ <parameter name="exthighestseq"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="875">result for the extended last sequence number received</doc>
+ <type name="guint32" c:type="guint32*"/>
+ </parameter>
+ <parameter name="jitter"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="876">result for the interarrival jitter</doc>
+ <type name="guint32" c:type="guint32*"/>
+ </parameter>
+ <parameter name="lsr"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="877">result for the last SR packet from this source</doc>
+ <type name="guint32" c:type="guint32*"/>
+ </parameter>
+ <parameter name="dlsr"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="878">result for the delay since last SR packet</doc>
+ <type name="guint32" c:type="guint32*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_rb_count" c:identifier="gst_rtcp_packet_get_rb_count">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="848">Get the number of report blocks in @packet.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="344"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="854">The number of report blocks in @packet.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="packet" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="850">a valid SR or RR #GstRTCPPacket</doc>
+ <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_type" c:identifier="gst_rtcp_packet_get_type">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="663">Get the packet type of the packet pointed to by @packet.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="315"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="669">The packet type or GST_RTCP_TYPE_INVALID when @packet is not
+pointing to a valid packet.</doc>
+ <type name="RTCPType" c:type="GstRTCPType"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="packet" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="665">a valid #GstRTCPPacket</doc>
+ <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="move_to_next" c:identifier="gst_rtcp_packet_move_to_next">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="490">Move the packet pointer @packet to the next packet in the payload.
+Use gst_rtcp_buffer_get_first_packet() to initialize @packet.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="297"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="497">TRUE if @packet is pointing to a valid packet after calling this
+function.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="packet" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="492">a #GstRTCPPacket</doc>
+ <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="remove" c:identifier="gst_rtcp_packet_remove">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="609">Removes the packet pointed to by @packet and moves pointer to the next one</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="304"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="615">TRUE if @packet is pointing to a valid packet after calling this
+function.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="packet" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="611">a #GstRTCPPacket</doc>
+ <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="rr_get_ssrc" c:identifier="gst_rtcp_packet_rr_get_ssrc">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="796">Get the ssrc field of the RR @packet.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="335"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="802">the ssrc.</doc>
+ <type name="guint32" c:type="guint32"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="packet" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="798">a valid RR #GstRTCPPacket</doc>
+ <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="rr_set_ssrc" c:identifier="gst_rtcp_packet_rr_set_ssrc">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="824">Set the ssrc field of the RR @packet.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="338"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="packet" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="826">a valid RR #GstRTCPPacket</doc>
+ <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
+ </instance-parameter>
+ <parameter name="ssrc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="827">the SSRC to set</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="sdes_add_entry"
+ c:identifier="gst_rtcp_packet_sdes_add_entry">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="1591">Add a new SDES entry to the current item in @packet.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="415"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="1600">%TRUE if the item could be added, %FALSE if the MTU has been
+reached.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="packet" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="1593">a valid SDES #GstRTCPPacket</doc>
+ <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
+ </instance-parameter>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="1594">the #GstRTCPSDESType of the SDES entry</doc>
+ <type name="RTCPSDESType" c:type="GstRTCPSDESType"/>
+ </parameter>
+ <parameter name="len" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="1595">the data length</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="1596">the data</doc>
+ <array length="1" zero-terminated="0" c:type="const guint8*">
+ <type name="guint8" c:type="guint8"/>
+ </array>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="sdes_add_item"
+ c:identifier="gst_rtcp_packet_sdes_add_item">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="1520">Add a new SDES item for @ssrc to @packet.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="412"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="1527">%TRUE if the item could be added, %FALSE if the maximum amount of
+items has been exceeded for the SDES packet or the MTU has been reached.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="packet" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="1522">a valid SDES #GstRTCPPacket</doc>
+ <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
+ </instance-parameter>
+ <parameter name="ssrc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="1523">the SSRC of the new item to add</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="sdes_copy_entry"
+ c:identifier="gst_rtcp_packet_sdes_copy_entry">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="1485">This function is like gst_rtcp_packet_sdes_get_entry() but it returns a
+null-terminated copy of the data instead. use g_free() after usage.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="407"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="1495">%TRUE if there was valid data.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="packet" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="1487">a valid SDES #GstRTCPPacket</doc>
+ <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
+ </instance-parameter>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="1488">result of the entry type</doc>
+ <type name="RTCPSDESType" c:type="GstRTCPSDESType*"/>
+ </parameter>
+ <parameter name="len"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="1489">result length of the entry data</doc>
+ <type name="guint8" c:type="guint8*"/>
+ </parameter>
+ <parameter name="data"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="1490">result entry data</doc>
+ <array length="1" zero-terminated="0" c:type="guint8**">
+ <type name="guint8" c:type="guint8*"/>
+ </array>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="sdes_first_entry"
+ c:identifier="gst_rtcp_packet_sdes_first_entry">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="1350">Move to the first SDES entry in the current item.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="396"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="1356">%TRUE if there was a first entry.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="packet" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="1352">a valid SDES #GstRTCPPacket</doc>
+ <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="sdes_first_item"
+ c:identifier="gst_rtcp_packet_sdes_first_item">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="1243">Move to the first SDES item in @packet.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="387"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="1249">TRUE if there was a first item.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="packet" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="1245">a valid SDES #GstRTCPPacket</doc>
+ <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="sdes_get_entry"
+ c:identifier="gst_rtcp_packet_sdes_get_entry">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="1435">Get the data of the current SDES item entry. @type (when not NULL) will
+contain the type of the entry. @data (when not NULL) will point to @len
+bytes.
+
+When @type refers to a text item, @data will point to a UTF8 string. Note
+that this UTF8 string is NOT null-terminated. Use
+gst_rtcp_packet_sdes_copy_entry() to get a null-terminated copy of the entry.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="402"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="1450">%TRUE if there was valid data.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="packet" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="1437">a valid SDES #GstRTCPPacket</doc>
+ <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
+ </instance-parameter>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="1438">result of the entry type</doc>
+ <type name="RTCPSDESType" c:type="GstRTCPSDESType*"/>
+ </parameter>
+ <parameter name="len"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="1439">result length of the entry data</doc>
+ <type name="guint8" c:type="guint8*"/>
+ </parameter>
+ <parameter name="data"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="1440">result entry data</doc>
+ <array length="1" zero-terminated="0" c:type="guint8**">
+ <type name="guint8" c:type="guint8*"/>
+ </array>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="sdes_get_item_count"
+ c:identifier="gst_rtcp_packet_sdes_get_item_count">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="1226">Get the number of items in the SDES packet @packet.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="384"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="1232">The number of items in @packet.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="packet" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="1228">a valid SDES #GstRTCPPacket</doc>
+ <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="sdes_get_ssrc"
+ c:identifier="gst_rtcp_packet_sdes_get_ssrc">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="1320">Get the SSRC of the current SDES item.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="393"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="1326">the SSRC of the current item.</doc>
+ <type name="guint32" c:type="guint32"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="packet" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="1322">a valid SDES #GstRTCPPacket</doc>
+ <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="sdes_next_entry"
+ c:identifier="gst_rtcp_packet_sdes_next_entry">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="1390">Move to the next SDES entry in the current item.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="399"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="1396">%TRUE if there was a next entry.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="packet" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="1392">a valid SDES #GstRTCPPacket</doc>
+ <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="sdes_next_item"
+ c:identifier="gst_rtcp_packet_sdes_next_item">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="1267">Move to the next SDES item in @packet.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="390"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="1273">TRUE if there was a next item.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="packet" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="1269">a valid SDES #GstRTCPPacket</doc>
+ <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="set_rb" c:identifier="gst_rtcp_packet_set_rb">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="1037">Set the @nth new report block in @packet with the given values.
+
+Note: Not implemented.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="359"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="packet" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="1039">a valid SR or RR #GstRTCPPacket</doc>
+ <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
+ </instance-parameter>
+ <parameter name="nth" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="1040">the nth report block to set</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="ssrc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="1041">data source being reported</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ <parameter name="fractionlost" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="1042">fraction lost since last SR/RR</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ <parameter name="packetslost" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="1043">the cumululative number of packets lost</doc>
+ <type name="gint32" c:type="gint32"/>
+ </parameter>
+ <parameter name="exthighestseq" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="1044">the extended last sequence number received</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ <parameter name="jitter" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="1045">the interarrival jitter</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ <parameter name="lsr" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="1046">the last SR packet from this source</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ <parameter name="dlsr" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="1047">the delay since last SR packet</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="sr_get_sender_info"
+ c:identifier="gst_rtcp_packet_sr_get_sender_info">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="716">Parse the SR sender info and store the values.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="324"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="packet" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="718">a valid SR #GstRTCPPacket</doc>
+ <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
+ </instance-parameter>
+ <parameter name="ssrc"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="719">result SSRC</doc>
+ <type name="guint32" c:type="guint32*"/>
+ </parameter>
+ <parameter name="ntptime"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="720">result NTP time</doc>
+ <type name="guint64" c:type="guint64*"/>
+ </parameter>
+ <parameter name="rtptime"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="721">result RTP time</doc>
+ <type name="guint32" c:type="guint32*"/>
+ </parameter>
+ <parameter name="packet_count"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="722">result packet count</doc>
+ <type name="guint32" c:type="guint32*"/>
+ </parameter>
+ <parameter name="octet_count"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="723">result octet count</doc>
+ <type name="guint32" c:type="guint32*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="sr_set_sender_info"
+ c:identifier="gst_rtcp_packet_sr_set_sender_info">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="759">Set the given values in the SR packet @packet.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="329"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="packet" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="761">a valid SR #GstRTCPPacket</doc>
+ <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
+ </instance-parameter>
+ <parameter name="ssrc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="762">the SSRC</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ <parameter name="ntptime" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="763">the NTP time</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ <parameter name="rtptime" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="764">the RTP time</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ <parameter name="packet_count" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="765">the packet count</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ <parameter name="octet_count" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="766">the octet count</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="xr_first_rb"
+ c:identifier="gst_rtcp_packet_xr_first_rb"
+ version="1.16">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2605">Move to the first extended report block in XR @packet.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="519"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2611">TRUE if there was a first extended report block.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="packet" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2607">a valid XR #GstRTCPPacket</doc>
+ <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="xr_get_block_length"
+ c:identifier="gst_rtcp_packet_xr_get_block_length"
+ version="1.16">
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="528"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2739">The number of 32-bit words containing type-specific block
+ data from @packet.</doc>
+ <type name="guint16" c:type="guint16"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="packet" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2737">a valid XR #GstRTCPPacket</doc>
+ <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="xr_get_block_type"
+ c:identifier="gst_rtcp_packet_xr_get_block_type"
+ version="1.16">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2682">Get the extended report block type of the XR @packet.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="525"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2688">The extended report block type.</doc>
+ <type name="RTCPXRType" c:type="GstRTCPXRType"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="packet" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2684">a valid XR #GstRTCPPacket</doc>
+ <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="xr_get_dlrr_block"
+ c:identifier="gst_rtcp_packet_xr_get_dlrr_block"
+ version="1.16">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2988">Parse the extended report block for DLRR report block type.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="553"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2998">%TRUE if the report block is correctly parsed.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="packet" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2990">a valid XR #GstRTCPPacket which has DLRR Report Block.</doc>
+ <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
+ </instance-parameter>
+ <parameter name="nth" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2991">the index of sub-block to retrieve.</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="ssrc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2992">the SSRC of the receiver.</doc>
+ <type name="guint32" c:type="guint32*"/>
+ </parameter>
+ <parameter name="last_rr" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2993">the last receiver reference timestamp of @ssrc.</doc>
+ <type name="guint32" c:type="guint32*"/>
+ </parameter>
+ <parameter name="delay" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2994">the delay since @last_rr.</doc>
+ <type name="guint32" c:type="guint32*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="xr_get_prt_by_seq"
+ c:identifier="gst_rtcp_packet_xr_get_prt_by_seq"
+ version="1.16">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2915">Retrieve the packet receipt time of @seq which ranges in [begin_seq, end_seq).</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="546"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2923">%TRUE if the report block returns the receipt time correctly.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="packet" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2917">a valid XR #GstRTCPPacket which has the Packet Recept Times Report Block.</doc>
+ <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
+ </instance-parameter>
+ <parameter name="seq" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2918">the sequence to retrieve the time.</doc>
+ <type name="guint16" c:type="guint16"/>
+ </parameter>
+ <parameter name="receipt_time" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2919">the packet receipt time of @seq.</doc>
+ <type name="guint32" c:type="guint32*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="xr_get_prt_info"
+ c:identifier="gst_rtcp_packet_xr_get_prt_info"
+ version="1.16">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2863">Parse the Packet Recept Times Report Block from a XR @packet</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="541"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2873">%TRUE if the report block is correctly parsed.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="packet" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2865">a valid XR #GstRTCPPacket which has a Packet Receipt Times Report Block</doc>
+ <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
+ </instance-parameter>
+ <parameter name="ssrc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2866">the SSRC of the RTP data packet source being reported upon by this report block.</doc>
+ <type name="guint32" c:type="guint32*"/>
+ </parameter>
+ <parameter name="thinning" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2867">the amount of thinning performed on the sequence number space.</doc>
+ <type name="guint8" c:type="guint8*"/>
+ </parameter>
+ <parameter name="begin_seq" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2868">the first sequence number that this block reports on.</doc>
+ <type name="guint16" c:type="guint16*"/>
+ </parameter>
+ <parameter name="end_seq" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2869">the last sequence number that this block reports on plus one.</doc>
+ <type name="guint16" c:type="guint16*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="xr_get_rle_info"
+ c:identifier="gst_rtcp_packet_xr_get_rle_info"
+ version="1.16">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2764">Parse the extended report block for Loss RLE and Duplicated LRE block type.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="531"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2775">%TRUE if the report block is correctly parsed.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="packet" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2766">a valid XR #GstRTCPPacket which is Loss RLE or Duplicate RLE report.</doc>
+ <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
+ </instance-parameter>
+ <parameter name="ssrc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2767">the SSRC of the RTP data packet source being reported upon by this report block.</doc>
+ <type name="guint32" c:type="guint32*"/>
+ </parameter>
+ <parameter name="thinning" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2768">the amount of thinning performed on the sequence number space.</doc>
+ <type name="guint8" c:type="guint8*"/>
+ </parameter>
+ <parameter name="begin_seq" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2769">the first sequence number that this block reports on.</doc>
+ <type name="guint16" c:type="guint16*"/>
+ </parameter>
+ <parameter name="end_seq" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2770">the last sequence number that this block reports on plus one.</doc>
+ <type name="guint16" c:type="guint16*"/>
+ </parameter>
+ <parameter name="chunk_count" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2771">the number of chunks calculated by block length.</doc>
+ <type name="guint32" c:type="guint32*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="xr_get_rle_nth_chunk"
+ c:identifier="gst_rtcp_packet_xr_get_rle_nth_chunk"
+ version="1.16">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2822">Retrieve actual chunk data.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="537"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2830">%TRUE if the report block returns chunk correctly.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="packet" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2824">a valid XR #GstRTCPPacket which is Loss RLE or Duplicate RLE report.</doc>
+ <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
+ </instance-parameter>
+ <parameter name="nth" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2825">the index of chunk to retrieve.</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="chunk" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2826">the @nth chunk.</doc>
+ <type name="guint16" c:type="guint16*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="xr_get_rrt"
+ c:identifier="gst_rtcp_packet_xr_get_rrt"
+ version="1.16">
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="550"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2961">%TRUE if the report block returns the reference time correctly.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="packet" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2958">a valid XR #GstRTCPPacket which has the Receiver Reference Time.</doc>
+ <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
+ </instance-parameter>
+ <parameter name="timestamp" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2959">NTP timestamp</doc>
+ <type name="guint64" c:type="guint64*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="xr_get_ssrc"
+ c:identifier="gst_rtcp_packet_xr_get_ssrc"
+ version="1.16">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2575">Get the ssrc field of the XR @packet.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="516"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2581">the ssrc.</doc>
+ <type name="guint32" c:type="guint32"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="packet" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2577">a valid XR #GstRTCPPacket</doc>
+ <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="xr_get_summary_info"
+ c:identifier="gst_rtcp_packet_xr_get_summary_info"
+ version="1.16">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="3038">Extract a basic information from static summary report block of XR @packet.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="558"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="3047">%TRUE if the report block is correctly parsed.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="packet" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="3040">a valid XR #GstRTCPPacket which has Statics Summary Report Block.</doc>
+ <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
+ </instance-parameter>
+ <parameter name="ssrc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="3041">the SSRC of the source.</doc>
+ <type name="guint32" c:type="guint32*"/>
+ </parameter>
+ <parameter name="begin_seq" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="3042">the first sequence number that this block reports on.</doc>
+ <type name="guint16" c:type="guint16*"/>
+ </parameter>
+ <parameter name="end_seq" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="3043">the last sequence number that this block reports on plus one.</doc>
+ <type name="guint16" c:type="guint16*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="xr_get_summary_jitter"
+ c:identifier="gst_rtcp_packet_xr_get_summary_jitter"
+ version="1.16">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="3134">Extract jitter information from the statistics summary. If the jitter flag in
+a block header is set as zero, all of jitters will be zero.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="566"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="3145">%TRUE if the report block is correctly parsed.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="packet" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="3136">a valid XR #GstRTCPPacket which has Statics Summary Report Block.</doc>
+ <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
+ </instance-parameter>
+ <parameter name="min_jitter" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="3137">the minimum relative transit time between two sequences.</doc>
+ <type name="guint32" c:type="guint32*"/>
+ </parameter>
+ <parameter name="max_jitter" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="3138">the maximum relative transit time between two sequences.</doc>
+ <type name="guint32" c:type="guint32*"/>
+ </parameter>
+ <parameter name="mean_jitter" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="3139">the mean relative transit time between two sequences.</doc>
+ <type name="guint32" c:type="guint32*"/>
+ </parameter>
+ <parameter name="dev_jitter" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="3140">the standard deviation of the relative transit time between two sequences.</doc>
+ <type name="guint32" c:type="guint32*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="xr_get_summary_pkt"
+ c:identifier="gst_rtcp_packet_xr_get_summary_pkt"
+ version="1.16">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="3084">Get the number of lost or duplicate packets. If the flag in a block header
+is set as zero, @lost_packets or @dup_packets will be zero.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="562"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="3093">%TRUE if the report block is correctly parsed.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="packet" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="3086">a valid XR #GstRTCPPacket which has Statics Summary Report Block.</doc>
+ <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
+ </instance-parameter>
+ <parameter name="lost_packets" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="3087">the number of lost packets between begin_seq and end_seq.</doc>
+ <type name="guint32" c:type="guint32*"/>
+ </parameter>
+ <parameter name="dup_packets" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="3088">the number of duplicate packets between begin_seq and end_seq.</doc>
+ <type name="guint32" c:type="guint32*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="xr_get_summary_ttl"
+ c:identifier="gst_rtcp_packet_xr_get_summary_ttl"
+ version="1.16">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="3201">Extract the value of ttl for ipv4, or hop limit for ipv6.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="571"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="3212">%TRUE if the report block is correctly parsed.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="packet" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="3203">a valid XR #GstRTCPPacket which has Statics Summary Report Block.</doc>
+ <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
+ </instance-parameter>
+ <parameter name="is_ipv4" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="3204">the flag to indicate that the return values are ipv4 ttl or ipv6 hop limits.</doc>
+ <type name="gboolean" c:type="gboolean*"/>
+ </parameter>
+ <parameter name="min_ttl" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="3205">the minimum TTL or Hop Limit value of data packets between two sequences.</doc>
+ <type name="guint8" c:type="guint8*"/>
+ </parameter>
+ <parameter name="max_ttl" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="3206">the maximum TTL or Hop Limit value of data packets between two sequences.</doc>
+ <type name="guint8" c:type="guint8*"/>
+ </parameter>
+ <parameter name="mean_ttl" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="3207">the mean TTL or Hop Limit value of data packets between two sequences.</doc>
+ <type name="guint8" c:type="guint8*"/>
+ </parameter>
+ <parameter name="dev_ttl" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="3208">the standard deviation of the TTL or Hop Limit value of data packets between two sequences.</doc>
+ <type name="guint8" c:type="guint8*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="xr_get_voip_burst_metrics"
+ c:identifier="gst_rtcp_packet_xr_get_voip_burst_metrics"
+ version="1.16">
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="583"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="3336">%TRUE if the report block is correctly parsed.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="packet" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="3330">a valid XR #GstRTCPPacket which has VoIP Metrics Report Block.</doc>
+ <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
+ </instance-parameter>
+ <parameter name="burst_density" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="3331">the fraction of RTP data packets within burst periods.</doc>
+ <type name="guint8" c:type="guint8*"/>
+ </parameter>
+ <parameter name="gap_density" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="3332">the fraction of RTP data packets within inter-burst gaps.</doc>
+ <type name="guint8" c:type="guint8*"/>
+ </parameter>
+ <parameter name="burst_duration" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="3333">the mean duration(ms) of the burst periods.</doc>
+ <type name="guint16" c:type="guint16*"/>
+ </parameter>
+ <parameter name="gap_duration" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="3334">the mean duration(ms) of the gap periods.</doc>
+ <type name="guint16" c:type="guint16*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="xr_get_voip_configuration_params"
+ c:identifier="gst_rtcp_packet_xr_get_voip_configuration_params"
+ version="1.16">
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="603"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="3512">%TRUE if the report block is correctly parsed.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="packet" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="3508">a valid XR #GstRTCPPacket which has VoIP Metrics Report Block.</doc>
+ <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
+ </instance-parameter>
+ <parameter name="gmin" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="3509">the gap threshold.</doc>
+ <type name="guint8" c:type="guint8*"/>
+ </parameter>
+ <parameter name="rx_config" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="3510">the receiver configuration byte.</doc>
+ <type name="guint8" c:type="guint8*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="xr_get_voip_delay_metrics"
+ c:identifier="gst_rtcp_packet_xr_get_voip_delay_metrics"
+ version="1.16">
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="588"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="3382">%TRUE if the report block is correctly parsed.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="packet" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="3378">a valid XR #GstRTCPPacket which has VoIP Metrics Report Block.</doc>
+ <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
+ </instance-parameter>
+ <parameter name="roundtrip_delay" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="3379">the most recently calculated round trip time between RTP interfaces(ms)</doc>
+ <type name="guint16" c:type="guint16*"/>
+ </parameter>
+ <parameter name="end_system_delay" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="3380">the most recently estimated end system delay(ms)</doc>
+ <type name="guint16" c:type="guint16*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="xr_get_voip_jitter_buffer_params"
+ c:identifier="gst_rtcp_packet_xr_get_voip_jitter_buffer_params"
+ version="1.16">
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="607"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="3548">%TRUE if the report block is correctly parsed.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="packet" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="3543">a valid XR #GstRTCPPacket which has VoIP Metrics Report Block.</doc>
+ <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
+ </instance-parameter>
+ <parameter name="jb_nominal" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="3544">the current nominal jitter buffer delay(ms)</doc>
+ <type name="guint16" c:type="guint16*"/>
+ </parameter>
+ <parameter name="jb_maximum" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="3545">the current maximum jitter buffer delay(ms)</doc>
+ <type name="guint16" c:type="guint16*"/>
+ </parameter>
+ <parameter name="jb_abs_max" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="3546">the absolute maximum delay(ms)</doc>
+ <type name="guint16" c:type="guint16*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="xr_get_voip_metrics_ssrc"
+ c:identifier="gst_rtcp_packet_xr_get_voip_metrics_ssrc"
+ version="1.16">
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="576"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="3263">%TRUE if the report block is correctly parsed.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="packet" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="3260">a valid XR #GstRTCPPacket which has VoIP Metrics Report Block.</doc>
+ <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
+ </instance-parameter>
+ <parameter name="ssrc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="3261">the SSRC of source</doc>
+ <type name="guint32" c:type="guint32*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="xr_get_voip_packet_metrics"
+ c:identifier="gst_rtcp_packet_xr_get_voip_packet_metrics"
+ version="1.16">
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="579"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="3297">%TRUE if the report block is correctly parsed.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="packet" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="3293">a valid XR #GstRTCPPacket which has VoIP Metrics Report Block.</doc>
+ <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
+ </instance-parameter>
+ <parameter name="loss_rate" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="3294">the fraction of RTP data packets from the source lost.</doc>
+ <type name="guint8" c:type="guint8*"/>
+ </parameter>
+ <parameter name="discard_rate" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="3295">the fraction of RTP data packets from the source that have been discarded.</doc>
+ <type name="guint8" c:type="guint8*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="xr_get_voip_quality_metrics"
+ c:identifier="gst_rtcp_packet_xr_get_voip_quality_metrics"
+ version="1.16">
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="598"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="3468">%TRUE if the report block is correctly parsed.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="packet" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="3462">a valid XR #GstRTCPPacket which has VoIP Metrics Report Block.</doc>
+ <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
+ </instance-parameter>
+ <parameter name="r_factor" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="3463">the R factor is a voice quality metric describing the segment of the call.</doc>
+ <type name="guint8" c:type="guint8*"/>
+ </parameter>
+ <parameter name="ext_r_factor" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="3464">the external R factor is a voice quality metric.</doc>
+ <type name="guint8" c:type="guint8*"/>
+ </parameter>
+ <parameter name="mos_lq" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="3465">the estimated mean opinion score for listening quality.</doc>
+ <type name="guint8" c:type="guint8*"/>
+ </parameter>
+ <parameter name="mos_cq" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="3466">the estimated mean opinion score for conversational quality.</doc>
+ <type name="guint8" c:type="guint8*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="xr_get_voip_signal_metrics"
+ c:identifier="gst_rtcp_packet_xr_get_voip_signal_metrics"
+ version="1.16">
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="593"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="3422">%TRUE if the report block is correctly parsed.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="packet" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="3416">a valid XR #GstRTCPPacket which has VoIP Metrics Report Block.</doc>
+ <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
+ </instance-parameter>
+ <parameter name="signal_level" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="3417">the ratio of the signal level to a 0 dBm reference.</doc>
+ <type name="guint8" c:type="guint8*"/>
+ </parameter>
+ <parameter name="noise_level" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="3418">the ratio of the silent period background noise level to a 0 dBm reference.</doc>
+ <type name="guint8" c:type="guint8*"/>
+ </parameter>
+ <parameter name="rerl" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="3419">the residual echo return loss value.</doc>
+ <type name="guint8" c:type="guint8*"/>
+ </parameter>
+ <parameter name="gmin" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="3420">the gap threshold.</doc>
+ <type name="guint8" c:type="guint8*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="xr_next_rb"
+ c:identifier="gst_rtcp_packet_xr_next_rb"
+ version="1.16">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2644">Move to the next extended report block in XR @packet.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="522"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2650">TRUE if there was a next extended report block.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="packet" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2646">a valid XR #GstRTCPPacket</doc>
+ <type name="RTCPPacket" c:type="GstRTCPPacket*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ </record>
+ <enumeration name="RTCPSDESType"
+ glib:type-name="GstRTCPSDESType"
+ glib:get-type="gst_rtcpsdes_type_get_type"
+ c:type="GstRTCPSDESType">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="114">Different types of SDES content.</doc>
+ <member name="invalid"
+ value="-1"
+ c:identifier="GST_RTCP_SDES_INVALID"
+ glib:nick="invalid">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="116">Invalid SDES entry</doc>
+ </member>
+ <member name="end"
+ value="0"
+ c:identifier="GST_RTCP_SDES_END"
+ glib:nick="end">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="117">End of SDES list</doc>
+ </member>
+ <member name="cname"
+ value="1"
+ c:identifier="GST_RTCP_SDES_CNAME"
+ glib:nick="cname">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="118">Canonical name</doc>
+ </member>
+ <member name="name"
+ value="2"
+ c:identifier="GST_RTCP_SDES_NAME"
+ glib:nick="name">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="119">User name</doc>
+ </member>
+ <member name="email"
+ value="3"
+ c:identifier="GST_RTCP_SDES_EMAIL"
+ glib:nick="email">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="120">User's electronic mail address</doc>
+ </member>
+ <member name="phone"
+ value="4"
+ c:identifier="GST_RTCP_SDES_PHONE"
+ glib:nick="phone">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="121">User's phone number</doc>
+ </member>
+ <member name="loc"
+ value="5"
+ c:identifier="GST_RTCP_SDES_LOC"
+ glib:nick="loc">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="122">Geographic user location</doc>
+ </member>
+ <member name="tool"
+ value="6"
+ c:identifier="GST_RTCP_SDES_TOOL"
+ glib:nick="tool">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="123">Name of application or tool</doc>
+ </member>
+ <member name="note"
+ value="7"
+ c:identifier="GST_RTCP_SDES_NOTE"
+ glib:nick="note">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="124">Notice about the source</doc>
+ </member>
+ <member name="priv"
+ value="8"
+ c:identifier="GST_RTCP_SDES_PRIV"
+ glib:nick="priv">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="125">Private extensions</doc>
+ </member>
+ </enumeration>
+ <enumeration name="RTCPType"
+ glib:type-name="GstRTCPType"
+ glib:get-type="gst_rtcp_type_get_type"
+ c:type="GstRTCPType">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="38">Different RTCP packet types.</doc>
+ <member name="invalid"
+ value="0"
+ c:identifier="GST_RTCP_TYPE_INVALID"
+ glib:nick="invalid">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="40">Invalid type</doc>
+ </member>
+ <member name="sr"
+ value="200"
+ c:identifier="GST_RTCP_TYPE_SR"
+ glib:nick="sr">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="41">Sender report</doc>
+ </member>
+ <member name="rr"
+ value="201"
+ c:identifier="GST_RTCP_TYPE_RR"
+ glib:nick="rr">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="42">Receiver report</doc>
+ </member>
+ <member name="sdes"
+ value="202"
+ c:identifier="GST_RTCP_TYPE_SDES"
+ glib:nick="sdes">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="43">Source description</doc>
+ </member>
+ <member name="bye"
+ value="203"
+ c:identifier="GST_RTCP_TYPE_BYE"
+ glib:nick="bye">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="44">Goodbye</doc>
+ </member>
+ <member name="app"
+ value="204"
+ c:identifier="GST_RTCP_TYPE_APP"
+ glib:nick="app">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="45">Application defined</doc>
+ </member>
+ <member name="rtpfb"
+ value="205"
+ c:identifier="GST_RTCP_TYPE_RTPFB"
+ glib:nick="rtpfb">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="46">Transport layer feedback.</doc>
+ </member>
+ <member name="psfb"
+ value="206"
+ c:identifier="GST_RTCP_TYPE_PSFB"
+ glib:nick="psfb">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="47">Payload-specific feedback.</doc>
+ </member>
+ <member name="xr"
+ value="207"
+ c:identifier="GST_RTCP_TYPE_XR"
+ glib:nick="xr">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="48">Extended report.</doc>
+ </member>
+ </enumeration>
+ <enumeration name="RTCPXRType"
+ version="1.16"
+ glib:type-name="GstRTCPXRType"
+ glib:get-type="gst_rtcpxr_type_get_type"
+ c:type="GstRTCPXRType">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="143">Types of RTCP Extended Reports, those are defined in RFC 3611 and other RFCs
+according to the [IANA registry](https://www.iana.org/assignments/rtcp-xr-block-types/rtcp-xr-block-types.xhtml).</doc>
+ <member name="invalid"
+ value="-1"
+ c:identifier="GST_RTCP_XR_TYPE_INVALID"
+ glib:nick="invalid">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="145">Invalid XR Report Block</doc>
+ </member>
+ <member name="lrle"
+ value="1"
+ c:identifier="GST_RTCP_XR_TYPE_LRLE"
+ glib:nick="lrle">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="146">Loss RLE Report Block</doc>
+ </member>
+ <member name="drle"
+ value="2"
+ c:identifier="GST_RTCP_XR_TYPE_DRLE"
+ glib:nick="drle">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="147">Duplicate RLE Report Block</doc>
+ </member>
+ <member name="prt"
+ value="3"
+ c:identifier="GST_RTCP_XR_TYPE_PRT"
+ glib:nick="prt">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="148">Packet Receipt Times Report Block</doc>
+ </member>
+ <member name="rrt"
+ value="4"
+ c:identifier="GST_RTCP_XR_TYPE_RRT"
+ glib:nick="rrt">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="149">Receiver Reference Time Report Block</doc>
+ </member>
+ <member name="dlrr"
+ value="5"
+ c:identifier="GST_RTCP_XR_TYPE_DLRR"
+ glib:nick="dlrr">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="150">Delay since the last Receiver Report</doc>
+ </member>
+ <member name="ssumm"
+ value="6"
+ c:identifier="GST_RTCP_XR_TYPE_SSUMM"
+ glib:nick="ssumm">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="151">Statistics Summary Report Block</doc>
+ </member>
+ <member name="voip_metrics"
+ value="7"
+ c:identifier="GST_RTCP_XR_TYPE_VOIP_METRICS"
+ glib:nick="voip-metrics">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="152">VoIP Metrics Report Block</doc>
+ </member>
+ </enumeration>
+ <constant name="RTCP_MAX_BYE_SSRC_COUNT"
+ value="31"
+ c:type="GST_RTCP_MAX_BYE_SSRC_COUNT">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="192">The maximum amount of SSRCs in a BYE packet.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h" line="197"/>
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RTCP_MAX_RB_COUNT"
+ value="31"
+ c:type="GST_RTCP_MAX_RB_COUNT">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="178">The maximum amount of Receiver report blocks in RR and SR messages.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h" line="183"/>
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RTCP_MAX_SDES" value="255" c:type="GST_RTCP_MAX_SDES">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="171">The maximum text length for an SDES item.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h" line="176"/>
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RTCP_MAX_SDES_ITEM_COUNT"
+ value="31"
+ c:type="GST_RTCP_MAX_SDES_ITEM_COUNT">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="185">The maximum amount of SDES items.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h" line="190"/>
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RTCP_REDUCED_SIZE_VALID_MASK"
+ value="57592"
+ c:type="GST_RTCP_REDUCED_SIZE_VALID_MASK">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="206">Mask for version, padding bit and packet type pair allowing reduced size
+packets, basically it accepts other types than RR and SR</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h" line="212"/>
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RTCP_VALID_MASK"
+ value="57598"
+ c:type="GST_RTCP_VALID_MASK">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="199">Mask for version, padding bit and packet type pair</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h" line="204"/>
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RTCP_VALID_VALUE"
+ value="200"
+ c:type="GST_RTCP_VALID_VALUE">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="214">Valid value for the first two bytes of an RTCP packet after applying
+#GST_RTCP_VALID_MASK to them.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h" line="220"/>
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RTCP_VERSION" value="2" c:type="GST_RTCP_VERSION">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.h"
+ line="31">The supported RTCP version 2.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h" line="36"/>
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <class name="RTPBaseAudioPayload"
+ c:symbol-prefix="rtp_base_audio_payload"
+ c:type="GstRTPBaseAudioPayload"
+ parent="RTPBasePayload"
+ glib:type-name="GstRTPBaseAudioPayload"
+ glib:get-type="gst_rtp_base_audio_payload_get_type"
+ glib:type-struct="RTPBaseAudioPayloadClass">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbaseaudiopayload.c"
+ line="20">Provides a base class for audio RTP payloaders for frame or sample based
+audio codecs (constant bitrate)
+
+This class derives from GstRTPBasePayload. It can be used for payloading
+audio codecs. It will only work with constant bitrate codecs. It supports
+both frame based and sample based codecs. It takes care of packing up the
+audio data into RTP packets and filling up the headers accordingly. The
+payloading is done based on the maximum MTU (mtu) and the maximum time per
+packet (max-ptime). The general idea is to divide large data buffers into
+smaller RTP packets. The RTP packet size is the minimum of either the MTU,
+max-ptime (if set) or available data. The RTP packet size is always larger or
+equal to min-ptime (if set). If min-ptime is not set, any residual data is
+sent in a last RTP packet. In the case of frame based codecs, the resulting
+RTP packets always contain full frames.
+
+## Usage
+
+To use this base class, your child element needs to call either
+gst_rtp_base_audio_payload_set_frame_based() or
+gst_rtp_base_audio_payload_set_sample_based(). This is usually done in the
+element's `_init()` function. Then, the child element must call either
+gst_rtp_base_audio_payload_set_frame_options(),
+gst_rtp_base_audio_payload_set_sample_options() or
+gst_rtp_base_audio_payload_set_samplebits_options. Since
+GstRTPBaseAudioPayload derives from GstRTPBasePayload, the child element
+must set any variables or call/override any functions required by that base
+class. The child element does not need to override any other functions
+specific to GstRTPBaseAudioPayload.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtpbaseaudiopayload.h"
+ line="77"/>
+ <method name="flush" c:identifier="gst_rtp_base_audio_payload_flush">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbaseaudiopayload.c"
+ line="567">Create an RTP buffer and store @payload_len bytes of the adapter as the
+payload. Set the timestamp on the new buffer to @timestamp before pushing
+the buffer downstream.
+
+If @payload_len is -1, all pending bytes will be flushed. If @timestamp is
+-1, the timestamp will be calculated automatically.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtpbaseaudiopayload.h"
+ line="117"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbaseaudiopayload.c"
+ line="580">a #GstFlowReturn</doc>
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="baseaudiopayload"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbaseaudiopayload.c"
+ line="569">a #GstRTPBasePayload</doc>
+ <type name="RTPBaseAudioPayload" c:type="GstRTPBaseAudioPayload*"/>
+ </instance-parameter>
+ <parameter name="payload_len" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbaseaudiopayload.c"
+ line="570">length of payload</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="timestamp" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbaseaudiopayload.c"
+ line="571">a #GstClockTime</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_adapter"
+ c:identifier="gst_rtp_base_audio_payload_get_adapter">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbaseaudiopayload.c"
+ line="1006">Gets the internal adapter used by the depayloader.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtpbaseaudiopayload.h"
+ line="107"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbaseaudiopayload.c"
+ line="1012">a #GstAdapter.</doc>
+ <type name="GstBase.Adapter" c:type="GstAdapter*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="rtpbaseaudiopayload"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbaseaudiopayload.c"
+ line="1008">a #GstRTPBaseAudioPayload</doc>
+ <type name="RTPBaseAudioPayload" c:type="GstRTPBaseAudioPayload*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="push" c:identifier="gst_rtp_base_audio_payload_push">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbaseaudiopayload.c"
+ line="434">Create an RTP buffer and store @payload_len bytes of @data as the
+payload. Set the timestamp on the new buffer to @timestamp before pushing
+the buffer downstream.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtpbaseaudiopayload.h"
+ line="112"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbaseaudiopayload.c"
+ line="445">a #GstFlowReturn</doc>
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="baseaudiopayload"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbaseaudiopayload.c"
+ line="436">a #GstRTPBasePayload</doc>
+ <type name="RTPBaseAudioPayload" c:type="GstRTPBaseAudioPayload*"/>
+ </instance-parameter>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbaseaudiopayload.c"
+ line="437">data to set as payload</doc>
+ <array length="1" zero-terminated="0" c:type="const guint8*">
+ <type name="guint8" c:type="guint8"/>
+ </array>
+ </parameter>
+ <parameter name="payload_len" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbaseaudiopayload.c"
+ line="438">length of payload</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="timestamp" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbaseaudiopayload.c"
+ line="439">a #GstClockTime</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_frame_based"
+ c:identifier="gst_rtp_base_audio_payload_set_frame_based">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbaseaudiopayload.c"
+ line="266">Tells #GstRTPBaseAudioPayload that the child element is for a frame based
+audio codec</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtpbaseaudiopayload.h"
+ line="85"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="rtpbaseaudiopayload"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbaseaudiopayload.c"
+ line="268">a pointer to the element.</doc>
+ <type name="RTPBaseAudioPayload" c:type="GstRTPBaseAudioPayload*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="set_frame_options"
+ c:identifier="gst_rtp_base_audio_payload_set_frame_options">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbaseaudiopayload.c"
+ line="314">Sets the options for frame based audio codecs.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtpbaseaudiopayload.h"
+ line="88"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="rtpbaseaudiopayload"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbaseaudiopayload.c"
+ line="316">a pointer to the element.</doc>
+ <type name="RTPBaseAudioPayload" c:type="GstRTPBaseAudioPayload*"/>
+ </instance-parameter>
+ <parameter name="frame_duration" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbaseaudiopayload.c"
+ line="317">The duraction of an audio frame in milliseconds.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="frame_size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbaseaudiopayload.c"
+ line="318">The size of an audio frame in bytes.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_sample_based"
+ c:identifier="gst_rtp_base_audio_payload_set_sample_based">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbaseaudiopayload.c"
+ line="290">Tells #GstRTPBaseAudioPayload that the child element is for a sample based
+audio codec</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtpbaseaudiopayload.h"
+ line="94"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="rtpbaseaudiopayload"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbaseaudiopayload.c"
+ line="292">a pointer to the element.</doc>
+ <type name="RTPBaseAudioPayload" c:type="GstRTPBaseAudioPayload*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="set_sample_options"
+ c:identifier="gst_rtp_base_audio_payload_set_sample_options">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbaseaudiopayload.c"
+ line="344">Sets the options for sample based audio codecs.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtpbaseaudiopayload.h"
+ line="97"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="rtpbaseaudiopayload"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbaseaudiopayload.c"
+ line="346">a pointer to the element.</doc>
+ <type name="RTPBaseAudioPayload" c:type="GstRTPBaseAudioPayload*"/>
+ </instance-parameter>
+ <parameter name="sample_size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbaseaudiopayload.c"
+ line="347">Size per sample in bytes.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_samplebits_options"
+ c:identifier="gst_rtp_base_audio_payload_set_samplebits_options">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbaseaudiopayload.c"
+ line="362">Sets the options for sample based audio codecs.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtpbaseaudiopayload.h"
+ line="101"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="rtpbaseaudiopayload"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbaseaudiopayload.c"
+ line="364">a pointer to the element.</doc>
+ <type name="RTPBaseAudioPayload" c:type="GstRTPBaseAudioPayload*"/>
+ </instance-parameter>
+ <parameter name="sample_size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbaseaudiopayload.c"
+ line="365">Size per sample in bits.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="buffer-list" writable="1" transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </property>
+ <field name="payload">
+ <type name="RTPBasePayload" c:type="GstRTPBasePayload"/>
+ </field>
+ <field name="priv">
+ <type name="RTPBaseAudioPayloadPrivate"
+ c:type="GstRTPBaseAudioPayloadPrivate*"/>
+ </field>
+ <field name="base_ts">
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </field>
+ <field name="frame_size">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="frame_duration">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="sample_size">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="RTPBaseAudioPayloadClass"
+ c:type="GstRTPBaseAudioPayloadClass"
+ glib:is-gtype-struct-for="RTPBaseAudioPayload">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbaseaudiopayload.h"
+ line="65">Base class for audio RTP payloader.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtpbaseaudiopayload.h"
+ line="77"/>
+ <field name="parent_class">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbaseaudiopayload.h"
+ line="67">the parent class</doc>
+ <type name="RTPBasePayloadClass" c:type="GstRTPBasePayloadClass"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="RTPBaseAudioPayloadPrivate"
+ c:type="GstRTPBaseAudioPayloadPrivate"
+ disguised="1">
+ <source-position filename="gst-libs/gst/rtp/gstrtpbaseaudiopayload.h"
+ line="32"/>
+ </record>
+ <class name="RTPBaseDepayload"
+ c:symbol-prefix="rtp_base_depayload"
+ c:type="GstRTPBaseDepayload"
+ parent="Gst.Element"
+ abstract="1"
+ glib:type-name="GstRTPBaseDepayload"
+ glib:get-type="gst_rtp_base_depayload_get_type"
+ glib:type-struct="RTPBaseDepayloadClass">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbasedepayload.c"
+ line="21">Provides a base class for RTP depayloaders</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtpbasedepayload.h"
+ line="112"/>
+ <virtual-method name="handle_event">
+ <source-position filename="gst-libs/gst/rtp/gstrtpbasedepayload.h"
+ line="106"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="filter" transfer-ownership="none">
+ <type name="RTPBaseDepayload" c:type="GstRTPBaseDepayload*"/>
+ </instance-parameter>
+ <parameter name="event" transfer-ownership="none">
+ <type name="Gst.Event" c:type="GstEvent*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="packet_lost">
+ <source-position filename="gst-libs/gst/rtp/gstrtpbasedepayload.h"
+ line="102"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="filter" transfer-ownership="none">
+ <type name="RTPBaseDepayload" c:type="GstRTPBaseDepayload*"/>
+ </instance-parameter>
+ <parameter name="event" transfer-ownership="none">
+ <type name="Gst.Event" c:type="GstEvent*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="process">
+ <source-position filename="gst-libs/gst/rtp/gstrtpbasedepayload.h"
+ line="97"/>
+ <return-value transfer-ownership="full">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="base" transfer-ownership="none">
+ <type name="RTPBaseDepayload" c:type="GstRTPBaseDepayload*"/>
+ </instance-parameter>
+ <parameter name="in" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="process_rtp_packet">
+ <source-position filename="gst-libs/gst/rtp/gstrtpbasedepayload.h"
+ line="108"/>
+ <return-value transfer-ownership="full">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="base" transfer-ownership="none">
+ <type name="RTPBaseDepayload" c:type="GstRTPBaseDepayload*"/>
+ </instance-parameter>
+ <parameter name="rtp_buffer" transfer-ownership="none">
+ <type name="RTPBuffer" c:type="GstRTPBuffer*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="set_caps">
+ <source-position filename="gst-libs/gst/rtp/gstrtpbasedepayload.h"
+ line="94"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="filter" transfer-ownership="none">
+ <type name="RTPBaseDepayload" c:type="GstRTPBaseDepayload*"/>
+ </instance-parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <method name="is_source_info_enabled"
+ c:identifier="gst_rtp_base_depayload_is_source_info_enabled"
+ version="1.16">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbasedepayload.c"
+ line="1153">Queries whether #GstRTPSourceMeta will be added to depayloaded buffers.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtpbasedepayload.h"
+ line="124"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbasedepayload.c"
+ line="1159">%TRUE if source-info is enabled.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="depayload" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbasedepayload.c"
+ line="1155">a #GstRTPBaseDepayload</doc>
+ <type name="RTPBaseDepayload" c:type="GstRTPBaseDepayload*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="push" c:identifier="gst_rtp_base_depayload_push">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbasedepayload.c"
+ line="897">Push @out_buf to the peer of @filter. This function takes ownership of
+@out_buf.
+
+This function will by default apply the last incoming timestamp on
+the outgoing buffer when it didn't have a timestamp already.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtpbasedepayload.h"
+ line="118"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbasedepayload.c"
+ line="908">a #GstFlowReturn.</doc>
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="filter" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbasedepayload.c"
+ line="899">a #GstRTPBaseDepayload</doc>
+ <type name="RTPBaseDepayload" c:type="GstRTPBaseDepayload*"/>
+ </instance-parameter>
+ <parameter name="out_buf" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbasedepayload.c"
+ line="900">a #GstBuffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="push_list" c:identifier="gst_rtp_base_depayload_push_list">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbasedepayload.c"
+ line="928">Push @out_list to the peer of @filter. This function takes ownership of
+@out_list.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtpbasedepayload.h"
+ line="121"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbasedepayload.c"
+ line="936">a #GstFlowReturn.</doc>
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="filter" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbasedepayload.c"
+ line="930">a #GstRTPBaseDepayload</doc>
+ <type name="RTPBaseDepayload" c:type="GstRTPBaseDepayload*"/>
+ </instance-parameter>
+ <parameter name="out_list" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbasedepayload.c"
+ line="931">a #GstBufferList</doc>
+ <type name="Gst.BufferList" c:type="GstBufferList*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_source_info_enabled"
+ c:identifier="gst_rtp_base_depayload_set_source_info_enabled"
+ version="1.16">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbasedepayload.c"
+ line="1137">Enable or disable adding #GstRTPSourceMeta to depayloaded buffers.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtpbasedepayload.h"
+ line="127"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="depayload" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbasedepayload.c"
+ line="1139">a #GstRTPBaseDepayload</doc>
+ <type name="RTPBaseDepayload" c:type="GstRTPBaseDepayload*"/>
+ </instance-parameter>
+ <parameter name="enable" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbasedepayload.c"
+ line="1140">whether to add meta about RTP sources to buffer</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="max-reorder"
+ version="1.18"
+ writable="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbasedepayload.c"
+ line="211">Max seqnum reorder before the sender is assumed to have restarted.
+
+When max-reorder is set to 0 all reordered/duplicate packets are
+considered coming from a restarted sender.</doc>
+ <type name="gint" c:type="gint"/>
+ </property>
+ <property name="source-info"
+ version="1.16"
+ writable="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbasedepayload.c"
+ line="199">Add RTP source information found in RTP header as meta to output buffer.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </property>
+ <property name="stats" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbasedepayload.c"
+ line="175">Various depayloader statistics retrieved atomically (and are therefore
+synchroized with each other). This property return a GstStructure named
+application/x-rtp-depayload-stats containing the following fields relating to
+the last processed buffer and current state of the stream being depayloaded:
+
+ * `clock-rate`: #G_TYPE_UINT, clock-rate of the stream
+ * `npt-start`: #G_TYPE_UINT64, time of playback start
+ * `npt-stop`: #G_TYPE_UINT64, time of playback stop
+ * `play-speed`: #G_TYPE_DOUBLE, the playback speed
+ * `play-scale`: #G_TYPE_DOUBLE, the playback scale
+ * `running-time-dts`: #G_TYPE_UINT64, the last running-time of the
+ last DTS
+ * `running-time-pts`: #G_TYPE_UINT64, the last running-time of the
+ last PTS
+ * `seqnum`: #G_TYPE_UINT, the last seen seqnum
+ * `timestamp`: #G_TYPE_UINT, the last seen RTP timestamp</doc>
+ <type name="Gst.Structure"/>
+ </property>
+ <field name="parent">
+ <type name="Gst.Element" c:type="GstElement"/>
+ </field>
+ <field name="sinkpad">
+ <type name="Gst.Pad" c:type="GstPad*"/>
+ </field>
+ <field name="srcpad">
+ <type name="Gst.Pad" c:type="GstPad*"/>
+ </field>
+ <field name="clock_rate">
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="segment">
+ <type name="Gst.Segment" c:type="GstSegment"/>
+ </field>
+ <field name="need_newsegment">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="RTPBaseDepayloadPrivate"
+ c:type="GstRTPBaseDepayloadPrivate*"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="RTPBaseDepayloadClass"
+ c:type="GstRTPBaseDepayloadClass"
+ glib:is-gtype-struct-for="RTPBaseDepayload">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbasedepayload.h"
+ line="66">Base class for RTP depayloaders.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtpbasedepayload.h"
+ line="112"/>
+ <field name="parent_class">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbasedepayload.h"
+ line="68">the parent class</doc>
+ <type name="Gst.ElementClass" c:type="GstElementClass"/>
+ </field>
+ <field name="set_caps">
+ <callback name="set_caps">
+ <source-position filename="gst-libs/gst/rtp/gstrtpbasedepayload.h"
+ line="94"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="filter" transfer-ownership="none">
+ <type name="RTPBaseDepayload" c:type="GstRTPBaseDepayload*"/>
+ </parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="process">
+ <callback name="process">
+ <source-position filename="gst-libs/gst/rtp/gstrtpbasedepayload.h"
+ line="97"/>
+ <return-value transfer-ownership="full">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <parameter name="base" transfer-ownership="none">
+ <type name="RTPBaseDepayload" c:type="GstRTPBaseDepayload*"/>
+ </parameter>
+ <parameter name="in" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="packet_lost">
+ <callback name="packet_lost">
+ <source-position filename="gst-libs/gst/rtp/gstrtpbasedepayload.h"
+ line="102"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="filter" transfer-ownership="none">
+ <type name="RTPBaseDepayload" c:type="GstRTPBaseDepayload*"/>
+ </parameter>
+ <parameter name="event" transfer-ownership="none">
+ <type name="Gst.Event" c:type="GstEvent*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="handle_event">
+ <callback name="handle_event">
+ <source-position filename="gst-libs/gst/rtp/gstrtpbasedepayload.h"
+ line="106"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="filter" transfer-ownership="none">
+ <type name="RTPBaseDepayload" c:type="GstRTPBaseDepayload*"/>
+ </parameter>
+ <parameter name="event" transfer-ownership="none">
+ <type name="Gst.Event" c:type="GstEvent*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="process_rtp_packet">
+ <callback name="process_rtp_packet">
+ <source-position filename="gst-libs/gst/rtp/gstrtpbasedepayload.h"
+ line="108"/>
+ <return-value transfer-ownership="full">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <parameter name="base" transfer-ownership="none">
+ <type name="RTPBaseDepayload" c:type="GstRTPBaseDepayload*"/>
+ </parameter>
+ <parameter name="rtp_buffer" transfer-ownership="none">
+ <type name="RTPBuffer" c:type="GstRTPBuffer*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="3">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="RTPBaseDepayloadPrivate"
+ c:type="GstRTPBaseDepayloadPrivate"
+ disguised="1">
+ <source-position filename="gst-libs/gst/rtp/gstrtpbasedepayload.h"
+ line="46"/>
+ </record>
+ <class name="RTPBasePayload"
+ c:symbol-prefix="rtp_base_payload"
+ c:type="GstRTPBasePayload"
+ parent="Gst.Element"
+ abstract="1"
+ glib:type-name="GstRTPBasePayload"
+ glib:get-type="gst_rtp_base_payload_get_type"
+ glib:type-struct="RTPBasePayloadClass">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbasepayload.c"
+ line="15">Provides a base class for RTP payloaders</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtpbasepayload.h"
+ line="147"/>
+ <virtual-method name="get_caps">
+ <source-position filename="gst-libs/gst/rtp/gstrtpbasepayload.h"
+ line="132"/>
+ <return-value transfer-ownership="full">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="payload" transfer-ownership="none">
+ <type name="RTPBasePayload" c:type="GstRTPBasePayload*"/>
+ </instance-parameter>
+ <parameter name="pad" transfer-ownership="none">
+ <type name="Gst.Pad" c:type="GstPad*"/>
+ </parameter>
+ <parameter name="filter" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="handle_buffer">
+ <source-position filename="gst-libs/gst/rtp/gstrtpbasepayload.h"
+ line="138"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="payload" transfer-ownership="none">
+ <type name="RTPBasePayload" c:type="GstRTPBasePayload*"/>
+ </instance-parameter>
+ <parameter name="buffer" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="query">
+ <source-position filename="gst-libs/gst/rtp/gstrtpbasepayload.h"
+ line="143"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="payload" transfer-ownership="none">
+ <type name="RTPBasePayload" c:type="GstRTPBasePayload*"/>
+ </instance-parameter>
+ <parameter name="pad" transfer-ownership="none">
+ <type name="Gst.Pad" c:type="GstPad*"/>
+ </parameter>
+ <parameter name="query" transfer-ownership="none">
+ <type name="Gst.Query" c:type="GstQuery*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="set_caps">
+ <source-position filename="gst-libs/gst/rtp/gstrtpbasepayload.h"
+ line="134"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="payload" transfer-ownership="none">
+ <type name="RTPBasePayload" c:type="GstRTPBasePayload*"/>
+ </instance-parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="sink_event">
+ <source-position filename="gst-libs/gst/rtp/gstrtpbasepayload.h"
+ line="141"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="payload" transfer-ownership="none">
+ <type name="RTPBasePayload" c:type="GstRTPBasePayload*"/>
+ </instance-parameter>
+ <parameter name="event" transfer-ownership="none">
+ <type name="Gst.Event" c:type="GstEvent*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="src_event">
+ <source-position filename="gst-libs/gst/rtp/gstrtpbasepayload.h"
+ line="142"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="payload" transfer-ownership="none">
+ <type name="RTPBasePayload" c:type="GstRTPBasePayload*"/>
+ </instance-parameter>
+ <parameter name="event" transfer-ownership="none">
+ <type name="Gst.Event" c:type="GstEvent*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <method name="allocate_output_buffer"
+ c:identifier="gst_rtp_base_payload_allocate_output_buffer"
+ version="1.16">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbasepayload.c"
+ line="1528">Allocate a new #GstBuffer with enough data to hold an RTP packet with
+minimum @csrc_count CSRCs, a payload length of @payload_len and padding of
+@pad_len. If @payload has #GstRTPBasePayload:source-info %TRUE additional
+CSRCs may be allocated and filled with RTP source information.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtpbasepayload.h"
+ line="176"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbasepayload.c"
+ line="1540">A newly allocated buffer that can hold an RTP packet with given
+parameters.</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="payload" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbasepayload.c"
+ line="1530">a #GstRTPBasePayload</doc>
+ <type name="RTPBasePayload" c:type="GstRTPBasePayload*"/>
+ </instance-parameter>
+ <parameter name="payload_len" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbasepayload.c"
+ line="1531">the length of the payload</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="pad_len" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbasepayload.c"
+ line="1532">the amount of padding</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ <parameter name="csrc_count" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbasepayload.c"
+ line="1533">the minimum number of CSRC entries</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_source_count"
+ c:identifier="gst_rtp_base_payload_get_source_count"
+ version="1.16">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbasepayload.c"
+ line="1846">Count the total number of RTP sources found in the meta of @buffer, which
+will be automically added by gst_rtp_base_payload_allocate_output_buffer().
+If #GstRTPBasePayload:source-info is %FALSE the count will be 0.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtpbasepayload.h"
+ line="188"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbasepayload.c"
+ line="1855">The number of sources.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="payload" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbasepayload.c"
+ line="1848">a #GstRTPBasePayload</doc>
+ <type name="RTPBasePayload" c:type="GstRTPBasePayload*"/>
+ </instance-parameter>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbasepayload.c"
+ line="1849">a #GstBuffer, typically the buffer to payload</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="is_filled" c:identifier="gst_rtp_base_payload_is_filled">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbasepayload.c"
+ line="1208">Check if the packet with @size and @duration would exceed the configured
+maximum size.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtpbasepayload.h"
+ line="164"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbasepayload.c"
+ line="1217">%TRUE if the packet of @size and @duration would exceed the
+configured MTU or max_ptime.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="payload" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbasepayload.c"
+ line="1210">a #GstRTPBasePayload</doc>
+ <type name="RTPBasePayload" c:type="GstRTPBasePayload*"/>
+ </instance-parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbasepayload.c"
+ line="1211">the size of the packet</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="duration" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbasepayload.c"
+ line="1212">the duration of the packet</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="is_source_info_enabled"
+ c:identifier="gst_rtp_base_payload_is_source_info_enabled"
+ version="1.16">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbasepayload.c"
+ line="1828">Queries whether the payloader will add contributing sources (CSRCs) to the
+RTP header from #GstRTPSourceMeta.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtpbasepayload.h"
+ line="185"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbasepayload.c"
+ line="1835">%TRUE if source-info is enabled.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="payload" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbasepayload.c"
+ line="1830">a #GstRTPBasePayload</doc>
+ <type name="RTPBasePayload" c:type="GstRTPBasePayload*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="push" c:identifier="gst_rtp_base_payload_push">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbasepayload.c"
+ line="1495">Push @buffer to the peer element of the payloader. The SSRC, payload type,
+seqnum and timestamp of the RTP buffer will be updated first.
+
+This function takes ownership of @buffer.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtpbasepayload.h"
+ line="168"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbasepayload.c"
+ line="1505">a #GstFlowReturn.</doc>
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="payload" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbasepayload.c"
+ line="1497">a #GstRTPBasePayload</doc>
+ <type name="RTPBasePayload" c:type="GstRTPBasePayload*"/>
+ </instance-parameter>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbasepayload.c"
+ line="1498">a #GstBuffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="push_list" c:identifier="gst_rtp_base_payload_push_list">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbasepayload.c"
+ line="1461">Push @list to the peer element of the payloader. The SSRC, payload type,
+seqnum and timestamp of the RTP buffer will be updated first.
+
+This function takes ownership of @list.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtpbasepayload.h"
+ line="172"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbasepayload.c"
+ line="1471">a #GstFlowReturn.</doc>
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="payload" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbasepayload.c"
+ line="1463">a #GstRTPBasePayload</doc>
+ <type name="RTPBasePayload" c:type="GstRTPBasePayload*"/>
+ </instance-parameter>
+ <parameter name="list" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbasepayload.c"
+ line="1464">a #GstBufferList</doc>
+ <type name="Gst.BufferList" c:type="GstBufferList*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_options"
+ c:identifier="gst_rtp_base_payload_set_options">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbasepayload.c"
+ line="800">Set the rtp options of the payloader. These options will be set in the caps
+of the payloader. Subclasses must call this method before calling
+gst_rtp_base_payload_push() or gst_rtp_base_payload_set_outcaps().</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtpbasepayload.h"
+ line="153"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="payload" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbasepayload.c"
+ line="802">a #GstRTPBasePayload</doc>
+ <type name="RTPBasePayload" c:type="GstRTPBasePayload*"/>
+ </instance-parameter>
+ <parameter name="media" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbasepayload.c"
+ line="803">the media type (typically "audio" or "video")</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="dynamic" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbasepayload.c"
+ line="804">if the payload type is dynamic</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ <parameter name="encoding_name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbasepayload.c"
+ line="805">the encoding name</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="clock_rate" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbasepayload.c"
+ line="806">the clock rate of the media</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_outcaps"
+ c:identifier="gst_rtp_base_payload_set_outcaps"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbasepayload.c"
+ line="852">Configure the output caps with the optional parameters.
+
+Variable arguments should be in the form field name, field type
+(as a GType), value(s). The last variable argument should be NULL.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtpbasepayload.h"
+ line="160"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbasepayload.c"
+ line="863">%TRUE if the caps could be set.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="payload" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbasepayload.c"
+ line="854">a #GstRTPBasePayload</doc>
+ <type name="RTPBasePayload" c:type="GstRTPBasePayload*"/>
+ </instance-parameter>
+ <parameter name="fieldname" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbasepayload.c"
+ line="855">the first field name or %NULL</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="..." transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbasepayload.c"
+ line="856">field values</doc>
+ <varargs/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_source_info_enabled"
+ c:identifier="gst_rtp_base_payload_set_source_info_enabled"
+ version="1.16">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbasepayload.c"
+ line="1811">Enable or disable adding contributing sources to RTP packets from
+#GstRTPSourceMeta.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtpbasepayload.h"
+ line="181"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="payload" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbasepayload.c"
+ line="1813">a #GstRTPBasePayload</doc>
+ <type name="RTPBasePayload" c:type="GstRTPBasePayload*"/>
+ </instance-parameter>
+ <parameter name="enable" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbasepayload.c"
+ line="1814">whether to add contributing sources to RTP packets</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="max-ptime" writable="1" transfer-ownership="none">
+ <type name="gint64" c:type="gint64"/>
+ </property>
+ <property name="min-ptime" writable="1" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbasepayload.c"
+ line="247">Minimum duration of the packet data in ns (can't go above MTU)</doc>
+ <type name="gint64" c:type="gint64"/>
+ </property>
+ <property name="mtu" writable="1" transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </property>
+ <property name="onvif-no-rate-control"
+ version="1.16"
+ writable="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbasepayload.c"
+ line="336">Make the payloader timestamp packets according to the Rate-Control=no
+behaviour specified in the ONVIF replay spec.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </property>
+ <property name="perfect-rtptime" writable="1" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbasepayload.c"
+ line="267">Try to use the offset fields to generate perfect RTP timestamps. When this
+option is disabled, RTP timestamps are generated from GST_BUFFER_PTS of
+each payloaded buffer. The PTSes of buffers may not necessarily increment
+with the amount of data in each input buffer, consider e.g. the case where
+the buffer arrives from a network which means that the PTS is unrelated to
+the amount of data. Because the RTP timestamps are generated from
+GST_BUFFER_PTS this can result in RTP timestamps that also don't increment
+with the amount of data in the payloaded packet. To circumvent this it is
+possible to set the perfect rtptime option enabled. When this option is
+enabled the payloader will increment the RTP timestamps based on
+GST_BUFFER_OFFSET which relates to the amount of data in each packet
+rather than the GST_BUFFER_PTS of each buffer and therefore the RTP
+timestamps will more closely correlate with the amount of data in each
+buffer. Currently GstRTPBasePayload is limited to handling perfect RTP
+timestamps for audio streams.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </property>
+ <property name="pt" writable="1" transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </property>
+ <property name="ptime-multiple" writable="1" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbasepayload.c"
+ line="290">Force buffers to be multiples of this duration in ns (0 disables)</doc>
+ <type name="gint64" c:type="gint64"/>
+ </property>
+ <property name="scale-rtptime"
+ version="1.18"
+ writable="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbasepayload.c"
+ line="377">Make the RTP packets' timestamps be scaled with the segment's rate
+(corresponding to RTSP speed parameter). Disabling this property means
+the timestamps will not be affected by the set delivery speed (RTSP speed).
+
+Example: A server wants to allow streaming a recorded video in double
+speed but still have the timestamps correspond to the position in the
+video. This is achieved by the client setting RTSP Speed to 2 while the
+server has this property disabled.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </property>
+ <property name="seqnum" transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </property>
+ <property name="seqnum-offset" writable="1" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </property>
+ <property name="source-info"
+ version="1.16"
+ writable="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbasepayload.c"
+ line="323">Enable writing the CSRC field in allocated RTP header based on RTP source
+information found in the input buffer's #GstRTPSourceMeta.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </property>
+ <property name="ssrc" writable="1" transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </property>
+ <property name="stats" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbasepayload.c"
+ line="301">Various payloader statistics retrieved atomically (and are therefore
+synchroized with each other), these can be used e.g. to generate an
+RTP-Info header. This property return a GstStructure named
+application/x-rtp-payload-stats containing the following fields relating to
+the last processed buffer and current state of the stream being payloaded:
+
+ * `clock-rate` :#G_TYPE_UINT, clock-rate of the stream
+ * `running-time` :#G_TYPE_UINT64, running time
+ * `seqnum` :#G_TYPE_UINT, sequence number, same as #GstRTPBasePayload:seqnum
+ * `timestamp` :#G_TYPE_UINT, RTP timestamp, same as #GstRTPBasePayload:timestamp
+ * `ssrc` :#G_TYPE_UINT, The SSRC in use
+ * `pt` :#G_TYPE_UINT, The Payload type in use, same as #GstRTPBasePayload:pt
+ * `seqnum-offset` :#G_TYPE_UINT, The current offset added to the seqnum
+ * `timestamp-offset` :#G_TYPE_UINT, The current offset added to the timestamp</doc>
+ <type name="Gst.Structure"/>
+ </property>
+ <property name="timestamp" transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </property>
+ <property name="timestamp-offset" writable="1" transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </property>
+ <field name="element">
+ <type name="Gst.Element" c:type="GstElement"/>
+ </field>
+ <field name="sinkpad" readable="0" private="1">
+ <type name="Gst.Pad" c:type="GstPad*"/>
+ </field>
+ <field name="srcpad" readable="0" private="1">
+ <type name="Gst.Pad" c:type="GstPad*"/>
+ </field>
+ <field name="ts_base" readable="0" private="1">
+ <type name="guint32" c:type="guint32"/>
+ </field>
+ <field name="seqnum_base" readable="0" private="1">
+ <type name="guint16" c:type="guint16"/>
+ </field>
+ <field name="media" readable="0" private="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="encoding_name" readable="0" private="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="dynamic" readable="0" private="1">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="clock_rate" readable="0" private="1">
+ <type name="guint32" c:type="guint32"/>
+ </field>
+ <field name="ts_offset" readable="0" private="1">
+ <type name="gint32" c:type="gint32"/>
+ </field>
+ <field name="timestamp" readable="0" private="1">
+ <type name="guint32" c:type="guint32"/>
+ </field>
+ <field name="seqnum_offset" readable="0" private="1">
+ <type name="gint16" c:type="gint16"/>
+ </field>
+ <field name="seqnum" readable="0" private="1">
+ <type name="guint16" c:type="guint16"/>
+ </field>
+ <field name="max_ptime" readable="0" private="1">
+ <type name="gint64" c:type="gint64"/>
+ </field>
+ <field name="pt" readable="0" private="1">
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="ssrc" readable="0" private="1">
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="current_ssrc" readable="0" private="1">
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="mtu" readable="0" private="1">
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="segment" readable="0" private="1">
+ <type name="Gst.Segment" c:type="GstSegment"/>
+ </field>
+ <field name="min_ptime" readable="0" private="1">
+ <type name="guint64" c:type="guint64"/>
+ </field>
+ <field name="ptime" readable="0" private="1">
+ <type name="guint64" c:type="guint64"/>
+ </field>
+ <field name="ptime_multiple" readable="0" private="1">
+ <type name="guint64" c:type="guint64"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="RTPBasePayloadPrivate" c:type="GstRTPBasePayloadPrivate*"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="RTPBasePayloadClass"
+ c:type="GstRTPBasePayloadClass"
+ glib:is-gtype-struct-for="RTPBasePayload">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbasepayload.h"
+ line="115">Base class for audio RTP payloader.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtpbasepayload.h"
+ line="147"/>
+ <field name="parent_class">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbasepayload.h"
+ line="117">the parent class</doc>
+ <type name="Gst.ElementClass" c:type="GstElementClass"/>
+ </field>
+ <field name="get_caps">
+ <callback name="get_caps">
+ <source-position filename="gst-libs/gst/rtp/gstrtpbasepayload.h"
+ line="132"/>
+ <return-value transfer-ownership="full">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <parameter name="payload" transfer-ownership="none">
+ <type name="RTPBasePayload" c:type="GstRTPBasePayload*"/>
+ </parameter>
+ <parameter name="pad" transfer-ownership="none">
+ <type name="Gst.Pad" c:type="GstPad*"/>
+ </parameter>
+ <parameter name="filter" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="set_caps">
+ <callback name="set_caps">
+ <source-position filename="gst-libs/gst/rtp/gstrtpbasepayload.h"
+ line="134"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="payload" transfer-ownership="none">
+ <type name="RTPBasePayload" c:type="GstRTPBasePayload*"/>
+ </parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="handle_buffer">
+ <callback name="handle_buffer">
+ <source-position filename="gst-libs/gst/rtp/gstrtpbasepayload.h"
+ line="138"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="payload" transfer-ownership="none">
+ <type name="RTPBasePayload" c:type="GstRTPBasePayload*"/>
+ </parameter>
+ <parameter name="buffer" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="sink_event">
+ <callback name="sink_event">
+ <source-position filename="gst-libs/gst/rtp/gstrtpbasepayload.h"
+ line="141"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="payload" transfer-ownership="none">
+ <type name="RTPBasePayload" c:type="GstRTPBasePayload*"/>
+ </parameter>
+ <parameter name="event" transfer-ownership="none">
+ <type name="Gst.Event" c:type="GstEvent*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="src_event">
+ <callback name="src_event">
+ <source-position filename="gst-libs/gst/rtp/gstrtpbasepayload.h"
+ line="142"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="payload" transfer-ownership="none">
+ <type name="RTPBasePayload" c:type="GstRTPBasePayload*"/>
+ </parameter>
+ <parameter name="event" transfer-ownership="none">
+ <type name="Gst.Event" c:type="GstEvent*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="query">
+ <callback name="query">
+ <source-position filename="gst-libs/gst/rtp/gstrtpbasepayload.h"
+ line="143"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="payload" transfer-ownership="none">
+ <type name="RTPBasePayload" c:type="GstRTPBasePayload*"/>
+ </parameter>
+ <parameter name="pad" transfer-ownership="none">
+ <type name="Gst.Pad" c:type="GstPad*"/>
+ </parameter>
+ <parameter name="query" transfer-ownership="none">
+ <type name="Gst.Query" c:type="GstQuery*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="RTPBasePayloadPrivate"
+ c:type="GstRTPBasePayloadPrivate"
+ disguised="1">
+ <source-position filename="gst-libs/gst/rtp/gstrtpbasepayload.h"
+ line="44"/>
+ </record>
+ <record name="RTPBuffer" c:type="GstRTPBuffer">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="21">The GstRTPBuffer helper functions makes it easy to parse and create regular
+#GstBuffer objects that contain RTP payloads. These buffers are typically of
+'application/x-rtp' #GstCaps.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtpbuffer.h" line="60"/>
+ <field name="buffer" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.h"
+ line="44">pointer to RTP buffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </field>
+ <field name="state" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.h"
+ line="45">internal state</doc>
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="data" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.h"
+ line="46">array of data</doc>
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <field name="size" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.h"
+ line="47">array of size</doc>
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gsize" c:type="gsize"/>
+ </array>
+ </field>
+ <field name="map" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.h"
+ line="48">array of #GstMapInfo</doc>
+ <array zero-terminated="0" fixed-size="4">
+ <type name="Gst.MapInfo" c:type="GstMapInfo"/>
+ </array>
+ </field>
+ <method name="add_extension_onebyte_header"
+ c:identifier="gst_rtp_buffer_add_extension_onebyte_header">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="1555">Adds a RFC 5285 header extension with a one byte header to the end of the
+RTP header. If there is already a RFC 5285 header extension with a one byte
+header, the new extension will be appended.
+It will not work if there is already a header extension that does not follow
+the mechanism described in RFC 5285 or if there is a header extension with
+a two bytes header as described in RFC 5285. In that case, use
+gst_rtp_buffer_add_extension_twobytes_header()</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtpbuffer.h"
+ line="219"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="1570">%TRUE if header extension could be added</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="rtp" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="1557">the RTP packet</doc>
+ <type name="RTPBuffer" c:type="GstRTPBuffer*"/>
+ </instance-parameter>
+ <parameter name="id" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="1558">The ID of the header extension (between 1 and 14).</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="1559">location for data</doc>
+ <array length="2" zero-terminated="0" c:type="gconstpointer">
+ <type name="guint8"/>
+ </array>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="1560">the size of the data in bytes</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_extension_twobytes_header"
+ c:identifier="gst_rtp_buffer_add_extension_twobytes_header">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="1654">Adds a RFC 5285 header extension with a two bytes header to the end of the
+RTP header. If there is already a RFC 5285 header extension with a two bytes
+header, the new extension will be appended.
+It will not work if there is already a header extension that does not follow
+the mechanism described in RFC 5285 or if there is a header extension with
+a one byte header as described in RFC 5285. In that case, use
+gst_rtp_buffer_add_extension_onebyte_header()</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtpbuffer.h"
+ line="225"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="1670">%TRUE if header extension could be added</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="rtp" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="1656">the RTP packet</doc>
+ <type name="RTPBuffer" c:type="GstRTPBuffer*"/>
+ </instance-parameter>
+ <parameter name="appbits" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="1657">Application specific bits</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ <parameter name="id" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="1658">The ID of the header extension</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="1659">location for data</doc>
+ <array length="3" zero-terminated="0" c:type="gconstpointer">
+ <type name="guint8"/>
+ </array>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="1660">the size of the data in bytes</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_csrc" c:identifier="gst_rtp_buffer_get_csrc">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="931">Get the CSRC at index @idx in @buffer.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtpbuffer.h"
+ line="148"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="938">the CSRC at index @idx in host order.</doc>
+ <type name="guint32" c:type="guint32"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="rtp" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="933">the RTP packet</doc>
+ <type name="RTPBuffer" c:type="GstRTPBuffer*"/>
+ </instance-parameter>
+ <parameter name="idx" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="934">the index of the CSRC to get</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_csrc_count"
+ c:identifier="gst_rtp_buffer_get_csrc_count">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="917">Get the CSRC count of the RTP packet in @buffer.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtpbuffer.h"
+ line="145"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="923">the CSRC count of @buffer.</doc>
+ <type name="guint8" c:type="guint8"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="rtp" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="919">the RTP packet</doc>
+ <type name="RTPBuffer" c:type="GstRTPBuffer*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_extension" c:identifier="gst_rtp_buffer_get_extension">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="657">Check if the extension bit is set on the RTP packet in @buffer.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtpbuffer.h"
+ line="123"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="663">TRUE if @buffer has the extension bit set.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="rtp" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="659">the RTP packet</doc>
+ <type name="RTPBuffer" c:type="GstRTPBuffer*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_extension_bytes"
+ c:identifier="gst_rtp_buffer_get_extension_bytes"
+ shadows="get_extension_data"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="722">Similar to gst_rtp_buffer_get_extension_data, but more suitable for language
+bindings usage. @bits will contain the extension 16 bits of custom data and
+the extension data (not including the extension header) is placed in a new
+#GBytes structure.
+
+If @rtp did not contain an extension, this function will return %NULL, with
+@bits unchanged. If there is an extension header but no extension data then
+an empty #GBytes will be returned.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtpbuffer.h"
+ line="133"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="736">A new #GBytes if an extension header was present
+and %NULL otherwise.</doc>
+ <type name="GLib.Bytes" c:type="GBytes*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="rtp" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="724">the RTP packet</doc>
+ <type name="RTPBuffer" c:type="GstRTPBuffer*"/>
+ </instance-parameter>
+ <parameter name="bits"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="725">location for header bits</doc>
+ <type name="guint16" c:type="guint16*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_extension_data"
+ c:identifier="gst_rtp_buffer_get_extension_data"
+ shadowed-by="get_extension_bytes"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="684">Get the extension data. @bits will contain the extension 16 bits of custom
+data. @data will point to the data in the extension and @wordlen will contain
+the length of @data in 32 bits words.
+
+If @buffer did not contain an extension, this function will return %FALSE
+with @bits, @data and @wordlen unchanged.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtpbuffer.h"
+ line="129"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="698">TRUE if @buffer had the extension bit set.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="rtp" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="686">the RTP packet</doc>
+ <type name="RTPBuffer" c:type="GstRTPBuffer*"/>
+ </instance-parameter>
+ <parameter name="bits"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="687">location for result bits</doc>
+ <type name="guint16" c:type="guint16*"/>
+ </parameter>
+ <parameter name="data"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="688">location for data</doc>
+ <array zero-terminated="0" c:type="gpointer*">
+ <type name="guint8"/>
+ </array>
+ </parameter>
+ <parameter name="wordlen"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="689">location for length of @data in 32 bits words</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_extension_onebyte_header"
+ c:identifier="gst_rtp_buffer_get_extension_onebyte_header">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="1405">Parses RFC 5285 style header extensions with a one byte header. It will
+return the nth extension with the requested id.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtpbuffer.h"
+ line="204"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="1417">TRUE if @buffer had the requested header extension</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="rtp" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="1407">the RTP packet</doc>
+ <type name="RTPBuffer" c:type="GstRTPBuffer*"/>
+ </instance-parameter>
+ <parameter name="id" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="1408">The ID of the header extension to be read (between 1 and 14).</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ <parameter name="nth" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="1409">Read the nth extension packet with the requested ID</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="data"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="1410">
+ location for data</doc>
+ <array length="3" zero-terminated="0" c:type="gpointer*">
+ <type name="guint8"/>
+ </array>
+ </parameter>
+ <parameter name="size"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="1412">the size of the data in bytes</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_extension_twobytes_header"
+ c:identifier="gst_rtp_buffer_get_extension_twobytes_header">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="1437">Parses RFC 5285 style header extensions with a two bytes header. It will
+return the nth extension with the requested id.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtpbuffer.h"
+ line="211"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="1450">TRUE if @buffer had the requested header extension</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="rtp" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="1439">the RTP packet</doc>
+ <type name="RTPBuffer" c:type="GstRTPBuffer*"/>
+ </instance-parameter>
+ <parameter name="appbits"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="1440">Application specific bits</doc>
+ <type name="guint8" c:type="guint8*"/>
+ </parameter>
+ <parameter name="id" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="1441">The ID of the header extension to be read (between 1 and 14).</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ <parameter name="nth" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="1442">Read the nth extension packet with the requested ID</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="data"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="1443">
+ location for data</doc>
+ <array length="4" zero-terminated="0" c:type="gpointer*">
+ <type name="guint8"/>
+ </array>
+ </parameter>
+ <parameter name="size"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="1445">the size of the data in bytes</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_header_len"
+ c:identifier="gst_rtp_buffer_get_header_len">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="561">Return the total length of the header in @buffer. This include the length of
+the fixed header, the CSRC list and the extension header.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtpbuffer.h"
+ line="105"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="568">The total length of the header in @buffer.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="rtp" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="563">the RTP packet</doc>
+ <type name="RTPBuffer" c:type="GstRTPBuffer*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_marker" c:identifier="gst_rtp_buffer_get_marker">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="972">Check if the marker bit is set on the RTP packet in @buffer.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtpbuffer.h"
+ line="154"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="978">TRUE if @buffer has the marker bit set.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="rtp" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="974">the RTP packet</doc>
+ <type name="RTPBuffer" c:type="GstRTPBuffer*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_packet_len"
+ c:identifier="gst_rtp_buffer_get_packet_len">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="547">Return the total length of the packet in @buffer.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtpbuffer.h"
+ line="102"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="553">The total length of the packet in @buffer.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="rtp" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="549">the RTP packet</doc>
+ <type name="RTPBuffer" c:type="GstRTPBuffer*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_padding" c:identifier="gst_rtp_buffer_get_padding">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="605">Check if the padding bit is set on the RTP packet in @buffer.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtpbuffer.h"
+ line="114"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="611">TRUE if @buffer has the padding bit set.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="rtp" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="607">the RTP packet</doc>
+ <type name="RTPBuffer" c:type="GstRTPBuffer*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_payload"
+ c:identifier="gst_rtp_buffer_get_payload"
+ shadowed-by="get_payload_bytes"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="1156">Get a pointer to the payload data in @buffer. This pointer is valid as long
+as a reference to @buffer is held.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtpbuffer.h"
+ line="187"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="1163">A pointer
+to the payload data in @buffer.</doc>
+ <array zero-terminated="0" c:type="gpointer">
+ <type name="guint8"/>
+ </array>
+ </return-value>
+ <parameters>
+ <instance-parameter name="rtp" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="1158">the RTP packet</doc>
+ <type name="RTPBuffer" c:type="GstRTPBuffer*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_payload_buffer"
+ c:identifier="gst_rtp_buffer_get_payload_buffer">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="1125">Create a buffer of the payload of the RTP packet in @buffer. This function
+will internally create a subbuffer of @buffer so that a memcpy can be
+avoided.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtpbuffer.h"
+ line="178"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="1133">A new buffer with the data of the payload.</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="rtp" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="1127">the RTP packet</doc>
+ <type name="RTPBuffer" c:type="GstRTPBuffer*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_payload_bytes"
+ c:identifier="gst_rtp_buffer_get_payload_bytes"
+ shadows="get_payload"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="1178">Similar to gst_rtp_buffer_get_payload, but more suitable for language
+bindings usage. The return value is a pointer to a #GBytes structure
+containing the payload data in @rtp.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtpbuffer.h"
+ line="190"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="1186">A new #GBytes containing the payload data in @rtp.</doc>
+ <type name="GLib.Bytes" c:type="GBytes*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="rtp" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="1180">the RTP packet</doc>
+ <type name="RTPBuffer" c:type="GstRTPBuffer*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_payload_len"
+ c:identifier="gst_rtp_buffer_get_payload_len">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="1141">Get the length of the payload of the RTP packet in @buffer.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtpbuffer.h"
+ line="184"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="1147">The length of the payload in @buffer.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="rtp" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="1143">the RTP packet</doc>
+ <type name="RTPBuffer" c:type="GstRTPBuffer*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_payload_subbuffer"
+ c:identifier="gst_rtp_buffer_get_payload_subbuffer">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="1083">Create a subbuffer of the payload of the RTP packet in @buffer. @offset bytes
+are skipped in the payload and the subbuffer will be of size @len.
+If @len is -1 the total payload starting from @offset is subbuffered.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtpbuffer.h"
+ line="181"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="1093">A new buffer with the specified data of the payload.</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="rtp" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="1085">the RTP packet</doc>
+ <type name="RTPBuffer" c:type="GstRTPBuffer*"/>
+ </instance-parameter>
+ <parameter name="offset" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="1086">the offset in the payload</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="len" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="1087">the length in the payload</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_payload_type"
+ c:identifier="gst_rtp_buffer_get_payload_type">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="999">Get the payload type of the RTP packet in @buffer.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtpbuffer.h"
+ line="160"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="1005">The payload type.</doc>
+ <type name="guint8" c:type="guint8"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="rtp" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="1001">the RTP packet</doc>
+ <type name="RTPBuffer" c:type="GstRTPBuffer*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_seq" c:identifier="gst_rtp_buffer_get_seq">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="1028">Get the sequence number of the RTP packet in @buffer.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtpbuffer.h"
+ line="166"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="1034">The sequence number in host order.</doc>
+ <type name="guint16" c:type="guint16"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="rtp" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="1030">the RTP packet</doc>
+ <type name="RTPBuffer" c:type="GstRTPBuffer*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_ssrc" c:identifier="gst_rtp_buffer_get_ssrc">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="890">Get the SSRC of the RTP packet in @buffer.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtpbuffer.h"
+ line="139"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="896">the SSRC of @buffer in host order.</doc>
+ <type name="guint32" c:type="guint32"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="rtp" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="892">the RTP packet</doc>
+ <type name="RTPBuffer" c:type="GstRTPBuffer*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_timestamp" c:identifier="gst_rtp_buffer_get_timestamp">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="1055">Get the timestamp of the RTP packet in @buffer.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtpbuffer.h"
+ line="172"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="1061">The timestamp in host order.</doc>
+ <type name="guint32" c:type="guint32"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="rtp" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="1057">the RTP packet</doc>
+ <type name="RTPBuffer" c:type="GstRTPBuffer*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_version" c:identifier="gst_rtp_buffer_get_version">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="576">Get the version number of the RTP packet in @buffer.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtpbuffer.h"
+ line="108"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="582">The version of @buffer.</doc>
+ <type name="guint8" c:type="guint8"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="rtp" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="578">the RTP packet</doc>
+ <type name="RTPBuffer" c:type="GstRTPBuffer*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="pad_to" c:identifier="gst_rtp_buffer_pad_to">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="632">Set the amount of padding in the RTP packet in @buffer to
+@len. If @len is 0, the padding is removed.
+
+NOTE: This function does not work correctly.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtpbuffer.h"
+ line="120"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="rtp" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="634">the RTP packet</doc>
+ <type name="RTPBuffer" c:type="GstRTPBuffer*"/>
+ </instance-parameter>
+ <parameter name="len" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="635">the new amount of padding</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_csrc" c:identifier="gst_rtp_buffer_set_csrc">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="952">Modify the CSRC at index @idx in @buffer to @csrc.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtpbuffer.h"
+ line="151"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="rtp" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="954">the RTP packet</doc>
+ <type name="RTPBuffer" c:type="GstRTPBuffer*"/>
+ </instance-parameter>
+ <parameter name="idx" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="955">the CSRC index to set</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ <parameter name="csrc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="956">the CSRC in host order to set at @idx</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_extension" c:identifier="gst_rtp_buffer_set_extension">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="671">Set the extension bit on the RTP packet in @buffer to @extension.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtpbuffer.h"
+ line="126"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="rtp" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="673">the RTP packet</doc>
+ <type name="RTPBuffer" c:type="GstRTPBuffer*"/>
+ </instance-parameter>
+ <parameter name="extension" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="674">the new extension</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_extension_data"
+ c:identifier="gst_rtp_buffer_set_extension_data">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="825">Set the extension bit of the rtp buffer and fill in the @bits and @length of the
+extension header. If the existing extension data is not large enough, it will
+be made larger.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtpbuffer.h"
+ line="136"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="836">True if done.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="rtp" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="827">the RTP packet</doc>
+ <type name="RTPBuffer" c:type="GstRTPBuffer*"/>
+ </instance-parameter>
+ <parameter name="bits" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="828">the bits specific for the extension</doc>
+ <type name="guint16" c:type="guint16"/>
+ </parameter>
+ <parameter name="length" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="829">the length that counts the number of 32-bit words in
+the extension, excluding the extension header ( therefore zero is a valid length)</doc>
+ <type name="guint16" c:type="guint16"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_marker" c:identifier="gst_rtp_buffer_set_marker">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="986">Set the marker bit on the RTP packet in @buffer to @marker.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtpbuffer.h"
+ line="157"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="rtp" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="988">the RTP packet</doc>
+ <type name="RTPBuffer" c:type="GstRTPBuffer*"/>
+ </instance-parameter>
+ <parameter name="marker" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="989">the new marker</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_packet_len"
+ c:identifier="gst_rtp_buffer_set_packet_len">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="518">Set the total @rtp size to @len. The data in the buffer will be made
+larger if needed. Any padding will be removed from the packet.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtpbuffer.h" line="99"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="rtp" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="520">the RTP packet</doc>
+ <type name="RTPBuffer" c:type="GstRTPBuffer*"/>
+ </instance-parameter>
+ <parameter name="len" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="521">the new packet length</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_padding" c:identifier="gst_rtp_buffer_set_padding">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="619">Set the padding bit on the RTP packet in @buffer to @padding.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtpbuffer.h"
+ line="117"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="rtp" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="621">the buffer</doc>
+ <type name="RTPBuffer" c:type="GstRTPBuffer*"/>
+ </instance-parameter>
+ <parameter name="padding" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="622">the new padding</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_payload_type"
+ c:identifier="gst_rtp_buffer_set_payload_type">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="1013">Set the payload type of the RTP packet in @buffer to @payload_type.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtpbuffer.h"
+ line="163"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="rtp" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="1015">the RTP packet</doc>
+ <type name="RTPBuffer" c:type="GstRTPBuffer*"/>
+ </instance-parameter>
+ <parameter name="payload_type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="1016">the new type</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_seq" c:identifier="gst_rtp_buffer_set_seq">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="1042">Set the sequence number of the RTP packet in @buffer to @seq.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtpbuffer.h"
+ line="169"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="rtp" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="1044">the RTP packet</doc>
+ <type name="RTPBuffer" c:type="GstRTPBuffer*"/>
+ </instance-parameter>
+ <parameter name="seq" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="1045">the new sequence number</doc>
+ <type name="guint16" c:type="guint16"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_ssrc" c:identifier="gst_rtp_buffer_set_ssrc">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="904">Set the SSRC on the RTP packet in @buffer to @ssrc.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtpbuffer.h"
+ line="142"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="rtp" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="906">the RTP packet</doc>
+ <type name="RTPBuffer" c:type="GstRTPBuffer*"/>
+ </instance-parameter>
+ <parameter name="ssrc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="907">the new SSRC</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_timestamp" c:identifier="gst_rtp_buffer_set_timestamp">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="1069">Set the timestamp of the RTP packet in @buffer to @timestamp.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtpbuffer.h"
+ line="175"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="rtp" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="1071">the RTP packet</doc>
+ <type name="RTPBuffer" c:type="GstRTPBuffer*"/>
+ </instance-parameter>
+ <parameter name="timestamp" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="1072">the new timestamp</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_version" c:identifier="gst_rtp_buffer_set_version">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="590">Set the version of the RTP packet in @buffer to @version.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtpbuffer.h"
+ line="111"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="rtp" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="592">the RTP packet</doc>
+ <type name="RTPBuffer" c:type="GstRTPBuffer*"/>
+ </instance-parameter>
+ <parameter name="version" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="593">the new version</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="unmap" c:identifier="gst_rtp_buffer_unmap">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="492">Unmap @rtp previously mapped with gst_rtp_buffer_map().</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtpbuffer.h" line="96"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="rtp" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="494">a #GstRTPBuffer</doc>
+ <type name="RTPBuffer" c:type="GstRTPBuffer*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <function name="allocate_data"
+ c:identifier="gst_rtp_buffer_allocate_data">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="85">Allocate enough data in @buffer to hold an RTP packet with @csrc_count CSRCs,
+a payload length of @payload_len and padding of @pad_len.
+@buffer must be writable and all previous memory in @buffer will be freed.
+If @pad_len is &gt;0, the padding bit will be set. All other RTP header fields
+will be set to 0/FALSE.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtpbuffer.h" line="68"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="87">a #GstBuffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="payload_len" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="88">the length of the payload</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="pad_len" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="89">the amount of padding</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ <parameter name="csrc_count" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="90">the number of CSRC entries</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="calc_header_len"
+ c:identifier="gst_rtp_buffer_calc_header_len">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="243">Calculate the header length of an RTP packet with @csrc_count CSRC entries.
+An RTP packet can have at most 15 CSRC entries.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtpbuffer.h" line="84"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="250">The length of an RTP header with @csrc_count CSRC entries.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <parameter name="csrc_count" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="245">the number of CSRC entries</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="calc_packet_len"
+ c:identifier="gst_rtp_buffer_calc_packet_len">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="260">Calculate the total length of an RTP packet with a payload size of @payload_len,
+a padding of @pad_len and a @csrc_count CSRC entries.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtpbuffer.h" line="87"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="269">The total length of an RTP header with given parameters.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <parameter name="payload_len" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="262">the length of the payload</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="pad_len" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="263">the amount of padding</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ <parameter name="csrc_count" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="264">the number of CSRC entries</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="calc_payload_len"
+ c:identifier="gst_rtp_buffer_calc_payload_len">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="281">Calculate the length of the payload of an RTP packet with size @packet_len,
+a padding of @pad_len and a @csrc_count CSRC entries.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtpbuffer.h" line="90"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="290">The length of the payload of an RTP packet with given parameters.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <parameter name="packet_len" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="283">the length of the total RTP packet</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="pad_len" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="284">the amount of padding</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ <parameter name="csrc_count" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="285">the number of CSRC entries</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="compare_seqnum"
+ c:identifier="gst_rtp_buffer_compare_seqnum">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="1231">Compare two sequence numbers, taking care of wraparounds. This function
+returns the difference between @seqnum1 and @seqnum2.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtpbuffer.h"
+ line="198"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="1239">a negative value if @seqnum1 is bigger than @seqnum2, 0 if they
+are equal or a positive value if @seqnum1 is smaller than @segnum2.</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <parameter name="seqnum1" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="1233">a sequence number</doc>
+ <type name="guint16" c:type="guint16"/>
+ </parameter>
+ <parameter name="seqnum2" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="1234">a sequence number</doc>
+ <type name="guint16" c:type="guint16"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="default_clock_rate"
+ c:identifier="gst_rtp_buffer_default_clock_rate">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="1204">Get the default clock-rate for the static payload type @payload_type.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtpbuffer.h"
+ line="195"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="1210">the default clock rate or -1 if the payload type is not static or
+the clock-rate is undefined.</doc>
+ <type name="guint32" c:type="guint32"/>
+ </return-value>
+ <parameters>
+ <parameter name="payload_type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="1206">the static payload type</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="ext_timestamp"
+ c:identifier="gst_rtp_buffer_ext_timestamp">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="1253">Update the @exttimestamp field with the extended timestamp of @timestamp
+For the first call of the method, @exttimestamp should point to a location
+with a value of -1.
+
+This function is able to handle both forward and backward timestamps taking
+into account:
+ - timestamp wraparound making sure that the returned value is properly increased.
+ - timestamp unwraparound making sure that the returned value is properly decreased.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtpbuffer.h"
+ line="201"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="1267">The extended timestamp of @timestamp or 0 if the result can't go anywhere backwards.</doc>
+ <type name="guint64" c:type="guint64"/>
+ </return-value>
+ <parameters>
+ <parameter name="exttimestamp"
+ direction="inout"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="1255">a previous extended timestamp</doc>
+ <type name="guint64" c:type="guint64*"/>
+ </parameter>
+ <parameter name="timestamp" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="1256">a new timestamp</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="get_extension_onebyte_header_from_bytes"
+ c:identifier="gst_rtp_buffer_get_extension_onebyte_header_from_bytes"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="1375">Similar to gst_rtp_buffer_get_extension_onebyte_header, but working
+on the #GBytes you get from gst_rtp_buffer_get_extension_bytes.
+Parses RFC 5285 style header extensions with a one byte header. It will
+return the nth extension with the requested id.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtpbuffer.h"
+ line="232"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="1390">TRUE if @bytes had the requested header extension</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="bytes" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="1377">#GBytes</doc>
+ <type name="GLib.Bytes" c:type="GBytes*"/>
+ </parameter>
+ <parameter name="bit_pattern" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="1378">The bit-pattern. Anything but 0xBEDE is rejected.</doc>
+ <type name="guint16" c:type="guint16"/>
+ </parameter>
+ <parameter name="id" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="1379">The ID of the header extension to be read (between 1 and 14).</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ <parameter name="nth" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="1380">Read the nth extension packet with the requested ID</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="data"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="1381">
+ location for data</doc>
+ <array length="5" zero-terminated="0" c:type="gpointer*">
+ <type name="guint8"/>
+ </array>
+ </parameter>
+ <parameter name="size"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="1383">the size of the data in bytes</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="map" c:identifier="gst_rtp_buffer_map">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="306">Map the contents of @buffer into @rtp.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtpbuffer.h" line="93"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="314">%TRUE if @buffer could be mapped.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="308">a #GstBuffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="309">#GstMapFlags</doc>
+ <type name="Gst.MapFlags" c:type="GstMapFlags"/>
+ </parameter>
+ <parameter name="rtp"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="310">a #GstRTPBuffer</doc>
+ <type name="RTPBuffer" c:type="GstRTPBuffer*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="new_allocate" c:identifier="gst_rtp_buffer_new_allocate">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="190">Allocate a new #GstBuffer with enough data to hold an RTP packet with
+@csrc_count CSRCs, a payload length of @payload_len and padding of @pad_len.
+All other RTP header fields will be set to 0/FALSE.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtpbuffer.h" line="78"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="200">A newly allocated buffer that can hold an RTP packet with given
+parameters.</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <parameter name="payload_len" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="192">the length of the payload</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="pad_len" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="193">the amount of padding</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ <parameter name="csrc_count" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="194">the number of CSRC entries</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="new_allocate_len"
+ c:identifier="gst_rtp_buffer_new_allocate_len">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="217">Create a new #GstBuffer that can hold an RTP packet that is exactly
+@packet_len long. The length of the payload depends on @pad_len and
+@csrc_count and can be calculated with gst_rtp_buffer_calc_payload_len().
+All RTP header fields will be set to 0/FALSE.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtpbuffer.h" line="81"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="228">A newly allocated buffer that can hold an RTP packet of @packet_len.</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <parameter name="packet_len" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="219">the total length of the packet</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="pad_len" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="220">the amount of padding</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ <parameter name="csrc_count" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="221">the number of CSRC entries</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="new_copy_data"
+ c:identifier="gst_rtp_buffer_new_copy_data">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="172">Create a new buffer and set the data to a copy of @len
+bytes of @data and the size to @len. The data will be freed when the buffer
+is freed.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtpbuffer.h" line="75"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="182">A newly allocated buffer with a copy of @data and of size @len.</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="174">data for the new
+ buffer</doc>
+ <array length="1" zero-terminated="0" c:type="gconstpointer">
+ <type name="guint8"/>
+ </array>
+ </parameter>
+ <parameter name="len" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="176">the length of data</doc>
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="new_take_data"
+ c:identifier="gst_rtp_buffer_new_take_data">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="151">Create a new buffer and set the data and size of the buffer to @data and @len
+respectively. @data will be freed when the buffer is unreffed, so this
+function transfers ownership of @data to the new buffer.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtpbuffer.h" line="72"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="161">A newly allocated buffer with @data and of size @len.</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <parameter name="data" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="153">
+ data for the new buffer</doc>
+ <array length="1" zero-terminated="0" c:type="gpointer">
+ <type name="guint8"/>
+ </array>
+ </parameter>
+ <parameter name="len" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="155">the length of data</doc>
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ </parameters>
+ </function>
+ </record>
+ <bitfield name="RTPBufferFlags"
+ version="1.10"
+ glib:type-name="GstRTPBufferFlags"
+ glib:get-type="gst_rtp_buffer_flags_get_type"
+ c:type="GstRTPBufferFlags">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.h"
+ line="239">Additional RTP buffer flags. These flags can potentially be used on any
+buffers carrying RTP packets.
+
+Note that these are only valid for #GstCaps of type: application/x-rtp (x-rtcp).
+They can conflict with other extended buffer flags.</doc>
+ <member name="retransmission"
+ value="1048576"
+ c:identifier="GST_RTP_BUFFER_FLAG_RETRANSMISSION"
+ glib:nick="retransmission">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.h"
+ line="241">The #GstBuffer was once wrapped
+ in a retransmitted packet as specified by RFC 4588.</doc>
+ </member>
+ <member name="redundant"
+ value="2097152"
+ c:identifier="GST_RTP_BUFFER_FLAG_REDUNDANT"
+ glib:nick="redundant">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.h"
+ line="243">The packet represents redundant RTP packet.
+ The flag is used in gstrtpstorage to be able to hold the packetback
+ and use it only for recovery from packet loss.
+ Since: 1.14</doc>
+ </member>
+ <member name="last"
+ value="268435456"
+ c:identifier="GST_RTP_BUFFER_FLAG_LAST"
+ glib:nick="last">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.h"
+ line="247">Offset to define more flags.</doc>
+ </member>
+ </bitfield>
+ <bitfield name="RTPBufferMapFlags"
+ version="1.6.1"
+ glib:type-name="GstRTPBufferMapFlags"
+ glib:get-type="gst_rtp_buffer_map_flags_get_type"
+ c:type="GstRTPBufferMapFlags">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.h"
+ line="263">Additional mapping flags for gst_rtp_buffer_map().</doc>
+ <member name="skip_padding"
+ value="65536"
+ c:identifier="GST_RTP_BUFFER_MAP_FLAG_SKIP_PADDING"
+ glib:nick="skip-padding">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.h"
+ line="265">Skip mapping and validation of RTP
+ padding and RTP pad count when present. Useful for buffers where
+ the padding may be encrypted.</doc>
+ </member>
+ <member name="last"
+ value="16777216"
+ c:identifier="GST_RTP_BUFFER_MAP_FLAG_LAST"
+ glib:nick="last">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.h"
+ line="268">Offset to define more flags</doc>
+ </member>
+ </bitfield>
+ <enumeration name="RTPPayload"
+ glib:type-name="GstRTPPayload"
+ glib:get-type="gst_rtp_payload_get_type"
+ c:type="GstRTPPayload">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtppayloads.h"
+ line="31">Standard predefined fixed payload types.
+
+The official list is at:
+http://www.iana.org/assignments/rtp-parameters
+
+Audio:
+reserved: 19
+unassigned: 20-23,
+
+Video:
+unassigned: 24, 27, 29, 30, 35-71, 77-95
+Reserved for RTCP conflict avoidance: 72-76</doc>
+ <member name="pcmu"
+ value="0"
+ c:identifier="GST_RTP_PAYLOAD_PCMU"
+ glib:nick="pcmu">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtppayloads.h"
+ line="33">ITU-T G.711. mu-law audio (RFC 3551)</doc>
+ </member>
+ <member name="1016"
+ value="1"
+ c:identifier="GST_RTP_PAYLOAD_1016"
+ glib:nick="1016">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtppayloads.h"
+ line="34">RFC 3551 says reserved</doc>
+ </member>
+ <member name="g721"
+ value="2"
+ c:identifier="GST_RTP_PAYLOAD_G721"
+ glib:nick="g721">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtppayloads.h"
+ line="35">RFC 3551 says reserved</doc>
+ </member>
+ <member name="gsm"
+ value="3"
+ c:identifier="GST_RTP_PAYLOAD_GSM"
+ glib:nick="gsm">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtppayloads.h"
+ line="36">GSM audio</doc>
+ </member>
+ <member name="g723"
+ value="4"
+ c:identifier="GST_RTP_PAYLOAD_G723"
+ glib:nick="g723">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtppayloads.h"
+ line="37">ITU G.723.1 audio</doc>
+ </member>
+ <member name="dvi4_8000"
+ value="5"
+ c:identifier="GST_RTP_PAYLOAD_DVI4_8000"
+ glib:nick="dvi4-8000">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtppayloads.h"
+ line="38">IMA ADPCM wave type (RFC 3551)</doc>
+ </member>
+ <member name="dvi4_16000"
+ value="6"
+ c:identifier="GST_RTP_PAYLOAD_DVI4_16000"
+ glib:nick="dvi4-16000">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtppayloads.h"
+ line="39">IMA ADPCM wave type (RFC 3551)</doc>
+ </member>
+ <member name="lpc"
+ value="7"
+ c:identifier="GST_RTP_PAYLOAD_LPC"
+ glib:nick="lpc">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtppayloads.h"
+ line="40">experimental linear predictive encoding</doc>
+ </member>
+ <member name="pcma"
+ value="8"
+ c:identifier="GST_RTP_PAYLOAD_PCMA"
+ glib:nick="pcma">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtppayloads.h"
+ line="41">ITU-T G.711 A-law audio (RFC 3551)</doc>
+ </member>
+ <member name="g722"
+ value="9"
+ c:identifier="GST_RTP_PAYLOAD_G722"
+ glib:nick="g722">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtppayloads.h"
+ line="42">ITU-T G.722 (RFC 3551)</doc>
+ </member>
+ <member name="l16_stereo"
+ value="10"
+ c:identifier="GST_RTP_PAYLOAD_L16_STEREO"
+ glib:nick="l16-stereo">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtppayloads.h"
+ line="43">stereo PCM</doc>
+ </member>
+ <member name="l16_mono"
+ value="11"
+ c:identifier="GST_RTP_PAYLOAD_L16_MONO"
+ glib:nick="l16-mono">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtppayloads.h"
+ line="44">mono PCM</doc>
+ </member>
+ <member name="qcelp"
+ value="12"
+ c:identifier="GST_RTP_PAYLOAD_QCELP"
+ glib:nick="qcelp">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtppayloads.h"
+ line="45">EIA &amp; TIA standard IS-733</doc>
+ </member>
+ <member name="cn"
+ value="13"
+ c:identifier="GST_RTP_PAYLOAD_CN"
+ glib:nick="cn">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtppayloads.h"
+ line="46">Comfort Noise (RFC 3389)</doc>
+ </member>
+ <member name="mpa"
+ value="14"
+ c:identifier="GST_RTP_PAYLOAD_MPA"
+ glib:nick="mpa">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtppayloads.h"
+ line="47">Audio MPEG 1-3.</doc>
+ </member>
+ <member name="g728"
+ value="15"
+ c:identifier="GST_RTP_PAYLOAD_G728"
+ glib:nick="g728">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtppayloads.h"
+ line="48">ITU-T G.728 Speech coder (RFC 3551)</doc>
+ </member>
+ <member name="dvi4_11025"
+ value="16"
+ c:identifier="GST_RTP_PAYLOAD_DVI4_11025"
+ glib:nick="dvi4-11025">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtppayloads.h"
+ line="49">IMA ADPCM wave type (RFC 3551)</doc>
+ </member>
+ <member name="dvi4_22050"
+ value="17"
+ c:identifier="GST_RTP_PAYLOAD_DVI4_22050"
+ glib:nick="dvi4-22050">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtppayloads.h"
+ line="50">IMA ADPCM wave type (RFC 3551)</doc>
+ </member>
+ <member name="g729"
+ value="18"
+ c:identifier="GST_RTP_PAYLOAD_G729"
+ glib:nick="g729">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtppayloads.h"
+ line="51">ITU-T G.729 Speech coder (RFC 3551)</doc>
+ </member>
+ <member name="cellb"
+ value="25"
+ c:identifier="GST_RTP_PAYLOAD_CELLB"
+ glib:nick="cellb">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtppayloads.h"
+ line="52">See RFC 2029</doc>
+ </member>
+ <member name="jpeg"
+ value="26"
+ c:identifier="GST_RTP_PAYLOAD_JPEG"
+ glib:nick="jpeg">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtppayloads.h"
+ line="53">ISO Standards 10918-1 and 10918-2 (RFC 2435)</doc>
+ </member>
+ <member name="nv"
+ value="28"
+ c:identifier="GST_RTP_PAYLOAD_NV"
+ glib:nick="nv">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtppayloads.h"
+ line="54">nv encoding by Ron Frederick</doc>
+ </member>
+ <member name="h261"
+ value="31"
+ c:identifier="GST_RTP_PAYLOAD_H261"
+ glib:nick="h261">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtppayloads.h"
+ line="55">ITU-T Recommendation H.261 (RFC 2032)</doc>
+ </member>
+ <member name="mpv"
+ value="32"
+ c:identifier="GST_RTP_PAYLOAD_MPV"
+ glib:nick="mpv">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtppayloads.h"
+ line="56">Video MPEG 1 &amp; 2 (RFC 2250)</doc>
+ </member>
+ <member name="mp2t"
+ value="33"
+ c:identifier="GST_RTP_PAYLOAD_MP2T"
+ glib:nick="mp2t">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtppayloads.h"
+ line="57">MPEG-2 transport stream (RFC 2250)</doc>
+ </member>
+ <member name="h263"
+ value="34"
+ c:identifier="GST_RTP_PAYLOAD_H263"
+ glib:nick="h263">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtppayloads.h"
+ line="58">Video H263 (RFC 2190)</doc>
+ </member>
+ </enumeration>
+ <record name="RTPPayloadInfo" c:type="GstRTPPayloadInfo">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtppayloads.h"
+ line="164">Structure holding default payload type information.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtppayloads.h"
+ line="188"/>
+ <field name="payload_type" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtppayloads.h"
+ line="166">payload type, -1 means dynamic</doc>
+ <type name="guint8" c:type="guint8"/>
+ </field>
+ <field name="media" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtppayloads.h"
+ line="167">the media type(s), usually "audio", "video", "application", "text",
+"message".</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </field>
+ <field name="encoding_name" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtppayloads.h"
+ line="169">the encoding name of @pt</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </field>
+ <field name="clock_rate" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtppayloads.h"
+ line="170">default clock rate, 0 = unknown/variable</doc>
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="encoding_parameters" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtppayloads.h"
+ line="171">encoding parameters. For audio this is the number of
+channels. NULL = not applicable.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </field>
+ <field name="bitrate" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtppayloads.h"
+ line="173">the bitrate of the media. 0 = unknown/variable.</doc>
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <function name="for_name" c:identifier="gst_rtp_payload_info_for_name">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtppayloads.c"
+ line="205">Get the #GstRTPPayloadInfo for @media and @encoding_name. This function is
+mostly used to get the default clock-rate and bandwidth for dynamic payload
+types specified with @media and @encoding name.
+
+The search for @encoding_name will be performed in a case insensitive way.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtppayloads.h"
+ line="194"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtppayloads.c"
+ line="216">a #GstRTPPayloadInfo or NULL when no info could be found.</doc>
+ <type name="RTPPayloadInfo" c:type="const GstRTPPayloadInfo*"/>
+ </return-value>
+ <parameters>
+ <parameter name="media" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtppayloads.c"
+ line="207">the media to find</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="encoding_name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtppayloads.c"
+ line="208">the encoding name to find</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="for_pt" c:identifier="gst_rtp_payload_info_for_pt">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtppayloads.c"
+ line="180">Get the #GstRTPPayloadInfo for @payload_type. This function is
+mostly used to get the default clock-rate and bandwidth for static payload
+types specified with @payload_type.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtppayloads.h"
+ line="191"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtppayloads.c"
+ line="188">a #GstRTPPayloadInfo or NULL when no info could be found.</doc>
+ <type name="RTPPayloadInfo" c:type="const GstRTPPayloadInfo*"/>
+ </return-value>
+ <parameters>
+ <parameter name="payload_type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtppayloads.c"
+ line="182">the payload_type to find</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ </parameters>
+ </function>
+ </record>
+ <enumeration name="RTPProfile"
+ version="1.6"
+ glib:type-name="GstRTPProfile"
+ glib:get-type="gst_rtp_profile_get_type"
+ c:type="GstRTPProfile">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpdefs.h"
+ line="38">The transfer profile to use.</doc>
+ <member name="unknown"
+ value="0"
+ c:identifier="GST_RTP_PROFILE_UNKNOWN"
+ glib:nick="unknown">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpdefs.h"
+ line="40">invalid profile</doc>
+ </member>
+ <member name="avp"
+ value="1"
+ c:identifier="GST_RTP_PROFILE_AVP"
+ glib:nick="avp">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpdefs.h"
+ line="41">the Audio/Visual profile (RFC 3551)</doc>
+ </member>
+ <member name="savp"
+ value="2"
+ c:identifier="GST_RTP_PROFILE_SAVP"
+ glib:nick="savp">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpdefs.h"
+ line="42">the secure Audio/Visual profile (RFC 3711)</doc>
+ </member>
+ <member name="avpf"
+ value="3"
+ c:identifier="GST_RTP_PROFILE_AVPF"
+ glib:nick="avpf">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpdefs.h"
+ line="43">the Audio/Visual profile with feedback (RFC 4585)</doc>
+ </member>
+ <member name="savpf"
+ value="4"
+ c:identifier="GST_RTP_PROFILE_SAVPF"
+ glib:nick="savpf">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpdefs.h"
+ line="44">the secure Audio/Visual profile with feedback (RFC 5124)</doc>
+ </member>
+ </enumeration>
+ <record name="RTPSourceMeta" c:type="GstRTPSourceMeta" version="1.16">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpmeta.h"
+ line="34">Meta describing the source(s) of the buffer.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtpmeta.h" line="54"/>
+ <field name="meta" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpmeta.h"
+ line="36">parent #GstMeta</doc>
+ <type name="Gst.Meta" c:type="GstMeta"/>
+ </field>
+ <field name="ssrc" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpmeta.h"
+ line="37">the SSRC</doc>
+ <type name="guint32" c:type="guint32"/>
+ </field>
+ <field name="ssrc_valid" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpmeta.h"
+ line="38">whether @ssrc is set and valid</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="csrc" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpmeta.h"
+ line="39">pointer to the CSRCs</doc>
+ <array zero-terminated="0" fixed-size="15">
+ <type name="guint32" c:type="guint32"/>
+ </array>
+ </field>
+ <field name="csrc_count" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpmeta.h"
+ line="40">number of elements in @csrc</doc>
+ <type name="guint" c:type="guint"/>
+ </field>
+ <method name="append_csrc"
+ c:identifier="gst_rtp_source_meta_append_csrc"
+ version="1.16">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpmeta.c"
+ line="161">Appends @csrc to the list of contributing sources in @meta.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtpmeta.h" line="72"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpmeta.c"
+ line="169">%TRUE if all elements in @csrc was added, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="meta" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpmeta.c"
+ line="163">a #GstRTPSourceMeta</doc>
+ <type name="RTPSourceMeta" c:type="GstRTPSourceMeta*"/>
+ </instance-parameter>
+ <parameter name="csrc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpmeta.c"
+ line="164">the csrcs to append</doc>
+ <type name="guint32" c:type="const guint32*"/>
+ </parameter>
+ <parameter name="csrc_count" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpmeta.c"
+ line="165">number of elements in @csrc</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_source_count"
+ c:identifier="gst_rtp_source_meta_get_source_count"
+ version="1.16">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpmeta.c"
+ line="117">Count the total number of RTP sources found in @meta, both SSRC and CSRC.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtpmeta.h" line="66"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpmeta.c"
+ line="123">The number of RTP sources</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="meta" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpmeta.c"
+ line="119">a #GstRTPSourceMeta</doc>
+ <type name="RTPSourceMeta" c:type="const GstRTPSourceMeta*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="set_ssrc"
+ c:identifier="gst_rtp_source_meta_set_ssrc"
+ version="1.16">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpmeta.c"
+ line="137">Sets @ssrc in @meta. If @ssrc is %NULL the ssrc of @meta will be unset.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtpmeta.h" line="69"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpmeta.c"
+ line="144">%TRUE on success, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="meta" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpmeta.c"
+ line="139">a #GstRTPSourceMeta</doc>
+ <type name="RTPSourceMeta" c:type="GstRTPSourceMeta*"/>
+ </instance-parameter>
+ <parameter name="ssrc"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpmeta.c"
+ line="140">pointer to the SSRC</doc>
+ <type name="guint32" c:type="guint32*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <function name="get_info" c:identifier="gst_rtp_source_meta_get_info">
+ <source-position filename="gst-libs/gst/rtp/gstrtpmeta.h" line="75"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.MetaInfo" c:type="const GstMetaInfo*"/>
+ </return-value>
+ </function>
+ </record>
+ <function-macro name="RTP_BASE_AUDIO_PAYLOAD"
+ c:identifier="GST_RTP_BASE_AUDIO_PAYLOAD"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/rtp/gstrtpbaseaudiopayload.h"
+ line="35"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="RTP_BASE_AUDIO_PAYLOAD_CAST"
+ c:identifier="GST_RTP_BASE_AUDIO_PAYLOAD_CAST"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/rtp/gstrtpbaseaudiopayload.h"
+ line="45"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="RTP_BASE_AUDIO_PAYLOAD_CLASS"
+ c:identifier="GST_RTP_BASE_AUDIO_PAYLOAD_CLASS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/rtp/gstrtpbaseaudiopayload.h"
+ line="38"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="RTP_BASE_DEPAYLOAD"
+ c:identifier="GST_RTP_BASE_DEPAYLOAD"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/rtp/gstrtpbasedepayload.h"
+ line="29"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="RTP_BASE_DEPAYLOAD_CAST"
+ c:identifier="GST_RTP_BASE_DEPAYLOAD_CAST"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/rtp/gstrtpbasedepayload.h"
+ line="39"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="RTP_BASE_DEPAYLOAD_CLASS"
+ c:identifier="GST_RTP_BASE_DEPAYLOAD_CLASS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/rtp/gstrtpbasedepayload.h"
+ line="31"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="RTP_BASE_DEPAYLOAD_GET_CLASS"
+ c:identifier="GST_RTP_BASE_DEPAYLOAD_GET_CLASS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/rtp/gstrtpbasedepayload.h"
+ line="33"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="RTP_BASE_DEPAYLOAD_SINKPAD"
+ c:identifier="GST_RTP_BASE_DEPAYLOAD_SINKPAD"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/rtp/gstrtpbasedepayload.h"
+ line="41"/>
+ <parameters>
+ <parameter name="depayload">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="RTP_BASE_DEPAYLOAD_SRCPAD"
+ c:identifier="GST_RTP_BASE_DEPAYLOAD_SRCPAD"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/rtp/gstrtpbasedepayload.h"
+ line="42"/>
+ <parameters>
+ <parameter name="depayload">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="RTP_BASE_PAYLOAD"
+ c:identifier="GST_RTP_BASE_PAYLOAD"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/rtp/gstrtpbasepayload.h"
+ line="29"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="RTP_BASE_PAYLOAD_CAST"
+ c:identifier="GST_RTP_BASE_PAYLOAD_CAST"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/rtp/gstrtpbasepayload.h"
+ line="39"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="RTP_BASE_PAYLOAD_CLASS"
+ c:identifier="GST_RTP_BASE_PAYLOAD_CLASS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/rtp/gstrtpbasepayload.h"
+ line="31"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="RTP_BASE_PAYLOAD_GET_CLASS"
+ c:identifier="GST_RTP_BASE_PAYLOAD_GET_CLASS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/rtp/gstrtpbasepayload.h"
+ line="33"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="RTP_BASE_PAYLOAD_MTU"
+ c:identifier="GST_RTP_BASE_PAYLOAD_MTU"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbasepayload.h"
+ line="69">Get access to the configured MTU of @payload.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtpbasepayload.h"
+ line="74"/>
+ <parameters>
+ <parameter name="payload">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbasepayload.h"
+ line="71">a #GstRTPBasePayload</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="RTP_BASE_PAYLOAD_PT"
+ c:identifier="GST_RTP_BASE_PAYLOAD_PT"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbasepayload.h"
+ line="62">Get access to the configured payload type of @payload.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtpbasepayload.h"
+ line="67"/>
+ <parameters>
+ <parameter name="payload">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbasepayload.h"
+ line="64">a #GstRTPBasePayload</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="RTP_BASE_PAYLOAD_SINKPAD"
+ c:identifier="GST_RTP_BASE_PAYLOAD_SINKPAD"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbasepayload.h"
+ line="47">Get access to the sinkpad of @payload.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtpbasepayload.h"
+ line="52"/>
+ <parameters>
+ <parameter name="payload">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbasepayload.h"
+ line="49">a #GstRTPBasePayload</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="RTP_BASE_PAYLOAD_SRCPAD"
+ c:identifier="GST_RTP_BASE_PAYLOAD_SRCPAD"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbasepayload.h"
+ line="54">Get access to the srcpad of @payload.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtpbasepayload.h"
+ line="59"/>
+ <parameters>
+ <parameter name="payload">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbasepayload.h"
+ line="56">a #GstRTPBasePayload</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <constant name="RTP_HDREXT_BASE"
+ value="urn:ietf:params:rtp-hdrext:"
+ c:type="GST_RTP_HDREXT_BASE">
+ <source-position filename="gst-libs/gst/rtp/gstrtphdrext.h" line="30"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="RTP_HDREXT_NTP_56"
+ value="ntp-56"
+ c:type="GST_RTP_HDREXT_NTP_56">
+ <source-position filename="gst-libs/gst/rtp/gstrtphdrext.h" line="43"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="RTP_HDREXT_NTP_56_SIZE"
+ value="7"
+ c:type="GST_RTP_HDREXT_NTP_56_SIZE">
+ <source-position filename="gst-libs/gst/rtp/gstrtphdrext.h" line="45"/>
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RTP_HDREXT_NTP_64"
+ value="ntp-64"
+ c:type="GST_RTP_HDREXT_NTP_64">
+ <source-position filename="gst-libs/gst/rtp/gstrtphdrext.h" line="33"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="RTP_HDREXT_NTP_64_SIZE"
+ value="8"
+ c:type="GST_RTP_HDREXT_NTP_64_SIZE">
+ <source-position filename="gst-libs/gst/rtp/gstrtphdrext.h" line="35"/>
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RTP_PAYLOAD_1016_STRING"
+ value="1"
+ c:type="GST_RTP_PAYLOAD_1016_STRING">
+ <source-position filename="gst-libs/gst/rtp/gstrtppayloads.h"
+ line="124"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="RTP_PAYLOAD_CELLB_STRING"
+ value="25"
+ c:type="GST_RTP_PAYLOAD_CELLB_STRING">
+ <source-position filename="gst-libs/gst/rtp/gstrtppayloads.h"
+ line="143"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="RTP_PAYLOAD_CN_STRING"
+ value="13"
+ c:type="GST_RTP_PAYLOAD_CN_STRING">
+ <source-position filename="gst-libs/gst/rtp/gstrtppayloads.h"
+ line="136"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="RTP_PAYLOAD_DVI4_11025_STRING"
+ value="16"
+ c:type="GST_RTP_PAYLOAD_DVI4_11025_STRING">
+ <source-position filename="gst-libs/gst/rtp/gstrtppayloads.h"
+ line="139"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="RTP_PAYLOAD_DVI4_16000_STRING"
+ value="6"
+ c:type="GST_RTP_PAYLOAD_DVI4_16000_STRING">
+ <source-position filename="gst-libs/gst/rtp/gstrtppayloads.h"
+ line="129"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="RTP_PAYLOAD_DVI4_22050_STRING"
+ value="17"
+ c:type="GST_RTP_PAYLOAD_DVI4_22050_STRING">
+ <source-position filename="gst-libs/gst/rtp/gstrtppayloads.h"
+ line="140"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="RTP_PAYLOAD_DVI4_8000_STRING"
+ value="5"
+ c:type="GST_RTP_PAYLOAD_DVI4_8000_STRING">
+ <source-position filename="gst-libs/gst/rtp/gstrtppayloads.h"
+ line="128"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="RTP_PAYLOAD_DYNAMIC_STRING"
+ value="[96, 127]"
+ c:type="GST_RTP_PAYLOAD_DYNAMIC_STRING">
+ <source-position filename="gst-libs/gst/rtp/gstrtppayloads.h"
+ line="152"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="RTP_PAYLOAD_G721_STRING"
+ value="2"
+ c:type="GST_RTP_PAYLOAD_G721_STRING">
+ <source-position filename="gst-libs/gst/rtp/gstrtppayloads.h"
+ line="125"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="RTP_PAYLOAD_G722_STRING"
+ value="9"
+ c:type="GST_RTP_PAYLOAD_G722_STRING">
+ <source-position filename="gst-libs/gst/rtp/gstrtppayloads.h"
+ line="132"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="RTP_PAYLOAD_G723_53"
+ value="17"
+ c:type="GST_RTP_PAYLOAD_G723_53">
+ <source-position filename="gst-libs/gst/rtp/gstrtppayloads.h"
+ line="111"/>
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RTP_PAYLOAD_G723_53_STRING"
+ value="17"
+ c:type="GST_RTP_PAYLOAD_G723_53_STRING">
+ <source-position filename="gst-libs/gst/rtp/gstrtppayloads.h"
+ line="116"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="RTP_PAYLOAD_G723_63"
+ value="16"
+ c:type="GST_RTP_PAYLOAD_G723_63">
+ <source-position filename="gst-libs/gst/rtp/gstrtppayloads.h"
+ line="110"/>
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RTP_PAYLOAD_G723_63_STRING"
+ value="16"
+ c:type="GST_RTP_PAYLOAD_G723_63_STRING">
+ <source-position filename="gst-libs/gst/rtp/gstrtppayloads.h"
+ line="115"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="RTP_PAYLOAD_G723_STRING"
+ value="4"
+ c:type="GST_RTP_PAYLOAD_G723_STRING">
+ <source-position filename="gst-libs/gst/rtp/gstrtppayloads.h"
+ line="127"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="RTP_PAYLOAD_G728_STRING"
+ value="15"
+ c:type="GST_RTP_PAYLOAD_G728_STRING">
+ <source-position filename="gst-libs/gst/rtp/gstrtppayloads.h"
+ line="138"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="RTP_PAYLOAD_G729_STRING"
+ value="18"
+ c:type="GST_RTP_PAYLOAD_G729_STRING">
+ <source-position filename="gst-libs/gst/rtp/gstrtppayloads.h"
+ line="141"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="RTP_PAYLOAD_GSM_STRING"
+ value="3"
+ c:type="GST_RTP_PAYLOAD_GSM_STRING">
+ <source-position filename="gst-libs/gst/rtp/gstrtppayloads.h"
+ line="126"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="RTP_PAYLOAD_H261_STRING"
+ value="31"
+ c:type="GST_RTP_PAYLOAD_H261_STRING">
+ <source-position filename="gst-libs/gst/rtp/gstrtppayloads.h"
+ line="147"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="RTP_PAYLOAD_H263_STRING"
+ value="34"
+ c:type="GST_RTP_PAYLOAD_H263_STRING">
+ <source-position filename="gst-libs/gst/rtp/gstrtppayloads.h"
+ line="150"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <function-macro name="RTP_PAYLOAD_IS_DYNAMIC"
+ c:identifier="GST_RTP_PAYLOAD_IS_DYNAMIC"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtppayloads.h"
+ line="154">Check if @pt is a dynamic payload type.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtppayloads.h"
+ line="160"/>
+ <parameters>
+ <parameter name="pt">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtppayloads.h"
+ line="156">a payload type</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <constant name="RTP_PAYLOAD_JPEG_STRING"
+ value="26"
+ c:type="GST_RTP_PAYLOAD_JPEG_STRING">
+ <source-position filename="gst-libs/gst/rtp/gstrtppayloads.h"
+ line="144"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="RTP_PAYLOAD_L16_MONO_STRING"
+ value="11"
+ c:type="GST_RTP_PAYLOAD_L16_MONO_STRING">
+ <source-position filename="gst-libs/gst/rtp/gstrtppayloads.h"
+ line="134"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="RTP_PAYLOAD_L16_STEREO_STRING"
+ value="10"
+ c:type="GST_RTP_PAYLOAD_L16_STEREO_STRING">
+ <source-position filename="gst-libs/gst/rtp/gstrtppayloads.h"
+ line="133"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="RTP_PAYLOAD_LPC_STRING"
+ value="7"
+ c:type="GST_RTP_PAYLOAD_LPC_STRING">
+ <source-position filename="gst-libs/gst/rtp/gstrtppayloads.h"
+ line="130"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="RTP_PAYLOAD_MP2T_STRING"
+ value="33"
+ c:type="GST_RTP_PAYLOAD_MP2T_STRING">
+ <source-position filename="gst-libs/gst/rtp/gstrtppayloads.h"
+ line="149"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="RTP_PAYLOAD_MPA_STRING"
+ value="14"
+ c:type="GST_RTP_PAYLOAD_MPA_STRING">
+ <source-position filename="gst-libs/gst/rtp/gstrtppayloads.h"
+ line="137"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="RTP_PAYLOAD_MPV_STRING"
+ value="32"
+ c:type="GST_RTP_PAYLOAD_MPV_STRING">
+ <source-position filename="gst-libs/gst/rtp/gstrtppayloads.h"
+ line="148"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="RTP_PAYLOAD_NV_STRING"
+ value="28"
+ c:type="GST_RTP_PAYLOAD_NV_STRING">
+ <source-position filename="gst-libs/gst/rtp/gstrtppayloads.h"
+ line="145"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="RTP_PAYLOAD_PCMA_STRING"
+ value="8"
+ c:type="GST_RTP_PAYLOAD_PCMA_STRING">
+ <source-position filename="gst-libs/gst/rtp/gstrtppayloads.h"
+ line="131"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="RTP_PAYLOAD_PCMU_STRING"
+ value="0"
+ c:type="GST_RTP_PAYLOAD_PCMU_STRING">
+ <source-position filename="gst-libs/gst/rtp/gstrtppayloads.h"
+ line="123"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="RTP_PAYLOAD_QCELP_STRING"
+ value="12"
+ c:type="GST_RTP_PAYLOAD_QCELP_STRING">
+ <source-position filename="gst-libs/gst/rtp/gstrtppayloads.h"
+ line="135"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="RTP_PAYLOAD_TS41" value="19" c:type="GST_RTP_PAYLOAD_TS41">
+ <source-position filename="gst-libs/gst/rtp/gstrtppayloads.h"
+ line="113"/>
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RTP_PAYLOAD_TS41_STRING"
+ value="19"
+ c:type="GST_RTP_PAYLOAD_TS41_STRING">
+ <source-position filename="gst-libs/gst/rtp/gstrtppayloads.h"
+ line="118"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="RTP_PAYLOAD_TS48" value="18" c:type="GST_RTP_PAYLOAD_TS48">
+ <source-position filename="gst-libs/gst/rtp/gstrtppayloads.h"
+ line="112"/>
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RTP_PAYLOAD_TS48_STRING"
+ value="18"
+ c:type="GST_RTP_PAYLOAD_TS48_STRING">
+ <source-position filename="gst-libs/gst/rtp/gstrtppayloads.h"
+ line="117"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="RTP_SOURCE_META_MAX_CSRC_COUNT"
+ value="15"
+ c:type="GST_RTP_SOURCE_META_MAX_CSRC_COUNT">
+ <source-position filename="gst-libs/gst/rtp/gstrtpmeta.h" line="32"/>
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="RTP_VERSION" value="2" c:type="GST_RTP_VERSION">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.h"
+ line="32">The supported RTP version 2.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtpbuffer.h" line="37"/>
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <function name="buffer_add_rtp_source_meta"
+ c:identifier="gst_buffer_add_rtp_source_meta"
+ version="1.16">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpmeta.c"
+ line="34">Attaches RTP source information to @buffer.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtpmeta.h" line="60"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpmeta.c"
+ line="43">the #GstRTPSourceMeta on @buffer.</doc>
+ <type name="RTPSourceMeta" c:type="GstRTPSourceMeta*"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpmeta.c"
+ line="36">a #GstBuffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="ssrc"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpmeta.c"
+ line="37">pointer to the SSRC</doc>
+ <type name="guint32" c:type="const guint32*"/>
+ </parameter>
+ <parameter name="csrc"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpmeta.c"
+ line="38">pointer to the CSRCs</doc>
+ <type name="guint32" c:type="const guint32*"/>
+ </parameter>
+ <parameter name="csrc_count" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpmeta.c"
+ line="39">number of elements in @csrc</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="buffer_get_rtp_source_meta"
+ c:identifier="gst_buffer_get_rtp_source_meta"
+ version="1.16">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpmeta.c"
+ line="78">Find the #GstRTPSourceMeta on @buffer.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtpmeta.h" line="63"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpmeta.c"
+ line="84">the #GstRTPSourceMeta or %NULL when there
+is no such metadata on @buffer.</doc>
+ <type name="RTPSourceMeta" c:type="GstRTPSourceMeta*"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpmeta.c"
+ line="80">a #GstBuffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <docsection name="gstrtpdefs">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpdefs.h"
+ line="30">Provides common defines for the RTP library.</doc>
+ </docsection>
+ <docsection name="gstrtppayloads">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtppayloads.c"
+ line="23">The GstRTPPayloads helper functions makes it easy to deal with static and dynamic
+payloads. Its main purpose is to retrieve properties such as the default clock-rate
+and get session bandwidth information.</doc>
+ </docsection>
+ <function name="rtcp_buffer_map"
+ c:identifier="gst_rtcp_buffer_map"
+ moved-to="RTCPBuffer.map">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="297">Open @buffer for reading or writing, depending on @flags. The resulting RTCP
+buffer state is stored in @rtcp.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h" line="283"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="299">a buffer with an RTCP packet</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="300">flags for the mapping</doc>
+ <type name="Gst.MapFlags" c:type="GstMapFlags"/>
+ </parameter>
+ <parameter name="rtcp" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="301">resulting #GstRTCPBuffer</doc>
+ <type name="RTCPBuffer" c:type="GstRTCPBuffer*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtcp_buffer_new"
+ c:identifier="gst_rtcp_buffer_new"
+ moved-to="RTCPBuffer.new">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="273">Create a new buffer for constructing RTCP packets. The packet will have a
+maximum size of @mtu.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h" line="280"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="280">A newly allocated buffer.</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <parameter name="mtu" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="275">the maximum mtu size.</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtcp_buffer_new_copy_data"
+ c:identifier="gst_rtcp_buffer_new_copy_data"
+ moved-to="RTCPBuffer.new_copy_data">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="73">Create a new buffer and set the data to a copy of @len
+bytes of @data and the size to @len. The data will be freed when the buffer
+is freed.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h" line="264"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="82">A newly allocated buffer with a copy of @data and of size @len.</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="75">data for the new buffer</doc>
+ <array length="1" zero-terminated="0" c:type="gconstpointer">
+ <type name="guint8"/>
+ </array>
+ </parameter>
+ <parameter name="len" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="76">the length of data</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtcp_buffer_new_take_data"
+ c:identifier="gst_rtcp_buffer_new_take_data"
+ moved-to="RTCPBuffer.new_take_data">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="49">Create a new buffer and set the data and size of the buffer to @data and @len
+respectively. @data will be freed when the buffer is unreffed, so this
+function transfers ownership of @data to the new buffer.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h" line="261"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="58">A newly allocated buffer with @data and of size @len.</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="51">data for the new buffer</doc>
+ <array length="1" zero-terminated="0" c:type="gpointer">
+ <type name="guint8"/>
+ </array>
+ </parameter>
+ <parameter name="len" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="52">the length of data</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtcp_buffer_validate"
+ c:identifier="gst_rtcp_buffer_validate"
+ moved-to="RTCPBuffer.validate">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="249">Check if the data pointed to by @buffer is a valid RTCP packet using
+gst_rtcp_buffer_validate_data().</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h" line="270"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="256">TRUE if @buffer is a valid RTCP packet.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="251">the buffer to validate</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtcp_buffer_validate_data"
+ c:identifier="gst_rtcp_buffer_validate_data"
+ moved-to="RTCPBuffer.validate_data">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="204">Check if the @data and @size point to the data of a valid compound,
+non-reduced size RTCP packet.
+Use this function to validate a packet before using the other functions in
+this module.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h" line="267"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="214">TRUE if the data points to a valid RTCP packet.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="206">the data to validate</doc>
+ <array length="1" zero-terminated="0" c:type="guint8*">
+ <type name="guint8" c:type="guint8"/>
+ </array>
+ </parameter>
+ <parameter name="len" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="207">the length of @data to validate</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtcp_buffer_validate_data_reduced"
+ c:identifier="gst_rtcp_buffer_validate_data_reduced"
+ moved-to="RTCPBuffer.validate_data_reduced"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="180">Check if the @data and @size point to the data of a valid RTCP packet.
+Use this function to validate a packet before using the other functions in
+this module.
+
+This function is updated to support reduced size rtcp packets according to
+RFC 5506 and will validate full compound RTCP packets as well as reduced
+size RTCP packets.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h" line="273"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="193">TRUE if the data points to a valid RTCP packet.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="182">the data to validate</doc>
+ <array length="1" zero-terminated="0" c:type="guint8*">
+ <type name="guint8" c:type="guint8"/>
+ </array>
+ </parameter>
+ <parameter name="len" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="183">the length of @data to validate</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtcp_buffer_validate_reduced"
+ c:identifier="gst_rtcp_buffer_validate_reduced"
+ moved-to="RTCPBuffer.validate_reduced"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="223">Check if the data pointed to by @buffer is a valid RTCP packet using
+gst_rtcp_buffer_validate_reduced().</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h" line="276"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="230">TRUE if @buffer is a valid RTCP packet.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="225">the buffer to validate</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtcp_ntp_to_unix" c:identifier="gst_rtcp_ntp_to_unix">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2119">Converts an NTP time to UNIX nanoseconds. @ntptime can typically be
+the NTP time of an SR RTCP message and contains, in the upper 32 bits, the
+number of seconds since 1900 and, in the lower 32 bits, the fractional
+seconds. The resulting value will be the number of nanoseconds since 1970.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h" line="502"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2128">the UNIX time for @ntptime in nanoseconds.</doc>
+ <type name="guint64" c:type="guint64"/>
+ </return-value>
+ <parameters>
+ <parameter name="ntptime" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2121">an NTP timestamp</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtcp_sdes_name_to_type"
+ c:identifier="gst_rtcp_sdes_name_to_type">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2221">Convert @name into a @GstRTCPSDESType. @name is typically a key in a
+#GstStructure containing SDES items.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h" line="511"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2228">the #GstRTCPSDESType for @name or #GST_RTCP_SDES_PRIV when @name
+is a private sdes item.</doc>
+ <type name="RTCPSDESType" c:type="GstRTCPSDESType"/>
+ </return-value>
+ <parameters>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2223">a SDES name</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtcp_sdes_type_to_name"
+ c:identifier="gst_rtcp_sdes_type_to_name">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2175">Converts @type to the string equivalent. The string is typically used as a
+key in a #GstStructure containing SDES items.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h" line="508"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2182">the string equivalent of @type</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2177">a #GstRTCPSDESType</doc>
+ <type name="RTCPSDESType" c:type="GstRTCPSDESType"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtcp_unix_to_ntp" c:identifier="gst_rtcp_unix_to_ntp">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2146">Converts a UNIX timestamp in nanoseconds to an NTP time. The caller should
+pass a value with nanoseconds since 1970. The NTP time will, in the upper
+32 bits, contain the number of seconds since 1900 and, in the lower 32
+bits, the fractional seconds. The resulting value can be used as an ntptime
+for constructing SR RTCP packets.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtcpbuffer.h" line="505"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2156">the NTP time for @unixtime.</doc>
+ <type name="guint64" c:type="guint64"/>
+ </return-value>
+ <parameters>
+ <parameter name="unixtime" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtcpbuffer.c"
+ line="2148">an UNIX timestamp in nanoseconds</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtp_buffer_allocate_data"
+ c:identifier="gst_rtp_buffer_allocate_data"
+ moved-to="RTPBuffer.allocate_data">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="85">Allocate enough data in @buffer to hold an RTP packet with @csrc_count CSRCs,
+a payload length of @payload_len and padding of @pad_len.
+@buffer must be writable and all previous memory in @buffer will be freed.
+If @pad_len is &gt;0, the padding bit will be set. All other RTP header fields
+will be set to 0/FALSE.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtpbuffer.h" line="68"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="87">a #GstBuffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="payload_len" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="88">the length of the payload</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="pad_len" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="89">the amount of padding</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ <parameter name="csrc_count" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="90">the number of CSRC entries</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtp_buffer_calc_header_len"
+ c:identifier="gst_rtp_buffer_calc_header_len"
+ moved-to="RTPBuffer.calc_header_len">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="243">Calculate the header length of an RTP packet with @csrc_count CSRC entries.
+An RTP packet can have at most 15 CSRC entries.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtpbuffer.h" line="84"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="250">The length of an RTP header with @csrc_count CSRC entries.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <parameter name="csrc_count" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="245">the number of CSRC entries</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtp_buffer_calc_packet_len"
+ c:identifier="gst_rtp_buffer_calc_packet_len"
+ moved-to="RTPBuffer.calc_packet_len">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="260">Calculate the total length of an RTP packet with a payload size of @payload_len,
+a padding of @pad_len and a @csrc_count CSRC entries.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtpbuffer.h" line="87"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="269">The total length of an RTP header with given parameters.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <parameter name="payload_len" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="262">the length of the payload</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="pad_len" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="263">the amount of padding</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ <parameter name="csrc_count" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="264">the number of CSRC entries</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtp_buffer_calc_payload_len"
+ c:identifier="gst_rtp_buffer_calc_payload_len"
+ moved-to="RTPBuffer.calc_payload_len">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="281">Calculate the length of the payload of an RTP packet with size @packet_len,
+a padding of @pad_len and a @csrc_count CSRC entries.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtpbuffer.h" line="90"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="290">The length of the payload of an RTP packet with given parameters.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <parameter name="packet_len" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="283">the length of the total RTP packet</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="pad_len" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="284">the amount of padding</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ <parameter name="csrc_count" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="285">the number of CSRC entries</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtp_buffer_compare_seqnum"
+ c:identifier="gst_rtp_buffer_compare_seqnum"
+ moved-to="RTPBuffer.compare_seqnum">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="1231">Compare two sequence numbers, taking care of wraparounds. This function
+returns the difference between @seqnum1 and @seqnum2.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtpbuffer.h" line="198"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="1239">a negative value if @seqnum1 is bigger than @seqnum2, 0 if they
+are equal or a positive value if @seqnum1 is smaller than @segnum2.</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <parameter name="seqnum1" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="1233">a sequence number</doc>
+ <type name="guint16" c:type="guint16"/>
+ </parameter>
+ <parameter name="seqnum2" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="1234">a sequence number</doc>
+ <type name="guint16" c:type="guint16"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtp_buffer_default_clock_rate"
+ c:identifier="gst_rtp_buffer_default_clock_rate"
+ moved-to="RTPBuffer.default_clock_rate">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="1204">Get the default clock-rate for the static payload type @payload_type.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtpbuffer.h" line="195"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="1210">the default clock rate or -1 if the payload type is not static or
+the clock-rate is undefined.</doc>
+ <type name="guint32" c:type="guint32"/>
+ </return-value>
+ <parameters>
+ <parameter name="payload_type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="1206">the static payload type</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtp_buffer_ext_timestamp"
+ c:identifier="gst_rtp_buffer_ext_timestamp"
+ moved-to="RTPBuffer.ext_timestamp">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="1253">Update the @exttimestamp field with the extended timestamp of @timestamp
+For the first call of the method, @exttimestamp should point to a location
+with a value of -1.
+
+This function is able to handle both forward and backward timestamps taking
+into account:
+ - timestamp wraparound making sure that the returned value is properly increased.
+ - timestamp unwraparound making sure that the returned value is properly decreased.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtpbuffer.h" line="201"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="1267">The extended timestamp of @timestamp or 0 if the result can't go anywhere backwards.</doc>
+ <type name="guint64" c:type="guint64"/>
+ </return-value>
+ <parameters>
+ <parameter name="exttimestamp"
+ direction="inout"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="1255">a previous extended timestamp</doc>
+ <type name="guint64" c:type="guint64*"/>
+ </parameter>
+ <parameter name="timestamp" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="1256">a new timestamp</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtp_buffer_get_extension_onebyte_header_from_bytes"
+ c:identifier="gst_rtp_buffer_get_extension_onebyte_header_from_bytes"
+ moved-to="RTPBuffer.get_extension_onebyte_header_from_bytes"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="1375">Similar to gst_rtp_buffer_get_extension_onebyte_header, but working
+on the #GBytes you get from gst_rtp_buffer_get_extension_bytes.
+Parses RFC 5285 style header extensions with a one byte header. It will
+return the nth extension with the requested id.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtpbuffer.h" line="232"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="1390">TRUE if @bytes had the requested header extension</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="bytes" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="1377">#GBytes</doc>
+ <type name="GLib.Bytes" c:type="GBytes*"/>
+ </parameter>
+ <parameter name="bit_pattern" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="1378">The bit-pattern. Anything but 0xBEDE is rejected.</doc>
+ <type name="guint16" c:type="guint16"/>
+ </parameter>
+ <parameter name="id" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="1379">The ID of the header extension to be read (between 1 and 14).</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ <parameter name="nth" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="1380">Read the nth extension packet with the requested ID</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="data"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="1381">
+ location for data</doc>
+ <array length="5" zero-terminated="0" c:type="gpointer*">
+ <type name="guint8"/>
+ </array>
+ </parameter>
+ <parameter name="size"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="1383">the size of the data in bytes</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtp_buffer_map"
+ c:identifier="gst_rtp_buffer_map"
+ moved-to="RTPBuffer.map">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="306">Map the contents of @buffer into @rtp.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtpbuffer.h" line="93"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="314">%TRUE if @buffer could be mapped.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="308">a #GstBuffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="309">#GstMapFlags</doc>
+ <type name="Gst.MapFlags" c:type="GstMapFlags"/>
+ </parameter>
+ <parameter name="rtp"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="310">a #GstRTPBuffer</doc>
+ <type name="RTPBuffer" c:type="GstRTPBuffer*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtp_buffer_new_allocate"
+ c:identifier="gst_rtp_buffer_new_allocate"
+ moved-to="RTPBuffer.new_allocate">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="190">Allocate a new #GstBuffer with enough data to hold an RTP packet with
+@csrc_count CSRCs, a payload length of @payload_len and padding of @pad_len.
+All other RTP header fields will be set to 0/FALSE.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtpbuffer.h" line="78"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="200">A newly allocated buffer that can hold an RTP packet with given
+parameters.</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <parameter name="payload_len" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="192">the length of the payload</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="pad_len" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="193">the amount of padding</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ <parameter name="csrc_count" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="194">the number of CSRC entries</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtp_buffer_new_allocate_len"
+ c:identifier="gst_rtp_buffer_new_allocate_len"
+ moved-to="RTPBuffer.new_allocate_len">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="217">Create a new #GstBuffer that can hold an RTP packet that is exactly
+@packet_len long. The length of the payload depends on @pad_len and
+@csrc_count and can be calculated with gst_rtp_buffer_calc_payload_len().
+All RTP header fields will be set to 0/FALSE.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtpbuffer.h" line="81"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="228">A newly allocated buffer that can hold an RTP packet of @packet_len.</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <parameter name="packet_len" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="219">the total length of the packet</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="pad_len" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="220">the amount of padding</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ <parameter name="csrc_count" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="221">the number of CSRC entries</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtp_buffer_new_copy_data"
+ c:identifier="gst_rtp_buffer_new_copy_data"
+ moved-to="RTPBuffer.new_copy_data">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="172">Create a new buffer and set the data to a copy of @len
+bytes of @data and the size to @len. The data will be freed when the buffer
+is freed.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtpbuffer.h" line="75"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="182">A newly allocated buffer with a copy of @data and of size @len.</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="174">data for the new
+ buffer</doc>
+ <array length="1" zero-terminated="0" c:type="gconstpointer">
+ <type name="guint8"/>
+ </array>
+ </parameter>
+ <parameter name="len" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="176">the length of data</doc>
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtp_buffer_new_take_data"
+ c:identifier="gst_rtp_buffer_new_take_data"
+ moved-to="RTPBuffer.new_take_data">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="151">Create a new buffer and set the data and size of the buffer to @data and @len
+respectively. @data will be freed when the buffer is unreffed, so this
+function transfers ownership of @data to the new buffer.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtpbuffer.h" line="72"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="161">A newly allocated buffer with @data and of size @len.</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <parameter name="data" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="153">
+ data for the new buffer</doc>
+ <array length="1" zero-terminated="0" c:type="gpointer">
+ <type name="guint8"/>
+ </array>
+ </parameter>
+ <parameter name="len" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtpbuffer.c"
+ line="155">the length of data</doc>
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtp_hdrext_get_ntp_56"
+ c:identifier="gst_rtp_hdrext_get_ntp_56">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtphdrext.c"
+ line="108">Reads the NTP time from the @size NTP-56 extension bytes in @data and store the
+result in @ntptime.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtphdrext.h" line="51"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtphdrext.c"
+ line="117">%TRUE on success.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtphdrext.c"
+ line="110">the data to read from</doc>
+ <array length="1" zero-terminated="0" c:type="gpointer">
+ <type name="guint8"/>
+ </array>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtphdrext.c"
+ line="111">the size of @data</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="ntptime"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtphdrext.c"
+ line="112">the result NTP time</doc>
+ <type name="guint64" c:type="guint64*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtp_hdrext_get_ntp_64"
+ c:identifier="gst_rtp_hdrext_get_ntp_64">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtphdrext.c"
+ line="58">Reads the NTP time from the @size NTP-64 extension bytes in @data and store the
+result in @ntptime.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtphdrext.h" line="41"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtphdrext.c"
+ line="67">%TRUE on success.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtphdrext.c"
+ line="60">the data to read from</doc>
+ <array length="1" zero-terminated="0" c:type="gpointer">
+ <type name="guint8"/>
+ </array>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtphdrext.c"
+ line="61">the size of @data</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="ntptime"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtphdrext.c"
+ line="62">the result NTP time</doc>
+ <type name="guint64" c:type="guint64*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtp_hdrext_set_ntp_56"
+ c:identifier="gst_rtp_hdrext_set_ntp_56">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtphdrext.c"
+ line="81">Writes the NTP time in @ntptime to the format required for the NTP-56 header
+extension. @data must hold at least #GST_RTP_HDREXT_NTP_56_SIZE bytes.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtphdrext.h" line="48"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtphdrext.c"
+ line="90">%TRUE on success.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtphdrext.c"
+ line="83">the data to write to</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtphdrext.c"
+ line="84">the size of @data</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="ntptime" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtphdrext.c"
+ line="85">the NTP time</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtp_hdrext_set_ntp_64"
+ c:identifier="gst_rtp_hdrext_set_ntp_64">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtphdrext.c"
+ line="36">Writes the NTP time in @ntptime to the format required for the NTP-64 header
+extension. @data must hold at least #GST_RTP_HDREXT_NTP_64_SIZE bytes.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtphdrext.h" line="38"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtphdrext.c"
+ line="45">%TRUE on success.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtphdrext.c"
+ line="38">the data to write to</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtphdrext.c"
+ line="39">the size of @data</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="ntptime" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtphdrext.c"
+ line="40">the NTP time</doc>
+ <type name="guint64" c:type="guint64"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtp_payload_info_for_name"
+ c:identifier="gst_rtp_payload_info_for_name"
+ moved-to="RTPPayloadInfo.for_name">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtppayloads.c"
+ line="205">Get the #GstRTPPayloadInfo for @media and @encoding_name. This function is
+mostly used to get the default clock-rate and bandwidth for dynamic payload
+types specified with @media and @encoding name.
+
+The search for @encoding_name will be performed in a case insensitive way.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtppayloads.h"
+ line="194"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtppayloads.c"
+ line="216">a #GstRTPPayloadInfo or NULL when no info could be found.</doc>
+ <type name="RTPPayloadInfo" c:type="const GstRTPPayloadInfo*"/>
+ </return-value>
+ <parameters>
+ <parameter name="media" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtppayloads.c"
+ line="207">the media to find</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="encoding_name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtppayloads.c"
+ line="208">the encoding name to find</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtp_payload_info_for_pt"
+ c:identifier="gst_rtp_payload_info_for_pt"
+ moved-to="RTPPayloadInfo.for_pt">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtppayloads.c"
+ line="180">Get the #GstRTPPayloadInfo for @payload_type. This function is
+mostly used to get the default clock-rate and bandwidth for static payload
+types specified with @payload_type.</doc>
+ <source-position filename="gst-libs/gst/rtp/gstrtppayloads.h"
+ line="191"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtppayloads.c"
+ line="188">a #GstRTPPayloadInfo or NULL when no info could be found.</doc>
+ <type name="RTPPayloadInfo" c:type="const GstRTPPayloadInfo*"/>
+ </return-value>
+ <parameters>
+ <parameter name="payload_type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtp/gstrtppayloads.c"
+ line="182">the payload_type to find</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtp_source_meta_api_get_type"
+ c:identifier="gst_rtp_source_meta_api_get_type">
+ <source-position filename="gst-libs/gst/rtp/gstrtpmeta.h" line="57"/>
+ <return-value transfer-ownership="none">
+ <type name="GType" c:type="GType"/>
+ </return-value>
+ </function>
+ <function name="rtp_source_meta_get_info"
+ c:identifier="gst_rtp_source_meta_get_info"
+ moved-to="RTPSourceMeta.get_info">
+ <source-position filename="gst-libs/gst/rtp/gstrtpmeta.h" line="75"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.MetaInfo" c:type="const GstMetaInfo*"/>
+ </return-value>
+ </function>
+ </namespace>
+</repository>
diff --git a/subprojects/gstreamer-sharp/girs/GstRtsp-1.0.gir b/subprojects/gstreamer-sharp/girs/GstRtsp-1.0.gir
new file mode 100644
index 0000000000..4c90bd9440
--- /dev/null
+++ b/subprojects/gstreamer-sharp/girs/GstRtsp-1.0.gir
@@ -0,0 +1,7642 @@
+<?xml version="1.0"?>
+<!-- This file was automatically generated from C sources - DO NOT EDIT!
+To affect the contents of this file, edit the original C definitions,
+and/or use gtk-doc annotations. -->
+<repository version="1.2"
+ xmlns="http://www.gtk.org/introspection/core/1.0"
+ xmlns:c="http://www.gtk.org/introspection/c/1.0"
+ xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
+ <include name="Gio" version="2.0"/>
+ <include name="Gst" version="1.0"/>
+ <include name="GstBase" version="1.0"/>
+ <include name="GstSdp" version="1.0"/>
+ <package name="gstreamer-rtsp-1.0"/>
+ <c:include name="gst/rtsp/rtsp.h"/>
+ <namespace name="GstRtsp"
+ version="1.0"
+ shared-library="libgstrtsp-1.0.so.0"
+ c:identifier-prefixes="Gst"
+ c:symbol-prefixes="gst">
+ <function-macro name="IS_RTSP_EXTENSION"
+ c:identifier="GST_IS_RTSP_EXTENSION"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/rtsp/gstrtspextension.h"
+ line="37"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <record name="RTSPAuthCredential"
+ c:type="GstRTSPAuthCredential"
+ version="1.12"
+ glib:type-name="GstRTSPAuthCredential"
+ glib:get-type="gst_rtsp_auth_credential_get_type"
+ c:symbol-prefix="rtsp_auth_credential">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.h"
+ line="284">RTSP Authentication credentials</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspmessage.h"
+ line="303"/>
+ <field name="scheme" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.h"
+ line="286">a #GstRTSPAuthMethod</doc>
+ <type name="RTSPAuthMethod" c:type="GstRTSPAuthMethod"/>
+ </field>
+ <field name="params" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.h"
+ line="287">A NULL-terminated array of #GstRTSPAuthParam</doc>
+ <type name="RTSPAuthParam" c:type="GstRTSPAuthParam**"/>
+ </field>
+ <field name="authorization" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.h"
+ line="288">The authorization for the basic schem</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ </record>
+ <enumeration name="RTSPAuthMethod"
+ glib:type-name="GstRTSPAuthMethod"
+ glib:get-type="gst_rtsp_auth_method_get_type"
+ c:type="GstRTSPAuthMethod">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.h"
+ line="209">Authentication methods, ordered by strength</doc>
+ <member name="none"
+ value="0"
+ c:identifier="GST_RTSP_AUTH_NONE"
+ glib:nick="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.h"
+ line="211">no authentication</doc>
+ </member>
+ <member name="basic"
+ value="1"
+ c:identifier="GST_RTSP_AUTH_BASIC"
+ glib:nick="basic">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.h"
+ line="212">basic authentication</doc>
+ </member>
+ <member name="digest"
+ value="2"
+ c:identifier="GST_RTSP_AUTH_DIGEST"
+ glib:nick="digest">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.h"
+ line="213">digest authentication</doc>
+ </member>
+ </enumeration>
+ <record name="RTSPAuthParam"
+ c:type="GstRTSPAuthParam"
+ version="1.12"
+ glib:type-name="GstRTSPAuthParam"
+ glib:get-type="gst_rtsp_auth_param_get_type"
+ c:symbol-prefix="rtsp_auth_param">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.h"
+ line="305">RTSP Authentication parameter</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspmessage.h"
+ line="317"/>
+ <field name="name" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.h"
+ line="307">The name of the parameter</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="value" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.h"
+ line="308">The value of the parameter</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <method name="copy" c:identifier="gst_rtsp_auth_param_copy">
+ <source-position filename="gst-libs/gst/rtsp/gstrtspmessage.h"
+ line="320"/>
+ <return-value transfer-ownership="full">
+ <type name="RTSPAuthParam" c:type="GstRTSPAuthParam*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="param" transfer-ownership="none">
+ <type name="RTSPAuthParam" c:type="GstRTSPAuthParam*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="free" c:identifier="gst_rtsp_auth_param_free">
+ <source-position filename="gst-libs/gst/rtsp/gstrtspmessage.h"
+ line="322"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="param" transfer-ownership="none">
+ <type name="RTSPAuthParam" c:type="GstRTSPAuthParam*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ </record>
+ <record name="RTSPConnection" c:type="GstRTSPConnection" disguised="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="43">This object manages the RTSP connection to the server. It provides function
+to receive and send bytes and messages.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspconnection.h"
+ line="61"/>
+ <method name="clear_auth_params"
+ c:identifier="gst_rtsp_connection_clear_auth_params">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="3157">Clear the list of authentication directives stored in @conn.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspconnection.h"
+ line="184"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="conn" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="3159">a #GstRTSPConnection</doc>
+ <type name="RTSPConnection" c:type="GstRTSPConnection*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="close" c:identifier="gst_rtsp_connection_close">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="2756">Close the connected @conn. After this call, the connection is in the same
+state as when it was first created.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspconnection.h"
+ line="85"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="2763">#GST_RTSP_OK on success.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="conn" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="2758">a #GstRTSPConnection</doc>
+ <type name="RTSPConnection" c:type="GstRTSPConnection*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="connect"
+ c:identifier="gst_rtsp_connection_connect"
+ deprecated="1"
+ deprecated-version="1.18">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="4813">Attempt to connect to the url of @conn made with
+gst_rtsp_connection_create(). If @timeout is %NULL this function can block
+forever. If @timeout contains a valid timeout, this function will return
+#GST_RTSP_ETIMEOUT after the timeout expired.
+
+This function can be cancelled with gst_rtsp_connection_flush().</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspconnection.h"
+ line="345"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="4825">#GST_RTSP_OK when a connection could be made.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="conn" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="4815">a #GstRTSPConnection</doc>
+ <type name="RTSPConnection" c:type="GstRTSPConnection*"/>
+ </instance-parameter>
+ <parameter name="timeout" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="4816">a GTimeVal timeout</doc>
+ <type name="GLib.TimeVal" c:type="GTimeVal*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="connect_usec"
+ c:identifier="gst_rtsp_connection_connect_usec"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="1150">Attempt to connect to the url of @conn made with
+gst_rtsp_connection_create(). If @timeout is 0 this function can block
+forever. If @timeout contains a valid timeout, this function will return
+#GST_RTSP_ETIMEOUT after the timeout expired.
+
+This function can be cancelled with gst_rtsp_connection_flush().</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspconnection.h"
+ line="79"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="1162">#GST_RTSP_OK when a connection could be made.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="conn" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="1152">a #GstRTSPConnection</doc>
+ <type name="RTSPConnection" c:type="GstRTSPConnection*"/>
+ </instance-parameter>
+ <parameter name="timeout" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="1153">a timeout in microseconds</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="connect_with_response"
+ c:identifier="gst_rtsp_connection_connect_with_response"
+ version="1.8"
+ deprecated="1"
+ deprecated-version="1.18">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="4835">Attempt to connect to the url of @conn made with
+gst_rtsp_connection_create(). If @timeout is %NULL this function can block
+forever. If @timeout contains a valid timeout, this function will return
+#GST_RTSP_ETIMEOUT after the timeout expired. If @conn is set to tunneled,
+@response will contain a response to the tunneling request messages.
+
+This function can be cancelled with gst_rtsp_connection_flush().</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspconnection.h"
+ line="348"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="4849">#GST_RTSP_OK when a connection could be made.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="conn" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="4837">a #GstRTSPConnection</doc>
+ <type name="RTSPConnection" c:type="GstRTSPConnection*"/>
+ </instance-parameter>
+ <parameter name="timeout" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="4838">a GTimeVal timeout</doc>
+ <type name="GLib.TimeVal" c:type="GTimeVal*"/>
+ </parameter>
+ <parameter name="response" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="4839">a #GstRTSPMessage</doc>
+ <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="connect_with_response_usec"
+ c:identifier="gst_rtsp_connection_connect_with_response_usec"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="957">Attempt to connect to the url of @conn made with
+gst_rtsp_connection_create(). If @timeout is 0 this function can block
+forever. If @timeout contains a valid timeout, this function will return
+#GST_RTSP_ETIMEOUT after the timeout expired. If @conn is set to tunneled,
+@response will contain a response to the tunneling request messages.
+
+This function can be cancelled with gst_rtsp_connection_flush().</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspconnection.h"
+ line="82"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="971">#GST_RTSP_OK when a connection could be made.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="conn" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="959">a #GstRTSPConnection</doc>
+ <type name="RTSPConnection" c:type="GstRTSPConnection*"/>
+ </instance-parameter>
+ <parameter name="timeout" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="960">a timeout in microseconds</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ <parameter name="response" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="961">a #GstRTSPMessage</doc>
+ <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="do_tunnel" c:identifier="gst_rtsp_connection_do_tunnel">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="3444">If @conn received the first tunnel connection and @conn2 received
+the second tunnel connection, link the two connections together so that
+@conn manages the tunneled connection.
+
+After this call, @conn2 cannot be used anymore and must be freed with
+gst_rtsp_connection_free().
+
+If @conn2 is %NULL then only the base64 decoding context will be setup for
+@conn.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspconnection.h"
+ line="230"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="3459">return GST_RTSP_OK on success.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="conn" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="3446">a #GstRTSPConnection</doc>
+ <type name="RTSPConnection" c:type="GstRTSPConnection*"/>
+ </instance-parameter>
+ <parameter name="conn2" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="3447">a #GstRTSPConnection or %NULL</doc>
+ <type name="RTSPConnection" c:type="GstRTSPConnection*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="flush" c:identifier="gst_rtsp_connection_flush">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="3003">Start or stop the flushing action on @conn. When flushing, all current
+and future actions on @conn will return #GST_RTSP_EINTR until the connection
+is set to non-flushing mode again.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspconnection.h"
+ line="164"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="3012">#GST_RTSP_OK.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="conn" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="3005">a #GstRTSPConnection</doc>
+ <type name="RTSPConnection" c:type="GstRTSPConnection*"/>
+ </instance-parameter>
+ <parameter name="flush" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="3006">start or stop the flush</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="free" c:identifier="gst_rtsp_connection_free">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="2816">Close and free @conn.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspconnection.h"
+ line="88"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="2822">#GST_RTSP_OK on success.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="conn" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="2818">a #GstRTSPConnection</doc>
+ <type name="RTSPConnection" c:type="GstRTSPConnection*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_ip" c:identifier="gst_rtsp_connection_get_ip">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="3305">Retrieve the IP address of the other end of @conn.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspconnection.h"
+ line="203"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="3311">The IP address as a string. this value remains valid until the
+connection is closed.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="conn" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="3307">a #GstRTSPConnection</doc>
+ <type name="RTSPConnection" c:type="const GstRTSPConnection*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_read_socket"
+ c:identifier="gst_rtsp_connection_get_read_socket">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="3338">Get the file descriptor for reading.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspconnection.h"
+ line="209"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="3344">the file descriptor used for reading or %NULL on
+error. The file descriptor remains valid until the connection is closed.</doc>
+ <type name="Gio.Socket" c:type="GSocket*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="conn" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="3340">a #GstRTSPConnection</doc>
+ <type name="RTSPConnection" c:type="const GstRTSPConnection*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_remember_session_id"
+ c:identifier="gst_rtsp_connection_get_remember_session_id">
+ <source-position filename="gst-libs/gst/rtsp/gstrtspconnection.h"
+ line="236"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="3555">%TRUE if the #GstRTSPConnection remembers the session id in the
+last response to set it on any further request.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="conn" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="3553">a #GstRTSPConnection</doc>
+ <type name="RTSPConnection" c:type="GstRTSPConnection*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_tls"
+ c:identifier="gst_rtsp_connection_get_tls"
+ version="1.2"
+ throws="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="545">Get the TLS connection of @conn.
+
+For client side this will return the #GTlsClientConnection when connected
+over TLS.
+
+For server side connections, this function will create a GTlsServerConnection
+when called the first time and will return that same connection on subsequent
+calls. The server is then responsible for configuring the TLS connection.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspconnection.h"
+ line="93"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="559">the TLS connection for @conn.</doc>
+ <type name="Gio.TlsConnection" c:type="GTlsConnection*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="conn" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="547">a #GstRTSPConnection</doc>
+ <type name="RTSPConnection" c:type="GstRTSPConnection*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_tls_database"
+ c:identifier="gst_rtsp_connection_get_tls_database"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="666">Gets the anchor certificate authorities database that will be used
+after a server certificate can't be verified with the default
+certificate database.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspconnection.h"
+ line="105"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="674">the anchor certificate authorities database, or NULL if no
+database has been previously set. Use g_object_unref() to release the
+certificate database.</doc>
+ <type name="Gio.TlsDatabase" c:type="GTlsDatabase*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="conn" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="668">a #GstRTSPConnection</doc>
+ <type name="RTSPConnection" c:type="GstRTSPConnection*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_tls_interaction"
+ c:identifier="gst_rtsp_connection_get_tls_interaction"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="722">Gets a #GTlsInteraction object to be used when the connection or certificate
+database need to interact with the user. This will be used to prompt the
+user for passwords where necessary.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspconnection.h"
+ line="111"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="730">a reference on the #GTlsInteraction. Use
+g_object_unref() to release.</doc>
+ <type name="Gio.TlsInteraction" c:type="GTlsInteraction*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="conn" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="724">a #GstRTSPConnection</doc>
+ <type name="RTSPConnection" c:type="GstRTSPConnection*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_tls_validation_flags"
+ c:identifier="gst_rtsp_connection_get_tls_validation_flags"
+ version="1.2.1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="618">Gets the TLS validation flags used to verify the peer certificate
+when a TLS connection is established.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspconnection.h"
+ line="99"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="625">the validationg flags.</doc>
+ <type name="Gio.TlsCertificateFlags" c:type="GTlsCertificateFlags"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="conn" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="620">a #GstRTSPConnection</doc>
+ <type name="RTSPConnection" c:type="GstRTSPConnection*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_tunnelid"
+ c:identifier="gst_rtsp_connection_get_tunnelid">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="3425">Get the tunnel session id the connection.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspconnection.h"
+ line="227"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="3431">returns a non-empty string if @conn is being tunneled over HTTP.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="conn" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="3427">a #GstRTSPConnection</doc>
+ <type name="RTSPConnection" c:type="const GstRTSPConnection*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_url" c:identifier="gst_rtsp_connection_get_url">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="3288">Retrieve the URL of the other end of @conn.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspconnection.h"
+ line="200"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="3294">The URL. This value remains valid until the
+connection is freed.</doc>
+ <type name="RTSPUrl" c:type="GstRTSPUrl*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="conn" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="3290">a #GstRTSPConnection</doc>
+ <type name="RTSPConnection" c:type="const GstRTSPConnection*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_write_socket"
+ c:identifier="gst_rtsp_connection_get_write_socket">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="3356">Get the file descriptor for writing.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspconnection.h"
+ line="212"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="3362">the file descriptor used for writing or NULL on
+error. The file descriptor remains valid until the connection is closed.</doc>
+ <type name="Gio.Socket" c:type="GSocket*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="conn" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="3358">a #GstRTSPConnection</doc>
+ <type name="RTSPConnection" c:type="const GstRTSPConnection*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="is_tunneled"
+ c:identifier="gst_rtsp_connection_is_tunneled">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="3409">Get the tunneling state of the connection.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspconnection.h"
+ line="224"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="3415">if @conn is using HTTP tunneling.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="conn" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="3411">a #GstRTSPConnection</doc>
+ <type name="RTSPConnection" c:type="const GstRTSPConnection*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="next_timeout"
+ c:identifier="gst_rtsp_connection_next_timeout"
+ deprecated="1"
+ deprecated-version="1.18">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="5011">Calculate the next timeout for @conn, storing the result in @timeout.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspconnection.h"
+ line="377"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="5018">#GST_RTSP_OK.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="conn" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="5013">a #GstRTSPConnection</doc>
+ <type name="RTSPConnection" c:type="GstRTSPConnection*"/>
+ </instance-parameter>
+ <parameter name="timeout" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="5014">a timeout</doc>
+ <type name="GLib.TimeVal" c:type="GTimeVal*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="next_timeout_usec"
+ c:identifier="gst_rtsp_connection_next_timeout_usec"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="2937">Calculate the next timeout for @conn</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspconnection.h"
+ line="156"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="2943">#the next timeout in microseconds</doc>
+ <type name="gint64" c:type="gint64"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="conn" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="2939">a #GstRTSPConnection</doc>
+ <type name="RTSPConnection" c:type="GstRTSPConnection*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="poll"
+ c:identifier="gst_rtsp_connection_poll"
+ deprecated="1"
+ deprecated-version="1.18">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="4983">Wait up to the specified @timeout for the connection to become available for
+at least one of the operations specified in @events. When the function returns
+with #GST_RTSP_OK, @revents will contain a bitmask of available operations on
+@conn.
+
+@timeout can be %NULL, in which case this function might block forever.
+
+This function can be cancelled with gst_rtsp_connection_flush().</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspconnection.h"
+ line="373"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="4999">#GST_RTSP_OK on success.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="conn" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="4985">a #GstRTSPConnection</doc>
+ <type name="RTSPConnection" c:type="GstRTSPConnection*"/>
+ </instance-parameter>
+ <parameter name="events" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="4986">a bitmask of #GstRTSPEvent flags to check</doc>
+ <type name="RTSPEvent" c:type="GstRTSPEvent"/>
+ </parameter>
+ <parameter name="revents" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="4987">location for result flags</doc>
+ <type name="RTSPEvent" c:type="GstRTSPEvent*"/>
+ </parameter>
+ <parameter name="timeout" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="4988">a timeout</doc>
+ <type name="GLib.TimeVal" c:type="GTimeVal*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="poll_usec"
+ c:identifier="gst_rtsp_connection_poll_usec"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="2853">Wait up to the specified @timeout for the connection to become available for
+at least one of the operations specified in @events. When the function returns
+with #GST_RTSP_OK, @revents will contain a bitmask of available operations on
+@conn.
+
+@timeout can be 0, in which case this function might block forever.
+
+This function can be cancelled with gst_rtsp_connection_flush().</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspconnection.h"
+ line="150"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="2869">#GST_RTSP_OK on success.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="conn" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="2855">a #GstRTSPConnection</doc>
+ <type name="RTSPConnection" c:type="GstRTSPConnection*"/>
+ </instance-parameter>
+ <parameter name="events" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="2856">a bitmask of #GstRTSPEvent flags to check</doc>
+ <type name="RTSPEvent" c:type="GstRTSPEvent"/>
+ </parameter>
+ <parameter name="revents" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="2857">location for result flags</doc>
+ <type name="RTSPEvent" c:type="GstRTSPEvent*"/>
+ </parameter>
+ <parameter name="timeout" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="2858">a timeout in microseconds</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="read"
+ c:identifier="gst_rtsp_connection_read"
+ deprecated="1"
+ deprecated-version="1.18">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="4862">Attempt to read @size bytes into @data from the connected @conn, blocking up to
+the specified @timeout. @timeout can be %NULL, in which case this function
+might block forever.
+
+This function can be cancelled with gst_rtsp_connection_flush().</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspconnection.h"
+ line="352"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="4875">#GST_RTSP_OK on success.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="conn" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="4864">a #GstRTSPConnection</doc>
+ <type name="RTSPConnection" c:type="GstRTSPConnection*"/>
+ </instance-parameter>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="4865">the data to read</doc>
+ <type name="guint8" c:type="guint8*"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="4866">the size of @data</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="timeout" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="4867">a timeout value or %NULL</doc>
+ <type name="GLib.TimeVal" c:type="GTimeVal*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="read_usec"
+ c:identifier="gst_rtsp_connection_read_usec"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="2587">Attempt to read @size bytes into @data from the connected @conn, blocking up to
+the specified @timeout. @timeout can be 0, in which case this function
+might block forever.
+
+This function can be cancelled with gst_rtsp_connection_flush().</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspconnection.h"
+ line="126"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="2600">#GST_RTSP_OK on success.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="conn" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="2589">a #GstRTSPConnection</doc>
+ <type name="RTSPConnection" c:type="GstRTSPConnection*"/>
+ </instance-parameter>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="2590">the data to read</doc>
+ <type name="guint8" c:type="guint8*"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="2591">the size of @data</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="timeout" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="2592">a timeout value in microseconds</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="receive"
+ c:identifier="gst_rtsp_connection_receive"
+ deprecated="1"
+ deprecated-version="1.18">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="4960">Attempt to read into @message from the connected @conn, blocking up to
+the specified @timeout. @timeout can be %NULL, in which case this function
+might block forever.
+
+This function can be cancelled with gst_rtsp_connection_flush().</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspconnection.h"
+ line="369"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="4972">#GST_RTSP_OK on success.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="conn" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="4962">a #GstRTSPConnection</doc>
+ <type name="RTSPConnection" c:type="GstRTSPConnection*"/>
+ </instance-parameter>
+ <parameter name="message" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="4963">the message to read</doc>
+ <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
+ </parameter>
+ <parameter name="timeout" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="4964">a timeout value or %NULL</doc>
+ <type name="GLib.TimeVal" c:type="GTimeVal*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="receive_usec"
+ c:identifier="gst_rtsp_connection_receive_usec"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="2669">Attempt to read into @message from the connected @conn, blocking up to
+the specified @timeout. @timeout can be 0, in which case this function
+might block forever.
+
+This function can be cancelled with gst_rtsp_connection_flush().</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspconnection.h"
+ line="144"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="2681">#GST_RTSP_OK on success.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="conn" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="2671">a #GstRTSPConnection</doc>
+ <type name="RTSPConnection" c:type="GstRTSPConnection*"/>
+ </instance-parameter>
+ <parameter name="message" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="2672">the message to read</doc>
+ <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
+ </parameter>
+ <parameter name="timeout" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="2673">a timeout value or 0</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="reset_timeout"
+ c:identifier="gst_rtsp_connection_reset_timeout">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="2985">Reset the timeout of @conn.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspconnection.h"
+ line="159"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="2991">#GST_RTSP_OK.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="conn" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="2987">a #GstRTSPConnection</doc>
+ <type name="RTSPConnection" c:type="GstRTSPConnection*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="send"
+ c:identifier="gst_rtsp_connection_send"
+ deprecated="1"
+ deprecated-version="1.18">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="4911">Attempt to send @message to the connected @conn, blocking up to
+the specified @timeout. @timeout can be %NULL, in which case this function
+might block forever.
+
+This function can be cancelled with gst_rtsp_connection_flush().</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspconnection.h"
+ line="361"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="4923">#GST_RTSP_OK on success.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="conn" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="4913">a #GstRTSPConnection</doc>
+ <type name="RTSPConnection" c:type="GstRTSPConnection*"/>
+ </instance-parameter>
+ <parameter name="message" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="4914">the message to send</doc>
+ <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
+ </parameter>
+ <parameter name="timeout" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="4915">a timeout value or %NULL</doc>
+ <type name="GLib.TimeVal" c:type="GTimeVal*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="send_messages"
+ c:identifier="gst_rtsp_connection_send_messages"
+ version="1.16"
+ deprecated="1"
+ deprecated-version="1.18">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="4934">Attempt to send @messages to the connected @conn, blocking up to
+the specified @timeout. @timeout can be %NULL, in which case this function
+might block forever.
+
+This function can be cancelled with gst_rtsp_connection_flush().</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspconnection.h"
+ line="365"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="4947">#GST_RTSP_OK on success.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="conn" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="4936">a #GstRTSPConnection</doc>
+ <type name="RTSPConnection" c:type="GstRTSPConnection*"/>
+ </instance-parameter>
+ <parameter name="messages" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="4937">the messages to send</doc>
+ <array length="1" zero-terminated="0" c:type="GstRTSPMessage*">
+ <type name="RTSPMessage" c:type="GstRTSPMessage"/>
+ </array>
+ </parameter>
+ <parameter name="n_messages" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="4938">the number of messages to send</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="timeout" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="4939">a timeout value or %NULL</doc>
+ <type name="GLib.TimeVal" c:type="GTimeVal*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="send_messages_usec"
+ c:identifier="gst_rtsp_connection_send_messages_usec"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="1813">Attempt to send @messages to the connected @conn, blocking up to
+the specified @timeout. @timeout can be 0, in which case this function
+might block forever.
+
+This function can be cancelled with gst_rtsp_connection_flush().</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspconnection.h"
+ line="140"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="1826">#GST_RTSP_OK on Since.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="conn" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="1815">a #GstRTSPConnection</doc>
+ <type name="RTSPConnection" c:type="GstRTSPConnection*"/>
+ </instance-parameter>
+ <parameter name="messages" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="1816">the messages to send</doc>
+ <array length="1" zero-terminated="0" c:type="GstRTSPMessage*">
+ <type name="RTSPMessage" c:type="GstRTSPMessage"/>
+ </array>
+ </parameter>
+ <parameter name="n_messages" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="1817">the number of messages to send</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="timeout" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="1818">a timeout value in microseconds</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="send_usec"
+ c:identifier="gst_rtsp_connection_send_usec"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="1787">Attempt to send @message to the connected @conn, blocking up to
+the specified @timeout. @timeout can be 0, in which case this function
+might block forever.
+
+This function can be cancelled with gst_rtsp_connection_flush().</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspconnection.h"
+ line="136"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="1799">#GST_RTSP_OK on success.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="conn" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="1789">a #GstRTSPConnection</doc>
+ <type name="RTSPConnection" c:type="GstRTSPConnection*"/>
+ </instance-parameter>
+ <parameter name="message" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="1790">the message to send</doc>
+ <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
+ </parameter>
+ <parameter name="timeout" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="1791">a timeout value in microseconds</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_accept_certificate_func"
+ c:identifier="gst_rtsp_connection_set_accept_certificate_func"
+ version="1.14">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="748">Sets a custom accept-certificate function for checking certificates for
+validity. This will directly map to #GTlsConnection 's "accept-certificate"
+signal and be performed after the default checks of #GstRTSPConnection
+(checking against the #GTlsDatabase with the given #GTlsCertificateFlags)
+have failed. If no #GTlsDatabase is set on this connection, only @func will
+be called.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspconnection.h"
+ line="118"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="conn" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="750">a #GstRTSPConnection</doc>
+ <type name="RTSPConnection" c:type="GstRTSPConnection*"/>
+ </instance-parameter>
+ <parameter name="func"
+ transfer-ownership="none"
+ scope="notified"
+ closure="1"
+ destroy="2">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="751">a #GstRTSPConnectionAcceptCertificateFunc to check certificates</doc>
+ <type name="RTSPConnectionAcceptCertificateFunc"
+ c:type="GstRTSPConnectionAcceptCertificateFunc"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="753">User data passed to @func</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="destroy_notify"
+ transfer-ownership="none"
+ scope="async">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="752">#GDestroyNotify for @user_data</doc>
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_auth" c:identifier="gst_rtsp_connection_set_auth">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="3052">Configure @conn for authentication mode @method with @user and @pass as the
+user and password respectively.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspconnection.h"
+ line="175"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="3062">#GST_RTSP_OK.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="conn" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="3054">a #GstRTSPConnection</doc>
+ <type name="RTSPConnection" c:type="GstRTSPConnection*"/>
+ </instance-parameter>
+ <parameter name="method" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="3055">authentication method</doc>
+ <type name="RTSPAuthMethod" c:type="GstRTSPAuthMethod"/>
+ </parameter>
+ <parameter name="user" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="3056">the user</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="pass" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="3057">the password</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_auth_param"
+ c:identifier="gst_rtsp_connection_set_auth_param">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="3131">Setup @conn with authentication directives. This is not necessary for
+methods #GST_RTSP_AUTH_NONE and #GST_RTSP_AUTH_BASIC. For
+#GST_RTSP_AUTH_DIGEST, directives should be taken from the digest challenge
+in the WWW-Authenticate response header and can include realm, domain,
+nonce, opaque, stale, algorithm, qop as per RFC2617.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspconnection.h"
+ line="179"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="conn" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="3133">a #GstRTSPConnection</doc>
+ <type name="RTSPConnection" c:type="GstRTSPConnection*"/>
+ </instance-parameter>
+ <parameter name="param" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="3134">authentication directive</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="3135">value</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_content_length_limit"
+ c:identifier="gst_rtsp_connection_set_content_length_limit"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="3268">Configure @conn to use the specified Content-Length limit.
+Both requests and responses are validated. If content-length is
+exceeded, ENOMEM error will be returned.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspconnection.h"
+ line="194"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="conn" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="3270">a #GstRTSPConnection</doc>
+ <type name="RTSPConnection" c:type="GstRTSPConnection*"/>
+ </instance-parameter>
+ <parameter name="limit" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="3271">Content-Length limit</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_http_mode"
+ c:identifier="gst_rtsp_connection_set_http_mode">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="3374">By setting the HTTP mode to %TRUE the message parsing will support HTTP
+messages in addition to the RTSP messages. It will also disable the
+automatic handling of setting up an HTTP tunnel.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspconnection.h"
+ line="215"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="conn" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="3376">a #GstRTSPConnection</doc>
+ <type name="RTSPConnection" c:type="GstRTSPConnection*"/>
+ </instance-parameter>
+ <parameter name="enable" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="3377">%TRUE to enable manual HTTP mode</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_ip" c:identifier="gst_rtsp_connection_set_ip">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="3322">Set the IP address of the server.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspconnection.h"
+ line="206"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="conn" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="3324">a #GstRTSPConnection</doc>
+ <type name="RTSPConnection" c:type="GstRTSPConnection*"/>
+ </instance-parameter>
+ <parameter name="ip" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="3325">an ip address</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_proxy" c:identifier="gst_rtsp_connection_set_proxy">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="3029">Set the proxy host and port.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspconnection.h"
+ line="169"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="3037">#GST_RTSP_OK.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="conn" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="3031">a #GstRTSPConnection</doc>
+ <type name="RTSPConnection" c:type="GstRTSPConnection*"/>
+ </instance-parameter>
+ <parameter name="host" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="3032">the proxy host</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="port" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="3033">the proxy port</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_qos_dscp"
+ c:identifier="gst_rtsp_connection_set_qos_dscp">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="3243">Configure @conn to use the specified DSCP value.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspconnection.h"
+ line="189"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="3250">#GST_RTSP_OK on success.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="conn" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="3245">a #GstRTSPConnection</doc>
+ <type name="RTSPConnection" c:type="GstRTSPConnection*"/>
+ </instance-parameter>
+ <parameter name="qos_dscp" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="3246">DSCP value</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_remember_session_id"
+ c:identifier="gst_rtsp_connection_set_remember_session_id">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="3531">Sets if the #GstRTSPConnection should remember the session id from the last
+response received and force it onto any further requests.
+
+The default value is %TRUE</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspconnection.h"
+ line="233"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="conn" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="3533">a #GstRTSPConnection</doc>
+ <type name="RTSPConnection" c:type="GstRTSPConnection*"/>
+ </instance-parameter>
+ <parameter name="remember" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="3534">%TRUE if the connection should remember the session id</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_tls_database"
+ c:identifier="gst_rtsp_connection_set_tls_database"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="637">Sets the anchor certificate authorities database. This certificate
+database will be used to verify the server's certificate in case it
+can't be verified with the default certificate database first.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspconnection.h"
+ line="102"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="conn" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="639">a #GstRTSPConnection</doc>
+ <type name="RTSPConnection" c:type="GstRTSPConnection*"/>
+ </instance-parameter>
+ <parameter name="database" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="640">a #GTlsDatabase</doc>
+ <type name="Gio.TlsDatabase" c:type="GTlsDatabase*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_tls_interaction"
+ c:identifier="gst_rtsp_connection_set_tls_interaction"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="693">Sets a #GTlsInteraction object to be used when the connection or certificate
+database need to interact with the user. This will be used to prompt the
+user for passwords where necessary.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspconnection.h"
+ line="108"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="conn" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="695">a #GstRTSPConnection</doc>
+ <type name="RTSPConnection" c:type="GstRTSPConnection*"/>
+ </instance-parameter>
+ <parameter name="interaction" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="696">a #GTlsInteraction</doc>
+ <type name="Gio.TlsInteraction" c:type="GTlsInteraction*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_tls_validation_flags"
+ c:identifier="gst_rtsp_connection_set_tls_validation_flags"
+ version="1.2.1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="590">Sets the TLS validation flags to be used to verify the peer
+certificate when a TLS connection is established.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspconnection.h"
+ line="96"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="598">TRUE if the validation flags are set correctly, or FALSE if
+@conn is NULL or is not a TLS connection.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="conn" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="592">a #GstRTSPConnection</doc>
+ <type name="RTSPConnection" c:type="GstRTSPConnection*"/>
+ </instance-parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="593">the validation flags.</doc>
+ <type name="Gio.TlsCertificateFlags"
+ c:type="GTlsCertificateFlags"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_tunneled"
+ c:identifier="gst_rtsp_connection_set_tunneled">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="3391">Set the HTTP tunneling state of the connection. This must be configured before
+the @conn is connected.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspconnection.h"
+ line="221"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="conn" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="3393">a #GstRTSPConnection</doc>
+ <type name="RTSPConnection" c:type="GstRTSPConnection*"/>
+ </instance-parameter>
+ <parameter name="tunneled" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="3394">the new state</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="write"
+ c:identifier="gst_rtsp_connection_write"
+ deprecated="1"
+ deprecated-version="1.18">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="4886">Attempt to write @size bytes of @data to the connected @conn, blocking up to
+the specified @timeout. @timeout can be %NULL, in which case this function
+might block forever.
+
+This function can be cancelled with gst_rtsp_connection_flush().</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspconnection.h"
+ line="357"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="4899">#GST_RTSP_OK on success.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="conn" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="4888">a #GstRTSPConnection</doc>
+ <type name="RTSPConnection" c:type="GstRTSPConnection*"/>
+ </instance-parameter>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="4889">the data to write</doc>
+ <type name="guint8" c:type="const guint8*"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="4890">the size of @data</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="timeout" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="4891">a timeout value or %NULL</doc>
+ <type name="GLib.TimeVal" c:type="GTimeVal*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="write_usec"
+ c:identifier="gst_rtsp_connection_write_usec"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="1611">Attempt to write @size bytes of @data to the connected @conn, blocking up to
+the specified @timeout. @timeout can be 0, in which case this function
+might block forever.
+
+This function can be cancelled with gst_rtsp_connection_flush().</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspconnection.h"
+ line="130"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="1624">#GST_RTSP_OK on success.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="conn" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="1613">a #GstRTSPConnection</doc>
+ <type name="RTSPConnection" c:type="GstRTSPConnection*"/>
+ </instance-parameter>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="1614">the data to write</doc>
+ <type name="guint8" c:type="const guint8*"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="1615">the size of @data</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="timeout" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="1616">a timeout value or 0</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ </parameters>
+ </method>
+ <function name="accept" c:identifier="gst_rtsp_connection_accept">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="485">Accept a new connection on @socket and create a new #GstRTSPConnection for
+handling communication on new socket.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspconnection.h"
+ line="76"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="494">#GST_RTSP_OK when @conn contains a valid connection.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="socket" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="487">a socket</doc>
+ <type name="Gio.Socket" c:type="GSocket*"/>
+ </parameter>
+ <parameter name="conn"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="488">storage for a #GstRTSPConnection</doc>
+ <type name="RTSPConnection" c:type="GstRTSPConnection**"/>
+ </parameter>
+ <parameter name="cancellable"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="489">a #GCancellable to cancel the operation</doc>
+ <type name="Gio.Cancellable" c:type="GCancellable*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="create" c:identifier="gst_rtsp_connection_create">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="329">Create a newly allocated #GstRTSPConnection from @url and store it in @conn.
+The connection will not yet attempt to connect to @url, use
+gst_rtsp_connection_connect().
+
+A copy of @url will be made.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspconnection.h"
+ line="66"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="340">#GST_RTSP_OK when @conn contains a valid connection.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="url" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="331">a #GstRTSPUrl</doc>
+ <type name="RTSPUrl" c:type="const GstRTSPUrl*"/>
+ </parameter>
+ <parameter name="conn"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="332">storage for a #GstRTSPConnection</doc>
+ <type name="RTSPConnection" c:type="GstRTSPConnection**"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="create_from_socket"
+ c:identifier="gst_rtsp_connection_create_from_socket">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="408">Create a new #GstRTSPConnection for handling communication on the existing
+socket @socket. The @initial_buffer contains zero terminated data already
+read from @socket which should be used before starting to read new data.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspconnection.h"
+ line="69"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="420">#GST_RTSP_OK when @conn contains a valid connection.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="socket" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="410">a #GSocket</doc>
+ <type name="Gio.Socket" c:type="GSocket*"/>
+ </parameter>
+ <parameter name="ip" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="411">the IP address of the other end</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="port" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="412">the port used by the other end</doc>
+ <type name="guint16" c:type="guint16"/>
+ </parameter>
+ <parameter name="initial_buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="413">data already read from @fd</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="conn"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="414">storage for a #GstRTSPConnection</doc>
+ <type name="RTSPConnection" c:type="GstRTSPConnection**"/>
+ </parameter>
+ </parameters>
+ </function>
+ </record>
+ <callback name="RTSPConnectionAcceptCertificateFunc"
+ c:type="GstRTSPConnectionAcceptCertificateFunc">
+ <source-position filename="gst-libs/gst/rtsp/gstrtspconnection.h"
+ line="113"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="conn" transfer-ownership="none">
+ <type name="Gio.TlsConnection" c:type="GTlsConnection*"/>
+ </parameter>
+ <parameter name="peer_cert" transfer-ownership="none">
+ <type name="Gio.TlsCertificate" c:type="GTlsCertificate*"/>
+ </parameter>
+ <parameter name="errors" transfer-ownership="none">
+ <type name="Gio.TlsCertificateFlags" c:type="GTlsCertificateFlags"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1"
+ closure="3">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <bitfield name="RTSPEvent"
+ glib:type-name="GstRTSPEvent"
+ glib:get-type="gst_rtsp_event_get_type"
+ c:type="GstRTSPEvent">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.h"
+ line="111">The possible events for the connection.</doc>
+ <member name="read"
+ value="1"
+ c:identifier="GST_RTSP_EV_READ"
+ glib:nick="read">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.h"
+ line="113">connection is readable</doc>
+ </member>
+ <member name="write"
+ value="2"
+ c:identifier="GST_RTSP_EV_WRITE"
+ glib:nick="write">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.h"
+ line="114">connection is writable</doc>
+ </member>
+ </bitfield>
+ <interface name="RTSPExtension"
+ c:symbol-prefix="rtsp_extension"
+ c:type="GstRTSPExtension"
+ glib:type-name="GstRTSPExtension"
+ glib:get-type="gst_rtsp_extension_get_type"
+ glib:type-struct="RTSPExtensionInterface">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspextension.c"
+ line="22">This interface is implemented e.g. by the Windows Media Streaming RTSP
+ exentension (rtspwms) and the RealMedia RTSP extension (rtspreal).</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspextension.h"
+ line="77"/>
+ <virtual-method name="after_send" invoker="after_send">
+ <source-position filename="gst-libs/gst/rtsp/gstrtspextension.h"
+ line="58"/>
+ <return-value transfer-ownership="none">
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="ext" transfer-ownership="none">
+ <type name="RTSPExtension" c:type="GstRTSPExtension*"/>
+ </instance-parameter>
+ <parameter name="req" transfer-ownership="none">
+ <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
+ </parameter>
+ <parameter name="resp" transfer-ownership="none">
+ <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="before_send" invoker="before_send">
+ <source-position filename="gst-libs/gst/rtsp/gstrtspextension.h"
+ line="57"/>
+ <return-value transfer-ownership="none">
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="ext" transfer-ownership="none">
+ <type name="RTSPExtension" c:type="GstRTSPExtension*"/>
+ </instance-parameter>
+ <parameter name="req" transfer-ownership="none">
+ <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="configure_stream" invoker="configure_stream">
+ <source-position filename="gst-libs/gst/rtsp/gstrtspextension.h"
+ line="63"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="ext" transfer-ownership="none">
+ <type name="RTSPExtension" c:type="GstRTSPExtension*"/>
+ </instance-parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="detect_server" invoker="detect_server">
+ <source-position filename="gst-libs/gst/rtsp/gstrtspextension.h"
+ line="55"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="ext" transfer-ownership="none">
+ <type name="RTSPExtension" c:type="GstRTSPExtension*"/>
+ </instance-parameter>
+ <parameter name="resp" transfer-ownership="none">
+ <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="get_transports" invoker="get_transports">
+ <source-position filename="gst-libs/gst/rtsp/gstrtspextension.h"
+ line="65"/>
+ <return-value transfer-ownership="none">
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="ext" transfer-ownership="none">
+ <type name="RTSPExtension" c:type="GstRTSPExtension*"/>
+ </instance-parameter>
+ <parameter name="protocols" transfer-ownership="none">
+ <type name="RTSPLowerTrans" c:type="GstRTSPLowerTrans"/>
+ </parameter>
+ <parameter name="transport" transfer-ownership="none">
+ <type name="utf8" c:type="gchar**"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="parse_sdp" invoker="parse_sdp">
+ <source-position filename="gst-libs/gst/rtsp/gstrtspextension.h"
+ line="60"/>
+ <return-value transfer-ownership="none">
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="ext" transfer-ownership="none">
+ <type name="RTSPExtension" c:type="GstRTSPExtension*"/>
+ </instance-parameter>
+ <parameter name="sdp" transfer-ownership="none">
+ <type name="GstSdp.SDPMessage" c:type="GstSDPMessage*"/>
+ </parameter>
+ <parameter name="s" transfer-ownership="none">
+ <type name="Gst.Structure" c:type="GstStructure*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="receive_request" invoker="receive_request">
+ <source-position filename="gst-libs/gst/rtsp/gstrtspextension.h"
+ line="73"/>
+ <return-value transfer-ownership="none">
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="ext" transfer-ownership="none">
+ <type name="RTSPExtension" c:type="GstRTSPExtension*"/>
+ </instance-parameter>
+ <parameter name="req" transfer-ownership="none">
+ <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="send" invoker="send">
+ <source-position filename="gst-libs/gst/rtsp/gstrtspextension.h"
+ line="70"/>
+ <return-value transfer-ownership="none">
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="ext" transfer-ownership="none">
+ <type name="RTSPExtension" c:type="GstRTSPExtension*"/>
+ </instance-parameter>
+ <parameter name="req" transfer-ownership="none">
+ <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
+ </parameter>
+ <parameter name="resp" transfer-ownership="none">
+ <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="setup_media" invoker="setup_media">
+ <source-position filename="gst-libs/gst/rtsp/gstrtspextension.h"
+ line="61"/>
+ <return-value transfer-ownership="none">
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="ext" transfer-ownership="none">
+ <type name="RTSPExtension" c:type="GstRTSPExtension*"/>
+ </instance-parameter>
+ <parameter name="media" transfer-ownership="none">
+ <type name="GstSdp.SDPMedia" c:type="GstSDPMedia*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="stream_select" invoker="stream_select">
+ <source-position filename="gst-libs/gst/rtsp/gstrtspextension.h"
+ line="67"/>
+ <return-value transfer-ownership="none">
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="ext" transfer-ownership="none">
+ <type name="RTSPExtension" c:type="GstRTSPExtension*"/>
+ </instance-parameter>
+ <parameter name="url" transfer-ownership="none">
+ <type name="RTSPUrl" c:type="GstRTSPUrl*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <method name="after_send" c:identifier="gst_rtsp_extension_after_send">
+ <source-position filename="gst-libs/gst/rtsp/gstrtspextension.h"
+ line="91"/>
+ <return-value transfer-ownership="none">
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="ext" transfer-ownership="none">
+ <type name="RTSPExtension" c:type="GstRTSPExtension*"/>
+ </instance-parameter>
+ <parameter name="req" transfer-ownership="none">
+ <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
+ </parameter>
+ <parameter name="resp" transfer-ownership="none">
+ <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="before_send" c:identifier="gst_rtsp_extension_before_send">
+ <source-position filename="gst-libs/gst/rtsp/gstrtspextension.h"
+ line="88"/>
+ <return-value transfer-ownership="none">
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="ext" transfer-ownership="none">
+ <type name="RTSPExtension" c:type="GstRTSPExtension*"/>
+ </instance-parameter>
+ <parameter name="req" transfer-ownership="none">
+ <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="configure_stream"
+ c:identifier="gst_rtsp_extension_configure_stream">
+ <source-position filename="gst-libs/gst/rtsp/gstrtspextension.h"
+ line="102"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="ext" transfer-ownership="none">
+ <type name="RTSPExtension" c:type="GstRTSPExtension*"/>
+ </instance-parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="detect_server"
+ c:identifier="gst_rtsp_extension_detect_server">
+ <source-position filename="gst-libs/gst/rtsp/gstrtspextension.h"
+ line="85"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="ext" transfer-ownership="none">
+ <type name="RTSPExtension" c:type="GstRTSPExtension*"/>
+ </instance-parameter>
+ <parameter name="resp" transfer-ownership="none">
+ <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_transports"
+ c:identifier="gst_rtsp_extension_get_transports">
+ <source-position filename="gst-libs/gst/rtsp/gstrtspextension.h"
+ line="105"/>
+ <return-value transfer-ownership="none">
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="ext" transfer-ownership="none">
+ <type name="RTSPExtension" c:type="GstRTSPExtension*"/>
+ </instance-parameter>
+ <parameter name="protocols" transfer-ownership="none">
+ <type name="RTSPLowerTrans" c:type="GstRTSPLowerTrans"/>
+ </parameter>
+ <parameter name="transport" transfer-ownership="none">
+ <type name="utf8" c:type="gchar**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_sdp" c:identifier="gst_rtsp_extension_parse_sdp">
+ <source-position filename="gst-libs/gst/rtsp/gstrtspextension.h"
+ line="95"/>
+ <return-value transfer-ownership="none">
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="ext" transfer-ownership="none">
+ <type name="RTSPExtension" c:type="GstRTSPExtension*"/>
+ </instance-parameter>
+ <parameter name="sdp" transfer-ownership="none">
+ <type name="GstSdp.SDPMessage" c:type="GstSDPMessage*"/>
+ </parameter>
+ <parameter name="s" transfer-ownership="none">
+ <type name="Gst.Structure" c:type="GstStructure*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="receive_request"
+ c:identifier="gst_rtsp_extension_receive_request">
+ <source-position filename="gst-libs/gst/rtsp/gstrtspextension.h"
+ line="112"/>
+ <return-value transfer-ownership="none">
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="ext" transfer-ownership="none">
+ <type name="RTSPExtension" c:type="GstRTSPExtension*"/>
+ </instance-parameter>
+ <parameter name="req" transfer-ownership="none">
+ <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="send" c:identifier="gst_rtsp_extension_send">
+ <source-position filename="gst-libs/gst/rtsp/gstrtspextension.h"
+ line="117"/>
+ <return-value transfer-ownership="none">
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="ext" transfer-ownership="none">
+ <type name="RTSPExtension" c:type="GstRTSPExtension*"/>
+ </instance-parameter>
+ <parameter name="req" transfer-ownership="none">
+ <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
+ </parameter>
+ <parameter name="resp" transfer-ownership="none">
+ <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="setup_media" c:identifier="gst_rtsp_extension_setup_media">
+ <source-position filename="gst-libs/gst/rtsp/gstrtspextension.h"
+ line="99"/>
+ <return-value transfer-ownership="none">
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="ext" transfer-ownership="none">
+ <type name="RTSPExtension" c:type="GstRTSPExtension*"/>
+ </instance-parameter>
+ <parameter name="media" transfer-ownership="none">
+ <type name="GstSdp.SDPMedia" c:type="GstSDPMedia*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="stream_select"
+ c:identifier="gst_rtsp_extension_stream_select">
+ <source-position filename="gst-libs/gst/rtsp/gstrtspextension.h"
+ line="109"/>
+ <return-value transfer-ownership="none">
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="ext" transfer-ownership="none">
+ <type name="RTSPExtension" c:type="GstRTSPExtension*"/>
+ </instance-parameter>
+ <parameter name="url" transfer-ownership="none">
+ <type name="RTSPUrl" c:type="GstRTSPUrl*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <glib:signal name="send" when="last">
+ <return-value transfer-ownership="none">
+ <type name="RTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="object"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="p0"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ </interface>
+ <record name="RTSPExtensionInterface"
+ c:type="GstRTSPExtensionInterface"
+ glib:is-gtype-struct-for="RTSPExtension">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspextension.h"
+ line="43">An interface representing RTSP extensions.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspextension.h"
+ line="77"/>
+ <field name="parent">
+ <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
+ </field>
+ <field name="detect_server">
+ <callback name="detect_server">
+ <source-position filename="gst-libs/gst/rtsp/gstrtspextension.h"
+ line="55"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="ext" transfer-ownership="none">
+ <type name="RTSPExtension" c:type="GstRTSPExtension*"/>
+ </parameter>
+ <parameter name="resp" transfer-ownership="none">
+ <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="before_send">
+ <callback name="before_send">
+ <source-position filename="gst-libs/gst/rtsp/gstrtspextension.h"
+ line="57"/>
+ <return-value transfer-ownership="none">
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="ext" transfer-ownership="none">
+ <type name="RTSPExtension" c:type="GstRTSPExtension*"/>
+ </parameter>
+ <parameter name="req" transfer-ownership="none">
+ <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="after_send">
+ <callback name="after_send">
+ <source-position filename="gst-libs/gst/rtsp/gstrtspextension.h"
+ line="58"/>
+ <return-value transfer-ownership="none">
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="ext" transfer-ownership="none">
+ <type name="RTSPExtension" c:type="GstRTSPExtension*"/>
+ </parameter>
+ <parameter name="req" transfer-ownership="none">
+ <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
+ </parameter>
+ <parameter name="resp" transfer-ownership="none">
+ <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="parse_sdp">
+ <callback name="parse_sdp">
+ <source-position filename="gst-libs/gst/rtsp/gstrtspextension.h"
+ line="60"/>
+ <return-value transfer-ownership="none">
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="ext" transfer-ownership="none">
+ <type name="RTSPExtension" c:type="GstRTSPExtension*"/>
+ </parameter>
+ <parameter name="sdp" transfer-ownership="none">
+ <type name="GstSdp.SDPMessage" c:type="GstSDPMessage*"/>
+ </parameter>
+ <parameter name="s" transfer-ownership="none">
+ <type name="Gst.Structure" c:type="GstStructure*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="setup_media">
+ <callback name="setup_media">
+ <source-position filename="gst-libs/gst/rtsp/gstrtspextension.h"
+ line="61"/>
+ <return-value transfer-ownership="none">
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="ext" transfer-ownership="none">
+ <type name="RTSPExtension" c:type="GstRTSPExtension*"/>
+ </parameter>
+ <parameter name="media" transfer-ownership="none">
+ <type name="GstSdp.SDPMedia" c:type="GstSDPMedia*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="configure_stream">
+ <callback name="configure_stream">
+ <source-position filename="gst-libs/gst/rtsp/gstrtspextension.h"
+ line="63"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="ext" transfer-ownership="none">
+ <type name="RTSPExtension" c:type="GstRTSPExtension*"/>
+ </parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="get_transports">
+ <callback name="get_transports">
+ <source-position filename="gst-libs/gst/rtsp/gstrtspextension.h"
+ line="65"/>
+ <return-value transfer-ownership="none">
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="ext" transfer-ownership="none">
+ <type name="RTSPExtension" c:type="GstRTSPExtension*"/>
+ </parameter>
+ <parameter name="protocols" transfer-ownership="none">
+ <type name="RTSPLowerTrans" c:type="GstRTSPLowerTrans"/>
+ </parameter>
+ <parameter name="transport" transfer-ownership="none">
+ <type name="utf8" c:type="gchar**"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="stream_select">
+ <callback name="stream_select">
+ <source-position filename="gst-libs/gst/rtsp/gstrtspextension.h"
+ line="67"/>
+ <return-value transfer-ownership="none">
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="ext" transfer-ownership="none">
+ <type name="RTSPExtension" c:type="GstRTSPExtension*"/>
+ </parameter>
+ <parameter name="url" transfer-ownership="none">
+ <type name="RTSPUrl" c:type="GstRTSPUrl*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="send">
+ <callback name="send">
+ <source-position filename="gst-libs/gst/rtsp/gstrtspextension.h"
+ line="70"/>
+ <return-value transfer-ownership="none">
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="ext" transfer-ownership="none">
+ <type name="RTSPExtension" c:type="GstRTSPExtension*"/>
+ </parameter>
+ <parameter name="req" transfer-ownership="none">
+ <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
+ </parameter>
+ <parameter name="resp" transfer-ownership="none">
+ <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="receive_request">
+ <callback name="receive_request">
+ <source-position filename="gst-libs/gst/rtsp/gstrtspextension.h"
+ line="73"/>
+ <return-value transfer-ownership="none">
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="ext" transfer-ownership="none">
+ <type name="RTSPExtension" c:type="GstRTSPExtension*"/>
+ </parameter>
+ <parameter name="req" transfer-ownership="none">
+ <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <enumeration name="RTSPFamily"
+ glib:type-name="GstRTSPFamily"
+ glib:get-type="gst_rtsp_family_get_type"
+ c:type="GstRTSPFamily">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.h"
+ line="123">The possible network families.</doc>
+ <member name="none"
+ value="0"
+ c:identifier="GST_RTSP_FAM_NONE"
+ glib:nick="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.h"
+ line="125">unknown network family</doc>
+ </member>
+ <member name="inet"
+ value="1"
+ c:identifier="GST_RTSP_FAM_INET"
+ glib:nick="inet">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.h"
+ line="126">internet</doc>
+ </member>
+ <member name="inet6"
+ value="2"
+ c:identifier="GST_RTSP_FAM_INET6"
+ glib:nick="inet6">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.h"
+ line="127">internet V6</doc>
+ </member>
+ </enumeration>
+ <enumeration name="RTSPHeaderField"
+ glib:type-name="GstRTSPHeaderField"
+ glib:get-type="gst_rtsp_header_field_get_type"
+ c:type="GstRTSPHeaderField">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.h"
+ line="230">Enumeration of rtsp header fields</doc>
+ <member name="invalid"
+ value="0"
+ c:identifier="GST_RTSP_HDR_INVALID"
+ glib:nick="invalid">
+ </member>
+ <member name="accept"
+ value="1"
+ c:identifier="GST_RTSP_HDR_ACCEPT"
+ glib:nick="accept">
+ </member>
+ <member name="accept_encoding"
+ value="2"
+ c:identifier="GST_RTSP_HDR_ACCEPT_ENCODING"
+ glib:nick="accept-encoding">
+ </member>
+ <member name="accept_language"
+ value="3"
+ c:identifier="GST_RTSP_HDR_ACCEPT_LANGUAGE"
+ glib:nick="accept-language">
+ </member>
+ <member name="allow"
+ value="4"
+ c:identifier="GST_RTSP_HDR_ALLOW"
+ glib:nick="allow">
+ </member>
+ <member name="authorization"
+ value="5"
+ c:identifier="GST_RTSP_HDR_AUTHORIZATION"
+ glib:nick="authorization">
+ </member>
+ <member name="bandwidth"
+ value="6"
+ c:identifier="GST_RTSP_HDR_BANDWIDTH"
+ glib:nick="bandwidth">
+ </member>
+ <member name="blocksize"
+ value="7"
+ c:identifier="GST_RTSP_HDR_BLOCKSIZE"
+ glib:nick="blocksize">
+ </member>
+ <member name="cache_control"
+ value="8"
+ c:identifier="GST_RTSP_HDR_CACHE_CONTROL"
+ glib:nick="cache-control">
+ </member>
+ <member name="conference"
+ value="9"
+ c:identifier="GST_RTSP_HDR_CONFERENCE"
+ glib:nick="conference">
+ </member>
+ <member name="connection"
+ value="10"
+ c:identifier="GST_RTSP_HDR_CONNECTION"
+ glib:nick="connection">
+ </member>
+ <member name="content_base"
+ value="11"
+ c:identifier="GST_RTSP_HDR_CONTENT_BASE"
+ glib:nick="content-base">
+ </member>
+ <member name="content_encoding"
+ value="12"
+ c:identifier="GST_RTSP_HDR_CONTENT_ENCODING"
+ glib:nick="content-encoding">
+ </member>
+ <member name="content_language"
+ value="13"
+ c:identifier="GST_RTSP_HDR_CONTENT_LANGUAGE"
+ glib:nick="content-language">
+ </member>
+ <member name="content_length"
+ value="14"
+ c:identifier="GST_RTSP_HDR_CONTENT_LENGTH"
+ glib:nick="content-length">
+ </member>
+ <member name="content_location"
+ value="15"
+ c:identifier="GST_RTSP_HDR_CONTENT_LOCATION"
+ glib:nick="content-location">
+ </member>
+ <member name="content_type"
+ value="16"
+ c:identifier="GST_RTSP_HDR_CONTENT_TYPE"
+ glib:nick="content-type">
+ </member>
+ <member name="cseq"
+ value="17"
+ c:identifier="GST_RTSP_HDR_CSEQ"
+ glib:nick="cseq">
+ </member>
+ <member name="date"
+ value="18"
+ c:identifier="GST_RTSP_HDR_DATE"
+ glib:nick="date">
+ </member>
+ <member name="expires"
+ value="19"
+ c:identifier="GST_RTSP_HDR_EXPIRES"
+ glib:nick="expires">
+ </member>
+ <member name="from"
+ value="20"
+ c:identifier="GST_RTSP_HDR_FROM"
+ glib:nick="from">
+ </member>
+ <member name="if_modified_since"
+ value="21"
+ c:identifier="GST_RTSP_HDR_IF_MODIFIED_SINCE"
+ glib:nick="if-modified-since">
+ </member>
+ <member name="last_modified"
+ value="22"
+ c:identifier="GST_RTSP_HDR_LAST_MODIFIED"
+ glib:nick="last-modified">
+ </member>
+ <member name="proxy_authenticate"
+ value="23"
+ c:identifier="GST_RTSP_HDR_PROXY_AUTHENTICATE"
+ glib:nick="proxy-authenticate">
+ </member>
+ <member name="proxy_require"
+ value="24"
+ c:identifier="GST_RTSP_HDR_PROXY_REQUIRE"
+ glib:nick="proxy-require">
+ </member>
+ <member name="public"
+ value="25"
+ c:identifier="GST_RTSP_HDR_PUBLIC"
+ glib:nick="public">
+ </member>
+ <member name="range"
+ value="26"
+ c:identifier="GST_RTSP_HDR_RANGE"
+ glib:nick="range">
+ </member>
+ <member name="referer"
+ value="27"
+ c:identifier="GST_RTSP_HDR_REFERER"
+ glib:nick="referer">
+ </member>
+ <member name="require"
+ value="28"
+ c:identifier="GST_RTSP_HDR_REQUIRE"
+ glib:nick="require">
+ </member>
+ <member name="retry_after"
+ value="29"
+ c:identifier="GST_RTSP_HDR_RETRY_AFTER"
+ glib:nick="retry-after">
+ </member>
+ <member name="rtp_info"
+ value="30"
+ c:identifier="GST_RTSP_HDR_RTP_INFO"
+ glib:nick="rtp-info">
+ </member>
+ <member name="scale"
+ value="31"
+ c:identifier="GST_RTSP_HDR_SCALE"
+ glib:nick="scale">
+ </member>
+ <member name="session"
+ value="32"
+ c:identifier="GST_RTSP_HDR_SESSION"
+ glib:nick="session">
+ </member>
+ <member name="server"
+ value="33"
+ c:identifier="GST_RTSP_HDR_SERVER"
+ glib:nick="server">
+ </member>
+ <member name="speed"
+ value="34"
+ c:identifier="GST_RTSP_HDR_SPEED"
+ glib:nick="speed">
+ </member>
+ <member name="transport"
+ value="35"
+ c:identifier="GST_RTSP_HDR_TRANSPORT"
+ glib:nick="transport">
+ </member>
+ <member name="unsupported"
+ value="36"
+ c:identifier="GST_RTSP_HDR_UNSUPPORTED"
+ glib:nick="unsupported">
+ </member>
+ <member name="user_agent"
+ value="37"
+ c:identifier="GST_RTSP_HDR_USER_AGENT"
+ glib:nick="user-agent">
+ </member>
+ <member name="via"
+ value="38"
+ c:identifier="GST_RTSP_HDR_VIA"
+ glib:nick="via">
+ </member>
+ <member name="www_authenticate"
+ value="39"
+ c:identifier="GST_RTSP_HDR_WWW_AUTHENTICATE"
+ glib:nick="www-authenticate">
+ </member>
+ <member name="client_challenge"
+ value="40"
+ c:identifier="GST_RTSP_HDR_CLIENT_CHALLENGE"
+ glib:nick="client-challenge">
+ </member>
+ <member name="real_challenge1"
+ value="41"
+ c:identifier="GST_RTSP_HDR_REAL_CHALLENGE1"
+ glib:nick="real-challenge1">
+ </member>
+ <member name="real_challenge2"
+ value="42"
+ c:identifier="GST_RTSP_HDR_REAL_CHALLENGE2"
+ glib:nick="real-challenge2">
+ </member>
+ <member name="real_challenge3"
+ value="43"
+ c:identifier="GST_RTSP_HDR_REAL_CHALLENGE3"
+ glib:nick="real-challenge3">
+ </member>
+ <member name="subscribe"
+ value="44"
+ c:identifier="GST_RTSP_HDR_SUBSCRIBE"
+ glib:nick="subscribe">
+ </member>
+ <member name="alert"
+ value="45"
+ c:identifier="GST_RTSP_HDR_ALERT"
+ glib:nick="alert">
+ </member>
+ <member name="client_id"
+ value="46"
+ c:identifier="GST_RTSP_HDR_CLIENT_ID"
+ glib:nick="client-id">
+ </member>
+ <member name="company_id"
+ value="47"
+ c:identifier="GST_RTSP_HDR_COMPANY_ID"
+ glib:nick="company-id">
+ </member>
+ <member name="guid"
+ value="48"
+ c:identifier="GST_RTSP_HDR_GUID"
+ glib:nick="guid">
+ </member>
+ <member name="region_data"
+ value="49"
+ c:identifier="GST_RTSP_HDR_REGION_DATA"
+ glib:nick="region-data">
+ </member>
+ <member name="max_asm_width"
+ value="50"
+ c:identifier="GST_RTSP_HDR_MAX_ASM_WIDTH"
+ glib:nick="max-asm-width">
+ </member>
+ <member name="language"
+ value="51"
+ c:identifier="GST_RTSP_HDR_LANGUAGE"
+ glib:nick="language">
+ </member>
+ <member name="player_start_time"
+ value="52"
+ c:identifier="GST_RTSP_HDR_PLAYER_START_TIME"
+ glib:nick="player-start-time">
+ </member>
+ <member name="location"
+ value="53"
+ c:identifier="GST_RTSP_HDR_LOCATION"
+ glib:nick="location">
+ </member>
+ <member name="etag"
+ value="54"
+ c:identifier="GST_RTSP_HDR_ETAG"
+ glib:nick="etag">
+ </member>
+ <member name="if_match"
+ value="55"
+ c:identifier="GST_RTSP_HDR_IF_MATCH"
+ glib:nick="if-match">
+ </member>
+ <member name="accept_charset"
+ value="56"
+ c:identifier="GST_RTSP_HDR_ACCEPT_CHARSET"
+ glib:nick="accept-charset">
+ </member>
+ <member name="supported"
+ value="57"
+ c:identifier="GST_RTSP_HDR_SUPPORTED"
+ glib:nick="supported">
+ </member>
+ <member name="vary"
+ value="58"
+ c:identifier="GST_RTSP_HDR_VARY"
+ glib:nick="vary">
+ </member>
+ <member name="x_accelerate_streaming"
+ value="59"
+ c:identifier="GST_RTSP_HDR_X_ACCELERATE_STREAMING"
+ glib:nick="x-accelerate-streaming">
+ </member>
+ <member name="x_accept_authent"
+ value="60"
+ c:identifier="GST_RTSP_HDR_X_ACCEPT_AUTHENT"
+ glib:nick="x-accept-authent">
+ </member>
+ <member name="x_accept_proxy_authent"
+ value="61"
+ c:identifier="GST_RTSP_HDR_X_ACCEPT_PROXY_AUTHENT"
+ glib:nick="x-accept-proxy-authent">
+ </member>
+ <member name="x_broadcast_id"
+ value="62"
+ c:identifier="GST_RTSP_HDR_X_BROADCAST_ID"
+ glib:nick="x-broadcast-id">
+ </member>
+ <member name="x_burst_streaming"
+ value="63"
+ c:identifier="GST_RTSP_HDR_X_BURST_STREAMING"
+ glib:nick="x-burst-streaming">
+ </member>
+ <member name="x_notice"
+ value="64"
+ c:identifier="GST_RTSP_HDR_X_NOTICE"
+ glib:nick="x-notice">
+ </member>
+ <member name="x_player_lag_time"
+ value="65"
+ c:identifier="GST_RTSP_HDR_X_PLAYER_LAG_TIME"
+ glib:nick="x-player-lag-time">
+ </member>
+ <member name="x_playlist"
+ value="66"
+ c:identifier="GST_RTSP_HDR_X_PLAYLIST"
+ glib:nick="x-playlist">
+ </member>
+ <member name="x_playlist_change_notice"
+ value="67"
+ c:identifier="GST_RTSP_HDR_X_PLAYLIST_CHANGE_NOTICE"
+ glib:nick="x-playlist-change-notice">
+ </member>
+ <member name="x_playlist_gen_id"
+ value="68"
+ c:identifier="GST_RTSP_HDR_X_PLAYLIST_GEN_ID"
+ glib:nick="x-playlist-gen-id">
+ </member>
+ <member name="x_playlist_seek_id"
+ value="69"
+ c:identifier="GST_RTSP_HDR_X_PLAYLIST_SEEK_ID"
+ glib:nick="x-playlist-seek-id">
+ </member>
+ <member name="x_proxy_client_agent"
+ value="70"
+ c:identifier="GST_RTSP_HDR_X_PROXY_CLIENT_AGENT"
+ glib:nick="x-proxy-client-agent">
+ </member>
+ <member name="x_proxy_client_verb"
+ value="71"
+ c:identifier="GST_RTSP_HDR_X_PROXY_CLIENT_VERB"
+ glib:nick="x-proxy-client-verb">
+ </member>
+ <member name="x_receding_playlistchange"
+ value="72"
+ c:identifier="GST_RTSP_HDR_X_RECEDING_PLAYLISTCHANGE"
+ glib:nick="x-receding-playlistchange">
+ </member>
+ <member name="x_rtp_info"
+ value="73"
+ c:identifier="GST_RTSP_HDR_X_RTP_INFO"
+ glib:nick="x-rtp-info">
+ </member>
+ <member name="x_startupprofile"
+ value="74"
+ c:identifier="GST_RTSP_HDR_X_STARTUPPROFILE"
+ glib:nick="x-startupprofile">
+ </member>
+ <member name="timestamp"
+ value="75"
+ c:identifier="GST_RTSP_HDR_TIMESTAMP"
+ glib:nick="timestamp">
+ </member>
+ <member name="authentication_info"
+ value="76"
+ c:identifier="GST_RTSP_HDR_AUTHENTICATION_INFO"
+ glib:nick="authentication-info">
+ </member>
+ <member name="host"
+ value="77"
+ c:identifier="GST_RTSP_HDR_HOST"
+ glib:nick="host">
+ </member>
+ <member name="pragma"
+ value="78"
+ c:identifier="GST_RTSP_HDR_PRAGMA"
+ glib:nick="pragma">
+ </member>
+ <member name="x_server_ip_address"
+ value="79"
+ c:identifier="GST_RTSP_HDR_X_SERVER_IP_ADDRESS"
+ glib:nick="x-server-ip-address">
+ </member>
+ <member name="x_sessioncookie"
+ value="80"
+ c:identifier="GST_RTSP_HDR_X_SESSIONCOOKIE"
+ glib:nick="x-sessioncookie">
+ </member>
+ <member name="rtcp_interval"
+ value="81"
+ c:identifier="GST_RTSP_HDR_RTCP_INTERVAL"
+ glib:nick="rtcp-interval">
+ </member>
+ <member name="keymgmt"
+ value="82"
+ c:identifier="GST_RTSP_HDR_KEYMGMT"
+ glib:nick="keymgmt">
+ </member>
+ <member name="pipelined_requests"
+ value="83"
+ c:identifier="GST_RTSP_HDR_PIPELINED_REQUESTS"
+ glib:nick="pipelined-requests">
+ </member>
+ <member name="media_properties"
+ value="84"
+ c:identifier="GST_RTSP_HDR_MEDIA_PROPERTIES"
+ glib:nick="media-properties">
+ </member>
+ <member name="seek_style"
+ value="85"
+ c:identifier="GST_RTSP_HDR_SEEK_STYLE"
+ glib:nick="seek-style">
+ </member>
+ <member name="accept_ranges"
+ value="86"
+ c:identifier="GST_RTSP_HDR_ACCEPT_RANGES"
+ glib:nick="accept-ranges">
+ </member>
+ <member name="frames"
+ value="87"
+ c:identifier="GST_RTSP_HDR_FRAMES"
+ glib:nick="frames">
+ </member>
+ <member name="rate_control"
+ value="88"
+ c:identifier="GST_RTSP_HDR_RATE_CONTROL"
+ glib:nick="rate-control">
+ </member>
+ <member name="last"
+ value="89"
+ c:identifier="GST_RTSP_HDR_LAST"
+ glib:nick="last">
+ </member>
+ </enumeration>
+ <bitfield name="RTSPLowerTrans"
+ glib:type-name="GstRTSPLowerTrans"
+ glib:get-type="gst_rtsp_lower_trans_get_type"
+ c:type="GstRTSPLowerTrans">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsptransport.h"
+ line="86">The different transport methods.</doc>
+ <member name="unknown"
+ value="0"
+ c:identifier="GST_RTSP_LOWER_TRANS_UNKNOWN"
+ glib:nick="unknown">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsptransport.h"
+ line="88">invalid transport flag</doc>
+ </member>
+ <member name="udp"
+ value="1"
+ c:identifier="GST_RTSP_LOWER_TRANS_UDP"
+ glib:nick="udp">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsptransport.h"
+ line="89">stream data over UDP</doc>
+ </member>
+ <member name="udp_mcast"
+ value="2"
+ c:identifier="GST_RTSP_LOWER_TRANS_UDP_MCAST"
+ glib:nick="udp-mcast">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsptransport.h"
+ line="90">stream data over UDP multicast</doc>
+ </member>
+ <member name="tcp"
+ value="4"
+ c:identifier="GST_RTSP_LOWER_TRANS_TCP"
+ glib:nick="tcp">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsptransport.h"
+ line="91">stream data over TCP</doc>
+ </member>
+ <member name="http"
+ value="16"
+ c:identifier="GST_RTSP_LOWER_TRANS_HTTP"
+ glib:nick="http">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsptransport.h"
+ line="92">stream data tunneled over HTTP.</doc>
+ </member>
+ <member name="tls"
+ value="32"
+ c:identifier="GST_RTSP_LOWER_TRANS_TLS"
+ glib:nick="tls">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsptransport.h"
+ line="93">encrypt TCP and HTTP with TLS</doc>
+ </member>
+ </bitfield>
+ <record name="RTSPMessage"
+ c:type="GstRTSPMessage"
+ glib:type-name="GstRTSPMessage"
+ glib:get-type="gst_rtsp_msg_get_type"
+ c:symbol-prefix="rtsp_msg">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="45">Provides methods for creating and parsing request, response and data messages.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspmessage.h"
+ line="109"/>
+ <field name="type" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.h"
+ line="76">the message type</doc>
+ <type name="RTSPMsgType" c:type="GstRTSPMsgType"/>
+ </field>
+ <union name="type_data" c:type="type_data">
+ <source-position filename="gst-libs/gst/rtsp/gstrtspmessage.h"
+ line="99"/>
+ <record name="request" c:type="request">
+ <source-position filename="gst-libs/gst/rtsp/gstrtspmessage.h"
+ line="90"/>
+ <field name="method" writable="1">
+ <type name="RTSPMethod" c:type="GstRTSPMethod"/>
+ </field>
+ <field name="uri" writable="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="version" writable="1">
+ <type name="RTSPVersion" c:type="GstRTSPVersion"/>
+ </field>
+ </record>
+ <record name="response" c:type="response">
+ <source-position filename="gst-libs/gst/rtsp/gstrtspmessage.h"
+ line="95"/>
+ <field name="code" writable="1">
+ <type name="RTSPStatusCode" c:type="GstRTSPStatusCode"/>
+ </field>
+ <field name="reason" writable="1">
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="version" writable="1">
+ <type name="RTSPVersion" c:type="GstRTSPVersion"/>
+ </field>
+ </record>
+ <record name="data" c:type="data">
+ <source-position filename="gst-libs/gst/rtsp/gstrtspmessage.h"
+ line="98"/>
+ <field name="channel" writable="1">
+ <type name="guint8" c:type="guint8"/>
+ </field>
+ </record>
+ </union>
+ <field name="hdr_fields" readable="0" private="1">
+ <array name="GLib.Array" c:type="GArray*">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <field name="body" readable="0" private="1">
+ <type name="guint8" c:type="guint8*"/>
+ </field>
+ <field name="body_size" readable="0" private="1">
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="body_buffer" readable="0" private="1">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="3">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <method name="add_header" c:identifier="gst_rtsp_message_add_header">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="628">Add a header with key @field and @value to @msg. This function takes a copy
+of @value.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspmessage.h"
+ line="193"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="637">a #GstRTSPResult.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="630">a #GstRTSPMessage</doc>
+ <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
+ </instance-parameter>
+ <parameter name="field" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="631">a #GstRTSPHeaderField</doc>
+ <type name="RTSPHeaderField" c:type="GstRTSPHeaderField"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="632">the value of the header</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_header_by_name"
+ c:identifier="gst_rtsp_message_add_header_by_name"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="722">Add a header with key @header and @value to @msg. This function takes a copy
+of @value.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspmessage.h"
+ line="214"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="731">a #GstRTSPResult.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="724">a #GstRTSPMessage</doc>
+ <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
+ </instance-parameter>
+ <parameter name="header" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="725">header string</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="726">the value of the header</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="append_headers"
+ c:identifier="gst_rtsp_message_append_headers">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="895">Append the currently configured headers in @msg to the #GString @str suitable
+for transmission.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspmessage.h"
+ line="237"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="903">#GST_RTSP_OK.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="897">a #GstRTSPMessage</doc>
+ <type name="RTSPMessage" c:type="const GstRTSPMessage*"/>
+ </instance-parameter>
+ <parameter name="str" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="898">a string</doc>
+ <type name="GLib.String" c:type="GString*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="copy" c:identifier="gst_rtsp_message_copy" version="1.14">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="539">Allocate a new copy of @msg and store the result in @copy. The value in
+@copy should be release with gst_rtsp_message_free function.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspmessage.h"
+ line="132"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="547">a #GstRTSPResult</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="541">a #GstRTSPMessage</doc>
+ <type name="RTSPMessage" c:type="const GstRTSPMessage*"/>
+ </instance-parameter>
+ <parameter name="copy"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="542">pointer to new #GstRTSPMessage</doc>
+ <type name="RTSPMessage" c:type="GstRTSPMessage**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="dump" c:identifier="gst_rtsp_message_dump">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="1193">Dump the contents of @msg to stdout.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspmessage.h"
+ line="343"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="1199">#GST_RTSP_OK.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="1195">a #GstRTSPMessage</doc>
+ <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="free" c:identifier="gst_rtsp_message_free">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="517">Free the memory used by @msg.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspmessage.h"
+ line="130"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="523">a #GstRTSPResult.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="519">a #GstRTSPMessage</doc>
+ <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_body" c:identifier="gst_rtsp_message_get_body">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="975">Get the body of @msg. @data remains valid for as long as @msg is valid and
+unchanged.
+
+If the message body was set as a #GstBuffer before this will cause the data
+to be copied and stored in the message. The #GstBuffer will no longer be
+kept in the message.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspmessage.h"
+ line="253"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="988">#GST_RTSP_OK.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="977">a #GstRTSPMessage</doc>
+ <type name="RTSPMessage" c:type="const GstRTSPMessage*"/>
+ </instance-parameter>
+ <parameter name="data"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="978">location for the data</doc>
+ <array length="1" zero-terminated="0" c:type="guint8**">
+ <type name="guint8" c:type="guint8*"/>
+ </array>
+ </parameter>
+ <parameter name="size"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="979">location for the size of @data</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_body_buffer"
+ c:identifier="gst_rtsp_message_get_body_buffer"
+ version="1.16">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="1099">Get the body of @msg. @buffer remains valid for as long as @msg is valid and
+unchanged.
+
+If body data was set from raw memory instead of a #GstBuffer this function
+will always return %NULL. The caller can check if there is a body buffer by
+calling gst_rtsp_message_has_body_buffer().</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspmessage.h"
+ line="271"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="1111">#GST_RTSP_OK.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="1101">a #GstRTSPMessage</doc>
+ <type name="RTSPMessage" c:type="const GstRTSPMessage*"/>
+ </instance-parameter>
+ <parameter name="buffer"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="1102">location for the buffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_header" c:identifier="gst_rtsp_message_get_header">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="683">Get the @indx header value with key @field from @msg. The result in @value
+stays valid as long as it remains present in @msg.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspmessage.h"
+ line="208"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="693">#GST_RTSP_OK when @field was found, #GST_RTSP_ENOTIMPL if the key
+was not found.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="685">a #GstRTSPMessage</doc>
+ <type name="RTSPMessage" c:type="const GstRTSPMessage*"/>
+ </instance-parameter>
+ <parameter name="field" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="686">a #GstRTSPHeaderField</doc>
+ <type name="RTSPHeaderField" c:type="GstRTSPHeaderField"/>
+ </parameter>
+ <parameter name="value"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="687">pointer to hold the result</doc>
+ <type name="utf8" c:type="gchar**"/>
+ </parameter>
+ <parameter name="indx" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="688">the index of the header</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_header_by_name"
+ c:identifier="gst_rtsp_message_get_header_by_name"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="857">Get the @index header value with key @header from @msg. The result in @value
+stays valid as long as it remains present in @msg.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspmessage.h"
+ line="229"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="867">#GST_RTSP_OK when @field was found, #GST_RTSP_ENOTIMPL if the key
+was not found.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="859">a #GstRTSPMessage</doc>
+ <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
+ </instance-parameter>
+ <parameter name="header" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="860">a #GstRTSPHeaderField</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="value"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="861">pointer to hold the result</doc>
+ <type name="utf8" c:type="gchar**"/>
+ </parameter>
+ <parameter name="index" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="862">the index of the header</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_type" c:identifier="gst_rtsp_message_get_type">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="159">Get the message type of @msg.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspmessage.h"
+ line="136"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="165">the message type.</doc>
+ <type name="RTSPMsgType" c:type="GstRTSPMsgType"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="161">a #GstRTSPMessage</doc>
+ <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="has_body_buffer"
+ c:identifier="gst_rtsp_message_has_body_buffer"
+ version="1.16">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="1160">Checks if @msg has a body and the body is stored as #GstBuffer.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspmessage.h"
+ line="279"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="1166">%TRUE if @msg has a body and it's stored as #GstBuffer, %FALSE
+otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="1162">a #GstRTSPMessage</doc>
+ <type name="RTSPMessage" c:type="const GstRTSPMessage*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="init" c:identifier="gst_rtsp_message_init">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="137">Initialize @msg. This function is mostly used when @msg is allocated on the
+stack. The reverse operation of this is gst_rtsp_message_unset().</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspmessage.h"
+ line="124"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="144">a #GstRTSPResult.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="139">a #GstRTSPMessage</doc>
+ <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="init_data" c:identifier="gst_rtsp_message_init_data">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="422">Initialize a new data #GstRTSPMessage for @channel.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspmessage.h"
+ line="183"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="429">a #GstRTSPResult.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="424">a #GstRTSPMessage</doc>
+ <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
+ </instance-parameter>
+ <parameter name="channel" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="425">a channel</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="init_request" c:identifier="gst_rtsp_message_init_request">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="202">Initialize @msg as a request message with @method and @uri. To clear @msg
+again, use gst_rtsp_message_unset().</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspmessage.h"
+ line="146"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="211">a #GstRTSPResult.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="204">a #GstRTSPMessage</doc>
+ <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
+ </instance-parameter>
+ <parameter name="method" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="205">the request method to use</doc>
+ <type name="RTSPMethod" c:type="GstRTSPMethod"/>
+ </parameter>
+ <parameter name="uri" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="206">the uri of the request</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="init_response"
+ c:identifier="gst_rtsp_message_init_response">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="296">Initialize @msg with @code and @reason.
+
+When @reason is %NULL, the default reason for @code will be used.
+
+When @request is not %NULL, the relevant headers will be copied to the new
+response message.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspmessage.h"
+ line="165"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="310">a #GstRTSPResult.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="298">a #GstRTSPMessage</doc>
+ <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
+ </instance-parameter>
+ <parameter name="code" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="299">the status code</doc>
+ <type name="RTSPStatusCode" c:type="GstRTSPStatusCode"/>
+ </parameter>
+ <parameter name="reason"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="300">the status reason or %NULL</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="request"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="301">the request that triggered the response or %NULL</doc>
+ <type name="RTSPMessage" c:type="const GstRTSPMessage*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_auth_credentials"
+ c:identifier="gst_rtsp_message_parse_auth_credentials"
+ version="1.12">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="1441">Parses the credentials given in a WWW-Authenticate or Authorization header.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspmessage.h"
+ line="325"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="1448">
+ %NULL-terminated array of GstRTSPAuthCredential or %NULL.</doc>
+ <array c:type="GstRTSPAuthCredential**">
+ <type name="RTSPAuthCredential" c:type="GstRTSPAuthCredential*"/>
+ </array>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="1443">a #GstRTSPMessage</doc>
+ <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
+ </instance-parameter>
+ <parameter name="field" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="1444">a #GstRTSPHeaderField</doc>
+ <type name="RTSPHeaderField" c:type="GstRTSPHeaderField"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_data" c:identifier="gst_rtsp_message_parse_data">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="444">Parse the data message @msg and store the channel in @channel.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspmessage.h"
+ line="187"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="451">a #GstRTSPResult.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="446">a #GstRTSPMessage</doc>
+ <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
+ </instance-parameter>
+ <parameter name="channel"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="447">location to hold the channel</doc>
+ <type name="guint8" c:type="guint8*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_request"
+ c:identifier="gst_rtsp_message_parse_request">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="231">Parse the request message @msg and store the values @method, @uri and
+@version. The result locations can be %NULL if one is not interested in its
+value.
+
+@uri remains valid for as long as @msg is valid and unchanged.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspmessage.h"
+ line="151"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="244">a #GstRTSPResult.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="233">a #GstRTSPMessage</doc>
+ <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
+ </instance-parameter>
+ <parameter name="method"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="234">location to hold the method</doc>
+ <type name="RTSPMethod" c:type="GstRTSPMethod*"/>
+ </parameter>
+ <parameter name="uri"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="none"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="235">location to hold the uri</doc>
+ <type name="utf8" c:type="const gchar**"/>
+ </parameter>
+ <parameter name="version"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="none"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="236">location to hold the version</doc>
+ <type name="RTSPVersion" c:type="GstRTSPVersion*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_response"
+ c:identifier="gst_rtsp_message_parse_response">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="365">Parse the response message @msg and store the values @code, @reason and
+@version. The result locations can be %NULL if one is not interested in its
+value.
+
+@reason remains valid for as long as @msg is valid and unchanged.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspmessage.h"
+ line="171"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="378">a #GstRTSPResult.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="367">a #GstRTSPMessage</doc>
+ <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
+ </instance-parameter>
+ <parameter name="code"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="368">location to hold the status code</doc>
+ <type name="RTSPStatusCode" c:type="GstRTSPStatusCode*"/>
+ </parameter>
+ <parameter name="reason"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="none"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="369">location to hold the status reason</doc>
+ <type name="utf8" c:type="const gchar**"/>
+ </parameter>
+ <parameter name="version"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="none"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="370">location to hold the version</doc>
+ <type name="RTSPVersion" c:type="GstRTSPVersion*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="remove_header"
+ c:identifier="gst_rtsp_message_remove_header">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="646">Remove the @indx header with key @field from @msg. If @indx equals -1, all
+headers will be removed.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspmessage.h"
+ line="203"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="655">a #GstRTSPResult.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="648">a #GstRTSPMessage</doc>
+ <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
+ </instance-parameter>
+ <parameter name="field" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="649">a #GstRTSPHeaderField</doc>
+ <type name="RTSPHeaderField" c:type="GstRTSPHeaderField"/>
+ </parameter>
+ <parameter name="indx" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="650">the index of the header</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="remove_header_by_name"
+ c:identifier="gst_rtsp_message_remove_header_by_name"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="817">Remove the @index header with key @header from @msg. If @index equals -1,
+all matching headers will be removed.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspmessage.h"
+ line="224"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="826">a #GstRTSPResult</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="819">a #GstRTSPMessage</doc>
+ <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
+ </instance-parameter>
+ <parameter name="header" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="820">the header string</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="index" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="821">the index of the header</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_body" c:identifier="gst_rtsp_message_set_body">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="929">Set the body of @msg to a copy of @data. Any existing body or body buffer
+will be replaced by the new body.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspmessage.h"
+ line="243"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="938">#GST_RTSP_OK.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="931">a #GstRTSPMessage</doc>
+ <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
+ </instance-parameter>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="932">the data</doc>
+ <array length="1" zero-terminated="0" c:type="const guint8*">
+ <type name="guint8" c:type="guint8"/>
+ </array>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="933">the size of @data</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_body_buffer"
+ c:identifier="gst_rtsp_message_set_body_buffer"
+ version="1.16">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="1051">Set the body of @msg to @buffer. Any existing body or body buffer
+will be replaced by the new body.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspmessage.h"
+ line="263"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="1059">#GST_RTSP_OK.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="1053">a #GstRTSPMessage</doc>
+ <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
+ </instance-parameter>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="1054">a #GstBuffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="steal_body" c:identifier="gst_rtsp_message_steal_body">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="1014">Take the body of @msg and store it in @data and @size. After this method,
+the body and size of @msg will be set to %NULL and 0 respectively.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspmessage.h"
+ line="258"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="1023">#GST_RTSP_OK.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="1016">a #GstRTSPMessage</doc>
+ <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
+ </instance-parameter>
+ <parameter name="data"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="1017">location for the data</doc>
+ <array length="1" zero-terminated="0" c:type="guint8**">
+ <type name="guint8" c:type="guint8*"/>
+ </array>
+ </parameter>
+ <parameter name="size"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="1018">location for the size of @data</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="steal_body_buffer"
+ c:identifier="gst_rtsp_message_steal_body_buffer"
+ version="1.16">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="1127">Take the body of @msg and store it in @buffer. After this method,
+the body and size of @msg will be set to %NULL and 0 respectively.
+
+If body data was set from raw memory instead of a #GstBuffer this function
+will always return %NULL. The caller can check if there is a body buffer by
+calling gst_rtsp_message_has_body_buffer().</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspmessage.h"
+ line="275"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="1139">#GST_RTSP_OK.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="1129">a #GstRTSPMessage</doc>
+ <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
+ </instance-parameter>
+ <parameter name="buffer"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="1130">location for the buffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="take_body" c:identifier="gst_rtsp_message_take_body">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="949">Set the body of @msg to @data and @size. This method takes ownership of
+@data. Any existing body or body buffer will be replaced by the new body.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspmessage.h"
+ line="248"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="958">#GST_RTSP_OK.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="951">a #GstRTSPMessage</doc>
+ <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
+ </instance-parameter>
+ <parameter name="data" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="952">the data</doc>
+ <array length="1" zero-terminated="0" c:type="guint8*">
+ <type name="guint8" c:type="guint8"/>
+ </array>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="953">the size of @data</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="take_body_buffer"
+ c:identifier="gst_rtsp_message_take_body_buffer"
+ version="1.16">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="1072">Set the body of @msg to @buffer. This method takes ownership of @buffer.
+Any existing body or body buffer will be replaced by the new body.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspmessage.h"
+ line="267"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="1080">#GST_RTSP_OK.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="1074">a #GstRTSPMessage</doc>
+ <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
+ </instance-parameter>
+ <parameter name="buffer" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="1075">a #GstBuffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="take_header" c:identifier="gst_rtsp_message_take_header">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="599">Add a header with key @field and @value to @msg. This function takes
+ownership of @value.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspmessage.h"
+ line="198"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="608">a #GstRTSPResult.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="601">a #GstRTSPMessage</doc>
+ <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
+ </instance-parameter>
+ <parameter name="field" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="602">a #GstRTSPHeaderField</doc>
+ <type name="RTSPHeaderField" c:type="GstRTSPHeaderField"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="603">the value of the header</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="take_header_by_name"
+ c:identifier="gst_rtsp_message_take_header_by_name"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="752">Add a header with key @header and @value to @msg. This function takes
+ownership of @value, but not of @header.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspmessage.h"
+ line="219"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="761">a #GstRTSPResult.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="754">a #GstRTSPMessage</doc>
+ <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
+ </instance-parameter>
+ <parameter name="header" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="755">a header string</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="756">the value of the header</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="unset" c:identifier="gst_rtsp_message_unset">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="465">Unset the contents of @msg so that it becomes an uninitialized
+#GstRTSPMessage again. This function is mostly used in combination with
+gst_rtsp_message_init_request(), gst_rtsp_message_init_response() and
+gst_rtsp_message_init_data() on stack allocated #GstRTSPMessage structures.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspmessage.h"
+ line="127"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="474">#GST_RTSP_OK.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="467">a #GstRTSPMessage</doc>
+ <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ </record>
+ <bitfield name="RTSPMethod"
+ glib:type-name="GstRTSPMethod"
+ glib:get-type="gst_rtsp_method_get_type"
+ c:type="GstRTSPMethod">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.h"
+ line="173">The different supported RTSP methods.</doc>
+ <member name="invalid"
+ value="0"
+ c:identifier="GST_RTSP_INVALID"
+ glib:nick="invalid">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.h"
+ line="175">invalid method</doc>
+ </member>
+ <member name="describe"
+ value="1"
+ c:identifier="GST_RTSP_DESCRIBE"
+ glib:nick="describe">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.h"
+ line="176">the DESCRIBE method</doc>
+ </member>
+ <member name="announce"
+ value="2"
+ c:identifier="GST_RTSP_ANNOUNCE"
+ glib:nick="announce">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.h"
+ line="177">the ANNOUNCE method</doc>
+ </member>
+ <member name="get_parameter"
+ value="4"
+ c:identifier="GST_RTSP_GET_PARAMETER"
+ glib:nick="get-parameter">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.h"
+ line="178">the GET_PARAMETER method</doc>
+ </member>
+ <member name="options"
+ value="8"
+ c:identifier="GST_RTSP_OPTIONS"
+ glib:nick="options">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.h"
+ line="179">the OPTIONS method</doc>
+ </member>
+ <member name="pause"
+ value="16"
+ c:identifier="GST_RTSP_PAUSE"
+ glib:nick="pause">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.h"
+ line="180">the PAUSE method</doc>
+ </member>
+ <member name="play"
+ value="32"
+ c:identifier="GST_RTSP_PLAY"
+ glib:nick="play">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.h"
+ line="181">the PLAY method</doc>
+ </member>
+ <member name="record"
+ value="64"
+ c:identifier="GST_RTSP_RECORD"
+ glib:nick="record">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.h"
+ line="182">the RECORD method</doc>
+ </member>
+ <member name="redirect"
+ value="128"
+ c:identifier="GST_RTSP_REDIRECT"
+ glib:nick="redirect">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.h"
+ line="183">the REDIRECT method</doc>
+ </member>
+ <member name="setup"
+ value="256"
+ c:identifier="GST_RTSP_SETUP"
+ glib:nick="setup">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.h"
+ line="184">the SETUP method</doc>
+ </member>
+ <member name="set_parameter"
+ value="512"
+ c:identifier="GST_RTSP_SET_PARAMETER"
+ glib:nick="set-parameter">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.h"
+ line="185">the SET_PARAMETER method</doc>
+ </member>
+ <member name="teardown"
+ value="1024"
+ c:identifier="GST_RTSP_TEARDOWN"
+ glib:nick="teardown">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.h"
+ line="186">the TEARDOWN method</doc>
+ </member>
+ <member name="get"
+ value="2048"
+ c:identifier="GST_RTSP_GET"
+ glib:nick="get">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.h"
+ line="187">the GET method (HTTP).</doc>
+ </member>
+ <member name="post"
+ value="4096"
+ c:identifier="GST_RTSP_POST"
+ glib:nick="post">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.h"
+ line="188">the POST method (HTTP).</doc>
+ </member>
+ <function name="as_text" c:identifier="gst_rtsp_method_as_text">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.c"
+ line="310">Convert @method to a string.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspdefs.h"
+ line="409"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.c"
+ line="316">a string representation of @method.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="method" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.c"
+ line="312">a #GstRTSPMethod</doc>
+ <type name="RTSPMethod" c:type="GstRTSPMethod"/>
+ </parameter>
+ </parameters>
+ </function>
+ </bitfield>
+ <enumeration name="RTSPMsgType"
+ glib:type-name="GstRTSPMsgType"
+ glib:get-type="gst_rtsp_msg_type_get_type"
+ c:type="GstRTSPMsgType">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.h"
+ line="51">The type of a message.</doc>
+ <member name="invalid"
+ value="0"
+ c:identifier="GST_RTSP_MESSAGE_INVALID"
+ glib:nick="invalid">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.h"
+ line="53">invalid message type</doc>
+ </member>
+ <member name="request"
+ value="1"
+ c:identifier="GST_RTSP_MESSAGE_REQUEST"
+ glib:nick="request">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.h"
+ line="54">RTSP request message</doc>
+ </member>
+ <member name="response"
+ value="2"
+ c:identifier="GST_RTSP_MESSAGE_RESPONSE"
+ glib:nick="response">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.h"
+ line="55">RTSP response message</doc>
+ </member>
+ <member name="http_request"
+ value="3"
+ c:identifier="GST_RTSP_MESSAGE_HTTP_REQUEST"
+ glib:nick="http-request">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.h"
+ line="56">HTTP request message.</doc>
+ </member>
+ <member name="http_response"
+ value="4"
+ c:identifier="GST_RTSP_MESSAGE_HTTP_RESPONSE"
+ glib:nick="http-response">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.h"
+ line="57">HTTP response message.</doc>
+ </member>
+ <member name="data"
+ value="5"
+ c:identifier="GST_RTSP_MESSAGE_DATA"
+ glib:nick="data">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.h"
+ line="58">data message</doc>
+ </member>
+ </enumeration>
+ <bitfield name="RTSPProfile"
+ glib:type-name="GstRTSPProfile"
+ glib:get-type="gst_rtsp_profile_get_type"
+ c:type="GstRTSPProfile">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsptransport.h"
+ line="66">The transfer profile to use.</doc>
+ <member name="unknown"
+ value="0"
+ c:identifier="GST_RTSP_PROFILE_UNKNOWN"
+ glib:nick="unknown">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsptransport.h"
+ line="68">invalid profile</doc>
+ </member>
+ <member name="avp"
+ value="1"
+ c:identifier="GST_RTSP_PROFILE_AVP"
+ glib:nick="avp">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsptransport.h"
+ line="69">the Audio/Visual profile (RFC 3551)</doc>
+ </member>
+ <member name="savp"
+ value="2"
+ c:identifier="GST_RTSP_PROFILE_SAVP"
+ glib:nick="savp">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsptransport.h"
+ line="70">the secure Audio/Visual profile (RFC 3711)</doc>
+ </member>
+ <member name="avpf"
+ value="4"
+ c:identifier="GST_RTSP_PROFILE_AVPF"
+ glib:nick="avpf">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsptransport.h"
+ line="71">the Audio/Visual profile with feedback (RFC 4585)</doc>
+ </member>
+ <member name="savpf"
+ value="8"
+ c:identifier="GST_RTSP_PROFILE_SAVPF"
+ glib:nick="savpf">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsptransport.h"
+ line="72">the secure Audio/Visual profile with feedback (RFC 5124)</doc>
+ </member>
+ </bitfield>
+ <record name="RTSPRange" c:type="GstRTSPRange">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsprange.c"
+ line="43">Provides helper functions to deal with time ranges.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtsptransport.h"
+ line="120"/>
+ <field name="min" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsptransport.h"
+ line="111">minimum value of the range</doc>
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="max" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsptransport.h"
+ line="112">maximum value of the range</doc>
+ <type name="gint" c:type="gint"/>
+ </field>
+ <function name="convert_units"
+ c:identifier="gst_rtsp_range_convert_units">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsprange.c"
+ line="664">Converts the range in-place between different types of units.
+Ranges containing the special value #GST_RTSP_TIME_NOW can not be
+converted as these are only valid for #GST_RTSP_RANGE_NPT.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtsprange.h"
+ line="159"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsprange.c"
+ line="673">%TRUE if the range could be converted</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="range" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsprange.c"
+ line="666">a #GstRTSPTimeRange</doc>
+ <type name="RTSPTimeRange" c:type="GstRTSPTimeRange*"/>
+ </parameter>
+ <parameter name="unit" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsprange.c"
+ line="667">the unit to convert the range into</doc>
+ <type name="RTSPRangeUnit" c:type="GstRTSPRangeUnit"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="free" c:identifier="gst_rtsp_range_free">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsprange.c"
+ line="472">Free the memory allocated by @range.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtsprange.h"
+ line="152"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="range" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsprange.c"
+ line="474">a #GstRTSPTimeRange</doc>
+ <type name="RTSPTimeRange" c:type="GstRTSPTimeRange*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="get_times"
+ c:identifier="gst_rtsp_range_get_times"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsprange.c"
+ line="565">Retrieve the minimum and maximum values from @range converted to
+#GstClockTime in @min and @max.
+
+A value of %GST_CLOCK_TIME_NONE will be used to signal #GST_RTSP_TIME_NOW
+and #GST_RTSP_TIME_END for @min and @max respectively.
+
+UTC times will be converted to nanoseconds since 1900.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtsprange.h"
+ line="155"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsprange.c"
+ line="579">%TRUE on success.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="range" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsprange.c"
+ line="567">a #GstRTSPTimeRange</doc>
+ <type name="RTSPTimeRange" c:type="const GstRTSPTimeRange*"/>
+ </parameter>
+ <parameter name="min"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsprange.c"
+ line="568">result minimum #GstClockTime</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime*"/>
+ </parameter>
+ <parameter name="max"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsprange.c"
+ line="569">result maximum #GstClockTime</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="parse" c:identifier="gst_rtsp_range_parse">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsprange.c"
+ line="257">Parse @rangestr to a #GstRTSPTimeRange.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtsprange.h"
+ line="146"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsprange.c"
+ line="264">#GST_RTSP_OK on success.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="rangestr" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsprange.c"
+ line="259">a range string to parse</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="range"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsprange.c"
+ line="260">location to hold the #GstRTSPTimeRange result</doc>
+ <type name="RTSPTimeRange" c:type="GstRTSPTimeRange**"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="to_string" c:identifier="gst_rtsp_range_to_string">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsprange.c"
+ line="421">Convert @range into a string representation.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtsprange.h"
+ line="149"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsprange.c"
+ line="427">The string representation of @range. g_free() after usage.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="range" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsprange.c"
+ line="423">a #GstRTSPTimeRange</doc>
+ <type name="RTSPTimeRange" c:type="const GstRTSPTimeRange*"/>
+ </parameter>
+ </parameters>
+ </function>
+ </record>
+ <enumeration name="RTSPRangeUnit"
+ glib:type-name="GstRTSPRangeUnit"
+ glib:get-type="gst_rtsp_range_unit_get_type"
+ c:type="GstRTSPRangeUnit">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsprange.h"
+ line="53">Different possible time range units.</doc>
+ <member name="smpte"
+ value="0"
+ c:identifier="GST_RTSP_RANGE_SMPTE"
+ glib:nick="smpte">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsprange.h"
+ line="55">SMPTE timecode</doc>
+ </member>
+ <member name="smpte_30_drop"
+ value="1"
+ c:identifier="GST_RTSP_RANGE_SMPTE_30_DROP"
+ glib:nick="smpte-30-drop">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsprange.h"
+ line="56">29.97 frames per second</doc>
+ </member>
+ <member name="smpte_25"
+ value="2"
+ c:identifier="GST_RTSP_RANGE_SMPTE_25"
+ glib:nick="smpte-25">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsprange.h"
+ line="57">25 frames per second</doc>
+ </member>
+ <member name="npt"
+ value="3"
+ c:identifier="GST_RTSP_RANGE_NPT"
+ glib:nick="npt">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsprange.h"
+ line="58">Normal play time</doc>
+ </member>
+ <member name="clock"
+ value="4"
+ c:identifier="GST_RTSP_RANGE_CLOCK"
+ glib:nick="clock">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsprange.h"
+ line="59">Absolute time expressed as ISO 8601 timestamps</doc>
+ </member>
+ </enumeration>
+ <enumeration name="RTSPResult"
+ glib:type-name="GstRTSPResult"
+ glib:get-type="gst_rtsp_result_get_type"
+ c:type="GstRTSPResult">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.h"
+ line="65">Result codes from the RTSP functions.</doc>
+ <member name="ok" value="0" c:identifier="GST_RTSP_OK" glib:nick="ok">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.h"
+ line="67">no error</doc>
+ </member>
+ <member name="error"
+ value="-1"
+ c:identifier="GST_RTSP_ERROR"
+ glib:nick="error">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.h"
+ line="68">some unspecified error occurred</doc>
+ </member>
+ <member name="einval"
+ value="-2"
+ c:identifier="GST_RTSP_EINVAL"
+ glib:nick="einval">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.h"
+ line="69">invalid arguments were provided to a function</doc>
+ </member>
+ <member name="eintr"
+ value="-3"
+ c:identifier="GST_RTSP_EINTR"
+ glib:nick="eintr">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.h"
+ line="70">an operation was canceled</doc>
+ </member>
+ <member name="enomem"
+ value="-4"
+ c:identifier="GST_RTSP_ENOMEM"
+ glib:nick="enomem">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.h"
+ line="71">no memory was available for the operation</doc>
+ </member>
+ <member name="eresolv"
+ value="-5"
+ c:identifier="GST_RTSP_ERESOLV"
+ glib:nick="eresolv">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.h"
+ line="72">a host resolve error occurred</doc>
+ </member>
+ <member name="enotimpl"
+ value="-6"
+ c:identifier="GST_RTSP_ENOTIMPL"
+ glib:nick="enotimpl">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.h"
+ line="73">function not implemented</doc>
+ </member>
+ <member name="esys"
+ value="-7"
+ c:identifier="GST_RTSP_ESYS"
+ glib:nick="esys">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.h"
+ line="74">a system error occurred, errno contains more details</doc>
+ </member>
+ <member name="eparse"
+ value="-8"
+ c:identifier="GST_RTSP_EPARSE"
+ glib:nick="eparse">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.h"
+ line="75">a parsing error occurred</doc>
+ </member>
+ <member name="ewsastart"
+ value="-9"
+ c:identifier="GST_RTSP_EWSASTART"
+ glib:nick="ewsastart">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.h"
+ line="76">windows networking could not start</doc>
+ </member>
+ <member name="ewsaversion"
+ value="-10"
+ c:identifier="GST_RTSP_EWSAVERSION"
+ glib:nick="ewsaversion">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.h"
+ line="77">windows networking stack has wrong version</doc>
+ </member>
+ <member name="eeof"
+ value="-11"
+ c:identifier="GST_RTSP_EEOF"
+ glib:nick="eeof">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.h"
+ line="78">end-of-file was reached</doc>
+ </member>
+ <member name="enet"
+ value="-12"
+ c:identifier="GST_RTSP_ENET"
+ glib:nick="enet">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.h"
+ line="79">a network problem occurred, h_errno contains more details</doc>
+ </member>
+ <member name="enotip"
+ value="-13"
+ c:identifier="GST_RTSP_ENOTIP"
+ glib:nick="enotip">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.h"
+ line="80">the host is not an IP host</doc>
+ </member>
+ <member name="etimeout"
+ value="-14"
+ c:identifier="GST_RTSP_ETIMEOUT"
+ glib:nick="etimeout">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.h"
+ line="81">a timeout occurred</doc>
+ </member>
+ <member name="etget"
+ value="-15"
+ c:identifier="GST_RTSP_ETGET"
+ glib:nick="etget">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.h"
+ line="82">the tunnel GET request has been performed</doc>
+ </member>
+ <member name="etpost"
+ value="-16"
+ c:identifier="GST_RTSP_ETPOST"
+ glib:nick="etpost">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.h"
+ line="83">the tunnel POST request has been performed</doc>
+ </member>
+ <member name="elast"
+ value="-17"
+ c:identifier="GST_RTSP_ELAST"
+ glib:nick="elast">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.h"
+ line="84">last error</doc>
+ </member>
+ </enumeration>
+ <enumeration name="RTSPState"
+ glib:type-name="GstRTSPState"
+ glib:get-type="gst_rtsp_state_get_type"
+ c:type="GstRTSPState">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.h"
+ line="137">The different RTSP states.</doc>
+ <member name="invalid"
+ value="0"
+ c:identifier="GST_RTSP_STATE_INVALID"
+ glib:nick="invalid">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.h"
+ line="139">invalid state</doc>
+ </member>
+ <member name="init"
+ value="1"
+ c:identifier="GST_RTSP_STATE_INIT"
+ glib:nick="init">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.h"
+ line="140">initializing</doc>
+ </member>
+ <member name="ready"
+ value="2"
+ c:identifier="GST_RTSP_STATE_READY"
+ glib:nick="ready">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.h"
+ line="141">ready for operation</doc>
+ </member>
+ <member name="seeking"
+ value="3"
+ c:identifier="GST_RTSP_STATE_SEEKING"
+ glib:nick="seeking">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.h"
+ line="142">seeking in progress</doc>
+ </member>
+ <member name="playing"
+ value="4"
+ c:identifier="GST_RTSP_STATE_PLAYING"
+ glib:nick="playing">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.h"
+ line="143">playing</doc>
+ </member>
+ <member name="recording"
+ value="5"
+ c:identifier="GST_RTSP_STATE_RECORDING"
+ glib:nick="recording">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.h"
+ line="144">recording</doc>
+ </member>
+ </enumeration>
+ <enumeration name="RTSPStatusCode"
+ glib:type-name="GstRTSPStatusCode"
+ glib:get-type="gst_rtsp_status_code_get_type"
+ c:type="GstRTSPStatusCode">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.h"
+ line="351">Enumeration of rtsp status codes</doc>
+ <member name="invalid"
+ value="0"
+ c:identifier="GST_RTSP_STS_INVALID"
+ glib:nick="invalid">
+ </member>
+ <member name="continue"
+ value="100"
+ c:identifier="GST_RTSP_STS_CONTINUE"
+ glib:nick="continue">
+ </member>
+ <member name="ok"
+ value="200"
+ c:identifier="GST_RTSP_STS_OK"
+ glib:nick="ok">
+ </member>
+ <member name="created"
+ value="201"
+ c:identifier="GST_RTSP_STS_CREATED"
+ glib:nick="created">
+ </member>
+ <member name="low_on_storage"
+ value="250"
+ c:identifier="GST_RTSP_STS_LOW_ON_STORAGE"
+ glib:nick="low-on-storage">
+ </member>
+ <member name="multiple_choices"
+ value="300"
+ c:identifier="GST_RTSP_STS_MULTIPLE_CHOICES"
+ glib:nick="multiple-choices">
+ </member>
+ <member name="moved_permanently"
+ value="301"
+ c:identifier="GST_RTSP_STS_MOVED_PERMANENTLY"
+ glib:nick="moved-permanently">
+ </member>
+ <member name="move_temporarily"
+ value="302"
+ c:identifier="GST_RTSP_STS_MOVE_TEMPORARILY"
+ glib:nick="move-temporarily">
+ </member>
+ <member name="see_other"
+ value="303"
+ c:identifier="GST_RTSP_STS_SEE_OTHER"
+ glib:nick="see-other">
+ </member>
+ <member name="not_modified"
+ value="304"
+ c:identifier="GST_RTSP_STS_NOT_MODIFIED"
+ glib:nick="not-modified">
+ </member>
+ <member name="use_proxy"
+ value="305"
+ c:identifier="GST_RTSP_STS_USE_PROXY"
+ glib:nick="use-proxy">
+ </member>
+ <member name="bad_request"
+ value="400"
+ c:identifier="GST_RTSP_STS_BAD_REQUEST"
+ glib:nick="bad-request">
+ </member>
+ <member name="unauthorized"
+ value="401"
+ c:identifier="GST_RTSP_STS_UNAUTHORIZED"
+ glib:nick="unauthorized">
+ </member>
+ <member name="payment_required"
+ value="402"
+ c:identifier="GST_RTSP_STS_PAYMENT_REQUIRED"
+ glib:nick="payment-required">
+ </member>
+ <member name="forbidden"
+ value="403"
+ c:identifier="GST_RTSP_STS_FORBIDDEN"
+ glib:nick="forbidden">
+ </member>
+ <member name="not_found"
+ value="404"
+ c:identifier="GST_RTSP_STS_NOT_FOUND"
+ glib:nick="not-found">
+ </member>
+ <member name="method_not_allowed"
+ value="405"
+ c:identifier="GST_RTSP_STS_METHOD_NOT_ALLOWED"
+ glib:nick="method-not-allowed">
+ </member>
+ <member name="not_acceptable"
+ value="406"
+ c:identifier="GST_RTSP_STS_NOT_ACCEPTABLE"
+ glib:nick="not-acceptable">
+ </member>
+ <member name="proxy_auth_required"
+ value="407"
+ c:identifier="GST_RTSP_STS_PROXY_AUTH_REQUIRED"
+ glib:nick="proxy-auth-required">
+ </member>
+ <member name="request_timeout"
+ value="408"
+ c:identifier="GST_RTSP_STS_REQUEST_TIMEOUT"
+ glib:nick="request-timeout">
+ </member>
+ <member name="gone"
+ value="410"
+ c:identifier="GST_RTSP_STS_GONE"
+ glib:nick="gone">
+ </member>
+ <member name="length_required"
+ value="411"
+ c:identifier="GST_RTSP_STS_LENGTH_REQUIRED"
+ glib:nick="length-required">
+ </member>
+ <member name="precondition_failed"
+ value="412"
+ c:identifier="GST_RTSP_STS_PRECONDITION_FAILED"
+ glib:nick="precondition-failed">
+ </member>
+ <member name="request_entity_too_large"
+ value="413"
+ c:identifier="GST_RTSP_STS_REQUEST_ENTITY_TOO_LARGE"
+ glib:nick="request-entity-too-large">
+ </member>
+ <member name="request_uri_too_large"
+ value="414"
+ c:identifier="GST_RTSP_STS_REQUEST_URI_TOO_LARGE"
+ glib:nick="request-uri-too-large">
+ </member>
+ <member name="unsupported_media_type"
+ value="415"
+ c:identifier="GST_RTSP_STS_UNSUPPORTED_MEDIA_TYPE"
+ glib:nick="unsupported-media-type">
+ </member>
+ <member name="parameter_not_understood"
+ value="451"
+ c:identifier="GST_RTSP_STS_PARAMETER_NOT_UNDERSTOOD"
+ glib:nick="parameter-not-understood">
+ </member>
+ <member name="conference_not_found"
+ value="452"
+ c:identifier="GST_RTSP_STS_CONFERENCE_NOT_FOUND"
+ glib:nick="conference-not-found">
+ </member>
+ <member name="not_enough_bandwidth"
+ value="453"
+ c:identifier="GST_RTSP_STS_NOT_ENOUGH_BANDWIDTH"
+ glib:nick="not-enough-bandwidth">
+ </member>
+ <member name="session_not_found"
+ value="454"
+ c:identifier="GST_RTSP_STS_SESSION_NOT_FOUND"
+ glib:nick="session-not-found">
+ </member>
+ <member name="method_not_valid_in_this_state"
+ value="455"
+ c:identifier="GST_RTSP_STS_METHOD_NOT_VALID_IN_THIS_STATE"
+ glib:nick="method-not-valid-in-this-state">
+ </member>
+ <member name="header_field_not_valid_for_resource"
+ value="456"
+ c:identifier="GST_RTSP_STS_HEADER_FIELD_NOT_VALID_FOR_RESOURCE"
+ glib:nick="header-field-not-valid-for-resource">
+ </member>
+ <member name="invalid_range"
+ value="457"
+ c:identifier="GST_RTSP_STS_INVALID_RANGE"
+ glib:nick="invalid-range">
+ </member>
+ <member name="parameter_is_readonly"
+ value="458"
+ c:identifier="GST_RTSP_STS_PARAMETER_IS_READONLY"
+ glib:nick="parameter-is-readonly">
+ </member>
+ <member name="aggregate_operation_not_allowed"
+ value="459"
+ c:identifier="GST_RTSP_STS_AGGREGATE_OPERATION_NOT_ALLOWED"
+ glib:nick="aggregate-operation-not-allowed">
+ </member>
+ <member name="only_aggregate_operation_allowed"
+ value="460"
+ c:identifier="GST_RTSP_STS_ONLY_AGGREGATE_OPERATION_ALLOWED"
+ glib:nick="only-aggregate-operation-allowed">
+ </member>
+ <member name="unsupported_transport"
+ value="461"
+ c:identifier="GST_RTSP_STS_UNSUPPORTED_TRANSPORT"
+ glib:nick="unsupported-transport">
+ </member>
+ <member name="destination_unreachable"
+ value="462"
+ c:identifier="GST_RTSP_STS_DESTINATION_UNREACHABLE"
+ glib:nick="destination-unreachable">
+ </member>
+ <member name="key_management_failure"
+ value="463"
+ c:identifier="GST_RTSP_STS_KEY_MANAGEMENT_FAILURE"
+ glib:nick="key-management-failure">
+ </member>
+ <member name="internal_server_error"
+ value="500"
+ c:identifier="GST_RTSP_STS_INTERNAL_SERVER_ERROR"
+ glib:nick="internal-server-error">
+ </member>
+ <member name="not_implemented"
+ value="501"
+ c:identifier="GST_RTSP_STS_NOT_IMPLEMENTED"
+ glib:nick="not-implemented">
+ </member>
+ <member name="bad_gateway"
+ value="502"
+ c:identifier="GST_RTSP_STS_BAD_GATEWAY"
+ glib:nick="bad-gateway">
+ </member>
+ <member name="service_unavailable"
+ value="503"
+ c:identifier="GST_RTSP_STS_SERVICE_UNAVAILABLE"
+ glib:nick="service-unavailable">
+ </member>
+ <member name="gateway_timeout"
+ value="504"
+ c:identifier="GST_RTSP_STS_GATEWAY_TIMEOUT"
+ glib:nick="gateway-timeout">
+ </member>
+ <member name="rtsp_version_not_supported"
+ value="505"
+ c:identifier="GST_RTSP_STS_RTSP_VERSION_NOT_SUPPORTED"
+ glib:nick="rtsp-version-not-supported">
+ </member>
+ <member name="option_not_supported"
+ value="551"
+ c:identifier="GST_RTSP_STS_OPTION_NOT_SUPPORTED"
+ glib:nick="option-not-supported">
+ </member>
+ </enumeration>
+ <record name="RTSPTime" c:type="GstRTSPTime">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsprange.h"
+ line="94">A time indication.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtsprange.h" line="105"/>
+ <field name="type" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsprange.h"
+ line="96">the time of the time</doc>
+ <type name="RTSPTimeType" c:type="GstRTSPTimeType"/>
+ </field>
+ <field name="seconds" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsprange.h"
+ line="97">seconds when @type is GST_RTSP_TIME_SECONDS,
+ GST_RTSP_TIME_UTC and GST_RTSP_TIME_FRAMES</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </field>
+ </record>
+ <record name="RTSPTime2" c:type="GstRTSPTime2" version="1.2">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsprange.h"
+ line="107">Extra fields for a time indication.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtsprange.h" line="124"/>
+ <field name="frames" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsprange.h"
+ line="109">frames and subframes when type in GstRTSPTime is
+ GST_RTSP_TIME_FRAMES</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </field>
+ <field name="year" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsprange.h"
+ line="111">year when type is GST_RTSP_TIME_UTC</doc>
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="month" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsprange.h"
+ line="112">month when type is GST_RTSP_TIME_UTC</doc>
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="day" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsprange.h"
+ line="113">day when type is GST_RTSP_TIME_UTC</doc>
+ <type name="guint" c:type="guint"/>
+ </field>
+ </record>
+ <record name="RTSPTimeRange" c:type="GstRTSPTimeRange">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsprange.h"
+ line="126">A time range.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtsprange.h" line="143"/>
+ <field name="unit" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsprange.h"
+ line="128">the time units used</doc>
+ <type name="RTSPRangeUnit" c:type="GstRTSPRangeUnit"/>
+ </field>
+ <field name="min" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsprange.h"
+ line="129">the minimum interval</doc>
+ <type name="RTSPTime" c:type="GstRTSPTime"/>
+ </field>
+ <field name="max" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsprange.h"
+ line="130">the maximum interval</doc>
+ <type name="RTSPTime" c:type="GstRTSPTime"/>
+ </field>
+ <field name="min2" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsprange.h"
+ line="131">extra fields in the minimum interval (Since: 1.2)</doc>
+ <type name="RTSPTime2" c:type="GstRTSPTime2"/>
+ </field>
+ <field name="max2" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsprange.h"
+ line="132">extra fields in the maximum interval (Since: 1.2)</doc>
+ <type name="RTSPTime2" c:type="GstRTSPTime2"/>
+ </field>
+ </record>
+ <enumeration name="RTSPTimeType"
+ glib:type-name="GstRTSPTimeType"
+ glib:get-type="gst_rtsp_time_type_get_type"
+ c:type="GstRTSPTimeType">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsprange.h"
+ line="76">Possible time types.</doc>
+ <member name="seconds"
+ value="0"
+ c:identifier="GST_RTSP_TIME_SECONDS"
+ glib:nick="seconds">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsprange.h"
+ line="78">seconds</doc>
+ </member>
+ <member name="now"
+ value="1"
+ c:identifier="GST_RTSP_TIME_NOW"
+ glib:nick="now">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsprange.h"
+ line="79">now</doc>
+ </member>
+ <member name="end"
+ value="2"
+ c:identifier="GST_RTSP_TIME_END"
+ glib:nick="end">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsprange.h"
+ line="80">end</doc>
+ </member>
+ <member name="frames"
+ value="3"
+ c:identifier="GST_RTSP_TIME_FRAMES"
+ glib:nick="frames">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsprange.h"
+ line="81">frames and subframes</doc>
+ </member>
+ <member name="utc"
+ value="4"
+ c:identifier="GST_RTSP_TIME_UTC"
+ glib:nick="utc">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsprange.h"
+ line="82">UTC time</doc>
+ </member>
+ </enumeration>
+ <bitfield name="RTSPTransMode"
+ glib:type-name="GstRTSPTransMode"
+ glib:get-type="gst_rtsp_trans_mode_get_type"
+ c:type="GstRTSPTransMode">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsptransport.h"
+ line="52">The transfer mode to use.</doc>
+ <member name="unknown"
+ value="0"
+ c:identifier="GST_RTSP_TRANS_UNKNOWN"
+ glib:nick="unknown">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsptransport.h"
+ line="54">invalid tansport mode</doc>
+ </member>
+ <member name="rtp"
+ value="1"
+ c:identifier="GST_RTSP_TRANS_RTP"
+ glib:nick="rtp">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsptransport.h"
+ line="55">transfer RTP data</doc>
+ </member>
+ <member name="rdt"
+ value="2"
+ c:identifier="GST_RTSP_TRANS_RDT"
+ glib:nick="rdt">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsptransport.h"
+ line="56">transfer RDT (RealMedia) data</doc>
+ </member>
+ </bitfield>
+ <record name="RTSPTransport" c:type="GstRTSPTransport">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsptransport.c"
+ line="44">Provides helper functions to deal with RTSP transport strings.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtsptransport.h"
+ line="172"/>
+ <field name="trans" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsptransport.h"
+ line="124">the transport mode</doc>
+ <type name="RTSPTransMode" c:type="GstRTSPTransMode"/>
+ </field>
+ <field name="profile" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsptransport.h"
+ line="125">the tansport profile</doc>
+ <type name="RTSPProfile" c:type="GstRTSPProfile"/>
+ </field>
+ <field name="lower_transport" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsptransport.h"
+ line="126">the lower transport</doc>
+ <type name="RTSPLowerTrans" c:type="GstRTSPLowerTrans"/>
+ </field>
+ <field name="destination" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsptransport.h"
+ line="127">the destination ip/hostname</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="source" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsptransport.h"
+ line="128">the source ip/hostname</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="layers" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsptransport.h"
+ line="129">the number of layers</doc>
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="mode_play" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsptransport.h"
+ line="130">if play mode was selected</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="mode_record" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsptransport.h"
+ line="131">if record mode was selected</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="append" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsptransport.h"
+ line="132">is append mode was selected</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="interleaved" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsptransport.h"
+ line="133">the interleave range</doc>
+ <type name="RTSPRange" c:type="GstRTSPRange"/>
+ </field>
+ <field name="ttl" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsptransport.h"
+ line="134">the time to live for multicast UDP</doc>
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="port" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsptransport.h"
+ line="135">the port pair for multicast sessions</doc>
+ <type name="RTSPRange" c:type="GstRTSPRange"/>
+ </field>
+ <field name="client_port" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsptransport.h"
+ line="136">the client port pair for receiving data. For TCP
+ based transports, applications can use this field to store the
+ sender and receiver ports of the client.</doc>
+ <type name="RTSPRange" c:type="GstRTSPRange"/>
+ </field>
+ <field name="server_port" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsptransport.h"
+ line="139">the server port pair for receiving data. For TCP
+ based transports, applications can use this field to store the
+ sender and receiver ports of the server.</doc>
+ <type name="RTSPRange" c:type="GstRTSPRange"/>
+ </field>
+ <field name="ssrc" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsptransport.h"
+ line="142">the ssrc that the sender/receiver will use</doc>
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <method name="as_text" c:identifier="gst_rtsp_transport_as_text">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsptransport.c"
+ line="588">Convert @transport into a string that can be used to signal the transport in
+an RTSP SETUP response.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtsptransport.h"
+ line="184"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsptransport.c"
+ line="595">a string describing the RTSP transport or %NULL when the transport
+is invalid.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="transport" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsptransport.c"
+ line="590">a #GstRTSPTransport</doc>
+ <type name="RTSPTransport" c:type="GstRTSPTransport*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="free" c:identifier="gst_rtsp_transport_free">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsptransport.c"
+ line="759">Free the memory used by @transport.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtsptransport.h"
+ line="197"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsptransport.c"
+ line="765">#GST_RTSP_OK.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="transport" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsptransport.c"
+ line="761">a #GstRTSPTransport</doc>
+ <type name="RTSPTransport" c:type="GstRTSPTransport*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_media_type"
+ c:identifier="gst_rtsp_transport_get_media_type"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsptransport.c"
+ line="236">Get the media type of @transport. This media type is typically
+used to generate #GstCaps events.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtsptransport.h"
+ line="193"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsptransport.c"
+ line="246">#GST_RTSP_OK.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="transport" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsptransport.c"
+ line="238">a #GstRTSPTransport</doc>
+ <type name="RTSPTransport" c:type="GstRTSPTransport*"/>
+ </instance-parameter>
+ <parameter name="media_type"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsptransport.c"
+ line="239">media type of @transport</doc>
+ <type name="utf8" c:type="const gchar**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="init" c:identifier="gst_rtsp_transport_init">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsptransport.c"
+ line="169">Initialize @transport so that it can be used.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtsptransport.h"
+ line="178"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsptransport.c"
+ line="175">#GST_RTSP_OK.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="transport" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsptransport.c"
+ line="171">a #GstRTSPTransport</doc>
+ <type name="RTSPTransport" c:type="GstRTSPTransport*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <function name="get_manager"
+ c:identifier="gst_rtsp_transport_get_manager">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsptransport.c"
+ line="279">Get the #GstElement that can handle the buffers transported over @trans.
+
+It is possible that there are several managers available, use @option to
+selected one.
+
+@manager will contain an element name or %NULL when no manager is
+needed/available for @trans.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtsptransport.h"
+ line="190"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsptransport.c"
+ line="293">#GST_RTSP_OK.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="trans" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsptransport.c"
+ line="281">a #GstRTSPTransMode</doc>
+ <type name="RTSPTransMode" c:type="GstRTSPTransMode"/>
+ </parameter>
+ <parameter name="manager"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="none"
+ nullable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsptransport.c"
+ line="282">location to hold the result</doc>
+ <type name="utf8" c:type="const gchar**"/>
+ </parameter>
+ <parameter name="option" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsptransport.c"
+ line="283">option index.</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="get_mime"
+ c:identifier="gst_rtsp_transport_get_mime"
+ deprecated="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsptransport.c"
+ line="205">Get the mime type of the transport mode @trans. This mime type is typically
+used to generate #GstCaps events.</doc>
+ <doc-deprecated xml:space="preserve">This functions only deals with the GstRTSPTransMode and only
+ returns the mime type for #GST_RTSP_PROFILE_AVP. Use
+ gst_rtsp_transport_get_media_type() instead.</doc-deprecated>
+ <source-position filename="gst-libs/gst/rtsp/gstrtsptransport.h"
+ line="187"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsptransport.c"
+ line="217">#GST_RTSP_OK.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="trans" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsptransport.c"
+ line="207">a #GstRTSPTransMode</doc>
+ <type name="RTSPTransMode" c:type="GstRTSPTransMode"/>
+ </parameter>
+ <parameter name="mime" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsptransport.c"
+ line="208">location to hold the result</doc>
+ <type name="utf8" c:type="const gchar**"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="new" c:identifier="gst_rtsp_transport_new">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsptransport.c"
+ line="146">Allocate a new initialized #GstRTSPTransport. Use gst_rtsp_transport_free()
+after usage.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtsptransport.h"
+ line="175"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsptransport.c"
+ line="153">a #GstRTSPResult.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="transport" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsptransport.c"
+ line="148">location to hold the new #GstRTSPTransport</doc>
+ <type name="RTSPTransport" c:type="GstRTSPTransport**"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="parse" c:identifier="gst_rtsp_transport_parse">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsptransport.c"
+ line="433">Parse the RTSP transport string @str into @transport.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtsptransport.h"
+ line="181"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsptransport.c"
+ line="440">a #GstRTSPResult.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="str" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsptransport.c"
+ line="435">a transport string</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="transport" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsptransport.c"
+ line="436">a #GstRTSPTransport</doc>
+ <type name="RTSPTransport" c:type="GstRTSPTransport*"/>
+ </parameter>
+ </parameters>
+ </function>
+ </record>
+ <record name="RTSPUrl"
+ c:type="GstRTSPUrl"
+ glib:type-name="GstRTSPUrl"
+ glib:get-type="gst_rtsp_url_get_type"
+ c:symbol-prefix="rtsp_url">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspurl.c"
+ line="43">Provides helper functions to handle RTSP urls.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspurl.h" line="87"/>
+ <field name="transports" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspurl.h"
+ line="67">the transports allowed</doc>
+ <type name="RTSPLowerTrans" c:type="GstRTSPLowerTrans"/>
+ </field>
+ <field name="family" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspurl.h"
+ line="68">the family</doc>
+ <type name="RTSPFamily" c:type="GstRTSPFamily"/>
+ </field>
+ <field name="user" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspurl.h"
+ line="69">the user</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="passwd" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspurl.h"
+ line="70">the password</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="host" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspurl.h"
+ line="71">the host</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="port" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspurl.h"
+ line="72">the port</doc>
+ <type name="guint16" c:type="guint16"/>
+ </field>
+ <field name="abspath" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspurl.h"
+ line="73">the absolute path</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="query" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspurl.h"
+ line="74">additional query parameters</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <method name="copy" c:identifier="gst_rtsp_url_copy">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspurl.c"
+ line="219">Make a copy of @url.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspurl.h" line="96"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspurl.c"
+ line="225">a copy of @url. Free with gst_rtsp_url_free () after usage.</doc>
+ <type name="RTSPUrl" c:type="GstRTSPUrl*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="url" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspurl.c"
+ line="221">a #GstRTSPUrl</doc>
+ <type name="RTSPUrl" c:type="const GstRTSPUrl*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="decode_path_components"
+ c:identifier="gst_rtsp_url_decode_path_components">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspurl.c"
+ line="434">Splits the path of @url on '/' boundaries, decoding the resulting components,
+
+The decoding performed by this routine is "URI decoding", as defined in RFC
+3986, commonly known as percent-decoding. For example, a string "foo\%2fbar"
+will decode to "foo/bar" -- the \%2f being replaced by the corresponding byte
+with hex value 0x2f. Note that there is no guarantee that the resulting byte
+sequence is valid in any given encoding. As a special case, \%00 is not
+unescaped to NUL, as that would prematurely terminate the string.
+
+Also note that since paths usually start with a slash, the first component
+will usually be the empty string.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspurl.h" line="109"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspurl.c"
+ line="450">%NULL-terminated array of URL components. Free with
+g_strfreev() when no longer needed.</doc>
+ <array c:type="gchar**">
+ <type name="utf8"/>
+ </array>
+ </return-value>
+ <parameters>
+ <instance-parameter name="url" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspurl.c"
+ line="436">a #GstRTSPUrl</doc>
+ <type name="RTSPUrl" c:type="const GstRTSPUrl*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="free" c:identifier="gst_rtsp_url_free">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspurl.c"
+ line="248">Free the memory used by @url.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspurl.h" line="99"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="url" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspurl.c"
+ line="250">a #GstRTSPUrl</doc>
+ <type name="RTSPUrl" c:type="GstRTSPUrl*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_port" c:identifier="gst_rtsp_url_get_port">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspurl.c"
+ line="287">Get the port number of @url.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspurl.h" line="115"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspurl.c"
+ line="294">#GST_RTSP_OK.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="url" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspurl.c"
+ line="289">a #GstRTSPUrl</doc>
+ <type name="RTSPUrl" c:type="const GstRTSPUrl*"/>
+ </instance-parameter>
+ <parameter name="port"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspurl.c"
+ line="290">location to hold the port</doc>
+ <type name="guint16" c:type="guint16*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_request_uri"
+ c:identifier="gst_rtsp_url_get_request_uri">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspurl.c"
+ line="311">Get a newly allocated string describing the request URI for @url.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspurl.h" line="102"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspurl.c"
+ line="317">a string with the request URI. g_free() after usage.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="url" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspurl.c"
+ line="313">a #GstRTSPUrl</doc>
+ <type name="RTSPUrl" c:type="const GstRTSPUrl*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_request_uri_with_control"
+ c:identifier="gst_rtsp_url_get_request_uri_with_control"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspurl.c"
+ line="326">Get a newly allocated string describing the request URI for @url
+combined with the control path for @control_path</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspurl.h" line="105"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspurl.c"
+ line="334">a string with the request URI combined with the control path.
+g_free() after usage.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="url" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspurl.c"
+ line="328">a #GstRTSPUrl</doc>
+ <type name="RTSPUrl" c:type="const GstRTSPUrl*"/>
+ </instance-parameter>
+ <parameter name="control_path" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspurl.c"
+ line="329">an RTSP aggregate control path</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_port" c:identifier="gst_rtsp_url_set_port">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspurl.c"
+ line="268">Set the port number in @url to @port.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspurl.h" line="112"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspurl.c"
+ line="275">#GST_RTSP_OK.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="url" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspurl.c"
+ line="270">a #GstRTSPUrl</doc>
+ <type name="RTSPUrl" c:type="GstRTSPUrl*"/>
+ </instance-parameter>
+ <parameter name="port" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspurl.c"
+ line="271">the port</doc>
+ <type name="guint16" c:type="guint16"/>
+ </parameter>
+ </parameters>
+ </method>
+ <function name="parse" c:identifier="gst_rtsp_url_parse">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspurl.c"
+ line="90">Parse the RTSP @urlstr into a newly allocated #GstRTSPUrl. Free after usage
+with gst_rtsp_url_free().</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspurl.h" line="93"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspurl.c"
+ line="98">a #GstRTSPResult.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="urlstr" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspurl.c"
+ line="92">the url string to parse</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="url"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspurl.c"
+ line="93">location to hold the result.</doc>
+ <type name="RTSPUrl" c:type="GstRTSPUrl**"/>
+ </parameter>
+ </parameters>
+ </function>
+ </record>
+ <enumeration name="RTSPVersion"
+ glib:type-name="GstRTSPVersion"
+ glib:get-type="gst_rtsp_version_get_type"
+ c:type="GstRTSPVersion">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.h"
+ line="157">The supported RTSP versions.</doc>
+ <member name="invalid"
+ value="0"
+ c:identifier="GST_RTSP_VERSION_INVALID"
+ glib:nick="invalid">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.h"
+ line="159">unknown/invalid version</doc>
+ </member>
+ <member name="1_0"
+ value="16"
+ c:identifier="GST_RTSP_VERSION_1_0"
+ glib:nick="1-0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.h"
+ line="160">version 1.0</doc>
+ </member>
+ <member name="1_1"
+ value="17"
+ c:identifier="GST_RTSP_VERSION_1_1"
+ glib:nick="1-1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.h"
+ line="161">version 1.1.</doc>
+ </member>
+ <member name="2_0"
+ value="32"
+ c:identifier="GST_RTSP_VERSION_2_0"
+ glib:nick="2-0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.h"
+ line="162">version 2.0.</doc>
+ </member>
+ <function name="as_text" c:identifier="gst_rtsp_version_as_text">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.c"
+ line="334">Convert @version to a string.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspdefs.h"
+ line="412"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.c"
+ line="340">a string representation of @version.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="version" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.c"
+ line="336">a #GstRTSPVersion</doc>
+ <type name="RTSPVersion" c:type="GstRTSPVersion"/>
+ </parameter>
+ </parameters>
+ </function>
+ </enumeration>
+ <record name="RTSPWatch" c:type="GstRTSPWatch" disguised="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.h"
+ line="240">Opaque RTSP watch object that can be used for asynchronous RTSP
+operations.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspconnection.h"
+ line="246"/>
+ <method name="attach" c:identifier="gst_rtsp_watch_attach">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="4277">Adds a #GstRTSPWatch to a context so that it will be executed within that context.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspconnection.h"
+ line="304"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="4284">the ID (greater than 0) for the watch within the GMainContext.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="watch" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="4279">a #GstRTSPWatch</doc>
+ <type name="RTSPWatch" c:type="GstRTSPWatch*"/>
+ </instance-parameter>
+ <parameter name="context" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="4280">a GMainContext (if NULL, the default context will be used)</doc>
+ <type name="GLib.MainContext" c:type="GMainContext*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_send_backlog"
+ c:identifier="gst_rtsp_watch_get_send_backlog"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="4340">Get the maximum amount of bytes and messages that will be queued in @watch.
+See gst_rtsp_watch_set_send_backlog().</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspconnection.h"
+ line="312"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="watch" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="4342">a #GstRTSPWatch</doc>
+ <type name="RTSPWatch" c:type="GstRTSPWatch*"/>
+ </instance-parameter>
+ <parameter name="bytes"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="4343">maximum bytes</doc>
+ <type name="gsize" c:type="gsize*"/>
+ </parameter>
+ <parameter name="messages"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="4344">maximum messages</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="reset" c:identifier="gst_rtsp_watch_reset">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="4221">Reset @watch, this is usually called after gst_rtsp_connection_do_tunnel()
+when the file descriptors of the connection might have changed.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspconnection.h"
+ line="298"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="watch" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="4223">a #GstRTSPWatch</doc>
+ <type name="RTSPWatch" c:type="GstRTSPWatch*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="send_message" c:identifier="gst_rtsp_watch_send_message">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="4640">Send a @message using the connection of the @watch. If it cannot be sent
+immediately, it will be queued for transmission in @watch. The contents of
+@message will then be serialized and transmitted when the connection of the
+@watch becomes writable. In case the @message is queued, the ID returned in
+@id will be non-zero and used as the ID argument in the message_sent
+callback.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspconnection.h"
+ line="321"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="4653">#GST_RTSP_OK on success.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="watch" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="4642">a #GstRTSPWatch</doc>
+ <type name="RTSPWatch" c:type="GstRTSPWatch*"/>
+ </instance-parameter>
+ <parameter name="message" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="4643">a #GstRTSPMessage</doc>
+ <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
+ </parameter>
+ <parameter name="id"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="4644">location for a message ID or %NULL</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="send_messages"
+ c:identifier="gst_rtsp_watch_send_messages"
+ version="1.16">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="4665">Sends @messages using the connection of the @watch. If they cannot be sent
+immediately, they will be queued for transmission in @watch. The contents of
+@messages will then be serialized and transmitted when the connection of the
+@watch becomes writable. In case the @messages are queued, the ID returned in
+@id will be non-zero and used as the ID argument in the message_sent
+callback once the last message is sent. The callback will only be called
+once for the last message.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspconnection.h"
+ line="326"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="4680">#GST_RTSP_OK on success.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="watch" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="4667">a #GstRTSPWatch</doc>
+ <type name="RTSPWatch" c:type="GstRTSPWatch*"/>
+ </instance-parameter>
+ <parameter name="messages" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="4668">the messages to send</doc>
+ <array length="1" zero-terminated="0" c:type="GstRTSPMessage*">
+ <type name="RTSPMessage" c:type="GstRTSPMessage"/>
+ </array>
+ </parameter>
+ <parameter name="n_messages" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="4669">the number of messages to send</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="id"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="4670">location for a message ID or %NULL</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_flushing"
+ c:identifier="gst_rtsp_watch_set_flushing"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="4779">When @flushing is %TRUE, abort a call to gst_rtsp_watch_wait_backlog()
+and make sure gst_rtsp_watch_write_data() returns immediately with
+#GST_RTSP_EINTR. And empty the queue.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspconnection.h"
+ line="336"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="watch" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="4781">a #GstRTSPWatch</doc>
+ <type name="RTSPWatch" c:type="GstRTSPWatch*"/>
+ </instance-parameter>
+ <parameter name="flushing" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="4782">new flushing state</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_send_backlog"
+ c:identifier="gst_rtsp_watch_set_send_backlog"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="4309">Set the maximum amount of bytes and messages that will be queued in @watch.
+When the maximum amounts are exceeded, gst_rtsp_watch_write_data() and
+gst_rtsp_watch_send_message() will return #GST_RTSP_ENOMEM.
+
+A value of 0 for @bytes or @messages means no limits.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspconnection.h"
+ line="308"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="watch" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="4311">a #GstRTSPWatch</doc>
+ <type name="RTSPWatch" c:type="GstRTSPWatch*"/>
+ </instance-parameter>
+ <parameter name="bytes" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="4312">maximum bytes</doc>
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ <parameter name="messages" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="4313">maximum messages</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="unref" c:identifier="gst_rtsp_watch_unref">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="4294">Decreases the reference count of @watch by one. If the resulting reference
+count is zero the watch and associated memory will be destroyed.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspconnection.h"
+ line="301"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="watch" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="4296">a #GstRTSPWatch</doc>
+ <type name="RTSPWatch" c:type="GstRTSPWatch*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="wait_backlog"
+ c:identifier="gst_rtsp_watch_wait_backlog"
+ version="1.4"
+ deprecated="1"
+ deprecated-version="1.18">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="5038">Wait until there is place in the backlog queue, @timeout is reached
+or @watch is set to flushing.
+
+If @timeout is %NULL this function can block forever. If @timeout
+contains a valid timeout, this function will return %GST_RTSP_ETIMEOUT
+after the timeout expired.
+
+The typically use of this function is when gst_rtsp_watch_write_data
+returns %GST_RTSP_ENOMEM. The caller then calls this function to wait for
+free space in the backlog queue and try again.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspconnection.h"
+ line="380"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="5054">%GST_RTSP_OK when if there is room in queue.
+ %GST_RTSP_ETIMEOUT when @timeout was reached.
+ %GST_RTSP_EINTR when @watch is flushing
+ %GST_RTSP_EINVAL when called with invalid parameters.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="watch" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="5040">a #GstRTSPWatch</doc>
+ <type name="RTSPWatch" c:type="GstRTSPWatch*"/>
+ </instance-parameter>
+ <parameter name="timeout" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="5041">a GTimeVal timeout</doc>
+ <type name="GLib.TimeVal" c:type="GTimeVal*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="wait_backlog_usec"
+ c:identifier="gst_rtsp_watch_wait_backlog_usec"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="4714">Wait until there is place in the backlog queue, @timeout is reached
+or @watch is set to flushing.
+
+If @timeout is 0 this function can block forever. If @timeout
+contains a valid timeout, this function will return %GST_RTSP_ETIMEOUT
+after the timeout expired.
+
+The typically use of this function is when gst_rtsp_watch_write_data
+returns %GST_RTSP_ENOMEM. The caller then calls this function to wait for
+free space in the backlog queue and try again.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspconnection.h"
+ line="332"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="4730">%GST_RTSP_OK when if there is room in queue.
+ %GST_RTSP_ETIMEOUT when @timeout was reached.
+ %GST_RTSP_EINTR when @watch is flushing
+ %GST_RTSP_EINVAL when called with invalid parameters.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="watch" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="4716">a #GstRTSPWatch</doc>
+ <type name="RTSPWatch" c:type="GstRTSPWatch*"/>
+ </instance-parameter>
+ <parameter name="timeout" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="4717">a timeout in microseconds</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="write_data" c:identifier="gst_rtsp_watch_write_data">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="4602">Write @data using the connection of the @watch. If it cannot be sent
+immediately, it will be queued for transmission in @watch. The contents of
+@message will then be serialized and transmitted when the connection of the
+@watch becomes writable. In case the @message is queued, the ID returned in
+@id will be non-zero and used as the ID argument in the message_sent
+callback.
+
+This function will take ownership of @data and g_free() it after use.
+
+If the amount of queued data exceeds the limits set with
+gst_rtsp_watch_set_send_backlog(), this function will return
+#GST_RTSP_ENOMEM.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspconnection.h"
+ line="316"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="4622">#GST_RTSP_OK on success. #GST_RTSP_ENOMEM when the backlog limits
+are reached. #GST_RTSP_EINTR when @watch was flushing.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="watch" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="4604">a #GstRTSPWatch</doc>
+ <type name="RTSPWatch" c:type="GstRTSPWatch*"/>
+ </instance-parameter>
+ <parameter name="data" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="4605">the data to queue</doc>
+ <array length="1" zero-terminated="0" c:type="const guint8*">
+ <type name="guint8" c:type="guint8"/>
+ </array>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="4606">the size of @data</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="id"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="4607">location for a message ID or %NULL</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <function name="new"
+ c:identifier="gst_rtsp_watch_new"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="4170">Create a watch object for @conn. The functions provided in @funcs will be
+called with @user_data when activity happened on the watch.
+
+The new watch is usually created so that it can be attached to a
+maincontext with gst_rtsp_watch_attach().
+
+@conn must exist for the entire lifetime of the watch.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspconnection.h"
+ line="292"/>
+ <return-value>
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="4185">a #GstRTSPWatch that can be used for asynchronous RTSP
+communication. Free with gst_rtsp_watch_unref () after usage.</doc>
+ <type name="RTSPWatch" c:type="GstRTSPWatch*"/>
+ </return-value>
+ <parameters>
+ <parameter name="conn" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="4172">a #GstRTSPConnection</doc>
+ <type name="RTSPConnection" c:type="GstRTSPConnection*"/>
+ </parameter>
+ <parameter name="funcs" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="4173">watch functions</doc>
+ <type name="RTSPWatchFuncs" c:type="GstRTSPWatchFuncs*"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="4174">user data to pass to @funcs</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="notify" transfer-ownership="none" scope="async">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="4175">notify when @user_data is not referenced anymore</doc>
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </parameter>
+ </parameters>
+ </function>
+ </record>
+ <record name="RTSPWatchFuncs" c:type="GstRTSPWatchFuncs">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.h"
+ line="248">Callback functions from a #GstRTSPWatch.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspconnection.h"
+ line="289"/>
+ <field name="message_received">
+ <callback name="message_received">
+ <source-position filename="gst-libs/gst/rtsp/gstrtspconnection.h"
+ line="269"/>
+ <return-value transfer-ownership="none">
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="watch" transfer-ownership="none">
+ <type name="RTSPWatch" c:type="GstRTSPWatch*"/>
+ </parameter>
+ <parameter name="message" transfer-ownership="none">
+ <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1"
+ closure="2">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="message_sent">
+ <callback name="message_sent">
+ <source-position filename="gst-libs/gst/rtsp/gstrtspconnection.h"
+ line="271"/>
+ <return-value transfer-ownership="none">
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="watch" transfer-ownership="none">
+ <type name="RTSPWatch" c:type="GstRTSPWatch*"/>
+ </parameter>
+ <parameter name="id" transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1"
+ closure="2">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="closed">
+ <callback name="closed">
+ <source-position filename="gst-libs/gst/rtsp/gstrtspconnection.h"
+ line="273"/>
+ <return-value transfer-ownership="none">
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="watch" transfer-ownership="none">
+ <type name="RTSPWatch" c:type="GstRTSPWatch*"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1"
+ closure="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="error">
+ <callback name="error">
+ <source-position filename="gst-libs/gst/rtsp/gstrtspconnection.h"
+ line="274"/>
+ <return-value transfer-ownership="none">
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="watch" transfer-ownership="none">
+ <type name="RTSPWatch" c:type="GstRTSPWatch*"/>
+ </parameter>
+ <parameter name="result" transfer-ownership="none">
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1"
+ closure="2">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="tunnel_start">
+ <callback name="tunnel_start">
+ <source-position filename="gst-libs/gst/rtsp/gstrtspconnection.h"
+ line="276"/>
+ <return-value transfer-ownership="none">
+ <type name="RTSPStatusCode" c:type="GstRTSPStatusCode"/>
+ </return-value>
+ <parameters>
+ <parameter name="watch" transfer-ownership="none">
+ <type name="RTSPWatch" c:type="GstRTSPWatch*"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1"
+ closure="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="tunnel_complete">
+ <callback name="tunnel_complete">
+ <source-position filename="gst-libs/gst/rtsp/gstrtspconnection.h"
+ line="277"/>
+ <return-value transfer-ownership="none">
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="watch" transfer-ownership="none">
+ <type name="RTSPWatch" c:type="GstRTSPWatch*"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1"
+ closure="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="error_full">
+ <callback name="error_full">
+ <source-position filename="gst-libs/gst/rtsp/gstrtspconnection.h"
+ line="278"/>
+ <return-value transfer-ownership="none">
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="watch" transfer-ownership="none">
+ <type name="RTSPWatch" c:type="GstRTSPWatch*"/>
+ </parameter>
+ <parameter name="result" transfer-ownership="none">
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </parameter>
+ <parameter name="message" transfer-ownership="none">
+ <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
+ </parameter>
+ <parameter name="id" transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1"
+ closure="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="tunnel_lost">
+ <callback name="tunnel_lost">
+ <source-position filename="gst-libs/gst/rtsp/gstrtspconnection.h"
+ line="281"/>
+ <return-value transfer-ownership="none">
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="watch" transfer-ownership="none">
+ <type name="RTSPWatch" c:type="GstRTSPWatch*"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1"
+ closure="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="tunnel_http_response">
+ <callback name="tunnel_http_response">
+ <source-position filename="gst-libs/gst/rtsp/gstrtspconnection.h"
+ line="282"/>
+ <return-value transfer-ownership="none">
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="watch" transfer-ownership="none">
+ <type name="RTSPWatch" c:type="GstRTSPWatch*"/>
+ </parameter>
+ <parameter name="request" transfer-ownership="none">
+ <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
+ </parameter>
+ <parameter name="response" transfer-ownership="none">
+ <type name="RTSPMessage" c:type="GstRTSPMessage*"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1"
+ closure="3">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="3">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <function-macro name="RTSP_CHECK"
+ c:identifier="GST_RTSP_CHECK"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.h"
+ line="51">Macro that checks the return value of @stmt and jumps to @label when it does
+not equal #GST_RTSP_OK.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspdefs.h" line="59"/>
+ <parameters>
+ <parameter name="stmt">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.h"
+ line="53">a statement</doc>
+ </parameter>
+ <parameter name="label">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.h"
+ line="54">a label</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <constant name="RTSP_DEFAULT_PORT"
+ value="554"
+ c:type="GST_RTSP_DEFAULT_PORT">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspurl.h"
+ line="54">The default RTSP port to connect to.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspurl.h" line="59"/>
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <function-macro name="RTSP_DEPRECATED_FOR"
+ c:identifier="GST_RTSP_DEPRECATED_FOR"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/rtsp/rtsp-prelude.h" line="35"/>
+ <parameters>
+ <parameter name="f">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="RTSP_EXTENSION"
+ c:identifier="GST_RTSP_EXTENSION"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/rtsp/gstrtspextension.h"
+ line="35"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="RTSP_EXTENSION_GET_INTERFACE"
+ c:identifier="GST_RTSP_EXTENSION_GET_INTERFACE"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/rtsp/gstrtspextension.h"
+ line="39"/>
+ <parameters>
+ <parameter name="inst">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="RTSP_MESSAGE"
+ c:identifier="GST_RTSP_MESSAGE"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/rtsp/gstrtspmessage.h"
+ line="116"/>
+ <parameters>
+ <parameter name="object">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="RTSP_MESSAGE_CAST"
+ c:identifier="GST_RTSP_MESSAGE_CAST"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/rtsp/gstrtspmessage.h"
+ line="115"/>
+ <parameters>
+ <parameter name="object">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <docsection name="gstrtspdefs">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.c"
+ line="43">Provides common defines for the RTSP library.</doc>
+ </docsection>
+ <function name="rtsp_auth_credentials_free"
+ c:identifier="gst_rtsp_auth_credentials_free"
+ version="1.12">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="1543">Free a %NULL-terminated array of credentials returned from
+gst_rtsp_message_parse_auth_credentials().</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspmessage.h"
+ line="328"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="credentials" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="1545">a %NULL-terminated array of #GstRTSPAuthCredential</doc>
+ <type name="RTSPAuthCredential" c:type="GstRTSPAuthCredential**"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtsp_connection_accept"
+ c:identifier="gst_rtsp_connection_accept"
+ moved-to="RTSPConnection.accept">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="485">Accept a new connection on @socket and create a new #GstRTSPConnection for
+handling communication on new socket.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspconnection.h"
+ line="76"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="494">#GST_RTSP_OK when @conn contains a valid connection.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="socket" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="487">a socket</doc>
+ <type name="Gio.Socket" c:type="GSocket*"/>
+ </parameter>
+ <parameter name="conn"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="488">storage for a #GstRTSPConnection</doc>
+ <type name="RTSPConnection" c:type="GstRTSPConnection**"/>
+ </parameter>
+ <parameter name="cancellable"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="489">a #GCancellable to cancel the operation</doc>
+ <type name="Gio.Cancellable" c:type="GCancellable*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtsp_connection_create"
+ c:identifier="gst_rtsp_connection_create"
+ moved-to="RTSPConnection.create">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="329">Create a newly allocated #GstRTSPConnection from @url and store it in @conn.
+The connection will not yet attempt to connect to @url, use
+gst_rtsp_connection_connect().
+
+A copy of @url will be made.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspconnection.h"
+ line="66"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="340">#GST_RTSP_OK when @conn contains a valid connection.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="url" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="331">a #GstRTSPUrl</doc>
+ <type name="RTSPUrl" c:type="const GstRTSPUrl*"/>
+ </parameter>
+ <parameter name="conn"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="332">storage for a #GstRTSPConnection</doc>
+ <type name="RTSPConnection" c:type="GstRTSPConnection**"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtsp_connection_create_from_socket"
+ c:identifier="gst_rtsp_connection_create_from_socket"
+ moved-to="RTSPConnection.create_from_socket">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="408">Create a new #GstRTSPConnection for handling communication on the existing
+socket @socket. The @initial_buffer contains zero terminated data already
+read from @socket which should be used before starting to read new data.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspconnection.h"
+ line="69"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="420">#GST_RTSP_OK when @conn contains a valid connection.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="socket" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="410">a #GSocket</doc>
+ <type name="Gio.Socket" c:type="GSocket*"/>
+ </parameter>
+ <parameter name="ip" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="411">the IP address of the other end</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="port" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="412">the port used by the other end</doc>
+ <type name="guint16" c:type="guint16"/>
+ </parameter>
+ <parameter name="initial_buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="413">data already read from @fd</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="conn"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="414">storage for a #GstRTSPConnection</doc>
+ <type name="RTSPConnection" c:type="GstRTSPConnection**"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtsp_find_header_field"
+ c:identifier="gst_rtsp_find_header_field">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.c"
+ line="397">Convert @header to a #GstRTSPHeaderField.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspdefs.h" line="427"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.c"
+ line="403">a #GstRTSPHeaderField for @header or #GST_RTSP_HDR_INVALID if the
+header field is unknown.</doc>
+ <type name="RTSPHeaderField" c:type="GstRTSPHeaderField"/>
+ </return-value>
+ <parameters>
+ <parameter name="header" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.c"
+ line="399">a header string</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtsp_find_method" c:identifier="gst_rtsp_find_method">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.c"
+ line="419">Convert @method to a #GstRTSPMethod.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspdefs.h" line="430"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.c"
+ line="425">a #GstRTSPMethod for @method or #GST_RTSP_INVALID if the
+method is unknown.</doc>
+ <type name="RTSPMethod" c:type="GstRTSPMethod"/>
+ </return-value>
+ <parameters>
+ <parameter name="method" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.c"
+ line="421">a method</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtsp_generate_digest_auth_response"
+ c:identifier="gst_rtsp_generate_digest_auth_response"
+ version="1.12">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.c"
+ line="603">Calculates the digest auth response from the values given by the server and
+the username and password. See RFC2069 for details.
+
+Currently only supported algorithm "md5".</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspdefs.h" line="436"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.c"
+ line="618">Authentication response or %NULL if unsupported</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="algorithm"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.c"
+ line="605">Hash algorithm to use, or %NULL for MD5</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="method" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.c"
+ line="606">Request method, e.g. PLAY</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="realm" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.c"
+ line="607">Realm</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="username" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.c"
+ line="608">Username</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="password" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.c"
+ line="609">Password</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="uri" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.c"
+ line="610">Original request URI</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="nonce" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.c"
+ line="611">Nonce</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtsp_generate_digest_auth_response_from_md5"
+ c:identifier="gst_rtsp_generate_digest_auth_response_from_md5"
+ version="1.16">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.c"
+ line="644">Calculates the digest auth response from the values given by the server and
+the md5sum. See RFC2069 for details.
+
+This function is useful when the passwords are not stored in clear text,
+but instead in the same format as the .htdigest file.
+
+Currently only supported algorithm "md5".</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspdefs.h" line="445"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.c"
+ line="660">Authentication response or %NULL if unsupported</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="algorithm"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.c"
+ line="646">Hash algorithm to use, or %NULL for MD5</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="method" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.c"
+ line="647">Request method, e.g. PLAY</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="md5" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.c"
+ line="648">The md5 sum of username:realm:password</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="uri" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.c"
+ line="649">Original request URI</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="nonce" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.c"
+ line="650">Nonce</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtsp_header_allow_multiple"
+ c:identifier="gst_rtsp_header_allow_multiple">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.c"
+ line="526">Check whether @field may appear multiple times in a message.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspdefs.h" line="433"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.c"
+ line="532">%TRUE if multiple headers are allowed.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="field" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.c"
+ line="528">a #GstRTSPHeaderField</doc>
+ <type name="RTSPHeaderField" c:type="GstRTSPHeaderField"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtsp_header_as_text"
+ c:identifier="gst_rtsp_header_as_text">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.c"
+ line="361">Convert @field to a string.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspdefs.h" line="415"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.c"
+ line="367">a string representation of @field.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="field" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.c"
+ line="363">a #GstRTSPHeaderField</doc>
+ <type name="RTSPHeaderField" c:type="GstRTSPHeaderField"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtsp_message_new" c:identifier="gst_rtsp_message_new">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="115">Create a new initialized #GstRTSPMessage. Free with gst_rtsp_message_free().</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspmessage.h"
+ line="121"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="121">a #GstRTSPResult.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="msg"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="117">a location for the new #GstRTSPMessage</doc>
+ <type name="RTSPMessage" c:type="GstRTSPMessage**"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtsp_message_new_data"
+ c:identifier="gst_rtsp_message_new_data">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="398">Create a new data #GstRTSPMessage with @channel and store the
+result message in @msg. Free with gst_rtsp_message_free().</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspmessage.h"
+ line="179"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="406">a #GstRTSPResult.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="msg"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="400">a location for the new #GstRTSPMessage</doc>
+ <type name="RTSPMessage" c:type="GstRTSPMessage**"/>
+ </parameter>
+ <parameter name="channel" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="401">the channel</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtsp_message_new_request"
+ c:identifier="gst_rtsp_message_new_request">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="175">Create a new #GstRTSPMessage with @method and @uri and store the result
+request message in @msg. Free with gst_rtsp_message_free().</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspmessage.h"
+ line="141"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="184">a #GstRTSPResult.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="msg"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="177">a location for the new #GstRTSPMessage</doc>
+ <type name="RTSPMessage" c:type="GstRTSPMessage**"/>
+ </parameter>
+ <parameter name="method" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="178">the request method to use</doc>
+ <type name="RTSPMethod" c:type="GstRTSPMethod"/>
+ </parameter>
+ <parameter name="uri" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="179">the uri of the request</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtsp_message_new_response"
+ c:identifier="gst_rtsp_message_new_response">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="264">Create a new response #GstRTSPMessage with @code and @reason and store the
+result message in @msg. Free with gst_rtsp_message_free().
+
+When @reason is %NULL, the default reason for @code will be used.
+
+When @request is not %NULL, the relevant headers will be copied to the new
+response message.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspmessage.h"
+ line="159"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="279">a #GstRTSPResult.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="msg"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="266">a location for the new #GstRTSPMessage</doc>
+ <type name="RTSPMessage" c:type="GstRTSPMessage**"/>
+ </parameter>
+ <parameter name="code" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="267">the status code</doc>
+ <type name="RTSPStatusCode" c:type="GstRTSPStatusCode"/>
+ </parameter>
+ <parameter name="reason"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="268">the status reason or %NULL</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="request"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspmessage.c"
+ line="269">the request that triggered the response or %NULL</doc>
+ <type name="RTSPMessage" c:type="const GstRTSPMessage*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtsp_method_as_text"
+ c:identifier="gst_rtsp_method_as_text"
+ moved-to="RTSPMethod.as_text">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.c"
+ line="310">Convert @method to a string.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspdefs.h" line="409"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.c"
+ line="316">a string representation of @method.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="method" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.c"
+ line="312">a #GstRTSPMethod</doc>
+ <type name="RTSPMethod" c:type="GstRTSPMethod"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtsp_options_as_text"
+ c:identifier="gst_rtsp_options_as_text">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.c"
+ line="441">Convert @options to a string.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspdefs.h" line="421"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.c"
+ line="447">a new string of @options. g_free() after usage.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="options" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.c"
+ line="443">one or more #GstRTSPMethod</doc>
+ <type name="RTSPMethod" c:type="GstRTSPMethod"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtsp_options_from_text"
+ c:identifier="gst_rtsp_options_from_text"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.c"
+ line="486">Convert the comma separated list @options to a #GstRTSPMethod bitwise or
+of methods. This functions is the reverse of gst_rtsp_options_as_text().</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspdefs.h" line="424"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.c"
+ line="493">a #GstRTSPMethod</doc>
+ <type name="RTSPMethod" c:type="GstRTSPMethod"/>
+ </return-value>
+ <parameters>
+ <parameter name="options" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.c"
+ line="488">a comma separated list of options</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtsp_range_convert_units"
+ c:identifier="gst_rtsp_range_convert_units"
+ moved-to="RTSPRange.convert_units">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsprange.c"
+ line="664">Converts the range in-place between different types of units.
+Ranges containing the special value #GST_RTSP_TIME_NOW can not be
+converted as these are only valid for #GST_RTSP_RANGE_NPT.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtsprange.h" line="159"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsprange.c"
+ line="673">%TRUE if the range could be converted</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="range" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsprange.c"
+ line="666">a #GstRTSPTimeRange</doc>
+ <type name="RTSPTimeRange" c:type="GstRTSPTimeRange*"/>
+ </parameter>
+ <parameter name="unit" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsprange.c"
+ line="667">the unit to convert the range into</doc>
+ <type name="RTSPRangeUnit" c:type="GstRTSPRangeUnit"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtsp_range_free"
+ c:identifier="gst_rtsp_range_free"
+ moved-to="RTSPRange.free">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsprange.c"
+ line="472">Free the memory allocated by @range.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtsprange.h" line="152"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="range" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsprange.c"
+ line="474">a #GstRTSPTimeRange</doc>
+ <type name="RTSPTimeRange" c:type="GstRTSPTimeRange*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtsp_range_get_times"
+ c:identifier="gst_rtsp_range_get_times"
+ moved-to="RTSPRange.get_times"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsprange.c"
+ line="565">Retrieve the minimum and maximum values from @range converted to
+#GstClockTime in @min and @max.
+
+A value of %GST_CLOCK_TIME_NONE will be used to signal #GST_RTSP_TIME_NOW
+and #GST_RTSP_TIME_END for @min and @max respectively.
+
+UTC times will be converted to nanoseconds since 1900.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtsprange.h" line="155"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsprange.c"
+ line="579">%TRUE on success.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="range" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsprange.c"
+ line="567">a #GstRTSPTimeRange</doc>
+ <type name="RTSPTimeRange" c:type="const GstRTSPTimeRange*"/>
+ </parameter>
+ <parameter name="min"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsprange.c"
+ line="568">result minimum #GstClockTime</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime*"/>
+ </parameter>
+ <parameter name="max"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsprange.c"
+ line="569">result maximum #GstClockTime</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtsp_range_parse"
+ c:identifier="gst_rtsp_range_parse"
+ moved-to="RTSPRange.parse">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsprange.c"
+ line="257">Parse @rangestr to a #GstRTSPTimeRange.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtsprange.h" line="146"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsprange.c"
+ line="264">#GST_RTSP_OK on success.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="rangestr" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsprange.c"
+ line="259">a range string to parse</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="range"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsprange.c"
+ line="260">location to hold the #GstRTSPTimeRange result</doc>
+ <type name="RTSPTimeRange" c:type="GstRTSPTimeRange**"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtsp_range_to_string"
+ c:identifier="gst_rtsp_range_to_string"
+ moved-to="RTSPRange.to_string">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsprange.c"
+ line="421">Convert @range into a string representation.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtsprange.h" line="149"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsprange.c"
+ line="427">The string representation of @range. g_free() after usage.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="range" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsprange.c"
+ line="423">a #GstRTSPTimeRange</doc>
+ <type name="RTSPTimeRange" c:type="const GstRTSPTimeRange*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtsp_status_as_text"
+ c:identifier="gst_rtsp_status_as_text">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.c"
+ line="378">Convert @code to a string.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspdefs.h" line="418"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.c"
+ line="384">a string representation of @code.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="code" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.c"
+ line="380">a #GstRTSPStatusCode</doc>
+ <type name="RTSPStatusCode" c:type="GstRTSPStatusCode"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtsp_strresult" c:identifier="gst_rtsp_strresult">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.c"
+ line="258">Convert @result in a human readable string.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspdefs.h" line="406"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.c"
+ line="264">a newly allocated string. g_free() after usage.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="result" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.c"
+ line="260">a #GstRTSPResult</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtsp_transport_get_manager"
+ c:identifier="gst_rtsp_transport_get_manager"
+ moved-to="RTSPTransport.get_manager">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsptransport.c"
+ line="279">Get the #GstElement that can handle the buffers transported over @trans.
+
+It is possible that there are several managers available, use @option to
+selected one.
+
+@manager will contain an element name or %NULL when no manager is
+needed/available for @trans.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtsptransport.h"
+ line="190"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsptransport.c"
+ line="293">#GST_RTSP_OK.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="trans" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsptransport.c"
+ line="281">a #GstRTSPTransMode</doc>
+ <type name="RTSPTransMode" c:type="GstRTSPTransMode"/>
+ </parameter>
+ <parameter name="manager"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="none"
+ nullable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsptransport.c"
+ line="282">location to hold the result</doc>
+ <type name="utf8" c:type="const gchar**"/>
+ </parameter>
+ <parameter name="option" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsptransport.c"
+ line="283">option index.</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtsp_transport_get_mime"
+ c:identifier="gst_rtsp_transport_get_mime"
+ moved-to="RTSPTransport.get_mime"
+ deprecated="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsptransport.c"
+ line="205">Get the mime type of the transport mode @trans. This mime type is typically
+used to generate #GstCaps events.</doc>
+ <doc-deprecated xml:space="preserve">This functions only deals with the GstRTSPTransMode and only
+ returns the mime type for #GST_RTSP_PROFILE_AVP. Use
+ gst_rtsp_transport_get_media_type() instead.</doc-deprecated>
+ <source-position filename="gst-libs/gst/rtsp/gstrtsptransport.h"
+ line="187"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsptransport.c"
+ line="217">#GST_RTSP_OK.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="trans" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsptransport.c"
+ line="207">a #GstRTSPTransMode</doc>
+ <type name="RTSPTransMode" c:type="GstRTSPTransMode"/>
+ </parameter>
+ <parameter name="mime" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsptransport.c"
+ line="208">location to hold the result</doc>
+ <type name="utf8" c:type="const gchar**"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtsp_transport_new"
+ c:identifier="gst_rtsp_transport_new"
+ moved-to="RTSPTransport.new">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsptransport.c"
+ line="146">Allocate a new initialized #GstRTSPTransport. Use gst_rtsp_transport_free()
+after usage.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtsptransport.h"
+ line="175"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsptransport.c"
+ line="153">a #GstRTSPResult.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="transport" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsptransport.c"
+ line="148">location to hold the new #GstRTSPTransport</doc>
+ <type name="RTSPTransport" c:type="GstRTSPTransport**"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtsp_transport_parse"
+ c:identifier="gst_rtsp_transport_parse"
+ moved-to="RTSPTransport.parse">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsptransport.c"
+ line="433">Parse the RTSP transport string @str into @transport.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtsptransport.h"
+ line="181"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsptransport.c"
+ line="440">a #GstRTSPResult.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="str" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsptransport.c"
+ line="435">a transport string</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="transport" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtsptransport.c"
+ line="436">a #GstRTSPTransport</doc>
+ <type name="RTSPTransport" c:type="GstRTSPTransport*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtsp_url_parse"
+ c:identifier="gst_rtsp_url_parse"
+ moved-to="RTSPUrl.parse">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspurl.c"
+ line="90">Parse the RTSP @urlstr into a newly allocated #GstRTSPUrl. Free after usage
+with gst_rtsp_url_free().</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspurl.h" line="93"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspurl.c"
+ line="98">a #GstRTSPResult.</doc>
+ <type name="RTSPResult" c:type="GstRTSPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="urlstr" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspurl.c"
+ line="92">the url string to parse</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="url"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspurl.c"
+ line="93">location to hold the result.</doc>
+ <type name="RTSPUrl" c:type="GstRTSPUrl**"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtsp_version_as_text"
+ c:identifier="gst_rtsp_version_as_text"
+ moved-to="RTSPVersion.as_text">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.c"
+ line="334">Convert @version to a string.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspdefs.h" line="412"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.c"
+ line="340">a string representation of @version.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="version" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspdefs.c"
+ line="336">a #GstRTSPVersion</doc>
+ <type name="RTSPVersion" c:type="GstRTSPVersion"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="rtsp_watch_new"
+ c:identifier="gst_rtsp_watch_new"
+ moved-to="RTSPWatch.new"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="4170">Create a watch object for @conn. The functions provided in @funcs will be
+called with @user_data when activity happened on the watch.
+
+The new watch is usually created so that it can be attached to a
+maincontext with gst_rtsp_watch_attach().
+
+@conn must exist for the entire lifetime of the watch.</doc>
+ <source-position filename="gst-libs/gst/rtsp/gstrtspconnection.h"
+ line="292"/>
+ <return-value>
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="4185">a #GstRTSPWatch that can be used for asynchronous RTSP
+communication. Free with gst_rtsp_watch_unref () after usage.</doc>
+ <type name="RTSPWatch" c:type="GstRTSPWatch*"/>
+ </return-value>
+ <parameters>
+ <parameter name="conn" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="4172">a #GstRTSPConnection</doc>
+ <type name="RTSPConnection" c:type="GstRTSPConnection*"/>
+ </parameter>
+ <parameter name="funcs" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="4173">watch functions</doc>
+ <type name="RTSPWatchFuncs" c:type="GstRTSPWatchFuncs*"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="4174">user data to pass to @funcs</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="notify" transfer-ownership="none" scope="async">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/rtsp/gstrtspconnection.c"
+ line="4175">notify when @user_data is not referenced anymore</doc>
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </parameter>
+ </parameters>
+ </function>
+ </namespace>
+</repository>
diff --git a/subprojects/gstreamer-sharp/girs/GstSdp-1.0.gir b/subprojects/gstreamer-sharp/girs/GstSdp-1.0.gir
new file mode 100644
index 0000000000..a3ce4c518c
--- /dev/null
+++ b/subprojects/gstreamer-sharp/girs/GstSdp-1.0.gir
@@ -0,0 +1,6619 @@
+<?xml version="1.0"?>
+<!-- This file was automatically generated from C sources - DO NOT EDIT!
+To affect the contents of this file, edit the original C definitions,
+and/or use gtk-doc annotations. -->
+<repository version="1.2"
+ xmlns="http://www.gtk.org/introspection/core/1.0"
+ xmlns:c="http://www.gtk.org/introspection/c/1.0"
+ xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
+ <include name="Gst" version="1.0"/>
+ <package name="gstreamer-sdp-1.0"/>
+ <c:include name="gst/sdp/sdp.h"/>
+ <namespace name="GstSdp"
+ version="1.0"
+ shared-library="libgstsdp-1.0.so.0"
+ c:identifier-prefixes="Gst"
+ c:symbol-prefixes="gst">
+ <enumeration name="MIKEYCacheType" c:type="GstMIKEYCacheType">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="282">The different cache types</doc>
+ <source-position filename="gst-libs/gst/sdp/gstmikey.h" line="296"/>
+ <member name="none" value="0" c:identifier="GST_MIKEY_CACHE_NONE">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="284">The envelope key MUST NOT be cached</doc>
+ </member>
+ <member name="always" value="1" c:identifier="GST_MIKEY_CACHE_ALWAYS">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="285">The envelope key MUST be cached</doc>
+ </member>
+ <member name="for_csb" value="2" c:identifier="GST_MIKEY_CACHE_FOR_CSB">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="286">The envelope key MUST be cached, but only
+ to be used for the specific CSB.</doc>
+ </member>
+ </enumeration>
+ <record name="MIKEYDecryptInfo" c:type="GstMIKEYDecryptInfo" disguised="1">
+ <source-position filename="gst-libs/gst/sdp/gstmikey.h" line="36"/>
+ </record>
+ <enumeration name="MIKEYEncAlg" c:type="GstMIKEYEncAlg">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="217">The encryption algorithm used to encrypt the Encr data field</doc>
+ <source-position filename="gst-libs/gst/sdp/gstmikey.h" line="232"/>
+ <member name="null" value="0" c:identifier="GST_MIKEY_ENC_NULL">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="219">no encryption</doc>
+ </member>
+ <member name="aes_cm_128"
+ value="1"
+ c:identifier="GST_MIKEY_ENC_AES_CM_128">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="220">AES-CM using a 128-bit key</doc>
+ </member>
+ <member name="aes_kw_128"
+ value="2"
+ c:identifier="GST_MIKEY_ENC_AES_KW_128">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="221">AES Key Wrap using a 128-bit key</doc>
+ </member>
+ <member name="aes_gcm_128"
+ value="6"
+ c:identifier="GST_MIKEY_ENC_AES_GCM_128">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="222">AES-GCM using a 128-bit key (Since: 1.16)</doc>
+ </member>
+ </enumeration>
+ <record name="MIKEYEncryptInfo" c:type="GstMIKEYEncryptInfo" disguised="1">
+ <source-position filename="gst-libs/gst/sdp/gstmikey.h" line="35"/>
+ </record>
+ <enumeration name="MIKEYKVType" c:type="GstMIKEYKVType">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="487">The key validity type</doc>
+ <source-position filename="gst-libs/gst/sdp/gstmikey.h" line="500"/>
+ <member name="null" value="0" c:identifier="GST_MIKEY_KV_NULL">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="489">No specific usage rule</doc>
+ </member>
+ <member name="spi" value="1" c:identifier="GST_MIKEY_KV_SPI">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="490">The key is associated with the SPI/MKI</doc>
+ </member>
+ <member name="interval" value="2" c:identifier="GST_MIKEY_KV_INTERVAL">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="491">The key has a start and expiration time</doc>
+ </member>
+ </enumeration>
+ <enumeration name="MIKEYKeyDataType" c:type="GstMIKEYKeyDataType">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="474">The type of key.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstmikey.h" line="485"/>
+ <member name="tgk" value="0" c:identifier="GST_MIKEY_KD_TGK">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="476">a TEK Generation Key</doc>
+ </member>
+ <member name="tek" value="2" c:identifier="GST_MIKEY_KD_TEK">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="477">Traffic-Encrypting Key</doc>
+ </member>
+ </enumeration>
+ <enumeration name="MIKEYMacAlg" c:type="GstMIKEYMacAlg">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="234">Specifies the authentication algorithm used</doc>
+ <source-position filename="gst-libs/gst/sdp/gstmikey.h" line="245"/>
+ <member name="null" value="0" c:identifier="GST_MIKEY_MAC_NULL">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="236">no authentication</doc>
+ </member>
+ <member name="hmac_sha_1_160"
+ value="1"
+ c:identifier="GST_MIKEY_MAC_HMAC_SHA_1_160">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="237">HMAC-SHA-1-160</doc>
+ </member>
+ </enumeration>
+ <record name="MIKEYMapSRTP" c:type="GstMIKEYMapSRTP">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="132">The Security policy Map item for SRTP</doc>
+ <source-position filename="gst-libs/gst/sdp/gstmikey.h" line="144"/>
+ <field name="policy" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="134">The security policy applied for the stream with @ssrc</doc>
+ <type name="guint8" c:type="guint8"/>
+ </field>
+ <field name="ssrc" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="135">the SSRC that must be used for the stream</doc>
+ <type name="guint32" c:type="guint32"/>
+ </field>
+ <field name="roc" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="136">current rollover counter</doc>
+ <type name="guint32" c:type="guint32"/>
+ </field>
+ </record>
+ <enumeration name="MIKEYMapType" c:type="GstMIKEYMapType">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="120">Specifies the method of uniquely mapping Crypto Sessions to the security
+protocol sessions.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstmikey.h" line="130"/>
+ <member name="mikey_map_type_srtp"
+ value="0"
+ c:identifier="GST_MIKEY_MAP_TYPE_SRTP">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="122">SRTP</doc>
+ </member>
+ </enumeration>
+ <record name="MIKEYMessage"
+ c:type="GstMIKEYMessage"
+ glib:type-name="GstMIKEYMessage"
+ glib:get-type="gst_mikey_message_get_type"
+ c:symbol-prefix="mikey_message">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="548">Structure holding the information of the MIKEY message</doc>
+ <source-position filename="gst-libs/gst/sdp/gstmikey.h" line="575"/>
+ <field name="mini_object" readable="0" private="1">
+ <type name="Gst.MiniObject" c:type="GstMiniObject"/>
+ </field>
+ <field name="version" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="550">the version</doc>
+ <type name="guint8" c:type="guint8"/>
+ </field>
+ <field name="type" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="551">the #GstMIKEYType message type</doc>
+ <type name="MIKEYType" c:type="GstMIKEYType"/>
+ </field>
+ <field name="V" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="552">verify flag</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="prf_func" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="553">a #GstMIKEYPRFFunc</doc>
+ <type name="MIKEYPRFFunc" c:type="GstMIKEYPRFFunc"/>
+ </field>
+ <field name="CSB_id" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="554">Identifies the Crypto Session Bundle</doc>
+ <type name="guint32" c:type="guint32"/>
+ </field>
+ <field name="map_type" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="555">a #GstMIKEYMapType</doc>
+ <type name="MIKEYMapType" c:type="GstMIKEYMapType"/>
+ </field>
+ <field name="map_info" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="556">map info array of type depending on @map_type</doc>
+ <array name="GLib.Array" c:type="GArray*">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <field name="payloads" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="557">the payload array of #GstMIKEYPayload</doc>
+ <array name="GLib.Array" c:type="GArray*">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <constructor name="new"
+ c:identifier="gst_mikey_message_new"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="868">Make a new MIKEY message.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstmikey.h" line="579"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="873">a new #GstMIKEYMessage on success</doc>
+ <type name="MIKEYMessage" c:type="GstMIKEYMessage*"/>
+ </return-value>
+ </constructor>
+ <constructor name="new_from_bytes"
+ c:identifier="gst_mikey_message_new_from_bytes"
+ version="1.4"
+ throws="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="894">Make a new #GstMIKEYMessage from @bytes.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstmikey.h" line="586"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="902">a new #GstMIKEYMessage</doc>
+ <type name="MIKEYMessage" c:type="GstMIKEYMessage*"/>
+ </return-value>
+ <parameters>
+ <parameter name="bytes" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="896">a #GBytes</doc>
+ <type name="GLib.Bytes" c:type="GBytes*"/>
+ </parameter>
+ <parameter name="info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="897">a #GstMIKEYDecryptInfo</doc>
+ <type name="MIKEYDecryptInfo" c:type="GstMIKEYDecryptInfo*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_from_caps"
+ c:identifier="gst_mikey_message_new_from_caps"
+ version="1.8">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="2232">Makes mikey message including:
+ - Security Policy Payload
+ - Key Data Transport Payload
+ - Key Data Sub-Payload</doc>
+ <source-position filename="gst-libs/gst/sdp/gstmikey.h" line="594"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="2241">a #GstMIKEYMessage,
+or %NULL if there is no srtp information in the caps.</doc>
+ <type name="MIKEYMessage" c:type="GstMIKEYMessage*"/>
+ </return-value>
+ <parameters>
+ <parameter name="caps" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="2234">a #GstCaps, including SRTP parameters (srtp/srtcp cipher, authorization, key data)</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_from_data"
+ c:identifier="gst_mikey_message_new_from_data"
+ version="1.4"
+ throws="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="2046">Parse @size bytes from @data into a #GstMIKEYMessage. @info contains the
+parameters to decrypt and verify the data.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstmikey.h" line="582"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="2056">a #GstMIKEYMessage on success or %NULL when parsing failed and
+@error will be set.</doc>
+ <type name="MIKEYMessage" c:type="GstMIKEYMessage*"/>
+ </return-value>
+ <parameters>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="2048">bytes to read</doc>
+ <array length="1" zero-terminated="0" c:type="gconstpointer">
+ <type name="guint8"/>
+ </array>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="2049">length of @data</doc>
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ <parameter name="info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="2050">#GstMIKEYDecryptInfo</doc>
+ <type name="MIKEYDecryptInfo" c:type="GstMIKEYDecryptInfo*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <method name="add_cs_srtp"
+ c:identifier="gst_mikey_message_add_cs_srtp"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="1073">Add a Crypto policy for SRTP to @msg.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstmikey.h" line="675"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="1082">%TRUE on success</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="1075">a #GstMIKEYMessage</doc>
+ <type name="MIKEYMessage" c:type="GstMIKEYMessage*"/>
+ </instance-parameter>
+ <parameter name="policy" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="1076">The security policy applied for the stream with @ssrc</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ <parameter name="ssrc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="1077">the SSRC that must be used for the stream</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ <parameter name="roc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="1078">current rollover counter</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_payload"
+ c:identifier="gst_mikey_message_add_payload"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="1229">Add a new payload to @msg.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstmikey.h" line="698"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="1236">%TRUE on success</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="1231">a #GstMIKEYMessage</doc>
+ <type name="MIKEYMessage" c:type="GstMIKEYMessage*"/>
+ </instance-parameter>
+ <parameter name="payload" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="1232">a #GstMIKEYPayload</doc>
+ <type name="MIKEYPayload" c:type="GstMIKEYPayload*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_pke"
+ c:identifier="gst_mikey_message_add_pke"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="1275">Add a new PKE payload to @msg with the given parameters.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstmikey.h" line="710"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="1284">%TRUE on success</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="1277">a #GstMIKEYMessage</doc>
+ <type name="MIKEYMessage" c:type="GstMIKEYMessage*"/>
+ </instance-parameter>
+ <parameter name="C" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="1278">envelope key cache indicator</doc>
+ <type name="MIKEYCacheType" c:type="GstMIKEYCacheType"/>
+ </parameter>
+ <parameter name="data_len" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="1279">the length of @data</doc>
+ <type name="guint16" c:type="guint16"/>
+ </parameter>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="1280">the encrypted envelope key</doc>
+ <array length="1" zero-terminated="0" c:type="const guint8*">
+ <type name="guint8" c:type="guint8"/>
+ </array>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_rand"
+ c:identifier="gst_mikey_message_add_rand"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="1365">Add a new RAND payload to @msg with the given parameters.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstmikey.h" line="732"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="1373">%TRUE on success</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="1367">a #GstMIKEYMessage</doc>
+ <type name="MIKEYMessage" c:type="GstMIKEYMessage*"/>
+ </instance-parameter>
+ <parameter name="len" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="1368">the length of @rand</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ <parameter name="rand" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="1369">random data</doc>
+ <array length="0" zero-terminated="0" c:type="const guint8*">
+ <type name="guint8" c:type="guint8"/>
+ </array>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_rand_len"
+ c:identifier="gst_mikey_message_add_rand_len"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="1395">Add a new RAND payload to @msg with @len random bytes.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstmikey.h" line="736"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="1402">%TRUE on success</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="1397">a #GstMIKEYMessage</doc>
+ <type name="MIKEYMessage" c:type="GstMIKEYMessage*"/>
+ </instance-parameter>
+ <parameter name="len" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="1398">length</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_t"
+ c:identifier="gst_mikey_message_add_t"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="1305">Add a new T payload to @msg with the given parameters.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstmikey.h" line="719"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="1313">%TRUE on success</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="1307">a #GstMIKEYMessage</doc>
+ <type name="MIKEYMessage" c:type="GstMIKEYMessage*"/>
+ </instance-parameter>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="1308">specifies the timestamp type used</doc>
+ <type name="MIKEYTSType" c:type="GstMIKEYTSType"/>
+ </parameter>
+ <parameter name="ts_value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="1309">The timestamp value of the specified @type</doc>
+ <array zero-terminated="0" c:type="const guint8*">
+ <type name="guint8" c:type="guint8"/>
+ </array>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_t_now_ntp_utc"
+ c:identifier="gst_mikey_message_add_t_now_ntp_utc"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="1334">Add a new T payload to @msg that contains the current time
+in NTP-UTC format.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstmikey.h" line="723"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="1341">%TRUE on success</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="1336">a #GstMIKEYMessage</doc>
+ <type name="MIKEYMessage" c:type="GstMIKEYMessage*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="base64_encode"
+ c:identifier="gst_mikey_message_base64_encode"
+ version="1.8">
+ <source-position filename="gst-libs/gst/sdp/gstmikey.h" line="600"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="2516">a #gchar, base64-encoded data</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="2514">a #GstMIKEYMessage</doc>
+ <type name="MIKEYMessage" c:type="GstMIKEYMessage*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="find_payload"
+ c:identifier="gst_mikey_message_find_payload"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="1144">Find the @nth occurrence of the payload with @type in @msg.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstmikey.h" line="687"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="1152">the @nth #GstMIKEYPayload of @type.</doc>
+ <type name="MIKEYPayload" c:type="const GstMIKEYPayload*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="1146">a #GstMIKEYMessage</doc>
+ <type name="MIKEYMessage" c:type="const GstMIKEYMessage*"/>
+ </instance-parameter>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="1147">a #GstMIKEYPayloadType</doc>
+ <type name="MIKEYPayloadType" c:type="GstMIKEYPayloadType"/>
+ </parameter>
+ <parameter name="nth" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="1148">payload to find</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_cs_srtp"
+ c:identifier="gst_mikey_message_get_cs_srtp"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="970">Get the policy information of @msg at @idx.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstmikey.h" line="661"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="977">a #GstMIKEYMapSRTP</doc>
+ <type name="MIKEYMapSRTP" c:type="const GstMIKEYMapSRTP*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="972">a #GstMIKEYMessage</doc>
+ <type name="MIKEYMessage" c:type="const GstMIKEYMessage*"/>
+ </instance-parameter>
+ <parameter name="idx" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="973">an index</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_n_cs"
+ c:identifier="gst_mikey_message_get_n_cs"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="952">Get the number of crypto sessions in @msg.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstmikey.h" line="656"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="958">the number of crypto sessions</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="954">a #GstMIKEYMessage</doc>
+ <type name="MIKEYMessage" c:type="const GstMIKEYMessage*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_n_payloads"
+ c:identifier="gst_mikey_message_get_n_payloads"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="1103">Get the number of payloads in @msg.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstmikey.h" line="681"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="1109">the number of payloads in @msg</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="1105">a #GstMIKEYMessage</doc>
+ <type name="MIKEYMessage" c:type="const GstMIKEYMessage*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_payload"
+ c:identifier="gst_mikey_message_get_payload"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="1121">Get the #GstMIKEYPayload at @idx in @msg</doc>
+ <source-position filename="gst-libs/gst/sdp/gstmikey.h" line="684"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="1128">the #GstMIKEYPayload at @idx. The payload
+remains valid for as long as it is part of @msg.</doc>
+ <type name="MIKEYPayload" c:type="const GstMIKEYPayload*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="1123">a #GstMIKEYMessage</doc>
+ <type name="MIKEYMessage" c:type="const GstMIKEYMessage*"/>
+ </instance-parameter>
+ <parameter name="idx" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="1124">an index</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="insert_cs_srtp"
+ c:identifier="gst_mikey_message_insert_cs_srtp"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="993">Insert a Crypto Session map for SRTP in @msg at @idx
+
+When @idx is -1, the policy will be appended.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstmikey.h" line="664"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="1003">%TRUE on success</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="995">a #GstMIKEYMessage</doc>
+ <type name="MIKEYMessage" c:type="GstMIKEYMessage*"/>
+ </instance-parameter>
+ <parameter name="idx" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="996">the index to insert at</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="map" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="997">the map info</doc>
+ <type name="MIKEYMapSRTP" c:type="const GstMIKEYMapSRTP*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="insert_payload"
+ c:identifier="gst_mikey_message_insert_payload"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="1200">Insert the @payload at index @idx in @msg. If @idx is -1, the payload
+will be appended to @msg.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstmikey.h" line="694"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="1209">%TRUE on success</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="1202">a #GstMIKEYMessage</doc>
+ <type name="MIKEYMessage" c:type="GstMIKEYMessage*"/>
+ </instance-parameter>
+ <parameter name="idx" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="1203">an index</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="payload" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="1204">a #GstMIKEYPayload</doc>
+ <type name="MIKEYPayload" c:type="GstMIKEYPayload*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="remove_cs_srtp"
+ c:identifier="gst_mikey_message_remove_cs_srtp"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="1050">Remove the SRTP policy at @idx.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstmikey.h" line="672"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="1057">%TRUE on success</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="1052">a #GstMIKEYMessage</doc>
+ <type name="MIKEYMessage" c:type="GstMIKEYMessage*"/>
+ </instance-parameter>
+ <parameter name="idx" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="1053">the index to remove</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="remove_payload"
+ c:identifier="gst_mikey_message_remove_payload"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="1178">Remove the payload in @msg at @idx</doc>
+ <source-position filename="gst-libs/gst/sdp/gstmikey.h" line="691"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="1185">%TRUE on success</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="1180">a #GstMIKEYMessage</doc>
+ <type name="MIKEYMessage" c:type="GstMIKEYMessage*"/>
+ </instance-parameter>
+ <parameter name="idx" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="1181">an index</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="replace_cs_srtp"
+ c:identifier="gst_mikey_message_replace_cs_srtp"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="1024">Replace a Crypto Session map for SRTP in @msg at @idx with @map.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstmikey.h" line="668"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="1032">%TRUE on success</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="1026">a #GstMIKEYMessage</doc>
+ <type name="MIKEYMessage" c:type="GstMIKEYMessage*"/>
+ </instance-parameter>
+ <parameter name="idx" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="1027">the index to insert at</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="map" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="1028">the map info</doc>
+ <type name="MIKEYMapSRTP" c:type="const GstMIKEYMapSRTP*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="replace_payload"
+ c:identifier="gst_mikey_message_replace_payload"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="1246">Replace the payload at @idx in @msg with @payload.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstmikey.h" line="702"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="1254">%TRUE on success</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="1248">a #GstMIKEYMessage</doc>
+ <type name="MIKEYMessage" c:type="GstMIKEYMessage*"/>
+ </instance-parameter>
+ <parameter name="idx" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="1249">an index</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="payload" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="1250">a #GstMIKEYPayload</doc>
+ <type name="MIKEYPayload" c:type="GstMIKEYPayload*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_info"
+ c:identifier="gst_mikey_message_set_info"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="919">Set the information in @msg.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstmikey.h" line="650"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="931">%TRUE on success</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="921">a #GstMIKEYMessage</doc>
+ <type name="MIKEYMessage" c:type="GstMIKEYMessage*"/>
+ </instance-parameter>
+ <parameter name="version" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="922">a version</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="923">a #GstMIKEYType</doc>
+ <type name="MIKEYType" c:type="GstMIKEYType"/>
+ </parameter>
+ <parameter name="V" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="924">verify flag</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ <parameter name="prf_func" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="925">the #GstMIKEYPRFFunc function to use</doc>
+ <type name="MIKEYPRFFunc" c:type="GstMIKEYPRFFunc"/>
+ </parameter>
+ <parameter name="CSB_id" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="926">the Crypto Session Bundle id</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ <parameter name="map_type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="927">the #GstMIKEYMapType</doc>
+ <type name="MIKEYMapType" c:type="GstMIKEYMapType"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="to_bytes"
+ c:identifier="gst_mikey_message_to_bytes"
+ version="1.4"
+ throws="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="1662">Convert @msg to a #GBytes.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstmikey.h" line="590"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="1670">a new #GBytes for @msg.</doc>
+ <type name="GLib.Bytes" c:type="GBytes*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="1664">a #GstMIKEYMessage</doc>
+ <type name="MIKEYMessage" c:type="GstMIKEYMessage*"/>
+ </instance-parameter>
+ <parameter name="info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="1665">a #GstMIKEYEncryptInfo</doc>
+ <type name="MIKEYEncryptInfo" c:type="GstMIKEYEncryptInfo*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="to_caps"
+ c:identifier="gst_mikey_message_to_caps"
+ version="1.8.1">
+ <source-position filename="gst-libs/gst/sdp/gstmikey.h" line="597"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="2372">%TRUE on success</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="2369">a #GstMIKEYMessage</doc>
+ <type name="MIKEYMessage" c:type="const GstMIKEYMessage*"/>
+ </instance-parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="2370">a #GstCaps to be filled with SRTP parameters (srtp/srtcp cipher, authorization, key data)</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </method>
+ </record>
+ <enumeration name="MIKEYPRFFunc" c:type="GstMIKEYPRFFunc">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="109">The PRF function that has been/will be used for key derivation</doc>
+ <source-position filename="gst-libs/gst/sdp/gstmikey.h" line="118"/>
+ <member name="mikey_prf_mikey_1"
+ value="0"
+ c:identifier="GST_MIKEY_PRF_MIKEY_1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="111">MIKEY-1 PRF function</doc>
+ </member>
+ </enumeration>
+ <record name="MIKEYPayload"
+ c:type="GstMIKEYPayload"
+ glib:type-name="GstMIKEYPayload"
+ glib:get-type="gst_mikey_payload_get_type"
+ c:symbol-prefix="mikey_payload">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="152">Hold the common fields for all payloads</doc>
+ <source-position filename="gst-libs/gst/sdp/gstmikey.h" line="166"/>
+ <field name="mini_object" readable="0" private="1">
+ <type name="Gst.MiniObject" c:type="GstMiniObject"/>
+ </field>
+ <field name="type" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="154">the payload type</doc>
+ <type name="MIKEYPayloadType" c:type="GstMIKEYPayloadType"/>
+ </field>
+ <field name="len" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="155">length of the payload</doc>
+ <type name="guint" c:type="guint"/>
+ </field>
+ <constructor name="new"
+ c:identifier="gst_mikey_payload_new"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="760">Make a new #GstMIKEYPayload with @type.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstmikey.h" line="169"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="766">a new #GstMIKEYPayload or %NULL on failure.</doc>
+ <type name="MIKEYPayload" c:type="GstMIKEYPayload*"/>
+ </return-value>
+ <parameters>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="762">a #GstMIKEYPayloadType</doc>
+ <type name="MIKEYPayloadType" c:type="GstMIKEYPayloadType"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <method name="kemac_add_sub"
+ c:identifier="gst_mikey_payload_kemac_add_sub"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="223">Add a new sub payload to @payload.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstmikey.h" line="279"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="230">%TRUE on success.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="payload" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="225">a #GstMIKEYPayload</doc>
+ <type name="MIKEYPayload" c:type="GstMIKEYPayload*"/>
+ </instance-parameter>
+ <parameter name="newpay" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="226">a #GstMIKEYPayload to add</doc>
+ <type name="MIKEYPayload" c:type="GstMIKEYPayload*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="kemac_get_n_sub"
+ c:identifier="gst_mikey_payload_kemac_get_n_sub"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="150">Get the number of sub payloads of @payload. @payload should be of type
+%GST_MIKEY_PT_KEMAC.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstmikey.h" line="270"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="157">the number of sub payloads in @payload</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="payload" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="152">a #GstMIKEYPayload</doc>
+ <type name="MIKEYPayload" c:type="const GstMIKEYPayload*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="kemac_get_sub"
+ c:identifier="gst_mikey_payload_kemac_get_sub"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="172">Get the sub payload of @payload at @idx. @payload should be of type
+%GST_MIKEY_PT_KEMAC.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstmikey.h" line="273"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="180">the #GstMIKEYPayload at @idx.</doc>
+ <type name="MIKEYPayload" c:type="const GstMIKEYPayload*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="payload" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="174">a #GstMIKEYPayload</doc>
+ <type name="MIKEYPayload" c:type="const GstMIKEYPayload*"/>
+ </instance-parameter>
+ <parameter name="idx" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="175">an index</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="kemac_remove_sub"
+ c:identifier="gst_mikey_payload_kemac_remove_sub"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="198">Remove the sub payload at @idx in @payload.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstmikey.h" line="276"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="205">%TRUE on success.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="payload" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="200">a #GstMIKEYPayload</doc>
+ <type name="MIKEYPayload" c:type="GstMIKEYPayload*"/>
+ </instance-parameter>
+ <parameter name="idx" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="201">the index to remove</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="kemac_set"
+ c:identifier="gst_mikey_payload_kemac_set"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="98">Set the KEMAC parameters. @payload should point to a %GST_MIKEY_PT_KEMAC
+payload.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstmikey.h" line="265"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="107">%TRUE on success</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="payload" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="100">a #GstMIKEYPayload</doc>
+ <type name="MIKEYPayload" c:type="GstMIKEYPayload*"/>
+ </instance-parameter>
+ <parameter name="enc_alg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="101">the #GstMIKEYEncAlg</doc>
+ <type name="MIKEYEncAlg" c:type="GstMIKEYEncAlg"/>
+ </parameter>
+ <parameter name="mac_alg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="102">a #GstMIKEYMacAlg</doc>
+ <type name="MIKEYMacAlg" c:type="GstMIKEYMacAlg"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="key_data_set_interval"
+ c:identifier="gst_mikey_payload_key_data_set_interval"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="682">Set the key validity period in the %GST_MIKEY_PT_KEY_DATA @payload.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstmikey.h" line="544"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="692">%TRUE on success</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="payload" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="684">a #GstMIKEYPayload</doc>
+ <type name="MIKEYPayload" c:type="GstMIKEYPayload*"/>
+ </instance-parameter>
+ <parameter name="vf_len" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="685">the length of @vf_data</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ <parameter name="vf_data" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="686">the Valid From data</doc>
+ <array length="1" zero-terminated="0" c:type="const guint8*">
+ <type name="guint8" c:type="guint8"/>
+ </array>
+ </parameter>
+ <parameter name="vt_len" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="687">the length of @vt_data</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ <parameter name="vt_data" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="688">the Valid To data</doc>
+ <array length="2" zero-terminated="0" c:type="const guint8*">
+ <type name="guint8" c:type="guint8"/>
+ </array>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="key_data_set_key"
+ c:identifier="gst_mikey_payload_key_data_set_key"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="587">Set @key_len bytes of @key_data of type @key_type as the key for the
+%GST_MIKEY_PT_KEY_DATA @payload.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstmikey.h" line="531"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="597">%TRUE on success</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="payload" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="589">a #GstMIKEYPayload</doc>
+ <type name="MIKEYPayload" c:type="GstMIKEYPayload*"/>
+ </instance-parameter>
+ <parameter name="key_type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="590">a #GstMIKEYKeyDataType</doc>
+ <type name="MIKEYKeyDataType" c:type="GstMIKEYKeyDataType"/>
+ </parameter>
+ <parameter name="key_len" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="591">the length of @key_data</doc>
+ <type name="guint16" c:type="guint16"/>
+ </parameter>
+ <parameter name="key_data" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="592">the key of type @key_type</doc>
+ <array length="1" zero-terminated="0" c:type="const guint8*">
+ <type name="guint8" c:type="guint8"/>
+ </array>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="key_data_set_salt"
+ c:identifier="gst_mikey_payload_key_data_set_salt"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="618">Set the salt key data. If @salt_len is 0 and @salt_data is %NULL, the
+salt data will be removed.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstmikey.h" line="536"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="627">%TRUE on success</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="payload" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="620">a #GstMIKEYPayload</doc>
+ <type name="MIKEYPayload" c:type="GstMIKEYPayload*"/>
+ </instance-parameter>
+ <parameter name="salt_len" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="621">the length of @salt_data</doc>
+ <type name="guint16" c:type="guint16"/>
+ </parameter>
+ <parameter name="salt_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="622">the salt</doc>
+ <array length="0" zero-terminated="0" c:type="const guint8*">
+ <type name="guint8" c:type="guint8"/>
+ </array>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="key_data_set_spi"
+ c:identifier="gst_mikey_payload_key_data_set_spi"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="650">Set the SPI/MKI validity in the %GST_MIKEY_PT_KEY_DATA @payload.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstmikey.h" line="540"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="658">%TRUE on success</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="payload" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="652">a #GstMIKEYPayload</doc>
+ <type name="MIKEYPayload" c:type="GstMIKEYPayload*"/>
+ </instance-parameter>
+ <parameter name="spi_len" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="653">the length of @spi_data</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ <parameter name="spi_data" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="654">the SPI/MKI data</doc>
+ <array length="0" zero-terminated="0" c:type="const guint8*">
+ <type name="guint8" c:type="guint8"/>
+ </array>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="pke_set"
+ c:identifier="gst_mikey_payload_pke_set"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="249">Set the PKE values in @payload. @payload must be of type
+%GST_MIKEY_PT_PKE.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstmikey.h" line="319"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="259">%TRUE on success</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="payload" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="251">a #GstMIKEYPayload</doc>
+ <type name="MIKEYPayload" c:type="GstMIKEYPayload*"/>
+ </instance-parameter>
+ <parameter name="C" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="252">envelope key cache indicator</doc>
+ <type name="MIKEYCacheType" c:type="GstMIKEYCacheType"/>
+ </parameter>
+ <parameter name="data_len" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="253">the length of @data</doc>
+ <type name="guint16" c:type="guint16"/>
+ </parameter>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="254">the encrypted envelope key</doc>
+ <array length="1" zero-terminated="0" c:type="const guint8*">
+ <type name="guint8" c:type="guint8"/>
+ </array>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="rand_set"
+ c:identifier="gst_mikey_payload_rand_set"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="539">Set the random values in a %GST_MIKEY_PT_RAND @payload.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstmikey.h" line="471"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="547">%TRUE on success</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="payload" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="541">a #GstMIKEYPayload</doc>
+ <type name="MIKEYPayload" c:type="GstMIKEYPayload*"/>
+ </instance-parameter>
+ <parameter name="len" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="542">the length of @rand</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ <parameter name="rand" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="543">random values</doc>
+ <array length="0" zero-terminated="0" c:type="const guint8*">
+ <type name="guint8" c:type="guint8"/>
+ </array>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="sp_add_param"
+ c:identifier="gst_mikey_payload_sp_add_param"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="505">Add a new parameter to the %GST_MIKEY_PT_SP @payload with @type, @len
+and @val.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstmikey.h" line="452"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="515">%TRUE on success</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="payload" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="507">a #GstMIKEYPayload</doc>
+ <type name="MIKEYPayload" c:type="GstMIKEYPayload*"/>
+ </instance-parameter>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="508">a type</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ <parameter name="len" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="509">a length</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="510">@len bytes of data</doc>
+ <array length="1" zero-terminated="0" c:type="const guint8*">
+ <type name="guint8" c:type="guint8"/>
+ </array>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="sp_get_n_params"
+ c:identifier="gst_mikey_payload_sp_get_n_params"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="430">Get the number of security policy parameters in a %GST_MIKEY_PT_SP
+@payload.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstmikey.h" line="442"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="437">the number of parameters in @payload</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="payload" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="432">a #GstMIKEYPayload</doc>
+ <type name="MIKEYPayload" c:type="const GstMIKEYPayload*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="sp_get_param"
+ c:identifier="gst_mikey_payload_sp_get_param"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="453">Get the Security Policy parameter in a %GST_MIKEY_PT_SP @payload
+at @idx.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstmikey.h" line="446"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="461">the #GstMIKEYPayloadSPParam at @idx in @payload</doc>
+ <type name="MIKEYPayloadSPParam"
+ c:type="const GstMIKEYPayloadSPParam*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="payload" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="455">a #GstMIKEYPayload</doc>
+ <type name="MIKEYPayload" c:type="const GstMIKEYPayload*"/>
+ </instance-parameter>
+ <parameter name="idx" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="456">an index</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="sp_remove_param"
+ c:identifier="gst_mikey_payload_sp_remove_param"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="479">Remove the Security Policy parameters from a %GST_MIKEY_PT_SP
+@payload at @idx.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstmikey.h" line="449"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="487">%TRUE on success</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="payload" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="481">a #GstMIKEYPayload</doc>
+ <type name="MIKEYPayload" c:type="GstMIKEYPayload*"/>
+ </instance-parameter>
+ <parameter name="idx" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="482">an index</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="sp_set"
+ c:identifier="gst_mikey_payload_sp_set"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="378">Set the Security Policy parameters for @payload.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstmikey.h" line="439"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="386">%TRUE on success</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="payload" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="380">a #GstMIKEYPayload</doc>
+ <type name="MIKEYPayload" c:type="GstMIKEYPayload*"/>
+ </instance-parameter>
+ <parameter name="policy" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="381">the policy number</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="proto" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="382">a #GstMIKEYSecProto</doc>
+ <type name="MIKEYSecProto" c:type="GstMIKEYSecProto"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="t_set"
+ c:identifier="gst_mikey_payload_t_set"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="320">Set the timestamp in a %GST_MIKEY_PT_T @payload.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstmikey.h" line="355"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="328">%TRUE on success</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="payload" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="322">a #GstMIKEYPayload</doc>
+ <type name="MIKEYPayload" c:type="GstMIKEYPayload*"/>
+ </instance-parameter>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="323">the #GstMIKEYTSType</doc>
+ <type name="MIKEYTSType" c:type="GstMIKEYTSType"/>
+ </parameter>
+ <parameter name="ts_value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="324">the timestamp value</doc>
+ <array zero-terminated="0" c:type="const guint8*">
+ <type name="guint8" c:type="guint8"/>
+ </array>
+ </parameter>
+ </parameters>
+ </method>
+ </record>
+ <record name="MIKEYPayloadKEMAC" c:type="GstMIKEYPayloadKEMAC">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="247">A structure holding the KEMAC payload</doc>
+ <source-position filename="gst-libs/gst/sdp/gstmikey.h" line="262"/>
+ <field name="pt" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="249">the common #GstMIKEYPayload</doc>
+ <type name="MIKEYPayload" c:type="GstMIKEYPayload"/>
+ </field>
+ <field name="enc_alg" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="250">the #GstMIKEYEncAlg</doc>
+ <type name="MIKEYEncAlg" c:type="GstMIKEYEncAlg"/>
+ </field>
+ <field name="mac_alg" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="251">the #GstMIKEYMacAlg</doc>
+ <type name="MIKEYMacAlg" c:type="GstMIKEYMacAlg"/>
+ </field>
+ <field name="subpayloads" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="252">the subpayloads</doc>
+ <array name="GLib.Array" c:type="GArray*">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="MIKEYPayloadKeyData" c:type="GstMIKEYPayloadKeyData">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="502">The Key data payload contains key material. It should be added as sub
+payload to the KEMAC.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstmikey.h" line="528"/>
+ <field name="pt" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="504">the payload header</doc>
+ <type name="MIKEYPayload" c:type="GstMIKEYPayload"/>
+ </field>
+ <field name="key_type" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="505">the #GstMIKEYKeyDataType of @key_data</doc>
+ <type name="MIKEYKeyDataType" c:type="GstMIKEYKeyDataType"/>
+ </field>
+ <field name="key_len" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="506">length of @key_data</doc>
+ <type name="guint16" c:type="guint16"/>
+ </field>
+ <field name="key_data" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="507">the key data</doc>
+ <type name="guint8" c:type="guint8*"/>
+ </field>
+ <field name="salt_len" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="508">the length of @salt_data, can be 0</doc>
+ <type name="guint16" c:type="guint16"/>
+ </field>
+ <field name="salt_data" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="509">salt data</doc>
+ <type name="guint8" c:type="guint8*"/>
+ </field>
+ <field name="kv_type" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="510">the Key Validity type</doc>
+ <type name="MIKEYKVType" c:type="GstMIKEYKVType"/>
+ </field>
+ <field name="kv_len" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="511">length of @kv_data</doc>
+ <array zero-terminated="0" fixed-size="2">
+ <type name="guint8" c:type="guint8"/>
+ </array>
+ </field>
+ <field name="kv_data" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="512">key validity data</doc>
+ <array zero-terminated="0" fixed-size="2">
+ <type name="guint8" c:type="guint8*"/>
+ </array>
+ </field>
+ </record>
+ <record name="MIKEYPayloadPKE" c:type="GstMIKEYPayloadPKE">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="298">The Envelope data payload contains the encrypted envelope key that is
+used in the public-key transport to protect the data in the Key data
+transport payload. The encryption algorithm used is implicit from
+the certificate/public key used.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstmikey.h" line="316"/>
+ <field name="pt" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="300">the common #GstMIKEYPayload</doc>
+ <type name="MIKEYPayload" c:type="GstMIKEYPayload"/>
+ </field>
+ <field name="C" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="301">envelope key cache indicator</doc>
+ <type name="MIKEYCacheType" c:type="GstMIKEYCacheType"/>
+ </field>
+ <field name="data_len" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="302">length of @data</doc>
+ <type name="guint16" c:type="guint16"/>
+ </field>
+ <field name="data" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="303">the encrypted envelope key</doc>
+ <type name="guint8" c:type="guint8*"/>
+ </field>
+ </record>
+ <record name="MIKEYPayloadRAND" c:type="GstMIKEYPayloadRAND">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="455">The RAND payload consists of a (pseudo-)random bit-string</doc>
+ <source-position filename="gst-libs/gst/sdp/gstmikey.h" line="468"/>
+ <field name="pt" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="457">the payload header</doc>
+ <type name="MIKEYPayload" c:type="GstMIKEYPayload"/>
+ </field>
+ <field name="len" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="458">the length of @rand</doc>
+ <type name="guint8" c:type="guint8"/>
+ </field>
+ <field name="rand" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="459">random values</doc>
+ <type name="guint8" c:type="guint8*"/>
+ </field>
+ </record>
+ <record name="MIKEYPayloadSP" c:type="GstMIKEYPayloadSP">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="420">The Security Policy payload defines a set of policies that apply to a
+specific security protocol</doc>
+ <source-position filename="gst-libs/gst/sdp/gstmikey.h" line="436"/>
+ <field name="pt" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="422">the payload header</doc>
+ <type name="MIKEYPayload" c:type="GstMIKEYPayload"/>
+ </field>
+ <field name="policy" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="423">the policy number</doc>
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="proto" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="424">the security protocol</doc>
+ <type name="MIKEYSecProto" c:type="GstMIKEYSecProto"/>
+ </field>
+ <field name="params" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="425">array of #GstMIKEYPayloadSPParam</doc>
+ <array name="GLib.Array" c:type="GArray*">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="MIKEYPayloadSPParam" c:type="GstMIKEYPayloadSPParam">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="358">A Type/Length/Value field for security parameters</doc>
+ <source-position filename="gst-libs/gst/sdp/gstmikey.h" line="370"/>
+ <field name="type" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="360">specifies the type of the parameter</doc>
+ <type name="guint8" c:type="guint8"/>
+ </field>
+ <field name="len" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="361">specifies the length of @val</doc>
+ <type name="guint8" c:type="guint8"/>
+ </field>
+ <field name="val" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="362">specifies the value of the parameter</doc>
+ <type name="guint8" c:type="guint8*"/>
+ </field>
+ </record>
+ <record name="MIKEYPayloadT" c:type="GstMIKEYPayloadT">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="339">The timestamp payload carries the timestamp information</doc>
+ <source-position filename="gst-libs/gst/sdp/gstmikey.h" line="352"/>
+ <field name="pt" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="341">the payload header</doc>
+ <type name="MIKEYPayload" c:type="GstMIKEYPayload"/>
+ </field>
+ <field name="type" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="342">a #GstMIKEYTSType</doc>
+ <type name="MIKEYTSType" c:type="GstMIKEYTSType"/>
+ </field>
+ <field name="ts_value" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="343">the timestamp value</doc>
+ <type name="guint8" c:type="guint8*"/>
+ </field>
+ </record>
+ <enumeration name="MIKEYPayloadType" c:type="GstMIKEYPayloadType">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="70">Different MIKEY Payload types.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstmikey.h" line="107"/>
+ <member name="last" value="0" c:identifier="GST_MIKEY_PT_LAST">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="72">Last payload</doc>
+ </member>
+ <member name="kemac" value="1" c:identifier="GST_MIKEY_PT_KEMAC">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="73">Key data transport payload</doc>
+ </member>
+ <member name="pke" value="2" c:identifier="GST_MIKEY_PT_PKE">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="74">Envelope data payload</doc>
+ </member>
+ <member name="dh" value="3" c:identifier="GST_MIKEY_PT_DH">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="75">DH data payload</doc>
+ </member>
+ <member name="sign" value="4" c:identifier="GST_MIKEY_PT_SIGN">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="76">Signature payload</doc>
+ </member>
+ <member name="t" value="5" c:identifier="GST_MIKEY_PT_T">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="77">Timestamp payload</doc>
+ </member>
+ <member name="id" value="6" c:identifier="GST_MIKEY_PT_ID">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="78">ID payload</doc>
+ </member>
+ <member name="cert" value="7" c:identifier="GST_MIKEY_PT_CERT">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="79">Certificate Payload</doc>
+ </member>
+ <member name="chash" value="8" c:identifier="GST_MIKEY_PT_CHASH">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="80">Cert hash payload</doc>
+ </member>
+ <member name="v" value="9" c:identifier="GST_MIKEY_PT_V">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="81">Verification message payload</doc>
+ </member>
+ <member name="sp" value="10" c:identifier="GST_MIKEY_PT_SP">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="82">Security Policy payload</doc>
+ </member>
+ <member name="rand" value="11" c:identifier="GST_MIKEY_PT_RAND">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="83">RAND payload</doc>
+ </member>
+ <member name="err" value="12" c:identifier="GST_MIKEY_PT_ERR">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="84">Error payload</doc>
+ </member>
+ <member name="key_data" value="20" c:identifier="GST_MIKEY_PT_KEY_DATA">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="85">Key data sub-payload</doc>
+ </member>
+ <member name="gen_ext" value="21" c:identifier="GST_MIKEY_PT_GEN_EXT">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="86">General Extension Payload</doc>
+ </member>
+ </enumeration>
+ <enumeration name="MIKEYSecProto" c:type="GstMIKEYSecProto">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="372">Specifies the security protocol</doc>
+ <source-position filename="gst-libs/gst/sdp/gstmikey.h" line="381"/>
+ <member name="mikey_sec_proto_srtp"
+ value="0"
+ c:identifier="GST_MIKEY_SEC_PROTO_SRTP">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="374">SRTP</doc>
+ </member>
+ </enumeration>
+ <enumeration name="MIKEYSecSRTP" c:type="GstMIKEYSecSRTP">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="383">This policy specifies the parameters for SRTP and SRTCP</doc>
+ <source-position filename="gst-libs/gst/sdp/gstmikey.h" line="418"/>
+ <member name="enc_alg"
+ value="0"
+ c:identifier="GST_MIKEY_SP_SRTP_ENC_ALG">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="385">Encryption algorithm</doc>
+ </member>
+ <member name="enc_key_len"
+ value="1"
+ c:identifier="GST_MIKEY_SP_SRTP_ENC_KEY_LEN">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="386">Session Encr. key length</doc>
+ </member>
+ <member name="auth_alg"
+ value="2"
+ c:identifier="GST_MIKEY_SP_SRTP_AUTH_ALG">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="387">Authentication algorithm</doc>
+ </member>
+ <member name="auth_key_len"
+ value="3"
+ c:identifier="GST_MIKEY_SP_SRTP_AUTH_KEY_LEN">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="388">Session Auth. key length</doc>
+ </member>
+ <member name="salt_key_len"
+ value="4"
+ c:identifier="GST_MIKEY_SP_SRTP_SALT_KEY_LEN">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="389">Session Salt key length</doc>
+ </member>
+ <member name="prf" value="5" c:identifier="GST_MIKEY_SP_SRTP_PRF">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="390">SRTP Pseudo Random Function</doc>
+ </member>
+ <member name="key_deriv_rate"
+ value="6"
+ c:identifier="GST_MIKEY_SP_SRTP_KEY_DERIV_RATE">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="391">Key derivation rate</doc>
+ </member>
+ <member name="srtp_enc"
+ value="7"
+ c:identifier="GST_MIKEY_SP_SRTP_SRTP_ENC">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="392">SRTP encryption off/on, 0 if off, 1 if on</doc>
+ </member>
+ <member name="srtcp_enc"
+ value="8"
+ c:identifier="GST_MIKEY_SP_SRTP_SRTCP_ENC">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="393">SRTCP encryption off/on, 0 if off, 1 if on</doc>
+ </member>
+ <member name="fec_order"
+ value="9"
+ c:identifier="GST_MIKEY_SP_SRTP_FEC_ORDER">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="394">sender's FEC order</doc>
+ </member>
+ <member name="srtp_auth"
+ value="10"
+ c:identifier="GST_MIKEY_SP_SRTP_SRTP_AUTH">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="395">SRTP authentication off/on, 0 if off, 1 if on</doc>
+ </member>
+ <member name="auth_tag_len"
+ value="11"
+ c:identifier="GST_MIKEY_SP_SRTP_AUTH_TAG_LEN">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="396">Authentication tag length</doc>
+ </member>
+ <member name="srtp_prefix_len"
+ value="12"
+ c:identifier="GST_MIKEY_SP_SRTP_SRTP_PREFIX_LEN">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="397">SRTP prefix length</doc>
+ </member>
+ <member name="aead_auth_tag_len"
+ value="20"
+ c:identifier="GST_MIKEY_SP_SRTP_AEAD_AUTH_TAG_LEN">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="398">AEAD authentication tag length (Since: 1.16)</doc>
+ </member>
+ </enumeration>
+ <enumeration name="MIKEYTSType" c:type="GstMIKEYTSType">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="324">Specifies the timestamp type.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstmikey.h" line="337"/>
+ <member name="ntp_utc"
+ value="0"
+ c:identifier="GST_MIKEY_TS_TYPE_NTP_UTC">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="326">an NTP time in UTC timezone</doc>
+ </member>
+ <member name="ntp" value="1" c:identifier="GST_MIKEY_TS_TYPE_NTP">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="327">an NTP time</doc>
+ </member>
+ <member name="counter"
+ value="2"
+ c:identifier="GST_MIKEY_TS_TYPE_COUNTER">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="328">a counter</doc>
+ </member>
+ </enumeration>
+ <enumeration name="MIKEYType" c:type="GstMIKEYType">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="45">Different MIKEY data types.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstmikey.h" line="68"/>
+ <member name="invalid" value="-1" c:identifier="GST_MIKEY_TYPE_INVALID">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="47">Invalid type</doc>
+ </member>
+ <member name="psk_init" value="0" c:identifier="GST_MIKEY_TYPE_PSK_INIT">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="48">Initiator's pre-shared key message</doc>
+ </member>
+ <member name="psk_verify"
+ value="1"
+ c:identifier="GST_MIKEY_TYPE_PSK_VERIFY">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="49">Verification message of a Pre-shared key message</doc>
+ </member>
+ <member name="pk_init" value="2" c:identifier="GST_MIKEY_TYPE_PK_INIT">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="50">Initiator's public-key transport message</doc>
+ </member>
+ <member name="pk_verify"
+ value="3"
+ c:identifier="GST_MIKEY_TYPE_PK_VERIFY">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="51">Verification message of a public-key message</doc>
+ </member>
+ <member name="dh_init" value="4" c:identifier="GST_MIKEY_TYPE_DH_INIT">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="52">Initiator's DH exchange message</doc>
+ </member>
+ <member name="dh_resp" value="5" c:identifier="GST_MIKEY_TYPE_DH_RESP">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="53">Responder's DH exchange message</doc>
+ </member>
+ <member name="error" value="6" c:identifier="GST_MIKEY_TYPE_ERROR">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="54">Error message</doc>
+ </member>
+ </enumeration>
+ <constant name="MIKEY_VERSION" value="1" c:type="GST_MIKEY_VERSION">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.h"
+ line="38">The supported MIKEY version 1.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstmikey.h" line="43"/>
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <record name="SDPAttribute" c:type="GstSDPAttribute">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="229">The contents of the SDP "a=" field which contains a key/value pair.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h" line="239"/>
+ <field name="key" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="231">the attribute key</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="value" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="232">the attribute value or NULL when it was a property attribute</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <method name="clear"
+ c:identifier="gst_sdp_attribute_clear"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1584">Clear the attribute.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="246"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1590">@GST_SDP_OK.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="attr" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1586">a #GstSDPAttribute</doc>
+ <type name="SDPAttribute" c:type="GstSDPAttribute*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="set" c:identifier="gst_sdp_attribute_set" version="1.2">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1560">Set the attribute with @key and @value.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="242"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1568">@GST_SDP_OK.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="attr" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1562">a #GstSDPAttribute</doc>
+ <type name="SDPAttribute" c:type="GstSDPAttribute*"/>
+ </instance-parameter>
+ <parameter name="key" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1563">the key</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="value"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1564">the value</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ </record>
+ <record name="SDPBandwidth" c:type="GstSDPBandwidth">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="150">The contents of the SDP "b=" field which specifies the proposed bandwidth to
+be used by the session or media.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h" line="161"/>
+ <field name="bwtype" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="152">the bandwidth modifier type</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="bandwidth" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="153">the bandwidth in kilobits per second</doc>
+ <type name="guint" c:type="guint"/>
+ </field>
+ <method name="clear"
+ c:identifier="gst_sdp_bandwidth_clear"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1128">Reset the bandwidth information in @bw.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="168"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1134">a #GstSDPResult.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="bw" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1130">a #GstSDPBandwidth</doc>
+ <type name="SDPBandwidth" c:type="GstSDPBandwidth*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="set" c:identifier="gst_sdp_bandwidth_set" version="1.2">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1105">Set bandwidth information in @bw.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="164"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1113">a #GstSDPResult.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="bw" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1107">a #GstSDPBandwidth</doc>
+ <type name="SDPBandwidth" c:type="GstSDPBandwidth*"/>
+ </instance-parameter>
+ <parameter name="bwtype" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1108">the bandwidth modifier type</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="bandwidth" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1109">the bandwidth in kilobits per second</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ </record>
+ <record name="SDPConnection" c:type="GstSDPConnection">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="81">The contents of the SDP "c=" field which contains connection data.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h" line="98"/>
+ <field name="nettype" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="83">the type of network. "IN" is defined to have the meaning
+ "Internet".</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="addrtype" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="85">the type of @address.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="address" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="86">the address</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="ttl" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="87">the time to live of the address</doc>
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="addr_number" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="88">the number of layers</doc>
+ <type name="guint" c:type="guint"/>
+ </field>
+ <method name="clear"
+ c:identifier="gst_sdp_connection_clear"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2382">Clear the connection.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="108"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2388">@GST_SDP_OK.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="conn" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2384">a #GstSDPConnection</doc>
+ <type name="SDPConnection" c:type="GstSDPConnection*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="set" c:identifier="gst_sdp_connection_set" version="1.2">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2349">Set the connection with the given parameters.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="101"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2361">@GST_SDP_OK.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="conn" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2351">a #GstSDPConnection</doc>
+ <type name="SDPConnection" c:type="GstSDPConnection*"/>
+ </instance-parameter>
+ <parameter name="nettype" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2352">the type of network. "IN" is defined to have the meaning
+"Internet".</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="addrtype" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2354">the type of address.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="address" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2355">the address</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="ttl" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2356">the time to live of the address</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="addr_number" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2357">the number of layers</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ </record>
+ <record name="SDPKey" c:type="GstSDPKey">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="216">The contents of the SDP "k=" field which is used to convey encryption
+keys.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h" line="227"/>
+ <field name="type" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="218">the encryption type</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="data" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="219">the encryption data</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ </record>
+ <record name="SDPMedia" c:type="GstSDPMedia">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="248">The contents of the SDP "m=" field with all related fields.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h" line="274"/>
+ <field name="media" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="250">the media type</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="port" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="251">the transport port to which the media stream will be sent</doc>
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="num_ports" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="252">the number of ports or -1 if only one port was specified</doc>
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="proto" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="253">the transport protocol</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="fmts" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="254">an array of #gchar formats</doc>
+ <array name="GLib.Array" c:type="GArray*">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <field name="information" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="255">the media title</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="connections" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="256">array of #GstSDPConnection with media connection information</doc>
+ <array name="GLib.Array" c:type="GArray*">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <field name="bandwidths" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="257">array of #GstSDPBandwidth with media bandwidth information</doc>
+ <array name="GLib.Array" c:type="GArray*">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <field name="key" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="258">the encryption key</doc>
+ <type name="SDPKey" c:type="GstSDPKey"/>
+ </field>
+ <field name="attributes" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="259">array of #GstSDPAttribute with the additional media attributes</doc>
+ <array name="GLib.Array" c:type="GArray*">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <method name="add_attribute" c:identifier="gst_sdp_media_add_attribute">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2754">Add the attribute with @key and @value to @media.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="734"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2762">#GST_SDP_OK.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="media" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2756">a #GstSDPMedia</doc>
+ <type name="SDPMedia" c:type="GstSDPMedia*"/>
+ </instance-parameter>
+ <parameter name="key" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2757">a key</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="value"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2758">a value</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_bandwidth" c:identifier="gst_sdp_media_add_bandwidth">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2673">Add the bandwidth information with @bwtype and @bandwidth to @media.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="696"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2681">#GST_SDP_OK.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="media" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2675">a #GstSDPMedia</doc>
+ <type name="SDPMedia" c:type="GstSDPMedia*"/>
+ </instance-parameter>
+ <parameter name="bwtype" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2676">the bandwidth modifier type</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="bandwidth" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2677">the bandwidth in kilobits per second</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_connection"
+ c:identifier="gst_sdp_media_add_connection">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2525">Add the given connection parameters to @media.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="670"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2537">a #GstSDPResult.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="media" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2527">a #GstSDPMedia</doc>
+ <type name="SDPMedia" c:type="GstSDPMedia*"/>
+ </instance-parameter>
+ <parameter name="nettype" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2528">the type of network. "IN" is defined to have the meaning
+"Internet".</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="addrtype" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2530">the type of address.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="address" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2531">the address</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="ttl" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2532">the time to live of the address</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="addr_number" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2533">the number of layers</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_format" c:identifier="gst_sdp_media_add_format">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2289">Add the format information to @media.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="640"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2296">#GST_SDP_OK.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="media" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2291">a #GstSDPMedia</doc>
+ <type name="SDPMedia" c:type="GstSDPMedia*"/>
+ </instance-parameter>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2292">the format</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="as_text" c:identifier="gst_sdp_media_as_text">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1962">Convert the contents of @media to a text string.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="596"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1968">A dynamically allocated string representing the media.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="media" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1964">a #GstSDPMedia</doc>
+ <type name="SDPMedia" c:type="const GstSDPMedia*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="attributes_len"
+ c:identifier="gst_sdp_media_attributes_len">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2738">Get the number of attribute fields in @media.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="710"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2744">the number of attributes in @media.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="media" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2740">a #GstSDPMedia</doc>
+ <type name="SDPMedia" c:type="const GstSDPMedia*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="attributes_to_caps"
+ c:identifier="gst_sdp_media_attributes_to_caps"
+ version="1.8">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="4288">Mapping of attributes of #GstSDPMedia to #GstCaps</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="756"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="4295">a #GstSDPResult.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="media" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="4290">a #GstSDPMedia</doc>
+ <type name="SDPMedia" c:type="const GstSDPMedia*"/>
+ </instance-parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="4291">a #GstCaps</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="bandwidths_len"
+ c:identifier="gst_sdp_media_bandwidths_len">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2556">Get the number of bandwidth fields in @media.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="679"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2562">the number of bandwidths in @media.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="media" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2558">a #GstSDPMedia</doc>
+ <type name="SDPMedia" c:type="const GstSDPMedia*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="connections_len"
+ c:identifier="gst_sdp_media_connections_len">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2406">Get the number of connection fields in @media.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="653"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2412">the number of connections in @media.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="media" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2408">a #GstSDPMedia</doc>
+ <type name="SDPMedia" c:type="const GstSDPMedia*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="copy" c:identifier="gst_sdp_media_copy" version="1.2">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1897">Allocate a new copy of @media and store the result in @copy. The value in
+@copy should be release with gst_sdp_media_free function.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="593"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1905">a #GstSDPResult</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="media" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1899">a #GstSDPMedia</doc>
+ <type name="SDPMedia" c:type="const GstSDPMedia*"/>
+ </instance-parameter>
+ <parameter name="copy"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1900">pointer to new #GstSDPMedia</doc>
+ <type name="SDPMedia" c:type="GstSDPMedia**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="formats_len" c:identifier="gst_sdp_media_formats_len">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2169">Get the number of formats in @media.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="623"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2175">the number of formats in @media.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="media" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2171">a #GstSDPMedia</doc>
+ <type name="SDPMedia" c:type="const GstSDPMedia*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="free" c:identifier="gst_sdp_media_free">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1876">Free all resources allocated by @media. @media should not be used anymore after
+this function. This function should be used when @media was dynamically
+allocated with gst_sdp_media_new().</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="590"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1884">a #GstSDPResult.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="media" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1878">a #GstSDPMedia</doc>
+ <type name="SDPMedia" c:type="GstSDPMedia*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_attribute" c:identifier="gst_sdp_media_get_attribute">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2779">Get the attribute at position @idx in @media.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="713"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2786">the #GstSDPAttribute at position @idx.</doc>
+ <type name="SDPAttribute" c:type="const GstSDPAttribute*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="media" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2781">a #GstSDPMedia</doc>
+ <type name="SDPMedia" c:type="const GstSDPMedia*"/>
+ </instance-parameter>
+ <parameter name="idx" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2782">an index</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_attribute_val"
+ c:identifier="gst_sdp_media_get_attribute_val">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2830">Get the first attribute value for @key in @media.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="716"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2837">the first attribute value for @key.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="media" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2832">a #GstSDPMedia</doc>
+ <type name="SDPMedia" c:type="const GstSDPMedia*"/>
+ </instance-parameter>
+ <parameter name="key" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2833">a key</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_attribute_val_n"
+ c:identifier="gst_sdp_media_get_attribute_val_n">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2797">Get the @nth attribute value for @key in @media.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="719"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2805">the @nth attribute value.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="media" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2799">a #GstSDPMedia</doc>
+ <type name="SDPMedia" c:type="const GstSDPMedia*"/>
+ </instance-parameter>
+ <parameter name="key" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2800">a key</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="nth" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2801">an index</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_bandwidth" c:identifier="gst_sdp_media_get_bandwidth">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2572">Get the bandwidth at position @idx in @media.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="682"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2579">the #GstSDPBandwidth at position @idx.</doc>
+ <type name="SDPBandwidth" c:type="const GstSDPBandwidth*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="media" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2574">a #GstSDPMedia</doc>
+ <type name="SDPMedia" c:type="const GstSDPMedia*"/>
+ </instance-parameter>
+ <parameter name="idx" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2575">an index</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_caps_from_media"
+ c:identifier="gst_sdp_media_get_caps_from_media"
+ version="1.8">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="3543">Mapping of caps from SDP fields:
+
+a=rtpmap:(payload) (encoding_name)/(clock_rate)[/(encoding_params)]
+
+a=framesize:(payload) (width)-(height)
+
+a=fmtp:(payload) (param)[=(value)];...
+
+Note that the extmap attribute is set only by gst_sdp_media_attributes_to_caps().</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="738"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="3558">a #GstCaps, or %NULL if an error happened</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="media" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="3545">a #GstSDPMedia</doc>
+ <type name="SDPMedia" c:type="const GstSDPMedia*"/>
+ </instance-parameter>
+ <parameter name="pt" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="3546">a payload type</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_connection"
+ c:identifier="gst_sdp_media_get_connection">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2422">Get the connection at position @idx in @media.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="656"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2429">the #GstSDPConnection at position @idx.</doc>
+ <type name="SDPConnection" c:type="const GstSDPConnection*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="media" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2424">a #GstSDPMedia</doc>
+ <type name="SDPMedia" c:type="const GstSDPMedia*"/>
+ </instance-parameter>
+ <parameter name="idx" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2425">an index</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_format" c:identifier="gst_sdp_media_get_format">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2185">Get the format information at position @idx in @media.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="626"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2192">the format at position @idx.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="media" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2187">a #GstSDPMedia</doc>
+ <type name="SDPMedia" c:type="const GstSDPMedia*"/>
+ </instance-parameter>
+ <parameter name="idx" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2188">an index</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_information"
+ c:identifier="gst_sdp_media_get_information">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2313">Get the information of @media</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="645"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2319">the information of @media.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="media" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2315">a #GstSDPMedia</doc>
+ <type name="SDPMedia" c:type="const GstSDPMedia*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_key" c:identifier="gst_sdp_media_get_key">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2722">Get the encryption information from @media.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="702"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2728">a #GstSDPKey.</doc>
+ <type name="SDPKey" c:type="const GstSDPKey*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="media" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2724">a #GstSDPMedia</doc>
+ <type name="SDPMedia" c:type="const GstSDPMedia*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_media" c:identifier="gst_sdp_media_get_media">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2043">Get the media description of @media.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="601"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2049">the media description.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="media" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2045">a #GstSDPMedia</doc>
+ <type name="SDPMedia" c:type="const GstSDPMedia*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_num_ports" c:identifier="gst_sdp_media_get_num_ports">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2096">Get the number of ports for @media.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="610"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2102">the number of ports for @media.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="media" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2098">a #GstSDPMedia</doc>
+ <type name="SDPMedia" c:type="const GstSDPMedia*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_port" c:identifier="gst_sdp_media_get_port">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2080">Get the port number for @media.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="607"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2086">the port number of @media.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="media" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2082">a #GstSDPMedia</doc>
+ <type name="SDPMedia" c:type="const GstSDPMedia*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_proto" c:identifier="gst_sdp_media_get_proto">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2133">Get the transport protocol of @media</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="617"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2139">the transport protocol of @media.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="media" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2135">a #GstSDPMedia</doc>
+ <type name="SDPMedia" c:type="const GstSDPMedia*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="init" c:identifier="gst_sdp_media_init">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1820">Initialize @media so that its contents are as if it was freshly allocated
+with gst_sdp_media_new(). This function is mostly used to initialize a media
+allocated on the stack. gst_sdp_media_uninit() undoes this operation.
+
+When this function is invoked on newly allocated data (with malloc or on the
+stack), its contents should be set to 0 before calling this function.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="584"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1831">a #GstSDPResult.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="media" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1822">a #GstSDPMedia</doc>
+ <type name="SDPMedia" c:type="GstSDPMedia*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="insert_attribute"
+ c:identifier="gst_sdp_media_insert_attribute"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2848">Insert the attribute to @media at @idx. When @idx is -1,
+the attribute is appended.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="723"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2857">#GST_SDP_OK.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="media" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2850">a #GstSDPMedia</doc>
+ <type name="SDPMedia" c:type="GstSDPMedia*"/>
+ </instance-parameter>
+ <parameter name="idx" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2851">an index</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="attr" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2852">a #GstSDPAttribute</doc>
+ <type name="SDPAttribute" c:type="GstSDPAttribute*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="insert_bandwidth"
+ c:identifier="gst_sdp_media_insert_bandwidth"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2589">Insert the bandwidth information to @media at @idx. When @idx is -1,
+the bandwidth is appended.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="685"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2598">#GST_SDP_OK.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="media" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2591">a #GstSDPMedia</doc>
+ <type name="SDPMedia" c:type="GstSDPMedia*"/>
+ </instance-parameter>
+ <parameter name="idx" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2592">an index</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="bw" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2593">a #GstSDPBandwidth</doc>
+ <type name="SDPBandwidth" c:type="GstSDPBandwidth*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="insert_connection"
+ c:identifier="gst_sdp_media_insert_connection"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2440">Insert the connection information to @media at @idx. When @idx is -1,
+the connection is appended.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="659"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2449">#GST_SDP_OK.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="media" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2442">a #GstSDPMedia</doc>
+ <type name="SDPMedia" c:type="GstSDPMedia*"/>
+ </instance-parameter>
+ <parameter name="idx" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2443">an index</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="conn" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2444">a #GstSDPConnection</doc>
+ <type name="SDPConnection" c:type="GstSDPConnection*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="insert_format"
+ c:identifier="gst_sdp_media_insert_format"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2204">Insert the format information to @media at @idx. When @idx is -1,
+the format is appended.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="629"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2213">#GST_SDP_OK.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="media" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2206">a #GstSDPMedia</doc>
+ <type name="SDPMedia" c:type="GstSDPMedia*"/>
+ </instance-parameter>
+ <parameter name="idx" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2207">an index</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2208">the format</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="parse_keymgmt"
+ c:identifier="gst_sdp_media_parse_keymgmt"
+ version="1.8.1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="4071">Creates a new #GstMIKEYMessage after parsing the key-mgmt attribute
+from a #GstSDPMedia.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="750"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="4079">a #GstSDPResult.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="media" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="4073">a #GstSDPMedia</doc>
+ <type name="SDPMedia" c:type="const GstSDPMedia*"/>
+ </instance-parameter>
+ <parameter name="mikey"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="4074">pointer to new #GstMIKEYMessage</doc>
+ <type name="MIKEYMessage" c:type="GstMIKEYMessage**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="remove_attribute"
+ c:identifier="gst_sdp_media_remove_attribute"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2907">Remove the attribute in @media at @idx.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="731"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2914">#GST_SDP_OK.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="media" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2909">a #GstSDPMedia</doc>
+ <type name="SDPMedia" c:type="GstSDPMedia*"/>
+ </instance-parameter>
+ <parameter name="idx" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2910">an index</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="remove_bandwidth"
+ c:identifier="gst_sdp_media_remove_bandwidth"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2647">Remove the bandwidth information in @media at @idx.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="693"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2654">#GST_SDP_OK.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="media" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2649">a #GstSDPMedia</doc>
+ <type name="SDPMedia" c:type="GstSDPMedia*"/>
+ </instance-parameter>
+ <parameter name="idx" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2650">an index</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="remove_connection"
+ c:identifier="gst_sdp_media_remove_connection"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2499">Remove the connection information in @media at @idx.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="667"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2506">#GST_SDP_OK.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="media" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2501">a #GstSDPMedia</doc>
+ <type name="SDPMedia" c:type="GstSDPMedia*"/>
+ </instance-parameter>
+ <parameter name="idx" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2502">an index</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="remove_format"
+ c:identifier="gst_sdp_media_remove_format"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2264">Remove the format information in @media at @idx.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="637"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2271">#GST_SDP_OK.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="media" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2266">a #GstSDPMedia</doc>
+ <type name="SDPMedia" c:type="GstSDPMedia*"/>
+ </instance-parameter>
+ <parameter name="idx" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2267">an index</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="replace_attribute"
+ c:identifier="gst_sdp_media_replace_attribute"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2878">Replace the attribute in @media at @idx with @attr.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="727"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2886">#GST_SDP_OK.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="media" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2880">a #GstSDPMedia</doc>
+ <type name="SDPMedia" c:type="GstSDPMedia*"/>
+ </instance-parameter>
+ <parameter name="idx" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2881">an index</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="attr" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2882">a #GstSDPAttribute</doc>
+ <type name="SDPAttribute" c:type="GstSDPAttribute*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="replace_bandwidth"
+ c:identifier="gst_sdp_media_replace_bandwidth"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2619">Replace the bandwidth information in @media at @idx with @bw.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="689"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2627">#GST_SDP_OK.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="media" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2621">a #GstSDPMedia</doc>
+ <type name="SDPMedia" c:type="GstSDPMedia*"/>
+ </instance-parameter>
+ <parameter name="idx" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2622">an index</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="bw" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2623">a #GstSDPBandwidth</doc>
+ <type name="SDPBandwidth" c:type="GstSDPBandwidth*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="replace_connection"
+ c:identifier="gst_sdp_media_replace_connection"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2470">Replace the connection information in @media at @idx with @conn.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="663"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2478">#GST_SDP_OK.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="media" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2472">a #GstSDPMedia</doc>
+ <type name="SDPMedia" c:type="GstSDPMedia*"/>
+ </instance-parameter>
+ <parameter name="idx" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2473">an index</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="conn" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2474">a #GstSDPConnection</doc>
+ <type name="SDPConnection" c:type="GstSDPConnection*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="replace_format"
+ c:identifier="gst_sdp_media_replace_format"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2236">Replace the format information in @media at @idx with @format.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="633"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2244">#GST_SDP_OK.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="media" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2238">a #GstSDPMedia</doc>
+ <type name="SDPMedia" c:type="GstSDPMedia*"/>
+ </instance-parameter>
+ <parameter name="idx" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2239">an index</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2240">the format</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_information"
+ c:identifier="gst_sdp_media_set_information">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2329">Set the media information of @media to @information.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="648"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2336">#GST_SDP_OK.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="media" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2331">a #GstSDPMedia</doc>
+ <type name="SDPMedia" c:type="GstSDPMedia*"/>
+ </instance-parameter>
+ <parameter name="information" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2332">the media information</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_key" c:identifier="gst_sdp_media_set_key">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2698">Adds the encryption information to @media.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="705"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2706">a #GstSDPResult.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="media" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2700">a #GstSDPMedia</doc>
+ <type name="SDPMedia" c:type="GstSDPMedia*"/>
+ </instance-parameter>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2701">the encryption type</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2702">the encryption data</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_media" c:identifier="gst_sdp_media_set_media">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2059">Set the media description of @media to @med.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="604"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2066">#GST_SDP_OK.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="media" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2061">a #GstSDPMedia</doc>
+ <type name="SDPMedia" c:type="GstSDPMedia*"/>
+ </instance-parameter>
+ <parameter name="med" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2062">the media description</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_port_info" c:identifier="gst_sdp_media_set_port_info">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2112">Set the port information in @media.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="613"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2120">#GST_SDP_OK.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="media" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2114">a #GstSDPMedia</doc>
+ <type name="SDPMedia" c:type="GstSDPMedia*"/>
+ </instance-parameter>
+ <parameter name="port" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2115">the port number</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="num_ports" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2116">the number of ports</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_proto" c:identifier="gst_sdp_media_set_proto">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2149">Set the media transport protocol of @media to @proto.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="620"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2156">#GST_SDP_OK.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="media" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2151">a #GstSDPMedia</doc>
+ <type name="SDPMedia" c:type="GstSDPMedia*"/>
+ </instance-parameter>
+ <parameter name="proto" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="2152">the media transport protocol</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="uninit" c:identifier="gst_sdp_media_uninit">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1852">Free all resources allocated in @media. @media should not be used anymore after
+this function. This function should be used when @media was allocated on the
+stack and initialized with gst_sdp_media_init().</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="587"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1860">a #GstSDPResult.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="media" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1854">a #GstSDPMedia</doc>
+ <type name="SDPMedia" c:type="GstSDPMedia*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <function name="new" c:identifier="gst_sdp_media_new">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1798">Allocate a new GstSDPMedia and store the result in @media.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="581"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1804">a #GstSDPResult.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="media"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1800">pointer to new #GstSDPMedia</doc>
+ <type name="SDPMedia" c:type="GstSDPMedia**"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="set_media_from_caps"
+ c:identifier="gst_sdp_media_set_media_from_caps"
+ version="1.8">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="3742">Mapping of caps to SDP fields:
+
+a=rtpmap:(payload) (encoding_name) or (clock_rate)[or (encoding_params)]
+
+a=framesize:(payload) (width)-(height)
+
+a=fmtp:(payload) (param)[=(value)];...
+
+a=rtcp-fb:(payload) (param1) [param2]...
+
+a=extmap:(id)[/direction] (extensionname) (extensionattributes)</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="741"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="3759">a #GstSDPResult.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="caps" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="3744">a #GstCaps</doc>
+ <type name="Gst.Caps" c:type="const GstCaps*"/>
+ </parameter>
+ <parameter name="media" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="3745">a #GstSDPMedia</doc>
+ <type name="SDPMedia" c:type="GstSDPMedia*"/>
+ </parameter>
+ </parameters>
+ </function>
+ </record>
+ <record name="SDPMessage"
+ c:type="GstSDPMessage"
+ glib:type-name="GstSDPMessage"
+ glib:get-type="gst_sdp_message_get_type"
+ c:symbol-prefix="sdp_message">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="43">The GstSDPMessage helper functions makes it easy to parse and create SDP
+messages.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h" line="310"/>
+ <field name="version" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="278">the protocol version</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="origin" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="279">owner/creator and session identifier</doc>
+ <type name="SDPOrigin" c:type="GstSDPOrigin"/>
+ </field>
+ <field name="session_name" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="280">session name</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="information" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="281">session information</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="uri" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="282">URI of description</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="emails" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="283">array of #gchar with email addresses</doc>
+ <array name="GLib.Array" c:type="GArray*">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <field name="phones" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="284">array of #gchar with phone numbers</doc>
+ <array name="GLib.Array" c:type="GArray*">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <field name="connection" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="285">connection information for the session</doc>
+ <type name="SDPConnection" c:type="GstSDPConnection"/>
+ </field>
+ <field name="bandwidths" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="286">array of #GstSDPBandwidth with bandwidth information</doc>
+ <array name="GLib.Array" c:type="GArray*">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <field name="times" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="287">array of #GstSDPTime with time descriptions</doc>
+ <array name="GLib.Array" c:type="GArray*">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <field name="zones" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="288">array of #GstSDPZone with time zone adjustments</doc>
+ <array name="GLib.Array" c:type="GArray*">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <field name="key" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="289">encryption key</doc>
+ <type name="SDPKey" c:type="GstSDPKey"/>
+ </field>
+ <field name="attributes" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="290">array of #GstSDPAttribute with session attributes</doc>
+ <array name="GLib.Array" c:type="GArray*">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <field name="medias" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="291">array of #GstSDPMedia with media descriptions</doc>
+ <array name="GLib.Array" c:type="GArray*">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <method name="add_attribute"
+ c:identifier="gst_sdp_message_add_attribute">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1721">Add the attribute with @key and @value to @msg.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="561"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1729">@GST_SDP_OK.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1723">a #GstSDPMessage</doc>
+ <type name="SDPMessage" c:type="GstSDPMessage*"/>
+ </instance-parameter>
+ <parameter name="key" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1724">the key</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="value"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1725">the value</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_bandwidth"
+ c:identifier="gst_sdp_message_add_bandwidth">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1216">Add the specified bandwidth information to @msg.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="475"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1224">a #GstSDPResult.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1218">a #GstSDPMessage</doc>
+ <type name="SDPMessage" c:type="GstSDPMessage*"/>
+ </instance-parameter>
+ <parameter name="bwtype" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1219">the bandwidth modifier type</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="bandwidth" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1220">the bandwidth in kilobits per second</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_email" c:identifier="gst_sdp_message_add_email">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="975">Add @email to the list of emails in @msg.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="422"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="982">a #GstSDPResult.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="977">a #GstSDPMessage</doc>
+ <type name="SDPMessage" c:type="GstSDPMessage*"/>
+ </instance-parameter>
+ <parameter name="email" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="978">an email</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_media" c:identifier="gst_sdp_message_add_media">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1766">Adds @media to the array of medias in @msg. This function takes ownership of
+the contents of @media so that @media will have to be reinitialized with
+gst_sdp_media_init() before it can be used again.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="573"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1775">a #GstSDPResult.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1768">a #GstSDPMessage</doc>
+ <type name="SDPMessage" c:type="GstSDPMessage*"/>
+ </instance-parameter>
+ <parameter name="media" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1769">a #GstSDPMedia to add</doc>
+ <type name="SDPMedia" c:type="GstSDPMedia*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_phone" c:identifier="gst_sdp_message_add_phone">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1048">Add @phone to the list of phones in @msg.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="444"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1055">a #GstSDPResult.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1050">a #GstSDPMessage</doc>
+ <type name="SDPMessage" c:type="GstSDPMessage*"/>
+ </instance-parameter>
+ <parameter name="phone" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1051">a phone</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_time" c:identifier="gst_sdp_message_add_time">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1363">Add time information @start and @stop to @msg.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="499"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1372">a #GstSDPResult.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1365">a #GstSDPMessage</doc>
+ <type name="SDPMessage" c:type="GstSDPMessage*"/>
+ </instance-parameter>
+ <parameter name="start" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1366">the start time</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="stop" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1367">the stop time</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="repeat" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1368">the repeat times</doc>
+ <array c:type="const gchar**">
+ <type name="utf8" c:type="gchar*"/>
+ </array>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_zone" c:identifier="gst_sdp_message_add_zone">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1498">Add time zone information to @msg.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="522"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1506">a #GstSDPResult.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1500">a #GstSDPMessage</doc>
+ <type name="SDPMessage" c:type="GstSDPMessage*"/>
+ </instance-parameter>
+ <parameter name="adj_time" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1501">the NTP time that a time zone adjustment happens</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="typed_time" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1502">the offset from the time when the session was first scheduled</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="as_text" c:identifier="gst_sdp_message_as_text">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="485">Convert the contents of @msg to a text string.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="341"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="491">A dynamically allocated string representing the SDP description.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="487">a #GstSDPMessage</doc>
+ <type name="SDPMessage" c:type="const GstSDPMessage*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="attributes_len"
+ c:identifier="gst_sdp_message_attributes_len">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1604">Get the number of attributes in @msg.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="536"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1610">the number of attributes in @msg.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1606">a #GstSDPMessage</doc>
+ <type name="SDPMessage" c:type="const GstSDPMessage*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="attributes_to_caps"
+ c:identifier="gst_sdp_message_attributes_to_caps"
+ version="1.8">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="4247">Mapping of attributes of #GstSDPMessage to #GstCaps</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="753"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="4254">a #GstSDPResult.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="4249">a #GstSDPMessage</doc>
+ <type name="SDPMessage" c:type="const GstSDPMessage*"/>
+ </instance-parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="4250">a #GstCaps</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="bandwidths_len"
+ c:identifier="gst_sdp_message_bandwidths_len">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1148">Get the number of bandwidth information in @msg.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="458"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1154">the number of bandwidth information in @msg.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1150">a #GstSDPMessage</doc>
+ <type name="SDPMessage" c:type="const GstSDPMessage*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="copy" c:identifier="gst_sdp_message_copy" version="1.2">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="327">Allocate a new copy of @msg and store the result in @copy. The value in
+@copy should be release with gst_sdp_message_free function.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="335"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="335">a #GstSDPResult</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="329">a #GstSDPMessage</doc>
+ <type name="SDPMessage" c:type="const GstSDPMessage*"/>
+ </instance-parameter>
+ <parameter name="copy"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="330">pointer to new #GstSDPMessage</doc>
+ <type name="SDPMessage" c:type="GstSDPMessage**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="dump" c:identifier="gst_sdp_message_dump">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="3275">Dump the parsed contents of @msg to stdout.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="576"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="3281">a #GstSDPResult.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="3277">a #GstSDPMessage</doc>
+ <type name="SDPMessage" c:type="const GstSDPMessage*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="emails_len" c:identifier="gst_sdp_message_emails_len">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="913">Get the number of emails in @msg.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="405"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="919">the number of emails in @msg.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="915">a #GstSDPMessage</doc>
+ <type name="SDPMessage" c:type="const GstSDPMessage*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="free" c:identifier="gst_sdp_message_free">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="431">Free all resources allocated by @msg. @msg should not be used anymore after
+this function. This function should be used when @msg was dynamically
+allocated with gst_sdp_message_new().</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="332"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="439">a #GstSDPResult.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="433">a #GstSDPMessage</doc>
+ <type name="SDPMessage" c:type="GstSDPMessage*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_attribute"
+ c:identifier="gst_sdp_message_get_attribute">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1614">Get the attribute at position @idx in @msg.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="539"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1621">the #GstSDPAttribute at position @idx.</doc>
+ <type name="SDPAttribute" c:type="const GstSDPAttribute*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1616">a #GstSDPMessage</doc>
+ <type name="SDPMessage" c:type="const GstSDPMessage*"/>
+ </instance-parameter>
+ <parameter name="idx" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1617">the index</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_attribute_val"
+ c:identifier="gst_sdp_message_get_attribute_val">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1658">Get the first attribute with key @key in @msg.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="542"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1665">the attribute value of the first attribute with @key.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1660">a #GstSDPMessage</doc>
+ <type name="SDPMessage" c:type="const GstSDPMessage*"/>
+ </instance-parameter>
+ <parameter name="key" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1661">the key</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_attribute_val_n"
+ c:identifier="gst_sdp_message_get_attribute_val_n">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1625">Get the @nth attribute with key @key in @msg.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="546"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1633">the attribute value of the @nth attribute with @key.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1627">a #GstSDPMessage</doc>
+ <type name="SDPMessage" c:type="const GstSDPMessage*"/>
+ </instance-parameter>
+ <parameter name="key" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1628">the key</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="nth" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1629">the index</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_bandwidth"
+ c:identifier="gst_sdp_message_get_bandwidth">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1157">Get the bandwidth at index @idx from @msg.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="461"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1164">a #GstSDPBandwidth.</doc>
+ <type name="SDPBandwidth" c:type="const GstSDPBandwidth*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1159">a #GstSDPMessage</doc>
+ <type name="SDPMessage" c:type="const GstSDPMessage*"/>
+ </instance-parameter>
+ <parameter name="idx" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1160">the bandwidth index</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_connection"
+ c:identifier="gst_sdp_message_get_connection">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1089">Get the connection of @msg.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="449"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1095">a #GstSDPConnection. The result remains valid as long as @msg is valid.</doc>
+ <type name="SDPConnection" c:type="const GstSDPConnection*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1091">a #GstSDPMessage</doc>
+ <type name="SDPMessage" c:type="const GstSDPMessage*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_email" c:identifier="gst_sdp_message_get_email">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="922">Get the email with number @idx from @msg.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="408"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="929">the email at position @idx.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="924">a #GstSDPMessage</doc>
+ <type name="SDPMessage" c:type="const GstSDPMessage*"/>
+ </instance-parameter>
+ <parameter name="idx" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="925">an email index</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_information"
+ c:identifier="gst_sdp_message_get_information">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="884">Get the information in @msg.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="389"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="890">a #GstSDPResult.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="886">a #GstSDPMessage</doc>
+ <type name="SDPMessage" c:type="const GstSDPMessage*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_key" c:identifier="gst_sdp_message_get_key">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1544">Get the encryption information from @msg.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="528"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1550">a #GstSDPKey.</doc>
+ <type name="SDPKey" c:type="const GstSDPKey*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1546">a #GstSDPMessage</doc>
+ <type name="SDPMessage" c:type="const GstSDPMessage*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_media" c:identifier="gst_sdp_message_get_media">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1755">Get the media description at index @idx in @msg.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="570"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1762">a #GstSDPMedia.</doc>
+ <type name="SDPMedia" c:type="const GstSDPMedia*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1757">a #GstSDPMessage</doc>
+ <type name="SDPMessage" c:type="const GstSDPMessage*"/>
+ </instance-parameter>
+ <parameter name="idx" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1758">the index</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_origin" c:identifier="gst_sdp_message_get_origin">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="839">Get the origin of @msg.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="370"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="845">a #GstSDPOrigin. The result remains valid as long as @msg is valid.</doc>
+ <type name="SDPOrigin" c:type="const GstSDPOrigin*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="841">a #GstSDPMessage</doc>
+ <type name="SDPMessage" c:type="const GstSDPMessage*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_phone" c:identifier="gst_sdp_message_get_phone">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="995">Get the phone with number @idx from @msg.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="430"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1002">the phone at position @idx.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="997">a #GstSDPMessage</doc>
+ <type name="SDPMessage" c:type="const GstSDPMessage*"/>
+ </instance-parameter>
+ <parameter name="idx" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="998">a phone index</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_session_name"
+ c:identifier="gst_sdp_message_get_session_name">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="865">Get the session name in @msg.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="381"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="871">a #GstSDPResult.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="867">a #GstSDPMessage</doc>
+ <type name="SDPMessage" c:type="const GstSDPMessage*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_time" c:identifier="gst_sdp_message_get_time">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1305">Get time information with index @idx from @msg.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="485"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1312">a #GstSDPTime.</doc>
+ <type name="SDPTime" c:type="const GstSDPTime*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1307">a #GstSDPMessage</doc>
+ <type name="SDPMessage" c:type="const GstSDPMessage*"/>
+ </instance-parameter>
+ <parameter name="idx" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1308">the time index</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_uri" c:identifier="gst_sdp_message_get_uri">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="903">Get the URI in @msg.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="397"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="909">a #GstSDPResult.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="905">a #GstSDPMessage</doc>
+ <type name="SDPMessage" c:type="const GstSDPMessage*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_version" c:identifier="gst_sdp_message_get_version">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="798">Get the version in @msg.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="362"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="804">a #GstSDPResult.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="800">a #GstSDPMessage</doc>
+ <type name="SDPMessage" c:type="const GstSDPMessage*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_zone" c:identifier="gst_sdp_message_get_zone">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1440">Get time zone information with index @idx from @msg.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="508"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1447">a #GstSDPZone.</doc>
+ <type name="SDPZone" c:type="const GstSDPZone*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1442">a #GstSDPMessage</doc>
+ <type name="SDPMessage" c:type="const GstSDPMessage*"/>
+ </instance-parameter>
+ <parameter name="idx" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1443">the zone index</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="init" c:identifier="gst_sdp_message_init">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="263">Initialize @msg so that its contents are as if it was freshly allocated
+with gst_sdp_message_new(). This function is mostly used to initialize a message
+allocated on the stack. gst_sdp_message_uninit() undoes this operation.
+
+When this function is invoked on newly allocated data (with malloc or on the
+stack), its contents should be set to 0 before calling this function.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="326"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="274">a #GstSDPResult.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="265">a #GstSDPMessage</doc>
+ <type name="SDPMessage" c:type="GstSDPMessage*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="insert_attribute"
+ c:identifier="gst_sdp_message_insert_attribute"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1676">Insert attribute into the array of attributes in @msg
+at index @idx.
+When -1 is given as @idx, the attribute is inserted at the end.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="550"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1686">a #GstSDPResult.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1678">a #GstSDPMessage</doc>
+ <type name="SDPMessage" c:type="GstSDPMessage*"/>
+ </instance-parameter>
+ <parameter name="idx" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1679">an index</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="attr" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1680">a #GstSDPAttribute</doc>
+ <type name="SDPAttribute" c:type="GstSDPAttribute*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="insert_bandwidth"
+ c:identifier="gst_sdp_message_insert_bandwidth"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1171">Insert bandwidth parameters into the array of bandwidths in @msg
+at index @idx.
+When -1 is given as @idx, the bandwidth is inserted at the end.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="464"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1181">a #GstSDPResult.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1173">a #GstSDPMessage</doc>
+ <type name="SDPMessage" c:type="GstSDPMessage*"/>
+ </instance-parameter>
+ <parameter name="idx" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1174">an index</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="bw" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1175">the bandwidth</doc>
+ <type name="SDPBandwidth" c:type="GstSDPBandwidth*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="insert_email"
+ c:identifier="gst_sdp_message_insert_email"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="933">Insert @email into the array of emails in @msg at index @idx.
+When -1 is given as @idx, the email is inserted at the end.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="411"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="942">a #GstSDPResult.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="935">a #GstSDPMessage</doc>
+ <type name="SDPMessage" c:type="GstSDPMessage*"/>
+ </instance-parameter>
+ <parameter name="idx" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="936">an index</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="email" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="937">an email</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="insert_phone"
+ c:identifier="gst_sdp_message_insert_phone"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1006">Insert @phone into the array of phone numbers in @msg at index @idx.
+When -1 is given as @idx, the phone is inserted at the end.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="433"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1015">a #GstSDPResult.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1008">a #GstSDPMessage</doc>
+ <type name="SDPMessage" c:type="GstSDPMessage*"/>
+ </instance-parameter>
+ <parameter name="idx" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1009">a phone index</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="phone" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1010">a phone</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="insert_time"
+ c:identifier="gst_sdp_message_insert_time"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1319">Insert time parameters into the array of times in @msg
+at index @idx.
+When -1 is given as @idx, the times are inserted at the end.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="488"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1329">a #GstSDPResult.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1321">a #GstSDPMessage</doc>
+ <type name="SDPMessage" c:type="GstSDPMessage*"/>
+ </instance-parameter>
+ <parameter name="idx" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1322">an index</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="t" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1323">a #GstSDPTime</doc>
+ <type name="SDPTime" c:type="GstSDPTime*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="insert_zone"
+ c:identifier="gst_sdp_message_insert_zone"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1454">Insert zone parameters into the array of zones in @msg
+at index @idx.
+When -1 is given as @idx, the zone is inserted at the end.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="511"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1464">a #GstSDPResult.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1456">a #GstSDPMessage</doc>
+ <type name="SDPMessage" c:type="GstSDPMessage*"/>
+ </instance-parameter>
+ <parameter name="idx" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1457">an index</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="zone" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1458">a #GstSDPZone</doc>
+ <type name="SDPZone" c:type="GstSDPZone*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="medias_len" c:identifier="gst_sdp_message_medias_len">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1746">Get the number of media descriptions in @msg.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="567"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1752">the number of media descriptions in @msg.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1748">a #GstSDPMessage</doc>
+ <type name="SDPMessage" c:type="const GstSDPMessage*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="parse_keymgmt"
+ c:identifier="gst_sdp_message_parse_keymgmt"
+ version="1.8.1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="4050">Creates a new #GstMIKEYMessage after parsing the key-mgmt attribute
+from a #GstSDPMessage.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="747"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="4058">a #GstSDPResult.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="4052">a #GstSDPMessage</doc>
+ <type name="SDPMessage" c:type="const GstSDPMessage*"/>
+ </instance-parameter>
+ <parameter name="mikey"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="4053">pointer to new #GstMIKEYMessage</doc>
+ <type name="MIKEYMessage" c:type="GstMIKEYMessage**"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="phones_len" c:identifier="gst_sdp_message_phones_len">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="986">Get the number of phones in @msg.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="427"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="992">the number of phones in @msg.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="988">a #GstSDPMessage</doc>
+ <type name="SDPMessage" c:type="const GstSDPMessage*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="remove_attribute"
+ c:identifier="gst_sdp_message_remove_attribute"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1708">Remove the attribute in @msg at index @idx.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="558"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1715">a #GstSDPResult.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1710">a #GstSDPMessage</doc>
+ <type name="SDPMessage" c:type="GstSDPMessage*"/>
+ </instance-parameter>
+ <parameter name="idx" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1711">the index</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="remove_bandwidth"
+ c:identifier="gst_sdp_message_remove_bandwidth"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1203">Remove the bandwidth information in @msg at index @idx.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="472"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1210">a #GstSDPResult.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1205">a #GstSDPMessage</doc>
+ <type name="SDPMessage" c:type="GstSDPMessage*"/>
+ </instance-parameter>
+ <parameter name="idx" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1206">the bandwidth index</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="remove_email"
+ c:identifier="gst_sdp_message_remove_email"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="962">Remove the email in @msg at index @idx.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="419"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="969">a #GstSDPResult.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="964">a #GstSDPMessage</doc>
+ <type name="SDPMessage" c:type="GstSDPMessage*"/>
+ </instance-parameter>
+ <parameter name="idx" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="965">an email index</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="remove_phone"
+ c:identifier="gst_sdp_message_remove_phone"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1035">Remove the phone number in @msg at index @idx.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="441"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1042">a #GstSDPResult.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1037">a #GstSDPMessage</doc>
+ <type name="SDPMessage" c:type="GstSDPMessage*"/>
+ </instance-parameter>
+ <parameter name="idx" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1038">a phone index</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="remove_time"
+ c:identifier="gst_sdp_message_remove_time"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1350">Remove the time information in @msg at index @idx.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="496"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1357">a #GstSDPResult.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1352">a #GstSDPMessage</doc>
+ <type name="SDPMessage" c:type="GstSDPMessage*"/>
+ </instance-parameter>
+ <parameter name="idx" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1353">the index</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="remove_zone"
+ c:identifier="gst_sdp_message_remove_zone"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1485">Remove the zone information in @msg at index @idx.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="519"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1492">a #GstSDPResult.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1487">a #GstSDPMessage</doc>
+ <type name="SDPMessage" c:type="GstSDPMessage*"/>
+ </instance-parameter>
+ <parameter name="idx" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1488">the index</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="replace_attribute"
+ c:identifier="gst_sdp_message_replace_attribute"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1693">Replace the attribute in @msg at index @idx with @attr.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="554"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1701">a #GstSDPResult.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1695">a #GstSDPMessage</doc>
+ <type name="SDPMessage" c:type="GstSDPMessage*"/>
+ </instance-parameter>
+ <parameter name="idx" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1696">the index</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="attr" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1697">a #GstSDPAttribute</doc>
+ <type name="SDPAttribute" c:type="GstSDPAttribute*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="replace_bandwidth"
+ c:identifier="gst_sdp_message_replace_bandwidth"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1188">Replace the bandwidth information in @msg at index @idx with @bw.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="468"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1196">a #GstSDPResult.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1190">a #GstSDPMessage</doc>
+ <type name="SDPMessage" c:type="GstSDPMessage*"/>
+ </instance-parameter>
+ <parameter name="idx" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1191">the bandwidth index</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="bw" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1192">the bandwidth</doc>
+ <type name="SDPBandwidth" c:type="GstSDPBandwidth*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="replace_email"
+ c:identifier="gst_sdp_message_replace_email"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="948">Replace the email in @msg at index @idx with @email.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="415"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="956">a #GstSDPResult.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="950">a #GstSDPMessage</doc>
+ <type name="SDPMessage" c:type="GstSDPMessage*"/>
+ </instance-parameter>
+ <parameter name="idx" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="951">an email index</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="email" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="952">an email</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="replace_phone"
+ c:identifier="gst_sdp_message_replace_phone"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1021">Replace the phone number in @msg at index @idx with @phone.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="437"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1029">a #GstSDPResult.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1023">a #GstSDPMessage</doc>
+ <type name="SDPMessage" c:type="GstSDPMessage*"/>
+ </instance-parameter>
+ <parameter name="idx" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1024">a phone index</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="phone" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1025">a phone</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="replace_time"
+ c:identifier="gst_sdp_message_replace_time"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1335">Replace the time information in @msg at index @idx with @t.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="492"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1343">a #GstSDPResult.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1337">a #GstSDPMessage</doc>
+ <type name="SDPMessage" c:type="GstSDPMessage*"/>
+ </instance-parameter>
+ <parameter name="idx" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1338">the index</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="t" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1339">a #GstSDPTime</doc>
+ <type name="SDPTime" c:type="GstSDPTime*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="replace_zone"
+ c:identifier="gst_sdp_message_replace_zone"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1470">Replace the zone information in @msg at index @idx with @zone.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="515"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1478">a #GstSDPResult.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1472">a #GstSDPMessage</doc>
+ <type name="SDPMessage" c:type="GstSDPMessage*"/>
+ </instance-parameter>
+ <parameter name="idx" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1473">the index</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="zone" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1474">a #GstSDPZone</doc>
+ <type name="SDPZone" c:type="GstSDPZone*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_connection"
+ c:identifier="gst_sdp_message_set_connection">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1060">Configure the SDP connection in @msg with the given parameters.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="452"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1072">a #GstSDPResult.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1062">a #GstSDPMessage</doc>
+ <type name="SDPMessage" c:type="GstSDPMessage*"/>
+ </instance-parameter>
+ <parameter name="nettype" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1063">the type of network. "IN" is defined to have the meaning
+"Internet".</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="addrtype" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1065">the type of address.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="address" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1066">the address</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="ttl" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1067">the time to live of the address</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="addr_number" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1068">the number of layers</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_information"
+ c:identifier="gst_sdp_message_set_information">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="874">Set the information in @msg.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="392"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="881">a #GstSDPResult.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="876">a #GstSDPMessage</doc>
+ <type name="SDPMessage" c:type="GstSDPMessage*"/>
+ </instance-parameter>
+ <parameter name="information" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="877">the information</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_key" c:identifier="gst_sdp_message_set_key">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1522">Adds the encryption information to @msg.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="531"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1530">a #GstSDPResult.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1524">a #GstSDPMessage</doc>
+ <type name="SDPMessage" c:type="GstSDPMessage*"/>
+ </instance-parameter>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1525">the encryption type</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1526">the encryption data</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_origin" c:identifier="gst_sdp_message_set_origin">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="808">Configure the SDP origin in @msg with the given parameters.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="373"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="820">#GST_SDP_OK.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="810">a #GstSDPMessage</doc>
+ <type name="SDPMessage" c:type="GstSDPMessage*"/>
+ </instance-parameter>
+ <parameter name="username" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="811">the user name</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="sess_id" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="812">a session id</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="sess_version" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="813">a session version</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="nettype" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="814">a network type</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="addrtype" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="815">an address type</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="addr" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="816">an address</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_session_name"
+ c:identifier="gst_sdp_message_set_session_name">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="855">Set the session name in @msg.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="384"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="862">a #GstSDPResult.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="857">a #GstSDPMessage</doc>
+ <type name="SDPMessage" c:type="GstSDPMessage*"/>
+ </instance-parameter>
+ <parameter name="session_name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="858">the session name</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_uri" c:identifier="gst_sdp_message_set_uri">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="893">Set the URI in @msg.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="400"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="900">a #GstSDPResult.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="895">a #GstSDPMessage</doc>
+ <type name="SDPMessage" c:type="GstSDPMessage*"/>
+ </instance-parameter>
+ <parameter name="uri" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="896">the URI</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_version" c:identifier="gst_sdp_message_set_version">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="788">Set the version in @msg.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="365"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="795">a #GstSDPResult.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="790">a #GstSDPMessage</doc>
+ <type name="SDPMessage" c:type="GstSDPMessage*"/>
+ </instance-parameter>
+ <parameter name="version" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="791">the version</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="times_len" c:identifier="gst_sdp_message_times_len">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1295">Get the number of time information entries in @msg.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="482"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1301">the number of time information entries in @msg.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1297">a #GstSDPMessage</doc>
+ <type name="SDPMessage" c:type="const GstSDPMessage*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="uninit" c:identifier="gst_sdp_message_uninit">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="299">Free all resources allocated in @msg. @msg should not be used anymore after
+this function. This function should be used when @msg was allocated on the
+stack and initialized with gst_sdp_message_init().</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="329"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="307">a #GstSDPResult.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="301">a #GstSDPMessage</doc>
+ <type name="SDPMessage" c:type="GstSDPMessage*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="zones_len" c:identifier="gst_sdp_message_zones_len">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1431">Get the number of time zone information entries in @msg.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="505"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1437">the number of time zone information entries in @msg.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1433">a #GstSDPMessage</doc>
+ <type name="SDPMessage" c:type="const GstSDPMessage*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <function name="as_uri" c:identifier="gst_sdp_message_as_uri">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="727">Creates a uri from @msg with the given @scheme. The uri has the format:
+
+ \@scheme:///[#type=value *[&amp;type=value]]
+
+ Where each value is url encoded.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="352"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="738">a uri for @msg.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="scheme" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="729">the uri scheme</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="730">the #GstSDPMessage</doc>
+ <type name="SDPMessage" c:type="const GstSDPMessage*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="new" c:identifier="gst_sdp_message_new">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="217">Allocate a new GstSDPMessage and store the result in @msg.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="323"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="223">a #GstSDPResult.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="msg"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="219">pointer to new #GstSDPMessage</doc>
+ <type name="SDPMessage" c:type="GstSDPMessage**"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="new_from_text"
+ c:identifier="gst_sdp_message_new_from_text"
+ version="1.16">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="239">Parse @text and create a new SDPMessage from these.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="344"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="246">a #GstSDPResult.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="text" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="241">A dynamically allocated string representing the SDP description</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="msg"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="242">pointer to new #GstSDPMessage</doc>
+ <type name="SDPMessage" c:type="GstSDPMessage**"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="parse_buffer"
+ c:identifier="gst_sdp_message_parse_buffer">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="3127">Parse the contents of @size bytes pointed to by @data and store the result in
+@msg.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="338"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="3136">#GST_SDP_OK on success.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="3129">the start of the buffer</doc>
+ <array length="1" zero-terminated="0" c:type="const guint8*">
+ <type name="guint8" c:type="guint8"/>
+ </array>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="3130">the size of the buffer</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="3131">the result #GstSDPMessage</doc>
+ <type name="SDPMessage" c:type="GstSDPMessage*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="parse_uri" c:identifier="gst_sdp_message_parse_uri">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="623">Parse the null-terminated @uri and store the result in @msg.
+
+The uri should be of the form:
+
+ scheme://[address[:ttl=ttl][:noa=noa]]/[sessionname]
+ [#type=value *[&amp;type=value]]
+
+ where value is url encoded. This looslely resembles
+ http://tools.ietf.org/html/draft-fujikawa-sdp-url-01</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="349"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="638">#GST_SDP_OK on success.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="uri" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="625">the start of the uri</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="626">the result #GstSDPMessage</doc>
+ <type name="SDPMessage" c:type="GstSDPMessage*"/>
+ </parameter>
+ </parameters>
+ </function>
+ </record>
+ <record name="SDPOrigin" c:type="GstSDPOrigin">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="54">The contents of the SDP "o=" field which gives the originator of the session
+(their username and the address of the user's host) plus a session id and
+session version number.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h" line="79"/>
+ <field name="username" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="56">the user's login on the originating host, or it is "-"
+ if the originating host does not support the concept of user ids.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="sess_id" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="58">is a numeric string such that the tuple of @username, @sess_id,
+ @nettype, @addrtype and @addr form a globally unique identifier for the
+ session.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="sess_version" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="61">a version number for this announcement</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="nettype" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="62">the type of network. "IN" is defined to have the meaning
+ "Internet".</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="addrtype" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="64">the type of @addr.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="addr" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="65">the globally unique address of the machine from which the session was
+ created.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ </record>
+ <enumeration name="SDPResult" c:type="GstSDPResult">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdp.h"
+ line="46">Return values for the SDP functions.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdp.h" line="56"/>
+ <member name="ok" value="0" c:identifier="GST_SDP_OK">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdp.h"
+ line="48">A successful return value</doc>
+ </member>
+ <member name="einval" value="-1" c:identifier="GST_SDP_EINVAL">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdp.h"
+ line="49">a function was given invalid parameters</doc>
+ </member>
+ </enumeration>
+ <record name="SDPTime" c:type="GstSDPTime">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="170">The contents of the SDP "t=" field which specify the start and stop times for
+a conference session.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h" line="185"/>
+ <field name="start" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="172">start time for the conference. The value is the decimal
+ representation of Network Time Protocol (NTP) time values in seconds</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="stop" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="174">stop time for the conference. The value is the decimal
+ representation of Network Time Protocol (NTP) time values in seconds</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="repeat" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="176">repeat times for a session</doc>
+ <array name="GLib.Array" c:type="GArray*">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <method name="clear" c:identifier="gst_sdp_time_clear" version="1.2">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1272">Reset the time information in @t.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="192"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1278">a #GstSDPResult.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="t" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1274">a #GstSDPTime</doc>
+ <type name="SDPTime" c:type="GstSDPTime*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="set" c:identifier="gst_sdp_time_set" version="1.2">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1238">Set time information @start, @stop and @repeat in @t.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="188"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1247">a #GstSDPResult.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="t" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1240">a #GstSDPTime</doc>
+ <type name="SDPTime" c:type="GstSDPTime*"/>
+ </instance-parameter>
+ <parameter name="start" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1241">the start time</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="stop" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1242">the stop time</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="repeat" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1243">the repeat times</doc>
+ <array c:type="const gchar**">
+ <type name="utf8" c:type="gchar*"/>
+ </array>
+ </parameter>
+ </parameters>
+ </method>
+ </record>
+ <record name="SDPZone" c:type="GstSDPZone">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="194">The contents of the SDP "z=" field which allows the sender to
+specify a list of time zone adjustments and offsets from the base
+time.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h" line="206"/>
+ <field name="time" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="196">the NTP time that a time zone adjustment happens</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="typed_time" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="197">the offset from the time when the session was first scheduled</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <method name="clear" c:identifier="gst_sdp_zone_clear" version="1.2">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1411">Reset the zone information in @zone.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="213"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1417">a #GstSDPResult.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="zone" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1413">a #GstSDPZone</doc>
+ <type name="SDPZone" c:type="GstSDPZone*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="set" c:identifier="gst_sdp_zone_set" version="1.2">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1388">Set zone information in @zone.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="209"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1396">a #GstSDPResult.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="zone" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1390">a #GstSDPZone</doc>
+ <type name="SDPZone" c:type="GstSDPZone*"/>
+ </instance-parameter>
+ <parameter name="adj_time" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1391">the NTP time that a time zone adjustment happens</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="typed_time" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1392">the offset from the time when the session was first scheduled</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ </record>
+ <constant name="SDP_BWTYPE_AS" value="AS" c:type="GST_SDP_BWTYPE_AS">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="117">The Application-Specific Maximum bandwidth modifier.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h" line="122"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="SDP_BWTYPE_CT" value="CT" c:type="GST_SDP_BWTYPE_CT">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="111">The Conference Total bandwidth modifier.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h" line="116"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="SDP_BWTYPE_EXT_PREFIX"
+ value="X-"
+ c:type="GST_SDP_BWTYPE_EXT_PREFIX">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="123">The extension prefix bandwidth modifier.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h" line="128"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="SDP_BWTYPE_RR" value="RR" c:type="GST_SDP_BWTYPE_RR">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="136">RTCP bandwidth allocated to data receivers (RFC 3556).</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h" line="141"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="SDP_BWTYPE_RS" value="RS" c:type="GST_SDP_BWTYPE_RS">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="130">RTCP bandwidth allocated to active data senders (RFC 3556).</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h" line="135"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="SDP_BWTYPE_TIAS" value="TIAS" c:type="GST_SDP_BWTYPE_TIAS">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.h"
+ line="142">Transport Independent Application Specific Maximum bandwidth (RFC 3890).</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h" line="147"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <function-macro name="SDP_MESSAGE"
+ c:identifier="GST_SDP_MESSAGE"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h" line="318"/>
+ <parameters>
+ <parameter name="object">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="SDP_MESSAGE_CAST"
+ c:identifier="GST_SDP_MESSAGE_CAST"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h" line="317"/>
+ <parameters>
+ <parameter name="object">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <docsection name="gstmikey">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstmikey.c"
+ line="22">The GstMIKEY helper functions makes it easy to parse and create MIKEY
+messages.</doc>
+ </docsection>
+ <function name="sdp_address_is_multicast"
+ c:identifier="gst_sdp_address_is_multicast">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="452">Check if the given @addr is a multicast address.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h" line="357"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="460">TRUE when @addr is multicast.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="nettype" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="454">a network type</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="addrtype" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="455">an address type</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="addr" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="456">an address</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="sdp_make_keymgmt"
+ c:identifier="gst_sdp_make_keymgmt"
+ version="1.8">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="3977">Makes key management data</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h" line="744"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="3984">a #gchar key-mgmt data,</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="uri" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="3979">a #gchar URI</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="base64" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="3980">a #gchar base64-encoded key data</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="sdp_media_new"
+ c:identifier="gst_sdp_media_new"
+ moved-to="SDPMedia.new">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1798">Allocate a new GstSDPMedia and store the result in @media.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h" line="581"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1804">a #GstSDPResult.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="media"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="1800">pointer to new #GstSDPMedia</doc>
+ <type name="SDPMedia" c:type="GstSDPMedia**"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="sdp_media_set_media_from_caps"
+ c:identifier="gst_sdp_media_set_media_from_caps"
+ moved-to="SDPMedia.set_media_from_caps"
+ version="1.8">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="3742">Mapping of caps to SDP fields:
+
+a=rtpmap:(payload) (encoding_name) or (clock_rate)[or (encoding_params)]
+
+a=framesize:(payload) (width)-(height)
+
+a=fmtp:(payload) (param)[=(value)];...
+
+a=rtcp-fb:(payload) (param1) [param2]...
+
+a=extmap:(id)[/direction] (extensionname) (extensionattributes)</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h" line="741"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="3759">a #GstSDPResult.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="caps" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="3744">a #GstCaps</doc>
+ <type name="Gst.Caps" c:type="const GstCaps*"/>
+ </parameter>
+ <parameter name="media" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="3745">a #GstSDPMedia</doc>
+ <type name="SDPMedia" c:type="GstSDPMedia*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="sdp_message_as_uri"
+ c:identifier="gst_sdp_message_as_uri"
+ moved-to="SDPMessage.as_uri">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="727">Creates a uri from @msg with the given @scheme. The uri has the format:
+
+ \@scheme:///[#type=value *[&amp;type=value]]
+
+ Where each value is url encoded.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h" line="352"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="738">a uri for @msg.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="scheme" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="729">the uri scheme</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="730">the #GstSDPMessage</doc>
+ <type name="SDPMessage" c:type="const GstSDPMessage*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="sdp_message_new"
+ c:identifier="gst_sdp_message_new"
+ moved-to="SDPMessage.new">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="217">Allocate a new GstSDPMessage and store the result in @msg.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h" line="323"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="223">a #GstSDPResult.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="msg"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="219">pointer to new #GstSDPMessage</doc>
+ <type name="SDPMessage" c:type="GstSDPMessage**"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="sdp_message_new_from_text"
+ c:identifier="gst_sdp_message_new_from_text"
+ moved-to="SDPMessage.new_from_text"
+ version="1.16">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="239">Parse @text and create a new SDPMessage from these.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h" line="344"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="246">a #GstSDPResult.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="text" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="241">A dynamically allocated string representing the SDP description</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="msg"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="242">pointer to new #GstSDPMessage</doc>
+ <type name="SDPMessage" c:type="GstSDPMessage**"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="sdp_message_parse_buffer"
+ c:identifier="gst_sdp_message_parse_buffer"
+ moved-to="SDPMessage.parse_buffer">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="3127">Parse the contents of @size bytes pointed to by @data and store the result in
+@msg.</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h" line="338"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="3136">#GST_SDP_OK on success.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="3129">the start of the buffer</doc>
+ <array length="1" zero-terminated="0" c:type="const guint8*">
+ <type name="guint8" c:type="guint8"/>
+ </array>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="3130">the size of the buffer</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="3131">the result #GstSDPMessage</doc>
+ <type name="SDPMessage" c:type="GstSDPMessage*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="sdp_message_parse_uri"
+ c:identifier="gst_sdp_message_parse_uri"
+ moved-to="SDPMessage.parse_uri">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="623">Parse the null-terminated @uri and store the result in @msg.
+
+The uri should be of the form:
+
+ scheme://[address[:ttl=ttl][:noa=noa]]/[sessionname]
+ [#type=value *[&amp;type=value]]
+
+ where value is url encoded. This looslely resembles
+ http://tools.ietf.org/html/draft-fujikawa-sdp-url-01</doc>
+ <source-position filename="gst-libs/gst/sdp/gstsdpmessage.h" line="349"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="638">#GST_SDP_OK on success.</doc>
+ <type name="SDPResult" c:type="GstSDPResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="uri" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="625">the start of the uri</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/sdp/gstsdpmessage.c"
+ line="626">the result #GstSDPMessage</doc>
+ <type name="SDPMessage" c:type="GstSDPMessage*"/>
+ </parameter>
+ </parameters>
+ </function>
+ </namespace>
+</repository>
diff --git a/subprojects/gstreamer-sharp/girs/GstTag-1.0.gir b/subprojects/gstreamer-sharp/girs/GstTag-1.0.gir
new file mode 100644
index 0000000000..eb10e2ba3f
--- /dev/null
+++ b/subprojects/gstreamer-sharp/girs/GstTag-1.0.gir
@@ -0,0 +1,2639 @@
+<?xml version="1.0"?>
+<!-- This file was automatically generated from C sources - DO NOT EDIT!
+To affect the contents of this file, edit the original C definitions,
+and/or use gtk-doc annotations. -->
+<repository version="1.2"
+ xmlns="http://www.gtk.org/introspection/core/1.0"
+ xmlns:c="http://www.gtk.org/introspection/c/1.0"
+ xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
+ <include name="Gst" version="1.0"/>
+ <include name="GstBase" version="1.0"/>
+ <package name="gstreamer-tag-1.0"/>
+ <c:include name="gst/tag/tag.h"/>
+ <namespace name="GstTag"
+ version="1.0"
+ shared-library="libgsttag-1.0.so.0"
+ c:identifier-prefixes="Gst"
+ c:symbol-prefixes="gst">
+ <function-macro name="IS_TAG_DEMUX"
+ c:identifier="GST_IS_TAG_DEMUX"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/tag/gsttagdemux.h" line="32"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_TAG_DEMUX_CLASS"
+ c:identifier="GST_IS_TAG_DEMUX_CLASS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/tag/gsttagdemux.h" line="33"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_TAG_MUX"
+ c:identifier="GST_IS_TAG_MUX"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/tag/gsttagmux.h" line="35"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_TAG_MUX_CLASS"
+ c:identifier="GST_IS_TAG_MUX_CLASS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/tag/gsttagmux.h" line="37"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_TAG_XMP_WRITER"
+ c:identifier="GST_IS_TAG_XMP_WRITER"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/tag/xmpwriter.h" line="31"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <constant name="TAG_ACOUSTID_FINGERPRINT"
+ value="chromaprint-fingerprint"
+ c:type="GST_TAG_ACOUSTID_FINGERPRINT"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/tag.h"
+ line="92">AcoustID Fingerprint (Chromaprint)</doc>
+ <source-position filename="gst-libs/gst/tag/tag.h" line="104"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_ACOUSTID_ID"
+ value="acoustid-id"
+ c:type="GST_TAG_ACOUSTID_ID"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/tag.h"
+ line="83">AcoustID Identifier</doc>
+ <source-position filename="gst-libs/gst/tag/tag.h" line="90"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_CAPTURING_CONTRAST"
+ value="capturing-contrast"
+ c:type="GST_TAG_CAPTURING_CONTRAST">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/tag.h"
+ line="299">Direction of contrast processing applied when capturing an image. (string)
+
+The allowed values are:
+ "normal"
+ "soft"
+ "hard"</doc>
+ <source-position filename="gst-libs/gst/tag/tag.h" line="309"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_CAPTURING_DIGITAL_ZOOM_RATIO"
+ value="capturing-digital-zoom-ratio"
+ c:type="GST_TAG_CAPTURING_DIGITAL_ZOOM_RATIO">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/tag.h"
+ line="204">Digital zoom ratio used when capturing an image. (double)</doc>
+ <source-position filename="gst-libs/gst/tag/tag.h" line="209"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_CAPTURING_EXPOSURE_COMPENSATION"
+ value="capturing-exposure-compensation"
+ c:type="GST_TAG_CAPTURING_EXPOSURE_COMPENSATION">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/tag.h"
+ line="248">Exposure compensation using when capturing an image in EV. (double)</doc>
+ <source-position filename="gst-libs/gst/tag/tag.h" line="253"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_CAPTURING_EXPOSURE_MODE"
+ value="capturing-exposure-mode"
+ c:type="GST_TAG_CAPTURING_EXPOSURE_MODE">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/tag.h"
+ line="236">Exposure mode used when capturing an image. (string)
+
+The allowed values are:
+ "auto-exposure"
+ "manual-exposure"
+ "auto-bracket"</doc>
+ <source-position filename="gst-libs/gst/tag/tag.h" line="246"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_CAPTURING_EXPOSURE_PROGRAM"
+ value="capturing-exposure-program"
+ c:type="GST_TAG_CAPTURING_EXPOSURE_PROGRAM">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/tag.h"
+ line="218">Type of exposure control used when capturing an image. (string)
+
+The allowed values are:
+ "undefined"
+ "manual"
+ "normal" - automatically controlled
+ "aperture-priority" - user selects aperture value
+ "shutter-priority" - user selects shutter speed
+ "creative" - biased towards depth of field
+ "action" - biased towards fast shutter speed
+ "portrait" - closeup, leaving background out of focus
+ "landscape" - landscape photos, background in focus</doc>
+ <source-position filename="gst-libs/gst/tag/tag.h" line="234"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_CAPTURING_FLASH_FIRED"
+ value="capturing-flash-fired"
+ c:type="GST_TAG_CAPTURING_FLASH_FIRED">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/tag.h"
+ line="335">If flash was fired during the capture of an image. (boolean)
+
+Note that if this tag isn't present, it should not be assumed that
+the flash did not fire. It should be treated as unknown.</doc>
+ <source-position filename="gst-libs/gst/tag/tag.h" line="343"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_CAPTURING_FLASH_MODE"
+ value="capturing-flash-mode"
+ c:type="GST_TAG_CAPTURING_FLASH_MODE">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/tag.h"
+ line="345">The flash mode selected during the capture of an image. (string)
+
+The allowed values are:
+ "auto"
+ "always"
+ "never"</doc>
+ <source-position filename="gst-libs/gst/tag/tag.h" line="355"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_CAPTURING_FOCAL_LENGTH"
+ value="capturing-focal-length"
+ c:type="GST_TAG_CAPTURING_FOCAL_LENGTH">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/tag.h"
+ line="188">Focal length used when capturing an image, in mm. (double)</doc>
+ <source-position filename="gst-libs/gst/tag/tag.h" line="193"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_CAPTURING_FOCAL_LENGTH_35_MM"
+ value="capturing-focal-length-35mm"
+ c:type="GST_TAG_CAPTURING_FOCAL_LENGTH_35_MM"
+ version="1.10">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/tag.h"
+ line="195">35 mm equivalent focal length used when capturing an image, in mm. (double)</doc>
+ <source-position filename="gst-libs/gst/tag/tag.h" line="202"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_CAPTURING_FOCAL_RATIO"
+ value="capturing-focal-ratio"
+ c:type="GST_TAG_CAPTURING_FOCAL_RATIO">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/tag.h"
+ line="178">Focal ratio (f-number) used when capturing an image. (double)
+
+The value stored is the denominator of the focal ratio (f-number).
+For example, if this tag value is 2, the focal ratio is f/2.</doc>
+ <source-position filename="gst-libs/gst/tag/tag.h" line="186"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_CAPTURING_GAIN_ADJUSTMENT"
+ value="capturing-gain-adjustment"
+ c:type="GST_TAG_CAPTURING_GAIN_ADJUSTMENT">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/tag.h"
+ line="268">Gain adjustment applied to an image. (string)
+
+The allowed values are:
+ "none"
+ "low-gain-up"
+ "high-gain-up"
+ "low-gain-down"
+ "high-gain-down"</doc>
+ <source-position filename="gst-libs/gst/tag/tag.h" line="280"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_CAPTURING_ISO_SPEED"
+ value="capturing-iso-speed"
+ c:type="GST_TAG_CAPTURING_ISO_SPEED">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/tag.h"
+ line="211">ISO speed used when capturing an image. (integer)</doc>
+ <source-position filename="gst-libs/gst/tag/tag.h" line="216"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_CAPTURING_METERING_MODE"
+ value="capturing-metering-mode"
+ c:type="GST_TAG_CAPTURING_METERING_MODE">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/tag.h"
+ line="357">Defines the way a camera determines the exposure. (string)
+
+The allowed values are:
+ "unknown"
+ "average"
+ "center-weighted-average"
+ "spot"
+ "multi-spot"
+ "pattern"
+ "partial"
+ "other"</doc>
+ <source-position filename="gst-libs/gst/tag/tag.h" line="372"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_CAPTURING_SATURATION"
+ value="capturing-saturation"
+ c:type="GST_TAG_CAPTURING_SATURATION">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/tag.h"
+ line="311">Direction of saturation processing applied when capturing an image. (string)
+
+The allowed values are:
+ "normal"
+ "low-saturation"
+ "high-saturation"</doc>
+ <source-position filename="gst-libs/gst/tag/tag.h" line="321"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_CAPTURING_SCENE_CAPTURE_TYPE"
+ value="capturing-scene-capture-type"
+ c:type="GST_TAG_CAPTURING_SCENE_CAPTURE_TYPE">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/tag.h"
+ line="255">Scene mode used when capturing an image. (string)
+
+The allowed values are:
+ "standard"
+ "landscape"
+ "portrait"
+ "night-scene"</doc>
+ <source-position filename="gst-libs/gst/tag/tag.h" line="266"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_CAPTURING_SHARPNESS"
+ value="capturing-sharpness"
+ c:type="GST_TAG_CAPTURING_SHARPNESS">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/tag.h"
+ line="323">Direction of sharpness processing applied when capturing an image. (string)
+
+The allowed values are:
+ "normal"
+ "soft"
+ "hard"</doc>
+ <source-position filename="gst-libs/gst/tag/tag.h" line="333"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_CAPTURING_SHUTTER_SPEED"
+ value="capturing-shutter-speed"
+ c:type="GST_TAG_CAPTURING_SHUTTER_SPEED">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/tag.h"
+ line="171">Shutter speed used when capturing an image, in seconds. (fraction)</doc>
+ <source-position filename="gst-libs/gst/tag/tag.h" line="176"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_CAPTURING_SOURCE"
+ value="capturing-source"
+ c:type="GST_TAG_CAPTURING_SOURCE">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/tag.h"
+ line="374">Indicates the source of capture. The device/medium used to do the
+capture. (string)
+
+Allowed values are:
+ "dsc" (= digital still camera)
+ "transparent-scanner"
+ "reflex-scanner"
+ "other"</doc>
+ <source-position filename="gst-libs/gst/tag/tag.h" line="386"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_CAPTURING_WHITE_BALANCE"
+ value="capturing-white-balance"
+ c:type="GST_TAG_CAPTURING_WHITE_BALANCE">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/tag.h"
+ line="282">White balance mode used when capturing an image. (string)
+
+The allowed values are:
+ "auto"
+ "manual"
+ "daylight"
+ "cloudy"
+ "tungsten"
+ "fluorescent"
+ "fluorescent h" (newer daylight-calibrated fluorescents)
+ "flash"</doc>
+ <source-position filename="gst-libs/gst/tag/tag.h" line="297"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_CDDA_CDDB_DISCID"
+ value="discid"
+ c:type="GST_TAG_CDDA_CDDB_DISCID">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/tag.h"
+ line="143">CDDB disc id in its short form (e.g. 'aa063d0f')</doc>
+ <source-position filename="gst-libs/gst/tag/tag.h" line="148"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_CDDA_CDDB_DISCID_FULL"
+ value="discid-full"
+ c:type="GST_TAG_CDDA_CDDB_DISCID_FULL">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/tag.h"
+ line="150">CDDB disc id including all details</doc>
+ <source-position filename="gst-libs/gst/tag/tag.h" line="155"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_CDDA_MUSICBRAINZ_DISCID"
+ value="musicbrainz-discid"
+ c:type="GST_TAG_CDDA_MUSICBRAINZ_DISCID">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/tag.h"
+ line="157">Musicbrainz disc id (e.g. 'ahg7JUcfR3vCYBphSDIogOOWrr0-')</doc>
+ <source-position filename="gst-libs/gst/tag/tag.h" line="162"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_CDDA_MUSICBRAINZ_DISCID_FULL"
+ value="musicbrainz-discid-full"
+ c:type="GST_TAG_CDDA_MUSICBRAINZ_DISCID_FULL">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/tag.h"
+ line="164">Musicbrainz disc id details</doc>
+ <source-position filename="gst-libs/gst/tag/tag.h" line="169"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_CMML_CLIP"
+ value="cmml-clip"
+ c:type="GST_TAG_CMML_CLIP">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/tag.h"
+ line="119">Annodex CMML clip element tag</doc>
+ <source-position filename="gst-libs/gst/tag/tag.h" line="124"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_CMML_HEAD"
+ value="cmml-head"
+ c:type="GST_TAG_CMML_HEAD">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/tag.h"
+ line="112">Annodex CMML head element tag</doc>
+ <source-position filename="gst-libs/gst/tag/tag.h" line="118"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_CMML_STREAM"
+ value="cmml-stream"
+ c:type="GST_TAG_CMML_STREAM">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/tag.h"
+ line="106">Annodex CMML stream element tag</doc>
+ <source-position filename="gst-libs/gst/tag/tag.h" line="111"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <function-macro name="TAG_DEMUX"
+ c:identifier="GST_TAG_DEMUX"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/tag/gsttagdemux.h" line="30"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="TAG_DEMUX_CLASS"
+ c:identifier="GST_TAG_DEMUX_CLASS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/tag/gsttagdemux.h" line="31"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <constant name="TAG_ID3V2_HEADER_SIZE"
+ value="10"
+ c:type="GST_TAG_ID3V2_HEADER_SIZE">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/tag.h"
+ line="456">ID3V2 header size considered minimum input for some functions such as
+gst_tag_list_from_id3v2_tag() and gst_tag_get_id3v2_tag_size() for example.</doc>
+ <source-position filename="gst-libs/gst/tag/tag.h" line="462"/>
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="TAG_IMAGE_HORIZONTAL_PPI"
+ value="image-horizontal-ppi"
+ c:type="GST_TAG_IMAGE_HORIZONTAL_PPI">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/tag.h"
+ line="388">Media (image/video) intended horizontal pixel density in ppi. (double)</doc>
+ <source-position filename="gst-libs/gst/tag/tag.h" line="393"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_IMAGE_VERTICAL_PPI"
+ value="image-vertical-ppi"
+ c:type="GST_TAG_IMAGE_VERTICAL_PPI">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/tag.h"
+ line="394">Media (image/video) intended vertical pixel density in ppi. (double)</doc>
+ <source-position filename="gst-libs/gst/tag/tag.h" line="399"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_MUSICAL_KEY"
+ value="musical-key"
+ c:type="GST_TAG_MUSICAL_KEY"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/tag.h"
+ line="125">Musical key in which the sound starts. It is represented as a string
+with a maximum length of three characters. The ground keys are
+represented with "A","B","C","D","E", "F" and "G" and halfkeys
+represented with "b" and "#". Minor is represented as "m" (e.g. "Dbm").
+Off key is represented with an "o" only.
+This notation might be extended in the future to support non-minor/major
+keys.</doc>
+ <source-position filename="gst-libs/gst/tag/tag.h" line="138"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_MUSICBRAINZ_ALBUMARTISTID"
+ value="musicbrainz-albumartistid"
+ c:type="GST_TAG_MUSICBRAINZ_ALBUMARTISTID">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/tag.h"
+ line="54">MusicBrainz album artist ID</doc>
+ <source-position filename="gst-libs/gst/tag/tag.h" line="59"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_MUSICBRAINZ_ALBUMID"
+ value="musicbrainz-albumid"
+ c:type="GST_TAG_MUSICBRAINZ_ALBUMID">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/tag.h"
+ line="48">MusicBrainz album ID</doc>
+ <source-position filename="gst-libs/gst/tag/tag.h" line="53"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_MUSICBRAINZ_ARTISTID"
+ value="musicbrainz-artistid"
+ c:type="GST_TAG_MUSICBRAINZ_ARTISTID">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/tag.h"
+ line="42">MusicBrainz artist ID</doc>
+ <source-position filename="gst-libs/gst/tag/tag.h" line="47"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_MUSICBRAINZ_RELEASEGROUPID"
+ value="musicbrainz-releasegroupid"
+ c:type="GST_TAG_MUSICBRAINZ_RELEASEGROUPID"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/tag.h"
+ line="60">MusicBrainz Release Group ID</doc>
+ <source-position filename="gst-libs/gst/tag/tag.h" line="67"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_MUSICBRAINZ_RELEASETRACKID"
+ value="musicbrainz-releasetrackid"
+ c:type="GST_TAG_MUSICBRAINZ_RELEASETRACKID"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/tag.h"
+ line="68">MusicBrainz Release Track ID</doc>
+ <source-position filename="gst-libs/gst/tag/tag.h" line="75"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_MUSICBRAINZ_TRACKID"
+ value="musicbrainz-trackid"
+ c:type="GST_TAG_MUSICBRAINZ_TRACKID">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/tag.h"
+ line="36">MusicBrainz track ID</doc>
+ <source-position filename="gst-libs/gst/tag/tag.h" line="41"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="TAG_MUSICBRAINZ_TRMID"
+ value="musicbrainz-trmid"
+ c:type="GST_TAG_MUSICBRAINZ_TRMID">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/tag.h"
+ line="76">MusicBrainz track TRM ID</doc>
+ <source-position filename="gst-libs/gst/tag/tag.h" line="81"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <function-macro name="TAG_MUX"
+ c:identifier="GST_TAG_MUX"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/tag/gsttagmux.h" line="31"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="TAG_MUX_CLASS"
+ c:identifier="GST_TAG_MUX_CLASS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/tag/gsttagmux.h" line="33"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="TAG_XMP_WRITER"
+ c:identifier="GST_TAG_XMP_WRITER"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/tag/xmpwriter.h" line="29"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="TAG_XMP_WRITER_GET_INTERFACE"
+ c:identifier="GST_TAG_XMP_WRITER_GET_INTERFACE"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/tag/xmpwriter.h" line="33"/>
+ <parameters>
+ <parameter name="inst">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <class name="TagDemux"
+ c:symbol-prefix="tag_demux"
+ c:type="GstTagDemux"
+ parent="Gst.Element"
+ abstract="1"
+ glib:type-name="GstTagDemux"
+ glib:get-type="gst_tag_demux_get_type"
+ glib:type-struct="TagDemuxClass">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/gsttagdemux.c"
+ line="21">Provides a base class for demuxing tags at the beginning or end of a
+stream and handles things like typefinding, querying, seeking, and
+different modes of operation (chain-based, pull_range-based, and providing
+downstream elements with random access if upstream supports that). The tag
+is stripped from the output, and all offsets are adjusted for the tag
+sizes, so that to the downstream element the stream will appear as if
+there was no tag at all. Also, once the tag has been parsed, GstTagDemux
+will try to determine the media type of the resulting stream and add a
+source pad with the appropriate caps in order to facilitate auto-plugging.
+
+## Deriving from GstTagDemux
+
+Subclasses have to do four things:
+
+ * In their base init function, they must add a pad template for the sink
+ pad to the element class, describing the media type they can parse in
+ the caps of the pad template.
+ * In their class init function, they must override
+ GST_TAG_DEMUX_CLASS(demux_klass)-&gt;identify_tag with their own identify
+ function.
+ * In their class init function, they must override
+ GST_TAG_DEMUX_CLASS(demux_klass)-&gt;parse_tag with their own parse
+ function.
+ * In their class init function, they must also set
+ GST_TAG_DEMUX_CLASS(demux_klass)-&gt;min_start_size and/or
+ GST_TAG_DEMUX_CLASS(demux_klass)-&gt;min_end_size to the minimum size required
+ for the identify function to decide whether the stream has a supported tag
+ or not. A class parsing ID3v1 tags, for example, would set min_end_size to
+ 128 bytes.</doc>
+ <source-position filename="gst-libs/gst/tag/gsttagdemux.h" line="129"/>
+ <virtual-method name="identify_tag">
+ <source-position filename="gst-libs/gst/tag/gsttagdemux.h" line="110"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="demux" transfer-ownership="none">
+ <type name="TagDemux" c:type="GstTagDemux*"/>
+ </instance-parameter>
+ <parameter name="buffer" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="start_tag" transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ <parameter name="tag_size" transfer-ownership="none">
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="merge_tags">
+ <source-position filename="gst-libs/gst/tag/gsttagdemux.h" line="123"/>
+ <return-value transfer-ownership="full">
+ <type name="Gst.TagList" c:type="GstTagList*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="demux" transfer-ownership="none">
+ <type name="TagDemux" c:type="GstTagDemux*"/>
+ </instance-parameter>
+ <parameter name="start_tags" transfer-ownership="none">
+ <type name="Gst.TagList" c:type="const GstTagList*"/>
+ </parameter>
+ <parameter name="end_tags" transfer-ownership="none">
+ <type name="Gst.TagList" c:type="const GstTagList*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="parse_tag">
+ <source-position filename="gst-libs/gst/tag/gsttagdemux.h" line="116"/>
+ <return-value transfer-ownership="none">
+ <type name="TagDemuxResult" c:type="GstTagDemuxResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="demux" transfer-ownership="none">
+ <type name="TagDemux" c:type="GstTagDemux*"/>
+ </instance-parameter>
+ <parameter name="buffer" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="start_tag" transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ <parameter name="tag_size" transfer-ownership="none">
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ <parameter name="tags" transfer-ownership="none">
+ <type name="Gst.TagList" c:type="GstTagList**"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <field name="element">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/gsttagdemux.h"
+ line="55">parent element</doc>
+ <type name="Gst.Element" c:type="GstElement"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="TagDemuxPrivate" c:type="GstTagDemuxPrivate*"/>
+ </field>
+ <field name="reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="TagDemuxClass"
+ c:type="GstTagDemuxClass"
+ glib:is-gtype-struct-for="TagDemux">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/gsttagdemux.h"
+ line="69">The #GstTagDemuxClass structure. See documentation at beginning of section
+for details about what subclasses need to override and do.</doc>
+ <source-position filename="gst-libs/gst/tag/gsttagdemux.h" line="129"/>
+ <field name="parent_class">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/gsttagdemux.h"
+ line="71">the parent class.</doc>
+ <type name="Gst.ElementClass" c:type="GstElementClass"/>
+ </field>
+ <field name="min_start_size">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/gsttagdemux.h"
+ line="72">minimum size required to identify a tag at the start and
+determine its total size. Set to 0 if not interested in start tags.
+Subclasses should set this in their class_init function.</doc>
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="min_end_size">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/gsttagdemux.h"
+ line="75">minimum size required to identify a tag at the end and
+determine its total size. Set to 0 if not interested in end tags.
+Subclasses should set this in their class_init function.</doc>
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="identify_tag">
+ <callback name="identify_tag">
+ <source-position filename="gst-libs/gst/tag/gsttagdemux.h"
+ line="110"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="demux" transfer-ownership="none">
+ <type name="TagDemux" c:type="GstTagDemux*"/>
+ </parameter>
+ <parameter name="buffer" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="start_tag" transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ <parameter name="tag_size" transfer-ownership="none">
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="parse_tag">
+ <callback name="parse_tag">
+ <source-position filename="gst-libs/gst/tag/gsttagdemux.h"
+ line="116"/>
+ <return-value transfer-ownership="none">
+ <type name="TagDemuxResult" c:type="GstTagDemuxResult"/>
+ </return-value>
+ <parameters>
+ <parameter name="demux" transfer-ownership="none">
+ <type name="TagDemux" c:type="GstTagDemux*"/>
+ </parameter>
+ <parameter name="buffer" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="start_tag" transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ <parameter name="tag_size" transfer-ownership="none">
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ <parameter name="tags" transfer-ownership="none">
+ <type name="Gst.TagList" c:type="GstTagList**"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="merge_tags">
+ <callback name="merge_tags">
+ <source-position filename="gst-libs/gst/tag/gsttagdemux.h"
+ line="123"/>
+ <return-value transfer-ownership="full">
+ <type name="Gst.TagList" c:type="GstTagList*"/>
+ </return-value>
+ <parameters>
+ <parameter name="demux" transfer-ownership="none">
+ <type name="TagDemux" c:type="GstTagDemux*"/>
+ </parameter>
+ <parameter name="start_tags" transfer-ownership="none">
+ <type name="Gst.TagList" c:type="const GstTagList*"/>
+ </parameter>
+ <parameter name="end_tags" transfer-ownership="none">
+ <type name="Gst.TagList" c:type="const GstTagList*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="TagDemuxPrivate" c:type="GstTagDemuxPrivate" disguised="1">
+ <source-position filename="gst-libs/gst/tag/gsttagdemux.h" line="37"/>
+ </record>
+ <enumeration name="TagDemuxResult"
+ glib:type-name="GstTagDemuxResult"
+ glib:get-type="gst_tag_demux_result_get_type"
+ c:type="GstTagDemuxResult">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/gsttagdemux.h"
+ line="39">Result values from the parse_tag virtual function.</doc>
+ <member name="broken_tag"
+ value="0"
+ c:identifier="GST_TAG_DEMUX_RESULT_BROKEN_TAG"
+ glib:nick="broken-tag">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/gsttagdemux.h"
+ line="41">cannot parse tag, just skip it</doc>
+ </member>
+ <member name="again"
+ value="1"
+ c:identifier="GST_TAG_DEMUX_RESULT_AGAIN"
+ glib:nick="again">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/gsttagdemux.h"
+ line="42">call again with less or more data</doc>
+ </member>
+ <member name="ok"
+ value="2"
+ c:identifier="GST_TAG_DEMUX_RESULT_OK"
+ glib:nick="ok">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/gsttagdemux.h"
+ line="43">parsed tag successfully</doc>
+ </member>
+ </enumeration>
+ <enumeration name="TagImageType"
+ glib:type-name="GstTagImageType"
+ glib:get-type="gst_tag_image_type_get_type"
+ c:type="GstTagImageType">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/tag.h"
+ line="404">Type of image contained in an image tag (specified as "image-type" field in
+the info structure in the image's #GstSample)</doc>
+ <member name="none"
+ value="-1"
+ c:identifier="GST_TAG_IMAGE_TYPE_NONE"
+ glib:nick="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/tag.h"
+ line="406">No image type. Can be used to
+ tell functions such as gst_tag_image_data_to_image_sample() that no
+ image type should be set.</doc>
+ </member>
+ <member name="undefined"
+ value="0"
+ c:identifier="GST_TAG_IMAGE_TYPE_UNDEFINED"
+ glib:nick="undefined">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/tag.h"
+ line="409">Undefined/other image type</doc>
+ </member>
+ <member name="front_cover"
+ value="1"
+ c:identifier="GST_TAG_IMAGE_TYPE_FRONT_COVER"
+ glib:nick="front-cover">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/tag.h"
+ line="410">Cover (front)</doc>
+ </member>
+ <member name="back_cover"
+ value="2"
+ c:identifier="GST_TAG_IMAGE_TYPE_BACK_COVER"
+ glib:nick="back-cover">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/tag.h"
+ line="411">Cover (back)</doc>
+ </member>
+ <member name="leaflet_page"
+ value="3"
+ c:identifier="GST_TAG_IMAGE_TYPE_LEAFLET_PAGE"
+ glib:nick="leaflet-page">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/tag.h"
+ line="412">Leaflet page</doc>
+ </member>
+ <member name="medium"
+ value="4"
+ c:identifier="GST_TAG_IMAGE_TYPE_MEDIUM"
+ glib:nick="medium">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/tag.h"
+ line="413">Medium (e.g. label side of CD)</doc>
+ </member>
+ <member name="lead_artist"
+ value="5"
+ c:identifier="GST_TAG_IMAGE_TYPE_LEAD_ARTIST"
+ glib:nick="lead-artist">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/tag.h"
+ line="414">Lead artist/lead performer/soloist</doc>
+ </member>
+ <member name="artist"
+ value="6"
+ c:identifier="GST_TAG_IMAGE_TYPE_ARTIST"
+ glib:nick="artist">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/tag.h"
+ line="415">Artist/performer</doc>
+ </member>
+ <member name="conductor"
+ value="7"
+ c:identifier="GST_TAG_IMAGE_TYPE_CONDUCTOR"
+ glib:nick="conductor">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/tag.h"
+ line="416">Conductor</doc>
+ </member>
+ <member name="band_orchestra"
+ value="8"
+ c:identifier="GST_TAG_IMAGE_TYPE_BAND_ORCHESTRA"
+ glib:nick="band-orchestra">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/tag.h"
+ line="417">Band/orchestra</doc>
+ </member>
+ <member name="composer"
+ value="9"
+ c:identifier="GST_TAG_IMAGE_TYPE_COMPOSER"
+ glib:nick="composer">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/tag.h"
+ line="418">Composer</doc>
+ </member>
+ <member name="lyricist"
+ value="10"
+ c:identifier="GST_TAG_IMAGE_TYPE_LYRICIST"
+ glib:nick="lyricist">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/tag.h"
+ line="419">Lyricist/text writer</doc>
+ </member>
+ <member name="recording_location"
+ value="11"
+ c:identifier="GST_TAG_IMAGE_TYPE_RECORDING_LOCATION"
+ glib:nick="recording-location">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/tag.h"
+ line="420">Recording location</doc>
+ </member>
+ <member name="during_recording"
+ value="12"
+ c:identifier="GST_TAG_IMAGE_TYPE_DURING_RECORDING"
+ glib:nick="during-recording">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/tag.h"
+ line="421">During recording</doc>
+ </member>
+ <member name="during_performance"
+ value="13"
+ c:identifier="GST_TAG_IMAGE_TYPE_DURING_PERFORMANCE"
+ glib:nick="during-performance">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/tag.h"
+ line="422">During performance</doc>
+ </member>
+ <member name="video_capture"
+ value="14"
+ c:identifier="GST_TAG_IMAGE_TYPE_VIDEO_CAPTURE"
+ glib:nick="video-capture">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/tag.h"
+ line="423">Movie/video screen capture</doc>
+ </member>
+ <member name="fish"
+ value="15"
+ c:identifier="GST_TAG_IMAGE_TYPE_FISH"
+ glib:nick="fish">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/tag.h"
+ line="424">A fish as funny as the ID3v2 spec</doc>
+ </member>
+ <member name="illustration"
+ value="16"
+ c:identifier="GST_TAG_IMAGE_TYPE_ILLUSTRATION"
+ glib:nick="illustration">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/tag.h"
+ line="425">Illustration</doc>
+ </member>
+ <member name="band_artist_logo"
+ value="17"
+ c:identifier="GST_TAG_IMAGE_TYPE_BAND_ARTIST_LOGO"
+ glib:nick="band-artist-logo">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/tag.h"
+ line="426">Band/artist logotype</doc>
+ </member>
+ <member name="publisher_studio_logo"
+ value="18"
+ c:identifier="GST_TAG_IMAGE_TYPE_PUBLISHER_STUDIO_LOGO"
+ glib:nick="publisher-studio-logo">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/tag.h"
+ line="427">Publisher/studio logotype</doc>
+ </member>
+ </enumeration>
+ <bitfield name="TagLicenseFlags"
+ glib:type-name="GstTagLicenseFlags"
+ glib:get-type="gst_tag_license_flags_get_type"
+ c:type="GstTagLicenseFlags">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/tag.h"
+ line="628">See http://creativecommons.org/ns for more information.</doc>
+ <member name="permits_reproduction"
+ value="1"
+ c:identifier="GST_TAG_LICENSE_PERMITS_REPRODUCTION"
+ glib:nick="permits-reproduction">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/tag.h"
+ line="630">making multiple copies
+ is allowed</doc>
+ </member>
+ <member name="permits_distribution"
+ value="2"
+ c:identifier="GST_TAG_LICENSE_PERMITS_DISTRIBUTION"
+ glib:nick="permits-distribution">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/tag.h"
+ line="632">distribution, public display
+ and public performance are allowed</doc>
+ </member>
+ <member name="permits_derivative_works"
+ value="4"
+ c:identifier="GST_TAG_LICENSE_PERMITS_DERIVATIVE_WORKS"
+ glib:nick="permits-derivative-works">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/tag.h"
+ line="634">distribution of derivative
+ works is allowed</doc>
+ </member>
+ <member name="permits_sharing"
+ value="8"
+ c:identifier="GST_TAG_LICENSE_PERMITS_SHARING"
+ glib:nick="permits-sharing">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/tag.h"
+ line="636">commercial derivatives are allowed,
+ but only non-commercial distribution is allowed</doc>
+ </member>
+ <member name="requires_notice"
+ value="256"
+ c:identifier="GST_TAG_LICENSE_REQUIRES_NOTICE"
+ glib:nick="requires-notice">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/tag.h"
+ line="638">copyright and license notices
+ must be kept intact</doc>
+ </member>
+ <member name="requires_attribution"
+ value="512"
+ c:identifier="GST_TAG_LICENSE_REQUIRES_ATTRIBUTION"
+ glib:nick="requires-attribution">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/tag.h"
+ line="640">credit must be given to
+ copyright holder and/or author</doc>
+ </member>
+ <member name="requires_share_alike"
+ value="1024"
+ c:identifier="GST_TAG_LICENSE_REQUIRES_SHARE_ALIKE"
+ glib:nick="requires-share-alike">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/tag.h"
+ line="642">derivative works must be
+ licensed under the same terms or compatible terms as the original work</doc>
+ </member>
+ <member name="requires_source_code"
+ value="2048"
+ c:identifier="GST_TAG_LICENSE_REQUIRES_SOURCE_CODE"
+ glib:nick="requires-source-code">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/tag.h"
+ line="644">source code (the preferred
+ form for making modifications) must be provided when exercising some
+ rights granted by the license</doc>
+ </member>
+ <member name="requires_copyleft"
+ value="4096"
+ c:identifier="GST_TAG_LICENSE_REQUIRES_COPYLEFT"
+ glib:nick="requires-copyleft">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/tag.h"
+ line="647">derivative and combined works
+ must be licensed under specified terms, similar to those of the original
+ work</doc>
+ </member>
+ <member name="requires_lesser_copyleft"
+ value="8192"
+ c:identifier="GST_TAG_LICENSE_REQUIRES_LESSER_COPYLEFT"
+ glib:nick="requires-lesser-copyleft">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/tag.h"
+ line="650">derivative works must be
+ licensed under specified terms, with at least the same conditions as
+ the original work; combinations with the work may be licensed under
+ different terms</doc>
+ </member>
+ <member name="prohibits_commercial_use"
+ value="65536"
+ c:identifier="GST_TAG_LICENSE_PROHIBITS_COMMERCIAL_USE"
+ glib:nick="prohibits-commercial-use">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/tag.h"
+ line="654">exercising rights for
+ commercial purposes is prohibited</doc>
+ </member>
+ <member name="prohibits_high_income_nation_use"
+ value="131072"
+ c:identifier="GST_TAG_LICENSE_PROHIBITS_HIGH_INCOME_NATION_USE"
+ glib:nick="prohibits-high-income-nation-use">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/tag.h"
+ line="656">use in a
+ non-developing country is prohibited</doc>
+ </member>
+ <member name="creative_commons_license"
+ value="16777216"
+ c:identifier="GST_TAG_LICENSE_CREATIVE_COMMONS_LICENSE"
+ glib:nick="creative-commons-license">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/tag.h"
+ line="658">this license was created
+ by the Creative Commons project</doc>
+ </member>
+ <member name="free_software_foundation_license"
+ value="33554432"
+ c:identifier="GST_TAG_LICENSE_FREE_SOFTWARE_FOUNDATION_LICENSE"
+ glib:nick="free-software-foundation-license">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/tag.h"
+ line="660">this license was
+ created by the Free Software Foundation (FSF)</doc>
+ </member>
+ </bitfield>
+ <class name="TagMux"
+ c:symbol-prefix="tag_mux"
+ c:type="GstTagMux"
+ parent="Gst.Element"
+ abstract="1"
+ glib:type-name="GstTagMux"
+ glib:get-type="gst_tag_mux_get_type"
+ glib:type-struct="TagMuxClass">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/gsttagmux.c"
+ line="23">Provides a base class for adding tags at the beginning or end of a
+stream.
+
+## Deriving from GstTagMux
+
+Subclasses have to do the following things:
+
+ * In their base init function, they must add pad templates for the sink
+ pad and the source pad to the element class, describing the media type
+ they accept and output in the caps of the pad template.
+ * In their class init function, they must override the
+ GST_TAG_MUX_CLASS(mux_klass)-&gt;render_start_tag and/or
+ GST_TAG_MUX_CLASS(mux_klass)-&gt;render_end_tag vfuncs and set up a render
+ function.</doc>
+ <source-position filename="gst-libs/gst/tag/gsttagmux.h" line="80"/>
+ <implements name="Gst.TagSetter"/>
+ <virtual-method name="render_end_tag">
+ <source-position filename="gst-libs/gst/tag/gsttagmux.h" line="76"/>
+ <return-value transfer-ownership="full">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="mux" transfer-ownership="none">
+ <type name="TagMux" c:type="GstTagMux*"/>
+ </instance-parameter>
+ <parameter name="tag_list" transfer-ownership="none">
+ <type name="Gst.TagList" c:type="const GstTagList*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="render_start_tag">
+ <source-position filename="gst-libs/gst/tag/gsttagmux.h" line="75"/>
+ <return-value transfer-ownership="full">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="mux" transfer-ownership="none">
+ <type name="TagMux" c:type="GstTagMux*"/>
+ </instance-parameter>
+ <parameter name="tag_list" transfer-ownership="none">
+ <type name="Gst.TagList" c:type="const GstTagList*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <field name="element">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/gsttagmux.h"
+ line="47">parent element</doc>
+ <type name="Gst.Element" c:type="GstElement"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="TagMuxPrivate" c:type="GstTagMuxPrivate*"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="TagMuxClass"
+ c:type="GstTagMuxClass"
+ glib:is-gtype-struct-for="TagMux">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/gsttagmux.h"
+ line="60">The #GstTagMuxClass structure. Subclasses need to override at least one
+of the two render vfuncs.</doc>
+ <source-position filename="gst-libs/gst/tag/gsttagmux.h" line="80"/>
+ <field name="parent_class">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/gsttagmux.h"
+ line="62">the parent class.</doc>
+ <type name="Gst.ElementClass" c:type="GstElementClass"/>
+ </field>
+ <field name="render_start_tag">
+ <callback name="render_start_tag">
+ <source-position filename="gst-libs/gst/tag/gsttagmux.h" line="75"/>
+ <return-value transfer-ownership="full">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <parameter name="mux" transfer-ownership="none">
+ <type name="TagMux" c:type="GstTagMux*"/>
+ </parameter>
+ <parameter name="tag_list" transfer-ownership="none">
+ <type name="Gst.TagList" c:type="const GstTagList*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="render_end_tag">
+ <callback name="render_end_tag">
+ <source-position filename="gst-libs/gst/tag/gsttagmux.h" line="76"/>
+ <return-value transfer-ownership="full">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <parameter name="mux" transfer-ownership="none">
+ <type name="TagMux" c:type="GstTagMux*"/>
+ </parameter>
+ <parameter name="tag_list" transfer-ownership="none">
+ <type name="Gst.TagList" c:type="const GstTagList*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="TagMuxPrivate" c:type="GstTagMuxPrivate" disguised="1">
+ <source-position filename="gst-libs/gst/tag/gsttagmux.h" line="43"/>
+ </record>
+ <interface name="TagXmpWriter"
+ c:symbol-prefix="tag_xmp_writer"
+ c:type="GstTagXmpWriter"
+ glib:type-name="GstTagXmpWriter"
+ glib:get-type="gst_tag_xmp_writer_get_type"
+ glib:type-struct="TagXmpWriterInterface">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/xmpwriter.c"
+ line="20">This interface is implemented by elements that are able to do XMP serialization. Examples for
+such elements are #jifmux and #qtmux.
+
+Applications can use this interface to configure which XMP schemas should be used when serializing
+tags into XMP. Schemas are represented by their names, a full list of the supported schemas can be
+obtained from gst_tag_xmp_list_schemas(). By default, all schemas are used.</doc>
+ <source-position filename="gst-libs/gst/tag/xmpwriter.h" line="42"/>
+ <prerequisite name="Gst.Element"/>
+ <method name="add_all_schemas"
+ c:identifier="gst_tag_xmp_writer_add_all_schemas">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/xmpwriter.c"
+ line="153">Adds all available XMP schemas to the configuration. Meaning that
+all will be used.</doc>
+ <source-position filename="gst-libs/gst/tag/xmpwriter.h" line="48"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="config" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/xmpwriter.c"
+ line="155">a #GstTagXmpWriter</doc>
+ <type name="TagXmpWriter" c:type="GstTagXmpWriter*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="add_schema" c:identifier="gst_tag_xmp_writer_add_schema">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/xmpwriter.c"
+ line="174">Adds @schema to the list schemas</doc>
+ <source-position filename="gst-libs/gst/tag/xmpwriter.h" line="51"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="config" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/xmpwriter.c"
+ line="176">a #GstTagXmpWriter</doc>
+ <type name="TagXmpWriter" c:type="GstTagXmpWriter*"/>
+ </instance-parameter>
+ <parameter name="schema" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/xmpwriter.c"
+ line="177">the schema to be added</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="has_schema" c:identifier="gst_tag_xmp_writer_has_schema">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/xmpwriter.c"
+ line="195">Checks if @schema is going to be used</doc>
+ <source-position filename="gst-libs/gst/tag/xmpwriter.h" line="55"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/xmpwriter.c"
+ line="202">%TRUE if it is going to be used</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="config" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/xmpwriter.c"
+ line="197">a #GstTagXmpWriter</doc>
+ <type name="TagXmpWriter" c:type="GstTagXmpWriter*"/>
+ </instance-parameter>
+ <parameter name="schema" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/xmpwriter.c"
+ line="198">the schema to test</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="remove_all_schemas"
+ c:identifier="gst_tag_xmp_writer_remove_all_schemas">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/xmpwriter.c"
+ line="257">Removes all schemas from the list of schemas to use. Meaning that no
+XMP will be generated.</doc>
+ <source-position filename="gst-libs/gst/tag/xmpwriter.h" line="63"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="config" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/xmpwriter.c"
+ line="259">a #GstTagXmpWriter</doc>
+ <type name="TagXmpWriter" c:type="GstTagXmpWriter*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="remove_schema"
+ c:identifier="gst_tag_xmp_writer_remove_schema">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/xmpwriter.c"
+ line="227">Removes a schema from the list of schemas to use. Nothing is done if
+the schema wasn't in the list</doc>
+ <source-position filename="gst-libs/gst/tag/xmpwriter.h" line="59"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="config" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/xmpwriter.c"
+ line="229">a #GstTagXmpWriter</doc>
+ <type name="TagXmpWriter" c:type="GstTagXmpWriter*"/>
+ </instance-parameter>
+ <parameter name="schema" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/xmpwriter.c"
+ line="230">the schema to remove</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="tag_list_to_xmp_buffer"
+ c:identifier="gst_tag_xmp_writer_tag_list_to_xmp_buffer">
+ <source-position filename="gst-libs/gst/tag/xmpwriter.h" line="66"/>
+ <return-value transfer-ownership="full">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="config" transfer-ownership="none">
+ <type name="TagXmpWriter" c:type="GstTagXmpWriter*"/>
+ </instance-parameter>
+ <parameter name="taglist" transfer-ownership="none">
+ <type name="Gst.TagList" c:type="const GstTagList*"/>
+ </parameter>
+ <parameter name="read_only" transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ </interface>
+ <record name="TagXmpWriterInterface"
+ c:type="GstTagXmpWriterInterface"
+ glib:is-gtype-struct-for="TagXmpWriter">
+ <source-position filename="gst-libs/gst/tag/xmpwriter.h" line="42"/>
+ <field name="parent">
+ <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
+ </field>
+ </record>
+ <docsection name="gsttag">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/tags.c"
+ line="33">Contains additional standardized GStreamer tag definitions for plugins
+and applications, and functions to register them with the GStreamer
+tag system.</doc>
+ </docsection>
+ <docsection name="gsttagexif">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/gstexiftag.c"
+ line="22">Contains utility function to parse #GstTagList&lt;!-- --&gt;s from exif
+buffers and to create exif buffers from #GstTagList&lt;!-- --&gt;s
+
+Note that next IFD fields on the created exif buffers are set to 0.</doc>
+ </docsection>
+ <docsection name="gsttagid3">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/gstid3tag.c"
+ line="22">Contains various utility functions for plugins to parse or create
+ID3 tags and map ID3v2 identifiers to and from GStreamer identifiers.</doc>
+ </docsection>
+ <docsection name="gsttaglanguagecodes">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/lang.c"
+ line="20">Provides helper functions to convert between the various ISO-639 language
+codes, and to map language codes to language names.</doc>
+ </docsection>
+ <docsection name="gsttaglicenses">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/licenses.c"
+ line="20">Provides information about Creative Commons media licenses, which are
+often expressed in media files as a license URI in tags. Also useful
+for applications creating media files, in case the user wants to license
+the content under a Creative Commons license.</doc>
+ </docsection>
+ <docsection name="gsttagvorbis">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/gstvorbistag.c"
+ line="22">Contains various utility functions for plugins to parse or create
+vorbiscomments and map them to and from #GstTagList&lt;!-- --&gt;s.</doc>
+ </docsection>
+ <docsection name="gsttagxmp">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/gstxmptag.c"
+ line="23">Contains various utility functions for plugins to parse or create
+xmp packets and map them to and from #GstTagList&lt;!-- --&gt;s.
+
+Please note that the xmp parser is very lightweight and not strict at all.</doc>
+ </docsection>
+ <function name="tag_check_language_code"
+ c:identifier="gst_tag_check_language_code">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/lang.c"
+ line="486">Check if a given string contains a known ISO 639 language code.
+
+This is useful in situations where it's not clear whether a given
+string is a language code (which should be put into a #GST_TAG_LANGUAGE_CODE
+tag) or a free-form language name descriptor (which should be put into a
+#GST_TAG_LANGUAGE_NAME tag instead).</doc>
+ <source-position filename="gst-libs/gst/tag/tag.h" line="614"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/lang.c"
+ line="497">TRUE if the two- or three-letter language code in @lang_code
+ is a valid ISO-639 language code.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="lang_code" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/lang.c"
+ line="488">ISO-639 language code (e.g. "deu" or "ger" or "de")</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="tag_freeform_string_to_utf8"
+ c:identifier="gst_tag_freeform_string_to_utf8">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/tags.c"
+ line="317">Convenience function to read a string with unknown character encoding. If
+the string is already in UTF-8 encoding, it will be returned right away.
+If not it tries to detect byte-order-mark for UTF-16/32 cases and use that.
+Otherwise, the environment will be searched for a number of environment
+variables (whose names are specified in the NULL-terminated string array
+@env_vars) containing a list of character encodings to try/use. If none
+are specified, the current locale will be tried. If that also doesn't work,
+WINDOWS-1252/ISO-8859-1 is assumed (which will almost always succeed).</doc>
+ <source-position filename="gst-libs/gst/tag/tag.h" line="581"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/tags.c"
+ line="333">a newly-allocated string in UTF-8 encoding, or NULL</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/tags.c"
+ line="319">string data</doc>
+ <array length="1" zero-terminated="0" c:type="const gchar*">
+ <type name="gchar"/>
+ </array>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/tags.c"
+ line="320">length of string data, or -1 if the string is NUL-terminated</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="env_vars" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/tags.c"
+ line="321">
+ a NULL-terminated string array of environment variable names, or NULL</doc>
+ <array c:type="const gchar**">
+ <type name="utf8" c:type="gchar*"/>
+ </array>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="tag_from_id3_tag" c:identifier="gst_tag_from_id3_tag">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/gstid3tag.c"
+ line="119">Looks up the GStreamer tag for a ID3v2 tag.</doc>
+ <source-position filename="gst-libs/gst/tag/tag.h" line="518"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/gstid3tag.c"
+ line="125">The corresponding GStreamer tag or NULL if none exists.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="id3_tag" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/gstid3tag.c"
+ line="121">ID3v2 tag to convert to GStreamer tag</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="tag_from_id3_user_tag"
+ c:identifier="gst_tag_from_id3_user_tag">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/gstid3tag.c"
+ line="185">Looks up the GStreamer tag for an ID3v2 user tag (e.g. description in
+TXXX frame or owner in UFID frame).</doc>
+ <source-position filename="gst-libs/gst/tag/tag.h" line="521"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/gstid3tag.c"
+ line="193">The corresponding GStreamer tag or NULL if none exists.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/gstid3tag.c"
+ line="187">the type of ID3v2 user tag (e.g. "TXXX" or "UDIF")</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="id3_user_tag" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/gstid3tag.c"
+ line="188">ID3v2 user tag to convert to GStreamer tag</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="tag_from_vorbis_tag"
+ c:identifier="gst_tag_from_vorbis_tag">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/gstvorbistag.c"
+ line="114">Looks up the GStreamer tag for a vorbiscomment tag.</doc>
+ <source-position filename="gst-libs/gst/tag/tag.h" line="467"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/gstvorbistag.c"
+ line="120">The corresponding GStreamer tag or NULL if none exists.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="vorbis_tag" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/gstvorbistag.c"
+ line="116">vorbiscomment tag to convert to GStreamer tag</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="tag_get_id3v2_tag_size"
+ c:identifier="gst_tag_get_id3v2_tag_size">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/id3v2.c"
+ line="85">Determines size of an ID3v2 tag on buffer containing at least ID3v2 header,
+i.e. at least #GST_TAG_ID3V2_HEADER_SIZE (10) bytes;</doc>
+ <source-position filename="gst-libs/gst/tag/tag.h" line="537"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/id3v2.c"
+ line="92">Size of tag, or 0 if header is invalid or too small.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/id3v2.c"
+ line="87">buffer holding ID3v2 tag (or at least the start of one)</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function-macro name="tag_get_language_code"
+ c:identifier="gst_tag_get_language_code"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/tag.h"
+ line="616">Convenience macro wrapping gst_tag_get_language_code_iso_639_1().</doc>
+ <source-position filename="gst-libs/gst/tag/tag.h" line="622"/>
+ <parameters>
+ <parameter name="lang_code">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/tag.h"
+ line="618">ISO-639 language code (e.g. "deu" or "ger" or "de")</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function name="tag_get_language_code_iso_639_1"
+ c:identifier="gst_tag_get_language_code_iso_639_1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/lang.c"
+ line="338">Returns two-letter ISO-639-1 language code given a three-letter ISO-639-2
+language code or two-letter ISO-639-1 language code (both are accepted for
+convenience).
+
+Language codes are case-sensitive and expected to be lower case.</doc>
+ <source-position filename="gst-libs/gst/tag/tag.h" line="605"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/lang.c"
+ line="348">two-letter ISO-639-1 language code string that maps to @lang_code,
+ or NULL if no mapping is known. The returned string must not be
+ modified or freed.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="lang_code" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/lang.c"
+ line="340">ISO-639 language code (e.g. "deu" or "ger" or "de")</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="tag_get_language_code_iso_639_2B"
+ c:identifier="gst_tag_get_language_code_iso_639_2B">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/lang.c"
+ line="452">Returns three-letter ISO-639-2 "bibliographic" language code given a
+two-letter ISO-639-1 language code or a three-letter ISO-639-2 language
+code (both are accepted for convenience).
+
+The "bibliographic" code is derived from the English name of the language
+(e.g. "ger" for German instead of "de" or "deu"). In most scenarios, the
+"terminological" codes are preferred.
+
+Language codes are case-sensitive and expected to be lower case.</doc>
+ <source-position filename="gst-libs/gst/tag/tag.h" line="608"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/lang.c"
+ line="466">three-letter ISO-639-2 language code string that maps to @lang_code,
+ or NULL if no mapping is known. The returned string must not be
+ modified or freed.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="lang_code" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/lang.c"
+ line="454">ISO-639 language code (e.g. "deu" or "ger" or "de")</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="tag_get_language_code_iso_639_2T"
+ c:identifier="gst_tag_get_language_code_iso_639_2T">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/lang.c"
+ line="418">Returns three-letter ISO-639-2 "terminological" language code given a
+two-letter ISO-639-1 language code or a three-letter ISO-639-2 language
+code (both are accepted for convenience).
+
+The "terminological" code is derived from the local name of the language
+(e.g. "deu" for German instead of "ger"). In most scenarios, the
+"terminological" codes are preferred over the "bibliographic" ones.
+
+Language codes are case-sensitive and expected to be lower case.</doc>
+ <source-position filename="gst-libs/gst/tag/tag.h" line="611"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/lang.c"
+ line="432">three-letter ISO-639-2 language code string that maps to @lang_code,
+ or NULL if no mapping is known. The returned string must not be
+ modified or freed.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="lang_code" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/lang.c"
+ line="420">ISO-639 language code (e.g. "deu" or "ger" or "de")</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="tag_get_language_codes"
+ c:identifier="gst_tag_get_language_codes">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/lang.c"
+ line="259">Returns a list of known language codes (in form of two-letter ISO-639-1
+codes). This is useful for UIs to build a list of available languages for
+tagging purposes (e.g. to tag an audio track appropriately in a video or
+audio editor).</doc>
+ <source-position filename="gst-libs/gst/tag/tag.h" line="599"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/lang.c"
+ line="267">NULL-terminated string array with two-letter
+ language codes. Free with g_strfreev() when no longer needed.</doc>
+ <array c:type="gchar**">
+ <type name="utf8"/>
+ </array>
+ </return-value>
+ </function>
+ <function name="tag_get_language_name"
+ c:identifier="gst_tag_get_language_name">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/lang.c"
+ line="304">Returns the name of the language given an ISO-639 language code as
+found in a GST_TAG_LANGUAGE_CODE tag. The name will be translated
+according to the current locale (if the library was built against the
+iso-codes package, otherwise the English name will be returned).
+
+Language codes are case-sensitive and expected to be lower case.</doc>
+ <source-position filename="gst-libs/gst/tag/tag.h" line="602"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/lang.c"
+ line="315">language name in UTF-8 format, or NULL if @language_code could
+ not be mapped to a language name. The returned string must not be
+ modified and does not need to freed; it will stay valid until the
+ application is terminated.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="language_code" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/lang.c"
+ line="306">two or three-letter ISO-639 language code</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="tag_get_license_description"
+ c:identifier="gst_tag_get_license_description">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/licenses.c"
+ line="412">Get the description of a license, which is a translated description
+of the license's main features.</doc>
+ <source-position filename="gst-libs/gst/tag/tag.h" line="701"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/licenses.c"
+ line="420">the description of the license, or NULL if the license is unknown
+ or a description is not available.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="license_ref" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/licenses.c"
+ line="414">a license reference string in form of a URI,
+ e.g. "http://creativecommons.org/licenses/by-nc-nd/2.0/"</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="tag_get_license_flags"
+ c:identifier="gst_tag_get_license_flags">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/licenses.c"
+ line="320">Get the flags of a license, which describe most of the features of
+a license in their most general form.</doc>
+ <source-position filename="gst-libs/gst/tag/tag.h" line="689"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/licenses.c"
+ line="328">the flags of the license, or 0 if the license is unknown</doc>
+ <type name="TagLicenseFlags" c:type="GstTagLicenseFlags"/>
+ </return-value>
+ <parameters>
+ <parameter name="license_ref" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/licenses.c"
+ line="322">a license reference string in form of a URI,
+ e.g. "http://creativecommons.org/licenses/by-nc-nd/2.0/"</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="tag_get_license_jurisdiction"
+ c:identifier="gst_tag_get_license_jurisdiction">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/licenses.c"
+ line="438">Get the jurisdiction code of a license. This is usually a two-letter
+ISO 3166-1 alpha-2 code, but there is also the special case of Scotland,
+for which no code exists and which is thus represented as "scotland".
+
+Known jurisdictions: ar, at, au, be, bg, br, ca, ch, cl, cn, co, de,
+dk, es, fi, fr, hr, hu, il, in, it, jp, kr, mk, mt, mx, my, nl, pe, pl,
+pt, scotland, se, si, tw, uk, us, za.</doc>
+ <source-position filename="gst-libs/gst/tag/tag.h" line="704"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/licenses.c"
+ line="451">the jurisdiction code of the license, or NULL if the license is
+ unknown or is not specific to a particular jurisdiction.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="license_ref" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/licenses.c"
+ line="440">a license reference string in form of a URI,
+ e.g. "http://creativecommons.org/licenses/by-nc-nd/2.0/"</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="tag_get_license_nick"
+ c:identifier="gst_tag_get_license_nick">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/licenses.c"
+ line="341">Get the nick name of a license, which is a short (untranslated) string
+such as e.g. "CC BY-NC-ND 2.0 UK".</doc>
+ <source-position filename="gst-libs/gst/tag/tag.h" line="692"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/licenses.c"
+ line="349">the nick name of the license, or NULL if the license is unknown</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="license_ref" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/licenses.c"
+ line="343">a license reference string in form of a URI,
+ e.g. "http://creativecommons.org/licenses/by-nc-nd/2.0/"</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="tag_get_license_title"
+ c:identifier="gst_tag_get_license_title">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/licenses.c"
+ line="386">Get the title of a license, which is a short translated description
+of the license's features (generally not very pretty though).</doc>
+ <source-position filename="gst-libs/gst/tag/tag.h" line="695"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/licenses.c"
+ line="394">the title of the license, or NULL if the license is unknown or
+ no title is available.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="license_ref" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/licenses.c"
+ line="388">a license reference string in form of a URI,
+ e.g. "http://creativecommons.org/licenses/by-nc-nd/2.0/"</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="tag_get_license_version"
+ c:identifier="gst_tag_get_license_version">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/licenses.c"
+ line="466">Get the version of a license.</doc>
+ <source-position filename="gst-libs/gst/tag/tag.h" line="698"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/licenses.c"
+ line="473">the version of the license, or NULL if the license is not known or
+ has no version</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="license_ref" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/licenses.c"
+ line="468">a license reference string in form of a URI,
+ e.g. "http://creativecommons.org/licenses/by-nc-nd/2.0/"</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="tag_get_licenses" c:identifier="gst_tag_get_licenses">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/licenses.c"
+ line="197">Returns a list of known license references (in form of URIs). This is
+useful for UIs to build a list of available licenses for tagging purposes
+(e.g. to tag an audio track appropriately in a video or audio editor, or
+an image in a camera application).</doc>
+ <source-position filename="gst-libs/gst/tag/tag.h" line="686"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/licenses.c"
+ line="205">NULL-terminated array of license strings. Free
+ with g_strfreev() when no longer needed.</doc>
+ <array c:type="gchar**">
+ <type name="utf8"/>
+ </array>
+ </return-value>
+ </function>
+ <function name="tag_id3_genre_count"
+ c:identifier="gst_tag_id3_genre_count">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/gstid3tag.c"
+ line="311">Gets the number of ID3v1 genres that can be identified. Winamp genres are
+included.</doc>
+ <source-position filename="gst-libs/gst/tag/tag.h" line="509"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/gstid3tag.c"
+ line="317">the number of ID3v1 genres that can be identified</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ </function>
+ <function name="tag_id3_genre_get" c:identifier="gst_tag_id3_genre_get">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/gstid3tag.c"
+ line="325">Gets the ID3v1 genre name for a given ID.</doc>
+ <source-position filename="gst-libs/gst/tag/tag.h" line="512"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/gstid3tag.c"
+ line="331">the genre or NULL if no genre is associated with that ID.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="id" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/gstid3tag.c"
+ line="327">ID of genre to query</doc>
+ <type name="guint" c:type="const guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="tag_image_data_to_image_sample"
+ c:identifier="gst_tag_image_data_to_image_sample">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/tags.c"
+ line="488">Helper function for tag-reading plugins to create a #GstSample suitable to
+add to a #GstTagList as an image tag (such as #GST_TAG_IMAGE or
+#GST_TAG_PREVIEW_IMAGE) from the encoded image data and an (optional) image
+type.
+
+Background: cover art and other images in tags are usually stored as a
+blob of binary image data, often accompanied by a MIME type or some other
+content type string (e.g. 'png', 'jpeg', 'jpg'). Sometimes there is also an
+'image type' to indicate what kind of image this is (e.g. front cover,
+back cover, artist, etc.). The image data may also be an URI to the image
+rather than the image itself.
+
+In GStreamer, image tags are #GstSample&lt;!-- --&gt;s containing the raw image
+data, with the sample caps describing the content type of the image
+(e.g. image/jpeg, image/png, text/uri-list). The sample info may contain
+an additional 'image-type' field of #GstTagImageType to describe
+the type of image (front cover, back cover etc.). #GST_TAG_PREVIEW_IMAGE
+tags should not carry an image type, their type is already indicated via
+the special tag name.
+
+This function will do various checks and typefind the encoded image
+data (we can't trust the declared mime type).</doc>
+ <source-position filename="gst-libs/gst/tag/tag.h" line="586"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/tags.c"
+ line="519">a newly-allocated image sample for use in tag lists, or NULL</doc>
+ <type name="Gst.Sample" c:type="GstSample*"/>
+ </return-value>
+ <parameters>
+ <parameter name="image_data" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/tags.c"
+ line="490">the (encoded) image</doc>
+ <array length="1" zero-terminated="0" c:type="const guint8*">
+ <type name="guint8" c:type="guint8"/>
+ </array>
+ </parameter>
+ <parameter name="image_data_len" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/tags.c"
+ line="491">the length of the encoded image data at @image_data</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="image_type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/tags.c"
+ line="492">type of the image, or #GST_TAG_IMAGE_TYPE_UNDEFINED. Pass
+ #GST_TAG_IMAGE_TYPE_NONE if no image type should be set at all (e.g.
+ for preview images)</doc>
+ <type name="TagImageType" c:type="GstTagImageType"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="tag_list_add_id3_image"
+ c:identifier="gst_tag_list_add_id3_image">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/gstid3tag.c"
+ line="345">Adds an image from an ID3 APIC frame (or similar, such as used in FLAC)
+to the given tag list. Also see gst_tag_image_data_to_image_sample() for
+more information on image tags in GStreamer.</doc>
+ <source-position filename="gst-libs/gst/tag/tag.h" line="528"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/gstid3tag.c"
+ line="357">%TRUE if the image was processed, otherwise %FALSE</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="tag_list" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/gstid3tag.c"
+ line="347">a tag list</doc>
+ <type name="Gst.TagList" c:type="GstTagList*"/>
+ </parameter>
+ <parameter name="image_data" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/gstid3tag.c"
+ line="348">the (encoded) image</doc>
+ <array length="2" zero-terminated="0" c:type="const guint8*">
+ <type name="guint8" c:type="guint8"/>
+ </array>
+ </parameter>
+ <parameter name="image_data_len" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/gstid3tag.c"
+ line="349">the length of the encoded image data at @image_data</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="id3_picture_type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/gstid3tag.c"
+ line="350">picture type as per the ID3 (v2.4.0) specification for
+ the APIC frame (0 = unknown/other)</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="tag_list_from_exif_buffer"
+ c:identifier="gst_tag_list_from_exif_buffer">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/gstexiftag.c"
+ line="1941">Parses the IFD and IFD tags data contained in the buffer and puts it
+on a taglist. The base_offset is used to subtract from the offset in
+the tag entries and be able to get the offset relative to the buffer
+start</doc>
+ <source-position filename="gst-libs/gst/tag/tag.h" line="563"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/gstexiftag.c"
+ line="1952">The parsed taglist</doc>
+ <type name="Gst.TagList" c:type="GstTagList*"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/gstexiftag.c"
+ line="1943">The exif buffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="byte_order" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/gstexiftag.c"
+ line="1944">byte order of the data</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="base_offset" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/gstexiftag.c"
+ line="1945">Offset from the tiff header to this buffer</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="tag_list_from_exif_buffer_with_tiff_header"
+ c:identifier="gst_tag_list_from_exif_buffer_with_tiff_header">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/gstexiftag.c"
+ line="1977">Parses the exif tags starting with a tiff header structure.</doc>
+ <source-position filename="gst-libs/gst/tag/tag.h" line="568"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/gstexiftag.c"
+ line="1983">The taglist</doc>
+ <type name="Gst.TagList" c:type="GstTagList*"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/gstexiftag.c"
+ line="1979">The exif buffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="tag_list_from_id3v2_tag"
+ c:identifier="gst_tag_list_from_id3v2_tag">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/id3v2.c"
+ line="179">Creates a new tag list that contains the information parsed out of a
+ID3 tag.</doc>
+ <source-position filename="gst-libs/gst/tag/tag.h" line="534"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/id3v2.c"
+ line="186">A new #GstTagList with all tags that could be extracted from the
+ given vorbiscomment buffer or NULL on error.</doc>
+ <type name="Gst.TagList" c:type="GstTagList*"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/id3v2.c"
+ line="181">buffer to convert</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="tag_list_from_vorbiscomment"
+ c:identifier="gst_tag_list_from_vorbiscomment">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/gstvorbistag.c"
+ line="408">Creates a new tag list that contains the information parsed out of a
+vorbiscomment packet.</doc>
+ <source-position filename="gst-libs/gst/tag/tag.h" line="484"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/gstvorbistag.c"
+ line="420">A new #GstTagList with all tags that could be extracted from the
+ given vorbiscomment buffer or NULL on error.</doc>
+ <type name="Gst.TagList" c:type="GstTagList*"/>
+ </return-value>
+ <parameters>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/gstvorbistag.c"
+ line="410">data to convert</doc>
+ <array length="1" zero-terminated="0" c:type="const guint8*">
+ <type name="guint8" c:type="guint8"/>
+ </array>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/gstvorbistag.c"
+ line="411">size of @data</doc>
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ <parameter name="id_data" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/gstvorbistag.c"
+ line="412">identification data at start of stream</doc>
+ <array length="3" zero-terminated="0" c:type="const guint8*">
+ <type name="guint8" c:type="guint8"/>
+ </array>
+ </parameter>
+ <parameter name="id_data_length" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/gstvorbistag.c"
+ line="413">length of identification data</doc>
+ <type name="guint" c:type="const guint"/>
+ </parameter>
+ <parameter name="vendor_string"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/gstvorbistag.c"
+ line="414">pointer to a string that should take the
+ vendor string of this vorbis comment or NULL if you don't need it.</doc>
+ <type name="utf8" c:type="gchar**"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="tag_list_from_vorbiscomment_buffer"
+ c:identifier="gst_tag_list_from_vorbiscomment_buffer">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/gstvorbistag.c"
+ line="505">Creates a new tag list that contains the information parsed out of a
+vorbiscomment packet.</doc>
+ <source-position filename="gst-libs/gst/tag/tag.h" line="491"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/gstvorbistag.c"
+ line="516">A new #GstTagList with all tags that could be extracted from the
+ given vorbiscomment buffer or NULL on error.</doc>
+ <type name="Gst.TagList" c:type="GstTagList*"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/gstvorbistag.c"
+ line="507">buffer to convert</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="id_data" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/gstvorbistag.c"
+ line="508">identification data at start of stream</doc>
+ <array length="2" zero-terminated="0" c:type="const guint8*">
+ <type name="guint8" c:type="guint8"/>
+ </array>
+ </parameter>
+ <parameter name="id_data_length" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/gstvorbistag.c"
+ line="509">length of identification data</doc>
+ <type name="guint" c:type="const guint"/>
+ </parameter>
+ <parameter name="vendor_string"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/gstvorbistag.c"
+ line="510">pointer to a string that should take the
+ vendor string of this vorbis comment or NULL if you don't need it.</doc>
+ <type name="utf8" c:type="gchar**"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="tag_list_from_xmp_buffer"
+ c:identifier="gst_tag_list_from_xmp_buffer">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/gstxmptag.c"
+ line="1170">Parse a xmp packet into a taglist.</doc>
+ <source-position filename="gst-libs/gst/tag/tag.h" line="542"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/gstxmptag.c"
+ line="1176">new taglist or %NULL, free the list when done</doc>
+ <type name="Gst.TagList" c:type="GstTagList*"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/gstxmptag.c"
+ line="1172">buffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="tag_list_new_from_id3v1"
+ c:identifier="gst_tag_list_new_from_id3v1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/gstid3tag.c"
+ line="261">Parses the data containing an ID3v1 tag and returns a #GstTagList from the
+parsed data.</doc>
+ <source-position filename="gst-libs/gst/tag/tag.h" line="515"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/gstid3tag.c"
+ line="268">A new tag list or NULL if the data was not an ID3v1 tag.</doc>
+ <type name="Gst.TagList" c:type="GstTagList*"/>
+ </return-value>
+ <parameters>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/gstid3tag.c"
+ line="263">128 bytes of data containing the ID3v1 tag</doc>
+ <array zero-terminated="0" c:type="const guint8*" fixed-size="128">
+ <type name="guint8" c:type="guint8"/>
+ </array>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="tag_list_to_exif_buffer"
+ c:identifier="gst_tag_list_to_exif_buffer">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/gstexiftag.c"
+ line="1858">Formats the tags in taglist on exif format. The resulting buffer contains
+the tags IFD and is followed by the data pointed by the tag entries.</doc>
+ <source-position filename="gst-libs/gst/tag/tag.h" line="555"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/gstexiftag.c"
+ line="1867">A GstBuffer containing the tag entries followed by the tag data</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <parameter name="taglist" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/gstexiftag.c"
+ line="1860">The taglist</doc>
+ <type name="Gst.TagList" c:type="const GstTagList*"/>
+ </parameter>
+ <parameter name="byte_order" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/gstexiftag.c"
+ line="1861">byte order used in writing (G_LITTLE_ENDIAN or G_BIG_ENDIAN)</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="base_offset" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/gstexiftag.c"
+ line="1862">Offset from the tiff header first byte</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="tag_list_to_exif_buffer_with_tiff_header"
+ c:identifier="gst_tag_list_to_exif_buffer_with_tiff_header">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/gstexiftag.c"
+ line="1876">Formats the tags in taglist into exif structure, a tiff header
+is put in the beginning of the buffer.</doc>
+ <source-position filename="gst-libs/gst/tag/tag.h" line="560"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/gstexiftag.c"
+ line="1883">A GstBuffer containing the data</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <parameter name="taglist" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/gstexiftag.c"
+ line="1878">The taglist</doc>
+ <type name="Gst.TagList" c:type="const GstTagList*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="tag_list_to_vorbiscomment_buffer"
+ c:identifier="gst_tag_list_to_vorbiscomment_buffer">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/gstvorbistag.c"
+ line="781">Creates a new vorbiscomment buffer from a tag list.</doc>
+ <source-position filename="gst-libs/gst/tag/tag.h" line="497"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/gstvorbistag.c"
+ line="790">A new #GstBuffer containing a vorbiscomment buffer with all tags
+ that could be converted from the given tag list.</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <parameter name="list" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/gstvorbistag.c"
+ line="783">tag list to convert</doc>
+ <type name="Gst.TagList" c:type="const GstTagList*"/>
+ </parameter>
+ <parameter name="id_data" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/gstvorbistag.c"
+ line="784">identification data at start of stream</doc>
+ <array length="2" zero-terminated="0" c:type="const guint8*">
+ <type name="guint8" c:type="guint8"/>
+ </array>
+ </parameter>
+ <parameter name="id_data_length" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/gstvorbistag.c"
+ line="785">length of identification data, may be 0 if @id_data is NULL</doc>
+ <type name="guint" c:type="const guint"/>
+ </parameter>
+ <parameter name="vendor_string"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/gstvorbistag.c"
+ line="786">string that describes the vendor string or NULL</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="tag_list_to_xmp_buffer"
+ c:identifier="gst_tag_list_to_xmp_buffer">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/gstxmptag.c"
+ line="1697">Formats a taglist as a xmp packet using only the selected
+schemas. An empty list (%NULL) means that all schemas should
+be used</doc>
+ <source-position filename="gst-libs/gst/tag/tag.h" line="545"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/gstxmptag.c"
+ line="1708">new buffer or %NULL, unref the buffer when done</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <parameter name="list" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/gstxmptag.c"
+ line="1699">tags</doc>
+ <type name="Gst.TagList" c:type="const GstTagList*"/>
+ </parameter>
+ <parameter name="read_only" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/gstxmptag.c"
+ line="1700">does the container forbid inplace editing</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ <parameter name="schemas" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/gstxmptag.c"
+ line="1701">
+ %NULL terminated array of schemas to be used on serialization</doc>
+ <array c:type="const gchar**">
+ <type name="utf8" c:type="gchar*"/>
+ </array>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="tag_parse_extended_comment"
+ c:identifier="gst_tag_parse_extended_comment">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/tags.c"
+ line="253">Convenience function to parse a GST_TAG_EXTENDED_COMMENT string and
+separate it into its components.
+
+If successful, @key, @lang and/or @value will be set to newly allocated
+strings that you need to free with g_free() when done. @key and @lang
+may also be set to NULL by this function if there is no key or no language
+code in the extended comment string.</doc>
+ <source-position filename="gst-libs/gst/tag/tag.h" line="574"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/tags.c"
+ line="271">TRUE if the string could be parsed, otherwise FALSE</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="ext_comment" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/tags.c"
+ line="255">an extended comment string, see #GST_TAG_EXTENDED_COMMENT</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="key"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ nullable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/tags.c"
+ line="256">
+ return location for the comment description key, or NULL</doc>
+ <type name="utf8" c:type="gchar**"/>
+ </parameter>
+ <parameter name="lang"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ nullable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/tags.c"
+ line="258">
+ return location for the comment ISO-639 language code, or NULL</doc>
+ <type name="utf8" c:type="gchar**"/>
+ </parameter>
+ <parameter name="value"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/tags.c"
+ line="260">return location for the actual comment string, or NULL</doc>
+ <type name="utf8" c:type="gchar**"/>
+ </parameter>
+ <parameter name="fail_if_no_key" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/tags.c"
+ line="261">whether to fail if strings are not in key=value form</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="tag_register_musicbrainz_tags"
+ c:identifier="gst_tag_register_musicbrainz_tags">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/tags.c"
+ line="224">Registers additional musicbrainz-specific tags with the GStreamer tag
+system. Plugins and applications that use these tags should call this
+function before using them. Can be called multiple times.</doc>
+ <source-position filename="gst-libs/gst/tag/tag.h" line="593"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </function>
+ <function name="tag_to_id3_tag" c:identifier="gst_tag_to_id3_tag">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/gstid3tag.c"
+ line="219">Looks up the ID3v2 tag for a GStreamer tag.</doc>
+ <source-position filename="gst-libs/gst/tag/tag.h" line="525"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/gstid3tag.c"
+ line="225">The corresponding ID3v2 tag or NULL if none exists.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="gst_tag" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/gstid3tag.c"
+ line="221">GStreamer tag to convert to vorbiscomment tag</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="tag_to_vorbis_comments"
+ c:identifier="gst_tag_to_vorbis_comments">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/gstvorbistag.c"
+ line="644">Creates a new tag list that contains the information parsed out of a
+vorbiscomment packet.</doc>
+ <source-position filename="gst-libs/gst/tag/tag.h" line="478"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/gstvorbistag.c"
+ line="652">A #GList of newly-allocated
+ key=value strings. Free with g_list_foreach (list, (GFunc) g_free, NULL)
+ plus g_list_free (list)</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="utf8"/>
+ </type>
+ </return-value>
+ <parameters>
+ <parameter name="list" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/gstvorbistag.c"
+ line="646">a #GstTagList</doc>
+ <type name="Gst.TagList" c:type="const GstTagList*"/>
+ </parameter>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/gstvorbistag.c"
+ line="647">a GStreamer tag identifier, such as #GST_TAG_ARTIST</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="tag_to_vorbis_tag" c:identifier="gst_tag_to_vorbis_tag">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/gstvorbistag.c"
+ line="143">Looks up the vorbiscomment tag for a GStreamer tag.</doc>
+ <source-position filename="gst-libs/gst/tag/tag.h" line="470"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/gstvorbistag.c"
+ line="149">The corresponding vorbiscomment tag or NULL if none exists.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="gst_tag" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/gstvorbistag.c"
+ line="145">GStreamer tag to convert to vorbiscomment tag</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="tag_xmp_list_schemas"
+ c:identifier="gst_tag_xmp_list_schemas">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/gstxmptag.c"
+ line="77">Gets the list of supported schemas in the xmp lib</doc>
+ <source-position filename="gst-libs/gst/tag/tag.h" line="550"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/gstxmptag.c"
+ line="82">a %NULL terminated array of strings with the
+ schema names</doc>
+ <array c:type="const gchar**">
+ <type name="utf8"/>
+ </array>
+ </return-value>
+ </function>
+ <function name="vorbis_tag_add" c:identifier="gst_vorbis_tag_add">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/gstvorbistag.c"
+ line="170">Convenience function using gst_tag_from_vorbis_tag(), parsing
+a vorbis comment string into the right type and adding it to the
+given taglist @list.
+
+Unknown vorbiscomment tags will be added to the tag list in form
+of a #GST_TAG_EXTENDED_COMMENT.</doc>
+ <source-position filename="gst-libs/gst/tag/tag.h" line="473"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="list" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/gstvorbistag.c"
+ line="172">a #GstTagList</doc>
+ <type name="Gst.TagList" c:type="GstTagList*"/>
+ </parameter>
+ <parameter name="tag" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/gstvorbistag.c"
+ line="173">a vorbiscomment tag string (key in key=value), must be valid UTF-8</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/tag/gstvorbistag.c"
+ line="174">a vorbiscomment value string (value in key=value), must be valid UTF-8</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ </namespace>
+</repository>
diff --git a/subprojects/gstreamer-sharp/girs/GstVideo-1.0.gir b/subprojects/gstreamer-sharp/girs/GstVideo-1.0.gir
new file mode 100644
index 0000000000..1a579da007
--- /dev/null
+++ b/subprojects/gstreamer-sharp/girs/GstVideo-1.0.gir
@@ -0,0 +1,25578 @@
+<?xml version="1.0"?>
+<!-- This file was automatically generated from C sources - DO NOT EDIT!
+To affect the contents of this file, edit the original C definitions,
+and/or use gtk-doc annotations. -->
+<repository version="1.2"
+ xmlns="http://www.gtk.org/introspection/core/1.0"
+ xmlns:c="http://www.gtk.org/introspection/c/1.0"
+ xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
+ <include name="Gst" version="1.0"/>
+ <include name="GstBase" version="1.0"/>
+ <package name="gstreamer-video-1.0"/>
+ <c:include name="gst/video/video.h"/>
+ <namespace name="GstVideo"
+ version="1.0"
+ shared-library="libgstvideo-1.0.so.0"
+ c:identifier-prefixes="Gst"
+ c:symbol-prefixes="gst">
+ <constant name="BUFFER_POOL_OPTION_VIDEO_AFFINE_TRANSFORMATION_META"
+ value="GstBufferPoolOptionVideoAffineTransformation"
+ c:type="GST_BUFFER_POOL_OPTION_VIDEO_AFFINE_TRANSFORMATION_META">
+ <source-position filename="gst-libs/gst/video/gstvideoaffinetransformationmeta.h"
+ line="37"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="BUFFER_POOL_OPTION_VIDEO_ALIGNMENT"
+ value="GstBufferPoolOptionVideoAlignment"
+ c:type="GST_BUFFER_POOL_OPTION_VIDEO_ALIGNMENT">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideopool.h"
+ line="37">A bufferpool option to enable extra padding. When a bufferpool supports this
+option, gst_buffer_pool_config_set_video_alignment() can be called.
+
+When this option is enabled on the bufferpool,
+#GST_BUFFER_POOL_OPTION_VIDEO_META should also be enabled.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideopool.h" line="46"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="BUFFER_POOL_OPTION_VIDEO_GL_TEXTURE_UPLOAD_META"
+ value="GstBufferPoolOptionVideoGLTextureUploadMeta"
+ c:type="GST_BUFFER_POOL_OPTION_VIDEO_GL_TEXTURE_UPLOAD_META"
+ version="1.2.2">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.h"
+ line="238">An option that can be activated on a bufferpool to request gl texture upload
+meta on buffers from the pool.
+
+When this option is enabled on the bufferpool,
+@GST_BUFFER_POOL_OPTION_VIDEO_META should also be enabled.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideometa.h"
+ line="249"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="BUFFER_POOL_OPTION_VIDEO_META"
+ value="GstBufferPoolOptionVideoMeta"
+ c:type="GST_BUFFER_POOL_OPTION_VIDEO_META">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideopool.h"
+ line="29">An option that can be activated on bufferpool to request video metadata
+on buffers from the pool.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideopool.h" line="35"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="CAPS_FEATURE_FORMAT_INTERLACED"
+ value="format:Interlaced"
+ c:type="GST_CAPS_FEATURE_FORMAT_INTERLACED"
+ version="1.16.">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.h"
+ line="33">Name of the caps feature indicating that the stream is interlaced.
+
+Currently it is only used for video with 'interlace-mode=alternate'
+to ensure backwards compatibility for this new mode.
+In this mode each buffer carries a single field of interlaced video.
+@GST_VIDEO_BUFFER_FLAG_TOP_FIELD and @GST_VIDEO_BUFFER_FLAG_BOTTOM_FIELD
+indicate whether the buffer carries a top or bottom field. The order of
+buffers/fields in the stream and the timestamps on the buffers indicate the
+temporal order of the fields.
+Top and bottom fields are expected to alternate in this mode.
+The frame rate in the caps still signals the frame rate, so the notional field
+rate will be twice the frame rate from the caps
+(see @GST_VIDEO_INFO_FIELD_RATE_N).</doc>
+ <source-position filename="gst-libs/gst/video/video-info.h" line="52"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="CAPS_FEATURE_META_GST_VIDEO_AFFINE_TRANSFORMATION_META"
+ value="meta:GstVideoAffineTransformation"
+ c:type="GST_CAPS_FEATURE_META_GST_VIDEO_AFFINE_TRANSFORMATION_META">
+ <source-position filename="gst-libs/gst/video/gstvideoaffinetransformationmeta.h"
+ line="36"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="CAPS_FEATURE_META_GST_VIDEO_GL_TEXTURE_UPLOAD_META"
+ value="meta:GstVideoGLTextureUploadMeta"
+ c:type="GST_CAPS_FEATURE_META_GST_VIDEO_GL_TEXTURE_UPLOAD_META">
+ <source-position filename="gst-libs/gst/video/gstvideometa.h"
+ line="236"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="CAPS_FEATURE_META_GST_VIDEO_META"
+ value="meta:GstVideoMeta"
+ c:type="GST_CAPS_FEATURE_META_GST_VIDEO_META">
+ <source-position filename="gst-libs/gst/video/gstvideometa.h" line="34"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="CAPS_FEATURE_META_GST_VIDEO_OVERLAY_COMPOSITION"
+ value="meta:GstVideoOverlayComposition"
+ c:type="GST_CAPS_FEATURE_META_GST_VIDEO_OVERLAY_COMPOSITION">
+ <source-position filename="gst-libs/gst/video/video-overlay-composition.h"
+ line="93"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <function-macro name="COLOR_BALANCE"
+ c:identifier="GST_COLOR_BALANCE"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/colorbalance.h" line="31"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="COLOR_BALANCE_CHANNEL"
+ c:identifier="GST_COLOR_BALANCE_CHANNEL"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/colorbalancechannel.h"
+ line="31"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="COLOR_BALANCE_CHANNEL_CLASS"
+ c:identifier="GST_COLOR_BALANCE_CHANNEL_CLASS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/colorbalancechannel.h"
+ line="34"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="COLOR_BALANCE_GET_INTERFACE"
+ c:identifier="GST_COLOR_BALANCE_GET_INTERFACE"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/colorbalance.h" line="35"/>
+ <parameters>
+ <parameter name="inst">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <interface name="ColorBalance"
+ c:symbol-prefix="color_balance"
+ c:type="GstColorBalance"
+ glib:type-name="GstColorBalance"
+ glib:get-type="gst_color_balance_get_type"
+ glib:type-struct="ColorBalanceInterface">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/colorbalance.c"
+ line="29">This interface is implemented by elements which can perform some color
+balance operation on video frames they process. For example, modifying
+the brightness, contrast, hue or saturation.
+
+Example elements are 'xvimagesink' and 'colorbalance'</doc>
+ <source-position filename="gst-libs/gst/video/colorbalance.h" line="91"/>
+ <virtual-method name="get_balance_type" invoker="get_balance_type">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/colorbalance.c"
+ line="195">Get the #GstColorBalanceType of this implementation.</doc>
+ <source-position filename="gst-libs/gst/video/colorbalance.h"
+ line="82"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/colorbalance.c"
+ line="201">A the #GstColorBalanceType.</doc>
+ <type name="ColorBalanceType" c:type="GstColorBalanceType"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="balance" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/colorbalance.c"
+ line="197">The #GstColorBalance implementation</doc>
+ <type name="ColorBalance" c:type="GstColorBalance*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="get_value" invoker="get_value">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/colorbalance.c"
+ line="164">Retrieve the current value of the indicated channel, between min_value
+and max_value.
+
+See Also: The #GstColorBalanceChannel.min_value and
+ #GstColorBalanceChannel.max_value members of the
+ #GstColorBalanceChannel object.</doc>
+ <source-position filename="gst-libs/gst/video/colorbalance.h"
+ line="80"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/colorbalance.c"
+ line="176">The current value of the channel.</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="balance" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/colorbalance.c"
+ line="166">A #GstColorBalance instance</doc>
+ <type name="ColorBalance" c:type="GstColorBalance*"/>
+ </instance-parameter>
+ <parameter name="channel" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/colorbalance.c"
+ line="167">A #GstColorBalanceChannel instance</doc>
+ <type name="ColorBalanceChannel" c:type="GstColorBalanceChannel*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="list_channels" invoker="list_channels">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/colorbalance.c"
+ line="113">Retrieve a list of the available channels.</doc>
+ <source-position filename="gst-libs/gst/video/colorbalance.h"
+ line="75"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/colorbalance.c"
+ line="119">A
+ GList containing pointers to #GstColorBalanceChannel
+ objects. The list is owned by the #GstColorBalance
+ instance and must not be freed.</doc>
+ <type name="GLib.List" c:type="const GList*">
+ <type name="ColorBalanceChannel"/>
+ </type>
+ </return-value>
+ <parameters>
+ <instance-parameter name="balance" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/colorbalance.c"
+ line="115">A #GstColorBalance instance</doc>
+ <type name="ColorBalance" c:type="GstColorBalance*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="set_value" invoker="set_value">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/colorbalance.c"
+ line="140">Sets the current value of the channel to the passed value, which must
+be between min_value and max_value.
+
+See Also: The #GstColorBalanceChannel.min_value and
+ #GstColorBalanceChannel.max_value members of the
+ #GstColorBalanceChannel object.</doc>
+ <source-position filename="gst-libs/gst/video/colorbalance.h"
+ line="77"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="balance" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/colorbalance.c"
+ line="142">A #GstColorBalance instance</doc>
+ <type name="ColorBalance" c:type="GstColorBalance*"/>
+ </instance-parameter>
+ <parameter name="channel" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/colorbalance.c"
+ line="143">A #GstColorBalanceChannel instance</doc>
+ <type name="ColorBalanceChannel" c:type="GstColorBalanceChannel*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/colorbalance.c"
+ line="144">The new value for the channel.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="value_changed" invoker="value_changed">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/colorbalance.c"
+ line="219">A helper function called by implementations of the GstColorBalance
+interface. It fires the #GstColorBalance::value-changed signal on the
+instance, and the #GstColorBalanceChannel::value-changed signal on the
+channel object.</doc>
+ <source-position filename="gst-libs/gst/video/colorbalance.h"
+ line="85"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="balance" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/colorbalance.c"
+ line="221">A #GstColorBalance instance</doc>
+ <type name="ColorBalance" c:type="GstColorBalance*"/>
+ </instance-parameter>
+ <parameter name="channel" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/colorbalance.c"
+ line="222">A #GstColorBalanceChannel whose value has changed</doc>
+ <type name="ColorBalanceChannel" c:type="GstColorBalanceChannel*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/colorbalance.c"
+ line="223">The new value of the channel</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <method name="get_balance_type"
+ c:identifier="gst_color_balance_get_balance_type">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/colorbalance.c"
+ line="195">Get the #GstColorBalanceType of this implementation.</doc>
+ <source-position filename="gst-libs/gst/video/colorbalance.h"
+ line="113"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/colorbalance.c"
+ line="201">A the #GstColorBalanceType.</doc>
+ <type name="ColorBalanceType" c:type="GstColorBalanceType"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="balance" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/colorbalance.c"
+ line="197">The #GstColorBalance implementation</doc>
+ <type name="ColorBalance" c:type="GstColorBalance*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_value" c:identifier="gst_color_balance_get_value">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/colorbalance.c"
+ line="164">Retrieve the current value of the indicated channel, between min_value
+and max_value.
+
+See Also: The #GstColorBalanceChannel.min_value and
+ #GstColorBalanceChannel.max_value members of the
+ #GstColorBalanceChannel object.</doc>
+ <source-position filename="gst-libs/gst/video/colorbalance.h"
+ line="108"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/colorbalance.c"
+ line="176">The current value of the channel.</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="balance" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/colorbalance.c"
+ line="166">A #GstColorBalance instance</doc>
+ <type name="ColorBalance" c:type="GstColorBalance*"/>
+ </instance-parameter>
+ <parameter name="channel" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/colorbalance.c"
+ line="167">A #GstColorBalanceChannel instance</doc>
+ <type name="ColorBalanceChannel" c:type="GstColorBalanceChannel*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="list_channels"
+ c:identifier="gst_color_balance_list_channels">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/colorbalance.c"
+ line="113">Retrieve a list of the available channels.</doc>
+ <source-position filename="gst-libs/gst/video/colorbalance.h"
+ line="100"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/colorbalance.c"
+ line="119">A
+ GList containing pointers to #GstColorBalanceChannel
+ objects. The list is owned by the #GstColorBalance
+ instance and must not be freed.</doc>
+ <type name="GLib.List" c:type="const GList*">
+ <type name="ColorBalanceChannel"/>
+ </type>
+ </return-value>
+ <parameters>
+ <instance-parameter name="balance" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/colorbalance.c"
+ line="115">A #GstColorBalance instance</doc>
+ <type name="ColorBalance" c:type="GstColorBalance*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="set_value" c:identifier="gst_color_balance_set_value">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/colorbalance.c"
+ line="140">Sets the current value of the channel to the passed value, which must
+be between min_value and max_value.
+
+See Also: The #GstColorBalanceChannel.min_value and
+ #GstColorBalanceChannel.max_value members of the
+ #GstColorBalanceChannel object.</doc>
+ <source-position filename="gst-libs/gst/video/colorbalance.h"
+ line="103"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="balance" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/colorbalance.c"
+ line="142">A #GstColorBalance instance</doc>
+ <type name="ColorBalance" c:type="GstColorBalance*"/>
+ </instance-parameter>
+ <parameter name="channel" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/colorbalance.c"
+ line="143">A #GstColorBalanceChannel instance</doc>
+ <type name="ColorBalanceChannel" c:type="GstColorBalanceChannel*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/colorbalance.c"
+ line="144">The new value for the channel.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="value_changed"
+ c:identifier="gst_color_balance_value_changed">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/colorbalance.c"
+ line="219">A helper function called by implementations of the GstColorBalance
+interface. It fires the #GstColorBalance::value-changed signal on the
+instance, and the #GstColorBalanceChannel::value-changed signal on the
+channel object.</doc>
+ <source-position filename="gst-libs/gst/video/colorbalance.h"
+ line="118"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="balance" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/colorbalance.c"
+ line="221">A #GstColorBalance instance</doc>
+ <type name="ColorBalance" c:type="GstColorBalance*"/>
+ </instance-parameter>
+ <parameter name="channel" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/colorbalance.c"
+ line="222">A #GstColorBalanceChannel whose value has changed</doc>
+ <type name="ColorBalanceChannel" c:type="GstColorBalanceChannel*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/colorbalance.c"
+ line="223">The new value of the channel</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <glib:signal name="value-changed" when="last">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/colorbalance.c"
+ line="88">Fired when the value of the indicated channel has changed.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="channel" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/colorbalance.c"
+ line="91">The #GstColorBalanceChannel</doc>
+ <type name="ColorBalanceChannel"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/colorbalance.c"
+ line="92">The new value</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ </interface>
+ <class name="ColorBalanceChannel"
+ c:symbol-prefix="color_balance_channel"
+ c:type="GstColorBalanceChannel"
+ parent="GObject.Object"
+ glib:type-name="GstColorBalanceChannel"
+ glib:get-type="gst_color_balance_channel_get_type"
+ glib:type-struct="ColorBalanceChannelClass">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/colorbalancechannel.c"
+ line="28">The #GstColorBalanceChannel object represents a parameter
+for modifying the color balance implemented by an element providing the
+#GstColorBalance interface. For example, Hue or Saturation.</doc>
+ <source-position filename="gst-libs/gst/video/colorbalancechannel.h"
+ line="80"/>
+ <virtual-method name="value_changed">
+ <source-position filename="gst-libs/gst/video/colorbalancechannel.h"
+ line="75"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="channel" transfer-ownership="none">
+ <type name="ColorBalanceChannel" c:type="GstColorBalanceChannel*"/>
+ </instance-parameter>
+ <parameter name="value" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <field name="parent">
+ <type name="GObject.Object" c:type="GObject"/>
+ </field>
+ <field name="label">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/colorbalancechannel.h"
+ line="48">A string containing a descriptive name for this channel</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </field>
+ <field name="min_value">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/colorbalancechannel.h"
+ line="49">The minimum valid value for this channel.</doc>
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="max_value">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/colorbalancechannel.h"
+ line="50">The maximum valid value for this channel.</doc>
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <glib:signal name="value-changed" when="last">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/colorbalancechannel.c"
+ line="89">Fired when the value of the indicated channel has changed.</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/colorbalancechannel.c"
+ line="92">The new value</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ </class>
+ <record name="ColorBalanceChannelClass"
+ c:type="GstColorBalanceChannelClass"
+ glib:is-gtype-struct-for="ColorBalanceChannel">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/colorbalancechannel.h"
+ line="64">Color-balance channel class.</doc>
+ <source-position filename="gst-libs/gst/video/colorbalancechannel.h"
+ line="80"/>
+ <field name="parent">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/colorbalancechannel.h"
+ line="66">the parent class</doc>
+ <type name="GObject.ObjectClass" c:type="GObjectClass"/>
+ </field>
+ <field name="value_changed">
+ <callback name="value_changed">
+ <source-position filename="gst-libs/gst/video/colorbalancechannel.h"
+ line="75"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="channel" transfer-ownership="none">
+ <type name="ColorBalanceChannel"
+ c:type="GstColorBalanceChannel*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="ColorBalanceInterface"
+ c:type="GstColorBalanceInterface"
+ glib:is-gtype-struct-for="ColorBalance">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/colorbalance.h"
+ line="60">Color-balance interface.</doc>
+ <source-position filename="gst-libs/gst/video/colorbalance.h" line="91"/>
+ <field name="iface">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/colorbalance.h"
+ line="62">the parent interface</doc>
+ <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
+ </field>
+ <field name="list_channels">
+ <callback name="list_channels">
+ <source-position filename="gst-libs/gst/video/colorbalance.h"
+ line="75"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/colorbalance.c"
+ line="119">A
+ GList containing pointers to #GstColorBalanceChannel
+ objects. The list is owned by the #GstColorBalance
+ instance and must not be freed.</doc>
+ <type name="GLib.List" c:type="const GList*">
+ <type name="ColorBalanceChannel"/>
+ </type>
+ </return-value>
+ <parameters>
+ <parameter name="balance" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/colorbalance.c"
+ line="115">A #GstColorBalance instance</doc>
+ <type name="ColorBalance" c:type="GstColorBalance*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="set_value">
+ <callback name="set_value">
+ <source-position filename="gst-libs/gst/video/colorbalance.h"
+ line="77"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="balance" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/colorbalance.c"
+ line="142">A #GstColorBalance instance</doc>
+ <type name="ColorBalance" c:type="GstColorBalance*"/>
+ </parameter>
+ <parameter name="channel" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/colorbalance.c"
+ line="143">A #GstColorBalanceChannel instance</doc>
+ <type name="ColorBalanceChannel"
+ c:type="GstColorBalanceChannel*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/colorbalance.c"
+ line="144">The new value for the channel.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="get_value">
+ <callback name="get_value">
+ <source-position filename="gst-libs/gst/video/colorbalance.h"
+ line="80"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/colorbalance.c"
+ line="176">The current value of the channel.</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <parameter name="balance" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/colorbalance.c"
+ line="166">A #GstColorBalance instance</doc>
+ <type name="ColorBalance" c:type="GstColorBalance*"/>
+ </parameter>
+ <parameter name="channel" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/colorbalance.c"
+ line="167">A #GstColorBalanceChannel instance</doc>
+ <type name="ColorBalanceChannel"
+ c:type="GstColorBalanceChannel*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="get_balance_type">
+ <callback name="get_balance_type">
+ <source-position filename="gst-libs/gst/video/colorbalance.h"
+ line="82"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/colorbalance.c"
+ line="201">A the #GstColorBalanceType.</doc>
+ <type name="ColorBalanceType" c:type="GstColorBalanceType"/>
+ </return-value>
+ <parameters>
+ <parameter name="balance" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/colorbalance.c"
+ line="197">The #GstColorBalance implementation</doc>
+ <type name="ColorBalance" c:type="GstColorBalance*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="value_changed">
+ <callback name="value_changed">
+ <source-position filename="gst-libs/gst/video/colorbalance.h"
+ line="85"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="balance" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/colorbalance.c"
+ line="221">A #GstColorBalance instance</doc>
+ <type name="ColorBalance" c:type="GstColorBalance*"/>
+ </parameter>
+ <parameter name="channel" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/colorbalance.c"
+ line="222">A #GstColorBalanceChannel whose value has changed</doc>
+ <type name="ColorBalanceChannel"
+ c:type="GstColorBalanceChannel*"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/colorbalance.c"
+ line="223">The new value of the channel</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <enumeration name="ColorBalanceType"
+ glib:type-name="GstColorBalanceType"
+ glib:get-type="gst_color_balance_type_get_type"
+ c:type="GstColorBalanceType">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/colorbalance.h"
+ line="42">An enumeration indicating whether an element implements color balancing
+operations in software or in dedicated hardware. In general, dedicated
+hardware implementations (such as those provided by xvimagesink) are
+preferred.</doc>
+ <member name="hardware"
+ value="0"
+ c:identifier="GST_COLOR_BALANCE_HARDWARE"
+ glib:nick="hardware">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/colorbalance.h"
+ line="44">Color balance is implemented with dedicated
+ hardware.</doc>
+ </member>
+ <member name="software"
+ value="1"
+ c:identifier="GST_COLOR_BALANCE_SOFTWARE"
+ glib:nick="software">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/colorbalance.h"
+ line="46">Color balance is implemented via software
+ processing.</doc>
+ </member>
+ </enumeration>
+ <function-macro name="IS_COLOR_BALANCE"
+ c:identifier="GST_IS_COLOR_BALANCE"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/colorbalance.h" line="33"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_COLOR_BALANCE_CHANNEL"
+ c:identifier="GST_IS_COLOR_BALANCE_CHANNEL"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/colorbalancechannel.h"
+ line="37"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_COLOR_BALANCE_CHANNEL_CLASS"
+ c:identifier="GST_IS_COLOR_BALANCE_CHANNEL_CLASS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/colorbalancechannel.h"
+ line="39"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_NAVIGATION"
+ c:identifier="GST_IS_NAVIGATION"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/navigation.h" line="34"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_VIDEO_AGGREGATOR"
+ c:identifier="GST_IS_VIDEO_AGGREGATOR"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/gstvideoaggregator.h"
+ line="180"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_VIDEO_AGGREGATOR_CLASS"
+ c:identifier="GST_IS_VIDEO_AGGREGATOR_CLASS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/gstvideoaggregator.h"
+ line="182"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_VIDEO_AGGREGATOR_CONVERT_PAD"
+ c:identifier="GST_IS_VIDEO_AGGREGATOR_CONVERT_PAD"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/gstvideoaggregator.h"
+ line="123"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_VIDEO_AGGREGATOR_CONVERT_PAD_CLASS"
+ c:identifier="GST_IS_VIDEO_AGGREGATOR_CONVERT_PAD_CLASS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/gstvideoaggregator.h"
+ line="124"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_VIDEO_AGGREGATOR_PAD"
+ c:identifier="GST_IS_VIDEO_AGGREGATOR_PAD"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/gstvideoaggregator.h"
+ line="43"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_VIDEO_AGGREGATOR_PAD_CLASS"
+ c:identifier="GST_IS_VIDEO_AGGREGATOR_PAD_CLASS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/gstvideoaggregator.h"
+ line="45"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_VIDEO_BUFFER_POOL"
+ c:identifier="GST_IS_VIDEO_BUFFER_POOL"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/gstvideopool.h" line="62"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_VIDEO_DECODER"
+ c:identifier="GST_IS_VIDEO_DECODER"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="40"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_VIDEO_DECODER_CLASS"
+ c:identifier="GST_IS_VIDEO_DECODER_CLASS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="42"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_VIDEO_DIRECTION"
+ c:identifier="GST_IS_VIDEO_DIRECTION"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/videodirection.h"
+ line="32"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_VIDEO_ENCODER"
+ c:identifier="GST_IS_VIDEO_ENCODER"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/gstvideoencoder.h"
+ line="39"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_VIDEO_ENCODER_CLASS"
+ c:identifier="GST_IS_VIDEO_ENCODER_CLASS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/gstvideoencoder.h"
+ line="41"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_VIDEO_FILTER"
+ c:identifier="GST_IS_VIDEO_FILTER"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/gstvideofilter.h"
+ line="39"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_VIDEO_FILTER_CLASS"
+ c:identifier="GST_IS_VIDEO_FILTER_CLASS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/gstvideofilter.h"
+ line="41"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_VIDEO_ORIENTATION"
+ c:identifier="GST_IS_VIDEO_ORIENTATION"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/videoorientation.h"
+ line="33"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_VIDEO_OVERLAY"
+ c:identifier="GST_IS_VIDEO_OVERLAY"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/videooverlay.h" line="33"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_VIDEO_OVERLAY_COMPOSITION"
+ c:identifier="GST_IS_VIDEO_OVERLAY_COMPOSITION"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/video-overlay-composition.h"
+ line="197"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_VIDEO_OVERLAY_RECTANGLE"
+ c:identifier="GST_IS_VIDEO_OVERLAY_RECTANGLE"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/video-overlay-composition.h"
+ line="41"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_VIDEO_SINK"
+ c:identifier="GST_IS_VIDEO_SINK"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/gstvideosink.h" line="37"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_VIDEO_SINK_CLASS"
+ c:identifier="GST_IS_VIDEO_SINK_CLASS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/gstvideosink.h" line="39"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <constant name="META_TAG_VIDEO_COLORSPACE_STR"
+ value="colorspace"
+ c:type="GST_META_TAG_VIDEO_COLORSPACE_STR"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video.h"
+ line="117">This metadata stays relevant as long as video colorspace is unchanged.</doc>
+ <source-position filename="gst-libs/gst/video/video.h" line="124"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="META_TAG_VIDEO_ORIENTATION_STR"
+ value="orientation"
+ c:type="GST_META_TAG_VIDEO_ORIENTATION_STR"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video.h"
+ line="101">This metadata stays relevant as long as video orientation is unchanged.</doc>
+ <source-position filename="gst-libs/gst/video/video.h" line="108"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="META_TAG_VIDEO_SIZE_STR"
+ value="size"
+ c:type="GST_META_TAG_VIDEO_SIZE_STR"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video.h"
+ line="109">This metadata stays relevant as long as video size is unchanged.</doc>
+ <source-position filename="gst-libs/gst/video/video.h" line="116"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="META_TAG_VIDEO_STR"
+ value="video"
+ c:type="GST_META_TAG_VIDEO_STR"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video.h"
+ line="93">This metadata is relevant for video streams.</doc>
+ <source-position filename="gst-libs/gst/video/video.h" line="100"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <function-macro name="NAVIGATION"
+ c:identifier="GST_NAVIGATION"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/navigation.h" line="32"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="NAVIGATION_GET_INTERFACE"
+ c:identifier="GST_NAVIGATION_GET_INTERFACE"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/navigation.h" line="36"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <interface name="Navigation"
+ c:symbol-prefix="navigation"
+ c:type="GstNavigation"
+ glib:type-name="GstNavigation"
+ glib:get-type="gst_navigation_get_type"
+ glib:type-struct="NavigationInterface">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="23">The Navigation interface is used for creating and injecting navigation related
+events such as mouse button presses, cursor motion and key presses. The associated
+library also provides methods for parsing received events, and for sending and
+receiving navigation related bus events. One main usecase is DVD menu navigation.
+
+The main parts of the API are:
+
+* The GstNavigation interface, implemented by elements which provide an application
+ with the ability to create and inject navigation events into the pipeline.
+* GstNavigation event handling API. GstNavigation events are created in response to
+ calls on a GstNavigation interface implementation, and sent in the pipeline. Upstream
+ elements can use the navigation event API functions to parse the contents of received
+ messages.
+
+* GstNavigation message handling API. GstNavigation messages may be sent on the message
+ bus to inform applications of navigation related changes in the pipeline, such as the
+ mouse moving over a clickable region, or the set of available angles changing.
+
+The GstNavigation message functions provide functions for creating and parsing
+custom bus messages for signaling GstNavigation changes.</doc>
+ <source-position filename="gst-libs/gst/video/navigation.h" line="55"/>
+ <function name="event_get_type"
+ c:identifier="gst_navigation_event_get_type">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="706">Inspect a #GstEvent and return the #GstNavigationEventType of the event, or
+#GST_NAVIGATION_EVENT_INVALID if the event is not a #GstNavigation event.</doc>
+ <source-position filename="gst-libs/gst/video/navigation.h"
+ line="282"/>
+ <return-value transfer-ownership="none">
+ <type name="NavigationEventType" c:type="GstNavigationEventType"/>
+ </return-value>
+ <parameters>
+ <parameter name="event" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="708">A #GstEvent to inspect.</doc>
+ <type name="Gst.Event" c:type="GstEvent*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="event_parse_command"
+ c:identifier="gst_navigation_event_parse_command">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="895">Inspect a #GstNavigation command event and retrieve the enum value of the
+associated command.</doc>
+ <source-position filename="gst-libs/gst/video/navigation.h"
+ line="302"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="904">TRUE if the navigation command could be extracted, otherwise FALSE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="event" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="897">A #GstEvent to inspect.</doc>
+ <type name="Gst.Event" c:type="GstEvent*"/>
+ </parameter>
+ <parameter name="command"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="898">Pointer to GstNavigationCommand to receive the
+ type of the navigation event.</doc>
+ <type name="NavigationCommand" c:type="GstNavigationCommand*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="event_parse_key_event"
+ c:identifier="gst_navigation_event_parse_key_event">
+ <source-position filename="gst-libs/gst/video/navigation.h"
+ line="285"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="event" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="750">A #GstEvent to inspect.</doc>
+ <type name="Gst.Event" c:type="GstEvent*"/>
+ </parameter>
+ <parameter name="key"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="none"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="751">A pointer to a location to receive
+ the string identifying the key press. The returned string is owned by the
+ event, and valid only until the event is unreffed.</doc>
+ <type name="utf8" c:type="const gchar**"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="event_parse_mouse_button_event"
+ c:identifier="gst_navigation_event_parse_mouse_button_event">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="775">Retrieve the details of either a #GstNavigation mouse button press event or
+a mouse button release event. Determine which type the event is using
+gst_navigation_event_get_type() to retrieve the #GstNavigationEventType.</doc>
+ <source-position filename="gst-libs/gst/video/navigation.h"
+ line="289"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="789">TRUE if the button number and both coordinates could be extracted,
+ otherwise FALSE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="event" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="777">A #GstEvent to inspect.</doc>
+ <type name="Gst.Event" c:type="GstEvent*"/>
+ </parameter>
+ <parameter name="button"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="778">Pointer to a gint that will receive the button
+ number associated with the event.</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ <parameter name="x"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="780">Pointer to a gdouble to receive the x coordinate of the
+ mouse button event.</doc>
+ <type name="gdouble" c:type="gdouble*"/>
+ </parameter>
+ <parameter name="y"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="782">Pointer to a gdouble to receive the y coordinate of the
+ mouse button event.</doc>
+ <type name="gdouble" c:type="gdouble*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="event_parse_mouse_move_event"
+ c:identifier="gst_navigation_event_parse_mouse_move_event">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="817">Inspect a #GstNavigation mouse movement event and extract the coordinates
+of the event.</doc>
+ <source-position filename="gst-libs/gst/video/navigation.h"
+ line="293"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="828">TRUE if both coordinates could be extracted, otherwise FALSE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="event" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="819">A #GstEvent to inspect.</doc>
+ <type name="Gst.Event" c:type="GstEvent*"/>
+ </parameter>
+ <parameter name="x"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="820">Pointer to a gdouble to receive the x coordinate of the
+ mouse movement.</doc>
+ <type name="gdouble" c:type="gdouble*"/>
+ </parameter>
+ <parameter name="y"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="822">Pointer to a gdouble to receive the y coordinate of the
+ mouse movement.</doc>
+ <type name="gdouble" c:type="gdouble*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="event_parse_mouse_scroll_event"
+ c:identifier="gst_navigation_event_parse_mouse_scroll_event"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="851">Inspect a #GstNavigation mouse scroll event and extract the coordinates
+of the event.</doc>
+ <source-position filename="gst-libs/gst/video/navigation.h"
+ line="297"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="866">TRUE if all coordinates could be extracted, otherwise FALSE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="event" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="853">A #GstEvent to inspect.</doc>
+ <type name="Gst.Event" c:type="GstEvent*"/>
+ </parameter>
+ <parameter name="x"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="854">Pointer to a gdouble to receive the x coordinate of the
+ mouse movement.</doc>
+ <type name="gdouble" c:type="gdouble*"/>
+ </parameter>
+ <parameter name="y"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="856">Pointer to a gdouble to receive the y coordinate of the
+ mouse movement.</doc>
+ <type name="gdouble" c:type="gdouble*"/>
+ </parameter>
+ <parameter name="delta_x"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="858">Pointer to a gdouble to receive the delta_x coordinate of the
+ mouse movement.</doc>
+ <type name="gdouble" c:type="gdouble*"/>
+ </parameter>
+ <parameter name="delta_y"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="860">Pointer to a gdouble to receive the delta_y coordinate of the
+ mouse movement.</doc>
+ <type name="gdouble" c:type="gdouble*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="message_get_type"
+ c:identifier="gst_navigation_message_get_type">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="467">Check a bus message to see if it is a #GstNavigation event, and return
+the #GstNavigationMessageType identifying the type of the message if so.</doc>
+ <source-position filename="gst-libs/gst/video/navigation.h"
+ line="213"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="474">The type of the #GstMessage, or
+#GST_NAVIGATION_MESSAGE_INVALID if the message is not a #GstNavigation
+notification.</doc>
+ <type name="NavigationMessageType"
+ c:type="GstNavigationMessageType"/>
+ </return-value>
+ <parameters>
+ <parameter name="message" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="469">A #GstMessage to inspect.</doc>
+ <type name="Gst.Message" c:type="GstMessage*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="message_new_angles_changed"
+ c:identifier="gst_navigation_message_new_angles_changed">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="639">Creates a new #GstNavigation message with type
+#GST_NAVIGATION_MESSAGE_ANGLES_CHANGED for notifying an application
+that the current angle, or current number of angles available in a
+multiangle video has changed.</doc>
+ <source-position filename="gst-libs/gst/video/navigation.h"
+ line="227"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="650">The new #GstMessage.</doc>
+ <type name="Gst.Message" c:type="GstMessage*"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="641">A #GstObject to set as source of the new message.</doc>
+ <type name="Gst.Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="cur_angle" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="642">The currently selected angle.</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="n_angles" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="643">The number of viewing angles now available.</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="message_new_commands_changed"
+ c:identifier="gst_navigation_message_new_commands_changed">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="616">Creates a new #GstNavigation message with type
+#GST_NAVIGATION_MESSAGE_COMMANDS_CHANGED</doc>
+ <source-position filename="gst-libs/gst/video/navigation.h"
+ line="224"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="623">The new #GstMessage.</doc>
+ <type name="Gst.Message" c:type="GstMessage*"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="618">A #GstObject to set as source of the new message.</doc>
+ <type name="Gst.Object" c:type="GstObject*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="message_new_event"
+ c:identifier="gst_navigation_message_new_event"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="561">Creates a new #GstNavigation message with type
+#GST_NAVIGATION_MESSAGE_EVENT.</doc>
+ <source-position filename="gst-libs/gst/video/navigation.h"
+ line="237"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="569">The new #GstMessage.</doc>
+ <type name="Gst.Message" c:type="GstMessage*"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="563">A #GstObject to set as source of the new message.</doc>
+ <type name="Gst.Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="event" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="564">A navigation #GstEvent</doc>
+ <type name="Gst.Event" c:type="GstEvent*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="message_new_mouse_over"
+ c:identifier="gst_navigation_message_new_mouse_over">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="507">Creates a new #GstNavigation message with type
+#GST_NAVIGATION_MESSAGE_MOUSE_OVER.</doc>
+ <source-position filename="gst-libs/gst/video/navigation.h"
+ line="216"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="516">The new #GstMessage.</doc>
+ <type name="Gst.Message" c:type="GstMessage*"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="509">A #GstObject to set as source of the new message.</doc>
+ <type name="Gst.Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="active" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="510">%TRUE if the mouse has entered a clickable area of the display.
+%FALSE if it over a non-clickable area.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="message_parse_angles_changed"
+ c:identifier="gst_navigation_message_parse_angles_changed">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="668">Parse a #GstNavigation message of type GST_NAVIGATION_MESSAGE_ANGLES_CHANGED
+and extract the @cur_angle and @n_angles parameters.</doc>
+ <source-position filename="gst-libs/gst/video/navigation.h"
+ line="232"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="679">%TRUE if the message could be successfully parsed. %FALSE if not.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="message" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="670">A #GstMessage to inspect.</doc>
+ <type name="Gst.Message" c:type="GstMessage*"/>
+ </parameter>
+ <parameter name="cur_angle"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="671">A pointer to a #guint to receive the new
+ current angle number, or NULL</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ <parameter name="n_angles"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="673">A pointer to a #guint to receive the new angle
+ count, or NULL.</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="message_parse_event"
+ c:identifier="gst_navigation_message_parse_event"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="587">Parse a #GstNavigation message of type #GST_NAVIGATION_MESSAGE_EVENT
+and extract contained #GstEvent. The caller must unref the @event when done
+with it.</doc>
+ <source-position filename="gst-libs/gst/video/navigation.h"
+ line="241"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="597">%TRUE if the message could be successfully parsed. %FALSE if not.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="message" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="589">A #GstMessage to inspect.</doc>
+ <type name="Gst.Message" c:type="GstMessage*"/>
+ </parameter>
+ <parameter name="event"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="590">a pointer to a #GstEvent to receive
+ the contained navigation event.</doc>
+ <type name="Gst.Event" c:type="GstEvent**"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="message_parse_mouse_over"
+ c:identifier="gst_navigation_message_parse_mouse_over">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="533">Parse a #GstNavigation message of type #GST_NAVIGATION_MESSAGE_MOUSE_OVER
+and extract the active/inactive flag. If the mouse over event is marked
+active, it indicates that the mouse is over a clickable area.</doc>
+ <source-position filename="gst-libs/gst/video/navigation.h"
+ line="220"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="543">%TRUE if the message could be successfully parsed. %FALSE if not.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="message" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="535">A #GstMessage to inspect.</doc>
+ <type name="Gst.Message" c:type="GstMessage*"/>
+ </parameter>
+ <parameter name="active"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="536">A pointer to a gboolean to receive the
+ active/inactive state, or NULL.</doc>
+ <type name="gboolean" c:type="gboolean*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="query_get_type"
+ c:identifier="gst_navigation_query_get_type">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="187">Inspect a #GstQuery and return the #GstNavigationQueryType associated with
+it if it is a #GstNavigation query.</doc>
+ <source-position filename="gst-libs/gst/video/navigation.h"
+ line="154"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="194">The #GstNavigationQueryType of the query, or
+#GST_NAVIGATION_QUERY_INVALID</doc>
+ <type name="NavigationQueryType" c:type="GstNavigationQueryType"/>
+ </return-value>
+ <parameters>
+ <parameter name="query" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="189">The query to inspect</doc>
+ <type name="Gst.Query" c:type="GstQuery*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="query_new_angles"
+ c:identifier="gst_navigation_query_new_angles">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="383">Create a new #GstNavigation angles query. When executed, it will
+query the pipeline for the set of currently available angles, which may be
+greater than one in a multiangle video.</doc>
+ <source-position filename="gst-libs/gst/video/navigation.h"
+ line="175"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="390">The new query.</doc>
+ <type name="Gst.Query" c:type="GstQuery*"/>
+ </return-value>
+ </function>
+ <function name="query_new_commands"
+ c:identifier="gst_navigation_query_new_commands">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="222">Create a new #GstNavigation commands query. When executed, it will
+query the pipeline for the set of currently available commands.</doc>
+ <source-position filename="gst-libs/gst/video/navigation.h"
+ line="157"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="228">The new query.</doc>
+ <type name="Gst.Query" c:type="GstQuery*"/>
+ </return-value>
+ </function>
+ <function name="query_parse_angles"
+ c:identifier="gst_navigation_query_parse_angles">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="426">Parse the current angle number in the #GstNavigation angles @query into the
+#guint pointed to by the @cur_angle variable, and the number of available
+angles into the #guint pointed to by the @n_angles variable.</doc>
+ <source-position filename="gst-libs/gst/video/navigation.h"
+ line="182"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="438">%TRUE if the query could be successfully parsed. %FALSE if not.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="query" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="428">a #GstQuery</doc>
+ <type name="Gst.Query" c:type="GstQuery*"/>
+ </parameter>
+ <parameter name="cur_angle"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="429">Pointer to a #guint into which to store the
+ currently selected angle value from the query, or NULL</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ <parameter name="n_angles"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="431">Pointer to a #guint into which to store the
+ number of angles value from the query, or NULL</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="query_parse_commands_length"
+ c:identifier="gst_navigation_query_parse_commands_length">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="314">Parse the number of commands in the #GstNavigation commands @query.</doc>
+ <source-position filename="gst-libs/gst/video/navigation.h"
+ line="167"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="321">%TRUE if the query could be successfully parsed. %FALSE if not.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="query" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="316">a #GstQuery</doc>
+ <type name="Gst.Query" c:type="GstQuery*"/>
+ </parameter>
+ <parameter name="n_cmds"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="317">the number of commands in this query.</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="query_parse_commands_nth"
+ c:identifier="gst_navigation_query_parse_commands_nth">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="344">Parse the #GstNavigation command query and retrieve the @nth command from
+it into @cmd. If the list contains less elements than @nth, @cmd will be
+set to #GST_NAVIGATION_COMMAND_INVALID.</doc>
+ <source-position filename="gst-libs/gst/video/navigation.h"
+ line="171"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="354">%TRUE if the query could be successfully parsed. %FALSE if not.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="query" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="346">a #GstQuery</doc>
+ <type name="Gst.Query" c:type="GstQuery*"/>
+ </parameter>
+ <parameter name="nth" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="347">the nth command to retrieve.</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="cmd"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="348">a pointer to store the nth command into.</doc>
+ <type name="NavigationCommand" c:type="GstNavigationCommand*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="query_set_angles"
+ c:identifier="gst_navigation_query_set_angles">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="405">Set the #GstNavigation angles query result field in @query.</doc>
+ <source-position filename="gst-libs/gst/video/navigation.h"
+ line="178"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="query" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="407">a #GstQuery</doc>
+ <type name="Gst.Query" c:type="GstQuery*"/>
+ </parameter>
+ <parameter name="cur_angle" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="408">the current viewing angle to set.</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="n_angles" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="409">the number of viewing angles to set.</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="query_set_commands"
+ c:identifier="gst_navigation_query_set_commands"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="254">Set the #GstNavigation command query result fields in @query. The number
+of commands passed must be equal to @n_commands.</doc>
+ <source-position filename="gst-libs/gst/video/navigation.h"
+ line="160"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="query" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="256">a #GstQuery</doc>
+ <type name="Gst.Query" c:type="GstQuery*"/>
+ </parameter>
+ <parameter name="n_cmds" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="257">the number of commands to set.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="..." transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="258">A list of @GstNavigationCommand values, @n_cmds entries long.</doc>
+ <varargs/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="query_set_commandsv"
+ c:identifier="gst_navigation_query_set_commandsv">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="286">Set the #GstNavigation command query result fields in @query. The number
+of commands passed must be equal to @n_commands.</doc>
+ <source-position filename="gst-libs/gst/video/navigation.h"
+ line="163"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="query" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="288">a #GstQuery</doc>
+ <type name="Gst.Query" c:type="GstQuery*"/>
+ </parameter>
+ <parameter name="n_cmds" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="289">the number of commands to set.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="cmds" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="290">An array containing @n_cmds
+ @GstNavigationCommand values.</doc>
+ <array length="1"
+ zero-terminated="0"
+ c:type="GstNavigationCommand*">
+ <type name="NavigationCommand" c:type="GstNavigationCommand"/>
+ </array>
+ </parameter>
+ </parameters>
+ </function>
+ <virtual-method name="send_event" invoker="send_event">
+ <source-position filename="gst-libs/gst/video/navigation.h" line="54"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="navigation" transfer-ownership="none">
+ <type name="Navigation" c:type="GstNavigation*"/>
+ </instance-parameter>
+ <parameter name="structure" transfer-ownership="none">
+ <type name="Gst.Structure" c:type="GstStructure*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <method name="send_command" c:identifier="gst_navigation_send_command">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="166">Sends the indicated command to the navigation interface.</doc>
+ <source-position filename="gst-libs/gst/video/navigation.h"
+ line="324"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="navigation" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="168">The navigation interface instance</doc>
+ <type name="Navigation" c:type="GstNavigation*"/>
+ </instance-parameter>
+ <parameter name="command" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="169">The command to issue</doc>
+ <type name="NavigationCommand" c:type="GstNavigationCommand"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="send_event" c:identifier="gst_navigation_send_event">
+ <source-position filename="gst-libs/gst/video/navigation.h"
+ line="308"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="navigation" transfer-ownership="none">
+ <type name="Navigation" c:type="GstNavigation*"/>
+ </instance-parameter>
+ <parameter name="structure" transfer-ownership="none">
+ <type name="Gst.Structure" c:type="GstStructure*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="send_key_event"
+ c:identifier="gst_navigation_send_key_event">
+ <source-position filename="gst-libs/gst/video/navigation.h"
+ line="312"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="navigation" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="90">The navigation interface instance</doc>
+ <type name="Navigation" c:type="GstNavigation*"/>
+ </instance-parameter>
+ <parameter name="event" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="91">The type of the key event. Recognised values are "key-press" and
+"key-release"</doc>
+ <type name="utf8" c:type="const char*"/>
+ </parameter>
+ <parameter name="key" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="93">Character representation of the key. This is typically as produced
+by XKeysymToString.</doc>
+ <type name="utf8" c:type="const char*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="send_mouse_event"
+ c:identifier="gst_navigation_send_mouse_event">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="108">Sends a mouse event to the navigation interface. Mouse event coordinates
+are sent relative to the display space of the related output area. This is
+usually the size in pixels of the window associated with the element
+implementing the #GstNavigation interface.</doc>
+ <source-position filename="gst-libs/gst/video/navigation.h"
+ line="316"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="navigation" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="110">The navigation interface instance</doc>
+ <type name="Navigation" c:type="GstNavigation*"/>
+ </instance-parameter>
+ <parameter name="event" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="111">The type of mouse event, as a text string. Recognised values are
+"mouse-button-press", "mouse-button-release" and "mouse-move".</doc>
+ <type name="utf8" c:type="const char*"/>
+ </parameter>
+ <parameter name="button" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="113">The button number of the button being pressed or released. Pass 0
+for mouse-move events.</doc>
+ <type name="gint" c:type="int"/>
+ </parameter>
+ <parameter name="x" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="115">The x coordinate of the mouse event.</doc>
+ <type name="gdouble" c:type="double"/>
+ </parameter>
+ <parameter name="y" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="116">The y coordinate of the mouse event.</doc>
+ <type name="gdouble" c:type="double"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="send_mouse_scroll_event"
+ c:identifier="gst_navigation_send_mouse_scroll_event"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="138">Sends a mouse scroll event to the navigation interface. Mouse event coordinates
+are sent relative to the display space of the related output area. This is
+usually the size in pixels of the window associated with the element
+implementing the #GstNavigation interface.</doc>
+ <source-position filename="gst-libs/gst/video/navigation.h"
+ line="320"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="navigation" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="140">The navigation interface instance</doc>
+ <type name="Navigation" c:type="GstNavigation*"/>
+ </instance-parameter>
+ <parameter name="x" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="141">The x coordinate of the mouse event.</doc>
+ <type name="gdouble" c:type="double"/>
+ </parameter>
+ <parameter name="y" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="142">The y coordinate of the mouse event.</doc>
+ <type name="gdouble" c:type="double"/>
+ </parameter>
+ <parameter name="delta_x" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="143">The delta_x coordinate of the mouse event.</doc>
+ <type name="gdouble" c:type="double"/>
+ </parameter>
+ <parameter name="delta_y" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="144">The delta_y coordinate of the mouse event.</doc>
+ <type name="gdouble" c:type="double"/>
+ </parameter>
+ </parameters>
+ </method>
+ </interface>
+ <enumeration name="NavigationCommand"
+ glib:type-name="GstNavigationCommand"
+ glib:get-type="gst_navigation_command_get_type"
+ c:type="GstNavigationCommand">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.h"
+ line="62">A set of commands that may be issued to an element providing the
+#GstNavigation interface. The available commands can be queried via
+the gst_navigation_query_new_commands() query.
+
+For convenience in handling DVD navigation, the MENU commands are aliased as:
+ GST_NAVIGATION_COMMAND_DVD_MENU = @GST_NAVIGATION_COMMAND_MENU1
+ GST_NAVIGATION_COMMAND_DVD_TITLE_MENU = @GST_NAVIGATION_COMMAND_MENU2
+ GST_NAVIGATION_COMMAND_DVD_ROOT_MENU = @GST_NAVIGATION_COMMAND_MENU3
+ GST_NAVIGATION_COMMAND_DVD_SUBPICTURE_MENU = @GST_NAVIGATION_COMMAND_MENU4
+ GST_NAVIGATION_COMMAND_DVD_AUDIO_MENU = @GST_NAVIGATION_COMMAND_MENU5
+ GST_NAVIGATION_COMMAND_DVD_ANGLE_MENU = @GST_NAVIGATION_COMMAND_MENU6
+ GST_NAVIGATION_COMMAND_DVD_CHAPTER_MENU = @GST_NAVIGATION_COMMAND_MENU7</doc>
+ <member name="invalid"
+ value="0"
+ c:identifier="GST_NAVIGATION_COMMAND_INVALID"
+ glib:nick="invalid">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.h"
+ line="64">An invalid command entry</doc>
+ </member>
+ <member name="menu1"
+ value="1"
+ c:identifier="GST_NAVIGATION_COMMAND_MENU1"
+ glib:nick="menu1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.h"
+ line="65">Execute navigation menu command 1. For DVD,
+this enters the DVD root menu, or exits back to the title from the menu.</doc>
+ </member>
+ <member name="menu2"
+ value="2"
+ c:identifier="GST_NAVIGATION_COMMAND_MENU2"
+ glib:nick="menu2">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.h"
+ line="67">Execute navigation menu command 2. For DVD,
+this jumps to the DVD title menu.</doc>
+ </member>
+ <member name="menu3"
+ value="3"
+ c:identifier="GST_NAVIGATION_COMMAND_MENU3"
+ glib:nick="menu3">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.h"
+ line="69">Execute navigation menu command 3. For DVD,
+this jumps into the DVD root menu.</doc>
+ </member>
+ <member name="menu4"
+ value="4"
+ c:identifier="GST_NAVIGATION_COMMAND_MENU4"
+ glib:nick="menu4">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.h"
+ line="71">Execute navigation menu command 4. For DVD,
+this jumps to the Subpicture menu.</doc>
+ </member>
+ <member name="menu5"
+ value="5"
+ c:identifier="GST_NAVIGATION_COMMAND_MENU5"
+ glib:nick="menu5">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.h"
+ line="73">Execute navigation menu command 5. For DVD,
+the jumps to the audio menu.</doc>
+ </member>
+ <member name="menu6"
+ value="6"
+ c:identifier="GST_NAVIGATION_COMMAND_MENU6"
+ glib:nick="menu6">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.h"
+ line="75">Execute navigation menu command 6. For DVD,
+this jumps to the angles menu.</doc>
+ </member>
+ <member name="menu7"
+ value="7"
+ c:identifier="GST_NAVIGATION_COMMAND_MENU7"
+ glib:nick="menu7">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.h"
+ line="77">Execute navigation menu command 7. For DVD,
+this jumps to the chapter menu.</doc>
+ </member>
+ <member name="left"
+ value="20"
+ c:identifier="GST_NAVIGATION_COMMAND_LEFT"
+ glib:nick="left">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.h"
+ line="79">Select the next button to the left in a menu,
+if such a button exists.</doc>
+ </member>
+ <member name="right"
+ value="21"
+ c:identifier="GST_NAVIGATION_COMMAND_RIGHT"
+ glib:nick="right">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.h"
+ line="81">Select the next button to the right in a menu,
+if such a button exists.</doc>
+ </member>
+ <member name="up"
+ value="22"
+ c:identifier="GST_NAVIGATION_COMMAND_UP"
+ glib:nick="up">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.h"
+ line="83">Select the button above the current one in a
+menu, if such a button exists.</doc>
+ </member>
+ <member name="down"
+ value="23"
+ c:identifier="GST_NAVIGATION_COMMAND_DOWN"
+ glib:nick="down">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.h"
+ line="85">Select the button below the current one in a
+menu, if such a button exists.</doc>
+ </member>
+ <member name="activate"
+ value="24"
+ c:identifier="GST_NAVIGATION_COMMAND_ACTIVATE"
+ glib:nick="activate">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.h"
+ line="87">Activate (click) the currently selected
+button in a menu, if such a button exists.</doc>
+ </member>
+ <member name="prev_angle"
+ value="30"
+ c:identifier="GST_NAVIGATION_COMMAND_PREV_ANGLE"
+ glib:nick="prev-angle">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.h"
+ line="89">Switch to the previous angle in a
+multiangle feature.</doc>
+ </member>
+ <member name="next_angle"
+ value="31"
+ c:identifier="GST_NAVIGATION_COMMAND_NEXT_ANGLE"
+ glib:nick="next-angle">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.h"
+ line="91">Switch to the next angle in a multiangle
+feature.</doc>
+ </member>
+ </enumeration>
+ <enumeration name="NavigationEventType"
+ glib:type-name="GstNavigationEventType"
+ glib:get-type="gst_navigation_event_type_get_type"
+ c:type="GstNavigationEventType">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.h"
+ line="244">Enum values for the various events that an element implementing the
+GstNavigation interface might send up the pipeline.</doc>
+ <member name="invalid"
+ value="0"
+ c:identifier="GST_NAVIGATION_EVENT_INVALID"
+ glib:nick="invalid">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.h"
+ line="246">Returned from
+gst_navigation_event_get_type() when the passed event is not a navigation event.</doc>
+ </member>
+ <member name="key_press"
+ value="1"
+ c:identifier="GST_NAVIGATION_EVENT_KEY_PRESS"
+ glib:nick="key-press">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.h"
+ line="248">A key press event. Use
+gst_navigation_event_parse_key_event() to extract the details from the event.</doc>
+ </member>
+ <member name="key_release"
+ value="2"
+ c:identifier="GST_NAVIGATION_EVENT_KEY_RELEASE"
+ glib:nick="key-release">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.h"
+ line="250">A key release event. Use
+gst_navigation_event_parse_key_event() to extract the details from the event.</doc>
+ </member>
+ <member name="mouse_button_press"
+ value="3"
+ c:identifier="GST_NAVIGATION_EVENT_MOUSE_BUTTON_PRESS"
+ glib:nick="mouse-button-press">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.h"
+ line="252">A mouse button press event. Use
+gst_navigation_event_parse_mouse_button_event() to extract the details from the
+event.</doc>
+ </member>
+ <member name="mouse_button_release"
+ value="4"
+ c:identifier="GST_NAVIGATION_EVENT_MOUSE_BUTTON_RELEASE"
+ glib:nick="mouse-button-release">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.h"
+ line="255">A mouse button release event. Use
+gst_navigation_event_parse_mouse_button_event() to extract the details from the
+event.</doc>
+ </member>
+ <member name="mouse_move"
+ value="5"
+ c:identifier="GST_NAVIGATION_EVENT_MOUSE_MOVE"
+ glib:nick="mouse-move">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.h"
+ line="258">A mouse movement event. Use
+gst_navigation_event_parse_mouse_move_event() to extract the details from the
+event.</doc>
+ </member>
+ <member name="command"
+ value="6"
+ c:identifier="GST_NAVIGATION_EVENT_COMMAND"
+ glib:nick="command">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.h"
+ line="261">A navigation command event. Use
+gst_navigation_event_parse_command() to extract the details from the event.</doc>
+ </member>
+ <member name="mouse_scroll"
+ value="7"
+ c:identifier="GST_NAVIGATION_EVENT_MOUSE_SCROLL"
+ glib:nick="mouse-scroll">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.h"
+ line="263">A mouse scroll event. Use
+gst_navigation_event_parse_mouse_scroll_event() to extract the details from
+the event. (Since: 1.18)</doc>
+ </member>
+ </enumeration>
+ <record name="NavigationInterface"
+ c:type="GstNavigationInterface"
+ glib:is-gtype-struct-for="Navigation">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.h"
+ line="43">Navigation interface.</doc>
+ <source-position filename="gst-libs/gst/video/navigation.h" line="55"/>
+ <field name="iface">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.h"
+ line="45">the parent interface</doc>
+ <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
+ </field>
+ <field name="send_event">
+ <callback name="send_event">
+ <source-position filename="gst-libs/gst/video/navigation.h"
+ line="54"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="navigation" transfer-ownership="none">
+ <type name="Navigation" c:type="GstNavigation*"/>
+ </parameter>
+ <parameter name="structure" transfer-ownership="none">
+ <type name="Gst.Structure" c:type="GstStructure*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ </record>
+ <enumeration name="NavigationMessageType"
+ glib:type-name="GstNavigationMessageType"
+ glib:get-type="gst_navigation_message_type_get_type"
+ c:type="GstNavigationMessageType">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.h"
+ line="186">A set of notifications that may be received on the bus when navigation
+related status changes.</doc>
+ <member name="invalid"
+ value="0"
+ c:identifier="GST_NAVIGATION_MESSAGE_INVALID"
+ glib:nick="invalid">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.h"
+ line="188">Returned from
+gst_navigation_message_get_type() when the passed message is not a
+navigation message.</doc>
+ </member>
+ <member name="mouse_over"
+ value="1"
+ c:identifier="GST_NAVIGATION_MESSAGE_MOUSE_OVER"
+ glib:nick="mouse-over">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.h"
+ line="191">Sent when the mouse moves over or leaves a
+clickable region of the output, such as a DVD menu button.</doc>
+ </member>
+ <member name="commands_changed"
+ value="2"
+ c:identifier="GST_NAVIGATION_MESSAGE_COMMANDS_CHANGED"
+ glib:nick="commands-changed">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.h"
+ line="193">Sent when the set of available commands
+changes and should re-queried by interested applications.</doc>
+ </member>
+ <member name="angles_changed"
+ value="3"
+ c:identifier="GST_NAVIGATION_MESSAGE_ANGLES_CHANGED"
+ glib:nick="angles-changed">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.h"
+ line="195">Sent when display angles in a multi-angle
+feature (such as a multiangle DVD) change - either angles have appeared or
+disappeared.</doc>
+ </member>
+ <member name="event"
+ value="4"
+ c:identifier="GST_NAVIGATION_MESSAGE_EVENT"
+ glib:nick="event">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.h"
+ line="198">Sent when a navigation event was not handled
+by any element in the pipeline (Since: 1.6)</doc>
+ </member>
+ </enumeration>
+ <enumeration name="NavigationQueryType"
+ glib:type-name="GstNavigationQueryType"
+ glib:get-type="gst_navigation_query_type_get_type"
+ c:type="GstNavigationQueryType">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.h"
+ line="138">Types of navigation interface queries.</doc>
+ <member name="invalid"
+ value="0"
+ c:identifier="GST_NAVIGATION_QUERY_INVALID"
+ glib:nick="invalid">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.h"
+ line="140">invalid query</doc>
+ </member>
+ <member name="commands"
+ value="1"
+ c:identifier="GST_NAVIGATION_QUERY_COMMANDS"
+ glib:nick="commands">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.h"
+ line="141">command query</doc>
+ </member>
+ <member name="angles"
+ value="2"
+ c:identifier="GST_NAVIGATION_QUERY_ANGLES"
+ glib:nick="angles">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.h"
+ line="142">viewing angle query</doc>
+ </member>
+ </enumeration>
+ <function-macro name="VIDEO_AGGREGATOR"
+ c:identifier="GST_VIDEO_AGGREGATOR"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/gstvideoaggregator.h"
+ line="175"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_AGGREGATOR_CAST"
+ c:identifier="GST_VIDEO_AGGREGATOR_CAST"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/gstvideoaggregator.h"
+ line="177"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_AGGREGATOR_CLASS"
+ c:identifier="GST_VIDEO_AGGREGATOR_CLASS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/gstvideoaggregator.h"
+ line="178"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_AGGREGATOR_CONVERT_PAD"
+ c:identifier="GST_VIDEO_AGGREGATOR_CONVERT_PAD"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/gstvideoaggregator.h"
+ line="120"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_AGGREGATOR_CONVERT_PAD_CLASS"
+ c:identifier="GST_VIDEO_AGGREGATOR_CONVERT_PAD_CLASS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/gstvideoaggregator.h"
+ line="121"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_AGGREGATOR_CONVERT_PAD_GET_CLASS"
+ c:identifier="GST_VIDEO_AGGREGATOR_CONVERT_PAD_GET_CLASS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/gstvideoaggregator.h"
+ line="122"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_AGGREGATOR_GET_CLASS"
+ c:identifier="GST_VIDEO_AGGREGATOR_GET_CLASS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/gstvideoaggregator.h"
+ line="184"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_AGGREGATOR_PAD"
+ c:identifier="GST_VIDEO_AGGREGATOR_PAD"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/gstvideoaggregator.h"
+ line="38"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_AGGREGATOR_PAD_CAST"
+ c:identifier="GST_VIDEO_AGGREGATOR_PAD_CAST"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/gstvideoaggregator.h"
+ line="40"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_AGGREGATOR_PAD_CLASS"
+ c:identifier="GST_VIDEO_AGGREGATOR_PAD_CLASS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/gstvideoaggregator.h"
+ line="41"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_AGGREGATOR_PAD_GET_CLASS"
+ c:identifier="GST_VIDEO_AGGREGATOR_PAD_GET_CLASS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/gstvideoaggregator.h"
+ line="47"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_ANCILLARY_DID16"
+ c:identifier="GST_VIDEO_ANCILLARY_DID16"
+ version="1.16"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.h"
+ line="78">Returns the #GstVideoAncillaryDID16 of the ancillary data.</doc>
+ <source-position filename="gst-libs/gst/video/video-anc.h" line="88"/>
+ <parameters>
+ <parameter name="anc">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.h"
+ line="80">a #GstVideoAncillary</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_BUFFER_IS_BOTTOM_FIELD"
+ c:identifier="GST_VIDEO_BUFFER_IS_BOTTOM_FIELD"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-frame.h"
+ line="226">Check if GST_VIDEO_BUFFER_FLAG_BOTTOM_FIELD is set on @buf (Since: 1.18).</doc>
+ <source-position filename="gst-libs/gst/video/video-frame.h" line="232"/>
+ <parameters>
+ <parameter name="buf">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-frame.h"
+ line="228">a #GstBuffer</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_BUFFER_IS_TOP_FIELD"
+ c:identifier="GST_VIDEO_BUFFER_IS_TOP_FIELD"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-frame.h"
+ line="218">Check if GST_VIDEO_BUFFER_FLAG_TOP_FIELD is set on @buf (Since: 1.18).</doc>
+ <source-position filename="gst-libs/gst/video/video-frame.h" line="224"/>
+ <parameters>
+ <parameter name="buf">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-frame.h"
+ line="220">a #GstBuffer</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_BUFFER_POOL"
+ c:identifier="GST_VIDEO_BUFFER_POOL"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/gstvideopool.h" line="63"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_BUFFER_POOL_CAST"
+ c:identifier="GST_VIDEO_BUFFER_POOL_CAST"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/gstvideopool.h" line="64"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_CAPS_MAKE"
+ c:identifier="GST_VIDEO_CAPS_MAKE"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="648">Generic caps string for video, for use in pad templates.</doc>
+ <source-position filename="gst-libs/gst/video/video-format.h"
+ line="635"/>
+ <parameters>
+ <parameter name="format">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="650">string format that describes the pixel layout, as string
+ (e.g. "I420", "RGB", "YV12", "YUY2", "AYUV", etc.)</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_CAPS_MAKE_WITH_FEATURES"
+ c:identifier="GST_VIDEO_CAPS_MAKE_WITH_FEATURES"
+ version="1.2"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="662">Generic caps string for video, for use in pad templates.</doc>
+ <source-position filename="gst-libs/gst/video/video-format.h"
+ line="653"/>
+ <parameters>
+ <parameter name="features">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="666">Requires caps features as a string, e.g.
+ "memory:SystemMemory".</doc>
+ </parameter>
+ <parameter name="format">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="664">string format that describes the pixel layout, as string
+ (e.g. "I420", "RGB", "YV12", "YUY2", "AYUV", etc.)</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_CODEC_FRAME_FLAGS"
+ c:identifier="GST_VIDEO_CODEC_FRAME_FLAGS"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoutils.h"
+ line="105">The entire set of flags for the @frame</doc>
+ <source-position filename="gst-libs/gst/video/gstvideoutils.h"
+ line="109"/>
+ <parameters>
+ <parameter name="frame">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoutils.h"
+ line="107">a #GstVideoCodecFrame</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_CODEC_FRAME_FLAG_IS_SET"
+ c:identifier="GST_VIDEO_CODEC_FRAME_FLAG_IS_SET"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoutils.h"
+ line="113">Checks whether the given @flag is set</doc>
+ <source-position filename="gst-libs/gst/video/gstvideoutils.h"
+ line="118"/>
+ <parameters>
+ <parameter name="frame">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoutils.h"
+ line="115">a #GstVideoCodecFrame</doc>
+ </parameter>
+ <parameter name="flag">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoutils.h"
+ line="116">a flag to check for</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_CODEC_FRAME_FLAG_SET"
+ c:identifier="GST_VIDEO_CODEC_FRAME_FLAG_SET"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoutils.h"
+ line="122">This macro sets the given bits</doc>
+ <source-position filename="gst-libs/gst/video/gstvideoutils.h"
+ line="127"/>
+ <parameters>
+ <parameter name="frame">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoutils.h"
+ line="124">a #GstVideoCodecFrame</doc>
+ </parameter>
+ <parameter name="flag">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoutils.h"
+ line="125">Flag to set, can be any number of bits in guint32.</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_CODEC_FRAME_FLAG_UNSET"
+ c:identifier="GST_VIDEO_CODEC_FRAME_FLAG_UNSET"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoutils.h"
+ line="131">This macro usets the given bits.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideoutils.h"
+ line="136"/>
+ <parameters>
+ <parameter name="frame">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoutils.h"
+ line="133">a #GstVideoCodecFrame</doc>
+ </parameter>
+ <parameter name="flag">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoutils.h"
+ line="134">Flag to unset</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_CODEC_FRAME_IS_DECODE_ONLY"
+ c:identifier="GST_VIDEO_CODEC_FRAME_IS_DECODE_ONLY"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoutils.h"
+ line="140">Tests if the buffer should only be decoded but not sent downstream.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideoutils.h"
+ line="144"/>
+ <parameters>
+ <parameter name="frame">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoutils.h"
+ line="142">a #GstVideoCodecFrame</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_CODEC_FRAME_IS_FORCE_KEYFRAME"
+ c:identifier="GST_VIDEO_CODEC_FRAME_IS_FORCE_KEYFRAME"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoutils.h"
+ line="186">Tests if the frame must be encoded as a keyframe. Applies only to
+frames provided to encoders. Decoders can safely ignore this field.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideoutils.h"
+ line="191"/>
+ <parameters>
+ <parameter name="frame">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoutils.h"
+ line="188">a #GstVideoCodecFrame</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_CODEC_FRAME_IS_FORCE_KEYFRAME_HEADERS"
+ c:identifier="GST_VIDEO_CODEC_FRAME_IS_FORCE_KEYFRAME_HEADERS"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoutils.h"
+ line="197">Tests if encoder should output stream headers before outputting the
+resulting encoded buffer for the given frame.
+
+Applies only to frames provided to encoders. Decoders can safely
+ignore this field.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideoutils.h"
+ line="205"/>
+ <parameters>
+ <parameter name="frame">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoutils.h"
+ line="199">a #GstVideoCodecFrame</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_CODEC_FRAME_IS_SYNC_POINT"
+ c:identifier="GST_VIDEO_CODEC_FRAME_IS_SYNC_POINT"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoutils.h"
+ line="161">Tests if the frame is a synchronization point (like a keyframe).
+
+Decoder implementations can use this to detect keyframes.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideoutils.h"
+ line="167"/>
+ <parameters>
+ <parameter name="frame">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoutils.h"
+ line="163">a #GstVideoCodecFrame</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_CODEC_FRAME_SET_DECODE_ONLY"
+ c:identifier="GST_VIDEO_CODEC_FRAME_SET_DECODE_ONLY"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoutils.h"
+ line="148">Sets the buffer to not be sent downstream.
+
+Decoder implementation can use this if they have frames that
+are not meant to be displayed.
+
+Encoder implementation can safely ignore this field.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideoutils.h"
+ line="157"/>
+ <parameters>
+ <parameter name="frame">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoutils.h"
+ line="150">a #GstVideoCodecFrame</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_CODEC_FRAME_SET_FORCE_KEYFRAME"
+ c:identifier="GST_VIDEO_CODEC_FRAME_SET_FORCE_KEYFRAME"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/gstvideoutils.h"
+ line="192"/>
+ <parameters>
+ <parameter name="frame">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_CODEC_FRAME_SET_FORCE_KEYFRAME_HEADERS"
+ c:identifier="GST_VIDEO_CODEC_FRAME_SET_FORCE_KEYFRAME_HEADERS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/gstvideoutils.h"
+ line="206"/>
+ <parameters>
+ <parameter name="frame">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_CODEC_FRAME_SET_SYNC_POINT"
+ c:identifier="GST_VIDEO_CODEC_FRAME_SET_SYNC_POINT"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoutils.h"
+ line="171">Sets the frame to be a synchronization point (like a keyframe).
+
+Encoder implementations should set this accordingly.
+
+Decoder implementing parsing features should set this when they
+detect such a synchronization point.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideoutils.h"
+ line="180"/>
+ <parameters>
+ <parameter name="frame">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoutils.h"
+ line="173">a #GstVideoCodecFrame</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_CODEC_FRAME_UNSET_FORCE_KEYFRAME"
+ c:identifier="GST_VIDEO_CODEC_FRAME_UNSET_FORCE_KEYFRAME"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/gstvideoutils.h"
+ line="193"/>
+ <parameters>
+ <parameter name="frame">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_CODEC_FRAME_UNSET_FORCE_KEYFRAME_HEADERS"
+ c:identifier="GST_VIDEO_CODEC_FRAME_UNSET_FORCE_KEYFRAME_HEADERS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/gstvideoutils.h"
+ line="207"/>
+ <parameters>
+ <parameter name="frame">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_CODEC_FRAME_UNSET_SYNC_POINT"
+ c:identifier="GST_VIDEO_CODEC_FRAME_UNSET_SYNC_POINT"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/gstvideoutils.h"
+ line="181"/>
+ <parameters>
+ <parameter name="frame">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <constant name="VIDEO_COLORIMETRY_BT2020"
+ value="bt2020"
+ c:type="GST_VIDEO_COLORIMETRY_BT2020">
+ <source-position filename="gst-libs/gst/video/video-color.h" line="248"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="VIDEO_COLORIMETRY_BT2020_10"
+ value="bt2020-10"
+ c:type="GST_VIDEO_COLORIMETRY_BT2020_10">
+ <source-position filename="gst-libs/gst/video/video-color.h" line="249"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="VIDEO_COLORIMETRY_BT2100_HLG"
+ value="bt2100-hlg"
+ c:type="GST_VIDEO_COLORIMETRY_BT2100_HLG">
+ <source-position filename="gst-libs/gst/video/video-color.h" line="251"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="VIDEO_COLORIMETRY_BT2100_PQ"
+ value="bt2100-pq"
+ c:type="GST_VIDEO_COLORIMETRY_BT2100_PQ">
+ <source-position filename="gst-libs/gst/video/video-color.h" line="250"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="VIDEO_COLORIMETRY_BT601"
+ value="bt601"
+ c:type="GST_VIDEO_COLORIMETRY_BT601">
+ <source-position filename="gst-libs/gst/video/video-color.h" line="244"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="VIDEO_COLORIMETRY_BT709"
+ value="bt709"
+ c:type="GST_VIDEO_COLORIMETRY_BT709">
+ <source-position filename="gst-libs/gst/video/video-color.h" line="245"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="VIDEO_COLORIMETRY_SMPTE240M"
+ value="smpte240m"
+ c:type="GST_VIDEO_COLORIMETRY_SMPTE240M">
+ <source-position filename="gst-libs/gst/video/video-color.h" line="246"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="VIDEO_COLORIMETRY_SRGB"
+ value="sRGB"
+ c:type="GST_VIDEO_COLORIMETRY_SRGB">
+ <source-position filename="gst-libs/gst/video/video-color.h" line="247"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="VIDEO_COMP_A" value="3" c:type="GST_VIDEO_COMP_A">
+ <source-position filename="gst-libs/gst/video/video-format.h"
+ line="309"/>
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="VIDEO_COMP_B" value="2" c:type="GST_VIDEO_COMP_B">
+ <source-position filename="gst-libs/gst/video/video-format.h"
+ line="306"/>
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="VIDEO_COMP_G" value="1" c:type="GST_VIDEO_COMP_G">
+ <source-position filename="gst-libs/gst/video/video-format.h"
+ line="305"/>
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="VIDEO_COMP_INDEX" value="0" c:type="GST_VIDEO_COMP_INDEX">
+ <source-position filename="gst-libs/gst/video/video-format.h"
+ line="312"/>
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="VIDEO_COMP_PALETTE"
+ value="1"
+ c:type="GST_VIDEO_COMP_PALETTE">
+ <source-position filename="gst-libs/gst/video/video-format.h"
+ line="313"/>
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="VIDEO_COMP_R" value="0" c:type="GST_VIDEO_COMP_R">
+ <source-position filename="gst-libs/gst/video/video-format.h"
+ line="304"/>
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="VIDEO_COMP_U" value="1" c:type="GST_VIDEO_COMP_U">
+ <source-position filename="gst-libs/gst/video/video-format.h"
+ line="300"/>
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="VIDEO_COMP_V" value="2" c:type="GST_VIDEO_COMP_V">
+ <source-position filename="gst-libs/gst/video/video-format.h"
+ line="301"/>
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="VIDEO_COMP_Y" value="0" c:type="GST_VIDEO_COMP_Y">
+ <source-position filename="gst-libs/gst/video/video-format.h"
+ line="299"/>
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="VIDEO_CONVERTER_OPT_ALPHA_MODE"
+ value="GstVideoConverter.alpha-mode"
+ c:type="GST_VIDEO_CONVERTER_OPT_ALPHA_MODE">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-converter.h"
+ line="156">#GstVideoAlphaMode, the alpha mode to use.
+Default is #GST_VIDEO_ALPHA_MODE_COPY.</doc>
+ <source-position filename="gst-libs/gst/video/video-converter.h"
+ line="162"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="VIDEO_CONVERTER_OPT_ALPHA_VALUE"
+ value="GstVideoConverter.alpha-value"
+ c:type="GST_VIDEO_CONVERTER_OPT_ALPHA_VALUE">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-converter.h"
+ line="128">#G_TYPE_DOUBLE, the alpha color value to use.
+Default to 1.0</doc>
+ <source-position filename="gst-libs/gst/video/video-converter.h"
+ line="134"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="VIDEO_CONVERTER_OPT_BORDER_ARGB"
+ value="GstVideoConverter.border-argb"
+ c:type="GST_VIDEO_CONVERTER_OPT_BORDER_ARGB">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-converter.h"
+ line="163">#G_TYPE_UINT, the border color to use if #GST_VIDEO_CONVERTER_OPT_FILL_BORDER
+is set to %TRUE. The color is in ARGB format.
+Default 0xff000000</doc>
+ <source-position filename="gst-libs/gst/video/video-converter.h"
+ line="170"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="VIDEO_CONVERTER_OPT_CHROMA_MODE"
+ value="GstVideoConverter.chroma-mode"
+ c:type="GST_VIDEO_CONVERTER_OPT_CHROMA_MODE">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-converter.h"
+ line="190">#GstVideoChromaMode, set the chroma resample mode subsampled
+formats. Default is #GST_VIDEO_CHROMA_MODE_FULL.</doc>
+ <source-position filename="gst-libs/gst/video/video-converter.h"
+ line="196"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="VIDEO_CONVERTER_OPT_CHROMA_RESAMPLER_METHOD"
+ value="GstVideoConverter.chroma-resampler-method"
+ c:type="GST_VIDEO_CONVERTER_OPT_CHROMA_RESAMPLER_METHOD">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-converter.h"
+ line="35">#GstVideoChromaMethod, The resampler method to use for
+chroma resampling. Other options for the resampler can be used, see
+the #GstVideoResampler. Default is #GST_VIDEO_RESAMPLER_METHOD_LINEAR</doc>
+ <source-position filename="gst-libs/gst/video/video-converter.h"
+ line="42"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="VIDEO_CONVERTER_OPT_DEST_HEIGHT"
+ value="GstVideoConverter.dest-height"
+ c:type="GST_VIDEO_CONVERTER_OPT_DEST_HEIGHT">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-converter.h"
+ line="112">#G_TYPE_INT, height in the destination frame, default destination height</doc>
+ <source-position filename="gst-libs/gst/video/video-converter.h"
+ line="117"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="VIDEO_CONVERTER_OPT_DEST_WIDTH"
+ value="GstVideoConverter.dest-width"
+ c:type="GST_VIDEO_CONVERTER_OPT_DEST_WIDTH">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-converter.h"
+ line="106">#G_TYPE_INT, width in the destination frame, default destination width</doc>
+ <source-position filename="gst-libs/gst/video/video-converter.h"
+ line="111"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="VIDEO_CONVERTER_OPT_DEST_X"
+ value="GstVideoConverter.dest-x"
+ c:type="GST_VIDEO_CONVERTER_OPT_DEST_X">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-converter.h"
+ line="94">#G_TYPE_INT, x position in the destination frame, default 0</doc>
+ <source-position filename="gst-libs/gst/video/video-converter.h"
+ line="99"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="VIDEO_CONVERTER_OPT_DEST_Y"
+ value="GstVideoConverter.dest-y"
+ c:type="GST_VIDEO_CONVERTER_OPT_DEST_Y">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-converter.h"
+ line="100">#G_TYPE_INT, y position in the destination frame, default 0</doc>
+ <source-position filename="gst-libs/gst/video/video-converter.h"
+ line="105"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="VIDEO_CONVERTER_OPT_DITHER_METHOD"
+ value="GstVideoConverter.dither-method"
+ c:type="GST_VIDEO_CONVERTER_OPT_DITHER_METHOD">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-converter.h"
+ line="51">#GstVideoDitherMethod, The dither method to use when
+changing bit depth.
+Default is #GST_VIDEO_DITHER_BAYER.</doc>
+ <source-position filename="gst-libs/gst/video/video-converter.h"
+ line="58"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="VIDEO_CONVERTER_OPT_DITHER_QUANTIZATION"
+ value="GstVideoConverter.dither-quantization"
+ c:type="GST_VIDEO_CONVERTER_OPT_DITHER_QUANTIZATION">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-converter.h"
+ line="60">#G_TYPE_UINT, The quantization amount to dither to. Components will be
+quantized to multiples of this value.
+Default is 1</doc>
+ <source-position filename="gst-libs/gst/video/video-converter.h"
+ line="67"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="VIDEO_CONVERTER_OPT_FILL_BORDER"
+ value="GstVideoConverter.fill-border"
+ c:type="GST_VIDEO_CONVERTER_OPT_FILL_BORDER">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-converter.h"
+ line="119">#G_TYPE_BOOLEAN, if the destination rectangle does not fill the complete
+destination image, render a border with
+#GST_VIDEO_CONVERTER_OPT_BORDER_ARGB. Otherwise the unusded pixels in the
+destination are untouched. Default %TRUE.</doc>
+ <source-position filename="gst-libs/gst/video/video-converter.h"
+ line="127"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="VIDEO_CONVERTER_OPT_GAMMA_MODE"
+ value="GstVideoConverter.gamma-mode"
+ c:type="GST_VIDEO_CONVERTER_OPT_GAMMA_MODE">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-converter.h"
+ line="237">#GstVideoGammaMode, set the gamma mode.
+Default is #GST_VIDEO_GAMMA_MODE_NONE.</doc>
+ <source-position filename="gst-libs/gst/video/video-converter.h"
+ line="243"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="VIDEO_CONVERTER_OPT_MATRIX_MODE"
+ value="GstVideoConverter.matrix-mode"
+ c:type="GST_VIDEO_CONVERTER_OPT_MATRIX_MODE">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-converter.h"
+ line="217">#GstVideoMatrixMode, set the color matrix conversion mode for
+converting between Y'PbPr and non-linear RGB (R'G'B').
+Default is #GST_VIDEO_MATRIX_MODE_FULL.</doc>
+ <source-position filename="gst-libs/gst/video/video-converter.h"
+ line="224"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="VIDEO_CONVERTER_OPT_PRIMARIES_MODE"
+ value="GstVideoConverter.primaries-mode"
+ c:type="GST_VIDEO_CONVERTER_OPT_PRIMARIES_MODE">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-converter.h"
+ line="260">#GstVideoPrimariesMode, set the primaries conversion mode.
+Default is #GST_VIDEO_PRIMARIES_MODE_NONE.</doc>
+ <source-position filename="gst-libs/gst/video/video-converter.h"
+ line="266"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="VIDEO_CONVERTER_OPT_RESAMPLER_METHOD"
+ value="GstVideoConverter.resampler-method"
+ c:type="GST_VIDEO_CONVERTER_OPT_RESAMPLER_METHOD">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-converter.h"
+ line="27">#GstVideoResamplerMethod, The resampler method to use for
+resampling. Other options for the resampler can be used, see
+the #GstVideoResampler. Default is #GST_VIDEO_RESAMPLER_METHOD_CUBIC</doc>
+ <source-position filename="gst-libs/gst/video/video-converter.h"
+ line="34"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="VIDEO_CONVERTER_OPT_RESAMPLER_TAPS"
+ value="GstVideoConverter.resampler-taps"
+ c:type="GST_VIDEO_CONVERTER_OPT_RESAMPLER_TAPS">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-converter.h"
+ line="43">#G_TYPE_UINT, The number of taps for the resampler.
+Default is 0: let the resampler choose a good value.</doc>
+ <source-position filename="gst-libs/gst/video/video-converter.h"
+ line="49"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="VIDEO_CONVERTER_OPT_SRC_HEIGHT"
+ value="GstVideoConverter.src-height"
+ c:type="GST_VIDEO_CONVERTER_OPT_SRC_HEIGHT">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-converter.h"
+ line="87">#G_TYPE_INT, source height to convert, default source height</doc>
+ <source-position filename="gst-libs/gst/video/video-converter.h"
+ line="92"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="VIDEO_CONVERTER_OPT_SRC_WIDTH"
+ value="GstVideoConverter.src-width"
+ c:type="GST_VIDEO_CONVERTER_OPT_SRC_WIDTH">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-converter.h"
+ line="81">#G_TYPE_INT, source width to convert, default source width</doc>
+ <source-position filename="gst-libs/gst/video/video-converter.h"
+ line="86"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="VIDEO_CONVERTER_OPT_SRC_X"
+ value="GstVideoConverter.src-x"
+ c:type="GST_VIDEO_CONVERTER_OPT_SRC_X">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-converter.h"
+ line="69">#G_TYPE_INT, source x position to start conversion, default 0</doc>
+ <source-position filename="gst-libs/gst/video/video-converter.h"
+ line="74"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="VIDEO_CONVERTER_OPT_SRC_Y"
+ value="GstVideoConverter.src-y"
+ c:type="GST_VIDEO_CONVERTER_OPT_SRC_Y">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-converter.h"
+ line="75">#G_TYPE_INT, source y position to start conversion, default 0</doc>
+ <source-position filename="gst-libs/gst/video/video-converter.h"
+ line="80"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="VIDEO_CONVERTER_OPT_THREADS"
+ value="GstVideoConverter.threads"
+ c:type="GST_VIDEO_CONVERTER_OPT_THREADS">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-converter.h"
+ line="268">#G_TYPE_UINT, maximum number of threads to use. Default 1, 0 for the number
+of cores.</doc>
+ <source-position filename="gst-libs/gst/video/video-converter.h"
+ line="274"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <function-macro name="VIDEO_DECODER"
+ c:identifier="GST_VIDEO_DECODER"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="34"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_DECODER_CAST"
+ c:identifier="GST_VIDEO_DECODER_CAST"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="44"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_DECODER_CLASS"
+ c:identifier="GST_VIDEO_DECODER_CLASS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="36"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_DECODER_ERROR"
+ c:identifier="GST_VIDEO_DECODER_ERROR"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="128">Utility function that video decoder elements can use in case they encountered
+a data processing error that may be fatal for the current "data unit" but
+need not prevent subsequent decoding. Such errors are counted and if there
+are too many, as configured in the context's max_errors, the pipeline will
+post an error message and the application will be requested to stop further
+media processing. Otherwise, it is considered a "glitch" and only a warning
+is logged. In either case, @ret is set to the proper value to
+return to upstream/caller (indicating either GST_FLOW_ERROR or GST_FLOW_OK).</doc>
+ <source-position filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="148"/>
+ <parameters>
+ <parameter name="el">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="130">the base video decoder element that generates the error</doc>
+ </parameter>
+ <parameter name="w">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="131">element defined weight of the error, added to error count</doc>
+ </parameter>
+ <parameter name="domain">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="132">like CORE, LIBRARY, RESOURCE or STREAM (see #gstreamer-GstGError)</doc>
+ </parameter>
+ <parameter name="code">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="133">error code defined for that domain (see #gstreamer-GstGError)</doc>
+ </parameter>
+ <parameter name="text">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="134">the message to display (format string and args enclosed in
+ parentheses)</doc>
+ </parameter>
+ <parameter name="debug">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="136">debugging information for the message (format string and args
+ enclosed in parentheses)</doc>
+ </parameter>
+ <parameter name="ret">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="138">variable to receive return value</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_DECODER_GET_CLASS"
+ c:identifier="GST_VIDEO_DECODER_GET_CLASS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="38"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_DECODER_INPUT_SEGMENT"
+ c:identifier="GST_VIDEO_DECODER_INPUT_SEGMENT"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="82">Gives the segment of the element.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="87"/>
+ <parameters>
+ <parameter name="obj">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="84">base decoder instance</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <constant name="VIDEO_DECODER_MAX_ERRORS"
+ value="10"
+ c:type="GST_VIDEO_DECODER_MAX_ERRORS">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="159">Default maximum number of errors tolerated before signaling error.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="163"/>
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <function-macro name="VIDEO_DECODER_OUTPUT_SEGMENT"
+ c:identifier="GST_VIDEO_DECODER_OUTPUT_SEGMENT"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="90">Gives the segment of the element.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="95"/>
+ <parameters>
+ <parameter name="obj">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="92">base decoder instance</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <constant name="VIDEO_DECODER_SINK_NAME"
+ value="sink"
+ c:type="GST_VIDEO_DECODER_SINK_NAME">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="47">The name of the templates for the sink pad.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="51"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <function-macro name="VIDEO_DECODER_SINK_PAD"
+ c:identifier="GST_VIDEO_DECODER_SINK_PAD"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="68">Gives the pointer to the sink #GstPad object of the element.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="73"/>
+ <parameters>
+ <parameter name="obj">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="70">a #GstVideoDecoder</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <constant name="VIDEO_DECODER_SRC_NAME"
+ value="src"
+ c:type="GST_VIDEO_DECODER_SRC_NAME">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="53">The name of the templates for the source pad.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="57"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <function-macro name="VIDEO_DECODER_SRC_PAD"
+ c:identifier="GST_VIDEO_DECODER_SRC_PAD"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="60">Gives the pointer to the source #GstPad object of the element.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="65"/>
+ <parameters>
+ <parameter name="obj">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="62">a #GstVideoDecoder</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_DECODER_STREAM_LOCK"
+ c:identifier="GST_VIDEO_DECODER_STREAM_LOCK"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="98">Obtain a lock to protect the decoder function from concurrent access.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="103"/>
+ <parameters>
+ <parameter name="decoder">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="100">video decoder instance</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_DECODER_STREAM_UNLOCK"
+ c:identifier="GST_VIDEO_DECODER_STREAM_UNLOCK"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="106">Release the lock that protects the decoder function from concurrent access.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="111"/>
+ <parameters>
+ <parameter name="decoder">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="108">video decoder instance</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_DEPRECATED_FOR"
+ c:identifier="GST_VIDEO_DEPRECATED_FOR"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/video-prelude.h"
+ line="35"/>
+ <parameters>
+ <parameter name="f">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_DIRECTION"
+ c:identifier="GST_VIDEO_DIRECTION"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/videodirection.h"
+ line="30"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_DIRECTION_GET_INTERFACE"
+ c:identifier="GST_VIDEO_DIRECTION_GET_INTERFACE"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/videodirection.h"
+ line="34"/>
+ <parameters>
+ <parameter name="inst">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_ENCODER"
+ c:identifier="GST_VIDEO_ENCODER"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/gstvideoencoder.h"
+ line="33"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_ENCODER_CAST"
+ c:identifier="GST_VIDEO_ENCODER_CAST"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/gstvideoencoder.h"
+ line="43"/>
+ <parameters>
+ <parameter name="enc">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_ENCODER_CLASS"
+ c:identifier="GST_VIDEO_ENCODER_CLASS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/gstvideoencoder.h"
+ line="35"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_ENCODER_GET_CLASS"
+ c:identifier="GST_VIDEO_ENCODER_GET_CLASS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/gstvideoencoder.h"
+ line="37"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_ENCODER_INPUT_SEGMENT"
+ c:identifier="GST_VIDEO_ENCODER_INPUT_SEGMENT"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoencoder.h"
+ line="94">Gives the segment of the element.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideoencoder.h"
+ line="99"/>
+ <parameters>
+ <parameter name="obj">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoencoder.h"
+ line="96">base parse instance</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_ENCODER_OUTPUT_SEGMENT"
+ c:identifier="GST_VIDEO_ENCODER_OUTPUT_SEGMENT"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoencoder.h"
+ line="102">Gives the segment of the element.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideoencoder.h"
+ line="107"/>
+ <parameters>
+ <parameter name="obj">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoencoder.h"
+ line="104">base parse instance</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <constant name="VIDEO_ENCODER_SINK_NAME"
+ value="sink"
+ c:type="GST_VIDEO_ENCODER_SINK_NAME">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoencoder.h"
+ line="46">The name of the templates for the sink pad.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideoencoder.h"
+ line="50"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <function-macro name="VIDEO_ENCODER_SINK_PAD"
+ c:identifier="GST_VIDEO_ENCODER_SINK_PAD"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoencoder.h"
+ line="67">Gives the pointer to the sink #GstPad object of the element.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideoencoder.h"
+ line="72"/>
+ <parameters>
+ <parameter name="obj">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoencoder.h"
+ line="69">a #GstVideoEncoder</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <constant name="VIDEO_ENCODER_SRC_NAME"
+ value="src"
+ c:type="GST_VIDEO_ENCODER_SRC_NAME">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoencoder.h"
+ line="52">The name of the templates for the source pad.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideoencoder.h"
+ line="56"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <function-macro name="VIDEO_ENCODER_SRC_PAD"
+ c:identifier="GST_VIDEO_ENCODER_SRC_PAD"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoencoder.h"
+ line="59">Gives the pointer to the source #GstPad object of the element.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideoencoder.h"
+ line="64"/>
+ <parameters>
+ <parameter name="obj">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoencoder.h"
+ line="61">a #GstVideoEncoder</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_ENCODER_STREAM_LOCK"
+ c:identifier="GST_VIDEO_ENCODER_STREAM_LOCK"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoencoder.h"
+ line="110">Obtain a lock to protect the encoder function from concurrent access.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideoencoder.h"
+ line="115"/>
+ <parameters>
+ <parameter name="encoder">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoencoder.h"
+ line="112">video encoder instance</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_ENCODER_STREAM_UNLOCK"
+ c:identifier="GST_VIDEO_ENCODER_STREAM_UNLOCK"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoencoder.h"
+ line="118">Release the lock that protects the encoder function from concurrent access.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideoencoder.h"
+ line="123"/>
+ <parameters>
+ <parameter name="encoder">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoencoder.h"
+ line="120">video encoder instance</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_FILTER"
+ c:identifier="GST_VIDEO_FILTER"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/gstvideofilter.h"
+ line="33"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_FILTER_CAST"
+ c:identifier="GST_VIDEO_FILTER_CAST"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/gstvideofilter.h"
+ line="43"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_FILTER_CLASS"
+ c:identifier="GST_VIDEO_FILTER_CLASS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/gstvideofilter.h"
+ line="35"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_FILTER_GET_CLASS"
+ c:identifier="GST_VIDEO_FILTER_GET_CLASS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/gstvideofilter.h"
+ line="37"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <constant name="VIDEO_FORMATS_ALL"
+ value="{ AYUV64, ARGB64, GBRA_12BE, GBRA_12LE, Y412_BE, Y412_LE, A444_10BE, GBRA_10BE, A444_10LE, GBRA_10LE, A422_10BE, A422_10LE, A420_10BE, A420_10LE, Y410, RGB10A2_LE, BGR10A2_LE, GBRA, ABGR, VUYA, BGRA, AYUV, ARGB, RGBA, A420, Y444_16BE, Y444_16LE, v216, P016_BE, P016_LE, Y444_12BE, GBR_12BE, Y444_12LE, GBR_12LE, I422_12BE, I422_12LE, Y212_BE, Y212_LE, I420_12BE, I420_12LE, P012_BE, P012_LE, Y444_10BE, GBR_10BE, Y444_10LE, GBR_10LE, r210, I422_10BE, I422_10LE, NV16_10LE32, Y210, v210, UYVP, I420_10BE, I420_10LE, P010_10BE, P010_10LE, NV12_10LE32, NV12_10LE40, Y444, GBR, NV24, xBGR, BGRx, xRGB, RGBx, BGR, IYU2, v308, RGB, Y42B, NV61, NV16, VYUY, UYVY, YVYU, YUY2, I420, YV12, NV21, NV12, NV12_64Z32, NV12_4L4, NV12_32L32, Y41B, IYU1, YVU9, YUV9, RGB16, BGR16, RGB15, BGR15, RGB8P, GRAY16_BE, GRAY16_LE, GRAY10_LE32, GRAY8 }"
+ c:type="GST_VIDEO_FORMATS_ALL">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="600">List of all video formats, for use in template caps strings.
+
+Formats are sorted by decreasing "quality", using these criteria by priority:
+ - number of components
+ - depth
+ - subsampling factor of the width
+ - subsampling factor of the height
+ - number of planes
+ - native endianness preferred
+ - pixel stride
+ - poffset
+ - prefer non-complex formats
+ - prefer YUV formats over RGB ones
+ - prefer I420 over YV12
+ - format name</doc>
+ <source-position filename="gst-libs/gst/video/video-format.h"
+ line="620"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <function-macro name="VIDEO_FORMAT_INFO_BITS"
+ c:identifier="GST_VIDEO_FORMAT_INFO_BITS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/video-format.h"
+ line="488"/>
+ <parameters>
+ <parameter name="info">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_FORMAT_INFO_DATA"
+ c:identifier="GST_VIDEO_FORMAT_INFO_DATA"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/video-format.h"
+ line="539"/>
+ <parameters>
+ <parameter name="info">
+ </parameter>
+ <parameter name="planes">
+ </parameter>
+ <parameter name="comp">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_FORMAT_INFO_DEPTH"
+ c:identifier="GST_VIDEO_FORMAT_INFO_DEPTH"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/video-format.h"
+ line="491"/>
+ <parameters>
+ <parameter name="info">
+ </parameter>
+ <parameter name="c">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_FORMAT_INFO_FLAGS"
+ c:identifier="GST_VIDEO_FORMAT_INFO_FLAGS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/video-format.h"
+ line="477"/>
+ <parameters>
+ <parameter name="info">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_FORMAT_INFO_FORMAT"
+ c:identifier="GST_VIDEO_FORMAT_INFO_FORMAT"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/video-format.h"
+ line="475"/>
+ <parameters>
+ <parameter name="info">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_FORMAT_INFO_HAS_ALPHA"
+ c:identifier="GST_VIDEO_FORMAT_INFO_HAS_ALPHA"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/video-format.h"
+ line="482"/>
+ <parameters>
+ <parameter name="info">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_FORMAT_INFO_HAS_PALETTE"
+ c:identifier="GST_VIDEO_FORMAT_INFO_HAS_PALETTE"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/video-format.h"
+ line="484"/>
+ <parameters>
+ <parameter name="info">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_FORMAT_INFO_H_SUB"
+ c:identifier="GST_VIDEO_FORMAT_INFO_H_SUB"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/video-format.h"
+ line="531"/>
+ <parameters>
+ <parameter name="info">
+ </parameter>
+ <parameter name="c">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_FORMAT_INFO_IS_COMPLEX"
+ c:identifier="GST_VIDEO_FORMAT_INFO_IS_COMPLEX"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/video-format.h"
+ line="485"/>
+ <parameters>
+ <parameter name="info">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_FORMAT_INFO_IS_GRAY"
+ c:identifier="GST_VIDEO_FORMAT_INFO_IS_GRAY"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/video-format.h"
+ line="481"/>
+ <parameters>
+ <parameter name="info">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_FORMAT_INFO_IS_LE"
+ c:identifier="GST_VIDEO_FORMAT_INFO_IS_LE"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/video-format.h"
+ line="483"/>
+ <parameters>
+ <parameter name="info">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_FORMAT_INFO_IS_RGB"
+ c:identifier="GST_VIDEO_FORMAT_INFO_IS_RGB"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/video-format.h"
+ line="480"/>
+ <parameters>
+ <parameter name="info">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_FORMAT_INFO_IS_TILED"
+ c:identifier="GST_VIDEO_FORMAT_INFO_IS_TILED"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/video-format.h"
+ line="486"/>
+ <parameters>
+ <parameter name="info">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_FORMAT_INFO_IS_YUV"
+ c:identifier="GST_VIDEO_FORMAT_INFO_IS_YUV"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/video-format.h"
+ line="479"/>
+ <parameters>
+ <parameter name="info">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_FORMAT_INFO_NAME"
+ c:identifier="GST_VIDEO_FORMAT_INFO_NAME"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/video-format.h"
+ line="476"/>
+ <parameters>
+ <parameter name="info">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_FORMAT_INFO_N_COMPONENTS"
+ c:identifier="GST_VIDEO_FORMAT_INFO_N_COMPONENTS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/video-format.h"
+ line="489"/>
+ <parameters>
+ <parameter name="info">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_FORMAT_INFO_N_PLANES"
+ c:identifier="GST_VIDEO_FORMAT_INFO_N_PLANES"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="507">Number of planes. This is the number of planes the pixel layout is
+organized in in memory. The number of planes can be less than the
+number of components (e.g. Y,U,V,A or R, G, B, A) when multiple
+components are packed into one plane.
+
+Examples: RGB/RGBx/RGBA: 1 plane, 3/3/4 components;
+I420: 3 planes, 3 components; NV21/NV12: 2 planes, 3 components.</doc>
+ <source-position filename="gst-libs/gst/video/video-format.h"
+ line="519"/>
+ <parameters>
+ <parameter name="info">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="509">a #GstVideoFormatInfo</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_FORMAT_INFO_OFFSET"
+ c:identifier="GST_VIDEO_FORMAT_INFO_OFFSET"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/video-format.h"
+ line="553"/>
+ <parameters>
+ <parameter name="info">
+ </parameter>
+ <parameter name="offsets">
+ </parameter>
+ <parameter name="comp">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_FORMAT_INFO_PLANE"
+ c:identifier="GST_VIDEO_FORMAT_INFO_PLANE"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="520">Plane number where the given component can be found. A plane may
+contain data for multiple components.</doc>
+ <source-position filename="gst-libs/gst/video/video-format.h"
+ line="528"/>
+ <parameters>
+ <parameter name="info">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="522">a #GstVideoFormatInfo</doc>
+ </parameter>
+ <parameter name="c">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="523">the component index</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_FORMAT_INFO_POFFSET"
+ c:identifier="GST_VIDEO_FORMAT_INFO_POFFSET"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/video-format.h"
+ line="529"/>
+ <parameters>
+ <parameter name="info">
+ </parameter>
+ <parameter name="c">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_FORMAT_INFO_PSTRIDE"
+ c:identifier="GST_VIDEO_FORMAT_INFO_PSTRIDE"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="492">pixel stride for the given component. This is the amount of bytes to the
+pixel immediately to the right, so basically bytes from one pixel to the
+next. When bits &lt; 8, the stride is expressed in bits.
+
+Examples: for 24-bit RGB, the pixel stride would be 3 bytes, while it
+would be 4 bytes for RGBx or ARGB, and 8 bytes for ARGB64 or AYUV64.
+For planar formats such as I420 the pixel stride is usually 1. For
+YUY2 it would be 2 bytes.</doc>
+ <source-position filename="gst-libs/gst/video/video-format.h"
+ line="506"/>
+ <parameters>
+ <parameter name="info">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="494">a #GstVideoFormatInfo</doc>
+ </parameter>
+ <parameter name="c">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="495">the component index</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_FORMAT_INFO_SCALE_HEIGHT"
+ c:identifier="GST_VIDEO_FORMAT_INFO_SCALE_HEIGHT"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/video-format.h"
+ line="537"/>
+ <parameters>
+ <parameter name="info">
+ </parameter>
+ <parameter name="c">
+ </parameter>
+ <parameter name="h">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_FORMAT_INFO_SCALE_WIDTH"
+ c:identifier="GST_VIDEO_FORMAT_INFO_SCALE_WIDTH"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/video-format.h"
+ line="536"/>
+ <parameters>
+ <parameter name="info">
+ </parameter>
+ <parameter name="c">
+ </parameter>
+ <parameter name="w">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_FORMAT_INFO_SHIFT"
+ c:identifier="GST_VIDEO_FORMAT_INFO_SHIFT"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/video-format.h"
+ line="490"/>
+ <parameters>
+ <parameter name="info">
+ </parameter>
+ <parameter name="c">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_FORMAT_INFO_STRIDE"
+ c:identifier="GST_VIDEO_FORMAT_INFO_STRIDE"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="541">Row stride in bytes, that is number of bytes from the first pixel component
+of a row to the first pixel component in the next row. This might include
+some row padding (memory not actually used for anything, to make sure the
+beginning of the next row is aligned in a particular way).</doc>
+ <source-position filename="gst-libs/gst/video/video-format.h"
+ line="552"/>
+ <parameters>
+ <parameter name="info">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="543">a #GstVideoFormatInfo</doc>
+ </parameter>
+ <parameter name="strides">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="544">an array of strides</doc>
+ </parameter>
+ <parameter name="comp">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="545">the component index</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_FORMAT_INFO_TILE_HS"
+ c:identifier="GST_VIDEO_FORMAT_INFO_TILE_HS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/video-format.h"
+ line="558"/>
+ <parameters>
+ <parameter name="info">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_FORMAT_INFO_TILE_MODE"
+ c:identifier="GST_VIDEO_FORMAT_INFO_TILE_MODE"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/video-format.h"
+ line="556"/>
+ <parameters>
+ <parameter name="info">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_FORMAT_INFO_TILE_WS"
+ c:identifier="GST_VIDEO_FORMAT_INFO_TILE_WS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/video-format.h"
+ line="557"/>
+ <parameters>
+ <parameter name="info">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_FORMAT_INFO_W_SUB"
+ c:identifier="GST_VIDEO_FORMAT_INFO_W_SUB"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/video-format.h"
+ line="530"/>
+ <parameters>
+ <parameter name="info">
+ </parameter>
+ <parameter name="c">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <constant name="VIDEO_FPS_RANGE"
+ value="(fraction) [ 0, max ]"
+ c:type="GST_VIDEO_FPS_RANGE">
+ <source-position filename="gst-libs/gst/video/video-format.h"
+ line="590"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <function-macro name="VIDEO_FRAME_COMP_DATA"
+ c:identifier="GST_VIDEO_FRAME_COMP_DATA"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/video-frame.h" line="144"/>
+ <parameters>
+ <parameter name="f">
+ </parameter>
+ <parameter name="c">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_FRAME_COMP_DEPTH"
+ c:identifier="GST_VIDEO_FRAME_COMP_DEPTH"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/video-frame.h" line="143"/>
+ <parameters>
+ <parameter name="f">
+ </parameter>
+ <parameter name="c">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_FRAME_COMP_HEIGHT"
+ c:identifier="GST_VIDEO_FRAME_COMP_HEIGHT"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/video-frame.h" line="148"/>
+ <parameters>
+ <parameter name="f">
+ </parameter>
+ <parameter name="c">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_FRAME_COMP_OFFSET"
+ c:identifier="GST_VIDEO_FRAME_COMP_OFFSET"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/video-frame.h" line="146"/>
+ <parameters>
+ <parameter name="f">
+ </parameter>
+ <parameter name="c">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_FRAME_COMP_PLANE"
+ c:identifier="GST_VIDEO_FRAME_COMP_PLANE"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/video-frame.h" line="149"/>
+ <parameters>
+ <parameter name="f">
+ </parameter>
+ <parameter name="c">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_FRAME_COMP_POFFSET"
+ c:identifier="GST_VIDEO_FRAME_COMP_POFFSET"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/video-frame.h" line="151"/>
+ <parameters>
+ <parameter name="f">
+ </parameter>
+ <parameter name="c">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_FRAME_COMP_PSTRIDE"
+ c:identifier="GST_VIDEO_FRAME_COMP_PSTRIDE"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/video-frame.h" line="150"/>
+ <parameters>
+ <parameter name="f">
+ </parameter>
+ <parameter name="c">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_FRAME_COMP_STRIDE"
+ c:identifier="GST_VIDEO_FRAME_COMP_STRIDE"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/video-frame.h" line="145"/>
+ <parameters>
+ <parameter name="f">
+ </parameter>
+ <parameter name="c">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_FRAME_COMP_WIDTH"
+ c:identifier="GST_VIDEO_FRAME_COMP_WIDTH"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/video-frame.h" line="147"/>
+ <parameters>
+ <parameter name="f">
+ </parameter>
+ <parameter name="c">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_FRAME_FLAGS"
+ c:identifier="GST_VIDEO_FRAME_FLAGS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/video-frame.h" line="121"/>
+ <parameters>
+ <parameter name="f">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_FRAME_FLAG_IS_SET"
+ c:identifier="GST_VIDEO_FRAME_FLAG_IS_SET"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/video-frame.h" line="122"/>
+ <parameters>
+ <parameter name="f">
+ </parameter>
+ <parameter name="fl">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_FRAME_FORMAT"
+ c:identifier="GST_VIDEO_FRAME_FORMAT"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/video-frame.h" line="115"/>
+ <parameters>
+ <parameter name="f">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_FRAME_HEIGHT"
+ c:identifier="GST_VIDEO_FRAME_HEIGHT"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/video-frame.h" line="117"/>
+ <parameters>
+ <parameter name="f">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_FRAME_IS_BOTTOM_FIELD"
+ c:identifier="GST_VIDEO_FRAME_IS_BOTTOM_FIELD"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/video-frame.h" line="133"/>
+ <parameters>
+ <parameter name="f">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_FRAME_IS_INTERLACED"
+ c:identifier="GST_VIDEO_FRAME_IS_INTERLACED"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/video-frame.h" line="123"/>
+ <parameters>
+ <parameter name="f">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_FRAME_IS_ONEFIELD"
+ c:identifier="GST_VIDEO_FRAME_IS_ONEFIELD"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/video-frame.h" line="126"/>
+ <parameters>
+ <parameter name="f">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_FRAME_IS_RFF"
+ c:identifier="GST_VIDEO_FRAME_IS_RFF"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/video-frame.h" line="125"/>
+ <parameters>
+ <parameter name="f">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_FRAME_IS_TFF"
+ c:identifier="GST_VIDEO_FRAME_IS_TFF"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/video-frame.h" line="124"/>
+ <parameters>
+ <parameter name="f">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_FRAME_IS_TOP_FIELD"
+ c:identifier="GST_VIDEO_FRAME_IS_TOP_FIELD"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/video-frame.h" line="127"/>
+ <parameters>
+ <parameter name="f">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_FRAME_N_COMPONENTS"
+ c:identifier="GST_VIDEO_FRAME_N_COMPONENTS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/video-frame.h" line="142"/>
+ <parameters>
+ <parameter name="f">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_FRAME_N_PLANES"
+ c:identifier="GST_VIDEO_FRAME_N_PLANES"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/video-frame.h" line="136"/>
+ <parameters>
+ <parameter name="f">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_FRAME_PLANE_DATA"
+ c:identifier="GST_VIDEO_FRAME_PLANE_DATA"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/video-frame.h" line="137"/>
+ <parameters>
+ <parameter name="f">
+ </parameter>
+ <parameter name="p">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_FRAME_PLANE_OFFSET"
+ c:identifier="GST_VIDEO_FRAME_PLANE_OFFSET"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/video-frame.h" line="138"/>
+ <parameters>
+ <parameter name="f">
+ </parameter>
+ <parameter name="p">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_FRAME_PLANE_STRIDE"
+ c:identifier="GST_VIDEO_FRAME_PLANE_STRIDE"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/video-frame.h" line="139"/>
+ <parameters>
+ <parameter name="f">
+ </parameter>
+ <parameter name="p">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_FRAME_SIZE"
+ c:identifier="GST_VIDEO_FRAME_SIZE"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/video-frame.h" line="118"/>
+ <parameters>
+ <parameter name="f">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_FRAME_WIDTH"
+ c:identifier="GST_VIDEO_FRAME_WIDTH"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/video-frame.h" line="116"/>
+ <parameters>
+ <parameter name="f">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_INFO_CHROMA_SITE"
+ c:identifier="GST_VIDEO_INFO_CHROMA_SITE"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/video-info.h" line="385"/>
+ <parameters>
+ <parameter name="i">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_INFO_COLORIMETRY"
+ c:identifier="GST_VIDEO_INFO_COLORIMETRY"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/video-info.h" line="384"/>
+ <parameters>
+ <parameter name="i">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_INFO_COMP_DATA"
+ c:identifier="GST_VIDEO_INFO_COMP_DATA"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/video-info.h" line="418"/>
+ <parameters>
+ <parameter name="i">
+ </parameter>
+ <parameter name="d">
+ </parameter>
+ <parameter name="c">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_INFO_COMP_DEPTH"
+ c:identifier="GST_VIDEO_INFO_COMP_DEPTH"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/video-info.h" line="417"/>
+ <parameters>
+ <parameter name="i">
+ </parameter>
+ <parameter name="c">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_INFO_COMP_HEIGHT"
+ c:identifier="GST_VIDEO_INFO_COMP_HEIGHT"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/video-info.h" line="422"/>
+ <parameters>
+ <parameter name="i">
+ </parameter>
+ <parameter name="c">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_INFO_COMP_OFFSET"
+ c:identifier="GST_VIDEO_INFO_COMP_OFFSET"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/video-info.h" line="419"/>
+ <parameters>
+ <parameter name="i">
+ </parameter>
+ <parameter name="c">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_INFO_COMP_PLANE"
+ c:identifier="GST_VIDEO_INFO_COMP_PLANE"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/video-info.h" line="423"/>
+ <parameters>
+ <parameter name="i">
+ </parameter>
+ <parameter name="c">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_INFO_COMP_POFFSET"
+ c:identifier="GST_VIDEO_INFO_COMP_POFFSET"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/video-info.h" line="425"/>
+ <parameters>
+ <parameter name="i">
+ </parameter>
+ <parameter name="c">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_INFO_COMP_PSTRIDE"
+ c:identifier="GST_VIDEO_INFO_COMP_PSTRIDE"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/video-info.h" line="424"/>
+ <parameters>
+ <parameter name="i">
+ </parameter>
+ <parameter name="c">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_INFO_COMP_STRIDE"
+ c:identifier="GST_VIDEO_INFO_COMP_STRIDE"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/video-info.h" line="420"/>
+ <parameters>
+ <parameter name="i">
+ </parameter>
+ <parameter name="c">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_INFO_COMP_WIDTH"
+ c:identifier="GST_VIDEO_INFO_COMP_WIDTH"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/video-info.h" line="421"/>
+ <parameters>
+ <parameter name="i">
+ </parameter>
+ <parameter name="c">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_INFO_FIELD_HEIGHT"
+ c:identifier="GST_VIDEO_INFO_FIELD_HEIGHT"
+ version="1.16."
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.h"
+ line="365">The height of a field. It's the height of the full frame unless split-field
+(alternate) interlacing is in use.</doc>
+ <source-position filename="gst-libs/gst/video/video-info.h" line="373"/>
+ <parameters>
+ <parameter name="i">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_INFO_FIELD_ORDER"
+ c:identifier="GST_VIDEO_INFO_FIELD_ORDER"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/video-info.h" line="361"/>
+ <parameters>
+ <parameter name="i">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_INFO_FIELD_RATE_N"
+ c:identifier="GST_VIDEO_INFO_FIELD_RATE_N"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/video-info.h" line="379"/>
+ <parameters>
+ <parameter name="i">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_INFO_FLAGS"
+ c:identifier="GST_VIDEO_INFO_FLAGS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/video-info.h" line="362"/>
+ <parameters>
+ <parameter name="i">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_INFO_FLAG_IS_SET"
+ c:identifier="GST_VIDEO_INFO_FLAG_IS_SET"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/video-info.h" line="391"/>
+ <parameters>
+ <parameter name="i">
+ </parameter>
+ <parameter name="flag">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_INFO_FLAG_SET"
+ c:identifier="GST_VIDEO_INFO_FLAG_SET"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/video-info.h" line="392"/>
+ <parameters>
+ <parameter name="i">
+ </parameter>
+ <parameter name="flag">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_INFO_FLAG_UNSET"
+ c:identifier="GST_VIDEO_INFO_FLAG_UNSET"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/video-info.h" line="393"/>
+ <parameters>
+ <parameter name="i">
+ </parameter>
+ <parameter name="flag">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_INFO_FORMAT"
+ c:identifier="GST_VIDEO_INFO_FORMAT"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/video-info.h" line="352"/>
+ <parameters>
+ <parameter name="i">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_INFO_FPS_D"
+ c:identifier="GST_VIDEO_INFO_FPS_D"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/video-info.h" line="382"/>
+ <parameters>
+ <parameter name="i">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_INFO_FPS_N"
+ c:identifier="GST_VIDEO_INFO_FPS_N"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/video-info.h" line="378"/>
+ <parameters>
+ <parameter name="i">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_INFO_HAS_ALPHA"
+ c:identifier="GST_VIDEO_INFO_HAS_ALPHA"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/video-info.h" line="357"/>
+ <parameters>
+ <parameter name="i">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_INFO_HEIGHT"
+ c:identifier="GST_VIDEO_INFO_HEIGHT"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/video-info.h" line="364"/>
+ <parameters>
+ <parameter name="i">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_INFO_INTERLACE_MODE"
+ c:identifier="GST_VIDEO_INFO_INTERLACE_MODE"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/video-info.h" line="359"/>
+ <parameters>
+ <parameter name="i">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_INFO_IS_GRAY"
+ c:identifier="GST_VIDEO_INFO_IS_GRAY"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/video-info.h" line="356"/>
+ <parameters>
+ <parameter name="i">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_INFO_IS_INTERLACED"
+ c:identifier="GST_VIDEO_INFO_IS_INTERLACED"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/video-info.h" line="360"/>
+ <parameters>
+ <parameter name="i">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_INFO_IS_RGB"
+ c:identifier="GST_VIDEO_INFO_IS_RGB"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/video-info.h" line="355"/>
+ <parameters>
+ <parameter name="i">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_INFO_IS_YUV"
+ c:identifier="GST_VIDEO_INFO_IS_YUV"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/video-info.h" line="354"/>
+ <parameters>
+ <parameter name="i">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_INFO_MULTIVIEW_FLAGS"
+ c:identifier="GST_VIDEO_INFO_MULTIVIEW_FLAGS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/video-info.h" line="388"/>
+ <parameters>
+ <parameter name="i">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_INFO_MULTIVIEW_MODE"
+ c:identifier="GST_VIDEO_INFO_MULTIVIEW_MODE"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/video-info.h" line="387"/>
+ <parameters>
+ <parameter name="i">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_INFO_NAME"
+ c:identifier="GST_VIDEO_INFO_NAME"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/video-info.h" line="353"/>
+ <parameters>
+ <parameter name="i">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_INFO_N_COMPONENTS"
+ c:identifier="GST_VIDEO_INFO_N_COMPONENTS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/video-info.h" line="416"/>
+ <parameters>
+ <parameter name="i">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_INFO_N_PLANES"
+ c:identifier="GST_VIDEO_INFO_N_PLANES"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/video-info.h" line="396"/>
+ <parameters>
+ <parameter name="i">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_INFO_PAR_D"
+ c:identifier="GST_VIDEO_INFO_PAR_D"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/video-info.h" line="377"/>
+ <parameters>
+ <parameter name="i">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_INFO_PAR_N"
+ c:identifier="GST_VIDEO_INFO_PAR_N"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/video-info.h" line="376"/>
+ <parameters>
+ <parameter name="i">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_INFO_PLANE_HEIGHT"
+ c:identifier="GST_VIDEO_INFO_PLANE_HEIGHT"
+ version="1.18"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.h"
+ line="399">The padded height in pixels of a plane (padded size divided by the plane stride).
+In case of GST_VIDEO_INTERLACE_MODE_ALTERNATE info, this macro returns the
+plane heights used to hold a single field, not the full frame.
+
+The size passed as third argument is the size of the pixel data and should
+not contain any extra metadata padding.
+
+It is not valid to use this macro with a TILED format.</doc>
+ <source-position filename="gst-libs/gst/video/video-info.h" line="413"/>
+ <parameters>
+ <parameter name="i">
+ </parameter>
+ <parameter name="p">
+ </parameter>
+ <parameter name="sizes">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_INFO_PLANE_OFFSET"
+ c:identifier="GST_VIDEO_INFO_PLANE_OFFSET"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/video-info.h" line="397"/>
+ <parameters>
+ <parameter name="i">
+ </parameter>
+ <parameter name="p">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_INFO_PLANE_STRIDE"
+ c:identifier="GST_VIDEO_INFO_PLANE_STRIDE"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/video-info.h" line="398"/>
+ <parameters>
+ <parameter name="i">
+ </parameter>
+ <parameter name="p">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_INFO_SIZE"
+ c:identifier="GST_VIDEO_INFO_SIZE"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/video-info.h" line="374"/>
+ <parameters>
+ <parameter name="i">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_INFO_VIEWS"
+ c:identifier="GST_VIDEO_INFO_VIEWS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/video-info.h" line="375"/>
+ <parameters>
+ <parameter name="i">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_INFO_WIDTH"
+ c:identifier="GST_VIDEO_INFO_WIDTH"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/video-info.h" line="363"/>
+ <parameters>
+ <parameter name="i">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <constant name="VIDEO_MAX_COMPONENTS"
+ value="4"
+ c:type="GST_VIDEO_MAX_COMPONENTS">
+ <source-position filename="gst-libs/gst/video/video-format.h"
+ line="258"/>
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="VIDEO_MAX_PLANES" value="4" c:type="GST_VIDEO_MAX_PLANES">
+ <source-position filename="gst-libs/gst/video/video-format.h"
+ line="257"/>
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <function-macro name="VIDEO_META_TRANSFORM_IS_SCALE"
+ c:identifier="GST_VIDEO_META_TRANSFORM_IS_SCALE"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/gstvideometa.h"
+ line="175"/>
+ <parameters>
+ <parameter name="type">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_NE"
+ c:identifier="GST_VIDEO_NE"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/video-format.h"
+ line="593"/>
+ <parameters>
+ <parameter name="s">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_OE"
+ c:identifier="GST_VIDEO_OE"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/video-format.h"
+ line="594"/>
+ <parameters>
+ <parameter name="s">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_ORIENTATION"
+ c:identifier="GST_VIDEO_ORIENTATION"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/videoorientation.h"
+ line="31"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_ORIENTATION_GET_INTERFACE"
+ c:identifier="GST_VIDEO_ORIENTATION_GET_INTERFACE"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/videoorientation.h"
+ line="35"/>
+ <parameters>
+ <parameter name="inst">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_OVERLAY"
+ c:identifier="GST_VIDEO_OVERLAY"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/videooverlay.h" line="31"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_OVERLAY_COMPOSITION"
+ c:identifier="GST_VIDEO_OVERLAY_COMPOSITION"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/video-overlay-composition.h"
+ line="195"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_OVERLAY_COMPOSITION_CAST"
+ c:identifier="GST_VIDEO_OVERLAY_COMPOSITION_CAST"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/video-overlay-composition.h"
+ line="193"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_OVERLAY_GET_INTERFACE"
+ c:identifier="GST_VIDEO_OVERLAY_GET_INTERFACE"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/videooverlay.h" line="35"/>
+ <parameters>
+ <parameter name="inst">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_OVERLAY_RECTANGLE"
+ c:identifier="GST_VIDEO_OVERLAY_RECTANGLE"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/video-overlay-composition.h"
+ line="39"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_OVERLAY_RECTANGLE_CAST"
+ c:identifier="GST_VIDEO_OVERLAY_RECTANGLE_CAST"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/video-overlay-composition.h"
+ line="37"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <constant name="VIDEO_RESAMPLER_OPT_CUBIC_B"
+ value="GstVideoResampler.cubic-b"
+ c:type="GST_VIDEO_RESAMPLER_OPT_CUBIC_B">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-resampler.h"
+ line="52">G_TYPE_DOUBLE, B parameter of the cubic filter. The B
+parameter controls the bluriness. Values between 0.0 and
+2.0 are accepted. 1/3 is the default.
+
+Below are some values of popular filters:
+ B C
+Hermite 0.0 0.0
+Spline 1.0 0.0
+Catmull-Rom 0.0 1/2
+Mitchell 1/3 1/3
+Robidoux 0.3782 0.3109
+Robidoux
+ Sharp 0.2620 0.3690
+Robidoux
+ Soft 0.6796 0.1602</doc>
+ <source-position filename="gst-libs/gst/video/video-resampler.h"
+ line="71"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="VIDEO_RESAMPLER_OPT_CUBIC_C"
+ value="GstVideoResampler.cubic-c"
+ c:type="GST_VIDEO_RESAMPLER_OPT_CUBIC_C">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-resampler.h"
+ line="72">G_TYPE_DOUBLE, C parameter of the cubic filter. The C
+parameter controls the Keys alpha value. Values between 0.0 and
+2.0 are accepted. 1/3 is the default.
+
+See #GST_VIDEO_RESAMPLER_OPT_CUBIC_B for some more common values</doc>
+ <source-position filename="gst-libs/gst/video/video-resampler.h"
+ line="81"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="VIDEO_RESAMPLER_OPT_ENVELOPE"
+ value="GstVideoResampler.envelope"
+ c:type="GST_VIDEO_RESAMPLER_OPT_ENVELOPE">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-resampler.h"
+ line="83">G_TYPE_DOUBLE, specifies the size of filter envelope for
+@GST_VIDEO_RESAMPLER_METHOD_LANCZOS. values are clamped between
+1.0 and 5.0. 2.0 is the default.</doc>
+ <source-position filename="gst-libs/gst/video/video-resampler.h"
+ line="90"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="VIDEO_RESAMPLER_OPT_MAX_TAPS"
+ value="GstVideoResampler.max-taps"
+ c:type="GST_VIDEO_RESAMPLER_OPT_MAX_TAPS">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-resampler.h"
+ line="109">G_TYPE_INT, limits the maximum number of taps to use.
+16 is the default.</doc>
+ <source-position filename="gst-libs/gst/video/video-resampler.h"
+ line="115"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="VIDEO_RESAMPLER_OPT_SHARPEN"
+ value="GstVideoResampler.sharpen"
+ c:type="GST_VIDEO_RESAMPLER_OPT_SHARPEN">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-resampler.h"
+ line="101">G_TYPE_DOUBLE, specifies sharpening of the filter for
+@GST_VIDEO_RESAMPLER_METHOD_LANCZOS. values are clamped between
+0.0 and 1.0. 0.0 is the default.</doc>
+ <source-position filename="gst-libs/gst/video/video-resampler.h"
+ line="108"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="VIDEO_RESAMPLER_OPT_SHARPNESS"
+ value="GstVideoResampler.sharpness"
+ c:type="GST_VIDEO_RESAMPLER_OPT_SHARPNESS">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-resampler.h"
+ line="92">G_TYPE_DOUBLE, specifies sharpness of the filter for
+@GST_VIDEO_RESAMPLER_METHOD_LANCZOS. values are clamped between
+0.5 and 1.5. 1.0 is the default.</doc>
+ <source-position filename="gst-libs/gst/video/video-resampler.h"
+ line="99"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <constant name="VIDEO_SCALER_OPT_DITHER_METHOD"
+ value="GstVideoScaler.dither-method"
+ c:type="GST_VIDEO_SCALER_OPT_DITHER_METHOD">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-scaler.h"
+ line="31">#GstVideoDitherMethod, The dither method to use for propagating
+quatization errors.</doc>
+ <source-position filename="gst-libs/gst/video/video-scaler.h" line="37"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <function-macro name="VIDEO_SINK"
+ c:identifier="GST_VIDEO_SINK"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/gstvideosink.h" line="33"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_SINK_CAST"
+ c:identifier="GST_VIDEO_SINK_CAST"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideosink.h"
+ line="44">Cast @obj to a #GstVideoSink without runtime type check.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideosink.h" line="50"/>
+ <parameters>
+ <parameter name="obj">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideosink.h"
+ line="46">a #GstVideoSink or derived object</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_SINK_CLASS"
+ c:identifier="GST_VIDEO_SINK_CLASS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/gstvideosink.h" line="35"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_SINK_GET_CLASS"
+ c:identifier="GST_VIDEO_SINK_GET_CLASS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/gstvideosink.h" line="41"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_SINK_HEIGHT"
+ c:identifier="GST_VIDEO_SINK_HEIGHT"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/gstvideosink.h" line="61"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_SINK_PAD"
+ c:identifier="GST_VIDEO_SINK_PAD"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideosink.h"
+ line="52">Get the sink #GstPad of @obj.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideosink.h" line="58"/>
+ <parameters>
+ <parameter name="obj">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideosink.h"
+ line="54">a #GstVideoSink</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_SINK_WIDTH"
+ c:identifier="GST_VIDEO_SINK_WIDTH"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/gstvideosink.h" line="60"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <constant name="VIDEO_SIZE_RANGE"
+ value="(int) [ 1, max ]"
+ c:type="GST_VIDEO_SIZE_RANGE">
+ <source-position filename="gst-libs/gst/video/video-format.h"
+ line="589"/>
+ <type name="utf8" c:type="gchar*"/>
+ </constant>
+ <function-macro name="VIDEO_SUB_SCALE"
+ c:identifier="GST_VIDEO_SUB_SCALE"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/video-format.h"
+ line="534"/>
+ <parameters>
+ <parameter name="scale">
+ </parameter>
+ <parameter name="val">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_TILE_MAKE_MODE"
+ c:identifier="GST_VIDEO_TILE_MAKE_MODE"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-tile.h"
+ line="48">use this macro to create new tile modes.</doc>
+ <source-position filename="gst-libs/gst/video/video-tile.h" line="55"/>
+ <parameters>
+ <parameter name="num">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-tile.h"
+ line="50">the mode number to create</doc>
+ </parameter>
+ <parameter name="type">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-tile.h"
+ line="51">the tile mode type</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_TILE_MAKE_STRIDE"
+ c:identifier="GST_VIDEO_TILE_MAKE_STRIDE"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-tile.h"
+ line="82">Encode the number of tile in X and Y into the stride.</doc>
+ <source-position filename="gst-libs/gst/video/video-tile.h" line="89"/>
+ <parameters>
+ <parameter name="x_tiles">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-tile.h"
+ line="84">number of tiles in X</doc>
+ </parameter>
+ <parameter name="y_tiles">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-tile.h"
+ line="85">number of tiles in Y</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_TILE_MODE_IS_INDEXED"
+ c:identifier="GST_VIDEO_TILE_MODE_IS_INDEXED"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-tile.h"
+ line="66">Check if @mode is an indexed tile type</doc>
+ <source-position filename="gst-libs/gst/video/video-tile.h" line="72"/>
+ <parameters>
+ <parameter name="mode">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-tile.h"
+ line="68">a tile mode</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="VIDEO_TILE_MODE_TYPE"
+ c:identifier="GST_VIDEO_TILE_MODE_TYPE"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-tile.h"
+ line="58">Get the tile mode type of @mode</doc>
+ <source-position filename="gst-libs/gst/video/video-tile.h" line="64"/>
+ <parameters>
+ <parameter name="mode">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-tile.h"
+ line="60">the tile mode</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <constant name="VIDEO_TILE_TYPE_MASK"
+ value="65535"
+ c:type="GST_VIDEO_TILE_TYPE_MASK">
+ <source-position filename="gst-libs/gst/video/video-tile.h" line="46"/>
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <constant name="VIDEO_TILE_TYPE_SHIFT"
+ value="16"
+ c:type="GST_VIDEO_TILE_TYPE_SHIFT">
+ <source-position filename="gst-libs/gst/video/video-tile.h" line="41"/>
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <function-macro name="VIDEO_TILE_X_TILES"
+ c:identifier="GST_VIDEO_TILE_X_TILES"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-tile.h"
+ line="92">Extract the number of tiles in X from the stride value.</doc>
+ <source-position filename="gst-libs/gst/video/video-tile.h" line="98"/>
+ <parameters>
+ <parameter name="stride">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-tile.h"
+ line="94">plane stride</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <constant name="VIDEO_TILE_X_TILES_MASK"
+ value="65535"
+ c:type="GST_VIDEO_TILE_X_TILES_MASK">
+ <source-position filename="gst-libs/gst/video/video-tile.h" line="80"/>
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <function-macro name="VIDEO_TILE_Y_TILES"
+ c:identifier="GST_VIDEO_TILE_Y_TILES"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-tile.h"
+ line="100">Extract the number of tiles in Y from the stride value.</doc>
+ <source-position filename="gst-libs/gst/video/video-tile.h" line="106"/>
+ <parameters>
+ <parameter name="stride">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-tile.h"
+ line="102">plane stride</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <constant name="VIDEO_TILE_Y_TILES_SHIFT"
+ value="16"
+ c:type="GST_VIDEO_TILE_Y_TILES_SHIFT">
+ <source-position filename="gst-libs/gst/video/video-tile.h" line="75"/>
+ <type name="gint" c:type="gint"/>
+ </constant>
+ <record name="VideoAFDMeta" c:type="GstVideoAFDMeta" version="1.18">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.h"
+ line="210">Active Format Description (AFD)
+
+For details, see Table 6.14 Active Format in:
+
+ATSC Digital Television Standard:
+Part 4 – MPEG-2 Video System Characteristics
+
+https://www.atsc.org/wp-content/uploads/2015/03/a_53-Part-4-2009.pdf
+
+and Active Format Description in Complete list of AFD codes
+
+https://en.wikipedia.org/wiki/Active_Format_Description#Complete_list_of_AFD_codes
+
+and SMPTE ST2016-1</doc>
+ <source-position filename="gst-libs/gst/video/video-anc.h" line="240"/>
+ <field name="meta" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.h"
+ line="212">parent #GstMeta</doc>
+ <type name="Gst.Meta" c:type="GstMeta"/>
+ </field>
+ <field name="field" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.h"
+ line="213">0 for progressive or field 1 and 1 for field 2</doc>
+ <type name="guint8" c:type="guint8"/>
+ </field>
+ <field name="spec" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.h"
+ line="214">#GstVideoAFDSpec that applies to @afd</doc>
+ <type name="VideoAFDSpec" c:type="GstVideoAFDSpec"/>
+ </field>
+ <field name="afd" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.h"
+ line="215">#GstVideoAFDValue AFD value</doc>
+ <type name="VideoAFDValue" c:type="GstVideoAFDValue"/>
+ </field>
+ <function name="get_info" c:identifier="gst_video_afd_meta_get_info">
+ <source-position filename="gst-libs/gst/video/video-anc.h" line="245"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.MetaInfo" c:type="const GstMetaInfo*"/>
+ </return-value>
+ </function>
+ </record>
+ <enumeration name="VideoAFDSpec"
+ version="1.18"
+ glib:type-name="GstVideoAFDSpec"
+ glib:get-type="gst_video_afd_spec_get_type"
+ c:type="GstVideoAFDSpec">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.h"
+ line="186">Enumeration of the different standards that may apply to AFD data:
+
+0) ETSI/DVB:
+https://www.etsi.org/deliver/etsi_ts/101100_101199/101154/02.01.01_60/ts_101154v020101p.pdf
+
+1) ATSC A/53:
+https://www.atsc.org/wp-content/uploads/2015/03/a_53-Part-4-2009.pdf
+
+2) SMPTE ST2016-1:</doc>
+ <member name="dvb_etsi"
+ value="0"
+ c:identifier="GST_VIDEO_AFD_SPEC_DVB_ETSI"
+ glib:nick="dvb-etsi">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.h"
+ line="188">AFD value is from DVB/ETSI standard</doc>
+ </member>
+ <member name="atsc_a53"
+ value="1"
+ c:identifier="GST_VIDEO_AFD_SPEC_ATSC_A53"
+ glib:nick="atsc-a53">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.h"
+ line="189">AFD value is from ATSC A/53 standard</doc>
+ </member>
+ <member name="smpte_st2016_1"
+ value="2"
+ c:identifier="GST_VIDEO_AFD_SPEC_SMPTE_ST2016_1"
+ glib:nick="smpte-st2016-1">
+ </member>
+ </enumeration>
+ <enumeration name="VideoAFDValue"
+ version="1.18"
+ glib:type-name="GstVideoAFDValue"
+ glib:get-type="gst_video_afd_value_get_type"
+ c:type="GstVideoAFDValue">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.h"
+ line="106">Enumeration of the various values for Active Format Description (AFD)
+
+AFD should be included in video user data whenever the rectangular
+picture area containing useful information does not extend to the full height or width of the coded
+frame. AFD data may also be included in user data when the rectangular picture area containing
+useful information extends to the full height and width of the coded frame.
+
+For details, see Table 6.14 Active Format in:
+
+ATSC Digital Television Standard:
+Part 4 – MPEG-2 Video System Characteristics
+
+https://www.atsc.org/wp-content/uploads/2015/03/a_53-Part-4-2009.pdf
+
+and Active Format Description in Complete list of AFD codes
+
+https://en.wikipedia.org/wiki/Active_Format_Description#Complete_list_of_AFD_codes
+
+and SMPTE ST2016-1
+
+Notes:
+
+1) AFD 0 is undefined for ATSC and SMPTE ST2016-1, indicating that AFD data is not available:
+If Bar Data is not present, AFD '0000' indicates that exact information
+is not available and the active image should be assumed to be the same as the coded frame. AFD '0000'.
+AFD '0000' accompanied by Bar Data signals that the active image’s aspect ratio is narrower than 16:9,
+but is not 4:3 or 14:9. As the exact aspect ratio cannot be conveyed by AFD alone, wherever possible,
+AFD ‘0000’ should be accompanied by Bar Data to define the exact vertical or horizontal extent
+of the active image.
+2) AFD 0 is reserved for DVB/ETSI
+3) values 1, 5, 6, 7, and 12 are reserved for both ATSC and DVB/ETSI
+4) values 2 and 3 are not recommended for ATSC, but are valid for DVB/ETSI</doc>
+ <member name="unavailable"
+ value="0"
+ c:identifier="GST_VIDEO_AFD_UNAVAILABLE"
+ glib:nick="unavailable">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.h"
+ line="108">Unavailable (see note 0 below).</doc>
+ </member>
+ <member name="16_9_top_aligned"
+ value="2"
+ c:identifier="GST_VIDEO_AFD_16_9_TOP_ALIGNED"
+ glib:nick="16-9-top-aligned">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.h"
+ line="109">For 4:3 coded frame, letterbox 16:9 image,
+ at top of the coded frame. For 16:9 coded frame, full frame 16:9 image,
+ the same as the coded frame.</doc>
+ </member>
+ <member name="14_9_top_aligned"
+ value="3"
+ c:identifier="GST_VIDEO_AFD_14_9_TOP_ALIGNED"
+ glib:nick="14-9-top-aligned">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.h"
+ line="112">For 4:3 coded frame, letterbox 14:9 image,
+ at top of the coded frame. For 16:9 coded frame, pillarbox 14:9 image,
+ horizontally centered in the coded frame.</doc>
+ </member>
+ <member name="greater_than_16_9"
+ value="4"
+ c:identifier="GST_VIDEO_AFD_GREATER_THAN_16_9"
+ glib:nick="greater-than-16-9">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.h"
+ line="115">For 4:3 coded frame, letterbox image with an aspect ratio
+ greater than 16:9, vertically centered in the coded frame. For 16:9 coded frame,
+ letterbox image with an aspect ratio greater than 16:9.</doc>
+ </member>
+ <member name="4_3_full_16_9_full"
+ value="8"
+ c:identifier="GST_VIDEO_AFD_4_3_FULL_16_9_FULL"
+ glib:nick="4-3-full-16-9-full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.h"
+ line="118">For 4:3 coded frame, full frame 4:3 image,
+ the same as the coded frame. For 16:9 coded frame, full frame 16:9 image, the same as
+ the coded frame.</doc>
+ </member>
+ <member name="4_3_full_4_3_pillar"
+ value="9"
+ c:identifier="GST_VIDEO_AFD_4_3_FULL_4_3_PILLAR"
+ glib:nick="4-3-full-4-3-pillar">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.h"
+ line="121">For 4:3 coded frame, full frame 4:3 image, the same as
+ the coded frame. For 16:9 coded frame, pillarbox 4:3 image, horizontally centered in the
+ coded frame.</doc>
+ </member>
+ <member name="16_9_letter_16_9_full"
+ value="10"
+ c:identifier="GST_VIDEO_AFD_16_9_LETTER_16_9_FULL"
+ glib:nick="16-9-letter-16-9-full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.h"
+ line="124">For 4:3 coded frame, letterbox 16:9 image, vertically centered in
+ the coded frame with all image areas protected. For 16:9 coded frame, full frame 16:9 image,
+ with all image areas protected.</doc>
+ </member>
+ <member name="14_9_letter_14_9_pillar"
+ value="11"
+ c:identifier="GST_VIDEO_AFD_14_9_LETTER_14_9_PILLAR"
+ glib:nick="14-9-letter-14-9-pillar">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.h"
+ line="127">For 4:3 coded frame, letterbox 14:9 image, vertically centered in
+ the coded frame. For 16:9 coded frame, pillarbox 14:9 image, horizontally centered in the
+ coded frame.</doc>
+ </member>
+ <member name="4_3_full_14_9_center"
+ value="13"
+ c:identifier="GST_VIDEO_AFD_4_3_FULL_14_9_CENTER"
+ glib:nick="4-3-full-14-9-center">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.h"
+ line="130">For 4:3 coded frame, full frame 4:3 image, with alternative 14:9
+ center. For 16:9 coded frame, pillarbox 4:3 image, with alternative 14:9 center.</doc>
+ </member>
+ <member name="16_9_letter_14_9_center"
+ value="14"
+ c:identifier="GST_VIDEO_AFD_16_9_LETTER_14_9_CENTER"
+ glib:nick="16-9-letter-14-9-center">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.h"
+ line="132">For 4:3 coded frame, letterbox 16:9 image, with alternative 14:9
+ center. For 16:9 coded frame, full frame 16:9 image, with alternative 14:9 center.</doc>
+ </member>
+ <member name="16_9_letter_4_3_center"
+ value="15"
+ c:identifier="GST_VIDEO_AFD_16_9_LETTER_4_3_CENTER"
+ glib:nick="16-9-letter-4-3-center">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.h"
+ line="134">For 4:3 coded frame, letterbox 16:9 image, with alternative 4:3
+ center. For 16:9 coded frame, full frame 16:9 image, with alternative 4:3 center.</doc>
+ </member>
+ </enumeration>
+ <callback name="VideoAffineTransformationGetMatrix"
+ c:type="GstVideoAffineTransformationGetMatrix">
+ <source-position filename="gst-libs/gst/video/gstvideoaffinetransformationmeta.h"
+ line="34"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="meta" transfer-ownership="none">
+ <type name="VideoAffineTransformationMeta"
+ c:type="GstVideoAffineTransformationMeta*"/>
+ </parameter>
+ <parameter name="matrix" transfer-ownership="none">
+ <type name="gfloat" c:type="gfloat*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <record name="VideoAffineTransformationMeta"
+ c:type="GstVideoAffineTransformationMeta"
+ version="1.8">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoaffinetransformationmeta.h"
+ line="39">Extra buffer metadata for performing an affine transformation using a 4x4
+matrix. The transformation matrix can be composed with
+gst_video_affine_transformation_meta_apply_matrix().
+
+The vertices operated on are all in the range 0 to 1, not in
+Normalized Device Coordinates (-1 to +1). Transforming points in this space
+are assumed to have an origin at (0.5, 0.5, 0.5) in a left-handed coordinate
+system with the x-axis moving horizontally (positive values to the right),
+the y-axis moving vertically (positive values up the screen) and the z-axis
+perpendicular to the screen (positive values into the screen).</doc>
+ <source-position filename="gst-libs/gst/video/gstvideoaffinetransformationmeta.h"
+ line="62"/>
+ <field name="meta" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoaffinetransformationmeta.h"
+ line="41">parent #GstMeta</doc>
+ <type name="Gst.Meta" c:type="GstMeta"/>
+ </field>
+ <field name="matrix" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoaffinetransformationmeta.h"
+ line="42">the column-major 4x4 transformation matrix</doc>
+ <array zero-terminated="0" fixed-size="16">
+ <type name="gfloat" c:type="gfloat"/>
+ </array>
+ </field>
+ <method name="apply_matrix"
+ c:identifier="gst_video_affine_transformation_meta_apply_matrix"
+ version="1.8">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoaffinetransformationmeta.c"
+ line="138">Apply a transformation using the given 4x4 transformation matrix.
+Performs the multiplication, meta-&gt;matrix X matrix.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideoaffinetransformationmeta.h"
+ line="76"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="meta" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoaffinetransformationmeta.c"
+ line="140">a #GstVideoAffineTransformationMeta</doc>
+ <type name="VideoAffineTransformationMeta"
+ c:type="GstVideoAffineTransformationMeta*"/>
+ </instance-parameter>
+ <parameter name="matrix" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoaffinetransformationmeta.c"
+ line="141">a 4x4 transformation matrix to be applied</doc>
+ <array zero-terminated="0" c:type="const gfloat*" fixed-size="16">
+ <type name="gfloat" c:type="gfloat"/>
+ </array>
+ </parameter>
+ </parameters>
+ </method>
+ <function name="get_info"
+ c:identifier="gst_video_affine_transformation_meta_get_info">
+ <source-position filename="gst-libs/gst/video/gstvideoaffinetransformationmeta.h"
+ line="68"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.MetaInfo" c:type="const GstMetaInfo*"/>
+ </return-value>
+ </function>
+ </record>
+ <class name="VideoAggregator"
+ c:symbol-prefix="video_aggregator"
+ c:type="GstVideoAggregator"
+ version="1.16"
+ parent="GstBase.Aggregator"
+ abstract="1"
+ glib:type-name="GstVideoAggregator"
+ glib:get-type="gst_video_aggregator_get_type"
+ glib:type-struct="VideoAggregatorClass">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoaggregator.c"
+ line="21">VideoAggregator can accept AYUV, ARGB and BGRA video streams. For each of the requested
+sink pads it will compare the incoming geometry and framerate to define the
+output parameters. Indeed output video frames will have the geometry of the
+biggest incoming video stream and the framerate of the fastest incoming one.
+
+VideoAggregator will do colorspace conversion.
+
+Zorder for each input stream can be configured on the
+#GstVideoAggregatorPad.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideoaggregator.h"
+ line="245"/>
+ <virtual-method name="aggregate_frames">
+ <source-position filename="gst-libs/gst/video/gstvideoaggregator.h"
+ line="234"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="videoaggregator" transfer-ownership="none">
+ <type name="VideoAggregator" c:type="GstVideoAggregator*"/>
+ </instance-parameter>
+ <parameter name="outbuffer" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="create_output_buffer">
+ <source-position filename="gst-libs/gst/video/gstvideoaggregator.h"
+ line="236"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="videoaggregator" transfer-ownership="none">
+ <type name="VideoAggregator" c:type="GstVideoAggregator*"/>
+ </instance-parameter>
+ <parameter name="outbuffer" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer**"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="find_best_format">
+ <source-position filename="gst-libs/gst/video/gstvideoaggregator.h"
+ line="238"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="vagg" transfer-ownership="none">
+ <type name="VideoAggregator" c:type="GstVideoAggregator*"/>
+ </instance-parameter>
+ <parameter name="downstream_caps" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ <parameter name="best_info" transfer-ownership="none">
+ <type name="VideoInfo" c:type="GstVideoInfo*"/>
+ </parameter>
+ <parameter name="at_least_one_alpha" transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="update_caps">
+ <source-position filename="gst-libs/gst/video/gstvideoaggregator.h"
+ line="232"/>
+ <return-value transfer-ownership="full">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="videoaggregator" transfer-ownership="none">
+ <type name="VideoAggregator" c:type="GstVideoAggregator*"/>
+ </instance-parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <field name="aggregator">
+ <type name="GstBase.Aggregator" c:type="GstAggregator"/>
+ </field>
+ <field name="info">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoaggregator.h"
+ line="189">The #GstVideoInfo representing the currently set
+srcpad caps.</doc>
+ <type name="VideoInfo" c:type="GstVideoInfo"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="VideoAggregatorPrivate"
+ c:type="GstVideoAggregatorPrivate*"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="20">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="VideoAggregatorClass"
+ c:type="GstVideoAggregatorClass"
+ glib:is-gtype-struct-for="VideoAggregator"
+ version="1.16">
+ <source-position filename="gst-libs/gst/video/gstvideoaggregator.h"
+ line="245"/>
+ <field name="parent_class" readable="0" private="1">
+ <type name="GstBase.AggregatorClass" c:type="GstAggregatorClass"/>
+ </field>
+ <field name="update_caps">
+ <callback name="update_caps">
+ <source-position filename="gst-libs/gst/video/gstvideoaggregator.h"
+ line="232"/>
+ <return-value transfer-ownership="full">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <parameter name="videoaggregator" transfer-ownership="none">
+ <type name="VideoAggregator" c:type="GstVideoAggregator*"/>
+ </parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="aggregate_frames">
+ <callback name="aggregate_frames">
+ <source-position filename="gst-libs/gst/video/gstvideoaggregator.h"
+ line="234"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="videoaggregator" transfer-ownership="none">
+ <type name="VideoAggregator" c:type="GstVideoAggregator*"/>
+ </parameter>
+ <parameter name="outbuffer" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="create_output_buffer">
+ <callback name="create_output_buffer">
+ <source-position filename="gst-libs/gst/video/gstvideoaggregator.h"
+ line="236"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="videoaggregator" transfer-ownership="none">
+ <type name="VideoAggregator" c:type="GstVideoAggregator*"/>
+ </parameter>
+ <parameter name="outbuffer" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer**"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="find_best_format">
+ <callback name="find_best_format">
+ <source-position filename="gst-libs/gst/video/gstvideoaggregator.h"
+ line="238"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="vagg" transfer-ownership="none">
+ <type name="VideoAggregator" c:type="GstVideoAggregator*"/>
+ </parameter>
+ <parameter name="downstream_caps" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ <parameter name="best_info" transfer-ownership="none">
+ <type name="VideoInfo" c:type="GstVideoInfo*"/>
+ </parameter>
+ <parameter name="at_least_one_alpha" transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="20">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <class name="VideoAggregatorConvertPad"
+ c:symbol-prefix="video_aggregator_convert_pad"
+ c:type="GstVideoAggregatorConvertPad"
+ version="1.16"
+ parent="VideoAggregatorPad"
+ glib:type-name="GstVideoAggregatorConvertPad"
+ glib:get-type="gst_video_aggregator_convert_pad_get_type"
+ glib:type-struct="VideoAggregatorConvertPadClass">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoaggregator.h"
+ line="130">An implementation of GstPad that can be used with #GstVideoAggregator.
+
+See #GstVideoAggregator for more details.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideoaggregator.h"
+ line="162"/>
+ <virtual-method name="create_conversion_info">
+ <source-position filename="gst-libs/gst/video/gstvideoaggregator.h"
+ line="158"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pad" transfer-ownership="none">
+ <type name="VideoAggregatorConvertPad"
+ c:type="GstVideoAggregatorConvertPad*"/>
+ </instance-parameter>
+ <parameter name="agg" transfer-ownership="none">
+ <type name="VideoAggregator" c:type="GstVideoAggregator*"/>
+ </parameter>
+ <parameter name="conversion_info" transfer-ownership="none">
+ <type name="VideoInfo" c:type="GstVideoInfo*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <method name="update_conversion_info"
+ c:identifier="gst_video_aggregator_convert_pad_update_conversion_info">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoaggregator.c"
+ line="725">Requests the pad to check and update the converter before the next usage to
+update for any changes that have happened.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideoaggregator.h"
+ line="168"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoaggregator.c"
+ line="727">a #GstVideoAggregatorPad</doc>
+ <type name="VideoAggregatorConvertPad"
+ c:type="GstVideoAggregatorConvertPad*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <property name="converter-config" writable="1" transfer-ownership="none">
+ <type name="Gst.Structure"/>
+ </property>
+ <field name="parent" readable="0" private="1">
+ <type name="VideoAggregatorPad" c:type="GstVideoAggregatorPad"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="VideoAggregatorConvertPadPrivate"
+ c:type="GstVideoAggregatorConvertPadPrivate*"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="VideoAggregatorConvertPadClass"
+ c:type="GstVideoAggregatorConvertPadClass"
+ glib:is-gtype-struct-for="VideoAggregatorConvertPad"
+ version="1.16">
+ <source-position filename="gst-libs/gst/video/gstvideoaggregator.h"
+ line="162"/>
+ <field name="parent_class">
+ <type name="VideoAggregatorPadClass"
+ c:type="GstVideoAggregatorPadClass"/>
+ </field>
+ <field name="create_conversion_info">
+ <callback name="create_conversion_info">
+ <source-position filename="gst-libs/gst/video/gstvideoaggregator.h"
+ line="158"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="pad" transfer-ownership="none">
+ <type name="VideoAggregatorConvertPad"
+ c:type="GstVideoAggregatorConvertPad*"/>
+ </parameter>
+ <parameter name="agg" transfer-ownership="none">
+ <type name="VideoAggregator" c:type="GstVideoAggregator*"/>
+ </parameter>
+ <parameter name="conversion_info" transfer-ownership="none">
+ <type name="VideoInfo" c:type="GstVideoInfo*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="VideoAggregatorConvertPadPrivate"
+ c:type="GstVideoAggregatorConvertPadPrivate"
+ disguised="1">
+ <source-position filename="gst-libs/gst/video/gstvideoaggregator.h"
+ line="128"/>
+ </record>
+ <class name="VideoAggregatorPad"
+ c:symbol-prefix="video_aggregator_pad"
+ c:type="GstVideoAggregatorPad"
+ version="1.16"
+ parent="GstBase.AggregatorPad"
+ glib:type-name="GstVideoAggregatorPad"
+ glib:get-type="gst_video_aggregator_pad_get_type"
+ glib:type-struct="VideoAggregatorPadClass">
+ <source-position filename="gst-libs/gst/video/gstvideoaggregator.h"
+ line="98"/>
+ <virtual-method name="clean_frame">
+ <source-position filename="gst-libs/gst/video/gstvideoaggregator.h"
+ line="93"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pad" transfer-ownership="none">
+ <type name="VideoAggregatorPad" c:type="GstVideoAggregatorPad*"/>
+ </instance-parameter>
+ <parameter name="videoaggregator" transfer-ownership="none">
+ <type name="VideoAggregator" c:type="GstVideoAggregator*"/>
+ </parameter>
+ <parameter name="prepared_frame" transfer-ownership="none">
+ <type name="VideoFrame" c:type="GstVideoFrame*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="prepare_frame">
+ <source-position filename="gst-libs/gst/video/gstvideoaggregator.h"
+ line="88"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pad" transfer-ownership="none">
+ <type name="VideoAggregatorPad" c:type="GstVideoAggregatorPad*"/>
+ </instance-parameter>
+ <parameter name="videoaggregator" transfer-ownership="none">
+ <type name="VideoAggregator" c:type="GstVideoAggregator*"/>
+ </parameter>
+ <parameter name="buffer" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="prepared_frame" transfer-ownership="none">
+ <type name="VideoFrame" c:type="GstVideoFrame*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="update_conversion_info">
+ <source-position filename="gst-libs/gst/video/gstvideoaggregator.h"
+ line="86"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pad" transfer-ownership="none">
+ <type name="VideoAggregatorPad" c:type="GstVideoAggregatorPad*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <method name="get_current_buffer"
+ c:identifier="gst_video_aggregator_pad_get_current_buffer">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoaggregator.c"
+ line="321">Returns the currently queued buffer that is going to be used
+for the current output frame.
+
+This must only be called from the #GstVideoAggregatorClass::aggregate_frames virtual method,
+or from the #GstVideoAggregatorPadClass::prepare_frame virtual method of the aggregator pads.
+
+The return value is only valid until #GstVideoAggregatorClass::aggregate_frames or #GstVideoAggregatorPadClass::prepare_frame
+returns.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideoaggregator.h"
+ line="107"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoaggregator.c"
+ line="334">The currently queued buffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoaggregator.c"
+ line="323">a #GstVideoAggregatorPad</doc>
+ <type name="VideoAggregatorPad" c:type="GstVideoAggregatorPad*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_prepared_frame"
+ c:identifier="gst_video_aggregator_pad_get_prepared_frame">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoaggregator.c"
+ line="344">Returns the currently prepared video frame that has to be aggregated into
+the current output frame.
+
+This must only be called from the #GstVideoAggregatorClass::aggregate_frames virtual method,
+or from the #GstVideoAggregatorPadClass::prepare_frame virtual method of the aggregator pads.
+
+The return value is only valid until #GstVideoAggregatorClass::aggregate_frames or #GstVideoAggregatorPadClass::prepare_frame
+returns.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideoaggregator.h"
+ line="110"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoaggregator.c"
+ line="357">The currently prepared video frame</doc>
+ <type name="VideoFrame" c:type="GstVideoFrame*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoaggregator.c"
+ line="346">a #GstVideoAggregatorPad</doc>
+ <type name="VideoAggregatorPad" c:type="GstVideoAggregatorPad*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="has_current_buffer"
+ c:identifier="gst_video_aggregator_pad_has_current_buffer">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoaggregator.c"
+ line="301">Checks if the pad currently has a buffer queued that is going to be used
+for the current output frame.
+
+This must only be called from the #GstVideoAggregatorClass::aggregate_frames virtual method,
+or from the #GstVideoAggregatorPadClass::prepare_frame virtual method of the aggregator pads.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideoaggregator.h"
+ line="104"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoaggregator.c"
+ line="311">%TRUE if the pad has currently a buffer queued</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoaggregator.c"
+ line="303">a #GstVideoAggregatorPad</doc>
+ <type name="VideoAggregatorPad" c:type="GstVideoAggregatorPad*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="set_needs_alpha"
+ c:identifier="gst_video_aggregator_pad_set_needs_alpha">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoaggregator.c"
+ line="367">Allows selecting that this pad requires an output format with alpha</doc>
+ <source-position filename="gst-libs/gst/video/gstvideoaggregator.h"
+ line="113"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="pad" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoaggregator.c"
+ line="369">a #GstVideoAggregatorPad</doc>
+ <type name="VideoAggregatorPad" c:type="GstVideoAggregatorPad*"/>
+ </instance-parameter>
+ <parameter name="needs_alpha" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoaggregator.c"
+ line="370">%TRUE if this pad requires alpha output</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="max-last-buffer-repeat"
+ writable="1"
+ transfer-ownership="none">
+ <type name="guint64" c:type="guint64"/>
+ </property>
+ <property name="repeat-after-eos" writable="1" transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </property>
+ <property name="zorder" writable="1" transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </property>
+ <field name="parent">
+ <type name="GstBase.AggregatorPad" c:type="GstAggregatorPad"/>
+ </field>
+ <field name="info">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoaggregator.h"
+ line="56">The #GstVideoInfo currently set on the pad</doc>
+ <type name="VideoInfo" c:type="GstVideoInfo"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="VideoAggregatorPadPrivate"
+ c:type="GstVideoAggregatorPadPrivate*"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="VideoAggregatorPadClass"
+ c:type="GstVideoAggregatorPadClass"
+ glib:is-gtype-struct-for="VideoAggregatorPad"
+ version="1.16">
+ <source-position filename="gst-libs/gst/video/gstvideoaggregator.h"
+ line="98"/>
+ <field name="parent_class">
+ <type name="GstBase.AggregatorPadClass"
+ c:type="GstAggregatorPadClass"/>
+ </field>
+ <field name="update_conversion_info">
+ <callback name="update_conversion_info">
+ <source-position filename="gst-libs/gst/video/gstvideoaggregator.h"
+ line="86"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="pad" transfer-ownership="none">
+ <type name="VideoAggregatorPad" c:type="GstVideoAggregatorPad*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="prepare_frame">
+ <callback name="prepare_frame">
+ <source-position filename="gst-libs/gst/video/gstvideoaggregator.h"
+ line="88"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="pad" transfer-ownership="none">
+ <type name="VideoAggregatorPad" c:type="GstVideoAggregatorPad*"/>
+ </parameter>
+ <parameter name="videoaggregator" transfer-ownership="none">
+ <type name="VideoAggregator" c:type="GstVideoAggregator*"/>
+ </parameter>
+ <parameter name="buffer" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="prepared_frame" transfer-ownership="none">
+ <type name="VideoFrame" c:type="GstVideoFrame*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="clean_frame">
+ <callback name="clean_frame">
+ <source-position filename="gst-libs/gst/video/gstvideoaggregator.h"
+ line="93"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="pad" transfer-ownership="none">
+ <type name="VideoAggregatorPad" c:type="GstVideoAggregatorPad*"/>
+ </parameter>
+ <parameter name="videoaggregator" transfer-ownership="none">
+ <type name="VideoAggregator" c:type="GstVideoAggregator*"/>
+ </parameter>
+ <parameter name="prepared_frame" transfer-ownership="none">
+ <type name="VideoFrame" c:type="GstVideoFrame*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gst_reserved">
+ <array zero-terminated="0" fixed-size="20">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="VideoAggregatorPadPrivate"
+ c:type="GstVideoAggregatorPadPrivate"
+ disguised="1">
+ <source-position filename="gst-libs/gst/video/gstvideoaggregator.h"
+ line="52"/>
+ </record>
+ <record name="VideoAggregatorPrivate"
+ c:type="GstVideoAggregatorPrivate"
+ disguised="1">
+ <source-position filename="gst-libs/gst/video/gstvideoaggregator.h"
+ line="31"/>
+ </record>
+ <record name="VideoAlignment" c:type="GstVideoAlignment">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video.h"
+ line="41">Extra alignment parameters for the memory of video buffers. This
+structure is usually used to configure the bufferpool if it supports the
+#GST_BUFFER_POOL_OPTION_VIDEO_ALIGNMENT.</doc>
+ <source-position filename="gst-libs/gst/video/video.h" line="60"/>
+ <field name="padding_top" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video.h"
+ line="45">extra pixels on the top</doc>
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="padding_bottom" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video.h"
+ line="46">extra pixels on the bottom</doc>
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="padding_left" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video.h"
+ line="43">extra pixels on the left side</doc>
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="padding_right" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video.h"
+ line="44">extra pixels on the right side</doc>
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="stride_align" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video.h"
+ line="47">array with extra alignment requirements for the strides</doc>
+ <array zero-terminated="0" fixed-size="4">
+ <type name="guint" c:type="guint"/>
+ </array>
+ </field>
+ <method name="reset" c:identifier="gst_video_alignment_reset">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video.c"
+ line="187">Set @align to its default values with no padding and no alignment.</doc>
+ <source-position filename="gst-libs/gst/video/video.h" line="127"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="align" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video.c"
+ line="189">a #GstVideoAlignment</doc>
+ <type name="VideoAlignment" c:type="GstVideoAlignment*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ </record>
+ <enumeration name="VideoAlphaMode"
+ version="1.6"
+ glib:type-name="GstVideoAlphaMode"
+ glib:get-type="gst_video_alpha_mode_get_type"
+ c:type="GstVideoAlphaMode">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-converter.h"
+ line="135">Different alpha modes.</doc>
+ <member name="copy"
+ value="0"
+ c:identifier="GST_VIDEO_ALPHA_MODE_COPY"
+ glib:nick="copy">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-converter.h"
+ line="137">When input and output have alpha, it will be copied.
+ When the input has no alpha, alpha will be set to
+ #GST_VIDEO_CONVERTER_OPT_ALPHA_VALUE</doc>
+ </member>
+ <member name="set"
+ value="1"
+ c:identifier="GST_VIDEO_ALPHA_MODE_SET"
+ glib:nick="set">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-converter.h"
+ line="140">set all alpha to
+ #GST_VIDEO_CONVERTER_OPT_ALPHA_VALUE</doc>
+ </member>
+ <member name="mult"
+ value="2"
+ c:identifier="GST_VIDEO_ALPHA_MODE_MULT"
+ glib:nick="mult">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-converter.h"
+ line="142">multiply all alpha with
+ #GST_VIDEO_CONVERTER_OPT_ALPHA_VALUE.
+ When the input format has no alpha but the output format has, the
+ alpha value will be set to #GST_VIDEO_CONVERTER_OPT_ALPHA_VALUE</doc>
+ </member>
+ </enumeration>
+ <record name="VideoAncillary" c:type="GstVideoAncillary" version="1.16">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.h"
+ line="31">Video Ancillary data, according to SMPTE-291M specification.
+
+Note that the contents of the data are always stored as 8bit data (i.e. do not contain
+the parity check bits).</doc>
+ <source-position filename="gst-libs/gst/video/video-anc.h" line="56"/>
+ <field name="DID" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.h"
+ line="33">The Data Identifier</doc>
+ <type name="guint8" c:type="guint8"/>
+ </field>
+ <field name="SDID_block_number" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.h"
+ line="34">The Secondary Data Identifier (if type 2) or the Data
+ Block Number (if type 1)</doc>
+ <type name="guint8" c:type="guint8"/>
+ </field>
+ <field name="data_count" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.h"
+ line="36">The amount of data (in bytes) in @data (max 255 bytes)</doc>
+ <type name="guint8" c:type="guint8"/>
+ </field>
+ <field name="data" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.h"
+ line="37">The user data content of the Ancillary packet.
+ Does not contain the ADF, DID, SDID nor CS.</doc>
+ <array length="2" zero-terminated="0">
+ <type name="guint8" c:type="guint8"/>
+ </array>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <enumeration name="VideoAncillaryDID"
+ version="1.16"
+ glib:type-name="GstVideoAncillaryDID"
+ glib:get-type="gst_video_ancillary_did_get_type"
+ c:type="GstVideoAncillaryDID">
+ <member name="undefined"
+ value="0"
+ c:identifier="GST_VIDEO_ANCILLARY_DID_UNDEFINED"
+ glib:nick="undefined">
+ </member>
+ <member name="deletion"
+ value="128"
+ c:identifier="GST_VIDEO_ANCILLARY_DID_DELETION"
+ glib:nick="deletion">
+ </member>
+ <member name="hanc_3g_audio_data_first"
+ value="160"
+ c:identifier="GST_VIDEO_ANCILLARY_DID_HANC_3G_AUDIO_DATA_FIRST"
+ glib:nick="hanc-3g-audio-data-first">
+ </member>
+ <member name="hanc_3g_audio_data_last"
+ value="167"
+ c:identifier="GST_VIDEO_ANCILLARY_DID_HANC_3G_AUDIO_DATA_LAST"
+ glib:nick="hanc-3g-audio-data-last">
+ </member>
+ <member name="hanc_hdtv_audio_data_first"
+ value="224"
+ c:identifier="GST_VIDEO_ANCILLARY_DID_HANC_HDTV_AUDIO_DATA_FIRST"
+ glib:nick="hanc-hdtv-audio-data-first">
+ </member>
+ <member name="hanc_hdtv_audio_data_last"
+ value="231"
+ c:identifier="GST_VIDEO_ANCILLARY_DID_HANC_HDTV_AUDIO_DATA_LAST"
+ glib:nick="hanc-hdtv-audio-data-last">
+ </member>
+ <member name="hanc_sdtv_audio_data_1_first"
+ value="236"
+ c:identifier="GST_VIDEO_ANCILLARY_DID_HANC_SDTV_AUDIO_DATA_1_FIRST"
+ glib:nick="hanc-sdtv-audio-data-1-first">
+ </member>
+ <member name="hanc_sdtv_audio_data_1_last"
+ value="239"
+ c:identifier="GST_VIDEO_ANCILLARY_DID_HANC_SDTV_AUDIO_DATA_1_LAST"
+ glib:nick="hanc-sdtv-audio-data-1-last">
+ </member>
+ <member name="camera_position"
+ value="240"
+ c:identifier="GST_VIDEO_ANCILLARY_DID_CAMERA_POSITION"
+ glib:nick="camera-position">
+ </member>
+ <member name="hanc_error_detection"
+ value="244"
+ c:identifier="GST_VIDEO_ANCILLARY_DID_HANC_ERROR_DETECTION"
+ glib:nick="hanc-error-detection">
+ </member>
+ <member name="hanc_sdtv_audio_data_2_first"
+ value="248"
+ c:identifier="GST_VIDEO_ANCILLARY_DID_HANC_SDTV_AUDIO_DATA_2_FIRST"
+ glib:nick="hanc-sdtv-audio-data-2-first">
+ </member>
+ <member name="hanc_sdtv_audio_data_2_last"
+ value="255"
+ c:identifier="GST_VIDEO_ANCILLARY_DID_HANC_SDTV_AUDIO_DATA_2_LAST"
+ glib:nick="hanc-sdtv-audio-data-2-last">
+ </member>
+ </enumeration>
+ <enumeration name="VideoAncillaryDID16"
+ version="1.16"
+ glib:type-name="GstVideoAncillaryDID16"
+ glib:get-type="gst_video_ancillary_di_d16_get_type"
+ c:type="GstVideoAncillaryDID16">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.h"
+ line="90">Some know types of Ancillary Data identifiers.</doc>
+ <member name="s334_eia_708"
+ value="24833"
+ c:identifier="GST_VIDEO_ANCILLARY_DID16_S334_EIA_708"
+ glib:nick="s334-eia-708">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.h"
+ line="92">CEA 708 Ancillary data according to SMPTE 334</doc>
+ </member>
+ <member name="s334_eia_608"
+ value="24834"
+ c:identifier="GST_VIDEO_ANCILLARY_DID16_S334_EIA_608"
+ glib:nick="s334-eia-608">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.h"
+ line="93">CEA 608 Ancillary data according to SMPTE 334</doc>
+ </member>
+ <member name="s2016_3_afd_bar"
+ value="16645"
+ c:identifier="GST_VIDEO_ANCILLARY_DID16_S2016_3_AFD_BAR"
+ glib:nick="s2016-3-afd-bar">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.h"
+ line="94">AFD/Bar Ancillary data according to SMPTE 2016-3 (Since: 1.18)</doc>
+ </member>
+ </enumeration>
+ <record name="VideoBarMeta" c:type="GstVideoBarMeta" version="1.18">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.h"
+ line="268">Bar data should be included in video user data
+whenever the rectangular picture area containing useful information
+does not extend to the full height or width of the coded frame
+and AFD alone is insufficient to describe the extent of the image.
+
+Note: either vertical or horizontal bars are specified, but not both.
+
+For more details, see:
+
+https://www.atsc.org/wp-content/uploads/2015/03/a_53-Part-4-2009.pdf
+
+and SMPTE ST2016-1</doc>
+ <source-position filename="gst-libs/gst/video/video-anc.h" line="304"/>
+ <field name="meta" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.h"
+ line="270">parent #GstMeta</doc>
+ <type name="Gst.Meta" c:type="GstMeta"/>
+ </field>
+ <field name="field" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.h"
+ line="271">0 for progressive or field 1 and 1 for field 2</doc>
+ <type name="guint8" c:type="guint8"/>
+ </field>
+ <field name="is_letterbox" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.h"
+ line="272">if true then bar data specifies letterbox, otherwise pillarbox</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="bar_data1" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.h"
+ line="273">If @is_letterbox is true, then the value specifies the
+ last line of a horizontal letterbox bar area at top of reconstructed frame.
+ Otherwise, it specifies the last horizontal luminance sample of a vertical pillarbox
+ bar area at the left side of the reconstructed frame</doc>
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="bar_data2" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.h"
+ line="277">If @is_letterbox is true, then the value specifies the
+ first line of a horizontal letterbox bar area at bottom of reconstructed frame.
+ Otherwise, it specifies the first horizontal
+ luminance sample of a vertical pillarbox bar area at the right side of the reconstructed frame.</doc>
+ <type name="guint" c:type="guint"/>
+ </field>
+ <function name="get_info" c:identifier="gst_video_bar_meta_get_info">
+ <source-position filename="gst-libs/gst/video/video-anc.h" line="309"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.MetaInfo" c:type="const GstMetaInfo*"/>
+ </return-value>
+ </function>
+ </record>
+ <bitfield name="VideoBufferFlags"
+ glib:type-name="GstVideoBufferFlags"
+ glib:get-type="gst_video_buffer_flags_get_type"
+ c:type="GstVideoBufferFlags">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-frame.h"
+ line="155">Additional video buffer flags. These flags can potentially be used on any
+buffers carrying closed caption data, or video data - even encoded data.
+
+Note that these are only valid for #GstCaps of type: video/... and caption/...
+They can conflict with other extended buffer flags.</doc>
+ <member name="interlaced"
+ value="1048576"
+ c:identifier="GST_VIDEO_BUFFER_FLAG_INTERLACED"
+ glib:nick="interlaced">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-frame.h"
+ line="157">If the #GstBuffer is interlaced. In mixed
+ interlace-mode, this flags specifies if the frame is
+ interlaced or progressive.</doc>
+ </member>
+ <member name="tff"
+ value="2097152"
+ c:identifier="GST_VIDEO_BUFFER_FLAG_TFF"
+ glib:nick="tff">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-frame.h"
+ line="160">If the #GstBuffer is interlaced, then the first field
+ in the video frame is the top field. If unset, the
+ bottom field is first.</doc>
+ </member>
+ <member name="rff"
+ value="4194304"
+ c:identifier="GST_VIDEO_BUFFER_FLAG_RFF"
+ glib:nick="rff">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-frame.h"
+ line="163">If the #GstBuffer is interlaced, then the first field
+ (as defined by the %GST_VIDEO_BUFFER_FLAG_TFF flag setting)
+ is repeated.</doc>
+ </member>
+ <member name="onefield"
+ value="8388608"
+ c:identifier="GST_VIDEO_BUFFER_FLAG_ONEFIELD"
+ glib:nick="onefield">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-frame.h"
+ line="166">If the #GstBuffer is interlaced, then only the
+ first field (as defined by the %GST_VIDEO_BUFFER_FLAG_TFF
+ flag setting) is to be displayed (Since: 1.16).</doc>
+ </member>
+ <member name="multiple_view"
+ value="16777216"
+ c:identifier="GST_VIDEO_BUFFER_FLAG_MULTIPLE_VIEW"
+ glib:nick="multiple-view">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-frame.h"
+ line="169">The #GstBuffer contains one or more specific views,
+ such as left or right eye view. This flags is set on
+ any buffer that contains non-mono content - even for
+ streams that contain only a single viewpoint. In mixed
+ mono / non-mono streams, the absence of the flag marks
+ mono buffers.</doc>
+ </member>
+ <member name="first_in_bundle"
+ value="33554432"
+ c:identifier="GST_VIDEO_BUFFER_FLAG_FIRST_IN_BUNDLE"
+ glib:nick="first-in-bundle">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-frame.h"
+ line="175">When conveying stereo/multiview content with
+ frame-by-frame methods, this flag marks the first buffer
+ in a bundle of frames that belong together.</doc>
+ </member>
+ <member name="top_field"
+ value="10485760"
+ c:identifier="GST_VIDEO_BUFFER_FLAG_TOP_FIELD"
+ glib:nick="top-field">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-frame.h"
+ line="178">The video frame has the top field only. This is the
+ same as GST_VIDEO_BUFFER_FLAG_TFF |
+ GST_VIDEO_BUFFER_FLAG_ONEFIELD (Since: 1.16).
+ Use GST_VIDEO_BUFFER_IS_TOP_FIELD() to check for this flag.</doc>
+ </member>
+ <member name="onefield"
+ value="8388608"
+ c:identifier="GST_VIDEO_BUFFER_FLAG_ONEFIELD"
+ glib:nick="onefield">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-frame.h"
+ line="166">If the #GstBuffer is interlaced, then only the
+ first field (as defined by the %GST_VIDEO_BUFFER_FLAG_TFF
+ flag setting) is to be displayed (Since: 1.16).</doc>
+ </member>
+ <member name="bottom_field"
+ value="8388608"
+ c:identifier="GST_VIDEO_BUFFER_FLAG_BOTTOM_FIELD"
+ glib:nick="bottom-field">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-frame.h"
+ line="182">The video frame has the bottom field only. This is
+ the same as GST_VIDEO_BUFFER_FLAG_ONEFIELD
+ (GST_VIDEO_BUFFER_FLAG_TFF flag unset) (Since: 1.16).
+ Use GST_VIDEO_BUFFER_IS_BOTTOM_FIELD() to check for this flag.</doc>
+ </member>
+ <member name="marker"
+ value="512"
+ c:identifier="GST_VIDEO_BUFFER_FLAG_MARKER"
+ glib:nick="marker">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-frame.h"
+ line="186">The #GstBuffer contains the end of a video field or frame
+ boundary such as the last subframe or packet (Since: 1.18).</doc>
+ </member>
+ <member name="last"
+ value="268435456"
+ c:identifier="GST_VIDEO_BUFFER_FLAG_LAST"
+ glib:nick="last">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-frame.h"
+ line="188">Offset to define more flags</doc>
+ </member>
+ </bitfield>
+ <class name="VideoBufferPool"
+ c:symbol-prefix="video_buffer_pool"
+ c:type="GstVideoBufferPool"
+ parent="Gst.BufferPool"
+ glib:type-name="GstVideoBufferPool"
+ glib:get-type="gst_video_buffer_pool_get_type"
+ glib:type-struct="VideoBufferPoolClass">
+ <source-position filename="gst-libs/gst/video/gstvideopool.h" line="76"/>
+ <constructor name="new" c:identifier="gst_video_buffer_pool_new">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideopool.c"
+ line="274">Create a new bufferpool that can allocate video frames. This bufferpool
+supports all the video bufferpool options.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideopool.h"
+ line="82"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideopool.c"
+ line="280">a new #GstBufferPool to allocate video frames</doc>
+ <type name="Gst.BufferPool" c:type="GstBufferPool*"/>
+ </return-value>
+ </constructor>
+ <field name="bufferpool">
+ <type name="Gst.BufferPool" c:type="GstBufferPool"/>
+ </field>
+ <field name="priv">
+ <type name="VideoBufferPoolPrivate"
+ c:type="GstVideoBufferPoolPrivate*"/>
+ </field>
+ </class>
+ <record name="VideoBufferPoolClass"
+ c:type="GstVideoBufferPoolClass"
+ glib:is-gtype-struct-for="VideoBufferPool">
+ <source-position filename="gst-libs/gst/video/gstvideopool.h" line="76"/>
+ <field name="parent_class">
+ <type name="Gst.BufferPoolClass" c:type="GstBufferPoolClass"/>
+ </field>
+ </record>
+ <record name="VideoBufferPoolPrivate"
+ c:type="GstVideoBufferPoolPrivate"
+ disguised="1">
+ <source-position filename="gst-libs/gst/video/gstvideopool.h" line="59"/>
+ </record>
+ <record name="VideoCaptionMeta"
+ c:type="GstVideoCaptionMeta"
+ version="1.16">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.h"
+ line="375">Extra buffer metadata providing Closed Caption.</doc>
+ <source-position filename="gst-libs/gst/video/video-anc.h" line="392"/>
+ <field name="meta" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.h"
+ line="377">parent #GstMeta</doc>
+ <type name="Gst.Meta" c:type="GstMeta"/>
+ </field>
+ <field name="caption_type" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.h"
+ line="378">The type of Closed Caption contained in the meta.</doc>
+ <type name="VideoCaptionType" c:type="GstVideoCaptionType"/>
+ </field>
+ <field name="data" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.h"
+ line="379">The Closed Caption data.</doc>
+ <array length="3" zero-terminated="0" c:type="guint8*">
+ <type name="guint8" c:type="guint8"/>
+ </array>
+ </field>
+ <field name="size" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.h"
+ line="380">The size in bytes of @data</doc>
+ <type name="gsize" c:type="gsize"/>
+ </field>
+ <function name="get_info" c:identifier="gst_video_caption_meta_get_info">
+ <source-position filename="gst-libs/gst/video/video-anc.h" line="399"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.MetaInfo" c:type="const GstMetaInfo*"/>
+ </return-value>
+ </function>
+ </record>
+ <enumeration name="VideoCaptionType"
+ version="1.16"
+ glib:type-name="GstVideoCaptionType"
+ glib:get-type="gst_video_caption_type_get_type"
+ c:type="GstVideoCaptionType">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.h"
+ line="330">The various known types of Closed Caption (CC).</doc>
+ <member name="unknown"
+ value="0"
+ c:identifier="GST_VIDEO_CAPTION_TYPE_UNKNOWN"
+ glib:nick="unknown">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.h"
+ line="332">Unknown type of CC</doc>
+ </member>
+ <member name="cea608_raw"
+ value="1"
+ c:identifier="GST_VIDEO_CAPTION_TYPE_CEA608_RAW"
+ glib:nick="cea608-raw">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.h"
+ line="333">CEA-608 as byte pairs. Note that
+ this format is not recommended since is does not specify to
+ which field the caption comes from and therefore assumes
+ it comes from the first field (and that there is no information
+ on the second field). Use @GST_VIDEO_CAPTION_TYPE_CEA708_RAW
+ if you wish to store CEA-608 from two fields and prefix each byte pair
+ with 0xFC for the first field and 0xFD for the second field.</doc>
+ </member>
+ <member name="cea608_s334_1a"
+ value="2"
+ c:identifier="GST_VIDEO_CAPTION_TYPE_CEA608_S334_1A"
+ glib:nick="cea608-s334-1a">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.h"
+ line="340">CEA-608 as byte triplets as defined
+ in SMPTE S334-1 Annex A. The second and third byte of the byte triplet
+ is the raw CEA608 data, the first byte is a bitfield: The top/7th bit is
+ 0 for the second field, 1 for the first field, bit 6 and 5 are 0 and
+ bits 4 to 0 are a 5 bit unsigned integer that represents the line
+ offset relative to the base-line of the original image format (line 9
+ for 525-line field 1, line 272 for 525-line field 2, line 5 for
+ 625-line field 1 and line 318 for 625-line field 2).</doc>
+ </member>
+ <member name="cea708_raw"
+ value="3"
+ c:identifier="GST_VIDEO_CAPTION_TYPE_CEA708_RAW"
+ glib:nick="cea708-raw">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.h"
+ line="348">CEA-708 as cc_data byte triplets. They
+ can also contain 608-in-708 and the first byte of each triplet has to
+ be inspected for detecting the type.</doc>
+ </member>
+ <member name="cea708_cdp"
+ value="4"
+ c:identifier="GST_VIDEO_CAPTION_TYPE_CEA708_CDP"
+ glib:nick="cea708-cdp">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.h"
+ line="351">CEA-708 (and optionally CEA-608) in
+ a CDP (Caption Distribution Packet) defined by SMPTE S-334-2.
+ Contains the whole CDP (starting with 0x9669).</doc>
+ </member>
+ <function name="from_caps"
+ c:identifier="gst_video_caption_type_from_caps"
+ version="1.16">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.c"
+ line="1040">Parses fixed Closed Caption #GstCaps and returns the corresponding caption
+type, or %GST_VIDEO_CAPTION_TYPE_UNKNOWN.</doc>
+ <source-position filename="gst-libs/gst/video/video-anc.h" line="369"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.c"
+ line="1047">#GstVideoCaptionType.</doc>
+ <type name="VideoCaptionType" c:type="GstVideoCaptionType"/>
+ </return-value>
+ <parameters>
+ <parameter name="caps" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.c"
+ line="1042">Fixed #GstCaps to parse</doc>
+ <type name="Gst.Caps" c:type="const GstCaps*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="to_caps"
+ c:identifier="gst_video_caption_type_to_caps"
+ version="1.16">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.c"
+ line="1080">Creates new caps corresponding to @type.</doc>
+ <source-position filename="gst-libs/gst/video/video-anc.h" line="373"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.c"
+ line="1086">new #GstCaps</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.c"
+ line="1082">#GstVideoCaptionType</doc>
+ <type name="VideoCaptionType" c:type="GstVideoCaptionType"/>
+ </parameter>
+ </parameters>
+ </function>
+ </enumeration>
+ <bitfield name="VideoChromaFlags"
+ glib:type-name="GstVideoChromaFlags"
+ glib:get-type="gst_video_chroma_flags_get_type"
+ c:type="GstVideoChromaFlags">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-chroma.h"
+ line="75">Extra flags that influence the result from gst_video_chroma_resample_new().</doc>
+ <member name="none"
+ value="0"
+ c:identifier="GST_VIDEO_CHROMA_FLAG_NONE"
+ glib:nick="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-chroma.h"
+ line="77">no flags</doc>
+ </member>
+ <member name="interlaced"
+ value="1"
+ c:identifier="GST_VIDEO_CHROMA_FLAG_INTERLACED"
+ glib:nick="interlaced">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-chroma.h"
+ line="78">the input is interlaced</doc>
+ </member>
+ </bitfield>
+ <enumeration name="VideoChromaMethod"
+ glib:type-name="GstVideoChromaMethod"
+ glib:get-type="gst_video_chroma_method_get_type"
+ c:type="GstVideoChromaMethod">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-chroma.h"
+ line="61">Different subsampling and upsampling methods</doc>
+ <member name="nearest"
+ value="0"
+ c:identifier="GST_VIDEO_CHROMA_METHOD_NEAREST"
+ glib:nick="nearest">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-chroma.h"
+ line="63">Duplicates the chroma samples when
+ upsampling and drops when subsampling</doc>
+ </member>
+ <member name="linear"
+ value="1"
+ c:identifier="GST_VIDEO_CHROMA_METHOD_LINEAR"
+ glib:nick="linear">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-chroma.h"
+ line="65">Uses linear interpolation to reconstruct
+ missing chroma and averaging to subsample</doc>
+ </member>
+ </enumeration>
+ <enumeration name="VideoChromaMode"
+ version="1.6"
+ glib:type-name="GstVideoChromaMode"
+ glib:get-type="gst_video_chroma_mode_get_type"
+ c:type="GstVideoChromaMode">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-converter.h"
+ line="172">Different chroma downsampling and upsampling modes</doc>
+ <member name="full"
+ value="0"
+ c:identifier="GST_VIDEO_CHROMA_MODE_FULL"
+ glib:nick="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-converter.h"
+ line="174">do full chroma up and down sampling</doc>
+ </member>
+ <member name="upsample_only"
+ value="1"
+ c:identifier="GST_VIDEO_CHROMA_MODE_UPSAMPLE_ONLY"
+ glib:nick="upsample-only">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-converter.h"
+ line="175">only perform chroma upsampling</doc>
+ </member>
+ <member name="downsample_only"
+ value="2"
+ c:identifier="GST_VIDEO_CHROMA_MODE_DOWNSAMPLE_ONLY"
+ glib:nick="downsample-only">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-converter.h"
+ line="176">only perform chroma downsampling</doc>
+ </member>
+ <member name="none"
+ value="3"
+ c:identifier="GST_VIDEO_CHROMA_MODE_NONE"
+ glib:nick="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-converter.h"
+ line="177">disable chroma resampling</doc>
+ </member>
+ </enumeration>
+ <record name="VideoChromaResample"
+ c:type="GstVideoChromaResample"
+ disguised="1">
+ <source-position filename="gst-libs/gst/video/video-chroma.h" line="87"/>
+ <method name=""
+ c:identifier="gst_video_chroma_resample"
+ moved-to="video_chroma_resample">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-chroma.c"
+ line="1040">Perform resampling of @width chroma pixels in @lines.</doc>
+ <source-position filename="gst-libs/gst/video/video-chroma.h"
+ line="107"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="resample" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-chroma.c"
+ line="1042">a #GstVideoChromaResample</doc>
+ <type name="VideoChromaResample" c:type="GstVideoChromaResample*"/>
+ </instance-parameter>
+ <parameter name="lines"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-chroma.c"
+ line="1043">pixel lines</doc>
+ <type name="gpointer" c:type="gpointer*"/>
+ </parameter>
+ <parameter name="width" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-chroma.c"
+ line="1044">the number of pixels on one line</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="free" c:identifier="gst_video_chroma_resample_free">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-chroma.c"
+ line="1026">Free @resample</doc>
+ <source-position filename="gst-libs/gst/video/video-chroma.h"
+ line="100"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="resample" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-chroma.c"
+ line="1028">a #GstVideoChromaResample</doc>
+ <type name="VideoChromaResample" c:type="GstVideoChromaResample*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_info"
+ c:identifier="gst_video_chroma_resample_get_info">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-chroma.c"
+ line="1005">The resampler must be fed @n_lines at a time. The first line should be
+at @offset.</doc>
+ <source-position filename="gst-libs/gst/video/video-chroma.h"
+ line="103"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="resample" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-chroma.c"
+ line="1007">a #GstVideoChromaResample</doc>
+ <type name="VideoChromaResample" c:type="GstVideoChromaResample*"/>
+ </instance-parameter>
+ <parameter name="n_lines" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-chroma.c"
+ line="1008">the number of input lines</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ <parameter name="offset" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-chroma.c"
+ line="1009">the first line</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <function name="new"
+ c:identifier="gst_video_chroma_resample_new"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-chroma.c"
+ line="929">Create a new resampler object for the given parameters. When @h_factor or
+@v_factor is &gt; 0, upsampling will be used, otherwise subsampling is
+performed.</doc>
+ <source-position filename="gst-libs/gst/video/video-chroma.h"
+ line="93"/>
+ <return-value>
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-chroma.c"
+ line="942">a new #GstVideoChromaResample that should be freed with
+ gst_video_chroma_resample_free() after usage.</doc>
+ <type name="VideoChromaResample" c:type="GstVideoChromaResample*"/>
+ </return-value>
+ <parameters>
+ <parameter name="method" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-chroma.c"
+ line="931">a #GstVideoChromaMethod</doc>
+ <type name="VideoChromaMethod" c:type="GstVideoChromaMethod"/>
+ </parameter>
+ <parameter name="site" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-chroma.c"
+ line="932">a #GstVideoChromaSite</doc>
+ <type name="VideoChromaSite" c:type="GstVideoChromaSite"/>
+ </parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-chroma.c"
+ line="933">#GstVideoChromaFlags</doc>
+ <type name="VideoChromaFlags" c:type="GstVideoChromaFlags"/>
+ </parameter>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-chroma.c"
+ line="934">the #GstVideoFormat</doc>
+ <type name="VideoFormat" c:type="GstVideoFormat"/>
+ </parameter>
+ <parameter name="h_factor" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-chroma.c"
+ line="935">horizontal resampling factor</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="v_factor" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-chroma.c"
+ line="936">vertical resampling factor</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </function>
+ </record>
+ <bitfield name="VideoChromaSite"
+ glib:type-name="GstVideoChromaSite"
+ glib:get-type="gst_video_chroma_site_get_type"
+ c:type="GstVideoChromaSite">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-chroma.h"
+ line="28">Various Chroma sitings.</doc>
+ <member name="unknown"
+ value="0"
+ c:identifier="GST_VIDEO_CHROMA_SITE_UNKNOWN"
+ glib:nick="unknown">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-chroma.h"
+ line="30">unknown cositing</doc>
+ </member>
+ <member name="none"
+ value="1"
+ c:identifier="GST_VIDEO_CHROMA_SITE_NONE"
+ glib:nick="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-chroma.h"
+ line="31">no cositing</doc>
+ </member>
+ <member name="h_cosited"
+ value="2"
+ c:identifier="GST_VIDEO_CHROMA_SITE_H_COSITED"
+ glib:nick="h-cosited">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-chroma.h"
+ line="32">chroma is horizontally cosited</doc>
+ </member>
+ <member name="v_cosited"
+ value="4"
+ c:identifier="GST_VIDEO_CHROMA_SITE_V_COSITED"
+ glib:nick="v-cosited">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-chroma.h"
+ line="33">chroma is vertically cosited</doc>
+ </member>
+ <member name="alt_line"
+ value="8"
+ c:identifier="GST_VIDEO_CHROMA_SITE_ALT_LINE"
+ glib:nick="alt-line">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-chroma.h"
+ line="34">choma samples are sited on alternate lines</doc>
+ </member>
+ <member name="cosited"
+ value="6"
+ c:identifier="GST_VIDEO_CHROMA_SITE_COSITED"
+ glib:nick="cosited">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-chroma.h"
+ line="35">chroma samples cosited with luma samples</doc>
+ </member>
+ <member name="jpeg"
+ value="1"
+ c:identifier="GST_VIDEO_CHROMA_SITE_JPEG"
+ glib:nick="jpeg">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-chroma.h"
+ line="36">jpeg style cositing, also for mpeg1 and mjpeg</doc>
+ </member>
+ <member name="mpeg2"
+ value="2"
+ c:identifier="GST_VIDEO_CHROMA_SITE_MPEG2"
+ glib:nick="mpeg2">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-chroma.h"
+ line="37">mpeg2 style cositing</doc>
+ </member>
+ <member name="dv"
+ value="14"
+ c:identifier="GST_VIDEO_CHROMA_SITE_DV"
+ glib:nick="dv">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-chroma.h"
+ line="38">DV style cositing</doc>
+ </member>
+ </bitfield>
+ <record name="VideoCodecFrame"
+ c:type="GstVideoCodecFrame"
+ glib:type-name="GstVideoCodecFrame"
+ glib:get-type="gst_video_codec_frame_get_type"
+ c:symbol-prefix="video_codec_frame">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoutils.h"
+ line="211">A #GstVideoCodecFrame represents a video frame both in raw and
+encoded form.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideoutils.h"
+ line="278"/>
+ <field name="ref_count" readable="0" private="1">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="flags" readable="0" private="1">
+ <type name="guint32" c:type="guint32"/>
+ </field>
+ <field name="system_frame_number" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoutils.h"
+ line="216">Unique identifier for the frame. Use this if you need
+ to get hold of the frame later (like when data is being decoded).
+ Typical usage in decoders is to set this on the opaque value provided
+ to the library and get back the frame using gst_video_decoder_get_frame()</doc>
+ <type name="guint32" c:type="guint32"/>
+ </field>
+ <field name="decode_frame_number" readable="0" private="1">
+ <type name="guint32" c:type="guint32"/>
+ </field>
+ <field name="presentation_frame_number" readable="0" private="1">
+ <type name="guint32" c:type="guint32"/>
+ </field>
+ <field name="dts" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoutils.h"
+ line="214">Decoding timestamp</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </field>
+ <field name="pts" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoutils.h"
+ line="213">Presentation timestamp</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </field>
+ <field name="duration" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoutils.h"
+ line="215">Duration of the frame</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </field>
+ <field name="distance_from_sync" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoutils.h"
+ line="220">Distance in frames from the last synchronization point.</doc>
+ <type name="gint" c:type="int"/>
+ </field>
+ <field name="input_buffer" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoutils.h"
+ line="221">the input #GstBuffer that created this frame. The buffer is owned
+ by the frame and references to the frame instead of the buffer should
+ be kept.</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </field>
+ <field name="output_buffer" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoutils.h"
+ line="224">the output #GstBuffer. Implementations should set this either
+ directly, or by using the
+ @gst_video_decoder_allocate_output_frame() or
+ @gst_video_decoder_allocate_output_buffer() methods. The buffer is
+ owned by the frame and references to the frame instead of the
+ buffer should be kept.</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </field>
+ <field name="deadline" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoutils.h"
+ line="230">Running time when the frame will be used.</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </field>
+ <field name="events" readable="0" private="1">
+ <type name="GLib.List" c:type="GList*">
+ <type name="gpointer" c:type="gpointer"/>
+ </type>
+ </field>
+ <field name="user_data" readable="0" private="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <field name="user_data_destroy_notify" readable="0" private="1">
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </field>
+ <union name="abidata" c:type="abidata">
+ <source-position filename="gst-libs/gst/video/gstvideoutils.h"
+ line="277"/>
+ <record name="ABI" c:type="ABI">
+ <source-position filename="gst-libs/gst/video/gstvideoutils.h"
+ line="275"/>
+ <field name="ts" writable="1">
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </field>
+ <field name="ts2" writable="1">
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </field>
+ <field name="num_subframes" writable="1">
+ <type name="guint" c:type="guint"/>
+ </field>
+ </record>
+ <field name="padding" writable="1">
+ <array zero-terminated="0" fixed-size="20">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </union>
+ <method name="get_user_data"
+ c:identifier="gst_video_codec_frame_get_user_data">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoutils.c"
+ line="87">Gets private data set on the frame by the subclass via
+gst_video_codec_frame_set_user_data() previously.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideoutils.h"
+ line="309"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoutils.c"
+ line="94">The previously set user_data</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="frame" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoutils.c"
+ line="89">a #GstVideoCodecFrame</doc>
+ <type name="VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="ref" c:identifier="gst_video_codec_frame_ref">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoutils.c"
+ line="102">Increases the refcount of the given frame by one.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideoutils.h"
+ line="298"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoutils.c"
+ line="108">@buf</doc>
+ <type name="VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="frame" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoutils.c"
+ line="104">a #GstVideoCodecFrame</doc>
+ <type name="VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="set_user_data"
+ c:identifier="gst_video_codec_frame_set_user_data">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoutils.c"
+ line="64">Sets @user_data on the frame and the #GDestroyNotify that will be called when
+the frame is freed. Allows to attach private data by the subclass to frames.
+
+If a @user_data was previously set, then the previous set @notify will be called
+before the @user_data is replaced.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideoutils.h"
+ line="304"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="frame" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoutils.c"
+ line="66">a #GstVideoCodecFrame</doc>
+ <type name="VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
+ </instance-parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoutils.c"
+ line="67">private data</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="notify"
+ transfer-ownership="none"
+ scope="async"
+ closure="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoutils.c"
+ line="68">a #GDestroyNotify</doc>
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="unref" c:identifier="gst_video_codec_frame_unref">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoutils.c"
+ line="122">Decreases the refcount of the frame. If the refcount reaches 0, the frame
+will be freed.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideoutils.h"
+ line="301"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="frame" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoutils.c"
+ line="124">a #GstVideoCodecFrame</doc>
+ <type name="VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ </record>
+ <bitfield name="VideoCodecFrameFlags" c:type="GstVideoCodecFrameFlags">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoutils.h"
+ line="79">Flags for #GstVideoCodecFrame</doc>
+ <source-position filename="gst-libs/gst/video/gstvideoutils.h"
+ line="103"/>
+ <member name="decode_only"
+ value="1"
+ c:identifier="GST_VIDEO_CODEC_FRAME_FLAG_DECODE_ONLY">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoutils.h"
+ line="81">is the frame only meant to be decoded</doc>
+ </member>
+ <member name="sync_point"
+ value="2"
+ c:identifier="GST_VIDEO_CODEC_FRAME_FLAG_SYNC_POINT">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoutils.h"
+ line="82">is the frame a synchronization point (keyframe)</doc>
+ </member>
+ <member name="force_keyframe"
+ value="4"
+ c:identifier="GST_VIDEO_CODEC_FRAME_FLAG_FORCE_KEYFRAME">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoutils.h"
+ line="83">should the output frame be made a keyframe</doc>
+ </member>
+ <member name="force_keyframe_headers"
+ value="8"
+ c:identifier="GST_VIDEO_CODEC_FRAME_FLAG_FORCE_KEYFRAME_HEADERS">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoutils.h"
+ line="84">should the encoder output stream headers</doc>
+ </member>
+ <member name="corrupted"
+ value="16"
+ c:identifier="GST_VIDEO_CODEC_FRAME_FLAG_CORRUPTED"
+ version="1.20">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoutils.h"
+ line="95">The buffer data is corrupted.</doc>
+ </member>
+ </bitfield>
+ <record name="VideoCodecState"
+ c:type="GstVideoCodecState"
+ glib:type-name="GstVideoCodecState"
+ glib:get-type="gst_video_codec_state_get_type"
+ c:symbol-prefix="video_codec_state">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoutils.h"
+ line="42">Structure representing the state of an incoming or outgoing video
+stream for encoders and decoders.
+
+Decoders and encoders will receive such a state through their
+respective @set_format vmethods.
+
+Decoders and encoders can set the downstream state, by using the
+@gst_video_decoder_set_output_state() or
+@gst_video_encoder_set_output_state() methods.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideoutils.h"
+ line="77"/>
+ <field name="ref_count" readable="0" private="1">
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="info" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoutils.h"
+ line="44">The #GstVideoInfo describing the stream</doc>
+ <type name="VideoInfo" c:type="GstVideoInfo"/>
+ </field>
+ <field name="caps" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoutils.h"
+ line="45">The #GstCaps used in the caps negotiation of the pad.</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </field>
+ <field name="codec_data" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoutils.h"
+ line="46">a #GstBuffer corresponding to the
+ 'codec_data' field of a stream, or NULL.</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </field>
+ <field name="allocation_caps" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoutils.h"
+ line="48">The #GstCaps for allocation query and pool
+ negotiation. Since: 1.10</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </field>
+ <field name="padding" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="19">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <method name="ref" c:identifier="gst_video_codec_state_ref">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoutils.c"
+ line="143">Increases the refcount of the given state by one.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideoutils.h"
+ line="286"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoutils.c"
+ line="149">@buf</doc>
+ <type name="VideoCodecState" c:type="GstVideoCodecState*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="state" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoutils.c"
+ line="145">a #GstVideoCodecState</doc>
+ <type name="VideoCodecState" c:type="GstVideoCodecState*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="unref" c:identifier="gst_video_codec_state_unref">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoutils.c"
+ line="177">Decreases the refcount of the state. If the refcount reaches 0, the state
+will be freed.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideoutils.h"
+ line="289"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="state" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoutils.c"
+ line="179">a #GstVideoCodecState</doc>
+ <type name="VideoCodecState" c:type="GstVideoCodecState*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ </record>
+ <enumeration name="VideoColorMatrix"
+ glib:type-name="GstVideoColorMatrix"
+ glib:get-type="gst_video_color_matrix_get_type"
+ c:type="GstVideoColorMatrix">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.h"
+ line="45">The color matrix is used to convert between Y'PbPr and
+non-linear RGB (R'G'B')</doc>
+ <member name="unknown"
+ value="0"
+ c:identifier="GST_VIDEO_COLOR_MATRIX_UNKNOWN"
+ glib:nick="unknown">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.h"
+ line="47">unknown matrix</doc>
+ </member>
+ <member name="rgb"
+ value="1"
+ c:identifier="GST_VIDEO_COLOR_MATRIX_RGB"
+ glib:nick="rgb">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.h"
+ line="48">identity matrix. Order of coefficients is
+actually GBR, also IEC 61966-2-1 (sRGB)</doc>
+ </member>
+ <member name="fcc"
+ value="2"
+ c:identifier="GST_VIDEO_COLOR_MATRIX_FCC"
+ glib:nick="fcc">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.h"
+ line="50">FCC Title 47 Code of Federal Regulations 73.682 (a)(20)</doc>
+ </member>
+ <member name="bt709"
+ value="3"
+ c:identifier="GST_VIDEO_COLOR_MATRIX_BT709"
+ glib:nick="bt709">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.h"
+ line="51">ITU-R BT.709 color matrix, also ITU-R BT1361
+/ IEC 61966-2-4 xvYCC709 / SMPTE RP177 Annex B</doc>
+ </member>
+ <member name="bt601"
+ value="4"
+ c:identifier="GST_VIDEO_COLOR_MATRIX_BT601"
+ glib:nick="bt601">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.h"
+ line="53">ITU-R BT.601 color matrix, also SMPTE170M / ITU-R BT1358 525 / ITU-R BT1700 NTSC</doc>
+ </member>
+ <member name="smpte240m"
+ value="5"
+ c:identifier="GST_VIDEO_COLOR_MATRIX_SMPTE240M"
+ glib:nick="smpte240m">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.h"
+ line="54">SMPTE 240M color matrix</doc>
+ </member>
+ <member name="bt2020"
+ value="6"
+ c:identifier="GST_VIDEO_COLOR_MATRIX_BT2020"
+ glib:nick="bt2020">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.h"
+ line="55">ITU-R BT.2020 color matrix. Since: 1.6</doc>
+ </member>
+ <function name="from_iso"
+ c:identifier="gst_video_color_matrix_from_iso"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="799">Converts the @value to the #GstVideoColorMatrix
+The matrix coefficients (MatrixCoefficients) value is
+defined by "ISO/IEC 23001-8 Section 7.3 Table 4"
+and "ITU-T H.273 Table 4".
+"H.264 Table E-5" and "H.265 Table E.5" share the identical values.</doc>
+ <source-position filename="gst-libs/gst/video/video-color.h"
+ line="288"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="809">the matched #GstVideoColorMatrix</doc>
+ <type name="VideoColorMatrix" c:type="GstVideoColorMatrix"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="801">a ITU-T H.273 matrix coefficients value</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="get_Kr_Kb"
+ c:identifier="gst_video_color_matrix_get_Kr_Kb"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="322">Get the coefficients used to convert between Y'PbPr and R'G'B' using @matrix.
+
+When:
+
+|[
+ 0.0 &lt;= [Y',R',G',B'] &lt;= 1.0)
+ (-0.5 &lt;= [Pb,Pr] &lt;= 0.5)
+]|
+
+the general conversion is given by:
+
+|[
+ Y' = Kr*R' + (1-Kr-Kb)*G' + Kb*B'
+ Pb = (B'-Y')/(2*(1-Kb))
+ Pr = (R'-Y')/(2*(1-Kr))
+]|
+
+and the other way around:
+
+|[
+ R' = Y' + Cr*2*(1-Kr)
+ G' = Y' - Cb*2*(1-Kb)*Kb/(1-Kr-Kb) - Cr*2*(1-Kr)*Kr/(1-Kr-Kb)
+ B' = Y' + Cb*2*(1-Kb)
+]|</doc>
+ <source-position filename="gst-libs/gst/video/video-color.h"
+ line="71"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="353">TRUE if @matrix was a YUV color format and @Kr and @Kb contain valid
+ values.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="matrix" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="324">a #GstVideoColorMatrix</doc>
+ <type name="VideoColorMatrix" c:type="GstVideoColorMatrix"/>
+ </parameter>
+ <parameter name="Kr"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="325">result red channel coefficient</doc>
+ <type name="gdouble" c:type="gdouble*"/>
+ </parameter>
+ <parameter name="Kb"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="326">result blue channel coefficient</doc>
+ <type name="gdouble" c:type="gdouble*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="to_iso"
+ c:identifier="gst_video_color_matrix_to_iso"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="666">Converts #GstVideoColorMatrix to the "matrix coefficients"
+(MatrixCoefficients) value defined by "ISO/IEC 23001-8 Section 7.3 Table 4"
+and "ITU-T H.273 Table 4".
+"H.264 Table E-5" and "H.265 Table E.5" share the identical values.</doc>
+ <source-position filename="gst-libs/gst/video/video-color.h"
+ line="279"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="675">The value of ISO/IEC 23001-8 matrix coefficients.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <parameter name="matrix" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="668">a #GstVideoColorMatrix</doc>
+ <type name="VideoColorMatrix" c:type="GstVideoColorMatrix"/>
+ </parameter>
+ </parameters>
+ </function>
+ </enumeration>
+ <enumeration name="VideoColorPrimaries"
+ glib:type-name="GstVideoColorPrimaries"
+ glib:get-type="gst_video_color_primaries_get_type"
+ c:type="GstVideoColorPrimaries">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.h"
+ line="151">The color primaries define the how to transform linear RGB values to and from
+the CIE XYZ colorspace.</doc>
+ <member name="unknown"
+ value="0"
+ c:identifier="GST_VIDEO_COLOR_PRIMARIES_UNKNOWN"
+ glib:nick="unknown">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.h"
+ line="153">unknown color primaries</doc>
+ </member>
+ <member name="bt709"
+ value="1"
+ c:identifier="GST_VIDEO_COLOR_PRIMARIES_BT709"
+ glib:nick="bt709">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.h"
+ line="154">BT709 primaries, also ITU-R BT1361 / IEC
+61966-2-4 / SMPTE RP177 Annex B</doc>
+ </member>
+ <member name="bt470m"
+ value="2"
+ c:identifier="GST_VIDEO_COLOR_PRIMARIES_BT470M"
+ glib:nick="bt470m">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.h"
+ line="156">BT470M primaries, also FCC Title 47 Code
+of Federal Regulations 73.682 (a)(20)</doc>
+ </member>
+ <member name="bt470bg"
+ value="3"
+ c:identifier="GST_VIDEO_COLOR_PRIMARIES_BT470BG"
+ glib:nick="bt470bg">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.h"
+ line="158">BT470BG primaries, also ITU-R BT601-6
+625 / ITU-R BT1358 625 / ITU-R BT1700 625 PAL &amp; SECAM</doc>
+ </member>
+ <member name="smpte170m"
+ value="4"
+ c:identifier="GST_VIDEO_COLOR_PRIMARIES_SMPTE170M"
+ glib:nick="smpte170m">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.h"
+ line="160">SMPTE170M primaries, also ITU-R
+BT601-6 525 / ITU-R BT1358 525 / ITU-R BT1700 NTSC</doc>
+ </member>
+ <member name="smpte240m"
+ value="5"
+ c:identifier="GST_VIDEO_COLOR_PRIMARIES_SMPTE240M"
+ glib:nick="smpte240m">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.h"
+ line="162">SMPTE240M primaries</doc>
+ </member>
+ <member name="film"
+ value="6"
+ c:identifier="GST_VIDEO_COLOR_PRIMARIES_FILM"
+ glib:nick="film">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.h"
+ line="163">Generic film (colour filters using
+Illuminant C)</doc>
+ </member>
+ <member name="bt2020"
+ value="7"
+ c:identifier="GST_VIDEO_COLOR_PRIMARIES_BT2020"
+ glib:nick="bt2020">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.h"
+ line="165">ITU-R BT2020 primaries. Since: 1.6</doc>
+ </member>
+ <member name="adobergb"
+ value="8"
+ c:identifier="GST_VIDEO_COLOR_PRIMARIES_ADOBERGB"
+ glib:nick="adobergb">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.h"
+ line="166">Adobe RGB primaries. Since: 1.8</doc>
+ </member>
+ <member name="smptest428"
+ value="9"
+ c:identifier="GST_VIDEO_COLOR_PRIMARIES_SMPTEST428"
+ glib:nick="smptest428">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.h"
+ line="167">SMPTE ST 428 primaries (CIE 1931
+XYZ). Since: 1.16</doc>
+ </member>
+ <member name="smpterp431"
+ value="10"
+ c:identifier="GST_VIDEO_COLOR_PRIMARIES_SMPTERP431"
+ glib:nick="smpterp431">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.h"
+ line="169">SMPTE RP 431 primaries (ST 431-2
+(2011) / DCI P3). Since: 1.16</doc>
+ </member>
+ <member name="smpteeg432"
+ value="11"
+ c:identifier="GST_VIDEO_COLOR_PRIMARIES_SMPTEEG432"
+ glib:nick="smpteeg432">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.h"
+ line="171">SMPTE EG 432 primaries (ST 432-1
+(2010) / P3 D65). Since: 1.16</doc>
+ </member>
+ <member name="ebu3213"
+ value="12"
+ c:identifier="GST_VIDEO_COLOR_PRIMARIES_EBU3213"
+ glib:nick="ebu3213">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.h"
+ line="173">EBU 3213 primaries (JEDEC P22
+phosphors). Since: 1.16</doc>
+ </member>
+ <function name="from_iso"
+ c:identifier="gst_video_color_primaries_from_iso"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="886">Converts the @value to the #GstVideoColorPrimaries
+The colour primaries (ColourPrimaries) value is
+defined by "ISO/IEC 23001-8 Section 7.1 Table 2" and "ITU-T H.273 Table 2".
+"H.264 Table E-3" and "H.265 Table E.3" share the identical values.</doc>
+ <source-position filename="gst-libs/gst/video/video-color.h"
+ line="294"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="895">the matched #GstVideoColorPrimaries</doc>
+ <type name="VideoColorPrimaries" c:type="GstVideoColorPrimaries"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="888">a ITU-T H.273 colour primaries value</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="get_info"
+ c:identifier="gst_video_color_primaries_get_info"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="303">Get information about the chromaticity coordinates of @primaries.</doc>
+ <source-position filename="gst-libs/gst/video/video-color.h"
+ line="223"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="309">a #GstVideoColorPrimariesInfo for @primaries.</doc>
+ <type name="VideoColorPrimariesInfo"
+ c:type="const GstVideoColorPrimariesInfo*"/>
+ </return-value>
+ <parameters>
+ <parameter name="primaries" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="305">a #GstVideoColorPrimaries</doc>
+ <type name="VideoColorPrimaries" c:type="GstVideoColorPrimaries"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="to_iso"
+ c:identifier="gst_video_color_primaries_to_iso"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="753">Converts #GstVideoColorPrimaries to the "colour primaries" (ColourPrimaries)
+value defined by "ISO/IEC 23001-8 Section 7.1 Table 2"
+and "ITU-T H.273 Table 2".
+"H.264 Table E-3" and "H.265 Table E.3" share the identical values.</doc>
+ <source-position filename="gst-libs/gst/video/video-color.h"
+ line="285"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="762">The value of ISO/IEC 23001-8 colour primaries.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <parameter name="primaries" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="755">a #GstVideoColorPrimaries</doc>
+ <type name="VideoColorPrimaries" c:type="GstVideoColorPrimaries"/>
+ </parameter>
+ </parameters>
+ </function>
+ </enumeration>
+ <record name="VideoColorPrimariesInfo"
+ c:type="GstVideoColorPrimariesInfo"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.h"
+ line="195">Structure describing the chromaticity coordinates of an RGB system. These
+values can be used to construct a matrix to transform RGB to and from the
+XYZ colorspace.</doc>
+ <source-position filename="gst-libs/gst/video/video-color.h" line="219"/>
+ <field name="primaries" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.h"
+ line="197">a #GstVideoColorPrimaries</doc>
+ <type name="VideoColorPrimaries" c:type="GstVideoColorPrimaries"/>
+ </field>
+ <field name="Wx" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.h"
+ line="198">reference white x coordinate</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </field>
+ <field name="Wy" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.h"
+ line="199">reference white y coordinate</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </field>
+ <field name="Rx" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.h"
+ line="200">red x coordinate</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </field>
+ <field name="Ry" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.h"
+ line="201">red y coordinate</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </field>
+ <field name="Gx" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.h"
+ line="202">green x coordinate</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </field>
+ <field name="Gy" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.h"
+ line="203">green y coordinate</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </field>
+ <field name="Bx" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.h"
+ line="204">blue x coordinate</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </field>
+ <field name="By" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.h"
+ line="205">blue y coordinate</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </field>
+ </record>
+ <enumeration name="VideoColorRange"
+ glib:type-name="GstVideoColorRange"
+ glib:get-type="gst_video_color_range_get_type"
+ c:type="GstVideoColorRange">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.h"
+ line="29">Possible color range values. These constants are defined for 8 bit color
+values and can be scaled for other bit depths.</doc>
+ <member name="unknown"
+ value="0"
+ c:identifier="GST_VIDEO_COLOR_RANGE_UNKNOWN"
+ glib:nick="unknown">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.h"
+ line="31">unknown range</doc>
+ </member>
+ <member name="0_255"
+ value="1"
+ c:identifier="GST_VIDEO_COLOR_RANGE_0_255"
+ glib:nick="0-255">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.h"
+ line="32">[0..255] for 8 bit components</doc>
+ </member>
+ <member name="16_235"
+ value="2"
+ c:identifier="GST_VIDEO_COLOR_RANGE_16_235"
+ glib:nick="16-235">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.h"
+ line="33">[16..235] for 8 bit components. Chroma has
+ [16..240] range.</doc>
+ </member>
+ <function name="offsets" c:identifier="gst_video_color_range_offsets">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="188">Compute the offset and scale values for each component of @info. For each
+component, (c[i] - offset[i]) / scale[i] will scale the component c[i] to the
+range [0.0 .. 1.0].
+
+The reverse operation (c[i] * scale[i]) + offset[i] can be used to convert
+the component values in range [0.0 .. 1.0] back to their representation in
+@info and @range.</doc>
+ <source-position filename="gst-libs/gst/video/video-color.h"
+ line="268"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="range" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="190">a #GstVideoColorRange</doc>
+ <type name="VideoColorRange" c:type="GstVideoColorRange"/>
+ </parameter>
+ <parameter name="info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="191">a #GstVideoFormatInfo</doc>
+ <type name="VideoFormatInfo" c:type="const GstVideoFormatInfo*"/>
+ </parameter>
+ <parameter name="offset"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="192">output offsets</doc>
+ <array zero-terminated="0" c:type="gint*" fixed-size="4">
+ <type name="gint" c:type="gint"/>
+ </array>
+ </parameter>
+ <parameter name="scale"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="193">output scale</doc>
+ <array zero-terminated="0" c:type="gint*" fixed-size="4">
+ <type name="gint" c:type="gint"/>
+ </array>
+ </parameter>
+ </parameters>
+ </function>
+ </enumeration>
+ <record name="VideoColorimetry" c:type="GstVideoColorimetry">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.h"
+ line="225">Structure describing the color info.</doc>
+ <source-position filename="gst-libs/gst/video/video-color.h" line="241"/>
+ <field name="range" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.h"
+ line="227">the color range. This is the valid range for the samples.
+ It is used to convert the samples to Y'PbPr values.</doc>
+ <type name="VideoColorRange" c:type="GstVideoColorRange"/>
+ </field>
+ <field name="matrix" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.h"
+ line="229">the color matrix. Used to convert between Y'PbPr and
+ non-linear RGB (R'G'B')</doc>
+ <type name="VideoColorMatrix" c:type="GstVideoColorMatrix"/>
+ </field>
+ <field name="transfer" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.h"
+ line="231">the transfer function. used to convert between R'G'B' and RGB</doc>
+ <type name="VideoTransferFunction" c:type="GstVideoTransferFunction"/>
+ </field>
+ <field name="primaries" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.h"
+ line="232">color primaries. used to convert between R'G'B' and CIE XYZ</doc>
+ <type name="VideoColorPrimaries" c:type="GstVideoColorPrimaries"/>
+ </field>
+ <method name="from_string"
+ c:identifier="gst_video_colorimetry_from_string">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="102">Parse the colorimetry string and update @cinfo with the parsed
+values.</doc>
+ <source-position filename="gst-libs/gst/video/video-color.h"
+ line="257"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="110">%TRUE if @color points to valid colorimetry info.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="cinfo" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="104">a #GstVideoColorimetry</doc>
+ <type name="VideoColorimetry" c:type="GstVideoColorimetry*"/>
+ </instance-parameter>
+ <parameter name="color" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="105">a colorimetry string</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="is_equal"
+ c:identifier="gst_video_colorimetry_is_equal"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="251">Compare the 2 colorimetry sets for equality</doc>
+ <source-position filename="gst-libs/gst/video/video-color.h"
+ line="263"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="258">%TRUE if @cinfo and @other are equal.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="cinfo" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="253">a #GstVideoColorimetry</doc>
+ <type name="VideoColorimetry" c:type="const GstVideoColorimetry*"/>
+ </instance-parameter>
+ <parameter name="other" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="254">another #GstVideoColorimetry</doc>
+ <type name="VideoColorimetry" c:type="const GstVideoColorimetry*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="matches" c:identifier="gst_video_colorimetry_matches">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="165">Check if the colorimetry information in @info matches that of the
+string @color.</doc>
+ <source-position filename="gst-libs/gst/video/video-color.h"
+ line="254"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="173">%TRUE if @color conveys the same colorimetry info as the color
+information in @info.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="cinfo" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="167">a #GstVideoInfo</doc>
+ <type name="VideoColorimetry" c:type="const GstVideoColorimetry*"/>
+ </instance-parameter>
+ <parameter name="color" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="168">a colorimetry string</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="to_string" c:identifier="gst_video_colorimetry_to_string">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="139">Make a string representation of @cinfo.</doc>
+ <source-position filename="gst-libs/gst/video/video-color.h"
+ line="260"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="145">a string representation of @cinfo
+or %NULL if all the entries of @cinfo are unknown values.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="cinfo" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="141">a #GstVideoColorimetry</doc>
+ <type name="VideoColorimetry" c:type="const GstVideoColorimetry*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ </record>
+ <record name="VideoContentLightLevel"
+ c:type="GstVideoContentLightLevel"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-hdr.h"
+ line="98">Content light level information specified in CEA-861.3, Appendix A.</doc>
+ <source-position filename="gst-libs/gst/video/video-hdr.h" line="116"/>
+ <field name="max_content_light_level" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-hdr.h"
+ line="100">the maximum content light level
+ (abbreviated to MaxCLL) in candelas per square meter (cd/m^2 and nit)</doc>
+ <type name="guint16" c:type="guint16"/>
+ </field>
+ <field name="max_frame_average_light_level" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-hdr.h"
+ line="102">the maximum frame average light level
+ (abbreviated to MaxFLL) in candelas per square meter (cd/m^2 and nit)</doc>
+ <type name="guint16" c:type="guint16"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <method name="add_to_caps"
+ c:identifier="gst_video_content_light_level_add_to_caps"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-hdr.c"
+ line="366">Parse @caps and update @linfo</doc>
+ <source-position filename="gst-libs/gst/video/video-hdr.h" line="133"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-hdr.c"
+ line="373">%TRUE if @linfo was successfully set to @caps</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="linfo" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-hdr.c"
+ line="368">a #GstVideoContentLightLevel</doc>
+ <type name="VideoContentLightLevel"
+ c:type="const GstVideoContentLightLevel*"/>
+ </instance-parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-hdr.c"
+ line="369">a #GstCaps</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="from_caps"
+ c:identifier="gst_video_content_light_level_from_caps"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-hdr.c"
+ line="337">Parse @caps and update @linfo</doc>
+ <source-position filename="gst-libs/gst/video/video-hdr.h" line="129"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-hdr.c"
+ line="344">if @caps has #GstVideoContentLightLevel and could be parsed</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="linfo" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-hdr.c"
+ line="339">a #GstVideoContentLightLevel</doc>
+ <type name="VideoContentLightLevel"
+ c:type="GstVideoContentLightLevel*"/>
+ </instance-parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-hdr.c"
+ line="340">a #GstCaps</doc>
+ <type name="Gst.Caps" c:type="const GstCaps*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="from_string"
+ c:identifier="gst_video_content_light_level_from_string"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-hdr.c"
+ line="269">Parse the value of content-light-level caps field and update @minfo
+with the parsed values.</doc>
+ <source-position filename="gst-libs/gst/video/video-hdr.h" line="122"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-hdr.c"
+ line="277">%TRUE if @linfo points to valid #GstVideoContentLightLevel.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="linfo" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-hdr.c"
+ line="271">a #GstVideoContentLightLevel</doc>
+ <type name="VideoContentLightLevel"
+ c:type="GstVideoContentLightLevel*"/>
+ </instance-parameter>
+ <parameter name="level" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-hdr.c"
+ line="272">a content-light-level string from caps</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="init"
+ c:identifier="gst_video_content_light_level_init"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-hdr.c"
+ line="253">Initialize @linfo</doc>
+ <source-position filename="gst-libs/gst/video/video-hdr.h" line="119"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="linfo" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-hdr.c"
+ line="255">a #GstVideoContentLightLevel</doc>
+ <type name="VideoContentLightLevel"
+ c:type="GstVideoContentLightLevel*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="to_string"
+ c:identifier="gst_video_content_light_level_to_string"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-hdr.c"
+ line="317">Convert @linfo to its string representation.</doc>
+ <source-position filename="gst-libs/gst/video/video-hdr.h" line="126"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-hdr.c"
+ line="323">a string representation of @linfo.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="linfo" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-hdr.c"
+ line="319">a #GstVideoContentLightLevel</doc>
+ <type name="VideoContentLightLevel"
+ c:type="const GstVideoContentLightLevel*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ </record>
+ <callback name="VideoConvertSampleCallback"
+ c:type="GstVideoConvertSampleCallback">
+ <source-position filename="gst-libs/gst/video/video.h" line="148"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="sample" transfer-ownership="none">
+ <type name="Gst.Sample" c:type="GstSample*"/>
+ </parameter>
+ <parameter name="error" transfer-ownership="none">
+ <type name="GLib.Error" c:type="GError*"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1"
+ closure="2">
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <record name="VideoConverter" c:type="GstVideoConverter" disguised="1">
+ <source-position filename="gst-libs/gst/video/video-converter.h"
+ line="276"/>
+ <method name="frame"
+ c:identifier="gst_video_converter_frame"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-converter.c"
+ line="2671">Convert the pixels of @src into @dest using @convert.</doc>
+ <source-position filename="gst-libs/gst/video/video-converter.h"
+ line="299"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="convert" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-converter.c"
+ line="2673">a #GstVideoConverter</doc>
+ <type name="VideoConverter" c:type="GstVideoConverter*"/>
+ </instance-parameter>
+ <parameter name="src" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-converter.c"
+ line="2675">a #GstVideoFrame</doc>
+ <type name="VideoFrame" c:type="const GstVideoFrame*"/>
+ </parameter>
+ <parameter name="dest" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-converter.c"
+ line="2674">a #GstVideoFrame</doc>
+ <type name="VideoFrame" c:type="GstVideoFrame*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="free"
+ c:identifier="gst_video_converter_free"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-converter.c"
+ line="2505">Free @convert</doc>
+ <source-position filename="gst-libs/gst/video/video-converter.h"
+ line="290"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="convert" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-converter.c"
+ line="2507">a #GstVideoConverter</doc>
+ <type name="VideoConverter" c:type="GstVideoConverter*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_config" c:identifier="gst_video_converter_get_config">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-converter.c"
+ line="2654">Get the current configuration of @convert.</doc>
+ <source-position filename="gst-libs/gst/video/video-converter.h"
+ line="296"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-converter.c"
+ line="2660">a #GstStructure that remains valid for as long as @convert is valid
+ or until gst_video_converter_set_config() is called.</doc>
+ <type name="Gst.Structure" c:type="const GstStructure*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="convert" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-converter.c"
+ line="2656">a #GstVideoConverter</doc>
+ <type name="VideoConverter" c:type="GstVideoConverter*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="set_config"
+ c:identifier="gst_video_converter_set_config"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-converter.c"
+ line="2623">Set @config as extra configuration for @convert.
+
+If the parameters in @config can not be set exactly, this function returns
+%FALSE and will try to update as much state as possible. The new state can
+then be retrieved and refined with gst_video_converter_get_config().
+
+Look at the `GST_VIDEO_CONVERTER_OPT_*` fields to check valid configuration
+option and values.</doc>
+ <source-position filename="gst-libs/gst/video/video-converter.h"
+ line="293"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-converter.c"
+ line="2637">%TRUE when @config could be set.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="convert" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-converter.c"
+ line="2625">a #GstVideoConverter</doc>
+ <type name="VideoConverter" c:type="GstVideoConverter*"/>
+ </instance-parameter>
+ <parameter name="config" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-converter.c"
+ line="2626">a #GstStructure</doc>
+ <type name="Gst.Structure" c:type="GstStructure*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <function name="new"
+ c:identifier="gst_video_converter_new"
+ version="1.6"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-converter.c"
+ line="2477">Create a new converter object to convert between @in_info and @out_info
+with @config.</doc>
+ <source-position filename="gst-libs/gst/video/video-converter.h"
+ line="279"/>
+ <return-value>
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-converter.c"
+ line="2486">a #GstVideoConverter or %NULL if conversion is not possible.</doc>
+ <type name="VideoConverter" c:type="GstVideoConverter*"/>
+ </return-value>
+ <parameters>
+ <parameter name="in_info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-converter.c"
+ line="2479">a #GstVideoInfo</doc>
+ <type name="VideoInfo" c:type="GstVideoInfo*"/>
+ </parameter>
+ <parameter name="out_info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-converter.c"
+ line="2480">a #GstVideoInfo</doc>
+ <type name="VideoInfo" c:type="GstVideoInfo*"/>
+ </parameter>
+ <parameter name="config" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-converter.c"
+ line="2481">a #GstStructure with configuration options</doc>
+ <type name="Gst.Structure" c:type="GstStructure*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="new_with_pool"
+ c:identifier="gst_video_converter_new_with_pool"
+ version="1.20"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-converter.c"
+ line="2232">Create a new converter object to convert between @in_info and @out_info
+with @config.
+
+The optional @pool can be used to spawn threads, this is useful when
+creating new converters rapidly, for example when updating cropping.</doc>
+ <source-position filename="gst-libs/gst/video/video-converter.h"
+ line="284"/>
+ <return-value>
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-converter.c"
+ line="2245">a #GstVideoConverter or %NULL if conversion is not possible.</doc>
+ <type name="VideoConverter" c:type="GstVideoConverter*"/>
+ </return-value>
+ <parameters>
+ <parameter name="in_info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-converter.c"
+ line="2234">a #GstVideoInfo</doc>
+ <type name="VideoInfo" c:type="GstVideoInfo*"/>
+ </parameter>
+ <parameter name="out_info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-converter.c"
+ line="2235">a #GstVideoInfo</doc>
+ <type name="VideoInfo" c:type="GstVideoInfo*"/>
+ </parameter>
+ <parameter name="config" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-converter.c"
+ line="2236">a #GstStructure with configuration options</doc>
+ <type name="Gst.Structure" c:type="GstStructure*"/>
+ </parameter>
+ <parameter name="pool"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-converter.c"
+ line="2237">a #GstTaskPool to spawn threads from</doc>
+ <type name="Gst.TaskPool" c:type="GstTaskPool*"/>
+ </parameter>
+ </parameters>
+ </function>
+ </record>
+ <record name="VideoCropMeta" c:type="GstVideoCropMeta">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.h"
+ line="138">Extra buffer metadata describing image cropping.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideometa.h"
+ line="155"/>
+ <field name="meta" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.h"
+ line="140">parent #GstMeta</doc>
+ <type name="Gst.Meta" c:type="GstMeta"/>
+ </field>
+ <field name="x" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.h"
+ line="141">the horizontal offset</doc>
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="y" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.h"
+ line="142">the vertical offset</doc>
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="width" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.h"
+ line="143">the cropped width</doc>
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="height" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.h"
+ line="144">the cropped height</doc>
+ <type name="guint" c:type="guint"/>
+ </field>
+ <function name="get_info" c:identifier="gst_video_crop_meta_get_info">
+ <source-position filename="gst-libs/gst/video/gstvideometa.h"
+ line="161"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.MetaInfo" c:type="const GstMetaInfo*"/>
+ </return-value>
+ </function>
+ </record>
+ <class name="VideoDecoder"
+ c:symbol-prefix="video_decoder"
+ c:type="GstVideoDecoder"
+ parent="Gst.Element"
+ abstract="1"
+ glib:type-name="GstVideoDecoder"
+ glib:get-type="gst_video_decoder_get_type"
+ glib:type-struct="VideoDecoderClass">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="25">This base class is for video decoders turning encoded data into raw video
+frames.
+
+The GstVideoDecoder base class and derived subclasses should cooperate as
+follows:
+
+## Configuration
+
+ * Initially, GstVideoDecoder calls @start when the decoder element
+ is activated, which allows the subclass to perform any global setup.
+
+ * GstVideoDecoder calls @set_format to inform the subclass of caps
+ describing input video data that it is about to receive, including
+ possibly configuration data.
+ While unlikely, it might be called more than once, if changing input
+ parameters require reconfiguration.
+
+ * Incoming data buffers are processed as needed, described in Data
+ Processing below.
+
+ * GstVideoDecoder calls @stop at end of all processing.
+
+## Data processing
+
+ * The base class gathers input data, and optionally allows subclass
+ to parse this into subsequently manageable chunks, typically
+ corresponding to and referred to as 'frames'.
+
+ * Each input frame is provided in turn to the subclass' @handle_frame
+ callback.
+ The ownership of the frame is given to the @handle_frame callback.
+
+ * If codec processing results in decoded data, the subclass should call
+ @gst_video_decoder_finish_frame to have decoded data pushed.
+ downstream. Otherwise, the subclass must call
+ @gst_video_decoder_drop_frame, to allow the base class to do timestamp
+ and offset tracking, and possibly to requeue the frame for a later
+ attempt in the case of reverse playback.
+
+## Shutdown phase
+
+ * The GstVideoDecoder class calls @stop to inform the subclass that data
+ parsing will be stopped.
+
+## Additional Notes
+
+ * Seeking/Flushing
+
+ * When the pipeline is seeked or otherwise flushed, the subclass is
+ informed via a call to its @reset callback, with the hard parameter
+ set to true. This indicates the subclass should drop any internal data
+ queues and timestamps and prepare for a fresh set of buffers to arrive
+ for parsing and decoding.
+
+ * End Of Stream
+
+ * At end-of-stream, the subclass @parse function may be called some final
+ times with the at_eos parameter set to true, indicating that the element
+ should not expect any more data to be arriving, and it should parse and
+ remaining frames and call gst_video_decoder_have_frame() if possible.
+
+The subclass is responsible for providing pad template caps for
+source and sink pads. The pads need to be named "sink" and "src". It also
+needs to provide information about the output caps, when they are known.
+This may be when the base class calls the subclass' @set_format function,
+though it might be during decoding, before calling
+@gst_video_decoder_finish_frame. This is done via
+@gst_video_decoder_set_output_state
+
+The subclass is also responsible for providing (presentation) timestamps
+(likely based on corresponding input ones). If that is not applicable
+or possible, the base class provides limited framerate based interpolation.
+
+Similarly, the base class provides some limited (legacy) seeking support
+if specifically requested by the subclass, as full-fledged support
+should rather be left to upstream demuxer, parser or alike. This simple
+approach caters for seeking and duration reporting using estimated input
+bitrates. To enable it, a subclass should call
+@gst_video_decoder_set_estimate_rate to enable handling of incoming
+byte-streams.
+
+The base class provides some support for reverse playback, in particular
+in case incoming data is not packetized or upstream does not provide
+fragments on keyframe boundaries. However, the subclass should then be
+prepared for the parsing and frame processing stage to occur separately
+(in normal forward processing, the latter immediately follows the former),
+The subclass also needs to ensure the parsing stage properly marks
+keyframes, unless it knows the upstream elements will do so properly for
+incoming data.
+
+The bare minimum that a functional subclass needs to implement is:
+
+ * Provide pad templates
+ * Inform the base class of output caps via
+ @gst_video_decoder_set_output_state
+
+ * Parse input data, if it is not considered packetized from upstream
+ Data will be provided to @parse which should invoke
+ @gst_video_decoder_add_to_frame and @gst_video_decoder_have_frame to
+ separate the data belonging to each video frame.
+
+ * Accept data in @handle_frame and provide decoded results to
+ @gst_video_decoder_finish_frame, or call @gst_video_decoder_drop_frame.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="342"/>
+ <virtual-method name="close">
+ <source-position filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="289"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="decoder" transfer-ownership="none">
+ <type name="VideoDecoder" c:type="GstVideoDecoder*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="decide_allocation">
+ <source-position filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="319"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="decoder" transfer-ownership="none">
+ <type name="VideoDecoder" c:type="GstVideoDecoder*"/>
+ </instance-parameter>
+ <parameter name="query" transfer-ownership="none">
+ <type name="Gst.Query" c:type="GstQuery*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="drain">
+ <source-position filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="334"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="decoder" transfer-ownership="none">
+ <type name="VideoDecoder" c:type="GstVideoDecoder*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="finish">
+ <source-position filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="306"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="decoder" transfer-ownership="none">
+ <type name="VideoDecoder" c:type="GstVideoDecoder*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="flush">
+ <source-position filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="323"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="decoder" transfer-ownership="none">
+ <type name="VideoDecoder" c:type="GstVideoDecoder*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="getcaps">
+ <source-position filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="331"/>
+ <return-value transfer-ownership="full">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="decoder" transfer-ownership="none">
+ <type name="VideoDecoder" c:type="GstVideoDecoder*"/>
+ </instance-parameter>
+ <parameter name="filter" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="handle_frame">
+ <source-position filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="308"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="decoder" transfer-ownership="none">
+ <type name="VideoDecoder" c:type="GstVideoDecoder*"/>
+ </instance-parameter>
+ <parameter name="frame" transfer-ownership="none">
+ <type name="VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="negotiate" invoker="negotiate">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="4230">Negotiate with downstream elements to currently configured #GstVideoCodecState.
+Unmark GST_PAD_FLAG_NEED_RECONFIGURE in any case. But mark it again if
+negotiate fails.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="317"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="4238">%TRUE if the negotiation succeeded, else %FALSE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="decoder" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="4232">a #GstVideoDecoder</doc>
+ <type name="VideoDecoder" c:type="GstVideoDecoder*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="open">
+ <source-position filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="287"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="decoder" transfer-ownership="none">
+ <type name="VideoDecoder" c:type="GstVideoDecoder*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="parse">
+ <source-position filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="295"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="decoder" transfer-ownership="none">
+ <type name="VideoDecoder" c:type="GstVideoDecoder*"/>
+ </instance-parameter>
+ <parameter name="frame" transfer-ownership="none">
+ <type name="VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
+ </parameter>
+ <parameter name="adapter" transfer-ownership="none">
+ <type name="GstBase.Adapter" c:type="GstAdapter*"/>
+ </parameter>
+ <parameter name="at_eos" transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="propose_allocation">
+ <source-position filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="321"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="decoder" transfer-ownership="none">
+ <type name="VideoDecoder" c:type="GstVideoDecoder*"/>
+ </instance-parameter>
+ <parameter name="query" transfer-ownership="none">
+ <type name="Gst.Query" c:type="GstQuery*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="reset">
+ <source-position filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="303"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="decoder" transfer-ownership="none">
+ <type name="VideoDecoder" c:type="GstVideoDecoder*"/>
+ </instance-parameter>
+ <parameter name="hard" transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="set_format">
+ <source-position filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="300"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="decoder" transfer-ownership="none">
+ <type name="VideoDecoder" c:type="GstVideoDecoder*"/>
+ </instance-parameter>
+ <parameter name="state" transfer-ownership="none">
+ <type name="VideoCodecState" c:type="GstVideoCodecState*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="sink_event">
+ <source-position filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="311"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="decoder" transfer-ownership="none">
+ <type name="VideoDecoder" c:type="GstVideoDecoder*"/>
+ </instance-parameter>
+ <parameter name="event" transfer-ownership="none">
+ <type name="Gst.Event" c:type="GstEvent*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="sink_query">
+ <source-position filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="325"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="decoder" transfer-ownership="none">
+ <type name="VideoDecoder" c:type="GstVideoDecoder*"/>
+ </instance-parameter>
+ <parameter name="query" transfer-ownership="none">
+ <type name="Gst.Query" c:type="GstQuery*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="src_event">
+ <source-position filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="314"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="decoder" transfer-ownership="none">
+ <type name="VideoDecoder" c:type="GstVideoDecoder*"/>
+ </instance-parameter>
+ <parameter name="event" transfer-ownership="none">
+ <type name="Gst.Event" c:type="GstEvent*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="src_query">
+ <source-position filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="328"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="decoder" transfer-ownership="none">
+ <type name="VideoDecoder" c:type="GstVideoDecoder*"/>
+ </instance-parameter>
+ <parameter name="query" transfer-ownership="none">
+ <type name="Gst.Query" c:type="GstQuery*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="start">
+ <source-position filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="291"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="decoder" transfer-ownership="none">
+ <type name="VideoDecoder" c:type="GstVideoDecoder*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="stop">
+ <source-position filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="293"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="decoder" transfer-ownership="none">
+ <type name="VideoDecoder" c:type="GstVideoDecoder*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="transform_meta">
+ <source-position filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="336"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="decoder" transfer-ownership="none">
+ <type name="VideoDecoder" c:type="GstVideoDecoder*"/>
+ </instance-parameter>
+ <parameter name="frame" transfer-ownership="none">
+ <type name="VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
+ </parameter>
+ <parameter name="meta" transfer-ownership="none">
+ <type name="Gst.Meta" c:type="GstMeta*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <method name="add_to_frame"
+ c:identifier="gst_video_decoder_add_to_frame">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="3464">Removes next @n_bytes of input data and adds it to currently parsed frame.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="434"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="decoder" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="3466">a #GstVideoDecoder</doc>
+ <type name="VideoDecoder" c:type="GstVideoDecoder*"/>
+ </instance-parameter>
+ <parameter name="n_bytes" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="3467">the number of bytes to add</doc>
+ <type name="gint" c:type="int"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="allocate_output_buffer"
+ c:identifier="gst_video_decoder_allocate_output_buffer">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="4262">Helper function that allocates a buffer to hold a video frame for @decoder's
+current #GstVideoCodecState.
+
+You should use gst_video_decoder_allocate_output_frame() instead of this
+function, if possible at all.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="444"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="4272">allocated buffer, or NULL if no buffer could be
+ allocated (e.g. when downstream is flushing or shutting down)</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="decoder" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="4264">a #GstVideoDecoder</doc>
+ <type name="VideoDecoder" c:type="GstVideoDecoder*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="allocate_output_frame"
+ c:identifier="gst_video_decoder_allocate_output_frame">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="4328">Helper function that allocates a buffer to hold a video frame for @decoder's
+current #GstVideoCodecState. Subclass should already have configured video
+state and set src pad caps.
+
+The buffer allocated here is owned by the frame and you should only
+keep references to the frame, not the buffer.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="452"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="4340">%GST_FLOW_OK if an output buffer could be allocated</doc>
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="decoder" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="4330">a #GstVideoDecoder</doc>
+ <type name="VideoDecoder" c:type="GstVideoDecoder*"/>
+ </instance-parameter>
+ <parameter name="frame" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="4331">a #GstVideoCodecFrame</doc>
+ <type name="VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="allocate_output_frame_with_params"
+ c:identifier="gst_video_decoder_allocate_output_frame_with_params"
+ version="1.12">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="4350">Same as #gst_video_decoder_allocate_output_frame except it allows passing
+#GstBufferPoolAcquireParams to the sub call gst_buffer_pool_acquire_buffer.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="447"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="4359">%GST_FLOW_OK if an output buffer could be allocated</doc>
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="decoder" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="4352">a #GstVideoDecoder</doc>
+ <type name="VideoDecoder" c:type="GstVideoDecoder*"/>
+ </instance-parameter>
+ <parameter name="frame" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="4353">a #GstVideoCodecFrame</doc>
+ <type name="VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
+ </parameter>
+ <parameter name="params" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="4354">a #GstBufferPoolAcquireParams</doc>
+ <type name="Gst.BufferPoolAcquireParams"
+ c:type="GstBufferPoolAcquireParams*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="drop_frame" c:identifier="gst_video_decoder_drop_frame">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="3057">Similar to gst_video_decoder_finish_frame(), but drops @frame in any
+case and posts a QoS message with the frame's details on the bus.
+In any case, the frame is considered finished and released.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="483"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="3066">a #GstFlowReturn, usually GST_FLOW_OK.</doc>
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="dec" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="3059">a #GstVideoDecoder</doc>
+ <type name="VideoDecoder" c:type="GstVideoDecoder*"/>
+ </instance-parameter>
+ <parameter name="frame" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="3060">the #GstVideoCodecFrame to drop</doc>
+ <type name="VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="finish_frame"
+ c:identifier="gst_video_decoder_finish_frame">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="3156">@frame should have a valid decoded data buffer, whose metadata fields
+are then appropriately set according to frame data and pushed downstream.
+If no output data is provided, @frame is considered skipped.
+In any case, the frame is considered finished and released.
+
+After calling this function the output buffer of the frame is to be
+considered read-only. This function will also change the metadata
+of the buffer.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="479"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="3170">a #GstFlowReturn resulting from sending data downstream</doc>
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="decoder" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="3158">a #GstVideoDecoder</doc>
+ <type name="VideoDecoder" c:type="GstVideoDecoder*"/>
+ </instance-parameter>
+ <parameter name="frame" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="3159">a decoded #GstVideoCodecFrame</doc>
+ <type name="VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_allocator"
+ c:identifier="gst_video_decoder_get_allocator">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="4739">Lets #GstVideoDecoder sub-classes to know the memory @allocator
+used by the base class and its @params.
+
+Unref the @allocator after use it.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="412"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="decoder" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="4741">a #GstVideoDecoder</doc>
+ <type name="VideoDecoder" c:type="GstVideoDecoder*"/>
+ </instance-parameter>
+ <parameter name="allocator"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="4742">the #GstAllocator
+used</doc>
+ <type name="Gst.Allocator" c:type="GstAllocator**"/>
+ </parameter>
+ <parameter name="params"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="4744">the
+#GstAllocationParams of @allocator</doc>
+ <type name="Gst.AllocationParams" c:type="GstAllocationParams*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_buffer_pool"
+ c:identifier="gst_video_decoder_get_buffer_pool">
+ <source-position filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="417"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="4725">the instance of the #GstBufferPool used
+by the decoder; free it after use it</doc>
+ <type name="Gst.BufferPool" c:type="GstBufferPool*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="decoder" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="4723">a #GstVideoDecoder</doc>
+ <type name="VideoDecoder" c:type="GstVideoDecoder*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_estimate_rate"
+ c:identifier="gst_video_decoder_get_estimate_rate">
+ <source-position filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="378"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="4620">currently configured byte to time conversion setting</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="dec" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="4618">a #GstVideoDecoder</doc>
+ <type name="VideoDecoder" c:type="GstVideoDecoder*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_frame" c:identifier="gst_video_decoder_get_frame">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="3856">Get a pending unfinished #GstVideoCodecFrame</doc>
+ <source-position filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="422"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="3863">pending unfinished #GstVideoCodecFrame identified by @frame_number.</doc>
+ <type name="VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="decoder" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="3858">a #GstVideoDecoder</doc>
+ <type name="VideoDecoder" c:type="GstVideoDecoder*"/>
+ </instance-parameter>
+ <parameter name="frame_number" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="3859">system_frame_number of a frame</doc>
+ <type name="gint" c:type="int"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_frames" c:identifier="gst_video_decoder_get_frames">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="3887">Get all pending unfinished #GstVideoCodecFrame</doc>
+ <source-position filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="429"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="3893">pending unfinished #GstVideoCodecFrame.</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="VideoCodecFrame"/>
+ </type>
+ </return-value>
+ <parameters>
+ <instance-parameter name="decoder" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="3889">a #GstVideoDecoder</doc>
+ <type name="VideoDecoder" c:type="GstVideoDecoder*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_latency" c:identifier="gst_video_decoder_get_latency">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="4656">Query the configured decoder latency. Results will be returned via
+@min_latency and @max_latency.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="407"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="decoder" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="4658">a #GstVideoDecoder</doc>
+ <type name="VideoDecoder" c:type="GstVideoDecoder*"/>
+ </instance-parameter>
+ <parameter name="min_latency"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="4659">address of variable in which to store the
+ configured minimum latency, or %NULL</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime*"/>
+ </parameter>
+ <parameter name="max_latency"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="4661">address of variable in which to store the
+ configured mximum latency, or %NULL</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_max_decode_time"
+ c:identifier="gst_video_decoder_get_max_decode_time">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="4410">Determines maximum possible decoding time for @frame that will
+allow it to decode and arrive in time (as determined by QoS events).
+In particular, a negative result means decoding in time is no longer possible
+and should therefore occur as soon/skippy as possible.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="472"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="4420">max decoding time.</doc>
+ <type name="Gst.ClockTimeDiff" c:type="GstClockTimeDiff"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="decoder" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="4412">a #GstVideoDecoder</doc>
+ <type name="VideoDecoder" c:type="GstVideoDecoder*"/>
+ </instance-parameter>
+ <parameter name="frame" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="4413">a #GstVideoCodecFrame</doc>
+ <type name="VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_max_errors"
+ c:identifier="gst_video_decoder_get_max_errors">
+ <source-position filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="385"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="4517">currently configured decoder tolerated error count.</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="dec" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="4515">a #GstVideoDecoder</doc>
+ <type name="VideoDecoder" c:type="GstVideoDecoder*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_needs_format"
+ c:identifier="gst_video_decoder_get_needs_format"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="4549">Queries decoder required format handling.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="392"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="4555">%TRUE if required format handling is enabled.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="dec" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="4551">a #GstVideoDecoder</doc>
+ <type name="VideoDecoder" c:type="GstVideoDecoder*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_needs_sync_point"
+ c:identifier="gst_video_decoder_get_needs_sync_point"
+ version="1.20">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="4886">Queries if the decoder requires a sync point before it starts outputting
+data in the beginning.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="399"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="4893">%TRUE if a sync point is required in the beginning.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="dec" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="4888">a #GstVideoDecoder</doc>
+ <type name="VideoDecoder" c:type="GstVideoDecoder*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_oldest_frame"
+ c:identifier="gst_video_decoder_get_oldest_frame">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="3835">Get the oldest pending unfinished #GstVideoCodecFrame</doc>
+ <source-position filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="426"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="3841">oldest pending unfinished #GstVideoCodecFrame.</doc>
+ <type name="VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="decoder" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="3837">a #GstVideoDecoder</doc>
+ <type name="VideoDecoder" c:type="GstVideoDecoder*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_output_state"
+ c:identifier="gst_video_decoder_get_output_state">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="3707">Get the #GstVideoCodecState currently describing the output stream.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="466"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="3713">#GstVideoCodecState describing format of video data.</doc>
+ <type name="VideoCodecState" c:type="GstVideoCodecState*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="decoder" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="3709">a #GstVideoDecoder</doc>
+ <type name="VideoDecoder" c:type="GstVideoDecoder*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_packetized"
+ c:identifier="gst_video_decoder_get_packetized">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="4586">Queries whether input data is considered packetized or not by the
+base class.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="371"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="4593">TRUE if input data is considered packetized.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="decoder" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="4588">a #GstVideoDecoder</doc>
+ <type name="VideoDecoder" c:type="GstVideoDecoder*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_pending_frame_size"
+ c:identifier="gst_video_decoder_get_pending_frame_size"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="3493">Returns the number of bytes previously added to the current frame
+by calling gst_video_decoder_add_to_frame().</doc>
+ <source-position filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="441"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="3500">The number of bytes pending for the current frame</doc>
+ <type name="gsize" c:type="gsize"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="decoder" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="3495">a #GstVideoDecoder</doc>
+ <type name="VideoDecoder" c:type="GstVideoDecoder*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_qos_proportion"
+ c:identifier="gst_video_decoder_get_qos_proportion"
+ version="1.0.3">
+ <source-position filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="476"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="4452">The current QoS proportion.</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="decoder" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="4449">a #GstVideoDecoder
+ current QoS proportion, or %NULL</doc>
+ <type name="VideoDecoder" c:type="GstVideoDecoder*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="have_frame" c:identifier="gst_video_decoder_have_frame">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="3543">Gathers all data collected for currently parsed frame, gathers corresponding
+metadata and passes it along for further processing, i.e. @handle_frame.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="438"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="3550">a #GstFlowReturn</doc>
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="decoder" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="3545">a #GstVideoDecoder</doc>
+ <type name="VideoDecoder" c:type="GstVideoDecoder*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="merge_tags" c:identifier="gst_video_decoder_merge_tags">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="4679">Sets the audio decoder tags and how they should be merged with any
+upstream stream tags. This will override any tags previously-set
+with gst_audio_decoder_merge_tags().
+
+Note that this is provided for convenience, and the subclass is
+not required to use this and can still do tag handling on its own.
+
+MT safe.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="496"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="decoder" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="4681">a #GstVideoDecoder</doc>
+ <type name="VideoDecoder" c:type="GstVideoDecoder*"/>
+ </instance-parameter>
+ <parameter name="tags"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="4682">a #GstTagList to merge, or NULL to unset
+ previously-set tags</doc>
+ <type name="Gst.TagList" c:type="const GstTagList*"/>
+ </parameter>
+ <parameter name="mode" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="4684">the #GstTagMergeMode to use, usually #GST_TAG_MERGE_REPLACE</doc>
+ <type name="Gst.TagMergeMode" c:type="GstTagMergeMode"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="negotiate" c:identifier="gst_video_decoder_negotiate">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="4230">Negotiate with downstream elements to currently configured #GstVideoCodecState.
+Unmark GST_PAD_FLAG_NEED_RECONFIGURE in any case. But mark it again if
+negotiate fails.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="469"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="4238">%TRUE if the negotiation succeeded, else %FALSE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="decoder" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="4232">a #GstVideoDecoder</doc>
+ <type name="VideoDecoder" c:type="GstVideoDecoder*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="proxy_getcaps"
+ c:identifier="gst_video_decoder_proxy_getcaps"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="1904">Returns caps that express @caps (or sink template caps if @caps == NULL)
+restricted to resolution/format/... combinations supported by downstream
+elements.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="501"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="1914">a #GstCaps owned by caller</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="decoder" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="1906">a #GstVideoDecoder</doc>
+ <type name="VideoDecoder" c:type="GstVideoDecoder*"/>
+ </instance-parameter>
+ <parameter name="caps"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="1907">initial caps</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ <parameter name="filter"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="1908">filter caps</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="release_frame"
+ c:identifier="gst_video_decoder_release_frame"
+ version="1.2.2">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="2990">Similar to gst_video_decoder_drop_frame(), but simply releases @frame
+without any processing other than removing it from list of pending frames,
+after which it is considered finished and released.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="492"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="dec" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="2992">a #GstVideoDecoder</doc>
+ <type name="VideoDecoder" c:type="GstVideoDecoder*"/>
+ </instance-parameter>
+ <parameter name="frame" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="2993">the #GstVideoCodecFrame to release</doc>
+ <type name="VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="request_sync_point"
+ c:identifier="gst_video_decoder_request_sync_point"
+ version="1.20">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="4787">Allows the #GstVideoDecoder subclass to request from the base class that
+a new sync should be requested from upstream, and that @frame was the frame
+when the subclass noticed that a new sync point is required. A reason for
+the subclass to do this could be missing reference frames, for example.
+
+The base class will then request a new sync point from upstream as long as
+the time that passed since the last one is exceeding
+#GstVideoDecoder:min-force-key-unit-interval.
+
+The subclass can signal via @flags how the frames until the next sync point
+should be handled:
+
+ * If %GST_VIDEO_DECODER_REQUEST_SYNC_POINT_DISCARD_INPUT is selected then
+ all following input frames until the next sync point are discarded.
+ This can be useful if the lack of a sync point will prevent all further
+ decoding and the decoder implementation is not very robust in handling
+ missing references frames.
+ * If %GST_VIDEO_DECODER_REQUEST_SYNC_POINT_CORRUPT_OUTPUT is selected
+ then all output frames following @frame are marked as corrupted via
+ %GST_BUFFER_FLAG_CORRUPTED. Corrupted frames can be automatically
+ dropped by the base class, see #GstVideoDecoder:discard-corrupted-frames.
+ Subclasses can manually mark frames as corrupted via %GST_VIDEO_CODEC_FRAME_FLAG_CORRUPTED
+ before calling gst_video_decoder_finish_frame().</doc>
+ <source-position filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="487"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="dec" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="4789">a #GstVideoDecoder</doc>
+ <type name="VideoDecoder" c:type="GstVideoDecoder*"/>
+ </instance-parameter>
+ <parameter name="frame" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="4790">a #GstVideoCodecFrame</doc>
+ <type name="VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
+ </parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="4791">#GstVideoDecoderRequestSyncPointFlags</doc>
+ <type name="VideoDecoderRequestSyncPointFlags"
+ c:type="GstVideoDecoderRequestSyncPointFlags"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_estimate_rate"
+ c:identifier="gst_video_decoder_set_estimate_rate">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="4601">Allows baseclass to perform byte to time estimated conversion.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="374"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="dec" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="4603">a #GstVideoDecoder</doc>
+ <type name="VideoDecoder" c:type="GstVideoDecoder*"/>
+ </instance-parameter>
+ <parameter name="enabled" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="4604">whether to enable byte to time conversion</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_interlaced_output_state"
+ c:identifier="gst_video_decoder_set_interlaced_output_state"
+ version="1.16.">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="3809">Same as #gst_video_decoder_set_output_state() but also allows you to also set
+the interlacing mode.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="461"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="3821">the newly configured output state.</doc>
+ <type name="VideoCodecState" c:type="GstVideoCodecState*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="decoder" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="3811">a #GstVideoDecoder</doc>
+ <type name="VideoDecoder" c:type="GstVideoDecoder*"/>
+ </instance-parameter>
+ <parameter name="fmt" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="3812">a #GstVideoFormat</doc>
+ <type name="VideoFormat" c:type="GstVideoFormat"/>
+ </parameter>
+ <parameter name="interlace_mode" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="3815">A #GstVideoInterlaceMode</doc>
+ <type name="VideoInterlaceMode" c:type="GstVideoInterlaceMode"/>
+ </parameter>
+ <parameter name="width" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="3813">The width in pixels</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="height" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="3814">The height in pixels</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="reference"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="3816">An optional reference #GstVideoCodecState</doc>
+ <type name="VideoCodecState" c:type="GstVideoCodecState*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_latency" c:identifier="gst_video_decoder_set_latency">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="4630">Lets #GstVideoDecoder sub-classes tell the baseclass what the decoder
+latency is. Will also post a LATENCY message on the bus so the pipeline
+can reconfigure its global latency.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="402"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="decoder" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="4632">a #GstVideoDecoder</doc>
+ <type name="VideoDecoder" c:type="GstVideoDecoder*"/>
+ </instance-parameter>
+ <parameter name="min_latency" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="4633">minimum latency</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="max_latency" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="4634">maximum latency</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_max_errors"
+ c:identifier="gst_video_decoder_set_max_errors">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="4493">Sets numbers of tolerated decoder errors, where a tolerated one is then only
+warned about, but more than tolerated will lead to fatal error. You can set
+-1 for never returning fatal errors. Default is set to
+GST_VIDEO_DECODER_MAX_ERRORS.
+
+The '-1' option was added in 1.4</doc>
+ <source-position filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="381"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="dec" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="4495">a #GstVideoDecoder</doc>
+ <type name="VideoDecoder" c:type="GstVideoDecoder*"/>
+ </instance-parameter>
+ <parameter name="num" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="4496">max tolerated errors</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_needs_format"
+ c:identifier="gst_video_decoder_set_needs_format"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="4527">Configures decoder format needs. If enabled, subclass needs to be
+negotiated with format caps before it can process any data. It will then
+never be handed any data before it has been configured.
+Otherwise, it might be handed data without having been configured and
+is then expected being able to do so either by default
+or based on the input data.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="388"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="dec" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="4529">a #GstVideoDecoder</doc>
+ <type name="VideoDecoder" c:type="GstVideoDecoder*"/>
+ </instance-parameter>
+ <parameter name="enabled" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="4530">new state</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_needs_sync_point"
+ c:identifier="gst_video_decoder_set_needs_sync_point"
+ version="1.20">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="4863">Configures whether the decoder requires a sync point before it starts
+outputting data in the beginning. If enabled, the base class will discard
+all non-sync point frames in the beginning and after a flush and does not
+pass it to the subclass.
+
+If the first frame is not a sync point, the base class will request a sync
+point via the force-key-unit event.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="395"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="dec" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="4865">a #GstVideoDecoder</doc>
+ <type name="VideoDecoder" c:type="GstVideoDecoder*"/>
+ </instance-parameter>
+ <parameter name="enabled" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="4866">new state</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_output_state"
+ c:identifier="gst_video_decoder_set_output_state">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="3775">Creates a new #GstVideoCodecState with the specified @fmt, @width and @height
+as the output state for the decoder.
+Any previously set output state on @decoder will be replaced by the newly
+created one.
+
+If the subclass wishes to copy over existing fields (like pixel aspec ratio,
+or framerate) from an existing #GstVideoCodecState, it can be provided as a
+@reference.
+
+If the subclass wishes to override some fields from the output state (like
+pixel-aspect-ratio or framerate) it can do so on the returned #GstVideoCodecState.
+
+The new output state will only take effect (set on pads and buffers) starting
+from the next call to #gst_video_decoder_finish_frame().</doc>
+ <source-position filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="456"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="3798">the newly configured output state.</doc>
+ <type name="VideoCodecState" c:type="GstVideoCodecState*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="decoder" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="3777">a #GstVideoDecoder</doc>
+ <type name="VideoDecoder" c:type="GstVideoDecoder*"/>
+ </instance-parameter>
+ <parameter name="fmt" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="3778">a #GstVideoFormat</doc>
+ <type name="VideoFormat" c:type="GstVideoFormat"/>
+ </parameter>
+ <parameter name="width" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="3779">The width in pixels</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="height" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="3780">The height in pixels</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="reference"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="3781">An optional reference #GstVideoCodecState</doc>
+ <type name="VideoCodecState" c:type="GstVideoCodecState*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_packetized"
+ c:identifier="gst_video_decoder_set_packetized">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="4571">Allows baseclass to consider input data as packetized or not. If the
+input is packetized, then the @parse method will not be called.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="367"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="decoder" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="4573">a #GstVideoDecoder</doc>
+ <type name="VideoDecoder" c:type="GstVideoDecoder*"/>
+ </instance-parameter>
+ <parameter name="packetized" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="4574">whether the input data should be considered as packetized.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_use_default_pad_acceptcaps"
+ c:identifier="gst_video_decoder_set_use_default_pad_acceptcaps"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="4766">Lets #GstVideoDecoder sub-classes decide if they want the sink pad
+to use the default pad query handler to reply to accept-caps queries.
+
+By setting this to true it is possible to further customize the default
+handler with %GST_PAD_SET_ACCEPT_INTERSECT and
+%GST_PAD_SET_ACCEPT_TEMPLATE</doc>
+ <source-position filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="506"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="decoder" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="4768">a #GstVideoDecoder</doc>
+ <type name="VideoDecoder" c:type="GstVideoDecoder*"/>
+ </instance-parameter>
+ <parameter name="use" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="4769">if the default pad accept-caps query handling should be used</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="discard-corrupted-frames"
+ version="1.20"
+ writable="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="634">If set to %TRUE the decoder will discard frames that are marked as
+corrupted instead of outputting them.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </property>
+ <property name="max-errors"
+ version="1.18"
+ writable="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="600">Maximum number of tolerated consecutive decode errors. See
+gst_video_decoder_set_max_errors() for more details.</doc>
+ <type name="gint" c:type="gint"/>
+ </property>
+ <property name="min-force-key-unit-interval"
+ version="1.20"
+ writable="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="614">Minimum interval between force-key-unit events sent upstream by the
+decoder. Setting this to 0 will cause every event to be handled, setting
+this to %GST_CLOCK_TIME_NONE will cause every event to be ignored.
+
+See gst_video_event_new_upstream_force_key_unit() for more details about
+force-key-unit events.</doc>
+ <type name="guint64" c:type="guint64"/>
+ </property>
+ <property name="qos"
+ version="1.18"
+ writable="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="585">If set to %TRUE the decoder will handle QoS events received
+from downstream elements.
+This includes dropping output frames which are detected as late
+using the metrics reported by those events.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </property>
+ <field name="element" readable="0" private="1">
+ <type name="Gst.Element" c:type="GstElement"/>
+ </field>
+ <field name="sinkpad" readable="0" private="1">
+ <type name="Gst.Pad" c:type="GstPad*"/>
+ </field>
+ <field name="srcpad" readable="0" private="1">
+ <type name="Gst.Pad" c:type="GstPad*"/>
+ </field>
+ <field name="stream_lock" readable="0" private="1">
+ <type name="GLib.RecMutex" c:type="GRecMutex"/>
+ </field>
+ <field name="input_segment" readable="0" private="1">
+ <type name="Gst.Segment" c:type="GstSegment"/>
+ </field>
+ <field name="output_segment" readable="0" private="1">
+ <type name="Gst.Segment" c:type="GstSegment"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="VideoDecoderPrivate" c:type="GstVideoDecoderPrivate*"/>
+ </field>
+ <field name="padding" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="20">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="VideoDecoderClass"
+ c:type="GstVideoDecoderClass"
+ glib:is-gtype-struct-for="VideoDecoder">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="196">Subclasses can override any of the available virtual methods or not, as
+needed. At minimum @handle_frame needs to be overridden, and @set_format
+and likely as well. If non-packetized input is supported or expected,
+@parse needs to be overridden as well.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="342"/>
+ <field name="element_class" readable="0" private="1">
+ <type name="Gst.ElementClass" c:type="GstElementClass"/>
+ </field>
+ <field name="open">
+ <callback name="open">
+ <source-position filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="287"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="decoder" transfer-ownership="none">
+ <type name="VideoDecoder" c:type="GstVideoDecoder*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="close">
+ <callback name="close">
+ <source-position filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="289"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="decoder" transfer-ownership="none">
+ <type name="VideoDecoder" c:type="GstVideoDecoder*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="start">
+ <callback name="start">
+ <source-position filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="291"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="decoder" transfer-ownership="none">
+ <type name="VideoDecoder" c:type="GstVideoDecoder*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="stop">
+ <callback name="stop">
+ <source-position filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="293"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="decoder" transfer-ownership="none">
+ <type name="VideoDecoder" c:type="GstVideoDecoder*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="parse">
+ <callback name="parse">
+ <source-position filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="295"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="decoder" transfer-ownership="none">
+ <type name="VideoDecoder" c:type="GstVideoDecoder*"/>
+ </parameter>
+ <parameter name="frame" transfer-ownership="none">
+ <type name="VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
+ </parameter>
+ <parameter name="adapter" transfer-ownership="none">
+ <type name="GstBase.Adapter" c:type="GstAdapter*"/>
+ </parameter>
+ <parameter name="at_eos" transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="set_format">
+ <callback name="set_format">
+ <source-position filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="300"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="decoder" transfer-ownership="none">
+ <type name="VideoDecoder" c:type="GstVideoDecoder*"/>
+ </parameter>
+ <parameter name="state" transfer-ownership="none">
+ <type name="VideoCodecState" c:type="GstVideoCodecState*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="reset">
+ <callback name="reset">
+ <source-position filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="303"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="decoder" transfer-ownership="none">
+ <type name="VideoDecoder" c:type="GstVideoDecoder*"/>
+ </parameter>
+ <parameter name="hard" transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="finish">
+ <callback name="finish">
+ <source-position filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="306"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="decoder" transfer-ownership="none">
+ <type name="VideoDecoder" c:type="GstVideoDecoder*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="handle_frame">
+ <callback name="handle_frame">
+ <source-position filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="308"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="decoder" transfer-ownership="none">
+ <type name="VideoDecoder" c:type="GstVideoDecoder*"/>
+ </parameter>
+ <parameter name="frame" transfer-ownership="none">
+ <type name="VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="sink_event">
+ <callback name="sink_event">
+ <source-position filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="311"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="decoder" transfer-ownership="none">
+ <type name="VideoDecoder" c:type="GstVideoDecoder*"/>
+ </parameter>
+ <parameter name="event" transfer-ownership="none">
+ <type name="Gst.Event" c:type="GstEvent*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="src_event">
+ <callback name="src_event">
+ <source-position filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="314"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="decoder" transfer-ownership="none">
+ <type name="VideoDecoder" c:type="GstVideoDecoder*"/>
+ </parameter>
+ <parameter name="event" transfer-ownership="none">
+ <type name="Gst.Event" c:type="GstEvent*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="negotiate">
+ <callback name="negotiate">
+ <source-position filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="317"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="4238">%TRUE if the negotiation succeeded, else %FALSE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="decoder" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.c"
+ line="4232">a #GstVideoDecoder</doc>
+ <type name="VideoDecoder" c:type="GstVideoDecoder*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="decide_allocation">
+ <callback name="decide_allocation">
+ <source-position filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="319"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="decoder" transfer-ownership="none">
+ <type name="VideoDecoder" c:type="GstVideoDecoder*"/>
+ </parameter>
+ <parameter name="query" transfer-ownership="none">
+ <type name="Gst.Query" c:type="GstQuery*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="propose_allocation">
+ <callback name="propose_allocation">
+ <source-position filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="321"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="decoder" transfer-ownership="none">
+ <type name="VideoDecoder" c:type="GstVideoDecoder*"/>
+ </parameter>
+ <parameter name="query" transfer-ownership="none">
+ <type name="Gst.Query" c:type="GstQuery*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="flush">
+ <callback name="flush">
+ <source-position filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="323"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="decoder" transfer-ownership="none">
+ <type name="VideoDecoder" c:type="GstVideoDecoder*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="sink_query">
+ <callback name="sink_query">
+ <source-position filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="325"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="decoder" transfer-ownership="none">
+ <type name="VideoDecoder" c:type="GstVideoDecoder*"/>
+ </parameter>
+ <parameter name="query" transfer-ownership="none">
+ <type name="Gst.Query" c:type="GstQuery*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="src_query">
+ <callback name="src_query">
+ <source-position filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="328"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="decoder" transfer-ownership="none">
+ <type name="VideoDecoder" c:type="GstVideoDecoder*"/>
+ </parameter>
+ <parameter name="query" transfer-ownership="none">
+ <type name="Gst.Query" c:type="GstQuery*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="getcaps">
+ <callback name="getcaps">
+ <source-position filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="331"/>
+ <return-value transfer-ownership="full">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <parameter name="decoder" transfer-ownership="none">
+ <type name="VideoDecoder" c:type="GstVideoDecoder*"/>
+ </parameter>
+ <parameter name="filter" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="drain">
+ <callback name="drain">
+ <source-position filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="334"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="decoder" transfer-ownership="none">
+ <type name="VideoDecoder" c:type="GstVideoDecoder*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="transform_meta">
+ <callback name="transform_meta">
+ <source-position filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="336"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="decoder" transfer-ownership="none">
+ <type name="VideoDecoder" c:type="GstVideoDecoder*"/>
+ </parameter>
+ <parameter name="frame" transfer-ownership="none">
+ <type name="VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
+ </parameter>
+ <parameter name="meta" transfer-ownership="none">
+ <type name="Gst.Meta" c:type="GstMeta*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="padding" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="14">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="VideoDecoderPrivate"
+ c:type="GstVideoDecoderPrivate"
+ disguised="1">
+ <source-position filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="116"/>
+ </record>
+ <bitfield name="VideoDecoderRequestSyncPointFlags"
+ version="1.20"
+ c:type="GstVideoDecoderRequestSyncPointFlags">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="344">Flags to be used in combination with gst_video_decoder_request_sync_point().
+See the function documentation for more details.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="359"/>
+ <member name="discard_input"
+ value="1"
+ c:identifier="GST_VIDEO_DECODER_REQUEST_SYNC_POINT_DISCARD_INPUT">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="346">discard all following
+ input until the next sync point.</doc>
+ </member>
+ <member name="corrupt_output"
+ value="2"
+ c:identifier="GST_VIDEO_DECODER_REQUEST_SYNC_POINT_CORRUPT_OUTPUT">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideodecoder.h"
+ line="348">discard all following
+ output until the next sync point.</doc>
+ </member>
+ </bitfield>
+ <interface name="VideoDirection"
+ c:symbol-prefix="video_direction"
+ c:type="GstVideoDirection"
+ version="1.10"
+ glib:type-name="GstVideoDirection"
+ glib:get-type="gst_video_direction_get_type"
+ glib:type-struct="VideoDirectionInterface">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videodirection.c"
+ line="30">The interface allows unified access to control flipping and rotation
+operations of video-sources or operators.</doc>
+ <source-position filename="gst-libs/gst/video/videodirection.h"
+ line="58"/>
+ <property name="video-direction"
+ writable="1"
+ construct="1"
+ transfer-ownership="none">
+ <type name="VideoOrientationMethod"/>
+ </property>
+ </interface>
+ <record name="VideoDirectionInterface"
+ c:type="GstVideoDirectionInterface"
+ glib:is-gtype-struct-for="VideoDirection"
+ version="1.10">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videodirection.h"
+ line="47">#GstVideoDirectionInterface interface.</doc>
+ <source-position filename="gst-libs/gst/video/videodirection.h"
+ line="58"/>
+ <field name="iface">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videodirection.h"
+ line="49">parent interface type.</doc>
+ <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
+ </field>
+ </record>
+ <record name="VideoDither" c:type="GstVideoDither" disguised="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-dither.c"
+ line="28">GstVideoDither provides implementations of several dithering algorithms
+that can be applied to lines of video pixels to quantize and dither them.</doc>
+ <source-position filename="gst-libs/gst/video/video-dither.h" line="60"/>
+ <method name="free" c:identifier="gst_video_dither_free">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-dither.c"
+ line="461">Free @dither</doc>
+ <source-position filename="gst-libs/gst/video/video-dither.h"
+ line="73"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="dither" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-dither.c"
+ line="463">a #GstVideoDither</doc>
+ <type name="VideoDither" c:type="GstVideoDither*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="line" c:identifier="gst_video_dither_line">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-dither.c"
+ line="476">Dither @width pixels starting from offset @x in @line using @dither.
+
+@y is the line number of @line in the output image.</doc>
+ <source-position filename="gst-libs/gst/video/video-dither.h"
+ line="76"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="dither" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-dither.c"
+ line="478">a #GstVideoDither</doc>
+ <type name="VideoDither" c:type="GstVideoDither*"/>
+ </instance-parameter>
+ <parameter name="line"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-dither.c"
+ line="479">pointer to the pixels of the line</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="x" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-dither.c"
+ line="480">x coordinate</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="y" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-dither.c"
+ line="481">y coordinate</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="width" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-dither.c"
+ line="482">the width</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <function name="new"
+ c:identifier="gst_video_dither_new"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-dither.c"
+ line="357">Make a new dither object for dithering lines of @format using the
+algorithm described by @method.
+
+Each component will be quantized to a multiple of @quantizer. Better
+performance is achieved when @quantizer is a power of 2.
+
+@width is the width of the lines that this ditherer will handle.</doc>
+ <source-position filename="gst-libs/gst/video/video-dither.h"
+ line="66"/>
+ <return-value>
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-dither.c"
+ line="373">a new #GstVideoDither</doc>
+ <type name="VideoDither" c:type="GstVideoDither*"/>
+ </return-value>
+ <parameters>
+ <parameter name="method" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-dither.c"
+ line="359">a #GstVideoDitherMethod</doc>
+ <type name="VideoDitherMethod" c:type="GstVideoDitherMethod"/>
+ </parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-dither.c"
+ line="360">a #GstVideoDitherFlags</doc>
+ <type name="VideoDitherFlags" c:type="GstVideoDitherFlags"/>
+ </parameter>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-dither.c"
+ line="361">a #GstVideoFormat</doc>
+ <type name="VideoFormat" c:type="GstVideoFormat"/>
+ </parameter>
+ <parameter name="quantizer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-dither.c"
+ line="362">quantizer</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ <parameter name="width" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-dither.c"
+ line="363">the width of the lines</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ </record>
+ <bitfield name="VideoDitherFlags"
+ glib:type-name="GstVideoDitherFlags"
+ glib:get-type="gst_video_dither_flags_get_type"
+ c:type="GstVideoDitherFlags">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-dither.h"
+ line="46">Extra flags that influence the result from gst_video_chroma_resample_new().</doc>
+ <member name="none"
+ value="0"
+ c:identifier="GST_VIDEO_DITHER_FLAG_NONE"
+ glib:nick="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-dither.h"
+ line="48">no flags</doc>
+ </member>
+ <member name="interlaced"
+ value="1"
+ c:identifier="GST_VIDEO_DITHER_FLAG_INTERLACED"
+ glib:nick="interlaced">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-dither.h"
+ line="49">the input is interlaced</doc>
+ </member>
+ <member name="quantize"
+ value="2"
+ c:identifier="GST_VIDEO_DITHER_FLAG_QUANTIZE"
+ glib:nick="quantize">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-dither.h"
+ line="50">quantize values in addition to adding dither.</doc>
+ </member>
+ </bitfield>
+ <enumeration name="VideoDitherMethod"
+ glib:type-name="GstVideoDitherMethod"
+ glib:get-type="gst_video_dither_method_get_type"
+ c:type="GstVideoDitherMethod">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-dither.h"
+ line="28">Different dithering methods to use.</doc>
+ <member name="none"
+ value="0"
+ c:identifier="GST_VIDEO_DITHER_NONE"
+ glib:nick="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-dither.h"
+ line="30">no dithering</doc>
+ </member>
+ <member name="verterr"
+ value="1"
+ c:identifier="GST_VIDEO_DITHER_VERTERR"
+ glib:nick="verterr">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-dither.h"
+ line="31">propagate rounding errors downwards</doc>
+ </member>
+ <member name="floyd_steinberg"
+ value="2"
+ c:identifier="GST_VIDEO_DITHER_FLOYD_STEINBERG"
+ glib:nick="floyd-steinberg">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-dither.h"
+ line="32">Dither with floyd-steinberg error diffusion</doc>
+ </member>
+ <member name="sierra_lite"
+ value="3"
+ c:identifier="GST_VIDEO_DITHER_SIERRA_LITE"
+ glib:nick="sierra-lite">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-dither.h"
+ line="33">Dither with Sierra Lite error diffusion</doc>
+ </member>
+ <member name="bayer"
+ value="4"
+ c:identifier="GST_VIDEO_DITHER_BAYER"
+ glib:nick="bayer">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-dither.h"
+ line="34">ordered dither using a bayer pattern</doc>
+ </member>
+ </enumeration>
+ <class name="VideoEncoder"
+ c:symbol-prefix="video_encoder"
+ c:type="GstVideoEncoder"
+ parent="Gst.Element"
+ abstract="1"
+ glib:type-name="GstVideoEncoder"
+ glib:get-type="gst_video_encoder_get_type"
+ glib:type-struct="VideoEncoderClass">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoencoder.c"
+ line="25">This base class is for video encoders turning raw video into
+encoded video data.
+
+GstVideoEncoder and subclass should cooperate as follows.
+
+## Configuration
+
+ * Initially, GstVideoEncoder calls @start when the encoder element
+ is activated, which allows subclass to perform any global setup.
+ * GstVideoEncoder calls @set_format to inform subclass of the format
+ of input video data that it is about to receive. Subclass should
+ setup for encoding and configure base class as appropriate
+ (e.g. latency). While unlikely, it might be called more than once,
+ if changing input parameters require reconfiguration. Baseclass
+ will ensure that processing of current configuration is finished.
+ * GstVideoEncoder calls @stop at end of all processing.
+
+## Data processing
+
+ * Base class collects input data and metadata into a frame and hands
+ this to subclass' @handle_frame.
+
+ * If codec processing results in encoded data, subclass should call
+ @gst_video_encoder_finish_frame to have encoded data pushed
+ downstream.
+
+ * If implemented, baseclass calls subclass @pre_push just prior to
+ pushing to allow subclasses to modify some metadata on the buffer.
+ If it returns GST_FLOW_OK, the buffer is pushed downstream.
+
+ * GstVideoEncoderClass will handle both srcpad and sinkpad events.
+ Sink events will be passed to subclass if @event callback has been
+ provided.
+
+## Shutdown phase
+
+ * GstVideoEncoder class calls @stop to inform the subclass that data
+ parsing will be stopped.
+
+Subclass is responsible for providing pad template caps for
+source and sink pads. The pads need to be named "sink" and "src". It should
+also be able to provide fixed src pad caps in @getcaps by the time it calls
+@gst_video_encoder_finish_frame.
+
+Things that subclass need to take care of:
+
+ * Provide pad templates
+ * Provide source pad caps before pushing the first buffer
+ * Accept data in @handle_frame and provide encoded results to
+ @gst_video_encoder_finish_frame.
+
+
+The #GstVideoEncoder:qos property will enable the Quality-of-Service
+features of the encoder which gather statistics about the real-time
+performance of the downstream elements. If enabled, subclasses can
+use gst_video_encoder_get_max_encode_time() to check if input frames
+are already late and drop them right away to give a chance to the
+pipeline to catch up.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideoencoder.h"
+ line="300"/>
+ <implements name="Gst.Preset"/>
+ <virtual-method name="close">
+ <source-position filename="gst-libs/gst/video/gstvideoencoder.h"
+ line="251"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="encoder" transfer-ownership="none">
+ <type name="VideoEncoder" c:type="GstVideoEncoder*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="decide_allocation">
+ <source-position filename="gst-libs/gst/video/gstvideoencoder.h"
+ line="282"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="encoder" transfer-ownership="none">
+ <type name="VideoEncoder" c:type="GstVideoEncoder*"/>
+ </instance-parameter>
+ <parameter name="query" transfer-ownership="none">
+ <type name="Gst.Query" c:type="GstQuery*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="finish">
+ <source-position filename="gst-libs/gst/video/gstvideoencoder.h"
+ line="266"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="encoder" transfer-ownership="none">
+ <type name="VideoEncoder" c:type="GstVideoEncoder*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="flush">
+ <source-position filename="gst-libs/gst/video/gstvideoencoder.h"
+ line="286"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="encoder" transfer-ownership="none">
+ <type name="VideoEncoder" c:type="GstVideoEncoder*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="getcaps">
+ <source-position filename="gst-libs/gst/video/gstvideoencoder.h"
+ line="271"/>
+ <return-value transfer-ownership="full">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="enc" transfer-ownership="none">
+ <type name="VideoEncoder" c:type="GstVideoEncoder*"/>
+ </instance-parameter>
+ <parameter name="filter" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="handle_frame">
+ <source-position filename="gst-libs/gst/video/gstvideoencoder.h"
+ line="260"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="encoder" transfer-ownership="none">
+ <type name="VideoEncoder" c:type="GstVideoEncoder*"/>
+ </instance-parameter>
+ <parameter name="frame" transfer-ownership="none">
+ <type name="VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="negotiate" invoker="negotiate">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoencoder.c"
+ line="1992">Negotiate with downstream elements to currently configured #GstVideoCodecState.
+Unmark GST_PAD_FLAG_NEED_RECONFIGURE in any case. But mark it again if
+negotiate fails.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideoencoder.h"
+ line="280"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoencoder.c"
+ line="2000">%TRUE if the negotiation succeeded, else %FALSE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="encoder" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoencoder.c"
+ line="1994">a #GstVideoEncoder</doc>
+ <type name="VideoEncoder" c:type="GstVideoEncoder*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="open">
+ <source-position filename="gst-libs/gst/video/gstvideoencoder.h"
+ line="249"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="encoder" transfer-ownership="none">
+ <type name="VideoEncoder" c:type="GstVideoEncoder*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="pre_push">
+ <source-position filename="gst-libs/gst/video/gstvideoencoder.h"
+ line="268"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="encoder" transfer-ownership="none">
+ <type name="VideoEncoder" c:type="GstVideoEncoder*"/>
+ </instance-parameter>
+ <parameter name="frame" transfer-ownership="none">
+ <type name="VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="propose_allocation">
+ <source-position filename="gst-libs/gst/video/gstvideoencoder.h"
+ line="284"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="encoder" transfer-ownership="none">
+ <type name="VideoEncoder" c:type="GstVideoEncoder*"/>
+ </instance-parameter>
+ <parameter name="query" transfer-ownership="none">
+ <type name="Gst.Query" c:type="GstQuery*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="reset">
+ <source-position filename="gst-libs/gst/video/gstvideoencoder.h"
+ line="263"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="encoder" transfer-ownership="none">
+ <type name="VideoEncoder" c:type="GstVideoEncoder*"/>
+ </instance-parameter>
+ <parameter name="hard" transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="set_format">
+ <source-position filename="gst-libs/gst/video/gstvideoencoder.h"
+ line="257"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="encoder" transfer-ownership="none">
+ <type name="VideoEncoder" c:type="GstVideoEncoder*"/>
+ </instance-parameter>
+ <parameter name="state" transfer-ownership="none">
+ <type name="VideoCodecState" c:type="GstVideoCodecState*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="sink_event">
+ <source-position filename="gst-libs/gst/video/gstvideoencoder.h"
+ line="274"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="encoder" transfer-ownership="none">
+ <type name="VideoEncoder" c:type="GstVideoEncoder*"/>
+ </instance-parameter>
+ <parameter name="event" transfer-ownership="none">
+ <type name="Gst.Event" c:type="GstEvent*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="sink_query">
+ <source-position filename="gst-libs/gst/video/gstvideoencoder.h"
+ line="288"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="encoder" transfer-ownership="none">
+ <type name="VideoEncoder" c:type="GstVideoEncoder*"/>
+ </instance-parameter>
+ <parameter name="query" transfer-ownership="none">
+ <type name="Gst.Query" c:type="GstQuery*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="src_event">
+ <source-position filename="gst-libs/gst/video/gstvideoencoder.h"
+ line="277"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="encoder" transfer-ownership="none">
+ <type name="VideoEncoder" c:type="GstVideoEncoder*"/>
+ </instance-parameter>
+ <parameter name="event" transfer-ownership="none">
+ <type name="Gst.Event" c:type="GstEvent*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="src_query">
+ <source-position filename="gst-libs/gst/video/gstvideoencoder.h"
+ line="291"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="encoder" transfer-ownership="none">
+ <type name="VideoEncoder" c:type="GstVideoEncoder*"/>
+ </instance-parameter>
+ <parameter name="query" transfer-ownership="none">
+ <type name="Gst.Query" c:type="GstQuery*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="start">
+ <source-position filename="gst-libs/gst/video/gstvideoencoder.h"
+ line="253"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="encoder" transfer-ownership="none">
+ <type name="VideoEncoder" c:type="GstVideoEncoder*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="stop">
+ <source-position filename="gst-libs/gst/video/gstvideoencoder.h"
+ line="255"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="encoder" transfer-ownership="none">
+ <type name="VideoEncoder" c:type="GstVideoEncoder*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="transform_meta">
+ <source-position filename="gst-libs/gst/video/gstvideoencoder.h"
+ line="294"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="encoder" transfer-ownership="none">
+ <type name="VideoEncoder" c:type="GstVideoEncoder*"/>
+ </instance-parameter>
+ <parameter name="frame" transfer-ownership="none">
+ <type name="VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
+ </parameter>
+ <parameter name="meta" transfer-ownership="none">
+ <type name="Gst.Meta" c:type="GstMeta*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <method name="allocate_output_buffer"
+ c:identifier="gst_video_encoder_allocate_output_buffer">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoencoder.c"
+ line="2025">Helper function that allocates a buffer to hold an encoded video frame
+for @encoder's current #GstVideoCodecState.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideoencoder.h"
+ line="327"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoencoder.c"
+ line="2033">allocated buffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="encoder" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoencoder.c"
+ line="2027">a #GstVideoEncoder</doc>
+ <type name="VideoEncoder" c:type="GstVideoEncoder*"/>
+ </instance-parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoencoder.c"
+ line="2028">size of the buffer</doc>
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="allocate_output_frame"
+ c:identifier="gst_video_encoder_allocate_output_frame">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoencoder.c"
+ line="2076">Helper function that allocates a buffer to hold an encoded video frame for @encoder's
+current #GstVideoCodecState. Subclass should already have configured video
+state and set src pad caps.
+
+The buffer allocated here is owned by the frame and you should only
+keep references to the frame, not the buffer.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideoencoder.h"
+ line="331"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoencoder.c"
+ line="2089">%GST_FLOW_OK if an output buffer could be allocated</doc>
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="encoder" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoencoder.c"
+ line="2078">a #GstVideoEncoder</doc>
+ <type name="VideoEncoder" c:type="GstVideoEncoder*"/>
+ </instance-parameter>
+ <parameter name="frame" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoencoder.c"
+ line="2079">a #GstVideoCodecFrame</doc>
+ <type name="VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoencoder.c"
+ line="2080">size of the buffer</doc>
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="finish_frame"
+ c:identifier="gst_video_encoder_finish_frame">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoencoder.c"
+ line="2475">@frame must have a valid encoded data buffer, whose metadata fields
+are then appropriately set according to frame data or no buffer at
+all if the frame should be dropped.
+It is subsequently pushed downstream or provided to @pre_push.
+In any case, the frame is considered finished and released.
+
+After calling this function the output buffer of the frame is to be
+considered read-only. This function will also change the metadata
+of the buffer.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideoencoder.h"
+ line="336"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoencoder.c"
+ line="2490">a #GstFlowReturn resulting from sending data downstream</doc>
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="encoder" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoencoder.c"
+ line="2477">a #GstVideoEncoder</doc>
+ <type name="VideoEncoder" c:type="GstVideoEncoder*"/>
+ </instance-parameter>
+ <parameter name="frame" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoencoder.c"
+ line="2478">an encoded #GstVideoCodecFrame</doc>
+ <type name="VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="finish_subframe"
+ c:identifier="gst_video_encoder_finish_subframe"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoencoder.c"
+ line="2627">If multiple subframes are produced for one input frame then use this method
+for each subframe, except for the last one. Before calling this function,
+you need to fill frame-&gt;output_buffer with the encoded buffer to push.
+
+You must call #gst_video_encoder_finish_frame() for the last sub-frame
+to tell the encoder that the frame has been fully encoded.
+
+This function will change the metadata of @frame and frame-&gt;output_buffer
+will be pushed downstream.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideoencoder.h"
+ line="340"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoencoder.c"
+ line="2642">a #GstFlowReturn resulting from pushing the buffer downstream.</doc>
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="encoder" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoencoder.c"
+ line="2629">a #GstVideoEncoder</doc>
+ <type name="VideoEncoder" c:type="GstVideoEncoder*"/>
+ </instance-parameter>
+ <parameter name="frame" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoencoder.c"
+ line="2630">a #GstVideoCodecFrame being encoded</doc>
+ <type name="VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_allocator"
+ c:identifier="gst_video_encoder_get_allocator">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoencoder.c"
+ line="2996">Lets #GstVideoEncoder sub-classes to know the memory @allocator
+used by the base class and its @params.
+
+Unref the @allocator after use it.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideoencoder.h"
+ line="368"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="encoder" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoencoder.c"
+ line="2998">a #GstVideoEncoder</doc>
+ <type name="VideoEncoder" c:type="GstVideoEncoder*"/>
+ </instance-parameter>
+ <parameter name="allocator"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoencoder.c"
+ line="2999">the #GstAllocator
+used</doc>
+ <type name="Gst.Allocator" c:type="GstAllocator**"/>
+ </parameter>
+ <parameter name="params"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoencoder.c"
+ line="3001">the
+#GstAllocationParams of @allocator</doc>
+ <type name="Gst.AllocationParams" c:type="GstAllocationParams*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_frame" c:identifier="gst_video_encoder_get_frame">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoencoder.c"
+ line="2900">Get a pending unfinished #GstVideoCodecFrame</doc>
+ <source-position filename="gst-libs/gst/video/gstvideoencoder.h"
+ line="317"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoencoder.c"
+ line="2907">pending unfinished #GstVideoCodecFrame identified by @frame_number.</doc>
+ <type name="VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="encoder" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoencoder.c"
+ line="2902">a #GstVideoEncoder</doc>
+ <type name="VideoEncoder" c:type="GstVideoEncoder*"/>
+ </instance-parameter>
+ <parameter name="frame_number" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoencoder.c"
+ line="2903">system_frame_number of a frame</doc>
+ <type name="gint" c:type="int"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_frames" c:identifier="gst_video_encoder_get_frames">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoencoder.c"
+ line="2931">Get all pending unfinished #GstVideoCodecFrame</doc>
+ <source-position filename="gst-libs/gst/video/gstvideoencoder.h"
+ line="324"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoencoder.c"
+ line="2937">pending unfinished #GstVideoCodecFrame.</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="VideoCodecFrame"/>
+ </type>
+ </return-value>
+ <parameters>
+ <instance-parameter name="encoder" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoencoder.c"
+ line="2933">a #GstVideoEncoder</doc>
+ <type name="VideoEncoder" c:type="GstVideoEncoder*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_latency" c:identifier="gst_video_encoder_get_latency">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoencoder.c"
+ line="2856">Query the configured encoding latency. Results will be returned via
+@min_latency and @max_latency.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideoencoder.h"
+ line="354"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="encoder" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoencoder.c"
+ line="2858">a #GstVideoEncoder</doc>
+ <type name="VideoEncoder" c:type="GstVideoEncoder*"/>
+ </instance-parameter>
+ <parameter name="min_latency"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoencoder.c"
+ line="2859">address of variable in which to store the
+ configured minimum latency, or %NULL</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime*"/>
+ </parameter>
+ <parameter name="max_latency"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoencoder.c"
+ line="2861">address of variable in which to store the
+ configured maximum latency, or %NULL</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_max_encode_time"
+ c:identifier="gst_video_encoder_get_max_encode_time"
+ version="1.14">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoencoder.c"
+ line="3043">Determines maximum possible encoding time for @frame that will
+allow it to encode and arrive in time (as determined by QoS events).
+In particular, a negative result means encoding in time is no longer possible
+and should therefore occur as soon/skippy as possible.
+
+If no QoS events have been received from downstream, or if
+#GstVideoEncoder:qos is disabled this function returns #G_MAXINT64.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideoencoder.h"
+ line="382"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoencoder.c"
+ line="3056">max decoding time.</doc>
+ <type name="Gst.ClockTimeDiff" c:type="GstClockTimeDiff"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="encoder" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoencoder.c"
+ line="3045">a #GstVideoEncoder</doc>
+ <type name="VideoEncoder" c:type="GstVideoEncoder*"/>
+ </instance-parameter>
+ <parameter name="frame" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoencoder.c"
+ line="3046">a #GstVideoCodecFrame</doc>
+ <type name="VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_min_force_key_unit_interval"
+ c:identifier="gst_video_encoder_get_min_force_key_unit_interval"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoencoder.c"
+ line="3147">Returns the minimum force-keyunit interval, see gst_video_encoder_set_min_force_key_unit_interval()
+for more details.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideoencoder.h"
+ line="388"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoencoder.c"
+ line="3154">the minimum force-keyunit interval</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="encoder" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoencoder.c"
+ line="3149">the encoder</doc>
+ <type name="VideoEncoder" c:type="GstVideoEncoder*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_oldest_frame"
+ c:identifier="gst_video_encoder_get_oldest_frame">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoencoder.c"
+ line="2879">Get the oldest unfinished pending #GstVideoCodecFrame</doc>
+ <source-position filename="gst-libs/gst/video/gstvideoencoder.h"
+ line="321"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoencoder.c"
+ line="2885">oldest unfinished pending #GstVideoCodecFrame</doc>
+ <type name="VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="encoder" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoencoder.c"
+ line="2881">a #GstVideoEncoder</doc>
+ <type name="VideoEncoder" c:type="GstVideoEncoder*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_output_state"
+ c:identifier="gst_video_encoder_get_output_state">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoencoder.c"
+ line="2753">Get the current #GstVideoCodecState</doc>
+ <source-position filename="gst-libs/gst/video/gstvideoencoder.h"
+ line="306"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoencoder.c"
+ line="2759">#GstVideoCodecState describing format of video data.</doc>
+ <type name="VideoCodecState" c:type="GstVideoCodecState*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="encoder" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoencoder.c"
+ line="2755">a #GstVideoEncoder</doc>
+ <type name="VideoEncoder" c:type="GstVideoEncoder*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="is_qos_enabled"
+ c:identifier="gst_video_encoder_is_qos_enabled"
+ version="1.14">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoencoder.c"
+ line="3103">Checks if @encoder is currently configured to handle Quality-of-Service
+events from downstream.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideoencoder.h"
+ line="379"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoencoder.c"
+ line="3110">%TRUE if the encoder is configured to perform Quality-of-Service.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="encoder" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoencoder.c"
+ line="3105">the encoder</doc>
+ <type name="VideoEncoder" c:type="GstVideoEncoder*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="merge_tags" c:identifier="gst_video_encoder_merge_tags">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoencoder.c"
+ line="2953">Sets the video encoder tags and how they should be merged with any
+upstream stream tags. This will override any tags previously-set
+with gst_video_encoder_merge_tags().
+
+Note that this is provided for convenience, and the subclass is
+not required to use this and can still do tag handling on its own.
+
+MT safe.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideoencoder.h"
+ line="363"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="encoder" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoencoder.c"
+ line="2955">a #GstVideoEncoder</doc>
+ <type name="VideoEncoder" c:type="GstVideoEncoder*"/>
+ </instance-parameter>
+ <parameter name="tags"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoencoder.c"
+ line="2956">a #GstTagList to merge, or NULL to unset
+ previously-set tags</doc>
+ <type name="Gst.TagList" c:type="const GstTagList*"/>
+ </parameter>
+ <parameter name="mode" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoencoder.c"
+ line="2958">the #GstTagMergeMode to use, usually #GST_TAG_MERGE_REPLACE</doc>
+ <type name="Gst.TagMergeMode" c:type="GstTagMergeMode"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="negotiate" c:identifier="gst_video_encoder_negotiate">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoencoder.c"
+ line="1992">Negotiate with downstream elements to currently configured #GstVideoCodecState.
+Unmark GST_PAD_FLAG_NEED_RECONFIGURE in any case. But mark it again if
+negotiate fails.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideoencoder.h"
+ line="314"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoencoder.c"
+ line="2000">%TRUE if the negotiation succeeded, else %FALSE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="encoder" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoencoder.c"
+ line="1994">a #GstVideoEncoder</doc>
+ <type name="VideoEncoder" c:type="GstVideoEncoder*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="proxy_getcaps"
+ c:identifier="gst_video_encoder_proxy_getcaps">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoencoder.c"
+ line="775">Returns caps that express @caps (or sink template caps if @caps == NULL)
+restricted to resolution/format/... combinations supported by downstream
+elements (e.g. muxers).</doc>
+ <source-position filename="gst-libs/gst/video/gstvideoencoder.h"
+ line="344"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoencoder.c"
+ line="785">a #GstCaps owned by caller</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="enc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoencoder.c"
+ line="777">a #GstVideoEncoder</doc>
+ <type name="VideoEncoder" c:type="GstVideoEncoder*"/>
+ </instance-parameter>
+ <parameter name="caps"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoencoder.c"
+ line="778">initial caps</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ <parameter name="filter"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoencoder.c"
+ line="779">filter caps</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_headers" c:identifier="gst_video_encoder_set_headers">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoencoder.c"
+ line="615">Set the codec headers to be sent downstream whenever requested.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideoencoder.h"
+ line="359"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="encoder" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoencoder.c"
+ line="617">a #GstVideoEncoder</doc>
+ <type name="VideoEncoder" c:type="GstVideoEncoder*"/>
+ </instance-parameter>
+ <parameter name="headers" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoencoder.c"
+ line="618">a list of #GstBuffer containing the codec header</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="Gst.Buffer"/>
+ </type>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_latency" c:identifier="gst_video_encoder_set_latency">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoencoder.c"
+ line="2832">Informs baseclass of encoding latency.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideoencoder.h"
+ line="349"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="encoder" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoencoder.c"
+ line="2834">a #GstVideoEncoder</doc>
+ <type name="VideoEncoder" c:type="GstVideoEncoder*"/>
+ </instance-parameter>
+ <parameter name="min_latency" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoencoder.c"
+ line="2835">minimum latency</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="max_latency" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoencoder.c"
+ line="2836">maximum latency</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_min_force_key_unit_interval"
+ c:identifier="gst_video_encoder_set_min_force_key_unit_interval"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoencoder.c"
+ line="3125">Sets the minimum interval for requesting keyframes based on force-keyunit
+events. Setting this to 0 will allow to handle every event, setting this to
+%GST_CLOCK_TIME_NONE causes force-keyunit events to be ignored.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideoencoder.h"
+ line="385"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="encoder" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoencoder.c"
+ line="3127">the encoder</doc>
+ <type name="VideoEncoder" c:type="GstVideoEncoder*"/>
+ </instance-parameter>
+ <parameter name="interval" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoencoder.c"
+ line="3128">minimum interval</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_min_pts"
+ c:identifier="gst_video_encoder_set_min_pts"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoencoder.c"
+ line="3023">Request minimal value for PTS passed to handle_frame.
+
+For streams with reordered frames this can be used to ensure that there
+is enough time to accommodate first DTS, which may be less than first PTS</doc>
+ <source-position filename="gst-libs/gst/video/gstvideoencoder.h"
+ line="373"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="encoder" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoencoder.c"
+ line="3025">a #GstVideoEncoder</doc>
+ <type name="VideoEncoder" c:type="GstVideoEncoder*"/>
+ </instance-parameter>
+ <parameter name="min_pts" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoencoder.c"
+ line="3026">minimal PTS that will be passed to handle_frame</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_output_state"
+ c:identifier="gst_video_encoder_set_output_state">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoencoder.c"
+ line="2773">Creates a new #GstVideoCodecState with the specified caps as the output state
+for the encoder.
+Any previously set output state on @encoder will be replaced by the newly
+created one.
+
+The specified @caps should not contain any resolution, pixel-aspect-ratio,
+framerate, codec-data, .... Those should be specified instead in the returned
+#GstVideoCodecState.
+
+If the subclass wishes to copy over existing fields (like pixel aspect ratio,
+or framerate) from an existing #GstVideoCodecState, it can be provided as a
+@reference.
+
+If the subclass wishes to override some fields from the output state (like
+pixel-aspect-ratio or framerate) it can do so on the returned #GstVideoCodecState.
+
+The new output state will only take effect (set on pads and buffers) starting
+from the next call to #gst_video_encoder_finish_frame().</doc>
+ <source-position filename="gst-libs/gst/video/gstvideoencoder.h"
+ line="309"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoencoder.c"
+ line="2798">the newly configured output state.</doc>
+ <type name="VideoCodecState" c:type="GstVideoCodecState*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="encoder" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoencoder.c"
+ line="2775">a #GstVideoEncoder</doc>
+ <type name="VideoEncoder" c:type="GstVideoEncoder*"/>
+ </instance-parameter>
+ <parameter name="caps" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoencoder.c"
+ line="2776">the #GstCaps to use for the output</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ <parameter name="reference"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoencoder.c"
+ line="2777">An optional reference @GstVideoCodecState</doc>
+ <type name="VideoCodecState" c:type="GstVideoCodecState*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_qos_enabled"
+ c:identifier="gst_video_encoder_set_qos_enabled"
+ version="1.14">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoencoder.c"
+ line="3087">Configures @encoder to handle Quality-of-Service events from downstream.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideoencoder.h"
+ line="376"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="encoder" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoencoder.c"
+ line="3089">the encoder</doc>
+ <type name="VideoEncoder" c:type="GstVideoEncoder*"/>
+ </instance-parameter>
+ <parameter name="enabled" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoencoder.c"
+ line="3090">the new qos value.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="min-force-key-unit-interval"
+ version="1.18"
+ writable="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoencoder.c"
+ line="410">Minimum interval between force-keyunit requests in nanoseconds. See
+gst_video_encoder_set_min_force_key_unit_interval() for more details.</doc>
+ <type name="guint64" c:type="guint64"/>
+ </property>
+ <property name="qos" writable="1" transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </property>
+ <field name="element" readable="0" private="1">
+ <type name="Gst.Element" c:type="GstElement"/>
+ </field>
+ <field name="sinkpad" readable="0" private="1">
+ <type name="Gst.Pad" c:type="GstPad*"/>
+ </field>
+ <field name="srcpad" readable="0" private="1">
+ <type name="Gst.Pad" c:type="GstPad*"/>
+ </field>
+ <field name="stream_lock" readable="0" private="1">
+ <type name="GLib.RecMutex" c:type="GRecMutex"/>
+ </field>
+ <field name="input_segment" readable="0" private="1">
+ <type name="Gst.Segment" c:type="GstSegment"/>
+ </field>
+ <field name="output_segment" readable="0" private="1">
+ <type name="Gst.Segment" c:type="GstSegment"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="VideoEncoderPrivate" c:type="GstVideoEncoderPrivate*"/>
+ </field>
+ <field name="padding" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="20">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="VideoEncoderClass"
+ c:type="GstVideoEncoderClass"
+ glib:is-gtype-struct-for="VideoEncoder">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoencoder.h"
+ line="159">Subclasses can override any of the available virtual methods or not, as
+needed. At minimum @handle_frame needs to be overridden, and @set_format
+and @get_caps are likely needed as well.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideoencoder.h"
+ line="300"/>
+ <field name="element_class" readable="0" private="1">
+ <type name="Gst.ElementClass" c:type="GstElementClass"/>
+ </field>
+ <field name="open">
+ <callback name="open">
+ <source-position filename="gst-libs/gst/video/gstvideoencoder.h"
+ line="249"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="encoder" transfer-ownership="none">
+ <type name="VideoEncoder" c:type="GstVideoEncoder*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="close">
+ <callback name="close">
+ <source-position filename="gst-libs/gst/video/gstvideoencoder.h"
+ line="251"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="encoder" transfer-ownership="none">
+ <type name="VideoEncoder" c:type="GstVideoEncoder*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="start">
+ <callback name="start">
+ <source-position filename="gst-libs/gst/video/gstvideoencoder.h"
+ line="253"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="encoder" transfer-ownership="none">
+ <type name="VideoEncoder" c:type="GstVideoEncoder*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="stop">
+ <callback name="stop">
+ <source-position filename="gst-libs/gst/video/gstvideoencoder.h"
+ line="255"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="encoder" transfer-ownership="none">
+ <type name="VideoEncoder" c:type="GstVideoEncoder*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="set_format">
+ <callback name="set_format">
+ <source-position filename="gst-libs/gst/video/gstvideoencoder.h"
+ line="257"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="encoder" transfer-ownership="none">
+ <type name="VideoEncoder" c:type="GstVideoEncoder*"/>
+ </parameter>
+ <parameter name="state" transfer-ownership="none">
+ <type name="VideoCodecState" c:type="GstVideoCodecState*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="handle_frame">
+ <callback name="handle_frame">
+ <source-position filename="gst-libs/gst/video/gstvideoencoder.h"
+ line="260"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="encoder" transfer-ownership="none">
+ <type name="VideoEncoder" c:type="GstVideoEncoder*"/>
+ </parameter>
+ <parameter name="frame" transfer-ownership="none">
+ <type name="VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="reset">
+ <callback name="reset">
+ <source-position filename="gst-libs/gst/video/gstvideoencoder.h"
+ line="263"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="encoder" transfer-ownership="none">
+ <type name="VideoEncoder" c:type="GstVideoEncoder*"/>
+ </parameter>
+ <parameter name="hard" transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="finish">
+ <callback name="finish">
+ <source-position filename="gst-libs/gst/video/gstvideoencoder.h"
+ line="266"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="encoder" transfer-ownership="none">
+ <type name="VideoEncoder" c:type="GstVideoEncoder*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="pre_push">
+ <callback name="pre_push">
+ <source-position filename="gst-libs/gst/video/gstvideoencoder.h"
+ line="268"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="encoder" transfer-ownership="none">
+ <type name="VideoEncoder" c:type="GstVideoEncoder*"/>
+ </parameter>
+ <parameter name="frame" transfer-ownership="none">
+ <type name="VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="getcaps">
+ <callback name="getcaps">
+ <source-position filename="gst-libs/gst/video/gstvideoencoder.h"
+ line="271"/>
+ <return-value transfer-ownership="full">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <parameter name="enc" transfer-ownership="none">
+ <type name="VideoEncoder" c:type="GstVideoEncoder*"/>
+ </parameter>
+ <parameter name="filter" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="sink_event">
+ <callback name="sink_event">
+ <source-position filename="gst-libs/gst/video/gstvideoencoder.h"
+ line="274"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="encoder" transfer-ownership="none">
+ <type name="VideoEncoder" c:type="GstVideoEncoder*"/>
+ </parameter>
+ <parameter name="event" transfer-ownership="none">
+ <type name="Gst.Event" c:type="GstEvent*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="src_event">
+ <callback name="src_event">
+ <source-position filename="gst-libs/gst/video/gstvideoencoder.h"
+ line="277"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="encoder" transfer-ownership="none">
+ <type name="VideoEncoder" c:type="GstVideoEncoder*"/>
+ </parameter>
+ <parameter name="event" transfer-ownership="none">
+ <type name="Gst.Event" c:type="GstEvent*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="negotiate">
+ <callback name="negotiate">
+ <source-position filename="gst-libs/gst/video/gstvideoencoder.h"
+ line="280"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoencoder.c"
+ line="2000">%TRUE if the negotiation succeeded, else %FALSE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="encoder" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoencoder.c"
+ line="1994">a #GstVideoEncoder</doc>
+ <type name="VideoEncoder" c:type="GstVideoEncoder*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="decide_allocation">
+ <callback name="decide_allocation">
+ <source-position filename="gst-libs/gst/video/gstvideoencoder.h"
+ line="282"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="encoder" transfer-ownership="none">
+ <type name="VideoEncoder" c:type="GstVideoEncoder*"/>
+ </parameter>
+ <parameter name="query" transfer-ownership="none">
+ <type name="Gst.Query" c:type="GstQuery*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="propose_allocation">
+ <callback name="propose_allocation">
+ <source-position filename="gst-libs/gst/video/gstvideoencoder.h"
+ line="284"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="encoder" transfer-ownership="none">
+ <type name="VideoEncoder" c:type="GstVideoEncoder*"/>
+ </parameter>
+ <parameter name="query" transfer-ownership="none">
+ <type name="Gst.Query" c:type="GstQuery*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="flush">
+ <callback name="flush">
+ <source-position filename="gst-libs/gst/video/gstvideoencoder.h"
+ line="286"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="encoder" transfer-ownership="none">
+ <type name="VideoEncoder" c:type="GstVideoEncoder*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="sink_query">
+ <callback name="sink_query">
+ <source-position filename="gst-libs/gst/video/gstvideoencoder.h"
+ line="288"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="encoder" transfer-ownership="none">
+ <type name="VideoEncoder" c:type="GstVideoEncoder*"/>
+ </parameter>
+ <parameter name="query" transfer-ownership="none">
+ <type name="Gst.Query" c:type="GstQuery*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="src_query">
+ <callback name="src_query">
+ <source-position filename="gst-libs/gst/video/gstvideoencoder.h"
+ line="291"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="encoder" transfer-ownership="none">
+ <type name="VideoEncoder" c:type="GstVideoEncoder*"/>
+ </parameter>
+ <parameter name="query" transfer-ownership="none">
+ <type name="Gst.Query" c:type="GstQuery*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="transform_meta">
+ <callback name="transform_meta">
+ <source-position filename="gst-libs/gst/video/gstvideoencoder.h"
+ line="294"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="encoder" transfer-ownership="none">
+ <type name="VideoEncoder" c:type="GstVideoEncoder*"/>
+ </parameter>
+ <parameter name="frame" transfer-ownership="none">
+ <type name="VideoCodecFrame" c:type="GstVideoCodecFrame*"/>
+ </parameter>
+ <parameter name="meta" transfer-ownership="none">
+ <type name="Gst.Meta" c:type="GstMeta*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="16">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="VideoEncoderPrivate"
+ c:type="GstVideoEncoderPrivate"
+ disguised="1">
+ <source-position filename="gst-libs/gst/video/gstvideoencoder.h"
+ line="127"/>
+ </record>
+ <enumeration name="VideoFieldOrder"
+ version="1.12"
+ glib:type-name="GstVideoFieldOrder"
+ glib:get-type="gst_video_field_order_get_type"
+ c:type="GstVideoFieldOrder">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.h"
+ line="260">Field order of interlaced content. This is only valid for
+interlace-mode=interleaved and not interlace-mode=mixed. In the case of
+mixed or GST_VIDEO_FIELD_ORDER_UNKOWN, the field order is signalled via
+buffer flags.</doc>
+ <member name="unknown"
+ value="0"
+ c:identifier="GST_VIDEO_FIELD_ORDER_UNKNOWN"
+ glib:nick="unknown">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.h"
+ line="262">unknown field order for interlaced content.
+ The actual field order is signalled via buffer flags.</doc>
+ </member>
+ <member name="top_field_first"
+ value="1"
+ c:identifier="GST_VIDEO_FIELD_ORDER_TOP_FIELD_FIRST"
+ glib:nick="top-field-first">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.h"
+ line="264">top field is first</doc>
+ </member>
+ <member name="bottom_field_first"
+ value="2"
+ c:identifier="GST_VIDEO_FIELD_ORDER_BOTTOM_FIELD_FIRST"
+ glib:nick="bottom-field-first">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.h"
+ line="265">bottom field is first</doc>
+ </member>
+ <function name="from_string"
+ c:identifier="gst_video_field_order_from_string"
+ version="1.12">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.c"
+ line="363">Convert @order to a #GstVideoFieldOrder</doc>
+ <source-position filename="gst-libs/gst/video/video-info.h"
+ line="284"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.c"
+ line="369">the #GstVideoFieldOrder of @order or
+ #GST_VIDEO_FIELD_ORDER_UNKNOWN when @order is not a valid
+ string representation for a #GstVideoFieldOrder.</doc>
+ <type name="VideoFieldOrder" c:type="GstVideoFieldOrder"/>
+ </return-value>
+ <parameters>
+ <parameter name="order" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.c"
+ line="365">a field order</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="to_string"
+ c:identifier="gst_video_field_order_to_string"
+ version="1.12">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.c"
+ line="344">Convert @order to its string representation.</doc>
+ <source-position filename="gst-libs/gst/video/video-info.h"
+ line="281"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.c"
+ line="350">@order as a string or NULL if @order in invalid.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="order" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.c"
+ line="346">a #GstVideoFieldOrder</doc>
+ <type name="VideoFieldOrder" c:type="GstVideoFieldOrder"/>
+ </parameter>
+ </parameters>
+ </function>
+ </enumeration>
+ <class name="VideoFilter"
+ c:symbol-prefix="video_filter"
+ c:type="GstVideoFilter"
+ parent="GstBase.BaseTransform"
+ abstract="1"
+ glib:type-name="GstVideoFilter"
+ glib:get-type="gst_video_filter_get_type"
+ glib:type-struct="VideoFilterClass">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideofilter.c"
+ line="21">Provides useful functions and a base class for video filters.
+
+The videofilter will by default enable QoS on the parent GstBaseTransform
+to implement frame dropping.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideofilter.h"
+ line="80"/>
+ <virtual-method name="set_info">
+ <source-position filename="gst-libs/gst/video/gstvideofilter.h"
+ line="69"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="filter" transfer-ownership="none">
+ <type name="VideoFilter" c:type="GstVideoFilter*"/>
+ </instance-parameter>
+ <parameter name="incaps" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ <parameter name="in_info" transfer-ownership="none">
+ <type name="VideoInfo" c:type="GstVideoInfo*"/>
+ </parameter>
+ <parameter name="outcaps" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ <parameter name="out_info" transfer-ownership="none">
+ <type name="VideoInfo" c:type="GstVideoInfo*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="transform_frame">
+ <source-position filename="gst-libs/gst/video/gstvideofilter.h"
+ line="74"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="filter" transfer-ownership="none">
+ <type name="VideoFilter" c:type="GstVideoFilter*"/>
+ </instance-parameter>
+ <parameter name="inframe" transfer-ownership="none">
+ <type name="VideoFrame" c:type="GstVideoFrame*"/>
+ </parameter>
+ <parameter name="outframe" transfer-ownership="none">
+ <type name="VideoFrame" c:type="GstVideoFrame*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="transform_frame_ip">
+ <source-position filename="gst-libs/gst/video/gstvideofilter.h"
+ line="76"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="trans" transfer-ownership="none">
+ <type name="VideoFilter" c:type="GstVideoFilter*"/>
+ </instance-parameter>
+ <parameter name="frame" transfer-ownership="none">
+ <type name="VideoFrame" c:type="GstVideoFrame*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <field name="element">
+ <type name="GstBase.BaseTransform" c:type="GstBaseTransform"/>
+ </field>
+ <field name="negotiated">
+ <type name="gboolean" c:type="gboolean"/>
+ </field>
+ <field name="in_info">
+ <type name="VideoInfo" c:type="GstVideoInfo"/>
+ </field>
+ <field name="out_info">
+ <type name="VideoInfo" c:type="GstVideoInfo"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="VideoFilterClass"
+ c:type="GstVideoFilterClass"
+ glib:is-gtype-struct-for="VideoFilter">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideofilter.h"
+ line="57">The video filter class structure.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideofilter.h"
+ line="80"/>
+ <field name="parent_class">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideofilter.h"
+ line="59">the parent class structure</doc>
+ <type name="GstBase.BaseTransformClass"
+ c:type="GstBaseTransformClass"/>
+ </field>
+ <field name="set_info">
+ <callback name="set_info">
+ <source-position filename="gst-libs/gst/video/gstvideofilter.h"
+ line="69"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="filter" transfer-ownership="none">
+ <type name="VideoFilter" c:type="GstVideoFilter*"/>
+ </parameter>
+ <parameter name="incaps" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ <parameter name="in_info" transfer-ownership="none">
+ <type name="VideoInfo" c:type="GstVideoInfo*"/>
+ </parameter>
+ <parameter name="outcaps" transfer-ownership="none">
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ <parameter name="out_info" transfer-ownership="none">
+ <type name="VideoInfo" c:type="GstVideoInfo*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="transform_frame">
+ <callback name="transform_frame">
+ <source-position filename="gst-libs/gst/video/gstvideofilter.h"
+ line="74"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="filter" transfer-ownership="none">
+ <type name="VideoFilter" c:type="GstVideoFilter*"/>
+ </parameter>
+ <parameter name="inframe" transfer-ownership="none">
+ <type name="VideoFrame" c:type="GstVideoFrame*"/>
+ </parameter>
+ <parameter name="outframe" transfer-ownership="none">
+ <type name="VideoFrame" c:type="GstVideoFrame*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="transform_frame_ip">
+ <callback name="transform_frame_ip">
+ <source-position filename="gst-libs/gst/video/gstvideofilter.h"
+ line="76"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="trans" transfer-ownership="none">
+ <type name="VideoFilter" c:type="GstVideoFilter*"/>
+ </parameter>
+ <parameter name="frame" transfer-ownership="none">
+ <type name="VideoFrame" c:type="GstVideoFrame*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <bitfield name="VideoFlags"
+ glib:type-name="GstVideoFlags"
+ glib:get-type="gst_video_flags_get_type"
+ c:type="GstVideoFlags">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.h"
+ line="244">Extra video flags</doc>
+ <member name="none"
+ value="0"
+ c:identifier="GST_VIDEO_FLAG_NONE"
+ glib:nick="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.h"
+ line="246">no flags</doc>
+ </member>
+ <member name="variable_fps"
+ value="1"
+ c:identifier="GST_VIDEO_FLAG_VARIABLE_FPS"
+ glib:nick="variable-fps">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.h"
+ line="247">a variable fps is selected, fps_n and fps_d
+ denote the maximum fps of the video</doc>
+ </member>
+ <member name="premultiplied_alpha"
+ value="2"
+ c:identifier="GST_VIDEO_FLAG_PREMULTIPLIED_ALPHA"
+ glib:nick="premultiplied-alpha">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.h"
+ line="249">Each color has been scaled by the alpha
+ value.</doc>
+ </member>
+ </bitfield>
+ <enumeration name="VideoFormat"
+ glib:type-name="GstVideoFormat"
+ glib:get-type="gst_video_format_get_type"
+ c:type="GstVideoFormat">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="30">Enum value describing the most common video formats.
+
+See the [GStreamer raw video format design document](https://gstreamer.freedesktop.org/documentation/additional/design/mediatype-video-raw.html#formats)
+for details about the layout and packing of these formats in memory.</doc>
+ <member name="unknown"
+ value="0"
+ c:identifier="GST_VIDEO_FORMAT_UNKNOWN"
+ glib:nick="unknown">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="32">Unknown or unset video format id</doc>
+ </member>
+ <member name="encoded"
+ value="1"
+ c:identifier="GST_VIDEO_FORMAT_ENCODED"
+ glib:nick="encoded">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="33">Encoded video format. Only ever use that in caps for
+ special video formats in combination with non-system
+ memory GstCapsFeatures where it does not make sense
+ to specify a real video format.</doc>
+ </member>
+ <member name="i420"
+ value="2"
+ c:identifier="GST_VIDEO_FORMAT_I420"
+ glib:nick="i420">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="37">planar 4:2:0 YUV</doc>
+ </member>
+ <member name="yv12"
+ value="3"
+ c:identifier="GST_VIDEO_FORMAT_YV12"
+ glib:nick="yv12">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="38">planar 4:2:0 YVU (like I420 but UV planes swapped)</doc>
+ </member>
+ <member name="yuy2"
+ value="4"
+ c:identifier="GST_VIDEO_FORMAT_YUY2"
+ glib:nick="yuy2">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="39">packed 4:2:2 YUV (Y0-U0-Y1-V0 Y2-U2-Y3-V2 Y4 ...)</doc>
+ </member>
+ <member name="uyvy"
+ value="5"
+ c:identifier="GST_VIDEO_FORMAT_UYVY"
+ glib:nick="uyvy">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="40">packed 4:2:2 YUV (U0-Y0-V0-Y1 U2-Y2-V2-Y3 U4 ...)</doc>
+ </member>
+ <member name="ayuv"
+ value="6"
+ c:identifier="GST_VIDEO_FORMAT_AYUV"
+ glib:nick="ayuv">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="42">packed 4:4:4 YUV with alpha channel (A0-Y0-U0-V0 ...)</doc>
+ </member>
+ <member name="rgbx"
+ value="7"
+ c:identifier="GST_VIDEO_FORMAT_RGBx"
+ glib:nick="rgbx">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="43">sparse rgb packed into 32 bit, space last</doc>
+ </member>
+ <member name="bgrx"
+ value="8"
+ c:identifier="GST_VIDEO_FORMAT_BGRx"
+ glib:nick="bgrx">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="44">sparse reverse rgb packed into 32 bit, space last</doc>
+ </member>
+ <member name="xrgb"
+ value="9"
+ c:identifier="GST_VIDEO_FORMAT_xRGB"
+ glib:nick="xrgb">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="45">sparse rgb packed into 32 bit, space first</doc>
+ </member>
+ <member name="xbgr"
+ value="10"
+ c:identifier="GST_VIDEO_FORMAT_xBGR"
+ glib:nick="xbgr">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="46">sparse reverse rgb packed into 32 bit, space first</doc>
+ </member>
+ <member name="rgba"
+ value="11"
+ c:identifier="GST_VIDEO_FORMAT_RGBA"
+ glib:nick="rgba">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="47">rgb with alpha channel last</doc>
+ </member>
+ <member name="bgra"
+ value="12"
+ c:identifier="GST_VIDEO_FORMAT_BGRA"
+ glib:nick="bgra">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="48">reverse rgb with alpha channel last</doc>
+ </member>
+ <member name="argb"
+ value="13"
+ c:identifier="GST_VIDEO_FORMAT_ARGB"
+ glib:nick="argb">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="49">rgb with alpha channel first</doc>
+ </member>
+ <member name="abgr"
+ value="14"
+ c:identifier="GST_VIDEO_FORMAT_ABGR"
+ glib:nick="abgr">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="50">reverse rgb with alpha channel first</doc>
+ </member>
+ <member name="rgb"
+ value="15"
+ c:identifier="GST_VIDEO_FORMAT_RGB"
+ glib:nick="rgb">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="51">RGB packed into 24 bits without padding (`R-G-B-R-G-B`)</doc>
+ </member>
+ <member name="bgr"
+ value="16"
+ c:identifier="GST_VIDEO_FORMAT_BGR"
+ glib:nick="bgr">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="52">reverse RGB packed into 24 bits without padding (`B-G-R-B-G-R`)</doc>
+ </member>
+ <member name="y41b"
+ value="17"
+ c:identifier="GST_VIDEO_FORMAT_Y41B"
+ glib:nick="y41b">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="53">planar 4:1:1 YUV</doc>
+ </member>
+ <member name="y42b"
+ value="18"
+ c:identifier="GST_VIDEO_FORMAT_Y42B"
+ glib:nick="y42b">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="54">planar 4:2:2 YUV</doc>
+ </member>
+ <member name="yvyu"
+ value="19"
+ c:identifier="GST_VIDEO_FORMAT_YVYU"
+ glib:nick="yvyu">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="55">packed 4:2:2 YUV (Y0-V0-Y1-U0 Y2-V2-Y3-U2 Y4 ...)</doc>
+ </member>
+ <member name="y444"
+ value="20"
+ c:identifier="GST_VIDEO_FORMAT_Y444"
+ glib:nick="y444">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="56">planar 4:4:4 YUV</doc>
+ </member>
+ <member name="v210"
+ value="21"
+ c:identifier="GST_VIDEO_FORMAT_v210"
+ glib:nick="v210">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="57">packed 4:2:2 10-bit YUV, complex format</doc>
+ </member>
+ <member name="v216"
+ value="22"
+ c:identifier="GST_VIDEO_FORMAT_v216"
+ glib:nick="v216">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="58">packed 4:2:2 16-bit YUV, Y0-U0-Y1-V1 order</doc>
+ </member>
+ <member name="nv12"
+ value="23"
+ c:identifier="GST_VIDEO_FORMAT_NV12"
+ glib:nick="nv12">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="59">planar 4:2:0 YUV with interleaved UV plane</doc>
+ </member>
+ <member name="nv21"
+ value="24"
+ c:identifier="GST_VIDEO_FORMAT_NV21"
+ glib:nick="nv21">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="60">planar 4:2:0 YUV with interleaved VU plane</doc>
+ </member>
+ <member name="gray8"
+ value="25"
+ c:identifier="GST_VIDEO_FORMAT_GRAY8"
+ glib:nick="gray8">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="62">8-bit grayscale</doc>
+ </member>
+ <member name="gray16_be"
+ value="26"
+ c:identifier="GST_VIDEO_FORMAT_GRAY16_BE"
+ glib:nick="gray16-be">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="64">16-bit grayscale, most significant byte first</doc>
+ </member>
+ <member name="gray16_le"
+ value="27"
+ c:identifier="GST_VIDEO_FORMAT_GRAY16_LE"
+ glib:nick="gray16-le">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="65">16-bit grayscale, least significant byte first</doc>
+ </member>
+ <member name="v308"
+ value="28"
+ c:identifier="GST_VIDEO_FORMAT_v308"
+ glib:nick="v308">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="66">packed 4:4:4 YUV (Y-U-V ...)</doc>
+ </member>
+ <member name="rgb16"
+ value="29"
+ c:identifier="GST_VIDEO_FORMAT_RGB16"
+ glib:nick="rgb16">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="68">rgb 5-6-5 bits per component</doc>
+ </member>
+ <member name="bgr16"
+ value="30"
+ c:identifier="GST_VIDEO_FORMAT_BGR16"
+ glib:nick="bgr16">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="69">reverse rgb 5-6-5 bits per component</doc>
+ </member>
+ <member name="rgb15"
+ value="31"
+ c:identifier="GST_VIDEO_FORMAT_RGB15"
+ glib:nick="rgb15">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="70">rgb 5-5-5 bits per component</doc>
+ </member>
+ <member name="bgr15"
+ value="32"
+ c:identifier="GST_VIDEO_FORMAT_BGR15"
+ glib:nick="bgr15">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="71">reverse rgb 5-5-5 bits per component</doc>
+ </member>
+ <member name="uyvp"
+ value="33"
+ c:identifier="GST_VIDEO_FORMAT_UYVP"
+ glib:nick="uyvp">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="72">packed 10-bit 4:2:2 YUV (U0-Y0-V0-Y1 U2-Y2-V2-Y3 U4 ...)</doc>
+ </member>
+ <member name="a420"
+ value="34"
+ c:identifier="GST_VIDEO_FORMAT_A420"
+ glib:nick="a420">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="73">planar 4:4:2:0 AYUV</doc>
+ </member>
+ <member name="rgb8p"
+ value="35"
+ c:identifier="GST_VIDEO_FORMAT_RGB8P"
+ glib:nick="rgb8p">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="74">8-bit paletted RGB</doc>
+ </member>
+ <member name="yuv9"
+ value="36"
+ c:identifier="GST_VIDEO_FORMAT_YUV9"
+ glib:nick="yuv9">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="75">planar 4:1:0 YUV</doc>
+ </member>
+ <member name="yvu9"
+ value="37"
+ c:identifier="GST_VIDEO_FORMAT_YVU9"
+ glib:nick="yvu9">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="76">planar 4:1:0 YUV (like YUV9 but UV planes swapped)</doc>
+ </member>
+ <member name="iyu1"
+ value="38"
+ c:identifier="GST_VIDEO_FORMAT_IYU1"
+ glib:nick="iyu1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="77">packed 4:1:1 YUV (Cb-Y0-Y1-Cr-Y2-Y3 ...)</doc>
+ </member>
+ <member name="argb64"
+ value="39"
+ c:identifier="GST_VIDEO_FORMAT_ARGB64"
+ glib:nick="argb64">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="78">rgb with alpha channel first, 16 bits per channel</doc>
+ </member>
+ <member name="ayuv64"
+ value="40"
+ c:identifier="GST_VIDEO_FORMAT_AYUV64"
+ glib:nick="ayuv64">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="79">packed 4:4:4 YUV with alpha channel, 16 bits per channel (A0-Y0-U0-V0 ...)</doc>
+ </member>
+ <member name="r210"
+ value="41"
+ c:identifier="GST_VIDEO_FORMAT_r210"
+ glib:nick="r210">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="80">packed 4:4:4 RGB, 10 bits per channel</doc>
+ </member>
+ <member name="i420_10be"
+ value="42"
+ c:identifier="GST_VIDEO_FORMAT_I420_10BE"
+ glib:nick="i420-10be">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="81">planar 4:2:0 YUV, 10 bits per channel</doc>
+ </member>
+ <member name="i420_10le"
+ value="43"
+ c:identifier="GST_VIDEO_FORMAT_I420_10LE"
+ glib:nick="i420-10le">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="82">planar 4:2:0 YUV, 10 bits per channel</doc>
+ </member>
+ <member name="i422_10be"
+ value="44"
+ c:identifier="GST_VIDEO_FORMAT_I422_10BE"
+ glib:nick="i422-10be">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="83">planar 4:2:2 YUV, 10 bits per channel</doc>
+ </member>
+ <member name="i422_10le"
+ value="45"
+ c:identifier="GST_VIDEO_FORMAT_I422_10LE"
+ glib:nick="i422-10le">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="84">planar 4:2:2 YUV, 10 bits per channel</doc>
+ </member>
+ <member name="y444_10be"
+ value="46"
+ c:identifier="GST_VIDEO_FORMAT_Y444_10BE"
+ glib:nick="y444-10be">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="85">planar 4:4:4 YUV, 10 bits per channel (Since: 1.2)</doc>
+ </member>
+ <member name="y444_10le"
+ value="47"
+ c:identifier="GST_VIDEO_FORMAT_Y444_10LE"
+ glib:nick="y444-10le">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="86">planar 4:4:4 YUV, 10 bits per channel (Since: 1.2)</doc>
+ </member>
+ <member name="gbr"
+ value="48"
+ c:identifier="GST_VIDEO_FORMAT_GBR"
+ glib:nick="gbr">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="87">planar 4:4:4 RGB, 8 bits per channel (Since: 1.2)</doc>
+ </member>
+ <member name="gbr_10be"
+ value="49"
+ c:identifier="GST_VIDEO_FORMAT_GBR_10BE"
+ glib:nick="gbr-10be">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="88">planar 4:4:4 RGB, 10 bits per channel (Since: 1.2)</doc>
+ </member>
+ <member name="gbr_10le"
+ value="50"
+ c:identifier="GST_VIDEO_FORMAT_GBR_10LE"
+ glib:nick="gbr-10le">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="89">planar 4:4:4 RGB, 10 bits per channel (Since: 1.2)</doc>
+ </member>
+ <member name="nv16"
+ value="51"
+ c:identifier="GST_VIDEO_FORMAT_NV16"
+ glib:nick="nv16">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="90">planar 4:2:2 YUV with interleaved UV plane (Since: 1.2)</doc>
+ </member>
+ <member name="nv24"
+ value="52"
+ c:identifier="GST_VIDEO_FORMAT_NV24"
+ glib:nick="nv24">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="92">planar 4:4:4 YUV with interleaved UV plane (Since: 1.2)</doc>
+ </member>
+ <member name="nv12_64z32"
+ value="53"
+ c:identifier="GST_VIDEO_FORMAT_NV12_64Z32"
+ glib:nick="nv12-64z32">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="93">NV12 with 64x32 tiling in zigzag pattern (Since: 1.4)</doc>
+ </member>
+ <member name="a420_10be"
+ value="54"
+ c:identifier="GST_VIDEO_FORMAT_A420_10BE"
+ glib:nick="a420-10be">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="94">planar 4:4:2:0 YUV, 10 bits per channel (Since: 1.6)</doc>
+ </member>
+ <member name="a420_10le"
+ value="55"
+ c:identifier="GST_VIDEO_FORMAT_A420_10LE"
+ glib:nick="a420-10le">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="95">planar 4:4:2:0 YUV, 10 bits per channel (Since: 1.6)</doc>
+ </member>
+ <member name="a422_10be"
+ value="56"
+ c:identifier="GST_VIDEO_FORMAT_A422_10BE"
+ glib:nick="a422-10be">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="96">planar 4:4:2:2 YUV, 10 bits per channel (Since: 1.6)</doc>
+ </member>
+ <member name="a422_10le"
+ value="57"
+ c:identifier="GST_VIDEO_FORMAT_A422_10LE"
+ glib:nick="a422-10le">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="97">planar 4:4:2:2 YUV, 10 bits per channel (Since: 1.6)</doc>
+ </member>
+ <member name="a444_10be"
+ value="58"
+ c:identifier="GST_VIDEO_FORMAT_A444_10BE"
+ glib:nick="a444-10be">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="98">planar 4:4:4:4 YUV, 10 bits per channel (Since: 1.6)</doc>
+ </member>
+ <member name="a444_10le"
+ value="59"
+ c:identifier="GST_VIDEO_FORMAT_A444_10LE"
+ glib:nick="a444-10le">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="99">planar 4:4:4:4 YUV, 10 bits per channel (Since: 1.6)</doc>
+ </member>
+ <member name="nv61"
+ value="60"
+ c:identifier="GST_VIDEO_FORMAT_NV61"
+ glib:nick="nv61">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="100">planar 4:2:2 YUV with interleaved VU plane (Since: 1.6)</doc>
+ </member>
+ <member name="p010_10be"
+ value="61"
+ c:identifier="GST_VIDEO_FORMAT_P010_10BE"
+ glib:nick="p010-10be">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="101">planar 4:2:0 YUV with interleaved UV plane, 10 bits per channel (Since: 1.10)</doc>
+ </member>
+ <member name="p010_10le"
+ value="62"
+ c:identifier="GST_VIDEO_FORMAT_P010_10LE"
+ glib:nick="p010-10le">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="102">planar 4:2:0 YUV with interleaved UV plane, 10 bits per channel (Since: 1.10)</doc>
+ </member>
+ <member name="iyu2"
+ value="63"
+ c:identifier="GST_VIDEO_FORMAT_IYU2"
+ glib:nick="iyu2">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="67">packed 4:4:4 YUV (U-Y-V ...) (Since: 1.10)</doc>
+ </member>
+ <member name="vyuy"
+ value="64"
+ c:identifier="GST_VIDEO_FORMAT_VYUY"
+ glib:nick="vyuy">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="41">packed 4:2:2 YUV (V0-Y0-U0-Y1 V2-Y2-U2-Y3 V4 ...)</doc>
+ </member>
+ <member name="gbra"
+ value="65"
+ c:identifier="GST_VIDEO_FORMAT_GBRA"
+ glib:nick="gbra">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="103">planar 4:4:4:4 ARGB, 8 bits per channel (Since: 1.12)</doc>
+ </member>
+ <member name="gbra_10be"
+ value="66"
+ c:identifier="GST_VIDEO_FORMAT_GBRA_10BE"
+ glib:nick="gbra-10be">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="104">planar 4:4:4:4 ARGB, 10 bits per channel (Since: 1.12)</doc>
+ </member>
+ <member name="gbra_10le"
+ value="67"
+ c:identifier="GST_VIDEO_FORMAT_GBRA_10LE"
+ glib:nick="gbra-10le">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="105">planar 4:4:4:4 ARGB, 10 bits per channel (Since: 1.12)</doc>
+ </member>
+ <member name="gbr_12be"
+ value="68"
+ c:identifier="GST_VIDEO_FORMAT_GBR_12BE"
+ glib:nick="gbr-12be">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="106">planar 4:4:4 RGB, 12 bits per channel (Since: 1.12)</doc>
+ </member>
+ <member name="gbr_12le"
+ value="69"
+ c:identifier="GST_VIDEO_FORMAT_GBR_12LE"
+ glib:nick="gbr-12le">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="107">planar 4:4:4 RGB, 12 bits per channel (Since: 1.12)</doc>
+ </member>
+ <member name="gbra_12be"
+ value="70"
+ c:identifier="GST_VIDEO_FORMAT_GBRA_12BE"
+ glib:nick="gbra-12be">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="108">planar 4:4:4:4 ARGB, 12 bits per channel (Since: 1.12)</doc>
+ </member>
+ <member name="gbra_12le"
+ value="71"
+ c:identifier="GST_VIDEO_FORMAT_GBRA_12LE"
+ glib:nick="gbra-12le">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="109">planar 4:4:4:4 ARGB, 12 bits per channel (Since: 1.12)</doc>
+ </member>
+ <member name="i420_12be"
+ value="72"
+ c:identifier="GST_VIDEO_FORMAT_I420_12BE"
+ glib:nick="i420-12be">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="110">planar 4:2:0 YUV, 12 bits per channel (Since: 1.12)</doc>
+ </member>
+ <member name="i420_12le"
+ value="73"
+ c:identifier="GST_VIDEO_FORMAT_I420_12LE"
+ glib:nick="i420-12le">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="111">planar 4:2:0 YUV, 12 bits per channel (Since: 1.12)</doc>
+ </member>
+ <member name="i422_12be"
+ value="74"
+ c:identifier="GST_VIDEO_FORMAT_I422_12BE"
+ glib:nick="i422-12be">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="112">planar 4:2:2 YUV, 12 bits per channel (Since: 1.12)</doc>
+ </member>
+ <member name="i422_12le"
+ value="75"
+ c:identifier="GST_VIDEO_FORMAT_I422_12LE"
+ glib:nick="i422-12le">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="113">planar 4:2:2 YUV, 12 bits per channel (Since: 1.12)</doc>
+ </member>
+ <member name="y444_12be"
+ value="76"
+ c:identifier="GST_VIDEO_FORMAT_Y444_12BE"
+ glib:nick="y444-12be">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="114">planar 4:4:4 YUV, 12 bits per channel (Since: 1.12)</doc>
+ </member>
+ <member name="y444_12le"
+ value="77"
+ c:identifier="GST_VIDEO_FORMAT_Y444_12LE"
+ glib:nick="y444-12le">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="115">planar 4:4:4 YUV, 12 bits per channel (Since: 1.12)</doc>
+ </member>
+ <member name="gray10_le32"
+ value="78"
+ c:identifier="GST_VIDEO_FORMAT_GRAY10_LE32"
+ glib:nick="gray10-le32">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="63">10-bit grayscale, packed into 32bit words (2 bits padding) (Since: 1.14)</doc>
+ </member>
+ <member name="nv12_10le32"
+ value="79"
+ c:identifier="GST_VIDEO_FORMAT_NV12_10LE32"
+ glib:nick="nv12-10le32">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="61">10-bit variant of @GST_VIDEO_FORMAT_NV12, packed into 32bit words (MSB 2 bits padding) (Since: 1.14)</doc>
+ </member>
+ <member name="nv16_10le32"
+ value="80"
+ c:identifier="GST_VIDEO_FORMAT_NV16_10LE32"
+ glib:nick="nv16-10le32">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="91">10-bit variant of @GST_VIDEO_FORMAT_NV16, packed into 32bit words (MSB 2 bits padding) (Since: 1.14)</doc>
+ </member>
+ <member name="nv12_10le40"
+ value="81"
+ c:identifier="GST_VIDEO_FORMAT_NV12_10LE40"
+ glib:nick="nv12-10le40">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="116">Fully packed variant of NV12_10LE32 (Since: 1.16)</doc>
+ </member>
+ <member name="y210"
+ value="82"
+ c:identifier="GST_VIDEO_FORMAT_Y210"
+ glib:nick="y210">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="117">packed 4:2:2 YUV, 10 bits per channel (Since: 1.16)</doc>
+ </member>
+ <member name="y410"
+ value="83"
+ c:identifier="GST_VIDEO_FORMAT_Y410"
+ glib:nick="y410">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="118">packed 4:4:4 YUV, 10 bits per channel(A-V-Y-U...) (Since: 1.16)</doc>
+ </member>
+ <member name="vuya"
+ value="84"
+ c:identifier="GST_VIDEO_FORMAT_VUYA"
+ glib:nick="vuya">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="119">packed 4:4:4 YUV with alpha channel (V0-U0-Y0-A0...) (Since: 1.16)</doc>
+ </member>
+ <member name="bgr10a2_le"
+ value="85"
+ c:identifier="GST_VIDEO_FORMAT_BGR10A2_LE"
+ glib:nick="bgr10a2-le">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="120">packed 4:4:4 RGB with alpha channel(B-G-R-A), 10 bits for R/G/B channel and MSB 2 bits for alpha channel (Since: 1.16)</doc>
+ </member>
+ <member name="rgb10a2_le"
+ value="86"
+ c:identifier="GST_VIDEO_FORMAT_RGB10A2_LE"
+ glib:nick="rgb10a2-le">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="121">packed 4:4:4 RGB with alpha channel(R-G-B-A), 10 bits for R/G/B channel and MSB 2 bits for alpha channel (Since: 1.18)</doc>
+ </member>
+ <member name="y444_16be"
+ value="87"
+ c:identifier="GST_VIDEO_FORMAT_Y444_16BE"
+ glib:nick="y444-16be">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="122">planar 4:4:4 YUV, 16 bits per channel (Since: 1.18)</doc>
+ </member>
+ <member name="y444_16le"
+ value="88"
+ c:identifier="GST_VIDEO_FORMAT_Y444_16LE"
+ glib:nick="y444-16le">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="123">planar 4:4:4 YUV, 16 bits per channel (Since: 1.18)</doc>
+ </member>
+ <member name="p016_be"
+ value="89"
+ c:identifier="GST_VIDEO_FORMAT_P016_BE"
+ glib:nick="p016-be">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="124">planar 4:2:0 YUV with interleaved UV plane, 16 bits per channel (Since: 1.18)</doc>
+ </member>
+ <member name="p016_le"
+ value="90"
+ c:identifier="GST_VIDEO_FORMAT_P016_LE"
+ glib:nick="p016-le">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="125">planar 4:2:0 YUV with interleaved UV plane, 16 bits per channel (Since: 1.18)</doc>
+ </member>
+ <member name="p012_be"
+ value="91"
+ c:identifier="GST_VIDEO_FORMAT_P012_BE"
+ glib:nick="p012-be">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="126">planar 4:2:0 YUV with interleaved UV plane, 12 bits per channel (Since: 1.18)</doc>
+ </member>
+ <member name="p012_le"
+ value="92"
+ c:identifier="GST_VIDEO_FORMAT_P012_LE"
+ glib:nick="p012-le">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="127">planar 4:2:0 YUV with interleaved UV plane, 12 bits per channel (Since: 1.18)</doc>
+ </member>
+ <member name="y212_be"
+ value="93"
+ c:identifier="GST_VIDEO_FORMAT_Y212_BE"
+ glib:nick="y212-be">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="128">packed 4:2:2 YUV, 12 bits per channel (Y-U-Y-V) (Since: 1.18)</doc>
+ </member>
+ <member name="y212_le"
+ value="94"
+ c:identifier="GST_VIDEO_FORMAT_Y212_LE"
+ glib:nick="y212-le">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="129">packed 4:2:2 YUV, 12 bits per channel (Y-U-Y-V) (Since: 1.18)</doc>
+ </member>
+ <member name="y412_be"
+ value="95"
+ c:identifier="GST_VIDEO_FORMAT_Y412_BE"
+ glib:nick="y412-be">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="130">packed 4:4:4:4 YUV, 12 bits per channel(U-Y-V-A...) (Since: 1.18)</doc>
+ </member>
+ <member name="y412_le"
+ value="96"
+ c:identifier="GST_VIDEO_FORMAT_Y412_LE"
+ glib:nick="y412-le">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="131">packed 4:4:4:4 YUV, 12 bits per channel(U-Y-V-A...) (Since: 1.18)</doc>
+ </member>
+ <member name="nv12_4l4"
+ value="97"
+ c:identifier="GST_VIDEO_FORMAT_NV12_4L4"
+ version="1.18"
+ glib:nick="nv12-4l4">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="238">NV12 with 4x4 tiles in linear order.</doc>
+ </member>
+ <member name="nv12_32l32"
+ value="98"
+ c:identifier="GST_VIDEO_FORMAT_NV12_32L32"
+ version="1.18"
+ glib:nick="nv12-32l32">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="246">NV12 with 32x32 tiles in linear order.</doc>
+ </member>
+ <function name="from_fourcc" c:identifier="gst_video_format_from_fourcc">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.c"
+ line="6815">Converts a FOURCC value into the corresponding #GstVideoFormat.
+If the FOURCC cannot be represented by #GstVideoFormat,
+#GST_VIDEO_FORMAT_UNKNOWN is returned.</doc>
+ <source-position filename="gst-libs/gst/video/video-format.h"
+ line="571"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.c"
+ line="6823">the #GstVideoFormat describing the FOURCC value</doc>
+ <type name="VideoFormat" c:type="GstVideoFormat"/>
+ </return-value>
+ <parameters>
+ <parameter name="fourcc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.c"
+ line="6817">a FOURCC value representing raw YUV video</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="from_masks" c:identifier="gst_video_format_from_masks">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.c"
+ line="6741">Find the #GstVideoFormat for the given parameters.</doc>
+ <source-position filename="gst-libs/gst/video/video-format.h"
+ line="566"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.c"
+ line="6754">a #GstVideoFormat or GST_VIDEO_FORMAT_UNKNOWN when the parameters to
+not specify a known format.</doc>
+ <type name="VideoFormat" c:type="GstVideoFormat"/>
+ </return-value>
+ <parameters>
+ <parameter name="depth" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.c"
+ line="6743">the amount of bits used for a pixel</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="bpp" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.c"
+ line="6744">the amount of bits used to store a pixel. This value is bigger than
+ @depth</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="endianness" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.c"
+ line="6746">the endianness of the masks, #G_LITTLE_ENDIAN or #G_BIG_ENDIAN</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="red_mask" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.c"
+ line="6747">the red mask</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="green_mask" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.c"
+ line="6748">the green mask</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="blue_mask" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.c"
+ line="6749">the blue mask</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="alpha_mask" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.c"
+ line="6750">the alpha mask, or 0 if no alpha mask</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="from_string" c:identifier="gst_video_format_from_string">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.c"
+ line="6907">Convert the @format string to its #GstVideoFormat.</doc>
+ <source-position filename="gst-libs/gst/video/video-format.h"
+ line="574"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.c"
+ line="6913">the #GstVideoFormat for @format or GST_VIDEO_FORMAT_UNKNOWN when the
+string is not a known format.</doc>
+ <type name="VideoFormat" c:type="GstVideoFormat"/>
+ </return-value>
+ <parameters>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.c"
+ line="6909">a format string</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="get_info" c:identifier="gst_video_format_get_info">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.c"
+ line="6972">Get the #GstVideoFormatInfo for @format</doc>
+ <source-position filename="gst-libs/gst/video/video-format.h"
+ line="584"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.c"
+ line="6978">The #GstVideoFormatInfo for @format.</doc>
+ <type name="VideoFormatInfo" c:type="const GstVideoFormatInfo*"/>
+ </return-value>
+ <parameters>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.c"
+ line="6974">a #GstVideoFormat</doc>
+ <type name="VideoFormat" c:type="GstVideoFormat"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="get_palette"
+ c:identifier="gst_video_format_get_palette"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.c"
+ line="6988">Get the default palette of @format. This the palette used in the pack
+function for paletted formats.</doc>
+ <source-position filename="gst-libs/gst/video/video-format.h"
+ line="587"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.c"
+ line="6996">the default palette of @format or %NULL when
+@format does not have a palette.</doc>
+ <type name="gpointer" c:type="gconstpointer"/>
+ </return-value>
+ <parameters>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.c"
+ line="6990">a #GstVideoFormat</doc>
+ <type name="VideoFormat" c:type="GstVideoFormat"/>
+ </parameter>
+ <parameter name="size"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.c"
+ line="6991">size of the palette in bytes</doc>
+ <type name="gsize" c:type="gsize*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="to_fourcc" c:identifier="gst_video_format_to_fourcc">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.c"
+ line="6931">Converts a #GstVideoFormat value into the corresponding FOURCC. Only
+a few YUV formats have corresponding FOURCC values. If @format has
+no corresponding FOURCC value, 0 is returned.</doc>
+ <source-position filename="gst-libs/gst/video/video-format.h"
+ line="577"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.c"
+ line="6939">the FOURCC corresponding to @format</doc>
+ <type name="guint32" c:type="guint32"/>
+ </return-value>
+ <parameters>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.c"
+ line="6933">a #GstVideoFormat video format</doc>
+ <type name="VideoFormat" c:type="GstVideoFormat"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="to_string" c:identifier="gst_video_format_to_string">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.c"
+ line="6952">Returns a string containing a descriptive name for
+the #GstVideoFormat if there is one, or NULL otherwise.</doc>
+ <source-position filename="gst-libs/gst/video/video-format.h"
+ line="580"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.c"
+ line="6959">the name corresponding to @format</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.c"
+ line="6954">a #GstVideoFormat video format</doc>
+ <type name="VideoFormat" c:type="GstVideoFormat"/>
+ </parameter>
+ </parameters>
+ </function>
+ </enumeration>
+ <bitfield name="VideoFormatFlags"
+ glib:type-name="GstVideoFormatFlags"
+ glib:get-type="gst_video_format_flags_get_type"
+ c:type="GstVideoFormatFlags">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="262">The different video flags that a format info can have.</doc>
+ <member name="yuv"
+ value="1"
+ c:identifier="GST_VIDEO_FORMAT_FLAG_YUV"
+ glib:nick="yuv">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="264">The video format is YUV, components are numbered
+ 0=Y, 1=U, 2=V.</doc>
+ </member>
+ <member name="rgb"
+ value="2"
+ c:identifier="GST_VIDEO_FORMAT_FLAG_RGB"
+ glib:nick="rgb">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="266">The video format is RGB, components are numbered
+ 0=R, 1=G, 2=B.</doc>
+ </member>
+ <member name="gray"
+ value="4"
+ c:identifier="GST_VIDEO_FORMAT_FLAG_GRAY"
+ glib:nick="gray">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="268">The video is gray, there is one gray component
+ with index 0.</doc>
+ </member>
+ <member name="alpha"
+ value="8"
+ c:identifier="GST_VIDEO_FORMAT_FLAG_ALPHA"
+ glib:nick="alpha">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="270">The video format has an alpha components with
+ the number 3.</doc>
+ </member>
+ <member name="le"
+ value="16"
+ c:identifier="GST_VIDEO_FORMAT_FLAG_LE"
+ glib:nick="le">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="272">The video format has data stored in little
+ endianness.</doc>
+ </member>
+ <member name="palette"
+ value="32"
+ c:identifier="GST_VIDEO_FORMAT_FLAG_PALETTE"
+ glib:nick="palette">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="274">The video format has a palette. The palette
+ is stored in the second plane and indexes are stored in the first plane.</doc>
+ </member>
+ <member name="complex"
+ value="64"
+ c:identifier="GST_VIDEO_FORMAT_FLAG_COMPLEX"
+ glib:nick="complex">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="276">The video format has a complex layout that
+ can't be described with the usual information in the #GstVideoFormatInfo.</doc>
+ </member>
+ <member name="unpack"
+ value="128"
+ c:identifier="GST_VIDEO_FORMAT_FLAG_UNPACK"
+ glib:nick="unpack">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="278">This format can be used in a
+ #GstVideoFormatUnpack and #GstVideoFormatPack function.</doc>
+ </member>
+ <member name="tiled"
+ value="256"
+ c:identifier="GST_VIDEO_FORMAT_FLAG_TILED"
+ glib:nick="tiled">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="280">The format is tiled, there is tiling information
+ in the last plane.</doc>
+ </member>
+ </bitfield>
+ <record name="VideoFormatInfo" c:type="GstVideoFormatInfo">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="408">Information for a video format.</doc>
+ <source-position filename="gst-libs/gst/video/video-format.h"
+ line="473"/>
+ <field name="format" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="410">#GstVideoFormat</doc>
+ <type name="VideoFormat" c:type="GstVideoFormat"/>
+ </field>
+ <field name="name" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="411">string representation of the format</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </field>
+ <field name="description" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="412">use readable description of the format</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </field>
+ <field name="flags" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="413">#GstVideoFormatFlags</doc>
+ <type name="VideoFormatFlags" c:type="GstVideoFormatFlags"/>
+ </field>
+ <field name="bits" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="414">The number of bits used to pack data items. This can be less than 8
+ when multiple pixels are stored in a byte. for values &gt; 8 multiple bytes
+ should be read according to the endianness flag before applying the shift
+ and mask.</doc>
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="n_components" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="418">the number of components in the video format.</doc>
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="shift" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="419">the number of bits to shift away to get the component data</doc>
+ <array zero-terminated="0" fixed-size="4">
+ <type name="guint" c:type="guint"/>
+ </array>
+ </field>
+ <field name="depth" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="420">the depth in bits for each component</doc>
+ <array zero-terminated="0" fixed-size="4">
+ <type name="guint" c:type="guint"/>
+ </array>
+ </field>
+ <field name="pixel_stride" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="421">the pixel stride of each component. This is the amount of
+ bytes to the pixel immediately to the right. When bits &lt; 8, the stride is
+ expressed in bits. For 24-bit RGB, this would be 3 bytes, for example,
+ while it would be 4 bytes for RGBx or ARGB.</doc>
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gint" c:type="gint"/>
+ </array>
+ </field>
+ <field name="n_planes" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="425">the number of planes for this format. The number of planes can be
+ less than the amount of components when multiple components are packed into
+ one plane.</doc>
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="plane" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="428">the plane number where a component can be found</doc>
+ <array zero-terminated="0" fixed-size="4">
+ <type name="guint" c:type="guint"/>
+ </array>
+ </field>
+ <field name="poffset" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="429">the offset in the plane where the first pixel of the components
+ can be found.</doc>
+ <array zero-terminated="0" fixed-size="4">
+ <type name="guint" c:type="guint"/>
+ </array>
+ </field>
+ <field name="w_sub" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="431">subsampling factor of the width for the component. Use
+ GST_VIDEO_SUB_SCALE to scale a width.</doc>
+ <array zero-terminated="0" fixed-size="4">
+ <type name="guint" c:type="guint"/>
+ </array>
+ </field>
+ <field name="h_sub" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="433">subsampling factor of the height for the component. Use
+ GST_VIDEO_SUB_SCALE to scale a height.</doc>
+ <array zero-terminated="0" fixed-size="4">
+ <type name="guint" c:type="guint"/>
+ </array>
+ </field>
+ <field name="unpack_format" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="435">the format of the unpacked pixels. This format must have the
+ #GST_VIDEO_FORMAT_FLAG_UNPACK flag set.</doc>
+ <type name="VideoFormat" c:type="GstVideoFormat"/>
+ </field>
+ <field name="unpack_func" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="437">an unpack function for this format</doc>
+ <type name="VideoFormatUnpack" c:type="GstVideoFormatUnpack"/>
+ </field>
+ <field name="pack_lines" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="438">the amount of lines that will be packed</doc>
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="pack_func" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="439">an pack function for this format</doc>
+ <type name="VideoFormatPack" c:type="GstVideoFormatPack"/>
+ </field>
+ <field name="tile_mode" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="440">The tiling mode</doc>
+ <type name="VideoTileMode" c:type="GstVideoTileMode"/>
+ </field>
+ <field name="tile_ws" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="441">The width of a tile, in bytes, represented as a shift</doc>
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="tile_hs" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="442">The height of a tile, in bytes, represented as a shift</doc>
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <method name="component"
+ c:identifier="gst_video_format_info_component"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.c"
+ line="7016">Fill @components with the number of all the components packed in plane @p
+for the format @info. A value of -1 in @components indicates that no more
+components are packed in the plane.</doc>
+ <source-position filename="gst-libs/gst/video/video-format.h"
+ line="561"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.c"
+ line="7018">#GstVideoFormatInfo</doc>
+ <type name="VideoFormatInfo" c:type="const GstVideoFormatInfo*"/>
+ </instance-parameter>
+ <parameter name="plane" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.c"
+ line="7019">a plane number</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="components"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.c"
+ line="7020">array used to store component numbers</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </method>
+ </record>
+ <callback name="VideoFormatPack" c:type="GstVideoFormatPack">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="368">Packs @width pixels from @src to the given planes and strides in the
+format @info. The pixels from source have each component interleaved
+and will be packed into the planes in @data.
+
+This function operates on pack_lines lines, meaning that @src should
+contain at least pack_lines lines with a stride of @sstride and @y
+should be a multiple of pack_lines.
+
+Subsampled formats will use the horizontally and vertically cosited
+component from the source. Subsampling should be performed before
+packing.
+
+Because this function does not have a x coordinate, it is not possible to
+pack pixels starting from an unaligned position. For tiled images this
+means that packing should start from a tile coordinate. For subsampled
+formats this means that a complete pixel needs to be packed.</doc>
+ <source-position filename="gst-libs/gst/video/video-format.h"
+ line="400"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="370">a #GstVideoFormatInfo</doc>
+ <type name="VideoFormatInfo" c:type="const GstVideoFormatInfo*"/>
+ </parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="371">flags to control the packing</doc>
+ <type name="VideoPackFlags" c:type="GstVideoPackFlags"/>
+ </parameter>
+ <parameter name="src"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="372">a source array</doc>
+ <type name="gpointer" c:type="const gpointer"/>
+ </parameter>
+ <parameter name="sstride" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="373">the source array stride</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="374">pointers to the destination data planes</doc>
+ <type name="gpointer" c:type="gpointer*"/>
+ </parameter>
+ <parameter name="stride" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="375">strides of the destination planes</doc>
+ <type name="gint" c:type="const gint*"/>
+ </parameter>
+ <parameter name="chroma_site" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="376">the chroma siting of the target when subsampled (not used)</doc>
+ <type name="VideoChromaSite" c:type="GstVideoChromaSite"/>
+ </parameter>
+ <parameter name="y" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="377">the y position in the image to pack to</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="width" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="378">the amount of pixels to pack.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <callback name="VideoFormatUnpack" c:type="GstVideoFormatUnpack">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="338">Unpacks @width pixels from the given planes and strides containing data of
+format @info. The pixels will be unpacked into @dest with each component
+interleaved as per @info's unpack_format, which will usually be one of
+#GST_VIDEO_FORMAT_ARGB, #GST_VIDEO_FORMAT_AYUV, #GST_VIDEO_FORMAT_ARGB64 or
+#GST_VIDEO_FORMAT_AYUV64 depending on the format to unpack.
+@dest should at least be big enough to hold @width * bytes_per_pixel bytes
+where bytes_per_pixel relates to the unpack format and will usually be
+either 4 or 8 depending on the unpack format. bytes_per_pixel will be
+the same as the pixel stride for plane 0 for the above formats.
+
+For subsampled formats, the components will be duplicated in the destination
+array. Reconstruction of the missing components can be performed in a
+separate step after unpacking.</doc>
+ <source-position filename="gst-libs/gst/video/video-format.h"
+ line="363"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="340">a #GstVideoFormatInfo</doc>
+ <type name="VideoFormatInfo" c:type="const GstVideoFormatInfo*"/>
+ </parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="341">flags to control the unpacking</doc>
+ <type name="VideoPackFlags" c:type="GstVideoPackFlags"/>
+ </parameter>
+ <parameter name="dest"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="342">a destination array</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="343">pointers to the data planes</doc>
+ <type name="gpointer" c:type="const gpointer*"/>
+ </parameter>
+ <parameter name="stride" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="344">strides of the planes</doc>
+ <type name="gint" c:type="const gint*"/>
+ </parameter>
+ <parameter name="x" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="345">the x position in the image to start from</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="y" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="346">the y position in the image to start from</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="width" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="347">the amount of pixels to unpack.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <record name="VideoFrame" c:type="GstVideoFrame">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-frame.h"
+ line="68">A video frame obtained from gst_video_frame_map()</doc>
+ <source-position filename="gst-libs/gst/video/video-frame.h" line="94"/>
+ <field name="info" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-frame.h"
+ line="70">the #GstVideoInfo</doc>
+ <type name="VideoInfo" c:type="GstVideoInfo"/>
+ </field>
+ <field name="flags" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-frame.h"
+ line="71">#GstVideoFrameFlags for the frame</doc>
+ <type name="VideoFrameFlags" c:type="GstVideoFrameFlags"/>
+ </field>
+ <field name="buffer" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-frame.h"
+ line="72">the mapped buffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </field>
+ <field name="meta" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-frame.h"
+ line="73">pointer to metadata if any</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <field name="id" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-frame.h"
+ line="74">id of the mapped frame. the id can for example be used to
+ identify the frame in case of multiview video.</doc>
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="data" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-frame.h"
+ line="76">pointers to the plane data</doc>
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <field name="map" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-frame.h"
+ line="77">mappings of the planes</doc>
+ <array zero-terminated="0" fixed-size="4">
+ <type name="Gst.MapInfo" c:type="GstMapInfo"/>
+ </array>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <method name="copy" c:identifier="gst_video_frame_copy">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-frame.c"
+ line="394">Copy the contents from @src to @dest.
+
+Note: Since: 1.18, @dest dimensions are allowed to be
+smaller than @src dimensions.</doc>
+ <source-position filename="gst-libs/gst/video/video-frame.h"
+ line="108"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-frame.c"
+ line="404">TRUE if the contents could be copied.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="dest" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-frame.c"
+ line="396">a #GstVideoFrame</doc>
+ <type name="VideoFrame" c:type="GstVideoFrame*"/>
+ </instance-parameter>
+ <parameter name="src" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-frame.c"
+ line="397">a #GstVideoFrame</doc>
+ <type name="VideoFrame" c:type="const GstVideoFrame*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="copy_plane" c:identifier="gst_video_frame_copy_plane">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-frame.c"
+ line="281">Copy the plane with index @plane from @src to @dest.
+
+Note: Since: 1.18, @dest dimensions are allowed to be
+smaller than @src dimensions.</doc>
+ <source-position filename="gst-libs/gst/video/video-frame.h"
+ line="111"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-frame.c"
+ line="292">TRUE if the contents could be copied.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="dest" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-frame.c"
+ line="283">a #GstVideoFrame</doc>
+ <type name="VideoFrame" c:type="GstVideoFrame*"/>
+ </instance-parameter>
+ <parameter name="src" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-frame.c"
+ line="284">a #GstVideoFrame</doc>
+ <type name="VideoFrame" c:type="const GstVideoFrame*"/>
+ </parameter>
+ <parameter name="plane" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-frame.c"
+ line="285">a plane</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="map" c:identifier="gst_video_frame_map">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-frame.c"
+ line="189">Use @info and @buffer to fill in the values of @frame. @frame is usually
+allocated on the stack, and you will pass the address to the #GstVideoFrame
+structure allocated on the stack; gst_video_frame_map() will then fill in
+the structures with the various video-specific information you need to access
+the pixels of the video buffer. You can then use accessor macros such as
+GST_VIDEO_FRAME_COMP_DATA(), GST_VIDEO_FRAME_PLANE_DATA(),
+GST_VIDEO_FRAME_COMP_STRIDE(), GST_VIDEO_FRAME_PLANE_STRIDE() etc.
+to get to the pixels.
+
+|[&lt;!-- language="C" --&gt;
+ GstVideoFrame vframe;
+ ...
+ // set RGB pixels to black one at a time
+ if (gst_video_frame_map (&amp;amp;vframe, video_info, video_buffer, GST_MAP_WRITE)) {
+ guint8 *pixels = GST_VIDEO_FRAME_PLANE_DATA (vframe, 0);
+ guint stride = GST_VIDEO_FRAME_PLANE_STRIDE (vframe, 0);
+ guint pixel_stride = GST_VIDEO_FRAME_COMP_PSTRIDE (vframe, 0);
+
+ for (h = 0; h &lt; height; ++h) {
+ for (w = 0; w &lt; width; ++w) {
+ guint8 *pixel = pixels + h * stride + w * pixel_stride;
+
+ memset (pixel, 0, pixel_stride);
+ }
+ }
+
+ gst_video_frame_unmap (&amp;amp;vframe);
+ }
+ ...
+]|
+
+All video planes of @buffer will be mapped and the pointers will be set in
+@frame-&gt;data.
+
+The purpose of this function is to make it easy for you to get to the video
+pixels in a generic way, without you having to worry too much about details
+such as whether the video data is allocated in one contiguous memory chunk
+or multiple memory chunks (e.g. one for each plane); or if custom strides
+and custom plane offsets are used or not (as signalled by GstVideoMeta on
+each buffer). This function will just fill the #GstVideoFrame structure
+with the right values and if you use the accessor macros everything will
+just work and you can access the data easily. It also maps the underlying
+memory chunks for you.</doc>
+ <source-position filename="gst-libs/gst/video/video-frame.h"
+ line="97"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-frame.c"
+ line="240">%TRUE on success.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="frame" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-frame.c"
+ line="191">pointer to #GstVideoFrame</doc>
+ <type name="VideoFrame" c:type="GstVideoFrame*"/>
+ </instance-parameter>
+ <parameter name="info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-frame.c"
+ line="192">a #GstVideoInfo</doc>
+ <type name="VideoInfo" c:type="GstVideoInfo*"/>
+ </parameter>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-frame.c"
+ line="193">the buffer to map</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-frame.c"
+ line="194">#GstMapFlags</doc>
+ <type name="Gst.MapFlags" c:type="GstMapFlags"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="map_id" c:identifier="gst_video_frame_map_id">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-frame.c"
+ line="50">Use @info and @buffer to fill in the values of @frame with the video frame
+information of frame @id.
+
+When @id is -1, the default frame is mapped. When @id != -1, this function
+will return %FALSE when there is no GstVideoMeta with that id.
+
+All video planes of @buffer will be mapped and the pointers will be set in
+@frame-&gt;data.</doc>
+ <source-position filename="gst-libs/gst/video/video-frame.h"
+ line="101"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-frame.c"
+ line="67">%TRUE on success.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="frame" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-frame.c"
+ line="52">pointer to #GstVideoFrame</doc>
+ <type name="VideoFrame" c:type="GstVideoFrame*"/>
+ </instance-parameter>
+ <parameter name="info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-frame.c"
+ line="53">a #GstVideoInfo</doc>
+ <type name="VideoInfo" c:type="GstVideoInfo*"/>
+ </parameter>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-frame.c"
+ line="54">the buffer to map</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="id" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-frame.c"
+ line="55">the frame id to map</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-frame.c"
+ line="56">#GstMapFlags</doc>
+ <type name="Gst.MapFlags" c:type="GstMapFlags"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="unmap" c:identifier="gst_video_frame_unmap">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-frame.c"
+ line="249">Unmap the memory previously mapped with gst_video_frame_map.</doc>
+ <source-position filename="gst-libs/gst/video/video-frame.h"
+ line="105"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="frame" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-frame.c"
+ line="251">a #GstVideoFrame</doc>
+ <type name="VideoFrame" c:type="GstVideoFrame*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ </record>
+ <bitfield name="VideoFrameFlags"
+ glib:type-name="GstVideoFrameFlags"
+ glib:get-type="gst_video_frame_flags_get_type"
+ c:type="GstVideoFrameFlags">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-frame.h"
+ line="29">Extra video frame flags</doc>
+ <member name="none"
+ value="0"
+ c:identifier="GST_VIDEO_FRAME_FLAG_NONE"
+ glib:nick="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-frame.h"
+ line="31">no flags</doc>
+ </member>
+ <member name="interlaced"
+ value="1"
+ c:identifier="GST_VIDEO_FRAME_FLAG_INTERLACED"
+ glib:nick="interlaced">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-frame.h"
+ line="32">The video frame is interlaced. In mixed
+ interlace-mode, this flag specifies if the frame is interlaced or
+ progressive.</doc>
+ </member>
+ <member name="tff"
+ value="2"
+ c:identifier="GST_VIDEO_FRAME_FLAG_TFF"
+ glib:nick="tff">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-frame.h"
+ line="35">The video frame has the top field first</doc>
+ </member>
+ <member name="rff"
+ value="4"
+ c:identifier="GST_VIDEO_FRAME_FLAG_RFF"
+ glib:nick="rff">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-frame.h"
+ line="36">The video frame has the repeat flag</doc>
+ </member>
+ <member name="onefield"
+ value="8"
+ c:identifier="GST_VIDEO_FRAME_FLAG_ONEFIELD"
+ glib:nick="onefield">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-frame.h"
+ line="37">The video frame has one field</doc>
+ </member>
+ <member name="multiple_view"
+ value="16"
+ c:identifier="GST_VIDEO_FRAME_FLAG_MULTIPLE_VIEW"
+ glib:nick="multiple-view">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-frame.h"
+ line="38">The video contains one or
+ more non-mono views</doc>
+ </member>
+ <member name="first_in_bundle"
+ value="32"
+ c:identifier="GST_VIDEO_FRAME_FLAG_FIRST_IN_BUNDLE"
+ glib:nick="first-in-bundle">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-frame.h"
+ line="40">The video frame is the first
+ in a set of corresponding views provided as sequential frames.</doc>
+ </member>
+ <member name="top_field"
+ value="10"
+ c:identifier="GST_VIDEO_FRAME_FLAG_TOP_FIELD"
+ glib:nick="top-field">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-frame.h"
+ line="42">The video frame has the top field only. This
+ is the same as GST_VIDEO_FRAME_FLAG_TFF | GST_VIDEO_FRAME_FLAG_ONEFIELD
+ (Since: 1.16).</doc>
+ </member>
+ <member name="onefield"
+ value="8"
+ c:identifier="GST_VIDEO_FRAME_FLAG_ONEFIELD"
+ glib:nick="onefield">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-frame.h"
+ line="37">The video frame has one field</doc>
+ </member>
+ <member name="bottom_field"
+ value="8"
+ c:identifier="GST_VIDEO_FRAME_FLAG_BOTTOM_FIELD"
+ glib:nick="bottom-field">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-frame.h"
+ line="45">The video frame has the bottom field
+ only. This is the same as GST_VIDEO_FRAME_FLAG_ONEFIELD
+ (GST_VIDEO_FRAME_FLAG_TFF flag unset) (Since: 1.16).</doc>
+ </member>
+ </bitfield>
+ <bitfield name="VideoFrameMapFlags"
+ version="1.6"
+ glib:type-name="GstVideoFrameMapFlags"
+ glib:get-type="gst_video_frame_map_flags_get_type"
+ c:type="GstVideoFrameMapFlags">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-frame.h"
+ line="234">Additional mapping flags for gst_video_frame_map().</doc>
+ <member name="no_ref"
+ value="65536"
+ c:identifier="GST_VIDEO_FRAME_MAP_FLAG_NO_REF"
+ glib:nick="no-ref">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-frame.h"
+ line="236">Don't take another reference of the buffer and store it in
+ the GstVideoFrame. This makes sure that the buffer stays
+ writable while the frame is mapped, but requires that the
+ buffer reference stays valid until the frame is unmapped again.</doc>
+ </member>
+ <member name="last"
+ value="16777216"
+ c:identifier="GST_VIDEO_FRAME_MAP_FLAG_LAST"
+ glib:nick="last">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-frame.h"
+ line="240">Offset to define more flags</doc>
+ </member>
+ </bitfield>
+ <enumeration name="VideoGLTextureOrientation"
+ c:type="GstVideoGLTextureOrientation">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.h"
+ line="213">The orientation of the GL texture.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideometa.h"
+ line="228"/>
+ <member name="normal_y_normal"
+ value="0"
+ c:identifier="GST_VIDEO_GL_TEXTURE_ORIENTATION_X_NORMAL_Y_NORMAL">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.h"
+ line="215">Top line first in memory, left row first</doc>
+ </member>
+ <member name="normal_y_flip"
+ value="1"
+ c:identifier="GST_VIDEO_GL_TEXTURE_ORIENTATION_X_NORMAL_Y_FLIP">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.h"
+ line="216">Bottom line first in memory, left row first</doc>
+ </member>
+ <member name="flip_y_normal"
+ value="2"
+ c:identifier="GST_VIDEO_GL_TEXTURE_ORIENTATION_X_FLIP_Y_NORMAL">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.h"
+ line="217">Top line first in memory, right row first</doc>
+ </member>
+ <member name="flip_y_flip"
+ value="3"
+ c:identifier="GST_VIDEO_GL_TEXTURE_ORIENTATION_X_FLIP_Y_FLIP">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.h"
+ line="218">Bottom line first in memory, right row first</doc>
+ </member>
+ </enumeration>
+ <enumeration name="VideoGLTextureType" c:type="GstVideoGLTextureType">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.h"
+ line="190">The GL texture type.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideometa.h"
+ line="211"/>
+ <member name="luminance"
+ value="0"
+ c:identifier="GST_VIDEO_GL_TEXTURE_TYPE_LUMINANCE">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.h"
+ line="192">Luminance texture, GL_LUMINANCE</doc>
+ </member>
+ <member name="luminance_alpha"
+ value="1"
+ c:identifier="GST_VIDEO_GL_TEXTURE_TYPE_LUMINANCE_ALPHA">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.h"
+ line="193">Luminance-alpha texture, GL_LUMINANCE_ALPHA</doc>
+ </member>
+ <member name="rgb16"
+ value="2"
+ c:identifier="GST_VIDEO_GL_TEXTURE_TYPE_RGB16">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.h"
+ line="194">RGB 565 texture, GL_RGB</doc>
+ </member>
+ <member name="rgb"
+ value="3"
+ c:identifier="GST_VIDEO_GL_TEXTURE_TYPE_RGB">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.h"
+ line="195">RGB texture, GL_RGB</doc>
+ </member>
+ <member name="rgba"
+ value="4"
+ c:identifier="GST_VIDEO_GL_TEXTURE_TYPE_RGBA">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.h"
+ line="196">RGBA texture, GL_RGBA</doc>
+ </member>
+ <member name="r" value="5" c:identifier="GST_VIDEO_GL_TEXTURE_TYPE_R">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.h"
+ line="197">R texture, GL_RED_EXT</doc>
+ </member>
+ <member name="rg" value="6" c:identifier="GST_VIDEO_GL_TEXTURE_TYPE_RG">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.h"
+ line="198">RG texture, GL_RG_EXT</doc>
+ </member>
+ </enumeration>
+ <callback name="VideoGLTextureUpload" c:type="GstVideoGLTextureUpload">
+ <source-position filename="gst-libs/gst/video/gstvideometa.h"
+ line="234"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="meta" transfer-ownership="none">
+ <type name="VideoGLTextureUploadMeta"
+ c:type="GstVideoGLTextureUploadMeta*"/>
+ </parameter>
+ <parameter name="texture_id" transfer-ownership="none">
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ <record name="VideoGLTextureUploadMeta"
+ c:type="GstVideoGLTextureUploadMeta">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.h"
+ line="251">Extra buffer metadata for uploading a buffer to an OpenGL texture
+ID. The caller of gst_video_gl_texture_upload_meta_upload() must
+have OpenGL set up and call this from a thread where it is valid
+to upload something to an OpenGL texture.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideometa.h"
+ line="278"/>
+ <field name="meta" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.h"
+ line="253">parent #GstMeta</doc>
+ <type name="Gst.Meta" c:type="GstMeta"/>
+ </field>
+ <field name="texture_orientation" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.h"
+ line="254">Orientation of the textures</doc>
+ <type name="VideoGLTextureOrientation"
+ c:type="GstVideoGLTextureOrientation"/>
+ </field>
+ <field name="n_textures" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.h"
+ line="255">Number of textures that are generated</doc>
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="texture_type" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.h"
+ line="256">Type of each texture</doc>
+ <array zero-terminated="0" fixed-size="4">
+ <type name="VideoGLTextureType" c:type="GstVideoGLTextureType"/>
+ </array>
+ </field>
+ <field name="buffer" readable="0" private="1">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </field>
+ <field name="upload" readable="0" private="1">
+ <type name="VideoGLTextureUpload" c:type="GstVideoGLTextureUpload"/>
+ </field>
+ <field name="user_data" readable="0" private="1">
+ <type name="gpointer" c:type="gpointer"/>
+ </field>
+ <field name="user_data_copy" readable="0" private="1">
+ <type name="GObject.BoxedCopyFunc" c:type="GBoxedCopyFunc"/>
+ </field>
+ <field name="user_data_free" readable="0" private="1">
+ <type name="GObject.BoxedFreeFunc" c:type="GBoxedFreeFunc"/>
+ </field>
+ <method name="upload"
+ c:identifier="gst_video_gl_texture_upload_meta_upload">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="786">Uploads the buffer which owns the meta to a specific texture ID.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideometa.h"
+ line="300"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="793">%TRUE if uploading succeeded, %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="meta" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="788">a #GstVideoGLTextureUploadMeta</doc>
+ <type name="VideoGLTextureUploadMeta"
+ c:type="GstVideoGLTextureUploadMeta*"/>
+ </instance-parameter>
+ <parameter name="texture_id" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="789">the texture IDs to upload to</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <function name="get_info"
+ c:identifier="gst_video_gl_texture_upload_meta_get_info">
+ <source-position filename="gst-libs/gst/video/gstvideometa.h"
+ line="284"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.MetaInfo" c:type="const GstMetaInfo*"/>
+ </return-value>
+ </function>
+ </record>
+ <enumeration name="VideoGammaMode"
+ version="1.6"
+ glib:type-name="GstVideoGammaMode"
+ glib:get-type="gst_video_gamma_mode_get_type"
+ c:type="GstVideoGammaMode">
+ <member name="none"
+ value="0"
+ c:identifier="GST_VIDEO_GAMMA_MODE_NONE"
+ glib:nick="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-converter.h"
+ line="227">disable gamma handling</doc>
+ </member>
+ <member name="remap"
+ value="1"
+ c:identifier="GST_VIDEO_GAMMA_MODE_REMAP"
+ glib:nick="remap">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-converter.h"
+ line="228">convert between input and output gamma
+Different gamma conversion modes</doc>
+ </member>
+ </enumeration>
+ <record name="VideoInfo"
+ c:type="GstVideoInfo"
+ glib:type-name="GstVideoInfo"
+ glib:get-type="gst_video_info_get_type"
+ c:symbol-prefix="video_info">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.h"
+ line="286">Information describing image properties. This information can be filled
+in from GstCaps with gst_video_info_from_caps(). The information is also used
+to store the specific video info when mapping a video frame with
+gst_video_frame_map().
+
+Use the provided macros to access the info in this structure.</doc>
+ <source-position filename="gst-libs/gst/video/video-info.h" line="345"/>
+ <field name="finfo" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.h"
+ line="288">the format info of the video</doc>
+ <type name="VideoFormatInfo" c:type="const GstVideoFormatInfo*"/>
+ </field>
+ <field name="interlace_mode" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.h"
+ line="289">the interlace mode</doc>
+ <type name="VideoInterlaceMode" c:type="GstVideoInterlaceMode"/>
+ </field>
+ <field name="flags" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.h"
+ line="290">additional video flags</doc>
+ <type name="VideoFlags" c:type="GstVideoFlags"/>
+ </field>
+ <field name="width" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.h"
+ line="291">the width of the video</doc>
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="height" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.h"
+ line="292">the height of the video</doc>
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="size" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.h"
+ line="294">the default size of one frame</doc>
+ <type name="gsize" c:type="gsize"/>
+ </field>
+ <field name="views" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.h"
+ line="293">the number of views for multiview video</doc>
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="chroma_site" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.h"
+ line="295">a #GstVideoChromaSite.</doc>
+ <type name="VideoChromaSite" c:type="GstVideoChromaSite"/>
+ </field>
+ <field name="colorimetry" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.h"
+ line="296">the colorimetry info</doc>
+ <type name="VideoColorimetry" c:type="GstVideoColorimetry"/>
+ </field>
+ <field name="par_n" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.h"
+ line="297">the pixel-aspect-ratio numerator</doc>
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="par_d" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.h"
+ line="298">the pixel-aspect-ratio denominator</doc>
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="fps_n" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.h"
+ line="299">the framerate numerator</doc>
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="fps_d" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.h"
+ line="300">the framerate denominator</doc>
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="offset" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.h"
+ line="301">offsets of the planes</doc>
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gsize" c:type="gsize"/>
+ </array>
+ </field>
+ <field name="stride" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.h"
+ line="302">strides of the planes</doc>
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gint" c:type="gint"/>
+ </array>
+ </field>
+ <union name="ABI" c:type="ABI">
+ <source-position filename="gst-libs/gst/video/video-info.h"
+ line="344"/>
+ <record name="abi" c:type="abi">
+ <source-position filename="gst-libs/gst/video/video-info.h"
+ line="341"/>
+ <field name="multiview_mode" writable="1">
+ <type name="VideoMultiviewMode" c:type="GstVideoMultiviewMode"/>
+ </field>
+ <field name="multiview_flags" writable="1">
+ <type name="VideoMultiviewFlags" c:type="GstVideoMultiviewFlags"/>
+ </field>
+ <field name="field_order" writable="1">
+ <type name="VideoFieldOrder" c:type="GstVideoFieldOrder"/>
+ </field>
+ </record>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </union>
+ <constructor name="new" c:identifier="gst_video_info_new" version="1.6">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.c"
+ line="94">Allocate a new #GstVideoInfo that is also initialized with
+gst_video_info_init().</doc>
+ <source-position filename="gst-libs/gst/video/video-info.h"
+ line="428"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.c"
+ line="100">a new #GstVideoInfo. free with gst_video_info_free().</doc>
+ <type name="VideoInfo" c:type="GstVideoInfo*"/>
+ </return-value>
+ </constructor>
+ <method name="align" c:identifier="gst_video_info_align">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.c"
+ line="1432">Adjust the offset and stride fields in @info so that the padding and
+stride alignment in @align is respected.
+
+Extra padding will be added to the right side when stride alignment padding
+is required and @align will be updated with the new padding values.</doc>
+ <source-position filename="gst-libs/gst/video/video-info.h"
+ line="471"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.c"
+ line="1443">%FALSE if alignment could not be applied, e.g. because the
+ size of a frame can't be represented as a 32 bit integer (Since: 1.12)</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.c"
+ line="1434">a #GstVideoInfo</doc>
+ <type name="VideoInfo" c:type="GstVideoInfo*"/>
+ </instance-parameter>
+ <parameter name="align" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.c"
+ line="1435">alignment parameters</doc>
+ <type name="VideoAlignment" c:type="GstVideoAlignment*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="align_full"
+ c:identifier="gst_video_info_align_full"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.c"
+ line="1312">This variant of gst_video_info_align() provides the updated size, in bytes,
+of each video plane after the alignment, including all horizontal and vertical
+paddings.
+
+In case of GST_VIDEO_INTERLACE_MODE_ALTERNATE info, the returned sizes are the
+ones used to hold a single field, not the full frame.</doc>
+ <source-position filename="gst-libs/gst/video/video-info.h"
+ line="474"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.c"
+ line="1325">%FALSE if alignment could not be applied, e.g. because the
+ size of a frame can't be represented as a 32 bit integer</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.c"
+ line="1314">a #GstVideoInfo</doc>
+ <type name="VideoInfo" c:type="GstVideoInfo*"/>
+ </instance-parameter>
+ <parameter name="align" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.c"
+ line="1315">alignment parameters</doc>
+ <type name="VideoAlignment" c:type="GstVideoAlignment*"/>
+ </parameter>
+ <parameter name="plane_size"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.c"
+ line="1316">array used to store the plane sizes</doc>
+ <type name="gsize" c:type="gsize*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="convert" c:identifier="gst_video_info_convert">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.c"
+ line="1186">Converts among various #GstFormat types. This function handles
+GST_FORMAT_BYTES, GST_FORMAT_TIME, and GST_FORMAT_DEFAULT. For
+raw video, GST_FORMAT_DEFAULT corresponds to video frames. This
+function can be used to handle pad queries of the type GST_QUERY_CONVERT.</doc>
+ <source-position filename="gst-libs/gst/video/video-info.h"
+ line="458"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.c"
+ line="1199">TRUE if the conversion was successful.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.c"
+ line="1188">a #GstVideoInfo</doc>
+ <type name="VideoInfo" c:type="GstVideoInfo*"/>
+ </instance-parameter>
+ <parameter name="src_format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.c"
+ line="1189">#GstFormat of the @src_value</doc>
+ <type name="Gst.Format" c:type="GstFormat"/>
+ </parameter>
+ <parameter name="src_value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.c"
+ line="1190">value to convert</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ <parameter name="dest_format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.c"
+ line="1191">#GstFormat of the @dest_value</doc>
+ <type name="Gst.Format" c:type="GstFormat"/>
+ </parameter>
+ <parameter name="dest_value"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.c"
+ line="1192">pointer to destination value</doc>
+ <type name="gint64" c:type="gint64*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="copy" c:identifier="gst_video_info_copy" version="1.6">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.c"
+ line="60">Copy a GstVideoInfo structure.</doc>
+ <source-position filename="gst-libs/gst/video/video-info.h"
+ line="434"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.c"
+ line="66">a new #GstVideoInfo. free with gst_video_info_free.</doc>
+ <type name="VideoInfo" c:type="GstVideoInfo*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.c"
+ line="62">a #GstVideoInfo</doc>
+ <type name="VideoInfo" c:type="const GstVideoInfo*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="free" c:identifier="gst_video_info_free" version="1.6">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.c"
+ line="76">Free a GstVideoInfo structure previously allocated with gst_video_info_new()
+or gst_video_info_copy().</doc>
+ <source-position filename="gst-libs/gst/video/video-info.h"
+ line="437"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.c"
+ line="78">a #GstVideoInfo</doc>
+ <type name="VideoInfo" c:type="GstVideoInfo*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="from_caps" c:identifier="gst_video_info_from_caps">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.c"
+ line="386">Parse @caps and update @info.</doc>
+ <source-position filename="gst-libs/gst/video/video-info.h"
+ line="452"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.c"
+ line="393">TRUE if @caps could be parsed</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.c"
+ line="388">a #GstVideoInfo</doc>
+ <type name="VideoInfo" c:type="GstVideoInfo*"/>
+ </instance-parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.c"
+ line="389">a #GstCaps</doc>
+ <type name="Gst.Caps" c:type="const GstCaps*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="init" c:identifier="gst_video_info_init">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.c"
+ line="118">Initialize @info with default values.</doc>
+ <source-position filename="gst-libs/gst/video/video-info.h"
+ line="431"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.c"
+ line="120">a #GstVideoInfo</doc>
+ <type name="VideoInfo" c:type="GstVideoInfo*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="is_equal" c:identifier="gst_video_info_is_equal">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.c"
+ line="576">Compares two #GstVideoInfo and returns whether they are equal or not</doc>
+ <source-position filename="gst-libs/gst/video/video-info.h"
+ line="465"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.c"
+ line="583">%TRUE if @info and @other are equal, else %FALSE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.c"
+ line="578">a #GstVideoInfo</doc>
+ <type name="VideoInfo" c:type="const GstVideoInfo*"/>
+ </instance-parameter>
+ <parameter name="other" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.c"
+ line="579">a #GstVideoInfo</doc>
+ <type name="VideoInfo" c:type="const GstVideoInfo*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_format" c:identifier="gst_video_info_set_format">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.c"
+ line="234">Set the default info for a video frame of @format and @width and @height.
+
+Note: This initializes @info first, no values are preserved. This function
+does not set the offsets correctly for interlaced vertically
+subsampled formats.</doc>
+ <source-position filename="gst-libs/gst/video/video-info.h"
+ line="440"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.c"
+ line="247">%FALSE if the returned video info is invalid, e.g. because the
+ size of a frame can't be represented as a 32 bit integer (Since: 1.12)</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.c"
+ line="236">a #GstVideoInfo</doc>
+ <type name="VideoInfo" c:type="GstVideoInfo*"/>
+ </instance-parameter>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.c"
+ line="237">the format</doc>
+ <type name="VideoFormat" c:type="GstVideoFormat"/>
+ </parameter>
+ <parameter name="width" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.c"
+ line="238">a width</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="height" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.c"
+ line="239">a height</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_interlaced_format"
+ c:identifier="gst_video_info_set_interlaced_format"
+ version="1.16">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.c"
+ line="260">Same as #gst_video_info_set_format but also allowing to set the interlaced
+mode.</doc>
+ <source-position filename="gst-libs/gst/video/video-info.h"
+ line="444"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.c"
+ line="271">%FALSE if the returned video info is invalid, e.g. because the
+ size of a frame can't be represented as a 32 bit integer.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.c"
+ line="262">a #GstVideoInfo</doc>
+ <type name="VideoInfo" c:type="GstVideoInfo*"/>
+ </instance-parameter>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.c"
+ line="263">the format</doc>
+ <type name="VideoFormat" c:type="GstVideoFormat"/>
+ </parameter>
+ <parameter name="mode" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.c"
+ line="264">a #GstVideoInterlaceMode</doc>
+ <type name="VideoInterlaceMode" c:type="GstVideoInterlaceMode"/>
+ </parameter>
+ <parameter name="width" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.c"
+ line="265">a width</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="height" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.c"
+ line="266">a height</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="to_caps" c:identifier="gst_video_info_to_caps">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.c"
+ line="635">Convert the values of @info into a #GstCaps.</doc>
+ <source-position filename="gst-libs/gst/video/video-info.h"
+ line="455"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.c"
+ line="641">a new #GstCaps containing the info of @info.</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.c"
+ line="637">a #GstVideoInfo</doc>
+ <type name="VideoInfo" c:type="GstVideoInfo*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ </record>
+ <enumeration name="VideoInterlaceMode"
+ glib:type-name="GstVideoInterlaceMode"
+ glib:get-type="gst_video_interlace_mode_get_type"
+ c:type="GstVideoInterlaceMode">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.h"
+ line="54">The possible values of the #GstVideoInterlaceMode describing the interlace
+mode of the stream.</doc>
+ <member name="progressive"
+ value="0"
+ c:identifier="GST_VIDEO_INTERLACE_MODE_PROGRESSIVE"
+ glib:nick="progressive">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.h"
+ line="56">all frames are progressive</doc>
+ </member>
+ <member name="interleaved"
+ value="1"
+ c:identifier="GST_VIDEO_INTERLACE_MODE_INTERLEAVED"
+ glib:nick="interleaved">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.h"
+ line="57">2 fields are interleaved in one video
+ frame. Extra buffer flags describe the field order.</doc>
+ </member>
+ <member name="mixed"
+ value="2"
+ c:identifier="GST_VIDEO_INTERLACE_MODE_MIXED"
+ glib:nick="mixed">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.h"
+ line="59">frames contains both interlaced and
+ progressive video, the buffer flags describe the frame and fields.</doc>
+ </member>
+ <member name="fields"
+ value="3"
+ c:identifier="GST_VIDEO_INTERLACE_MODE_FIELDS"
+ glib:nick="fields">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.h"
+ line="61">2 fields are stored in one buffer, use the
+ frame ID to get access to the required field. For multiview (the
+ 'views' property &gt; 1) the fields of view N can be found at frame ID
+ (N * 2) and (N * 2) + 1.
+ Each field has only half the amount of lines as noted in the
+ height property. This mode requires multiple GstVideoMeta metadata
+ to describe the fields.</doc>
+ </member>
+ <member name="alternate"
+ value="4"
+ c:identifier="GST_VIDEO_INTERLACE_MODE_ALTERNATE"
+ glib:nick="alternate">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.h"
+ line="68">1 field is stored in one buffer,
+ @GST_VIDEO_BUFFER_FLAG_TF or @GST_VIDEO_BUFFER_FLAG_BF indicates if
+ the buffer is carrying the top or bottom field, respectively. The top and
+ bottom buffers must alternate in the pipeline, with this mode
+ (Since: 1.16).</doc>
+ </member>
+ <function name="from_string"
+ c:identifier="gst_video_interlace_mode_from_string"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.c"
+ line="315">Convert @mode to a #GstVideoInterlaceMode</doc>
+ <source-position filename="gst-libs/gst/video/video-info.h" line="89"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.c"
+ line="321">the #GstVideoInterlaceMode of @mode or
+ #GST_VIDEO_INTERLACE_MODE_PROGRESSIVE when @mode is not a valid
+ string representation for a #GstVideoInterlaceMode.</doc>
+ <type name="VideoInterlaceMode" c:type="GstVideoInterlaceMode"/>
+ </return-value>
+ <parameters>
+ <parameter name="mode" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.c"
+ line="317">a mode</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="to_string"
+ c:identifier="gst_video_interlace_mode_to_string"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.c"
+ line="296">Convert @mode to its string representation.</doc>
+ <source-position filename="gst-libs/gst/video/video-info.h" line="86"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.c"
+ line="302">@mode as a string or NULL if @mode in invalid.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="mode" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.c"
+ line="298">a #GstVideoInterlaceMode</doc>
+ <type name="VideoInterlaceMode" c:type="GstVideoInterlaceMode"/>
+ </parameter>
+ </parameters>
+ </function>
+ </enumeration>
+ <record name="VideoMasteringDisplayInfo"
+ c:type="GstVideoMasteringDisplayInfo"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-hdr.h"
+ line="48">Mastering display color volume information defined by SMPTE ST 2086
+(a.k.a static HDR metadata).</doc>
+ <source-position filename="gst-libs/gst/video/video-hdr.h" line="74"/>
+ <field name="display_primaries" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-hdr.h"
+ line="50">the xy coordinates of primaries in the CIE 1931 color space.
+ the index 0 contains red, 1 is for green and 2 is for blue.
+ each value is normalized to 50000 (meaning that in unit of 0.00002)</doc>
+ <array zero-terminated="0" fixed-size="3">
+ <type name="VideoMasteringDisplayInfoCoordinates"
+ c:type="GstVideoMasteringDisplayInfoCoordinates"/>
+ </array>
+ </field>
+ <field name="white_point" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-hdr.h"
+ line="53">the xy coordinates of white point in the CIE 1931 color space.
+ each value is normalized to 50000 (meaning that in unit of 0.00002)</doc>
+ <type name="VideoMasteringDisplayInfoCoordinates"
+ c:type="GstVideoMasteringDisplayInfoCoordinates"/>
+ </field>
+ <field name="max_display_mastering_luminance" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-hdr.h"
+ line="55">the maximum value of display luminance
+ in unit of 0.0001 candelas per square metre (cd/m^2 and nit)</doc>
+ <type name="guint32" c:type="guint32"/>
+ </field>
+ <field name="min_display_mastering_luminance" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-hdr.h"
+ line="57">the minimum value of display luminance
+ in unit of 0.0001 candelas per square metre (cd/m^2 and nit)</doc>
+ <type name="guint32" c:type="guint32"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <method name="add_to_caps"
+ c:identifier="gst_video_mastering_display_info_add_to_caps"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-hdr.c"
+ line="222">Set string representation of @minfo to @caps</doc>
+ <source-position filename="gst-libs/gst/video/video-hdr.h" line="95"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-hdr.c"
+ line="229">%TRUE if @minfo was successfully set to @caps</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="minfo" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-hdr.c"
+ line="224">a #GstVideoMasteringDisplayInfo</doc>
+ <type name="VideoMasteringDisplayInfo"
+ c:type="const GstVideoMasteringDisplayInfo*"/>
+ </instance-parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-hdr.c"
+ line="225">a #GstCaps</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="from_caps"
+ c:identifier="gst_video_mastering_display_info_from_caps"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-hdr.c"
+ line="192">Parse @caps and update @minfo</doc>
+ <source-position filename="gst-libs/gst/video/video-hdr.h" line="91"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-hdr.c"
+ line="199">%TRUE if @caps has #GstVideoMasteringDisplayInfo and could be parsed</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="minfo" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-hdr.c"
+ line="194">a #GstVideoMasteringDisplayInfo</doc>
+ <type name="VideoMasteringDisplayInfo"
+ c:type="GstVideoMasteringDisplayInfo*"/>
+ </instance-parameter>
+ <parameter name="caps" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-hdr.c"
+ line="195">a #GstCaps</doc>
+ <type name="Gst.Caps" c:type="const GstCaps*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="init"
+ c:identifier="gst_video_mastering_display_info_init"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-hdr.c"
+ line="44">Initialize @minfo</doc>
+ <source-position filename="gst-libs/gst/video/video-hdr.h" line="77"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="minfo" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-hdr.c"
+ line="46">a #GstVideoMasteringDisplayInfo</doc>
+ <type name="VideoMasteringDisplayInfo"
+ c:type="GstVideoMasteringDisplayInfo*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="is_equal"
+ c:identifier="gst_video_mastering_display_info_is_equal"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-hdr.c"
+ line="155">Checks equality between @minfo and @other.</doc>
+ <source-position filename="gst-libs/gst/video/video-hdr.h" line="87"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-hdr.c"
+ line="162">%TRUE if @minfo and @other are equal.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="minfo" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-hdr.c"
+ line="157">a #GstVideoMasteringDisplayInfo</doc>
+ <type name="VideoMasteringDisplayInfo"
+ c:type="const GstVideoMasteringDisplayInfo*"/>
+ </instance-parameter>
+ <parameter name="other" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-hdr.c"
+ line="158">a #GstVideoMasteringDisplayInfo</doc>
+ <type name="VideoMasteringDisplayInfo"
+ c:type="const GstVideoMasteringDisplayInfo*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="to_string"
+ c:identifier="gst_video_mastering_display_info_to_string"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-hdr.c"
+ line="136">Convert @minfo to its string representation</doc>
+ <source-position filename="gst-libs/gst/video/video-hdr.h" line="84"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-hdr.c"
+ line="142">a string representation of @minfo</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="minfo" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-hdr.c"
+ line="138">a #GstVideoMasteringDisplayInfo</doc>
+ <type name="VideoMasteringDisplayInfo"
+ c:type="const GstVideoMasteringDisplayInfo*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <function name="from_string"
+ c:identifier="gst_video_mastering_display_info_from_string"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-hdr.c"
+ line="60">Extract #GstVideoMasteringDisplayInfo from @mastering</doc>
+ <source-position filename="gst-libs/gst/video/video-hdr.h" line="80"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-hdr.c"
+ line="67">%TRUE if @minfo was filled with @mastering</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="minfo"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-hdr.c"
+ line="62">a #GstVideoMasteringDisplayInfo</doc>
+ <type name="VideoMasteringDisplayInfo"
+ c:type="GstVideoMasteringDisplayInfo*"/>
+ </parameter>
+ <parameter name="mastering" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-hdr.c"
+ line="63">a #GstStructure representing #GstVideoMasteringDisplayInfo</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ </record>
+ <record name="VideoMasteringDisplayInfoCoordinates"
+ c:type="GstVideoMasteringDisplayInfoCoordinates"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-hdr.h"
+ line="32">Used to represent display_primaries and white_point of
+#GstVideoMasteringDisplayInfo struct. See #GstVideoMasteringDisplayInfo</doc>
+ <source-position filename="gst-libs/gst/video/video-hdr.h" line="46"/>
+ <field name="x" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-hdr.h"
+ line="34">the x coordinate of CIE 1931 color space in unit of 0.00002.</doc>
+ <type name="guint16" c:type="guint16"/>
+ </field>
+ <field name="y" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-hdr.h"
+ line="35">the y coordinate of CIE 1931 color space in unit of 0.00002.</doc>
+ <type name="guint16" c:type="guint16"/>
+ </field>
+ </record>
+ <enumeration name="VideoMatrixMode"
+ version="1.6"
+ glib:type-name="GstVideoMatrixMode"
+ glib:get-type="gst_video_matrix_mode_get_type"
+ c:type="GstVideoMatrixMode">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-converter.h"
+ line="198">Different color matrix conversion modes</doc>
+ <member name="full"
+ value="0"
+ c:identifier="GST_VIDEO_MATRIX_MODE_FULL"
+ glib:nick="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-converter.h"
+ line="200">do conversion between color matrices</doc>
+ </member>
+ <member name="input_only"
+ value="1"
+ c:identifier="GST_VIDEO_MATRIX_MODE_INPUT_ONLY"
+ glib:nick="input-only">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-converter.h"
+ line="201">use the input color matrix to convert
+ to and from R'G'B</doc>
+ </member>
+ <member name="output_only"
+ value="2"
+ c:identifier="GST_VIDEO_MATRIX_MODE_OUTPUT_ONLY"
+ glib:nick="output-only">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-converter.h"
+ line="203">use the output color matrix to convert
+ to and from R'G'B</doc>
+ </member>
+ <member name="none"
+ value="3"
+ c:identifier="GST_VIDEO_MATRIX_MODE_NONE"
+ glib:nick="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-converter.h"
+ line="205">disable color matrix conversion.</doc>
+ </member>
+ </enumeration>
+ <record name="VideoMeta" c:type="GstVideoMeta">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.h"
+ line="40">Extra buffer metadata describing image properties
+
+This meta can also be used by downstream elements to specifiy their
+buffer layout requirements for upstream. Upstream should try to
+fit those requirements, if possible, in order to prevent buffer copies.
+
+This is done by passing a custom #GstStructure to
+gst_query_add_allocation_meta() when handling the ALLOCATION query.
+This structure should be named 'video-meta' and can have the following
+fields:
+- padding-top (uint): extra pixels on the top
+- padding-bottom (uint): extra pixels on the bottom
+- padding-left (uint): extra pixels on the left side
+- padding-right (uint): extra pixels on the right side
+The padding fields have the same semantic as #GstVideoMeta.alignment
+and so represent the paddings requested on produced video buffers.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideometa.h" line="98"/>
+ <field name="meta" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.h"
+ line="42">parent #GstMeta</doc>
+ <type name="Gst.Meta" c:type="GstMeta"/>
+ </field>
+ <field name="buffer" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.h"
+ line="43">the buffer this metadata belongs to</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </field>
+ <field name="flags" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.h"
+ line="44">additional video flags</doc>
+ <type name="VideoFrameFlags" c:type="GstVideoFrameFlags"/>
+ </field>
+ <field name="format" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.h"
+ line="45">the video format</doc>
+ <type name="VideoFormat" c:type="GstVideoFormat"/>
+ </field>
+ <field name="id" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.h"
+ line="46">identifier of the frame</doc>
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="width" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.h"
+ line="47">the video width</doc>
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="height" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.h"
+ line="48">the video height</doc>
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="n_planes" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.h"
+ line="49">the number of planes in the image</doc>
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="offset" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.h"
+ line="50">array of offsets for the planes. This field might not always be
+ valid, it is used by the default implementation of @map.</doc>
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gsize" c:type="gsize"/>
+ </array>
+ </field>
+ <field name="stride" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.h"
+ line="52">array of strides for the planes. This field might not always be
+ valid, it is used by the default implementation of @map.</doc>
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gint" c:type="gint"/>
+ </array>
+ </field>
+ <field name="map">
+ <callback name="map">
+ <source-position filename="gst-libs/gst/video/gstvideometa.h"
+ line="93"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="meta" transfer-ownership="none">
+ <type name="VideoMeta" c:type="GstVideoMeta*"/>
+ </parameter>
+ <parameter name="plane" transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="info" transfer-ownership="none">
+ <type name="Gst.MapInfo" c:type="GstMapInfo*"/>
+ </parameter>
+ <parameter name="data" transfer-ownership="none">
+ <type name="gpointer" c:type="gpointer*"/>
+ </parameter>
+ <parameter name="stride" transfer-ownership="none">
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <type name="Gst.MapFlags" c:type="GstMapFlags"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="unmap">
+ <callback name="unmap">
+ <source-position filename="gst-libs/gst/video/gstvideometa.h"
+ line="95"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="meta" transfer-ownership="none">
+ <type name="VideoMeta" c:type="GstVideoMeta*"/>
+ </parameter>
+ <parameter name="plane" transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="info" transfer-ownership="none">
+ <type name="Gst.MapInfo" c:type="GstMapInfo*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="alignment" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.h"
+ line="56">the paddings and alignment constraints of the video buffer.
+It is up to the caller of `gst_buffer_add_video_meta_full()` to set it
+using gst_video_meta_set_alignment(), if they did not it defaults
+to no padding and no alignment. Since: 1.18</doc>
+ <type name="VideoAlignment" c:type="GstVideoAlignment"/>
+ </field>
+ <method name="get_plane_height"
+ c:identifier="gst_video_meta_get_plane_height"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="483">Compute the padded height of each plane from @meta (padded size
+divided by stride).
+
+It is not valid to call this function with a meta associated to a
+TILED video format.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideometa.h"
+ line="136"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="494">%TRUE if @meta's alignment is valid and @plane_height has been
+updated, %FALSE otherwise</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="meta" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="485">a #GstVideoMeta</doc>
+ <type name="VideoMeta" c:type="GstVideoMeta*"/>
+ </instance-parameter>
+ <parameter name="plane_height"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="486">array used to store the plane height</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_plane_size"
+ c:identifier="gst_video_meta_get_plane_size"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="460">Compute the size, in bytes, of each video plane described in @meta including
+any padding and alignment constraint defined in @meta-&gt;alignment.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideometa.h"
+ line="133"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="468">%TRUE if @meta's alignment is valid and @plane_size has been
+updated, %FALSE otherwise</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="meta" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="462">a #GstVideoMeta</doc>
+ <type name="VideoMeta" c:type="GstVideoMeta*"/>
+ </instance-parameter>
+ <parameter name="plane_size"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="463">array used to store the plane sizes</doc>
+ <type name="gsize" c:type="gsize*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="map" c:identifier="gst_video_meta_map">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="345">Map the video plane with index @plane in @meta and return a pointer to the
+first byte of the plane and the stride of the plane.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideometa.h"
+ line="123"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="357">TRUE if the map operation was successful.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="meta" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="347">a #GstVideoMeta</doc>
+ <type name="VideoMeta" c:type="GstVideoMeta*"/>
+ </instance-parameter>
+ <parameter name="plane" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="348">a plane</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="349">a #GstMapInfo</doc>
+ <type name="Gst.MapInfo" c:type="GstMapInfo*"/>
+ </parameter>
+ <parameter name="data"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ nullable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="350">the data of @plane</doc>
+ <type name="gpointer" c:type="gpointer*"/>
+ </parameter>
+ <parameter name="stride"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="351">the stride of @plane</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="352">@GstMapFlags</doc>
+ <type name="Gst.MapFlags" c:type="GstMapFlags"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_alignment"
+ c:identifier="gst_video_meta_set_alignment"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="424">Set the alignment of @meta to @alignment. This function checks that
+the paddings defined in @alignment are compatible with the strides
+defined in @meta and will fail to update if they are not.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideometa.h"
+ line="130"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="433">%TRUE if @alignment's meta has been updated, %FALSE if not</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="meta" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="426">a #GstVideoMeta</doc>
+ <type name="VideoMeta" c:type="GstVideoMeta*"/>
+ </instance-parameter>
+ <parameter name="alignment" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="427">a #GstVideoAlignment</doc>
+ <type name="VideoAlignment" c:type="GstVideoAlignment"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="unmap" c:identifier="gst_video_meta_unmap">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="376">Unmap a previously mapped plane with gst_video_meta_map().</doc>
+ <source-position filename="gst-libs/gst/video/gstvideometa.h"
+ line="127"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="384">TRUE if the memory was successfully unmapped.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="meta" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="378">a #GstVideoMeta</doc>
+ <type name="VideoMeta" c:type="GstVideoMeta*"/>
+ </instance-parameter>
+ <parameter name="plane" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="379">a plane</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="380">a #GstMapInfo</doc>
+ <type name="Gst.MapInfo" c:type="GstMapInfo*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <function name="get_info" c:identifier="gst_video_meta_get_info">
+ <source-position filename="gst-libs/gst/video/gstvideometa.h"
+ line="104"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.MetaInfo" c:type="const GstMetaInfo*"/>
+ </return-value>
+ </function>
+ </record>
+ <record name="VideoMetaTransform" c:type="GstVideoMetaTransform">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.h"
+ line="177">Extra data passed to a video transform #GstMetaTransformFunction such as:
+"gst-video-scale".</doc>
+ <source-position filename="gst-libs/gst/video/gstvideometa.h"
+ line="188"/>
+ <field name="in_info" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.h"
+ line="179">the input #GstVideoInfo</doc>
+ <type name="VideoInfo" c:type="GstVideoInfo*"/>
+ </field>
+ <field name="out_info" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.h"
+ line="180">the output #GstVideoInfo</doc>
+ <type name="VideoInfo" c:type="GstVideoInfo*"/>
+ </field>
+ <function name="scale_get_quark"
+ c:identifier="gst_video_meta_transform_scale_get_quark">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="619">Get the #GQuark for the "gst-video-scale" metadata transform operation.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideometa.h"
+ line="169"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="624">a #GQuark</doc>
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </return-value>
+ </function>
+ </record>
+ <bitfield name="VideoMultiviewFlags"
+ glib:type-name="GstVideoMultiviewFlags"
+ glib:get-type="gst_video_multiview_flags_get_type"
+ c:type="GstVideoMultiviewFlags">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.h"
+ line="202">GstVideoMultiviewFlags are used to indicate extra properties of a
+stereo/multiview stream beyond the frame layout and buffer mapping
+that is conveyed in the #GstVideoMultiviewMode.</doc>
+ <member name="none"
+ value="0"
+ c:identifier="GST_VIDEO_MULTIVIEW_FLAGS_NONE"
+ glib:nick="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.h"
+ line="204">No flags</doc>
+ </member>
+ <member name="right_view_first"
+ value="1"
+ c:identifier="GST_VIDEO_MULTIVIEW_FLAGS_RIGHT_VIEW_FIRST"
+ glib:nick="right-view-first">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.h"
+ line="205">For stereo streams, the
+ normal arrangement of left and right views is reversed.</doc>
+ </member>
+ <member name="left_flipped"
+ value="2"
+ c:identifier="GST_VIDEO_MULTIVIEW_FLAGS_LEFT_FLIPPED"
+ glib:nick="left-flipped">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.h"
+ line="207">The left view is vertically
+ mirrored.</doc>
+ </member>
+ <member name="left_flopped"
+ value="4"
+ c:identifier="GST_VIDEO_MULTIVIEW_FLAGS_LEFT_FLOPPED"
+ glib:nick="left-flopped">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.h"
+ line="209">The left view is horizontally
+ mirrored.</doc>
+ </member>
+ <member name="right_flipped"
+ value="8"
+ c:identifier="GST_VIDEO_MULTIVIEW_FLAGS_RIGHT_FLIPPED"
+ glib:nick="right-flipped">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.h"
+ line="211">The right view is
+ vertically mirrored.</doc>
+ </member>
+ <member name="right_flopped"
+ value="16"
+ c:identifier="GST_VIDEO_MULTIVIEW_FLAGS_RIGHT_FLOPPED"
+ glib:nick="right-flopped">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.h"
+ line="213">The right view is
+ horizontally mirrored.</doc>
+ </member>
+ <member name="half_aspect"
+ value="16384"
+ c:identifier="GST_VIDEO_MULTIVIEW_FLAGS_HALF_ASPECT"
+ glib:nick="half-aspect">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.h"
+ line="215">For frame-packed
+ multiview modes, indicates that the individual
+ views have been encoded with half the true width or height
+ and should be scaled back up for display. This flag
+ is used for overriding input layout interpretation
+ by adjusting pixel-aspect-ratio.
+ For side-by-side, column interleaved or checkerboard packings, the
+ pixel width will be doubled. For row interleaved and top-bottom
+ encodings, pixel height will be doubled.</doc>
+ </member>
+ <member name="mixed_mono"
+ value="32768"
+ c:identifier="GST_VIDEO_MULTIVIEW_FLAGS_MIXED_MONO"
+ glib:nick="mixed-mono">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.h"
+ line="224">The video stream contains both
+ mono and multiview portions, signalled on each buffer by the
+ absence or presence of the @GST_VIDEO_BUFFER_FLAG_MULTIPLE_VIEW
+ buffer flag.</doc>
+ </member>
+ </bitfield>
+ <class name="VideoMultiviewFlagsSet"
+ c:symbol-prefix="video_multiview_flagset"
+ parent="Gst.FlagSet"
+ glib:type-name="GstVideoMultiviewFlagsSet"
+ glib:get-type="gst_video_multiview_flagset_get_type"
+ glib:fundamental="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-multiview.h"
+ line="28">See #GstVideoMultiviewFlags.</doc>
+ </class>
+ <enumeration name="VideoMultiviewFramePacking"
+ glib:type-name="GstVideoMultiviewFramePacking"
+ glib:get-type="gst_video_multiview_frame_packing_get_type"
+ c:type="GstVideoMultiviewFramePacking">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.h"
+ line="153">#GstVideoMultiviewFramePacking represents the subset of #GstVideoMultiviewMode
+values that can be applied to any video frame without needing extra metadata.
+It can be used by elements that provide a property to override the
+multiview interpretation of a video stream when the video doesn't contain
+any markers.
+
+This enum is used (for example) on playbin, to re-interpret a played
+video stream as a stereoscopic video. The individual enum values are
+equivalent to and have the same value as the matching #GstVideoMultiviewMode.</doc>
+ <member name="none"
+ value="-1"
+ c:identifier="GST_VIDEO_MULTIVIEW_FRAME_PACKING_NONE"
+ glib:nick="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.h"
+ line="155">A special value indicating
+no frame packing info.</doc>
+ </member>
+ <member name="mono"
+ value="0"
+ c:identifier="GST_VIDEO_MULTIVIEW_FRAME_PACKING_MONO"
+ glib:nick="mono">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.h"
+ line="157">All frames are monoscopic.</doc>
+ </member>
+ <member name="left"
+ value="1"
+ c:identifier="GST_VIDEO_MULTIVIEW_FRAME_PACKING_LEFT"
+ glib:nick="left">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.h"
+ line="158">All frames represent a left-eye view.</doc>
+ </member>
+ <member name="right"
+ value="2"
+ c:identifier="GST_VIDEO_MULTIVIEW_FRAME_PACKING_RIGHT"
+ glib:nick="right">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.h"
+ line="159">All frames represent a right-eye view.</doc>
+ </member>
+ <member name="side_by_side"
+ value="3"
+ c:identifier="GST_VIDEO_MULTIVIEW_FRAME_PACKING_SIDE_BY_SIDE"
+ glib:nick="side-by-side">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.h"
+ line="160">Left and right eye views are
+provided in the left and right half of the frame respectively.</doc>
+ </member>
+ <member name="side_by_side_quincunx"
+ value="4"
+ c:identifier="GST_VIDEO_MULTIVIEW_FRAME_PACKING_SIDE_BY_SIDE_QUINCUNX"
+ glib:nick="side-by-side-quincunx">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.h"
+ line="162">Left and right eye
+views are provided in the left and right half of the frame, but
+have been sampled using quincunx method, with half-pixel offset
+between the 2 views.</doc>
+ </member>
+ <member name="column_interleaved"
+ value="5"
+ c:identifier="GST_VIDEO_MULTIVIEW_FRAME_PACKING_COLUMN_INTERLEAVED"
+ glib:nick="column-interleaved">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.h"
+ line="166">Alternating vertical
+columns of pixels represent the left and right eye view respectively.</doc>
+ </member>
+ <member name="row_interleaved"
+ value="6"
+ c:identifier="GST_VIDEO_MULTIVIEW_FRAME_PACKING_ROW_INTERLEAVED"
+ glib:nick="row-interleaved">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.h"
+ line="168">Alternating horizontal
+rows of pixels represent the left and right eye view respectively.</doc>
+ </member>
+ <member name="top_bottom"
+ value="7"
+ c:identifier="GST_VIDEO_MULTIVIEW_FRAME_PACKING_TOP_BOTTOM"
+ glib:nick="top-bottom">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.h"
+ line="170">The top half of the frame
+contains the left eye, and the bottom half the right eye.</doc>
+ </member>
+ <member name="checkerboard"
+ value="8"
+ c:identifier="GST_VIDEO_MULTIVIEW_FRAME_PACKING_CHECKERBOARD"
+ glib:nick="checkerboard">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.h"
+ line="172">Pixels are arranged with
+alternating pixels representing left and right eye views in a
+checkerboard fashion.</doc>
+ </member>
+ </enumeration>
+ <enumeration name="VideoMultiviewMode"
+ glib:type-name="GstVideoMultiviewMode"
+ glib:get-type="gst_video_multiview_mode_get_type"
+ c:type="GstVideoMultiviewMode">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.h"
+ line="91">All possible stereoscopic 3D and multiview representations.
+In conjunction with #GstVideoMultiviewFlags, describes how
+multiview content is being transported in the stream.</doc>
+ <member name="none"
+ value="-1"
+ c:identifier="GST_VIDEO_MULTIVIEW_MODE_NONE"
+ glib:nick="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.h"
+ line="93">A special value indicating
+no multiview information. Used in GstVideoInfo and other places to
+indicate that no specific multiview handling has been requested or
+provided. This value is never carried on caps.</doc>
+ </member>
+ <member name="mono"
+ value="0"
+ c:identifier="GST_VIDEO_MULTIVIEW_MODE_MONO"
+ glib:nick="mono">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.h"
+ line="97">All frames are monoscopic.</doc>
+ </member>
+ <member name="left"
+ value="1"
+ c:identifier="GST_VIDEO_MULTIVIEW_MODE_LEFT"
+ glib:nick="left">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.h"
+ line="98">All frames represent a left-eye view.</doc>
+ </member>
+ <member name="right"
+ value="2"
+ c:identifier="GST_VIDEO_MULTIVIEW_MODE_RIGHT"
+ glib:nick="right">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.h"
+ line="99">All frames represent a right-eye view.</doc>
+ </member>
+ <member name="side_by_side"
+ value="3"
+ c:identifier="GST_VIDEO_MULTIVIEW_MODE_SIDE_BY_SIDE"
+ glib:nick="side-by-side">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.h"
+ line="100">Left and right eye views are
+provided in the left and right half of the frame respectively.</doc>
+ </member>
+ <member name="side_by_side_quincunx"
+ value="4"
+ c:identifier="GST_VIDEO_MULTIVIEW_MODE_SIDE_BY_SIDE_QUINCUNX"
+ glib:nick="side-by-side-quincunx">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.h"
+ line="102">Left and right eye
+views are provided in the left and right half of the frame, but
+have been sampled using quincunx method, with half-pixel offset
+between the 2 views.</doc>
+ </member>
+ <member name="column_interleaved"
+ value="5"
+ c:identifier="GST_VIDEO_MULTIVIEW_MODE_COLUMN_INTERLEAVED"
+ glib:nick="column-interleaved">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.h"
+ line="106">Alternating vertical
+columns of pixels represent the left and right eye view respectively.</doc>
+ </member>
+ <member name="row_interleaved"
+ value="6"
+ c:identifier="GST_VIDEO_MULTIVIEW_MODE_ROW_INTERLEAVED"
+ glib:nick="row-interleaved">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.h"
+ line="108">Alternating horizontal
+rows of pixels represent the left and right eye view respectively.</doc>
+ </member>
+ <member name="top_bottom"
+ value="7"
+ c:identifier="GST_VIDEO_MULTIVIEW_MODE_TOP_BOTTOM"
+ glib:nick="top-bottom">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.h"
+ line="110">The top half of the frame
+contains the left eye, and the bottom half the right eye.</doc>
+ </member>
+ <member name="checkerboard"
+ value="8"
+ c:identifier="GST_VIDEO_MULTIVIEW_MODE_CHECKERBOARD"
+ glib:nick="checkerboard">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.h"
+ line="112">Pixels are arranged with
+alternating pixels representing left and right eye views in a
+checkerboard fashion.</doc>
+ </member>
+ <member name="frame_by_frame"
+ value="32"
+ c:identifier="GST_VIDEO_MULTIVIEW_MODE_FRAME_BY_FRAME"
+ glib:nick="frame-by-frame">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.h"
+ line="115">Left and right eye views
+are provided in separate frames alternately.</doc>
+ </member>
+ <member name="multiview_frame_by_frame"
+ value="33"
+ c:identifier="GST_VIDEO_MULTIVIEW_MODE_MULTIVIEW_FRAME_BY_FRAME"
+ glib:nick="multiview-frame-by-frame">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.h"
+ line="117">Multiple
+independent views are provided in separate frames in sequence.
+This method only applies to raw video buffers at the moment.
+Specific view identification is via the `GstVideoMultiviewMeta`
+and #GstVideoMeta(s) on raw video buffers.</doc>
+ </member>
+ <member name="separated"
+ value="34"
+ c:identifier="GST_VIDEO_MULTIVIEW_MODE_SEPARATED"
+ glib:nick="separated">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.h"
+ line="122">Multiple views are
+provided as separate #GstMemory framebuffers attached to each
+#GstBuffer, described by the `GstVideoMultiviewMeta`
+and #GstVideoMeta(s)</doc>
+ </member>
+ <function name="from_caps_string"
+ c:identifier="gst_video_multiview_mode_from_caps_string"
+ version="1.6">
+ <source-position filename="gst-libs/gst/video/video-multiview.h"
+ line="41"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-multiview.c"
+ line="93">The #GstVideoMultiviewMode value
+
+Given a string from a caps multiview-mode field,
+output the corresponding #GstVideoMultiviewMode
+or #GST_VIDEO_MULTIVIEW_MODE_NONE</doc>
+ <type name="VideoMultiviewMode" c:type="GstVideoMultiviewMode"/>
+ </return-value>
+ <parameters>
+ <parameter name="caps_mview_mode" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-multiview.c"
+ line="91">multiview-mode field string from caps</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="to_caps_string"
+ c:identifier="gst_video_multiview_mode_to_caps_string"
+ version="1.6">
+ <source-position filename="gst-libs/gst/video/video-multiview.h"
+ line="38"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-multiview.c"
+ line="68">The caps string representation of the mode, or NULL if invalid.
+
+Given a #GstVideoMultiviewMode returns the multiview-mode caps string
+for insertion into a caps structure</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="mview_mode" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-multiview.c"
+ line="66">A #GstVideoMultiviewMode value</doc>
+ <type name="VideoMultiviewMode" c:type="GstVideoMultiviewMode"/>
+ </parameter>
+ </parameters>
+ </function>
+ </enumeration>
+ <interface name="VideoOrientation"
+ c:symbol-prefix="video_orientation"
+ c:type="GstVideoOrientation"
+ glib:type-name="GstVideoOrientation"
+ glib:get-type="gst_video_orientation_get_type"
+ glib:type-struct="VideoOrientationInterface">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videoorientation.c"
+ line="30">The interface allows unified access to control flipping and autocenter
+operation of video-sources or operators.</doc>
+ <source-position filename="gst-libs/gst/video/videoorientation.h"
+ line="78"/>
+ <virtual-method name="get_hcenter" invoker="get_hcenter">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videoorientation.c"
+ line="104">Get the horizontal centering offset from the given object.</doc>
+ <source-position filename="gst-libs/gst/video/videoorientation.h"
+ line="71"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videoorientation.c"
+ line="110">%TRUE in case the element supports centering</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="video_orientation"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videoorientation.c"
+ line="106">#GstVideoOrientation interface of a #GstElement</doc>
+ <type name="VideoOrientation" c:type="GstVideoOrientation*"/>
+ </instance-parameter>
+ <parameter name="center"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videoorientation.c"
+ line="107">return location for the result</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="get_hflip" invoker="get_hflip">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videoorientation.c"
+ line="62">Get the horizontal flipping state (%TRUE for flipped) from the given object.</doc>
+ <source-position filename="gst-libs/gst/video/videoorientation.h"
+ line="69"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videoorientation.c"
+ line="68">%TRUE in case the element supports flipping</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="video_orientation"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videoorientation.c"
+ line="64">#GstVideoOrientation interface of a #GstElement</doc>
+ <type name="VideoOrientation" c:type="GstVideoOrientation*"/>
+ </instance-parameter>
+ <parameter name="flip"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videoorientation.c"
+ line="65">return location for the result</doc>
+ <type name="gboolean" c:type="gboolean*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="get_vcenter" invoker="get_vcenter">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videoorientation.c"
+ line="125">Get the vertical centering offset from the given object.</doc>
+ <source-position filename="gst-libs/gst/video/videoorientation.h"
+ line="72"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videoorientation.c"
+ line="131">%TRUE in case the element supports centering</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="video_orientation"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videoorientation.c"
+ line="127">#GstVideoOrientation interface of a #GstElement</doc>
+ <type name="VideoOrientation" c:type="GstVideoOrientation*"/>
+ </instance-parameter>
+ <parameter name="center"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videoorientation.c"
+ line="128">return location for the result</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="get_vflip" invoker="get_vflip">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videoorientation.c"
+ line="83">Get the vertical flipping state (%TRUE for flipped) from the given object.</doc>
+ <source-position filename="gst-libs/gst/video/videoorientation.h"
+ line="70"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videoorientation.c"
+ line="89">%TRUE in case the element supports flipping</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="video_orientation"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videoorientation.c"
+ line="85">#GstVideoOrientation interface of a #GstElement</doc>
+ <type name="VideoOrientation" c:type="GstVideoOrientation*"/>
+ </instance-parameter>
+ <parameter name="flip"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videoorientation.c"
+ line="86">return location for the result</doc>
+ <type name="gboolean" c:type="gboolean*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="set_hcenter" invoker="set_hcenter">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videoorientation.c"
+ line="188">Set the horizontal centering offset for the given object.</doc>
+ <source-position filename="gst-libs/gst/video/videoorientation.h"
+ line="76"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videoorientation.c"
+ line="194">%TRUE in case the element supports centering</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="video_orientation"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videoorientation.c"
+ line="190">#GstVideoOrientation interface of a #GstElement</doc>
+ <type name="VideoOrientation" c:type="GstVideoOrientation*"/>
+ </instance-parameter>
+ <parameter name="center" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videoorientation.c"
+ line="191">centering offset</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="set_hflip" invoker="set_hflip">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videoorientation.c"
+ line="146">Set the horizontal flipping state (%TRUE for flipped) for the given object.</doc>
+ <source-position filename="gst-libs/gst/video/videoorientation.h"
+ line="74"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videoorientation.c"
+ line="152">%TRUE in case the element supports flipping</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="video_orientation"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videoorientation.c"
+ line="148">#GstVideoOrientation interface of a #GstElement</doc>
+ <type name="VideoOrientation" c:type="GstVideoOrientation*"/>
+ </instance-parameter>
+ <parameter name="flip" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videoorientation.c"
+ line="149">use flipping</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="set_vcenter" invoker="set_vcenter">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videoorientation.c"
+ line="209">Set the vertical centering offset for the given object.</doc>
+ <source-position filename="gst-libs/gst/video/videoorientation.h"
+ line="77"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videoorientation.c"
+ line="215">%TRUE in case the element supports centering</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="video_orientation"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videoorientation.c"
+ line="211">#GstVideoOrientation interface of a #GstElement</doc>
+ <type name="VideoOrientation" c:type="GstVideoOrientation*"/>
+ </instance-parameter>
+ <parameter name="center" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videoorientation.c"
+ line="212">centering offset</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="set_vflip" invoker="set_vflip">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videoorientation.c"
+ line="167">Set the vertical flipping state (%TRUE for flipped) for the given object.</doc>
+ <source-position filename="gst-libs/gst/video/videoorientation.h"
+ line="75"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videoorientation.c"
+ line="173">%TRUE in case the element supports flipping</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="video_orientation"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videoorientation.c"
+ line="169">#GstVideoOrientation interface of a #GstElement</doc>
+ <type name="VideoOrientation" c:type="GstVideoOrientation*"/>
+ </instance-parameter>
+ <parameter name="flip" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videoorientation.c"
+ line="170">use flipping</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <method name="get_hcenter"
+ c:identifier="gst_video_orientation_get_hcenter">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videoorientation.c"
+ line="104">Get the horizontal centering offset from the given object.</doc>
+ <source-position filename="gst-libs/gst/video/videoorientation.h"
+ line="92"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videoorientation.c"
+ line="110">%TRUE in case the element supports centering</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="video_orientation"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videoorientation.c"
+ line="106">#GstVideoOrientation interface of a #GstElement</doc>
+ <type name="VideoOrientation" c:type="GstVideoOrientation*"/>
+ </instance-parameter>
+ <parameter name="center"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videoorientation.c"
+ line="107">return location for the result</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_hflip" c:identifier="gst_video_orientation_get_hflip">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videoorientation.c"
+ line="62">Get the horizontal flipping state (%TRUE for flipped) from the given object.</doc>
+ <source-position filename="gst-libs/gst/video/videoorientation.h"
+ line="86"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videoorientation.c"
+ line="68">%TRUE in case the element supports flipping</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="video_orientation"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videoorientation.c"
+ line="64">#GstVideoOrientation interface of a #GstElement</doc>
+ <type name="VideoOrientation" c:type="GstVideoOrientation*"/>
+ </instance-parameter>
+ <parameter name="flip"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videoorientation.c"
+ line="65">return location for the result</doc>
+ <type name="gboolean" c:type="gboolean*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_vcenter"
+ c:identifier="gst_video_orientation_get_vcenter">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videoorientation.c"
+ line="125">Get the vertical centering offset from the given object.</doc>
+ <source-position filename="gst-libs/gst/video/videoorientation.h"
+ line="95"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videoorientation.c"
+ line="131">%TRUE in case the element supports centering</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="video_orientation"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videoorientation.c"
+ line="127">#GstVideoOrientation interface of a #GstElement</doc>
+ <type name="VideoOrientation" c:type="GstVideoOrientation*"/>
+ </instance-parameter>
+ <parameter name="center"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videoorientation.c"
+ line="128">return location for the result</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_vflip" c:identifier="gst_video_orientation_get_vflip">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videoorientation.c"
+ line="83">Get the vertical flipping state (%TRUE for flipped) from the given object.</doc>
+ <source-position filename="gst-libs/gst/video/videoorientation.h"
+ line="89"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videoorientation.c"
+ line="89">%TRUE in case the element supports flipping</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="video_orientation"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videoorientation.c"
+ line="85">#GstVideoOrientation interface of a #GstElement</doc>
+ <type name="VideoOrientation" c:type="GstVideoOrientation*"/>
+ </instance-parameter>
+ <parameter name="flip"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videoorientation.c"
+ line="86">return location for the result</doc>
+ <type name="gboolean" c:type="gboolean*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_hcenter"
+ c:identifier="gst_video_orientation_set_hcenter">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videoorientation.c"
+ line="188">Set the horizontal centering offset for the given object.</doc>
+ <source-position filename="gst-libs/gst/video/videoorientation.h"
+ line="104"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videoorientation.c"
+ line="194">%TRUE in case the element supports centering</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="video_orientation"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videoorientation.c"
+ line="190">#GstVideoOrientation interface of a #GstElement</doc>
+ <type name="VideoOrientation" c:type="GstVideoOrientation*"/>
+ </instance-parameter>
+ <parameter name="center" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videoorientation.c"
+ line="191">centering offset</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_hflip" c:identifier="gst_video_orientation_set_hflip">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videoorientation.c"
+ line="146">Set the horizontal flipping state (%TRUE for flipped) for the given object.</doc>
+ <source-position filename="gst-libs/gst/video/videoorientation.h"
+ line="98"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videoorientation.c"
+ line="152">%TRUE in case the element supports flipping</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="video_orientation"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videoorientation.c"
+ line="148">#GstVideoOrientation interface of a #GstElement</doc>
+ <type name="VideoOrientation" c:type="GstVideoOrientation*"/>
+ </instance-parameter>
+ <parameter name="flip" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videoorientation.c"
+ line="149">use flipping</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_vcenter"
+ c:identifier="gst_video_orientation_set_vcenter">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videoorientation.c"
+ line="209">Set the vertical centering offset for the given object.</doc>
+ <source-position filename="gst-libs/gst/video/videoorientation.h"
+ line="107"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videoorientation.c"
+ line="215">%TRUE in case the element supports centering</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="video_orientation"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videoorientation.c"
+ line="211">#GstVideoOrientation interface of a #GstElement</doc>
+ <type name="VideoOrientation" c:type="GstVideoOrientation*"/>
+ </instance-parameter>
+ <parameter name="center" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videoorientation.c"
+ line="212">centering offset</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_vflip" c:identifier="gst_video_orientation_set_vflip">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videoorientation.c"
+ line="167">Set the vertical flipping state (%TRUE for flipped) for the given object.</doc>
+ <source-position filename="gst-libs/gst/video/videoorientation.h"
+ line="101"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videoorientation.c"
+ line="173">%TRUE in case the element supports flipping</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="video_orientation"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videoorientation.c"
+ line="169">#GstVideoOrientation interface of a #GstElement</doc>
+ <type name="VideoOrientation" c:type="GstVideoOrientation*"/>
+ </instance-parameter>
+ <parameter name="flip" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videoorientation.c"
+ line="170">use flipping</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ </interface>
+ <record name="VideoOrientationInterface"
+ c:type="GstVideoOrientationInterface"
+ glib:is-gtype-struct-for="VideoOrientation">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videoorientation.h"
+ line="47">#GstVideoOrientationInterface interface.</doc>
+ <source-position filename="gst-libs/gst/video/videoorientation.h"
+ line="78"/>
+ <field name="iface">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videoorientation.h"
+ line="49">parent interface type.</doc>
+ <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
+ </field>
+ <field name="get_hflip">
+ <callback name="get_hflip">
+ <source-position filename="gst-libs/gst/video/videoorientation.h"
+ line="69"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videoorientation.c"
+ line="68">%TRUE in case the element supports flipping</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="video_orientation" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videoorientation.c"
+ line="64">#GstVideoOrientation interface of a #GstElement</doc>
+ <type name="VideoOrientation" c:type="GstVideoOrientation*"/>
+ </parameter>
+ <parameter name="flip"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videoorientation.c"
+ line="65">return location for the result</doc>
+ <type name="gboolean" c:type="gboolean*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="get_vflip">
+ <callback name="get_vflip">
+ <source-position filename="gst-libs/gst/video/videoorientation.h"
+ line="70"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videoorientation.c"
+ line="89">%TRUE in case the element supports flipping</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="video_orientation" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videoorientation.c"
+ line="85">#GstVideoOrientation interface of a #GstElement</doc>
+ <type name="VideoOrientation" c:type="GstVideoOrientation*"/>
+ </parameter>
+ <parameter name="flip"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videoorientation.c"
+ line="86">return location for the result</doc>
+ <type name="gboolean" c:type="gboolean*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="get_hcenter">
+ <callback name="get_hcenter">
+ <source-position filename="gst-libs/gst/video/videoorientation.h"
+ line="71"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videoorientation.c"
+ line="110">%TRUE in case the element supports centering</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="video_orientation" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videoorientation.c"
+ line="106">#GstVideoOrientation interface of a #GstElement</doc>
+ <type name="VideoOrientation" c:type="GstVideoOrientation*"/>
+ </parameter>
+ <parameter name="center"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videoorientation.c"
+ line="107">return location for the result</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="get_vcenter">
+ <callback name="get_vcenter">
+ <source-position filename="gst-libs/gst/video/videoorientation.h"
+ line="72"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videoorientation.c"
+ line="131">%TRUE in case the element supports centering</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="video_orientation" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videoorientation.c"
+ line="127">#GstVideoOrientation interface of a #GstElement</doc>
+ <type name="VideoOrientation" c:type="GstVideoOrientation*"/>
+ </parameter>
+ <parameter name="center"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videoorientation.c"
+ line="128">return location for the result</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="set_hflip">
+ <callback name="set_hflip">
+ <source-position filename="gst-libs/gst/video/videoorientation.h"
+ line="74"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videoorientation.c"
+ line="152">%TRUE in case the element supports flipping</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="video_orientation" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videoorientation.c"
+ line="148">#GstVideoOrientation interface of a #GstElement</doc>
+ <type name="VideoOrientation" c:type="GstVideoOrientation*"/>
+ </parameter>
+ <parameter name="flip" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videoorientation.c"
+ line="149">use flipping</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="set_vflip">
+ <callback name="set_vflip">
+ <source-position filename="gst-libs/gst/video/videoorientation.h"
+ line="75"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videoorientation.c"
+ line="173">%TRUE in case the element supports flipping</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="video_orientation" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videoorientation.c"
+ line="169">#GstVideoOrientation interface of a #GstElement</doc>
+ <type name="VideoOrientation" c:type="GstVideoOrientation*"/>
+ </parameter>
+ <parameter name="flip" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videoorientation.c"
+ line="170">use flipping</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="set_hcenter">
+ <callback name="set_hcenter">
+ <source-position filename="gst-libs/gst/video/videoorientation.h"
+ line="76"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videoorientation.c"
+ line="194">%TRUE in case the element supports centering</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="video_orientation" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videoorientation.c"
+ line="190">#GstVideoOrientation interface of a #GstElement</doc>
+ <type name="VideoOrientation" c:type="GstVideoOrientation*"/>
+ </parameter>
+ <parameter name="center" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videoorientation.c"
+ line="191">centering offset</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="set_vcenter">
+ <callback name="set_vcenter">
+ <source-position filename="gst-libs/gst/video/videoorientation.h"
+ line="77"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videoorientation.c"
+ line="215">%TRUE in case the element supports centering</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="video_orientation" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videoorientation.c"
+ line="211">#GstVideoOrientation interface of a #GstElement</doc>
+ <type name="VideoOrientation" c:type="GstVideoOrientation*"/>
+ </parameter>
+ <parameter name="center" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videoorientation.c"
+ line="212">centering offset</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ </record>
+ <enumeration name="VideoOrientationMethod"
+ version="1.10"
+ glib:type-name="GstVideoOrientationMethod"
+ glib:get-type="gst_video_orientation_method_get_type"
+ c:type="GstVideoOrientationMethod">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video.h"
+ line="62">The different video orientation methods.</doc>
+ <member name="identity"
+ value="0"
+ c:identifier="GST_VIDEO_ORIENTATION_IDENTITY"
+ glib:nick="identity">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video.h"
+ line="64">Identity (no rotation)</doc>
+ </member>
+ <member name="90r"
+ value="1"
+ c:identifier="GST_VIDEO_ORIENTATION_90R"
+ glib:nick="90r">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video.h"
+ line="65">Rotate clockwise 90 degrees</doc>
+ </member>
+ <member name="180"
+ value="2"
+ c:identifier="GST_VIDEO_ORIENTATION_180"
+ glib:nick="180">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video.h"
+ line="66">Rotate 180 degrees</doc>
+ </member>
+ <member name="90l"
+ value="3"
+ c:identifier="GST_VIDEO_ORIENTATION_90L"
+ glib:nick="90l">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video.h"
+ line="67">Rotate counter-clockwise 90 degrees</doc>
+ </member>
+ <member name="horiz"
+ value="4"
+ c:identifier="GST_VIDEO_ORIENTATION_HORIZ"
+ glib:nick="horiz">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video.h"
+ line="68">Flip horizontally</doc>
+ </member>
+ <member name="vert"
+ value="5"
+ c:identifier="GST_VIDEO_ORIENTATION_VERT"
+ glib:nick="vert">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video.h"
+ line="69">Flip vertically</doc>
+ </member>
+ <member name="ul_lr"
+ value="6"
+ c:identifier="GST_VIDEO_ORIENTATION_UL_LR"
+ glib:nick="ul-lr">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video.h"
+ line="70">Flip across upper left/lower right diagonal</doc>
+ </member>
+ <member name="ur_ll"
+ value="7"
+ c:identifier="GST_VIDEO_ORIENTATION_UR_LL"
+ glib:nick="ur-ll">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video.h"
+ line="71">Flip across upper right/lower left diagonal</doc>
+ </member>
+ <member name="auto"
+ value="8"
+ c:identifier="GST_VIDEO_ORIENTATION_AUTO"
+ glib:nick="auto">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video.h"
+ line="72">Select flip method based on image-orientation tag</doc>
+ </member>
+ <member name="custom"
+ value="9"
+ c:identifier="GST_VIDEO_ORIENTATION_CUSTOM"
+ glib:nick="custom">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video.h"
+ line="73">Current status depends on plugin internal setup</doc>
+ </member>
+ </enumeration>
+ <interface name="VideoOverlay"
+ c:symbol-prefix="video_overlay"
+ c:type="GstVideoOverlay"
+ glib:type-name="GstVideoOverlay"
+ glib:get-type="gst_video_overlay_get_type"
+ glib:type-struct="VideoOverlayInterface">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videooverlay.c"
+ line="20">The #GstVideoOverlay interface is used for 2 main purposes :
+
+* To get a grab on the Window where the video sink element is going to render.
+ This is achieved by either being informed about the Window identifier that
+ the video sink element generated, or by forcing the video sink element to use
+ a specific Window identifier for rendering.
+* To force a redrawing of the latest video frame the video sink element
+ displayed on the Window. Indeed if the #GstPipeline is in #GST_STATE_PAUSED
+ state, moving the Window around will damage its content. Application
+ developers will want to handle the Expose events themselves and force the
+ video sink element to refresh the Window's content.
+
+Using the Window created by the video sink is probably the simplest scenario,
+in some cases, though, it might not be flexible enough for application
+developers if they need to catch events such as mouse moves and button
+clicks.
+
+Setting a specific Window identifier on the video sink element is the most
+flexible solution but it has some issues. Indeed the application needs to set
+its Window identifier at the right time to avoid internal Window creation
+from the video sink element. To solve this issue a #GstMessage is posted on
+the bus to inform the application that it should set the Window identifier
+immediately. Here is an example on how to do that correctly:
+|[
+static GstBusSyncReply
+create_window (GstBus * bus, GstMessage * message, GstPipeline * pipeline)
+{
+ // ignore anything but 'prepare-window-handle' element messages
+ if (!gst_is_video_overlay_prepare_window_handle_message (message))
+ return GST_BUS_PASS;
+
+ win = XCreateSimpleWindow (disp, root, 0, 0, 320, 240, 0, 0, 0);
+
+ XSetWindowBackgroundPixmap (disp, win, None);
+
+ XMapRaised (disp, win);
+
+ XSync (disp, FALSE);
+
+ gst_video_overlay_set_window_handle (GST_VIDEO_OVERLAY (GST_MESSAGE_SRC (message)),
+ win);
+
+ gst_message_unref (message);
+
+ return GST_BUS_DROP;
+}
+...
+int
+main (int argc, char **argv)
+{
+...
+ bus = gst_pipeline_get_bus (GST_PIPELINE (pipeline));
+ gst_bus_set_sync_handler (bus, (GstBusSyncHandler) create_window, pipeline,
+ NULL);
+...
+}
+]|
+
+## Two basic usage scenarios
+
+There are two basic usage scenarios: in the simplest case, the application
+uses #playbin or #playsink or knows exactly what particular element is used
+for video output, which is usually the case when the application creates
+the videosink to use (e.g. #xvimagesink, #ximagesink, etc.) itself; in this
+case, the application can just create the videosink element, create and
+realize the window to render the video on and then
+call gst_video_overlay_set_window_handle() directly with the XID or native
+window handle, before starting up the pipeline.
+As #playbin and #playsink implement the video overlay interface and proxy
+it transparently to the actual video sink even if it is created later, this
+case also applies when using these elements.
+
+In the other and more common case, the application does not know in advance
+what GStreamer video sink element will be used for video output. This is
+usually the case when an element such as #autovideosink is used.
+In this case, the video sink element itself is created
+asynchronously from a GStreamer streaming thread some time after the
+pipeline has been started up. When that happens, however, the video sink
+will need to know right then whether to render onto an already existing
+application window or whether to create its own window. This is when it
+posts a prepare-window-handle message, and that is also why this message needs
+to be handled in a sync bus handler which will be called from the streaming
+thread directly (because the video sink will need an answer right then).
+
+As response to the prepare-window-handle element message in the bus sync
+handler, the application may use gst_video_overlay_set_window_handle() to tell
+the video sink to render onto an existing window surface. At this point the
+application should already have obtained the window handle / XID, so it
+just needs to set it. It is generally not advisable to call any GUI toolkit
+functions or window system functions from the streaming thread in which the
+prepare-window-handle message is handled, because most GUI toolkits and
+windowing systems are not thread-safe at all and a lot of care would be
+required to co-ordinate the toolkit and window system calls of the
+different threads (Gtk+ users please note: prior to Gtk+ 2.18
+`GDK_WINDOW_XID` was just a simple structure access, so generally fine to do
+within the bus sync handler; this macro was changed to a function call in
+Gtk+ 2.18 and later, which is likely to cause problems when called from a
+sync handler; see below for a better approach without `GDK_WINDOW_XID`
+used in the callback).
+
+## GstVideoOverlay and Gtk+
+
+|[
+#include &amp;lt;gst/video/videooverlay.h&amp;gt;
+#include &amp;lt;gtk/gtk.h&amp;gt;
+#ifdef GDK_WINDOWING_X11
+#include &amp;lt;gdk/gdkx.h&amp;gt; // for GDK_WINDOW_XID
+#endif
+#ifdef GDK_WINDOWING_WIN32
+#include &amp;lt;gdk/gdkwin32.h&amp;gt; // for GDK_WINDOW_HWND
+#endif
+...
+static guintptr video_window_handle = 0;
+...
+static GstBusSyncReply
+bus_sync_handler (GstBus * bus, GstMessage * message, gpointer user_data)
+{
+ // ignore anything but 'prepare-window-handle' element messages
+ if (!gst_is_video_overlay_prepare_window_handle_message (message))
+ return GST_BUS_PASS;
+
+ if (video_window_handle != 0) {
+ GstVideoOverlay *overlay;
+
+ // GST_MESSAGE_SRC (message) will be the video sink element
+ overlay = GST_VIDEO_OVERLAY (GST_MESSAGE_SRC (message));
+ gst_video_overlay_set_window_handle (overlay, video_window_handle);
+ } else {
+ g_warning ("Should have obtained video_window_handle by now!");
+ }
+
+ gst_message_unref (message);
+ return GST_BUS_DROP;
+}
+...
+static void
+video_widget_realize_cb (GtkWidget * widget, gpointer data)
+{
+#if GTK_CHECK_VERSION(2,18,0)
+ // Tell Gtk+/Gdk to create a native window for this widget instead of
+ // drawing onto the parent widget.
+ // This is here just for pedagogical purposes, GDK_WINDOW_XID will call
+ // it as well in newer Gtk versions
+ if (!gdk_window_ensure_native (widget-&gt;window))
+ g_error ("Couldn't create native window needed for GstVideoOverlay!");
+#endif
+
+#ifdef GDK_WINDOWING_X11
+ {
+ gulong xid = GDK_WINDOW_XID (gtk_widget_get_window (video_window));
+ video_window_handle = xid;
+ }
+#endif
+#ifdef GDK_WINDOWING_WIN32
+ {
+ HWND wnd = GDK_WINDOW_HWND (gtk_widget_get_window (video_window));
+ video_window_handle = (guintptr) wnd;
+ }
+#endif
+}
+...
+int
+main (int argc, char **argv)
+{
+ GtkWidget *video_window;
+ GtkWidget *app_window;
+ ...
+ app_window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
+ ...
+ video_window = gtk_drawing_area_new ();
+ g_signal_connect (video_window, "realize",
+ G_CALLBACK (video_widget_realize_cb), NULL);
+ gtk_widget_set_double_buffered (video_window, FALSE);
+ ...
+ // usually the video_window will not be directly embedded into the
+ // application window like this, but there will be many other widgets
+ // and the video window will be embedded in one of them instead
+ gtk_container_add (GTK_CONTAINER (ap_window), video_window);
+ ...
+ // show the GUI
+ gtk_widget_show_all (app_window);
+
+ // realize window now so that the video window gets created and we can
+ // obtain its XID/HWND before the pipeline is started up and the videosink
+ // asks for the XID/HWND of the window to render onto
+ gtk_widget_realize (video_window);
+
+ // we should have the XID/HWND now
+ g_assert (video_window_handle != 0);
+ ...
+ // set up sync handler for setting the xid once the pipeline is started
+ bus = gst_pipeline_get_bus (GST_PIPELINE (pipeline));
+ gst_bus_set_sync_handler (bus, (GstBusSyncHandler) bus_sync_handler, NULL,
+ NULL);
+ gst_object_unref (bus);
+ ...
+ gst_element_set_state (pipeline, GST_STATE_PLAYING);
+ ...
+}
+]|
+
+## GstVideoOverlay and Qt
+
+|[
+#include &lt;glib.h&gt;;
+#include &lt;gst/gst.h&gt;;
+#include &lt;gst/video/videooverlay.h&gt;;
+
+#include &lt;QApplication&gt;;
+#include &lt;QTimer&gt;;
+#include &lt;QWidget&gt;;
+
+int main(int argc, char *argv[])
+{
+ if (!g_thread_supported ())
+ g_thread_init (NULL);
+
+ gst_init (&amp;argc, &amp;argv);
+ QApplication app(argc, argv);
+ app.connect(&amp;app, SIGNAL(lastWindowClosed()), &amp;app, SLOT(quit ()));
+
+ // prepare the pipeline
+
+ GstElement *pipeline = gst_pipeline_new ("xvoverlay");
+ GstElement *src = gst_element_factory_make ("videotestsrc", NULL);
+ GstElement *sink = gst_element_factory_make ("xvimagesink", NULL);
+ gst_bin_add_many (GST_BIN (pipeline), src, sink, NULL);
+ gst_element_link (src, sink);
+
+ // prepare the ui
+
+ QWidget window;
+ window.resize(320, 240);
+ window.show();
+
+ WId xwinid = window.winId();
+ gst_video_overlay_set_window_handle (GST_VIDEO_OVERLAY (sink), xwinid);
+
+ // run the pipeline
+
+ GstStateChangeReturn sret = gst_element_set_state (pipeline,
+ GST_STATE_PLAYING);
+ if (sret == GST_STATE_CHANGE_FAILURE) {
+ gst_element_set_state (pipeline, GST_STATE_NULL);
+ gst_object_unref (pipeline);
+ // Exit application
+ QTimer::singleShot(0, QApplication::activeWindow(), SLOT(quit()));
+ }
+
+ int ret = app.exec();
+
+ window.hide();
+ gst_element_set_state (pipeline, GST_STATE_NULL);
+ gst_object_unref (pipeline);
+
+ return ret;
+}
+]|</doc>
+ <source-position filename="gst-libs/gst/video/videooverlay.h" line="70"/>
+ <function name="install_properties"
+ c:identifier="gst_video_overlay_install_properties"
+ version="1.14">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videooverlay.c"
+ line="518">This helper shall be used by classes implementing the #GstVideoOverlay
+interface that want the render rectangle to be controllable using
+properties. This helper will install "render-rectangle" property into the
+class.</doc>
+ <source-position filename="gst-libs/gst/video/videooverlay.h"
+ line="108"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="oclass" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videooverlay.c"
+ line="520">The class on which the properties will be installed</doc>
+ <type name="GObject.ObjectClass" c:type="GObjectClass*"/>
+ </parameter>
+ <parameter name="last_prop_id" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videooverlay.c"
+ line="521">The first free property ID to use</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="set_property"
+ c:identifier="gst_video_overlay_set_property"
+ version="1.14">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videooverlay.c"
+ line="542">This helper shall be used by classes implementing the #GstVideoOverlay
+interface that want the render rectangle to be controllable using
+properties. This helper will parse and set the render rectangle calling
+gst_video_overlay_set_render_rectangle().</doc>
+ <source-position filename="gst-libs/gst/video/videooverlay.h"
+ line="112"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videooverlay.c"
+ line="554">%TRUE if the @property_id matches the GstVideoOverlay property</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videooverlay.c"
+ line="544">The instance on which the property is set</doc>
+ <type name="GObject.Object" c:type="GObject*"/>
+ </parameter>
+ <parameter name="last_prop_id" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videooverlay.c"
+ line="545">The highest property ID.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="property_id" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videooverlay.c"
+ line="546">The property ID</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videooverlay.c"
+ line="547">The #GValue to be set</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <virtual-method name="expose" invoker="expose">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videooverlay.c"
+ line="407">Tell an overlay that it has been exposed. This will redraw the current frame
+in the drawable even if the pipeline is PAUSED.</doc>
+ <source-position filename="gst-libs/gst/video/videooverlay.h"
+ line="61"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="overlay" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videooverlay.c"
+ line="409">a #GstVideoOverlay to expose.</doc>
+ <type name="VideoOverlay" c:type="GstVideoOverlay*"/>
+ </instance-parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="handle_events" invoker="handle_events">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videooverlay.c"
+ line="429">Tell an overlay that it should handle events from the window system. These
+events are forwarded upstream as navigation events. In some window system,
+events are not propagated in the window hierarchy if a client is listening
+for them. This method allows you to disable events handling completely
+from the #GstVideoOverlay.</doc>
+ <source-position filename="gst-libs/gst/video/videooverlay.h"
+ line="63"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="overlay" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videooverlay.c"
+ line="431">a #GstVideoOverlay to expose.</doc>
+ <type name="VideoOverlay" c:type="GstVideoOverlay*"/>
+ </instance-parameter>
+ <parameter name="handle_events" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videooverlay.c"
+ line="432">a #gboolean indicating if events should be handled or not.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="set_render_rectangle">
+ <source-position filename="gst-libs/gst/video/videooverlay.h"
+ line="65"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="overlay" transfer-ownership="none">
+ <type name="VideoOverlay" c:type="GstVideoOverlay*"/>
+ </instance-parameter>
+ <parameter name="x" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="y" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="width" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="height" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <virtual-method name="set_window_handle" invoker="set_window_handle">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videooverlay.c"
+ line="330">This will call the video overlay's set_window_handle method. You
+should use this method to tell to an overlay to display video output to a
+specific window (e.g. an XWindow on X11). Passing 0 as the @handle will
+tell the overlay to stop using that window and create an internal one.</doc>
+ <source-position filename="gst-libs/gst/video/videooverlay.h"
+ line="69"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="overlay" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videooverlay.c"
+ line="332">a #GstVideoOverlay to set the window on.</doc>
+ <type name="VideoOverlay" c:type="GstVideoOverlay*"/>
+ </instance-parameter>
+ <parameter name="handle" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videooverlay.c"
+ line="333">a handle referencing the window.</doc>
+ <type name="guintptr" c:type="guintptr"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <method name="expose" c:identifier="gst_video_overlay_expose">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videooverlay.c"
+ line="407">Tell an overlay that it has been exposed. This will redraw the current frame
+in the drawable even if the pipeline is PAUSED.</doc>
+ <source-position filename="gst-libs/gst/video/videooverlay.h"
+ line="85"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="overlay" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videooverlay.c"
+ line="409">a #GstVideoOverlay to expose.</doc>
+ <type name="VideoOverlay" c:type="GstVideoOverlay*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="got_window_handle"
+ c:identifier="gst_video_overlay_got_window_handle">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videooverlay.c"
+ line="355">This will post a "have-window-handle" element message on the bus.
+
+This function should only be used by video overlay plugin developers.</doc>
+ <source-position filename="gst-libs/gst/video/videooverlay.h"
+ line="98"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="overlay" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videooverlay.c"
+ line="357">a #GstVideoOverlay which got a window</doc>
+ <type name="VideoOverlay" c:type="GstVideoOverlay*"/>
+ </instance-parameter>
+ <parameter name="handle" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videooverlay.c"
+ line="358">a platform-specific handle referencing the window</doc>
+ <type name="guintptr" c:type="guintptr"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="handle_events"
+ c:identifier="gst_video_overlay_handle_events">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videooverlay.c"
+ line="429">Tell an overlay that it should handle events from the window system. These
+events are forwarded upstream as navigation events. In some window system,
+events are not propagated in the window hierarchy if a client is listening
+for them. This method allows you to disable events handling completely
+from the #GstVideoOverlay.</doc>
+ <source-position filename="gst-libs/gst/video/videooverlay.h"
+ line="88"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="overlay" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videooverlay.c"
+ line="431">a #GstVideoOverlay to expose.</doc>
+ <type name="VideoOverlay" c:type="GstVideoOverlay*"/>
+ </instance-parameter>
+ <parameter name="handle_events" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videooverlay.c"
+ line="432">a #gboolean indicating if events should be handled or not.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="prepare_window_handle"
+ c:identifier="gst_video_overlay_prepare_window_handle">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videooverlay.c"
+ line="381">This will post a "prepare-window-handle" element message on the bus
+to give applications an opportunity to call
+gst_video_overlay_set_window_handle() before a plugin creates its own
+window.
+
+This function should only be used by video overlay plugin developers.</doc>
+ <source-position filename="gst-libs/gst/video/videooverlay.h"
+ line="102"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="overlay" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videooverlay.c"
+ line="383">a #GstVideoOverlay which does not yet have an Window handle set</doc>
+ <type name="VideoOverlay" c:type="GstVideoOverlay*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="set_render_rectangle"
+ c:identifier="gst_video_overlay_set_render_rectangle">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videooverlay.c"
+ line="456">Configure a subregion as a video target within the window set by
+gst_video_overlay_set_window_handle(). If this is not used or not supported
+the video will fill the area of the window set as the overlay to 100%.
+By specifying the rectangle, the video can be overlayed to a specific region
+of that window only. After setting the new rectangle one should call
+gst_video_overlay_expose() to force a redraw. To unset the region pass -1 for
+the @width and @height parameters.
+
+This method is needed for non fullscreen video overlay in UI toolkits that
+do not support subwindows.</doc>
+ <source-position filename="gst-libs/gst/video/videooverlay.h"
+ line="78"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videooverlay.c"
+ line="475">%FALSE if not supported by the sink.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="overlay" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videooverlay.c"
+ line="458">a #GstVideoOverlay</doc>
+ <type name="VideoOverlay" c:type="GstVideoOverlay*"/>
+ </instance-parameter>
+ <parameter name="x" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videooverlay.c"
+ line="459">the horizontal offset of the render area inside the window</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="y" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videooverlay.c"
+ line="460">the vertical offset of the render area inside the window</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="width" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videooverlay.c"
+ line="461">the width of the render area inside the window</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="height" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videooverlay.c"
+ line="462">the height of the render area inside the window</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_window_handle"
+ c:identifier="gst_video_overlay_set_window_handle">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videooverlay.c"
+ line="330">This will call the video overlay's set_window_handle method. You
+should use this method to tell to an overlay to display video output to a
+specific window (e.g. an XWindow on X11). Passing 0 as the @handle will
+tell the overlay to stop using that window and create an internal one.</doc>
+ <source-position filename="gst-libs/gst/video/videooverlay.h"
+ line="92"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="overlay" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videooverlay.c"
+ line="332">a #GstVideoOverlay to set the window on.</doc>
+ <type name="VideoOverlay" c:type="GstVideoOverlay*"/>
+ </instance-parameter>
+ <parameter name="handle" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videooverlay.c"
+ line="333">a handle referencing the window.</doc>
+ <type name="guintptr" c:type="guintptr"/>
+ </parameter>
+ </parameters>
+ </method>
+ </interface>
+ <record name="VideoOverlayComposition"
+ c:type="GstVideoOverlayComposition"
+ glib:type-name="GstVideoOverlayComposition"
+ glib:get-type="gst_video_overlay_composition_get_type"
+ c:symbol-prefix="video_overlay_composition">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-overlay-composition.c"
+ line="22">Functions to create and handle overlay compositions on video buffers.
+
+An overlay composition describes one or more overlay rectangles to be
+blended on top of a video buffer.
+
+This API serves two main purposes:
+
+* it can be used to attach overlay information (subtitles or logos)
+ to non-raw video buffers such as GL/VAAPI/VDPAU surfaces. The actual
+ blending of the overlay can then be done by e.g. the video sink that
+ processes these non-raw buffers.
+
+* it can also be used to blend overlay rectangles on top of raw video
+ buffers, thus consolidating blending functionality for raw video in
+ one place.
+
+Together, this allows existing overlay elements to easily handle raw
+and non-raw video as input in without major changes (once the overlays
+have been put into a #GstVideoOverlayComposition object anyway) - for raw
+video the overlay can just use the blending function to blend the data
+on top of the video, and for surface buffers it can just attach them to
+the buffer and let the sink render the overlays.</doc>
+ <source-position filename="gst-libs/gst/video/video-overlay-composition.h"
+ line="202"/>
+ <constructor name="new" c:identifier="gst_video_overlay_composition_new">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-overlay-composition.c"
+ line="328">Creates a new video overlay composition object to hold one or more
+overlay rectangles.</doc>
+ <source-position filename="gst-libs/gst/video/video-overlay-composition.h"
+ line="245"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-overlay-composition.c"
+ line="336">a new #GstVideoOverlayComposition. Unref with
+ gst_video_overlay_composition_unref() when no longer needed.</doc>
+ <type name="VideoOverlayComposition"
+ c:type="GstVideoOverlayComposition*"/>
+ </return-value>
+ <parameters>
+ <parameter name="rectangle" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-overlay-composition.c"
+ line="330">a #GstVideoOverlayRectangle to add to the
+ composition</doc>
+ <type name="VideoOverlayRectangle"
+ c:type="GstVideoOverlayRectangle*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <method name="add_rectangle"
+ c:identifier="gst_video_overlay_composition_add_rectangle">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-overlay-composition.c"
+ line="374">Adds an overlay rectangle to an existing overlay composition object. This
+must be done right after creating the overlay composition.</doc>
+ <source-position filename="gst-libs/gst/video/video-overlay-composition.h"
+ line="248"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="comp" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-overlay-composition.c"
+ line="376">a #GstVideoOverlayComposition</doc>
+ <type name="VideoOverlayComposition"
+ c:type="GstVideoOverlayComposition*"/>
+ </instance-parameter>
+ <parameter name="rectangle" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-overlay-composition.c"
+ line="377">a #GstVideoOverlayRectangle to add to the
+ composition</doc>
+ <type name="VideoOverlayRectangle"
+ c:type="GstVideoOverlayRectangle*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="blend" c:identifier="gst_video_overlay_composition_blend">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-overlay-composition.c"
+ line="455">Blends the overlay rectangles in @comp on top of the raw video data
+contained in @video_buf. The data in @video_buf must be writable and
+mapped appropriately.
+
+Since @video_buf data is read and will be modified, it ought be
+mapped with flag GST_MAP_READWRITE.</doc>
+ <source-position filename="gst-libs/gst/video/video-overlay-composition.h"
+ line="263"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="comp" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-overlay-composition.c"
+ line="457">a #GstVideoOverlayComposition</doc>
+ <type name="VideoOverlayComposition"
+ c:type="GstVideoOverlayComposition*"/>
+ </instance-parameter>
+ <parameter name="video_buf" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-overlay-composition.c"
+ line="458">a #GstVideoFrame containing raw video data in a
+ supported format. It should be mapped using GST_MAP_READWRITE</doc>
+ <type name="VideoFrame" c:type="GstVideoFrame*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="copy" c:identifier="gst_video_overlay_composition_copy">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-overlay-composition.c"
+ line="532">Makes a copy of @comp and all contained rectangles, so that it is possible
+to modify the composition and contained rectangles (e.g. add additional
+rectangles or change the render co-ordinates or render dimension). The
+actual overlay pixel data buffers contained in the rectangles are not
+copied.</doc>
+ <source-position filename="gst-libs/gst/video/video-overlay-composition.h"
+ line="239"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-overlay-composition.c"
+ line="542">a new #GstVideoOverlayComposition equivalent
+ to @comp.</doc>
+ <type name="VideoOverlayComposition"
+ c:type="GstVideoOverlayComposition*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="comp" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-overlay-composition.c"
+ line="534">a #GstVideoOverlayComposition to copy</doc>
+ <type name="VideoOverlayComposition"
+ c:type="GstVideoOverlayComposition*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_rectangle"
+ c:identifier="gst_video_overlay_composition_get_rectangle">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-overlay-composition.c"
+ line="424">Returns the @n-th #GstVideoOverlayRectangle contained in @comp.</doc>
+ <source-position filename="gst-libs/gst/video/video-overlay-composition.h"
+ line="255"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-overlay-composition.c"
+ line="431">the @n-th rectangle, or NULL if @n is out of
+ bounds. Will not return a new reference, the caller will need to
+ obtain her own reference using gst_video_overlay_rectangle_ref()
+ if needed.</doc>
+ <type name="VideoOverlayRectangle"
+ c:type="GstVideoOverlayRectangle*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="comp" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-overlay-composition.c"
+ line="426">a #GstVideoOverlayComposition</doc>
+ <type name="VideoOverlayComposition"
+ c:type="GstVideoOverlayComposition*"/>
+ </instance-parameter>
+ <parameter name="n" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-overlay-composition.c"
+ line="427">number of the rectangle to get</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_seqnum"
+ c:identifier="gst_video_overlay_composition_get_seqnum">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-overlay-composition.c"
+ line="609">Returns the sequence number of this composition. Sequence numbers are
+monotonically increasing and unique for overlay compositions and rectangles
+(meaning there will never be a rectangle with the same sequence number as
+a composition).</doc>
+ <source-position filename="gst-libs/gst/video/video-overlay-composition.h"
+ line="258"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-overlay-composition.c"
+ line="618">the sequence number of @comp</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="comp" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-overlay-composition.c"
+ line="611">a #GstVideoOverlayComposition</doc>
+ <type name="VideoOverlayComposition"
+ c:type="GstVideoOverlayComposition*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="make_writable"
+ c:identifier="gst_video_overlay_composition_make_writable">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-overlay-composition.c"
+ line="570">Takes ownership of @comp and returns a version of @comp that is writable
+(i.e. can be modified). Will either return @comp right away, or create a
+new writable copy of @comp and unref @comp itself. All the contained
+rectangles will also be copied, but the actual overlay pixel data buffers
+contained in the rectangles are not copied.</doc>
+ <source-position filename="gst-libs/gst/video/video-overlay-composition.h"
+ line="242"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-overlay-composition.c"
+ line="580">a writable #GstVideoOverlayComposition
+ equivalent to @comp.</doc>
+ <type name="VideoOverlayComposition"
+ c:type="GstVideoOverlayComposition*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="comp" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-overlay-composition.c"
+ line="572">a #GstVideoOverlayComposition to copy</doc>
+ <type name="VideoOverlayComposition"
+ c:type="GstVideoOverlayComposition*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="n_rectangles"
+ c:identifier="gst_video_overlay_composition_n_rectangles">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-overlay-composition.c"
+ line="408">Returns the number of #GstVideoOverlayRectangle&lt;!-- --&gt;s contained in @comp.</doc>
+ <source-position filename="gst-libs/gst/video/video-overlay-composition.h"
+ line="252"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-overlay-composition.c"
+ line="414">the number of rectangles</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="comp" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-overlay-composition.c"
+ line="410">a #GstVideoOverlayComposition</doc>
+ <type name="VideoOverlayComposition"
+ c:type="GstVideoOverlayComposition*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ </record>
+ <record name="VideoOverlayCompositionMeta"
+ c:type="GstVideoOverlayCompositionMeta">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-overlay-composition.h"
+ line="275">Extra buffer metadata describing image overlay data.</doc>
+ <source-position filename="gst-libs/gst/video/video-overlay-composition.h"
+ line="287"/>
+ <field name="meta" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-overlay-composition.h"
+ line="277">parent #GstMeta</doc>
+ <type name="Gst.Meta" c:type="GstMeta"/>
+ </field>
+ <field name="overlay" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-overlay-composition.h"
+ line="278">the attached #GstVideoOverlayComposition</doc>
+ <type name="VideoOverlayComposition"
+ c:type="GstVideoOverlayComposition*"/>
+ </field>
+ <function name="get_info"
+ c:identifier="gst_video_overlay_composition_meta_get_info">
+ <source-position filename="gst-libs/gst/video/video-overlay-composition.h"
+ line="293"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.MetaInfo" c:type="const GstMetaInfo*"/>
+ </return-value>
+ </function>
+ </record>
+ <bitfield name="VideoOverlayFormatFlags"
+ glib:type-name="GstVideoOverlayFormatFlags"
+ glib:get-type="gst_video_overlay_format_flags_get_type"
+ c:type="GstVideoOverlayFormatFlags">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-overlay-composition.h"
+ line="80">Overlay format flags.</doc>
+ <member name="none"
+ value="0"
+ c:identifier="GST_VIDEO_OVERLAY_FORMAT_FLAG_NONE"
+ glib:nick="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-overlay-composition.h"
+ line="82">no flags</doc>
+ </member>
+ <member name="premultiplied_alpha"
+ value="1"
+ c:identifier="GST_VIDEO_OVERLAY_FORMAT_FLAG_PREMULTIPLIED_ALPHA"
+ glib:nick="premultiplied-alpha">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-overlay-composition.h"
+ line="83">RGB are premultiplied by A/255.</doc>
+ </member>
+ <member name="global_alpha"
+ value="2"
+ c:identifier="GST_VIDEO_OVERLAY_FORMAT_FLAG_GLOBAL_ALPHA"
+ glib:nick="global-alpha">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-overlay-composition.h"
+ line="84">a global-alpha value != 1 is set.</doc>
+ </member>
+ </bitfield>
+ <record name="VideoOverlayInterface"
+ c:type="GstVideoOverlayInterface"
+ glib:is-gtype-struct-for="VideoOverlay">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videooverlay.h"
+ line="47">#GstVideoOverlay interface</doc>
+ <source-position filename="gst-libs/gst/video/videooverlay.h" line="70"/>
+ <field name="iface">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videooverlay.h"
+ line="49">parent interface type.</doc>
+ <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
+ </field>
+ <field name="expose">
+ <callback name="expose">
+ <source-position filename="gst-libs/gst/video/videooverlay.h"
+ line="61"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="overlay" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videooverlay.c"
+ line="409">a #GstVideoOverlay to expose.</doc>
+ <type name="VideoOverlay" c:type="GstVideoOverlay*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="handle_events">
+ <callback name="handle_events">
+ <source-position filename="gst-libs/gst/video/videooverlay.h"
+ line="63"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="overlay" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videooverlay.c"
+ line="431">a #GstVideoOverlay to expose.</doc>
+ <type name="VideoOverlay" c:type="GstVideoOverlay*"/>
+ </parameter>
+ <parameter name="handle_events" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videooverlay.c"
+ line="432">a #gboolean indicating if events should be handled or not.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="set_render_rectangle">
+ <callback name="set_render_rectangle">
+ <source-position filename="gst-libs/gst/video/videooverlay.h"
+ line="65"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="overlay" transfer-ownership="none">
+ <type name="VideoOverlay" c:type="GstVideoOverlay*"/>
+ </parameter>
+ <parameter name="x" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="y" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="width" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="height" transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="set_window_handle">
+ <callback name="set_window_handle">
+ <source-position filename="gst-libs/gst/video/videooverlay.h"
+ line="69"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="overlay" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videooverlay.c"
+ line="332">a #GstVideoOverlay to set the window on.</doc>
+ <type name="VideoOverlay" c:type="GstVideoOverlay*"/>
+ </parameter>
+ <parameter name="handle" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videooverlay.c"
+ line="333">a handle referencing the window.</doc>
+ <type name="guintptr" c:type="guintptr"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ </record>
+ <record name="VideoOverlayRectangle"
+ c:type="GstVideoOverlayRectangle"
+ glib:type-name="GstVideoOverlayRectangle"
+ glib:get-type="gst_video_overlay_rectangle_get_type"
+ c:symbol-prefix="video_overlay_rectangle">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-overlay-composition.h"
+ line="30">An opaque video overlay rectangle object. A rectangle contains a single
+overlay rectangle which can be added to a composition.</doc>
+ <source-position filename="gst-libs/gst/video/video-overlay-composition.h"
+ line="45"/>
+ <constructor name="new_raw"
+ c:identifier="gst_video_overlay_rectangle_new_raw">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-overlay-composition.c"
+ line="674">Creates a new video overlay rectangle with ARGB or AYUV pixel data.
+The layout in case of ARGB of the components in memory is B-G-R-A
+on little-endian platforms
+(corresponding to #GST_VIDEO_FORMAT_BGRA) and A-R-G-B on big-endian
+platforms (corresponding to #GST_VIDEO_FORMAT_ARGB). In other words,
+pixels are treated as 32-bit words and the lowest 8 bits then contain
+the blue component value and the highest 8 bits contain the alpha
+component value. Unless specified in the flags, the RGB values are
+non-premultiplied. This is the format that is used by most hardware,
+and also many rendering libraries such as Cairo, for example.
+The pixel data buffer must have #GstVideoMeta set.</doc>
+ <source-position filename="gst-libs/gst/video/video-overlay-composition.h"
+ line="128"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-overlay-composition.c"
+ line="697">a new #GstVideoOverlayRectangle. Unref with
+ gst_video_overlay_rectangle_unref() when no longer needed.</doc>
+ <type name="VideoOverlayRectangle"
+ c:type="GstVideoOverlayRectangle*"/>
+ </return-value>
+ <parameters>
+ <parameter name="pixels" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-overlay-composition.c"
+ line="676">a #GstBuffer pointing to the pixel memory</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="render_x" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-overlay-composition.c"
+ line="677">the X co-ordinate on the video where the top-left corner of this
+ overlay rectangle should be rendered to</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="render_y" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-overlay-composition.c"
+ line="679">the Y co-ordinate on the video where the top-left corner of this
+ overlay rectangle should be rendered to</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="render_width" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-overlay-composition.c"
+ line="681">the render width of this rectangle on the video</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="render_height" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-overlay-composition.c"
+ line="682">the render height of this rectangle on the video</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-overlay-composition.c"
+ line="683">flags</doc>
+ <type name="VideoOverlayFormatFlags"
+ c:type="GstVideoOverlayFormatFlags"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <method name="copy" c:identifier="gst_video_overlay_rectangle_copy">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-overlay-composition.c"
+ line="1587">Makes a copy of @rectangle, so that it is possible to modify it
+(e.g. to change the render co-ordinates or render dimension). The
+actual overlay pixel data buffers contained in the rectangle are not
+copied.</doc>
+ <source-position filename="gst-libs/gst/video/video-overlay-composition.h"
+ line="134"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-overlay-composition.c"
+ line="1596">a new #GstVideoOverlayRectangle equivalent
+ to @rectangle.</doc>
+ <type name="VideoOverlayRectangle"
+ c:type="GstVideoOverlayRectangle*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="rectangle" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-overlay-composition.c"
+ line="1589">a #GstVideoOverlayRectangle to copy</doc>
+ <type name="VideoOverlayRectangle"
+ c:type="GstVideoOverlayRectangle*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_flags"
+ c:identifier="gst_video_overlay_rectangle_get_flags">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-overlay-composition.c"
+ line="1512">Retrieves the flags associated with a #GstVideoOverlayRectangle.
+This is useful if the caller can handle both premultiplied alpha and
+non premultiplied alpha, for example. By knowing whether the rectangle
+uses premultiplied or not, it can request the pixel data in the format
+it is stored in, to avoid unnecessary conversion.</doc>
+ <source-position filename="gst-libs/gst/video/video-overlay-composition.h"
+ line="178"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-overlay-composition.c"
+ line="1522">the #GstVideoOverlayFormatFlags associated with the rectangle.</doc>
+ <type name="VideoOverlayFormatFlags"
+ c:type="GstVideoOverlayFormatFlags"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="rectangle" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-overlay-composition.c"
+ line="1514">a #GstVideoOverlayRectangle</doc>
+ <type name="VideoOverlayRectangle"
+ c:type="GstVideoOverlayRectangle*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_global_alpha"
+ c:identifier="gst_video_overlay_rectangle_get_global_alpha">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-overlay-composition.c"
+ line="1533">Retrieves the global-alpha value associated with a #GstVideoOverlayRectangle.</doc>
+ <source-position filename="gst-libs/gst/video/video-overlay-composition.h"
+ line="181"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-overlay-composition.c"
+ line="1539">the global-alpha value associated with the rectangle.</doc>
+ <type name="gfloat" c:type="gfloat"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="rectangle" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-overlay-composition.c"
+ line="1535">a #GstVideoOverlayRectangle</doc>
+ <type name="VideoOverlayRectangle"
+ c:type="GstVideoOverlayRectangle*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_pixels_argb"
+ c:identifier="gst_video_overlay_rectangle_get_pixels_argb">
+ <source-position filename="gst-libs/gst/video/video-overlay-composition.h"
+ line="158"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-overlay-composition.c"
+ line="1391">a #GstBuffer holding the ARGB pixel data with
+ width and height of the render dimensions as per
+ gst_video_overlay_rectangle_get_render_rectangle(). This function does
+ not return a reference, the caller should obtain a reference of her own
+ with gst_buffer_ref() if needed.</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="rectangle" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-overlay-composition.c"
+ line="1384">a #GstVideoOverlayRectangle</doc>
+ <type name="VideoOverlayRectangle"
+ c:type="GstVideoOverlayRectangle*"/>
+ </instance-parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-overlay-composition.c"
+ line="1385">flags
+ If a global_alpha value != 1 is set for the rectangle, the caller
+ should set the #GST_VIDEO_OVERLAY_FORMAT_FLAG_GLOBAL_ALPHA flag
+ if he wants to apply global-alpha himself. If the flag is not set
+ global_alpha is applied internally before returning the pixel-data.</doc>
+ <type name="VideoOverlayFormatFlags"
+ c:type="GstVideoOverlayFormatFlags"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_pixels_ayuv"
+ c:identifier="gst_video_overlay_rectangle_get_pixels_ayuv">
+ <source-position filename="gst-libs/gst/video/video-overlay-composition.h"
+ line="162"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-overlay-composition.c"
+ line="1414">a #GstBuffer holding the AYUV pixel data with
+ width and height of the render dimensions as per
+ gst_video_overlay_rectangle_get_render_rectangle(). This function does
+ not return a reference, the caller should obtain a reference of her own
+ with gst_buffer_ref() if needed.</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="rectangle" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-overlay-composition.c"
+ line="1407">a #GstVideoOverlayRectangle</doc>
+ <type name="VideoOverlayRectangle"
+ c:type="GstVideoOverlayRectangle*"/>
+ </instance-parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-overlay-composition.c"
+ line="1408">flags
+ If a global_alpha value != 1 is set for the rectangle, the caller
+ should set the #GST_VIDEO_OVERLAY_FORMAT_FLAG_GLOBAL_ALPHA flag
+ if he wants to apply global-alpha himself. If the flag is not set
+ global_alpha is applied internally before returning the pixel-data.</doc>
+ <type name="VideoOverlayFormatFlags"
+ c:type="GstVideoOverlayFormatFlags"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_pixels_raw"
+ c:identifier="gst_video_overlay_rectangle_get_pixels_raw">
+ <source-position filename="gst-libs/gst/video/video-overlay-composition.h"
+ line="154"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-overlay-composition.c"
+ line="1367">a #GstBuffer holding the pixel data with
+ format as originally provided and specified in video meta with
+ width and height of the render dimensions as per
+ gst_video_overlay_rectangle_get_render_rectangle(). This function does
+ not return a reference, the caller should obtain a reference of her own
+ with gst_buffer_ref() if needed.</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="rectangle" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-overlay-composition.c"
+ line="1360">a #GstVideoOverlayRectangle</doc>
+ <type name="VideoOverlayRectangle"
+ c:type="GstVideoOverlayRectangle*"/>
+ </instance-parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-overlay-composition.c"
+ line="1361">flags
+ If a global_alpha value != 1 is set for the rectangle, the caller
+ should set the #GST_VIDEO_OVERLAY_FORMAT_FLAG_GLOBAL_ALPHA flag
+ if he wants to apply global-alpha himself. If the flag is not set
+ global_alpha is applied internally before returning the pixel-data.</doc>
+ <type name="VideoOverlayFormatFlags"
+ c:type="GstVideoOverlayFormatFlags"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_pixels_unscaled_argb"
+ c:identifier="gst_video_overlay_rectangle_get_pixels_unscaled_argb">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-overlay-composition.c"
+ line="1456">Retrieves the pixel data as it is. This is useful if the caller can
+do the scaling itself when handling the overlaying. The rectangle will
+need to be scaled to the render dimensions, which can be retrieved using
+gst_video_overlay_rectangle_get_render_rectangle().</doc>
+ <source-position filename="gst-libs/gst/video/video-overlay-composition.h"
+ line="170"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-overlay-composition.c"
+ line="1470">a #GstBuffer holding the ARGB pixel data with
+ #GstVideoMeta set. This function does not return a reference, the caller
+ should obtain a reference of her own with gst_buffer_ref() if needed.</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="rectangle" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-overlay-composition.c"
+ line="1458">a #GstVideoOverlayRectangle</doc>
+ <type name="VideoOverlayRectangle"
+ c:type="GstVideoOverlayRectangle*"/>
+ </instance-parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-overlay-composition.c"
+ line="1459">flags.
+ If a global_alpha value != 1 is set for the rectangle, the caller
+ should set the #GST_VIDEO_OVERLAY_FORMAT_FLAG_GLOBAL_ALPHA flag
+ if he wants to apply global-alpha himself. If the flag is not set
+ global_alpha is applied internally before returning the pixel-data.</doc>
+ <type name="VideoOverlayFormatFlags"
+ c:type="GstVideoOverlayFormatFlags"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_pixels_unscaled_ayuv"
+ c:identifier="gst_video_overlay_rectangle_get_pixels_unscaled_ayuv">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-overlay-composition.c"
+ line="1484">Retrieves the pixel data as it is. This is useful if the caller can
+do the scaling itself when handling the overlaying. The rectangle will
+need to be scaled to the render dimensions, which can be retrieved using
+gst_video_overlay_rectangle_get_render_rectangle().</doc>
+ <source-position filename="gst-libs/gst/video/video-overlay-composition.h"
+ line="174"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-overlay-composition.c"
+ line="1498">a #GstBuffer holding the AYUV pixel data with
+ #GstVideoMeta set. This function does not return a reference, the caller
+ should obtain a reference of her own with gst_buffer_ref() if needed.</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="rectangle" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-overlay-composition.c"
+ line="1486">a #GstVideoOverlayRectangle</doc>
+ <type name="VideoOverlayRectangle"
+ c:type="GstVideoOverlayRectangle*"/>
+ </instance-parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-overlay-composition.c"
+ line="1487">flags.
+ If a global_alpha value != 1 is set for the rectangle, the caller
+ should set the #GST_VIDEO_OVERLAY_FORMAT_FLAG_GLOBAL_ALPHA flag
+ if he wants to apply global-alpha himself. If the flag is not set
+ global_alpha is applied internally before returning the pixel-data.</doc>
+ <type name="VideoOverlayFormatFlags"
+ c:type="GstVideoOverlayFormatFlags"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_pixels_unscaled_raw"
+ c:identifier="gst_video_overlay_rectangle_get_pixels_unscaled_raw">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-overlay-composition.c"
+ line="1428">Retrieves the pixel data as it is. This is useful if the caller can
+do the scaling itself when handling the overlaying. The rectangle will
+need to be scaled to the render dimensions, which can be retrieved using
+gst_video_overlay_rectangle_get_render_rectangle().</doc>
+ <source-position filename="gst-libs/gst/video/video-overlay-composition.h"
+ line="166"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-overlay-composition.c"
+ line="1442">a #GstBuffer holding the pixel data with
+ #GstVideoMeta set. This function does not return a reference, the caller
+ should obtain a reference of her own with gst_buffer_ref() if needed.</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="rectangle" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-overlay-composition.c"
+ line="1430">a #GstVideoOverlayRectangle</doc>
+ <type name="VideoOverlayRectangle"
+ c:type="GstVideoOverlayRectangle*"/>
+ </instance-parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-overlay-composition.c"
+ line="1431">flags.
+ If a global_alpha value != 1 is set for the rectangle, the caller
+ should set the #GST_VIDEO_OVERLAY_FORMAT_FLAG_GLOBAL_ALPHA flag
+ if he wants to apply global-alpha himself. If the flag is not set
+ global_alpha is applied internally before returning the pixel-data.</doc>
+ <type name="VideoOverlayFormatFlags"
+ c:type="GstVideoOverlayFormatFlags"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_render_rectangle"
+ c:identifier="gst_video_overlay_rectangle_get_render_rectangle">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-overlay-composition.c"
+ line="774">Retrieves the render position and render dimension of the overlay
+rectangle on the video.</doc>
+ <source-position filename="gst-libs/gst/video/video-overlay-composition.h"
+ line="147"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-overlay-composition.c"
+ line="785">TRUE if valid render dimensions were retrieved.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="rectangle" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-overlay-composition.c"
+ line="776">a #GstVideoOverlayRectangle</doc>
+ <type name="VideoOverlayRectangle"
+ c:type="GstVideoOverlayRectangle*"/>
+ </instance-parameter>
+ <parameter name="render_x"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-overlay-composition.c"
+ line="777">address where to store the X render offset</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ <parameter name="render_y"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-overlay-composition.c"
+ line="778">address where to store the Y render offset</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ <parameter name="render_width"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-overlay-composition.c"
+ line="779">address where to store the render width</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ <parameter name="render_height"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-overlay-composition.c"
+ line="780">address where to store the render height</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_seqnum"
+ c:identifier="gst_video_overlay_rectangle_get_seqnum">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-overlay-composition.c"
+ line="1616">Returns the sequence number of this rectangle. Sequence numbers are
+monotonically increasing and unique for overlay compositions and rectangles
+(meaning there will never be a rectangle with the same sequence number as
+a composition).
+
+Using the sequence number of a rectangle as an indicator for changed
+pixel-data of a rectangle is dangereous. Some API calls, like e.g.
+gst_video_overlay_rectangle_set_global_alpha(), automatically update
+the per rectangle sequence number, which is misleading for renderers/
+consumers, that handle global-alpha themselves. For them the
+pixel-data returned by gst_video_overlay_rectangle_get_pixels_*()
+won't be different for different global-alpha values. In this case a
+renderer could also use the GstBuffer pointers as a hint for changed
+pixel-data.</doc>
+ <source-position filename="gst-libs/gst/video/video-overlay-composition.h"
+ line="137"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-overlay-composition.c"
+ line="1635">the sequence number of @rectangle</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="rectangle" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-overlay-composition.c"
+ line="1618">a #GstVideoOverlayRectangle</doc>
+ <type name="VideoOverlayRectangle"
+ c:type="GstVideoOverlayRectangle*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="set_global_alpha"
+ c:identifier="gst_video_overlay_rectangle_set_global_alpha">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-overlay-composition.c"
+ line="1550">Sets the global alpha value associated with a #GstVideoOverlayRectangle. Per-
+pixel alpha values are multiplied with this value. Valid
+values: 0 &lt;= global_alpha &lt;= 1; 1 to deactivate.
+
+@rectangle must be writable, meaning its refcount must be 1. You can
+make the rectangles inside a #GstVideoOverlayComposition writable using
+gst_video_overlay_composition_make_writable() or
+gst_video_overlay_composition_copy().</doc>
+ <source-position filename="gst-libs/gst/video/video-overlay-composition.h"
+ line="184"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="rectangle" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-overlay-composition.c"
+ line="1552">a #GstVideoOverlayRectangle</doc>
+ <type name="VideoOverlayRectangle"
+ c:type="GstVideoOverlayRectangle*"/>
+ </instance-parameter>
+ <parameter name="global_alpha" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-overlay-composition.c"
+ line="1553">Global alpha value (0 to 1.0)</doc>
+ <type name="gfloat" c:type="gfloat"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="set_render_rectangle"
+ c:identifier="gst_video_overlay_rectangle_set_render_rectangle">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-overlay-composition.c"
+ line="806">Sets the render position and dimensions of the rectangle on the video.
+This function is mainly for elements that modify the size of the video
+in some way (e.g. through scaling or cropping) and need to adjust the
+details of any overlays to match the operation that changed the size.
+
+@rectangle must be writable, meaning its refcount must be 1. You can
+make the rectangles inside a #GstVideoOverlayComposition writable using
+gst_video_overlay_composition_make_writable() or
+gst_video_overlay_composition_copy().</doc>
+ <source-position filename="gst-libs/gst/video/video-overlay-composition.h"
+ line="140"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="rectangle" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-overlay-composition.c"
+ line="808">a #GstVideoOverlayRectangle</doc>
+ <type name="VideoOverlayRectangle"
+ c:type="GstVideoOverlayRectangle*"/>
+ </instance-parameter>
+ <parameter name="render_x" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-overlay-composition.c"
+ line="809">render X position of rectangle on video</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="render_y" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-overlay-composition.c"
+ line="810">render Y position of rectangle on video</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="render_width" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-overlay-composition.c"
+ line="811">render width of rectangle</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="render_height" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-overlay-composition.c"
+ line="812">render height of rectangle</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ </record>
+ <bitfield name="VideoPackFlags"
+ glib:type-name="GstVideoPackFlags"
+ glib:get-type="gst_video_pack_flags_get_type"
+ c:type="GstVideoPackFlags">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="317">The different flags that can be used when packing and unpacking.</doc>
+ <member name="none"
+ value="0"
+ c:identifier="GST_VIDEO_PACK_FLAG_NONE"
+ glib:nick="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="319">No flag</doc>
+ </member>
+ <member name="truncate_range"
+ value="1"
+ c:identifier="GST_VIDEO_PACK_FLAG_TRUNCATE_RANGE"
+ glib:nick="truncate-range">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="320">When the source has a smaller depth
+ than the target format, set the least significant bits of the target
+ to 0. This is likely slightly faster but less accurate. When this flag
+ is not specified, the most significant bits of the source are duplicated
+ in the least significant bits of the destination.</doc>
+ </member>
+ <member name="interlaced"
+ value="2"
+ c:identifier="GST_VIDEO_PACK_FLAG_INTERLACED"
+ glib:nick="interlaced">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.h"
+ line="325">The source is interlaced. The unpacked
+ format will be interlaced as well with each line containing
+ information from alternating fields. (Since: 1.2)</doc>
+ </member>
+ </bitfield>
+ <enumeration name="VideoPrimariesMode"
+ version="1.6"
+ glib:type-name="GstVideoPrimariesMode"
+ glib:get-type="gst_video_primaries_mode_get_type"
+ c:type="GstVideoPrimariesMode">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-converter.h"
+ line="244">Different primaries conversion modes</doc>
+ <member name="none"
+ value="0"
+ c:identifier="GST_VIDEO_PRIMARIES_MODE_NONE"
+ glib:nick="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-converter.h"
+ line="246">disable conversion between primaries</doc>
+ </member>
+ <member name="merge_only"
+ value="1"
+ c:identifier="GST_VIDEO_PRIMARIES_MODE_MERGE_ONLY"
+ glib:nick="merge-only">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-converter.h"
+ line="247">do conversion between primaries only
+ when it can be merged with color matrix conversion.</doc>
+ </member>
+ <member name="fast"
+ value="2"
+ c:identifier="GST_VIDEO_PRIMARIES_MODE_FAST"
+ glib:nick="fast">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-converter.h"
+ line="249">fast conversion between primaries</doc>
+ </member>
+ </enumeration>
+ <record name="VideoRectangle" c:type="GstVideoRectangle">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideosink.h"
+ line="68">Helper structure representing a rectangular area.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideosink.h" line="82"/>
+ <field name="x" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideosink.h"
+ line="70">X coordinate of rectangle's top-left point</doc>
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="y" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideosink.h"
+ line="71">Y coordinate of rectangle's top-left point</doc>
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="w" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideosink.h"
+ line="72">width of the rectangle</doc>
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="h" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideosink.h"
+ line="73">height of the rectangle</doc>
+ <type name="gint" c:type="gint"/>
+ </field>
+ </record>
+ <record name="VideoRegionOfInterestMeta"
+ c:type="GstVideoRegionOfInterestMeta">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.h"
+ line="304">Extra buffer metadata describing an image region of interest</doc>
+ <source-position filename="gst-libs/gst/video/gstvideometa.h"
+ line="332"/>
+ <field name="meta" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.h"
+ line="306">parent #GstMeta</doc>
+ <type name="Gst.Meta" c:type="GstMeta"/>
+ </field>
+ <field name="roi_type" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.h"
+ line="307">GQuark describing the semantic of the Roi (f.i. a face, a pedestrian)</doc>
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </field>
+ <field name="id" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.h"
+ line="308">identifier of this particular ROI</doc>
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="parent_id" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.h"
+ line="309">identifier of its parent ROI, used f.i. for ROI hierarchisation.</doc>
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="x" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.h"
+ line="310">x component of upper-left corner</doc>
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="y" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.h"
+ line="311">y component of upper-left corner</doc>
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="w" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.h"
+ line="312">bounding box width</doc>
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="h" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.h"
+ line="313">bounding box height</doc>
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="params" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.h"
+ line="314">list of #GstStructure containing element-specific params for downstream,
+ see gst_video_region_of_interest_meta_add_param(). (Since: 1.14)</doc>
+ <type name="GLib.List" c:type="GList*">
+ <type name="gpointer" c:type="gpointer"/>
+ </type>
+ </field>
+ <method name="add_param"
+ c:identifier="gst_video_region_of_interest_meta_add_param"
+ version="1.14">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="1003">Attach element-specific parameters to @meta meant to be used by downstream
+elements which may handle this ROI.
+The name of @s is used to identify the element these parameters are meant for.
+
+This is typically used to tell encoders how they should encode this specific region.
+For example, a structure named "roi/x264enc" could be used to give the
+QP offsets this encoder should use when encoding the region described in @meta.
+Multiple parameters can be defined for the same meta so different encoders
+can be supported by cross platform applications).</doc>
+ <source-position filename="gst-libs/gst/video/gstvideometa.h"
+ line="363"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="meta" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="1005">a #GstVideoRegionOfInterestMeta</doc>
+ <type name="VideoRegionOfInterestMeta"
+ c:type="GstVideoRegionOfInterestMeta*"/>
+ </instance-parameter>
+ <parameter name="s" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="1006">a #GstStructure</doc>
+ <type name="Gst.Structure" c:type="GstStructure*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_param"
+ c:identifier="gst_video_region_of_interest_meta_get_param"
+ version="1.14">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="1030">Retrieve the parameter for @meta having @name as structure name,
+or %NULL if there is none.</doc>
+ <doc-version xml:space="preserve">
+See also: gst_video_region_of_interest_meta_add_param()</doc-version>
+ <source-position filename="gst-libs/gst/video/gstvideometa.h"
+ line="367"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="1038">a #GstStructure</doc>
+ <type name="Gst.Structure" c:type="GstStructure*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="meta" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="1032">a #GstVideoRegionOfInterestMeta</doc>
+ <type name="VideoRegionOfInterestMeta"
+ c:type="GstVideoRegionOfInterestMeta*"/>
+ </instance-parameter>
+ <parameter name="name" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="1033">a name.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <function name="get_info"
+ c:identifier="gst_video_region_of_interest_meta_get_info">
+ <source-position filename="gst-libs/gst/video/gstvideometa.h"
+ line="338"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.MetaInfo" c:type="const GstMetaInfo*"/>
+ </return-value>
+ </function>
+ </record>
+ <record name="VideoResampler" c:type="GstVideoResampler" version="1.6">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-resampler.c"
+ line="52">#GstVideoResampler is a structure which holds the information
+required to perform various kinds of resampling filtering.</doc>
+ <source-position filename="gst-libs/gst/video/video-resampler.h"
+ line="161"/>
+ <field name="in_size" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-resampler.h"
+ line="135">the input size</doc>
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="out_size" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-resampler.h"
+ line="136">the output size</doc>
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="max_taps" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-resampler.h"
+ line="137">the maximum number of taps</doc>
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="n_phases" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-resampler.h"
+ line="138">the number of phases</doc>
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="offset" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-resampler.h"
+ line="139">array with the source offset for each output element</doc>
+ <type name="guint32" c:type="guint32*"/>
+ </field>
+ <field name="phase" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-resampler.h"
+ line="140">array with the phase to use for each output element</doc>
+ <type name="guint32" c:type="guint32*"/>
+ </field>
+ <field name="n_taps" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-resampler.h"
+ line="141">array with new number of taps for each phase</doc>
+ <type name="guint32" c:type="guint32*"/>
+ </field>
+ <field name="taps" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-resampler.h"
+ line="142">the taps for all phases</doc>
+ <type name="gdouble" c:type="gdouble*"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ <method name="clear"
+ c:identifier="gst_video_resampler_clear"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-resampler.c"
+ line="431">Clear a previously initialized #GstVideoResampler @resampler.</doc>
+ <source-position filename="gst-libs/gst/video/video-resampler.h"
+ line="174"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="resampler" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-resampler.c"
+ line="433">a #GstVideoResampler</doc>
+ <type name="VideoResampler" c:type="GstVideoResampler*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="init" c:identifier="gst_video_resampler_init">
+ <source-position filename="gst-libs/gst/video/video-resampler.h"
+ line="165"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="resampler" transfer-ownership="none">
+ <type name="VideoResampler" c:type="GstVideoResampler*"/>
+ </instance-parameter>
+ <parameter name="method" transfer-ownership="none">
+ <type name="VideoResamplerMethod"
+ c:type="GstVideoResamplerMethod"/>
+ </parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <type name="VideoResamplerFlags" c:type="GstVideoResamplerFlags"/>
+ </parameter>
+ <parameter name="n_phases" transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="n_taps" transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="shift" transfer-ownership="none">
+ <type name="gdouble" c:type="gdouble"/>
+ </parameter>
+ <parameter name="in_size" transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="out_size" transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="options" transfer-ownership="none">
+ <type name="Gst.Structure" c:type="GstStructure*"/>
+ </parameter>
+ </parameters>
+ </method>
+ </record>
+ <bitfield name="VideoResamplerFlags"
+ version="1.6"
+ glib:type-name="GstVideoResamplerFlags"
+ glib:get-type="gst_video_resampler_flags_get_type"
+ c:type="GstVideoResamplerFlags">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-resampler.h"
+ line="117">Different resampler flags.</doc>
+ <member name="none"
+ value="0"
+ c:identifier="GST_VIDEO_RESAMPLER_FLAG_NONE"
+ glib:nick="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-resampler.h"
+ line="119">no flags</doc>
+ </member>
+ <member name="half_taps"
+ value="1"
+ c:identifier="GST_VIDEO_RESAMPLER_FLAG_HALF_TAPS"
+ glib:nick="half-taps">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-resampler.h"
+ line="120">when no taps are given, half the
+ number of calculated taps. This can be used when making scalers
+ for the different fields of an interlaced picture. Since: 1.10</doc>
+ </member>
+ </bitfield>
+ <enumeration name="VideoResamplerMethod"
+ version="1.6"
+ glib:type-name="GstVideoResamplerMethod"
+ glib:get-type="gst_video_resampler_method_get_type"
+ c:type="GstVideoResamplerMethod">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-resampler.h"
+ line="30">Different subsampling and upsampling methods</doc>
+ <member name="nearest"
+ value="0"
+ c:identifier="GST_VIDEO_RESAMPLER_METHOD_NEAREST"
+ glib:nick="nearest">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-resampler.h"
+ line="32">Duplicates the samples when
+ upsampling and drops when downsampling</doc>
+ </member>
+ <member name="linear"
+ value="1"
+ c:identifier="GST_VIDEO_RESAMPLER_METHOD_LINEAR"
+ glib:nick="linear">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-resampler.h"
+ line="34">Uses linear interpolation to reconstruct
+ missing samples and averaging to downsample</doc>
+ </member>
+ <member name="cubic"
+ value="2"
+ c:identifier="GST_VIDEO_RESAMPLER_METHOD_CUBIC"
+ glib:nick="cubic">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-resampler.h"
+ line="36">Uses cubic interpolation</doc>
+ </member>
+ <member name="sinc"
+ value="3"
+ c:identifier="GST_VIDEO_RESAMPLER_METHOD_SINC"
+ glib:nick="sinc">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-resampler.h"
+ line="37">Uses sinc interpolation</doc>
+ </member>
+ <member name="lanczos"
+ value="4"
+ c:identifier="GST_VIDEO_RESAMPLER_METHOD_LANCZOS"
+ glib:nick="lanczos">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-resampler.h"
+ line="38">Uses lanczos interpolation</doc>
+ </member>
+ </enumeration>
+ <record name="VideoScaler" c:type="GstVideoScaler" disguised="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-scaler.c"
+ line="28">#GstVideoScaler is a utility object for rescaling and resampling
+video frames using various interpolation / sampling methods.</doc>
+ <source-position filename="gst-libs/gst/video/video-scaler.h" line="51"/>
+ <method name="2d" c:identifier="gst_video_scaler_2d">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-scaler.c"
+ line="1419">Scale a rectangle of pixels in @src with @src_stride to @dest with
+@dest_stride using the horizontal scaler @hscaler and the vertical
+scaler @vscale.
+
+One or both of @hscale and @vscale can be NULL to only perform scaling in
+one dimension or do a copy without scaling.
+
+@x and @y are the coordinates in the destination image to process.</doc>
+ <source-position filename="gst-libs/gst/video/video-scaler.h"
+ line="91"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="hscale" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-scaler.c"
+ line="1421">a horizontal #GstVideoScaler</doc>
+ <type name="VideoScaler" c:type="GstVideoScaler*"/>
+ </instance-parameter>
+ <parameter name="vscale" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-scaler.c"
+ line="1422">a vertical #GstVideoScaler</doc>
+ <type name="VideoScaler" c:type="GstVideoScaler*"/>
+ </parameter>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-scaler.c"
+ line="1423">a #GstVideoFormat for @srcs and @dest</doc>
+ <type name="VideoFormat" c:type="GstVideoFormat"/>
+ </parameter>
+ <parameter name="src"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-scaler.c"
+ line="1424">source pixels</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="src_stride" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-scaler.c"
+ line="1425">source pixels stride</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="dest"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-scaler.c"
+ line="1426">destination pixels</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="dest_stride" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-scaler.c"
+ line="1427">destination pixels stride</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="x" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-scaler.c"
+ line="1428">the horizontal destination offset</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="y" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-scaler.c"
+ line="1429">the vertical destination offset</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="width" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-scaler.c"
+ line="1430">the number of output pixels to scale</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="height" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-scaler.c"
+ line="1431">the number of output lines to scale</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="combine_packed_YUV"
+ c:identifier="gst_video_scaler_combine_packed_YUV"
+ version="1.6"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-scaler.c"
+ line="1121">Combine a scaler for Y and UV into one scaler for the packed @format.</doc>
+ <source-position filename="gst-libs/gst/video/video-scaler.h"
+ line="85"/>
+ <return-value>
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-scaler.c"
+ line="1130">a new horizontal videoscaler for @format.</doc>
+ <type name="VideoScaler" c:type="GstVideoScaler*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="y_scale" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-scaler.c"
+ line="1123">a scaler for the Y component</doc>
+ <type name="VideoScaler" c:type="GstVideoScaler*"/>
+ </instance-parameter>
+ <parameter name="uv_scale" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-scaler.c"
+ line="1124">a scaler for the U and V components</doc>
+ <type name="VideoScaler" c:type="GstVideoScaler*"/>
+ </parameter>
+ <parameter name="in_format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-scaler.c"
+ line="1125">the input video format</doc>
+ <type name="VideoFormat" c:type="GstVideoFormat"/>
+ </parameter>
+ <parameter name="out_format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-scaler.c"
+ line="1126">the output video format</doc>
+ <type name="VideoFormat" c:type="GstVideoFormat"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="free" c:identifier="gst_video_scaler_free">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-scaler.c"
+ line="265">Free a previously allocated #GstVideoScaler @scale.</doc>
+ <source-position filename="gst-libs/gst/video/video-scaler.h"
+ line="61"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="scale" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-scaler.c"
+ line="267">a #GstVideoScaler</doc>
+ <type name="VideoScaler" c:type="GstVideoScaler*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_coeff" c:identifier="gst_video_scaler_get_coeff">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-scaler.c"
+ line="301">For a given pixel at @out_offset, get the first required input pixel at
+@in_offset and the @n_taps filter coefficients.
+
+Note that for interlaced content, @in_offset needs to be incremented with
+2 to get the next input line.</doc>
+ <source-position filename="gst-libs/gst/video/video-scaler.h"
+ line="67"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-scaler.c"
+ line="314">an array of @n_tap gdouble values with filter coefficients.</doc>
+ <type name="gdouble" c:type="const gdouble*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="scale" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-scaler.c"
+ line="303">a #GstVideoScaler</doc>
+ <type name="VideoScaler" c:type="GstVideoScaler*"/>
+ </instance-parameter>
+ <parameter name="out_offset" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-scaler.c"
+ line="304">an output offset</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="in_offset" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-scaler.c"
+ line="305">result input offset</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ <parameter name="n_taps" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-scaler.c"
+ line="306">result n_taps</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="get_max_taps" c:identifier="gst_video_scaler_get_max_taps">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-scaler.c"
+ line="285">Get the maximum number of taps for @scale.</doc>
+ <source-position filename="gst-libs/gst/video/video-scaler.h"
+ line="64"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-scaler.c"
+ line="291">the maximum number of taps</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="scale" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-scaler.c"
+ line="287">a #GstVideoScaler</doc>
+ <type name="VideoScaler" c:type="GstVideoScaler*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="horizontal" c:identifier="gst_video_scaler_horizontal">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-scaler.c"
+ line="1336">Horizontally scale the pixels in @src to @dest, starting from @dest_offset
+for @width samples.</doc>
+ <source-position filename="gst-libs/gst/video/video-scaler.h"
+ line="73"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="scale" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-scaler.c"
+ line="1338">a #GstVideoScaler</doc>
+ <type name="VideoScaler" c:type="GstVideoScaler*"/>
+ </instance-parameter>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-scaler.c"
+ line="1339">a #GstVideoFormat for @src and @dest</doc>
+ <type name="VideoFormat" c:type="GstVideoFormat"/>
+ </parameter>
+ <parameter name="src"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-scaler.c"
+ line="1340">source pixels</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="dest"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-scaler.c"
+ line="1341">destination pixels</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="dest_offset" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-scaler.c"
+ line="1342">the horizontal destination offset</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="width" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-scaler.c"
+ line="1343">the number of pixels to scale</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="vertical" c:identifier="gst_video_scaler_vertical">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-scaler.c"
+ line="1376">Vertically combine @width pixels in the lines in @src_lines to @dest.
+@dest is the location of the target line at @dest_offset and
+@srcs are the input lines for @dest_offset.</doc>
+ <source-position filename="gst-libs/gst/video/video-scaler.h"
+ line="79"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="scale" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-scaler.c"
+ line="1378">a #GstVideoScaler</doc>
+ <type name="VideoScaler" c:type="GstVideoScaler*"/>
+ </instance-parameter>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-scaler.c"
+ line="1379">a #GstVideoFormat for @srcs and @dest</doc>
+ <type name="VideoFormat" c:type="GstVideoFormat"/>
+ </parameter>
+ <parameter name="src_lines"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-scaler.c"
+ line="1380">source pixels lines</doc>
+ <type name="gpointer" c:type="gpointer*"/>
+ </parameter>
+ <parameter name="dest"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-scaler.c"
+ line="1381">destination pixels</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="dest_offset" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-scaler.c"
+ line="1382">the vertical destination offset</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="width" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-scaler.c"
+ line="1383">the number of pixels to scale</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <function name="new"
+ c:identifier="gst_video_scaler_new"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-scaler.c"
+ line="195">Make a new @method video scaler. @in_size source lines/pixels will
+be scaled to @out_size destination lines/pixels.
+
+@n_taps specifies the amount of pixels to use from the source for one output
+pixel. If n_taps is 0, this function chooses a good value automatically based
+on the @method and @in_size/@out_size.</doc>
+ <source-position filename="gst-libs/gst/video/video-scaler.h"
+ line="54"/>
+ <return-value>
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-scaler.c"
+ line="211">a #GstVideoScaler</doc>
+ <type name="VideoScaler" c:type="GstVideoScaler*"/>
+ </return-value>
+ <parameters>
+ <parameter name="method" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-scaler.c"
+ line="197">a #GstVideoResamplerMethod</doc>
+ <type name="VideoResamplerMethod"
+ c:type="GstVideoResamplerMethod"/>
+ </parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-scaler.c"
+ line="198">#GstVideoScalerFlags</doc>
+ <type name="VideoScalerFlags" c:type="GstVideoScalerFlags"/>
+ </parameter>
+ <parameter name="n_taps" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-scaler.c"
+ line="199">number of taps to use</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="in_size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-scaler.c"
+ line="200">number of source elements</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="out_size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-scaler.c"
+ line="201">number of destination elements</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="options"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-scaler.c"
+ line="202">extra options</doc>
+ <type name="Gst.Structure" c:type="GstStructure*"/>
+ </parameter>
+ </parameters>
+ </function>
+ </record>
+ <bitfield name="VideoScalerFlags"
+ glib:type-name="GstVideoScalerFlags"
+ glib:get-type="gst_video_scaler_flags_get_type"
+ c:type="GstVideoScalerFlags">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-scaler.h"
+ line="39">Different scale flags.</doc>
+ <member name="none"
+ value="0"
+ c:identifier="GST_VIDEO_SCALER_FLAG_NONE"
+ glib:nick="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-scaler.h"
+ line="41">no flags</doc>
+ </member>
+ <member name="interlaced"
+ value="1"
+ c:identifier="GST_VIDEO_SCALER_FLAG_INTERLACED"
+ glib:nick="interlaced">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-scaler.h"
+ line="42">Set up a scaler for interlaced content</doc>
+ </member>
+ </bitfield>
+ <class name="VideoSink"
+ c:symbol-prefix="video_sink"
+ c:type="GstVideoSink"
+ parent="GstBase.BaseSink"
+ glib:type-name="GstVideoSink"
+ glib:get-type="gst_video_sink_get_type"
+ glib:type-struct="VideoSinkClass">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideosink.c"
+ line="21">Provides useful functions and a base class for video sinks.
+
+GstVideoSink will configure the default base sink to drop frames that
+arrive later than 20ms as this is considered the default threshold for
+observing out-of-sync frames.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideosink.h"
+ line="122"/>
+ <function name="center_rect" c:identifier="gst_video_sink_center_rect">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideosink.c"
+ line="86">Takes @src rectangle and position it at the center of @dst rectangle with or
+without @scaling. It handles clipping if the @src rectangle is bigger than
+the @dst one and @scaling is set to FALSE.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideosink.h"
+ line="128"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideosink.c"
+ line="88">the #GstVideoRectangle describing the source area</doc>
+ <type name="VideoRectangle" c:type="GstVideoRectangle"/>
+ </parameter>
+ <parameter name="dst" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideosink.c"
+ line="89">the #GstVideoRectangle describing the destination area</doc>
+ <type name="VideoRectangle" c:type="GstVideoRectangle"/>
+ </parameter>
+ <parameter name="result" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideosink.c"
+ line="90">a pointer to a #GstVideoRectangle which will receive the result area</doc>
+ <type name="VideoRectangle" c:type="GstVideoRectangle*"/>
+ </parameter>
+ <parameter name="scaling" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideosink.c"
+ line="91">a #gboolean indicating if scaling should be applied or not</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </function>
+ <virtual-method name="show_frame">
+ <source-position filename="gst-libs/gst/video/gstvideosink.h"
+ line="118"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="video_sink" transfer-ownership="none">
+ <type name="VideoSink" c:type="GstVideoSink*"/>
+ </instance-parameter>
+ <parameter name="buf" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </virtual-method>
+ <property name="show-preroll-frame"
+ writable="1"
+ construct="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideosink.c"
+ line="164">Whether to show video frames during preroll. If set to %FALSE, video
+frames will only be rendered in PLAYING state.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </property>
+ <field name="element">
+ <type name="GstBase.BaseSink" c:type="GstBaseSink"/>
+ </field>
+ <field name="width">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideosink.h"
+ line="87">video width (derived class needs to set this)</doc>
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="height">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideosink.h"
+ line="86">video height (derived class needs to set this)</doc>
+ <type name="gint" c:type="gint"/>
+ </field>
+ <field name="priv" readable="0" private="1">
+ <type name="VideoSinkPrivate" c:type="GstVideoSinkPrivate*"/>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </class>
+ <record name="VideoSinkClass"
+ c:type="GstVideoSinkClass"
+ glib:is-gtype-struct-for="VideoSink">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideosink.h"
+ line="104">The video sink class structure. Derived classes should override the
+@show_frame virtual function.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideosink.h"
+ line="122"/>
+ <field name="parent_class">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideosink.h"
+ line="106">the parent class structure</doc>
+ <type name="GstBase.BaseSinkClass" c:type="GstBaseSinkClass"/>
+ </field>
+ <field name="show_frame">
+ <callback name="show_frame">
+ <source-position filename="gst-libs/gst/video/gstvideosink.h"
+ line="118"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.FlowReturn" c:type="GstFlowReturn"/>
+ </return-value>
+ <parameters>
+ <parameter name="video_sink" transfer-ownership="none">
+ <type name="VideoSink" c:type="GstVideoSink*"/>
+ </parameter>
+ <parameter name="buf" transfer-ownership="none">
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </callback>
+ </field>
+ <field name="_gst_reserved" readable="0" private="1">
+ <array zero-terminated="0" fixed-size="4">
+ <type name="gpointer" c:type="gpointer"/>
+ </array>
+ </field>
+ </record>
+ <record name="VideoSinkPrivate" c:type="GstVideoSinkPrivate" disguised="1">
+ <source-position filename="gst-libs/gst/video/gstvideosink.h" line="66"/>
+ </record>
+ <enumeration name="VideoTileMode"
+ glib:type-name="GstVideoTileMode"
+ glib:get-type="gst_video_tile_mode_get_type"
+ c:type="GstVideoTileMode">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-tile.h"
+ line="108">Enum value describing the available tiling modes.</doc>
+ <member name="unknown"
+ value="0"
+ c:identifier="GST_VIDEO_TILE_MODE_UNKNOWN"
+ glib:nick="unknown">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-tile.h"
+ line="110">Unknown or unset tile mode</doc>
+ </member>
+ <member name="zflipz_2x2"
+ value="65536"
+ c:identifier="GST_VIDEO_TILE_MODE_ZFLIPZ_2X2"
+ glib:nick="zflipz-2x2">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-tile.h"
+ line="111">Every four adjacent blocks - two
+ horizontally and two vertically are grouped together and are located
+ in memory in Z or flipped Z order. In case of odd rows, the last row
+ of blocks is arranged in linear order.</doc>
+ </member>
+ <member name="linear"
+ value="131072"
+ c:identifier="GST_VIDEO_TILE_MODE_LINEAR"
+ version="1.18"
+ glib:nick="linear">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-tile.h"
+ line="123">Tiles are in row order.</doc>
+ </member>
+ </enumeration>
+ <enumeration name="VideoTileType"
+ glib:type-name="GstVideoTileType"
+ glib:get-type="gst_video_tile_type_get_type"
+ c:type="GstVideoTileType">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-tile.h"
+ line="28">Enum value describing the most common tiling types.</doc>
+ <member name="indexed"
+ value="0"
+ c:identifier="GST_VIDEO_TILE_TYPE_INDEXED"
+ glib:nick="indexed">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-tile.h"
+ line="30">Tiles are indexed. Use
+ gst_video_tile_get_index () to retrieve the tile at the requested
+ coordinates.</doc>
+ </member>
+ </enumeration>
+ <record name="VideoTimeCode"
+ c:type="GstVideoTimeCode"
+ version="1.10"
+ glib:type-name="GstVideoTimeCode"
+ glib:get-type="gst_video_time_code_get_type"
+ c:symbol-prefix="video_time_code">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.h"
+ line="75">@field_count must be 0 for progressive video and 1 or 2 for interlaced.
+
+A representation of a SMPTE time code.
+
+@hours must be positive and less than 24. Will wrap around otherwise.
+@minutes and @seconds must be positive and less than 60.
+@frames must be less than or equal to @config.fps_n / @config.fps_d
+These values are *NOT* automatically normalized.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideotimecode.h"
+ line="103"/>
+ <field name="config" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.h"
+ line="82">the corresponding #GstVideoTimeCodeConfig</doc>
+ <type name="VideoTimeCodeConfig" c:type="GstVideoTimeCodeConfig"/>
+ </field>
+ <field name="hours" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.h"
+ line="77">the hours field of #GstVideoTimeCode</doc>
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="minutes" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.h"
+ line="78">the minutes field of #GstVideoTimeCode</doc>
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="seconds" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.h"
+ line="79">the seconds field of #GstVideoTimeCode</doc>
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="frames" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.h"
+ line="80">the frames field of #GstVideoTimeCode</doc>
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="field_count" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.h"
+ line="81">Interlaced video field count</doc>
+ <type name="guint" c:type="guint"/>
+ </field>
+ <constructor name="new"
+ c:identifier="gst_video_time_code_new"
+ version="1.10">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.c"
+ line="588">@field_count is 0 for progressive, 1 or 2 for interlaced.
+@latest_daiy_jam reference is stolen from caller.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideotimecode.h"
+ line="131"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.c"
+ line="603">a new #GstVideoTimeCode with the given values.
+The values are not checked for being in a valid range. To see if your
+timecode actually has valid content, use gst_video_time_code_is_valid().</doc>
+ <type name="VideoTimeCode" c:type="GstVideoTimeCode*"/>
+ </return-value>
+ <parameters>
+ <parameter name="fps_n" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.c"
+ line="590">Numerator of the frame rate</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="fps_d" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.c"
+ line="591">Denominator of the frame rate</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="latest_daily_jam" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.c"
+ line="592">The latest daily jam of the #GstVideoTimeCode</doc>
+ <type name="GLib.DateTime" c:type="GDateTime*"/>
+ </parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.c"
+ line="593">#GstVideoTimeCodeFlags</doc>
+ <type name="VideoTimeCodeFlags" c:type="GstVideoTimeCodeFlags"/>
+ </parameter>
+ <parameter name="hours" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.c"
+ line="594">the hours field of #GstVideoTimeCode</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="minutes" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.c"
+ line="595">the minutes field of #GstVideoTimeCode</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="seconds" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.c"
+ line="596">the seconds field of #GstVideoTimeCode</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="frames" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.c"
+ line="597">the frames field of #GstVideoTimeCode</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="field_count" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.c"
+ line="598">Interlaced video field count</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_empty"
+ c:identifier="gst_video_time_code_new_empty"
+ version="1.10">
+ <source-position filename="gst-libs/gst/video/gstvideotimecode.h"
+ line="142"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.c"
+ line="625">a new empty, invalid #GstVideoTimeCode</doc>
+ <type name="VideoTimeCode" c:type="GstVideoTimeCode*"/>
+ </return-value>
+ </constructor>
+ <constructor name="new_from_date_time"
+ c:identifier="gst_video_time_code_new_from_date_time"
+ version="1.12">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.c"
+ line="721">The resulting config-&gt;latest_daily_jam is set to
+midnight, and timecode is set to the given time.
+
+This might return a completely invalid timecode, use
+gst_video_time_code_new_from_date_time_full() to ensure
+that you would get %NULL instead in that case.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideotimecode.h"
+ line="148"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.c"
+ line="736">the #GstVideoTimeCode representation of @dt.</doc>
+ <type name="VideoTimeCode" c:type="GstVideoTimeCode*"/>
+ </return-value>
+ <parameters>
+ <parameter name="fps_n" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.c"
+ line="723">Numerator of the frame rate</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="fps_d" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.c"
+ line="724">Denominator of the frame rate</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="dt" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.c"
+ line="725">#GDateTime to convert</doc>
+ <type name="GLib.DateTime" c:type="GDateTime*"/>
+ </parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.c"
+ line="726">#GstVideoTimeCodeFlags</doc>
+ <type name="VideoTimeCodeFlags" c:type="GstVideoTimeCodeFlags"/>
+ </parameter>
+ <parameter name="field_count" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.c"
+ line="727">Interlaced video field count</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_from_date_time_full"
+ c:identifier="gst_video_time_code_new_from_date_time_full"
+ version="1.16">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.c"
+ line="751">The resulting config-&gt;latest_daily_jam is set to
+midnight, and timecode is set to the given time.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideotimecode.h"
+ line="155"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.c"
+ line="762">the #GstVideoTimeCode representation of @dt, or %NULL if
+ no valid timecode could be created.</doc>
+ <type name="VideoTimeCode" c:type="GstVideoTimeCode*"/>
+ </return-value>
+ <parameters>
+ <parameter name="fps_n" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.c"
+ line="753">Numerator of the frame rate</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="fps_d" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.c"
+ line="754">Denominator of the frame rate</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="dt" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.c"
+ line="755">#GDateTime to convert</doc>
+ <type name="GLib.DateTime" c:type="GDateTime*"/>
+ </parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.c"
+ line="756">#GstVideoTimeCodeFlags</doc>
+ <type name="VideoTimeCodeFlags" c:type="GstVideoTimeCodeFlags"/>
+ </parameter>
+ <parameter name="field_count" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.c"
+ line="757">Interlaced video field count</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_from_string"
+ c:identifier="gst_video_time_code_new_from_string"
+ version="1.12">
+ <source-position filename="gst-libs/gst/video/gstvideotimecode.h"
+ line="145"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.c"
+ line="683">a new #GstVideoTimeCode from the given string or %NULL
+ if the string could not be passed.</doc>
+ <type name="VideoTimeCode" c:type="GstVideoTimeCode*"/>
+ </return-value>
+ <parameters>
+ <parameter name="tc_str" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.c"
+ line="681">The string that represents the #GstVideoTimeCode</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <method name="add_frames"
+ c:identifier="gst_video_time_code_add_frames"
+ version="1.10">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.c"
+ line="390">Adds or subtracts @frames amount of frames to @tc. tc needs to
+contain valid data, as verified by gst_video_time_code_is_valid().</doc>
+ <source-position filename="gst-libs/gst/video/gstvideotimecode.h"
+ line="208"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="tc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.c"
+ line="392">a valid #GstVideoTimeCode</doc>
+ <type name="VideoTimeCode" c:type="GstVideoTimeCode*"/>
+ </instance-parameter>
+ <parameter name="frames" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.c"
+ line="393">How many frames to add or subtract</doc>
+ <type name="gint64" c:type="gint64"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="add_interval"
+ c:identifier="gst_video_time_code_add_interval"
+ version="1.12">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.c"
+ line="880">This makes a component-wise addition of @tc_inter to @tc. For example,
+adding ("01:02:03:04", "00:01:00:00") will return "01:03:03:04".
+When it comes to drop-frame timecodes,
+adding ("00:00:00;00", "00:01:00:00") will return "00:01:00;02"
+because of drop-frame oddities. However,
+adding ("00:09:00;02", "00:01:00:00") will return "00:10:00;00"
+because this time we can have an exact minute.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideotimecode.h"
+ line="224"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.c"
+ line="897">A new #GstVideoTimeCode with @tc_inter added or %NULL
+ if the interval can't be added.</doc>
+ <type name="VideoTimeCode" c:type="GstVideoTimeCode*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="tc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.c"
+ line="882">The #GstVideoTimeCode where the diff should be added. This
+must contain valid timecode values.</doc>
+ <type name="VideoTimeCode" c:type="const GstVideoTimeCode*"/>
+ </instance-parameter>
+ <parameter name="tc_inter" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.c"
+ line="884">The #GstVideoTimeCodeInterval to add to @tc.
+The interval must contain valid values, except that for drop-frame
+timecode, it may also contain timecodes which would normally
+be dropped. These are then corrected to the next reasonable timecode.</doc>
+ <type name="VideoTimeCodeInterval"
+ c:type="const GstVideoTimeCodeInterval*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="clear"
+ c:identifier="gst_video_time_code_clear"
+ version="1.10">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.c"
+ line="822">Initializes @tc with empty/zero/NULL values and frees any memory
+it might currently use.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideotimecode.h"
+ line="195"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="tc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.c"
+ line="824">a #GstVideoTimeCode</doc>
+ <type name="VideoTimeCode" c:type="GstVideoTimeCode*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="compare"
+ c:identifier="gst_video_time_code_compare"
+ version="1.10">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.c"
+ line="503">Compares @tc1 and @tc2. If both have latest daily jam information, it is
+taken into account. Otherwise, it is assumed that the daily jam of both
+@tc1 and @tc2 was at the same time. Both time codes must be valid.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideotimecode.h"
+ line="201"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.c"
+ line="512">1 if @tc1 is after @tc2, -1 if @tc1 is before @tc2, 0 otherwise.</doc>
+ <type name="gint" c:type="gint"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="tc1" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.c"
+ line="505">a valid #GstVideoTimeCode</doc>
+ <type name="VideoTimeCode" c:type="const GstVideoTimeCode*"/>
+ </instance-parameter>
+ <parameter name="tc2" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.c"
+ line="506">another valid #GstVideoTimeCode</doc>
+ <type name="VideoTimeCode" c:type="const GstVideoTimeCode*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="copy"
+ c:identifier="gst_video_time_code_copy"
+ version="1.10">
+ <source-position filename="gst-libs/gst/video/gstvideotimecode.h"
+ line="165"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.c"
+ line="851">a new #GstVideoTimeCode with the same values as @tc.</doc>
+ <type name="VideoTimeCode" c:type="GstVideoTimeCode*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="tc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.c"
+ line="849">a #GstVideoTimeCode</doc>
+ <type name="VideoTimeCode" c:type="const GstVideoTimeCode*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="frames_since_daily_jam"
+ c:identifier="gst_video_time_code_frames_since_daily_jam"
+ version="1.10">
+ <source-position filename="gst-libs/gst/video/gstvideotimecode.h"
+ line="221"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.c"
+ line="329">how many frames have passed since the daily jam of @tc.</doc>
+ <type name="guint64" c:type="guint64"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="tc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.c"
+ line="327">a valid #GstVideoTimeCode</doc>
+ <type name="VideoTimeCode" c:type="const GstVideoTimeCode*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="free"
+ c:identifier="gst_video_time_code_free"
+ version="1.10">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.c"
+ line="863">Frees @tc.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideotimecode.h"
+ line="162"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="tc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.c"
+ line="865">a #GstVideoTimeCode</doc>
+ <type name="VideoTimeCode" c:type="GstVideoTimeCode*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="increment_frame"
+ c:identifier="gst_video_time_code_increment_frame"
+ version="1.10">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.c"
+ line="376">Adds one frame to @tc.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideotimecode.h"
+ line="205"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="tc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.c"
+ line="378">a valid #GstVideoTimeCode</doc>
+ <type name="VideoTimeCode" c:type="GstVideoTimeCode*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="init"
+ c:identifier="gst_video_time_code_init"
+ version="1.10">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.c"
+ line="781">@field_count is 0 for progressive, 1 or 2 for interlaced.
+@latest_daiy_jam reference is stolen from caller.
+
+Initializes @tc with the given values.
+The values are not checked for being in a valid range. To see if your
+timecode actually has valid content, use gst_video_time_code_is_valid().</doc>
+ <source-position filename="gst-libs/gst/video/gstvideotimecode.h"
+ line="168"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="tc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.c"
+ line="783">a #GstVideoTimeCode</doc>
+ <type name="VideoTimeCode" c:type="GstVideoTimeCode*"/>
+ </instance-parameter>
+ <parameter name="fps_n" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.c"
+ line="784">Numerator of the frame rate</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="fps_d" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.c"
+ line="785">Denominator of the frame rate</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="latest_daily_jam"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.c"
+ line="786">The latest daily jam of the #GstVideoTimeCode</doc>
+ <type name="GLib.DateTime" c:type="GDateTime*"/>
+ </parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.c"
+ line="787">#GstVideoTimeCodeFlags</doc>
+ <type name="VideoTimeCodeFlags" c:type="GstVideoTimeCodeFlags"/>
+ </parameter>
+ <parameter name="hours" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.c"
+ line="788">the hours field of #GstVideoTimeCode</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="minutes" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.c"
+ line="789">the minutes field of #GstVideoTimeCode</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="seconds" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.c"
+ line="790">the seconds field of #GstVideoTimeCode</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="frames" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.c"
+ line="791">the frames field of #GstVideoTimeCode</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="field_count" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.c"
+ line="792">Interlaced video field count</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="init_from_date_time"
+ c:identifier="gst_video_time_code_init_from_date_time"
+ version="1.12">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.c"
+ line="210">The resulting config-&gt;latest_daily_jam is set to midnight, and timecode is
+set to the given time.
+
+Will assert on invalid parameters, use gst_video_time_code_init_from_date_time_full()
+for being able to handle invalid parameters.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideotimecode.h"
+ line="180"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="tc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.c"
+ line="212">an uninitialized #GstVideoTimeCode</doc>
+ <type name="VideoTimeCode" c:type="GstVideoTimeCode*"/>
+ </instance-parameter>
+ <parameter name="fps_n" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.c"
+ line="213">Numerator of the frame rate</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="fps_d" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.c"
+ line="214">Denominator of the frame rate</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="dt" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.c"
+ line="215">#GDateTime to convert</doc>
+ <type name="GLib.DateTime" c:type="GDateTime*"/>
+ </parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.c"
+ line="216">#GstVideoTimeCodeFlags</doc>
+ <type name="VideoTimeCodeFlags" c:type="GstVideoTimeCodeFlags"/>
+ </parameter>
+ <parameter name="field_count" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.c"
+ line="217">Interlaced video field count</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="init_from_date_time_full"
+ c:identifier="gst_video_time_code_init_from_date_time_full"
+ version="1.16">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.c"
+ line="237">The resulting config-&gt;latest_daily_jam is set to
+midnight, and timecode is set to the given time.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideotimecode.h"
+ line="187"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.c"
+ line="249">%TRUE if @tc could be correctly initialized to a valid timecode</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="tc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.c"
+ line="239">a #GstVideoTimeCode</doc>
+ <type name="VideoTimeCode" c:type="GstVideoTimeCode*"/>
+ </instance-parameter>
+ <parameter name="fps_n" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.c"
+ line="240">Numerator of the frame rate</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="fps_d" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.c"
+ line="241">Denominator of the frame rate</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="dt" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.c"
+ line="242">#GDateTime to convert</doc>
+ <type name="GLib.DateTime" c:type="GDateTime*"/>
+ </parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.c"
+ line="243">#GstVideoTimeCodeFlags</doc>
+ <type name="VideoTimeCodeFlags" c:type="GstVideoTimeCodeFlags"/>
+ </parameter>
+ <parameter name="field_count" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.c"
+ line="244">Interlaced video field count</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="is_valid"
+ c:identifier="gst_video_time_code_is_valid"
+ version="1.10">
+ <source-position filename="gst-libs/gst/video/gstvideotimecode.h"
+ line="198"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.c"
+ line="60">whether @tc is a valid timecode (supported frame rate,
+hours/minutes/seconds/frames not overflowing)</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="tc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.c"
+ line="58">#GstVideoTimeCode to check</doc>
+ <type name="VideoTimeCode" c:type="const GstVideoTimeCode*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="nsec_since_daily_jam"
+ c:identifier="gst_video_time_code_nsec_since_daily_jam"
+ version="1.10">
+ <source-position filename="gst-libs/gst/video/gstvideotimecode.h"
+ line="218"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.c"
+ line="306">how many nsec have passed since the daily jam of @tc.</doc>
+ <type name="guint64" c:type="guint64"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="tc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.c"
+ line="304">a valid #GstVideoTimeCode</doc>
+ <type name="VideoTimeCode" c:type="const GstVideoTimeCode*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="to_date_time"
+ c:identifier="gst_video_time_code_to_date_time"
+ version="1.10">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.c"
+ line="158">The @tc.config-&gt;latest_daily_jam is required to be non-NULL.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideotimecode.h"
+ line="215"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.c"
+ line="164">the #GDateTime representation of @tc or %NULL if @tc
+ has no daily jam.</doc>
+ <type name="GLib.DateTime" c:type="GDateTime*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="tc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.c"
+ line="160">A valid #GstVideoTimeCode to convert</doc>
+ <type name="VideoTimeCode" c:type="const GstVideoTimeCode*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="to_string"
+ c:identifier="gst_video_time_code_to_string"
+ version="1.10">
+ <source-position filename="gst-libs/gst/video/gstvideotimecode.h"
+ line="212"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.c"
+ line="120">the SMPTE ST 2059-1:2015 string representation of @tc. That will
+take the form hh:mm:ss:ff. The last separator (between seconds and frames)
+may vary:
+
+';' for drop-frame, non-interlaced content and for drop-frame interlaced
+field 2
+',' for drop-frame interlaced field 1
+':' for non-drop-frame, non-interlaced content and for non-drop-frame
+interlaced field 2
+'.' for non-drop-frame interlaced field 1</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="tc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.c"
+ line="118">A #GstVideoTimeCode to convert</doc>
+ <type name="VideoTimeCode" c:type="const GstVideoTimeCode*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ </record>
+ <record name="VideoTimeCodeConfig"
+ c:type="GstVideoTimeCodeConfig"
+ version="1.10">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.h"
+ line="54">Supported frame rates: 30000/1001, 60000/1001 (both with and without drop
+frame), and integer frame rates e.g. 25/1, 30/1, 50/1, 60/1.
+
+The configuration of the time code.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideotimecode.h"
+ line="73"/>
+ <field name="fps_n" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.h"
+ line="56">Numerator of the frame rate</doc>
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="fps_d" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.h"
+ line="57">Denominator of the frame rate</doc>
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="flags" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.h"
+ line="58">the corresponding #GstVideoTimeCodeFlags</doc>
+ <type name="VideoTimeCodeFlags" c:type="GstVideoTimeCodeFlags"/>
+ </field>
+ <field name="latest_daily_jam" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.h"
+ line="59">The latest daily jam information, if present, or NULL</doc>
+ <type name="GLib.DateTime" c:type="GDateTime*"/>
+ </field>
+ </record>
+ <bitfield name="VideoTimeCodeFlags"
+ version="1.10"
+ glib:type-name="GstVideoTimeCodeFlags"
+ glib:get-type="gst_video_time_code_flags_get_type"
+ c:type="GstVideoTimeCodeFlags">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.h"
+ line="32">Flags related to the time code information.
+For drop frame, only 30000/1001 and 60000/1001 frame rates are supported.</doc>
+ <member name="none"
+ value="0"
+ c:identifier="GST_VIDEO_TIME_CODE_FLAGS_NONE"
+ glib:nick="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.h"
+ line="34">No flags</doc>
+ </member>
+ <member name="drop_frame"
+ value="1"
+ c:identifier="GST_VIDEO_TIME_CODE_FLAGS_DROP_FRAME"
+ glib:nick="drop-frame">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.h"
+ line="35">Whether we have drop frame rate</doc>
+ </member>
+ <member name="interlaced"
+ value="2"
+ c:identifier="GST_VIDEO_TIME_CODE_FLAGS_INTERLACED"
+ glib:nick="interlaced">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.h"
+ line="36">Whether we have interlaced video</doc>
+ </member>
+ </bitfield>
+ <record name="VideoTimeCodeInterval"
+ c:type="GstVideoTimeCodeInterval"
+ version="1.12"
+ glib:type-name="GstVideoTimeCodeInterval"
+ glib:get-type="gst_video_time_code_interval_get_type"
+ c:symbol-prefix="video_time_code_interval">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.h"
+ line="105">A representation of a difference between two #GstVideoTimeCode instances.
+Will not necessarily correspond to a real timecode (e.g. 00:00:10;00)</doc>
+ <source-position filename="gst-libs/gst/video/gstvideotimecode.h"
+ line="122"/>
+ <field name="hours" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.h"
+ line="107">the hours field of #GstVideoTimeCodeInterval</doc>
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="minutes" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.h"
+ line="108">the minutes field of #GstVideoTimeCodeInterval</doc>
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="seconds" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.h"
+ line="109">the seconds field of #GstVideoTimeCodeInterval</doc>
+ <type name="guint" c:type="guint"/>
+ </field>
+ <field name="frames" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.h"
+ line="110">the frames field of #GstVideoTimeCodeInterval</doc>
+ <type name="guint" c:type="guint"/>
+ </field>
+ <constructor name="new"
+ c:identifier="gst_video_time_code_interval_new"
+ version="1.12">
+ <source-position filename="gst-libs/gst/video/gstvideotimecode.h"
+ line="231"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.c"
+ line="967">a new #GstVideoTimeCodeInterval with the given values.</doc>
+ <type name="VideoTimeCodeInterval"
+ c:type="GstVideoTimeCodeInterval*"/>
+ </return-value>
+ <parameters>
+ <parameter name="hours" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.c"
+ line="962">the hours field of #GstVideoTimeCodeInterval</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="minutes" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.c"
+ line="963">the minutes field of #GstVideoTimeCodeInterval</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="seconds" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.c"
+ line="964">the seconds field of #GstVideoTimeCodeInterval</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="frames" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.c"
+ line="965">the frames field of #GstVideoTimeCodeInterval</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor name="new_from_string"
+ c:identifier="gst_video_time_code_interval_new_from_string"
+ version="1.12">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.c"
+ line="982">@tc_inter_str must only have ":" as separators.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideotimecode.h"
+ line="237"/>
+ <return-value transfer-ownership="full" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.c"
+ line="988">a new #GstVideoTimeCodeInterval from the given string
+ or %NULL if the string could not be passed.</doc>
+ <type name="VideoTimeCodeInterval"
+ c:type="GstVideoTimeCodeInterval*"/>
+ </return-value>
+ <parameters>
+ <parameter name="tc_inter_str" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.c"
+ line="984">The string that represents the #GstVideoTimeCodeInterval</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <method name="clear"
+ c:identifier="gst_video_time_code_interval_clear"
+ version="1.12">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.c"
+ line="1044">Initializes @tc with empty/zero/NULL values.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideotimecode.h"
+ line="253"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="tc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.c"
+ line="1046">a #GstVideoTimeCodeInterval</doc>
+ <type name="VideoTimeCodeInterval"
+ c:type="GstVideoTimeCodeInterval*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="copy"
+ c:identifier="gst_video_time_code_interval_copy"
+ version="1.12">
+ <source-position filename="gst-libs/gst/video/gstvideotimecode.h"
+ line="243"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.c"
+ line="1065">a new #GstVideoTimeCodeInterval with the same values as @tc.</doc>
+ <type name="VideoTimeCodeInterval"
+ c:type="GstVideoTimeCodeInterval*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="tc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.c"
+ line="1063">a #GstVideoTimeCodeInterval</doc>
+ <type name="VideoTimeCodeInterval"
+ c:type="const GstVideoTimeCodeInterval*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="free"
+ c:identifier="gst_video_time_code_interval_free"
+ version="1.12">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.c"
+ line="1076">Frees @tc.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideotimecode.h"
+ line="240"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="tc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.c"
+ line="1078">a #GstVideoTimeCodeInterval</doc>
+ <type name="VideoTimeCodeInterval"
+ c:type="GstVideoTimeCodeInterval*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="init"
+ c:identifier="gst_video_time_code_interval_init"
+ version="1.12">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.c"
+ line="1022">Initializes @tc with the given values.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideotimecode.h"
+ line="246"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="tc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.c"
+ line="1024">a #GstVideoTimeCodeInterval</doc>
+ <type name="VideoTimeCodeInterval"
+ c:type="GstVideoTimeCodeInterval*"/>
+ </instance-parameter>
+ <parameter name="hours" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.c"
+ line="1025">the hours field of #GstVideoTimeCodeInterval</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="minutes" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.c"
+ line="1026">the minutes field of #GstVideoTimeCodeInterval</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="seconds" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.c"
+ line="1027">the seconds field of #GstVideoTimeCodeInterval</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="frames" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideotimecode.c"
+ line="1028">the frames field of #GstVideoTimeCodeInterval</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ </record>
+ <record name="VideoTimeCodeMeta"
+ c:type="GstVideoTimeCodeMeta"
+ version="1.10">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.h"
+ line="370">Extra buffer metadata describing the GstVideoTimeCode of the frame.
+
+Each frame is assumed to have its own timecode, i.e. they are not
+automatically incremented/interpolated.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideometa.h"
+ line="386"/>
+ <field name="meta" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.h"
+ line="372">parent #GstMeta</doc>
+ <type name="Gst.Meta" c:type="GstMeta"/>
+ </field>
+ <field name="tc" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.h"
+ line="373">the GstVideoTimeCode to attach</doc>
+ <type name="VideoTimeCode" c:type="GstVideoTimeCode"/>
+ </field>
+ <function name="get_info"
+ c:identifier="gst_video_time_code_meta_get_info">
+ <source-position filename="gst-libs/gst/video/gstvideometa.h"
+ line="393"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.MetaInfo" c:type="const GstMetaInfo*"/>
+ </return-value>
+ </function>
+ </record>
+ <enumeration name="VideoTransferFunction"
+ glib:type-name="GstVideoTransferFunction"
+ glib:get-type="gst_video_transfer_function_get_type"
+ c:type="GstVideoTransferFunction">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.h"
+ line="73">The video transfer function defines the formula for converting between
+non-linear RGB (R'G'B') and linear RGB</doc>
+ <member name="unknown"
+ value="0"
+ c:identifier="GST_VIDEO_TRANSFER_UNKNOWN"
+ glib:nick="unknown">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.h"
+ line="75">unknown transfer function</doc>
+ </member>
+ <member name="gamma10"
+ value="1"
+ c:identifier="GST_VIDEO_TRANSFER_GAMMA10"
+ glib:nick="gamma10">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.h"
+ line="76">linear RGB, gamma 1.0 curve</doc>
+ </member>
+ <member name="gamma18"
+ value="2"
+ c:identifier="GST_VIDEO_TRANSFER_GAMMA18"
+ glib:nick="gamma18">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.h"
+ line="77">Gamma 1.8 curve</doc>
+ </member>
+ <member name="gamma20"
+ value="3"
+ c:identifier="GST_VIDEO_TRANSFER_GAMMA20"
+ glib:nick="gamma20">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.h"
+ line="78">Gamma 2.0 curve</doc>
+ </member>
+ <member name="gamma22"
+ value="4"
+ c:identifier="GST_VIDEO_TRANSFER_GAMMA22"
+ glib:nick="gamma22">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.h"
+ line="79">Gamma 2.2 curve</doc>
+ </member>
+ <member name="bt709"
+ value="5"
+ c:identifier="GST_VIDEO_TRANSFER_BT709"
+ glib:nick="bt709">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.h"
+ line="80">Gamma 2.2 curve with a linear segment in the lower
+ range, also ITU-R BT470M / ITU-R BT1700 625 PAL &amp;
+ SECAM / ITU-R BT1361</doc>
+ </member>
+ <member name="smpte240m"
+ value="6"
+ c:identifier="GST_VIDEO_TRANSFER_SMPTE240M"
+ glib:nick="smpte240m">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.h"
+ line="83">Gamma 2.2 curve with a linear segment in the
+ lower range</doc>
+ </member>
+ <member name="srgb"
+ value="7"
+ c:identifier="GST_VIDEO_TRANSFER_SRGB"
+ glib:nick="srgb">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.h"
+ line="85">Gamma 2.4 curve with a linear segment in the lower
+ range. IEC 61966-2-1 (sRGB or sYCC)</doc>
+ </member>
+ <member name="gamma28"
+ value="8"
+ c:identifier="GST_VIDEO_TRANSFER_GAMMA28"
+ glib:nick="gamma28">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.h"
+ line="87">Gamma 2.8 curve, also ITU-R BT470BG</doc>
+ </member>
+ <member name="log100"
+ value="9"
+ c:identifier="GST_VIDEO_TRANSFER_LOG100"
+ glib:nick="log100">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.h"
+ line="88">Logarithmic transfer characteristic
+ 100:1 range</doc>
+ </member>
+ <member name="log316"
+ value="10"
+ c:identifier="GST_VIDEO_TRANSFER_LOG316"
+ glib:nick="log316">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.h"
+ line="90">Logarithmic transfer characteristic
+ 316.22777:1 range (100 * sqrt(10) : 1)</doc>
+ </member>
+ <member name="bt2020_12"
+ value="11"
+ c:identifier="GST_VIDEO_TRANSFER_BT2020_12"
+ glib:nick="bt2020-12">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.h"
+ line="92">Gamma 2.2 curve with a linear segment in the lower
+ range. Used for BT.2020 with 12 bits per
+ component. Since: 1.6</doc>
+ </member>
+ <member name="adobergb"
+ value="12"
+ c:identifier="GST_VIDEO_TRANSFER_ADOBERGB"
+ glib:nick="adobergb">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.h"
+ line="95">Gamma 2.19921875. Since: 1.8</doc>
+ </member>
+ <member name="bt2020_10"
+ value="13"
+ c:identifier="GST_VIDEO_TRANSFER_BT2020_10"
+ glib:nick="bt2020-10">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.h"
+ line="96">Rec. ITU-R BT.2020-2 with 10 bits per component.
+ (functionally the same as the values
+ GST_VIDEO_TRANSFER_BT709 and GST_VIDEO_TRANSFER_BT601).
+ Since: 1.18</doc>
+ </member>
+ <member name="smpte2084"
+ value="14"
+ c:identifier="GST_VIDEO_TRANSFER_SMPTE2084"
+ glib:nick="smpte2084">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.h"
+ line="100">SMPTE ST 2084 for 10, 12, 14, and 16-bit systems.
+ Known as perceptual quantization (PQ)
+ Since: 1.18</doc>
+ </member>
+ <member name="arib_std_b67"
+ value="15"
+ c:identifier="GST_VIDEO_TRANSFER_ARIB_STD_B67"
+ glib:nick="arib-std-b67">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.h"
+ line="103">Association of Radio Industries and Businesses (ARIB)
+ STD-B67 and Rec. ITU-R BT.2100-1 hybrid loggamma (HLG) system
+ Since: 1.18</doc>
+ </member>
+ <member name="bt601"
+ value="16"
+ c:identifier="GST_VIDEO_TRANSFER_BT601"
+ version="1.18"
+ glib:nick="bt601">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.h"
+ line="131">also known as SMPTE170M / ITU-R BT1358 525 or 625 / ITU-R BT1700 NTSC</doc>
+ </member>
+ <function name="decode"
+ c:identifier="gst_video_transfer_function_decode"
+ version="1.20">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="544">Convert @val to its gamma decoded value. This is the inverse operation of
+@gst_video_color_transfer_encode().
+
+For a non-linear value L' in the range [0..1], conversion to the linear
+L is in general performed with a power function like:
+
+|[
+ L = L' ^ gamma
+]|
+
+Depending on @func, different formulas might be applied. Some formulas
+encode a linear segment in the lower range.</doc>
+ <source-position filename="gst-libs/gst/video/video-color.h"
+ line="149"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="562">the gamma decoded value of @val</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </return-value>
+ <parameters>
+ <parameter name="func" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="546">a #GstVideoTransferFunction</doc>
+ <type name="VideoTransferFunction"
+ c:type="GstVideoTransferFunction"/>
+ </parameter>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="547">a value</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="encode"
+ c:identifier="gst_video_transfer_function_encode"
+ version="1.20">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="412">Convert @val to its gamma encoded value.
+
+For a linear value L in the range [0..1], conversion to the non-linear
+(gamma encoded) L' is in general performed with a power function like:
+
+|[
+ L' = L ^ (1 / gamma)
+]|
+
+Depending on @func, different formulas might be applied. Some formulas
+encode a linear segment in the lower range.</doc>
+ <source-position filename="gst-libs/gst/video/video-color.h"
+ line="144"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="429">the gamma encoded value of @val</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </return-value>
+ <parameters>
+ <parameter name="func" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="414">a #GstVideoTransferFunction</doc>
+ <type name="VideoTransferFunction"
+ c:type="GstVideoTransferFunction"/>
+ </parameter>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="415">a value</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="from_iso"
+ c:identifier="gst_video_transfer_function_from_iso"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="836">Converts the @value to the #GstVideoTransferFunction
+The transfer characteristics (TransferCharacteristics) value is
+defined by "ISO/IEC 23001-8 Section 7.2 Table 3"
+and "ITU-T H.273 Table 3".
+"H.264 Table E-4" and "H.265 Table E.4" share the identical values.</doc>
+ <source-position filename="gst-libs/gst/video/video-color.h"
+ line="291"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="846">the matched #GstVideoTransferFunction</doc>
+ <type name="VideoTransferFunction"
+ c:type="GstVideoTransferFunction"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="838">a ITU-T H.273 transfer characteristics value</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="is_equivalent"
+ c:identifier="gst_video_transfer_function_is_equivalent"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="950">Returns whether @from_func and @to_func are equivalent. There are cases
+(e.g. BT601, BT709, and BT2020_10) where several functions are functionally
+identical. In these cases, when doing conversion, we should consider them
+as equivalent. Also, BT2020_12 is the same as the aforementioned three for
+less than 12 bits per pixel.</doc>
+ <source-position filename="gst-libs/gst/video/video-color.h"
+ line="297"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="963">TRUE if @from_func and @to_func can be considered equivalent.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="from_func" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="952">#GstVideoTransferFunction to convert from</doc>
+ <type name="VideoTransferFunction"
+ c:type="GstVideoTransferFunction"/>
+ </parameter>
+ <parameter name="from_bpp" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="953">bits per pixel to convert from</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="to_func" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="954">#GstVideoTransferFunction to convert into</doc>
+ <type name="VideoTransferFunction"
+ c:type="GstVideoTransferFunction"/>
+ </parameter>
+ <parameter name="to_bpp" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="955">bits per pixel to convert into</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="to_iso"
+ c:identifier="gst_video_transfer_function_to_iso"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="701">Converts #GstVideoTransferFunction to the "transfer characteristics"
+(TransferCharacteristics) value defined by "ISO/IEC 23001-8 Section 7.2 Table 3"
+and "ITU-T H.273 Table 3".
+"H.264 Table E-4" and "H.265 Table E.4" share the identical values.</doc>
+ <source-position filename="gst-libs/gst/video/video-color.h"
+ line="282"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="710">The value of ISO/IEC 23001-8 transfer characteristics.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <parameter name="func" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="703">a #GstVideoTransferFunction</doc>
+ <type name="VideoTransferFunction"
+ c:type="GstVideoTransferFunction"/>
+ </parameter>
+ </parameters>
+ </function>
+ </enumeration>
+ <record name="VideoVBIEncoder"
+ c:type="GstVideoVBIEncoder"
+ version="1.16"
+ glib:type-name="GstVideoVBIEncoder"
+ glib:get-type="gst_video_vbi_encoder_get_type"
+ c:symbol-prefix="video_vbi_encoder">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.h"
+ line="468">An encoder for writing ancillary data to the
+Vertical Blanking Interval lines of component signals.</doc>
+ <source-position filename="gst-libs/gst/video/video-anc.h" line="477"/>
+ <constructor name="new"
+ c:identifier="gst_video_vbi_encoder_new"
+ version="1.16">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.c"
+ line="601">Create a new #GstVideoVBIEncoder for the specified @format and @pixel_width.</doc>
+ <source-position filename="gst-libs/gst/video/video-anc.h" line="483"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.c"
+ line="610">The new #GstVideoVBIEncoder or %NULL if the @format and/or @pixel_width
+is not supported.</doc>
+ <type name="VideoVBIEncoder" c:type="GstVideoVBIEncoder*"/>
+ </return-value>
+ <parameters>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.c"
+ line="603">a #GstVideoFormat</doc>
+ <type name="VideoFormat" c:type="GstVideoFormat"/>
+ </parameter>
+ <parameter name="pixel_width" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.c"
+ line="604">The width in pixel to use</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <method name="add_ancillary"
+ c:identifier="gst_video_vbi_encoder_add_ancillary"
+ version="1.16">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.c"
+ line="685">Stores Video Ancillary data, according to SMPTE-291M specification.
+
+Note that the contents of the data are always read as 8bit data (i.e. do not contain
+the parity check bits).</doc>
+ <source-position filename="gst-libs/gst/video/video-anc.h" line="492"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.c"
+ line="703">%TRUE if enough space was left in the current line, %FALSE
+ otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="encoder" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.c"
+ line="687">a #GstVideoVBIEncoder</doc>
+ <type name="VideoVBIEncoder" c:type="GstVideoVBIEncoder*"/>
+ </instance-parameter>
+ <parameter name="composite" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.c"
+ line="688">%TRUE if composite ADF should be created, component otherwise</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ <parameter name="DID" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.c"
+ line="689">The Data Identifier</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ <parameter name="SDID_block_number" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.c"
+ line="690">The Secondary Data Identifier (if type 2) or the Data
+ Block Number (if type 1)</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.c"
+ line="693">The user data content of the Ancillary packet.
+ Does not contain the ADF, DID, SDID nor CS.</doc>
+ <array length="4" zero-terminated="0" c:type="const guint8*">
+ <type name="guint8" c:type="guint8"/>
+ </array>
+ </parameter>
+ <parameter name="data_count" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.c"
+ line="692">The amount of data (in bytes) in @data (max 255 bytes)</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="copy" c:identifier="gst_video_vbi_encoder_copy">
+ <source-position filename="gst-libs/gst/video/video-anc.h" line="486"/>
+ <return-value transfer-ownership="full">
+ <type name="VideoVBIEncoder" c:type="GstVideoVBIEncoder*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="encoder" transfer-ownership="none">
+ <type name="VideoVBIEncoder" c:type="const GstVideoVBIEncoder*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="free"
+ c:identifier="gst_video_vbi_encoder_free"
+ version="1.16">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.c"
+ line="584">Frees the @encoder.</doc>
+ <source-position filename="gst-libs/gst/video/video-anc.h" line="489"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="encoder" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.c"
+ line="586">a #GstVideoVBIEncoder</doc>
+ <type name="VideoVBIEncoder" c:type="GstVideoVBIEncoder*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="write_line"
+ c:identifier="gst_video_vbi_encoder_write_line">
+ <source-position filename="gst-libs/gst/video/video-anc.h" line="500"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="encoder" transfer-ownership="none">
+ <type name="VideoVBIEncoder" c:type="GstVideoVBIEncoder*"/>
+ </instance-parameter>
+ <parameter name="data" transfer-ownership="none">
+ <type name="guint8" c:type="guint8*"/>
+ </parameter>
+ </parameters>
+ </method>
+ </record>
+ <record name="VideoVBIParser"
+ c:type="GstVideoVBIParser"
+ version="1.16"
+ glib:type-name="GstVideoVBIParser"
+ glib:get-type="gst_video_vbi_parser_get_type"
+ c:symbol-prefix="video_vbi_parser">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.h"
+ line="422">A parser for detecting and extracting @GstVideoAncillary data from
+Vertical Blanking Interval lines of component signals.</doc>
+ <source-position filename="gst-libs/gst/video/video-anc.h" line="431"/>
+ <constructor name="new"
+ c:identifier="gst_video_vbi_parser_new"
+ version="1.16">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.c"
+ line="320">Create a new #GstVideoVBIParser for the specified @format and @pixel_width.</doc>
+ <source-position filename="gst-libs/gst/video/video-anc.h" line="457"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.c"
+ line="329">The new #GstVideoVBIParser or %NULL if the @format and/or @pixel_width
+is not supported.</doc>
+ <type name="VideoVBIParser" c:type="GstVideoVBIParser*"/>
+ </return-value>
+ <parameters>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.c"
+ line="322">a #GstVideoFormat</doc>
+ <type name="VideoFormat" c:type="GstVideoFormat"/>
+ </parameter>
+ <parameter name="pixel_width" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.c"
+ line="323">The width in pixel to use</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <method name="add_line"
+ c:identifier="gst_video_vbi_parser_add_line"
+ version="1.16">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.c"
+ line="523">Provide a new line of data to the @parser. Call gst_video_vbi_parser_get_ancillary()
+to get the Ancillary data that might be present on that line.</doc>
+ <source-position filename="gst-libs/gst/video/video-anc.h" line="466"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="parser" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.c"
+ line="525">a #GstVideoVBIParser</doc>
+ <type name="VideoVBIParser" c:type="GstVideoVBIParser*"/>
+ </instance-parameter>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.c"
+ line="526">The line of data to parse</doc>
+ <array zero-terminated="0" c:type="const guint8*">
+ <type name="guint8" c:type="guint8"/>
+ </array>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="copy" c:identifier="gst_video_vbi_parser_copy">
+ <source-position filename="gst-libs/gst/video/video-anc.h" line="460"/>
+ <return-value transfer-ownership="full">
+ <type name="VideoVBIParser" c:type="GstVideoVBIParser*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="parser" transfer-ownership="none">
+ <type name="VideoVBIParser" c:type="const GstVideoVBIParser*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="free"
+ c:identifier="gst_video_vbi_parser_free"
+ version="1.16">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.c"
+ line="374">Frees the @parser.</doc>
+ <source-position filename="gst-libs/gst/video/video-anc.h" line="463"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="parser" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.c"
+ line="376">a #GstVideoVBIParser</doc>
+ <type name="VideoVBIParser" c:type="GstVideoVBIParser*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="get_ancillary"
+ c:identifier="gst_video_vbi_parser_get_ancillary"
+ version="1.16">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.c"
+ line="294">Parse the line provided previously by gst_video_vbi_parser_add_line().</doc>
+ <source-position filename="gst-libs/gst/video/video-anc.h" line="453"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.c"
+ line="303">%GST_VIDEO_VBI_PARSER_RESULT_OK if ancillary data was found and
+@anc was filled. %GST_VIDEO_VBI_PARSER_RESULT_DONE if there wasn't any
+data.</doc>
+ <type name="VideoVBIParserResult" c:type="GstVideoVBIParserResult"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="parser" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.c"
+ line="296">a #GstVideoVBIParser</doc>
+ <type name="VideoVBIParser" c:type="GstVideoVBIParser*"/>
+ </instance-parameter>
+ <parameter name="anc"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.c"
+ line="297">a #GstVideoAncillary to start the eventual ancillary data</doc>
+ <type name="VideoAncillary" c:type="GstVideoAncillary*"/>
+ </parameter>
+ </parameters>
+ </method>
+ </record>
+ <enumeration name="VideoVBIParserResult"
+ version="1.16"
+ glib:type-name="GstVideoVBIParserResult"
+ glib:get-type="gst_video_vbi_parser_result_get_type"
+ c:type="GstVideoVBIParserResult">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.h"
+ line="436">Return values for #GstVideoVBIParser</doc>
+ <member name="done"
+ value="0"
+ c:identifier="GST_VIDEO_VBI_PARSER_RESULT_DONE"
+ glib:nick="done">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.h"
+ line="438">No line were provided, or no more Ancillary data was found.</doc>
+ </member>
+ <member name="ok"
+ value="1"
+ c:identifier="GST_VIDEO_VBI_PARSER_RESULT_OK"
+ glib:nick="ok">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.h"
+ line="439">A #GstVideoAncillary was found.</doc>
+ </member>
+ <member name="error"
+ value="2"
+ c:identifier="GST_VIDEO_VBI_PARSER_RESULT_ERROR"
+ glib:nick="error">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.h"
+ line="440">An error occurred</doc>
+ </member>
+ </enumeration>
+ <function name="buffer_add_video_afd_meta"
+ c:identifier="gst_buffer_add_video_afd_meta"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.c"
+ line="1218">Attaches #GstVideoAFDMeta metadata to @buffer with the given
+parameters.</doc>
+ <source-position filename="gst-libs/gst/video/video-anc.h" line="265"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.c"
+ line="1228">the #GstVideoAFDMeta on @buffer.</doc>
+ <type name="VideoAFDMeta" c:type="GstVideoAFDMeta*"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.c"
+ line="1220">a #GstBuffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="field" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.c"
+ line="1221">0 for progressive or field 1 and 1 for field 2</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ <parameter name="spec" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.c"
+ line="1222">#GstVideoAFDSpec that applies to AFD value</doc>
+ <type name="VideoAFDSpec" c:type="GstVideoAFDSpec"/>
+ </parameter>
+ <parameter name="afd" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.c"
+ line="1223">#GstVideoAFDValue AFD enumeration</doc>
+ <type name="VideoAFDValue" c:type="GstVideoAFDValue"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="buffer_add_video_affine_transformation_meta"
+ c:identifier="gst_buffer_add_video_affine_transformation_meta"
+ version="1.8">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoaffinetransformationmeta.c"
+ line="110">Attaches GstVideoAffineTransformationMeta metadata to @buffer with
+the given parameters.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideoaffinetransformationmeta.h"
+ line="73"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoaffinetransformationmeta.c"
+ line="117">the #GstVideoAffineTransformationMeta on @buffer.</doc>
+ <type name="VideoAffineTransformationMeta"
+ c:type="GstVideoAffineTransformationMeta*"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideoaffinetransformationmeta.c"
+ line="112">a #GstBuffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="buffer_add_video_bar_meta"
+ c:identifier="gst_buffer_add_video_bar_meta"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.c"
+ line="1328">Attaches #GstVideoBarMeta metadata to @buffer with the given
+parameters.</doc>
+ <source-position filename="gst-libs/gst/video/video-anc.h" line="326"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.c"
+ line="1345">the #GstVideoBarMeta on @buffer.
+
+See Table 6.11 Bar Data Syntax
+
+https://www.atsc.org/wp-content/uploads/2015/03/a_53-Part-4-2009.pdf</doc>
+ <type name="VideoBarMeta" c:type="GstVideoBarMeta*"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.c"
+ line="1330">a #GstBuffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="field" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.c"
+ line="1331">0 for progressive or field 1 and 1 for field 2</doc>
+ <type name="guint8" c:type="guint8"/>
+ </parameter>
+ <parameter name="is_letterbox" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.c"
+ line="1332">if true then bar data specifies letterbox, otherwise pillarbox</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ <parameter name="bar_data1" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.c"
+ line="1333">If @is_letterbox is true, then the value specifies the
+ last line of a horizontal letterbox bar area at top of reconstructed frame.
+ Otherwise, it specifies the last horizontal luminance sample of a vertical pillarbox
+ bar area at the left side of the reconstructed frame</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="bar_data2" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.c"
+ line="1337">If @is_letterbox is true, then the value specifies the
+ first line of a horizontal letterbox bar area at bottom of reconstructed frame.
+ Otherwise, it specifies the first horizontal
+ luminance sample of a vertical pillarbox bar area at the right side of the reconstructed frame.</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="buffer_add_video_caption_meta"
+ c:identifier="gst_buffer_add_video_caption_meta"
+ version="1.16">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.c"
+ line="993">Attaches #GstVideoCaptionMeta metadata to @buffer with the given
+parameters.</doc>
+ <source-position filename="gst-libs/gst/video/video-anc.h" line="417"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.c"
+ line="1003">the #GstVideoCaptionMeta on @buffer.</doc>
+ <type name="VideoCaptionMeta" c:type="GstVideoCaptionMeta*"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.c"
+ line="995">a #GstBuffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="caption_type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.c"
+ line="996">The type of Closed Caption to add</doc>
+ <type name="VideoCaptionType" c:type="GstVideoCaptionType"/>
+ </parameter>
+ <parameter name="data" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.c"
+ line="997">The Closed Caption data</doc>
+ <array length="3" zero-terminated="0" c:type="const guint8*">
+ <type name="guint8" c:type="guint8"/>
+ </array>
+ </parameter>
+ <parameter name="size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.c"
+ line="998">The size of @data in bytes</doc>
+ <type name="gsize" c:type="gsize"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function-macro name="buffer_add_video_crop_meta"
+ c:identifier="gst_buffer_add_video_crop_meta"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/gstvideometa.h"
+ line="164"/>
+ <parameters>
+ <parameter name="b">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function name="buffer_add_video_gl_texture_upload_meta"
+ c:identifier="gst_buffer_add_video_gl_texture_upload_meta">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="738">Attaches GstVideoGLTextureUploadMeta metadata to @buffer with the given
+parameters.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideometa.h"
+ line="290"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="752">the #GstVideoGLTextureUploadMeta on @buffer.</doc>
+ <type name="VideoGLTextureUploadMeta"
+ c:type="GstVideoGLTextureUploadMeta*"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="740">a #GstBuffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="texture_orientation" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="741">the #GstVideoGLTextureOrientation</doc>
+ <type name="VideoGLTextureOrientation"
+ c:type="GstVideoGLTextureOrientation"/>
+ </parameter>
+ <parameter name="n_textures" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="742">the number of textures</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="texture_type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="743">array of #GstVideoGLTextureType</doc>
+ <type name="VideoGLTextureType" c:type="GstVideoGLTextureType*"/>
+ </parameter>
+ <parameter name="upload"
+ transfer-ownership="none"
+ scope="call"
+ closure="5">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="744">the function to upload the buffer to a specific texture ID</doc>
+ <type name="VideoGLTextureUpload" c:type="GstVideoGLTextureUpload"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="745">user data for the implementor of @upload</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="user_data_copy"
+ transfer-ownership="none"
+ scope="call">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="746">function to copy @user_data</doc>
+ <type name="GObject.BoxedCopyFunc" c:type="GBoxedCopyFunc"/>
+ </parameter>
+ <parameter name="user_data_free"
+ transfer-ownership="none"
+ scope="call">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="747">function to free @user_data</doc>
+ <type name="GObject.BoxedFreeFunc" c:type="GBoxedFreeFunc"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="buffer_add_video_meta"
+ c:identifier="gst_buffer_add_video_meta">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="262">Attaches GstVideoMeta metadata to @buffer with the given parameters and the
+default offsets and strides for @format and @width x @height.
+
+This function calculates the default offsets and strides and then calls
+gst_buffer_add_video_meta_full() with them.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideometa.h"
+ line="113"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="276">the #GstVideoMeta on @buffer.</doc>
+ <type name="VideoMeta" c:type="GstVideoMeta*"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="264">a #GstBuffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="265">#GstVideoFrameFlags</doc>
+ <type name="VideoFrameFlags" c:type="GstVideoFrameFlags"/>
+ </parameter>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="266">a #GstVideoFormat</doc>
+ <type name="VideoFormat" c:type="GstVideoFormat"/>
+ </parameter>
+ <parameter name="width" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="267">the width</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="height" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="268">the height</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="buffer_add_video_meta_full"
+ c:identifier="gst_buffer_add_video_meta_full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="295">Attaches GstVideoMeta metadata to @buffer with the given parameters.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideometa.h"
+ line="117"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="308">the #GstVideoMeta on @buffer.</doc>
+ <type name="VideoMeta" c:type="GstVideoMeta*"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="297">a #GstBuffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="298">#GstVideoFrameFlags</doc>
+ <type name="VideoFrameFlags" c:type="GstVideoFrameFlags"/>
+ </parameter>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="299">a #GstVideoFormat</doc>
+ <type name="VideoFormat" c:type="GstVideoFormat"/>
+ </parameter>
+ <parameter name="width" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="300">the width</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="height" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="301">the height</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="n_planes" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="302">number of planes</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="offset" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="303">offset of each plane</doc>
+ <array zero-terminated="0" c:type="gsize*" fixed-size="4">
+ <type name="gsize" c:type="gsize"/>
+ </array>
+ </parameter>
+ <parameter name="stride" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="304">stride of each plane</doc>
+ <array zero-terminated="0" c:type="gint*" fixed-size="4">
+ <type name="gint" c:type="gint"/>
+ </array>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="buffer_add_video_overlay_composition_meta"
+ c:identifier="gst_buffer_add_video_overlay_composition_meta">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-overlay-composition.c"
+ line="272">Sets an overlay composition on a buffer. The buffer will obtain its own
+reference to the composition, meaning this function does not take ownership
+of @comp.</doc>
+ <source-position filename="gst-libs/gst/video/video-overlay-composition.h"
+ line="296"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-overlay-composition.c"
+ line="281">a #GstVideoOverlayCompositionMeta</doc>
+ <type name="VideoOverlayCompositionMeta"
+ c:type="GstVideoOverlayCompositionMeta*"/>
+ </return-value>
+ <parameters>
+ <parameter name="buf" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-overlay-composition.c"
+ line="274">a #GstBuffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="comp"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-overlay-composition.c"
+ line="275">a #GstVideoOverlayComposition</doc>
+ <type name="VideoOverlayComposition"
+ c:type="GstVideoOverlayComposition*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="buffer_add_video_region_of_interest_meta"
+ c:identifier="gst_buffer_add_video_region_of_interest_meta">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="948">Attaches #GstVideoRegionOfInterestMeta metadata to @buffer with the given
+parameters.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideometa.h"
+ line="348"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="960">the #GstVideoRegionOfInterestMeta on @buffer.</doc>
+ <type name="VideoRegionOfInterestMeta"
+ c:type="GstVideoRegionOfInterestMeta*"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="950">a #GstBuffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="roi_type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="951">Type of the region of interest (e.g. "face")</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ <parameter name="x" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="952">X position</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="y" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="953">Y position</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="w" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="954">width</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="h" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="955">height</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="buffer_add_video_region_of_interest_meta_id"
+ c:identifier="gst_buffer_add_video_region_of_interest_meta_id">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="970">Attaches #GstVideoRegionOfInterestMeta metadata to @buffer with the given
+parameters.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideometa.h"
+ line="356"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="982">the #GstVideoRegionOfInterestMeta on @buffer.</doc>
+ <type name="VideoRegionOfInterestMeta"
+ c:type="GstVideoRegionOfInterestMeta*"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="972">a #GstBuffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="roi_type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="973">Type of the region of interest (e.g. "face")</doc>
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </parameter>
+ <parameter name="x" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="974">X position</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="y" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="975">Y position</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="w" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="976">width</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="h" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="977">height</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="buffer_add_video_time_code_meta"
+ c:identifier="gst_buffer_add_video_time_code_meta"
+ version="1.10">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="1140">Attaches #GstVideoTimeCodeMeta metadata to @buffer with the given
+parameters.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideometa.h"
+ line="400"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="1148">the #GstVideoTimeCodeMeta on @buffer, or
+(since 1.16) %NULL if the timecode was invalid.</doc>
+ <type name="VideoTimeCodeMeta" c:type="GstVideoTimeCodeMeta*"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="1142">a #GstBuffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="tc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="1143">a #GstVideoTimeCode</doc>
+ <type name="VideoTimeCode" c:type="const GstVideoTimeCode*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="buffer_add_video_time_code_meta_full"
+ c:identifier="gst_buffer_add_video_time_code_meta_full"
+ version="1.10">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="1165">Attaches #GstVideoTimeCodeMeta metadata to @buffer with the given
+parameters.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideometa.h"
+ line="405"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="1181">the #GstVideoTimeCodeMeta on @buffer, or
+(since 1.16) %NULL if the timecode was invalid.</doc>
+ <type name="VideoTimeCodeMeta" c:type="GstVideoTimeCodeMeta*"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="1167">a #GstBuffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="fps_n" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="1168">framerate numerator</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="fps_d" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="1169">framerate denominator</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="latest_daily_jam" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="1170">a #GDateTime for the latest daily jam</doc>
+ <type name="GLib.DateTime" c:type="GDateTime*"/>
+ </parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="1171">a #GstVideoTimeCodeFlags</doc>
+ <type name="VideoTimeCodeFlags" c:type="GstVideoTimeCodeFlags"/>
+ </parameter>
+ <parameter name="hours" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="1172">hours since the daily jam</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="minutes" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="1173">minutes since the daily jam</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="seconds" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="1174">seconds since the daily jam</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="frames" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="1175">frames since the daily jam</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="field_count" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="1176">fields since the daily jam</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function-macro name="buffer_get_video_afd_meta"
+ c:identifier="gst_buffer_get_video_afd_meta"
+ version="1.18"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.h"
+ line="248">Gets the #GstVideoAFDMeta that might be present on @b.
+
+Note: there may be two #GstVideoAFDMeta structs for interlaced video.</doc>
+ <source-position filename="gst-libs/gst/video/video-anc.h" line="261"/>
+ <parameters>
+ <parameter name="b">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.h"
+ line="250">A #GstBuffer</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="buffer_get_video_affine_transformation_meta"
+ c:identifier="gst_buffer_get_video_affine_transformation_meta"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/gstvideoaffinetransformationmeta.h"
+ line="70"/>
+ <parameters>
+ <parameter name="b">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="buffer_get_video_bar_meta"
+ c:identifier="gst_buffer_get_video_bar_meta"
+ version="1.18"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.h"
+ line="311">Gets the #GstVideoBarMeta that might be present on @b.</doc>
+ <source-position filename="gst-libs/gst/video/video-anc.h" line="322"/>
+ <parameters>
+ <parameter name="b">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.h"
+ line="313">A #GstBuffer</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="buffer_get_video_caption_meta"
+ c:identifier="gst_buffer_get_video_caption_meta"
+ version="1.16"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.h"
+ line="402">Gets the #GstVideoCaptionMeta that might be present on @b.</doc>
+ <source-position filename="gst-libs/gst/video/video-anc.h" line="413"/>
+ <parameters>
+ <parameter name="b">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.h"
+ line="404">A #GstBuffer</doc>
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="buffer_get_video_crop_meta"
+ c:identifier="gst_buffer_get_video_crop_meta"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/gstvideometa.h"
+ line="163"/>
+ <parameters>
+ <parameter name="b">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="buffer_get_video_gl_texture_upload_meta"
+ c:identifier="gst_buffer_get_video_gl_texture_upload_meta"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/gstvideometa.h"
+ line="286"/>
+ <parameters>
+ <parameter name="b">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function name="buffer_get_video_meta"
+ c:identifier="gst_buffer_get_video_meta">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="154">Find the #GstVideoMeta on @buffer with the lowest @id.
+
+Buffers can contain multiple #GstVideoMeta metadata items when dealing with
+multiview buffers.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideometa.h"
+ line="107"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="163">the #GstVideoMeta with lowest id (usually 0) or %NULL when there
+is no such metadata on @buffer.</doc>
+ <type name="VideoMeta" c:type="GstVideoMeta*"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="156">a #GstBuffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="buffer_get_video_meta_id"
+ c:identifier="gst_buffer_get_video_meta_id">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="186">Find the #GstVideoMeta on @buffer with the given @id.
+
+Buffers can contain multiple #GstVideoMeta metadata items when dealing with
+multiview buffers.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideometa.h"
+ line="110"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="196">the #GstVideoMeta with @id or %NULL when there is no such metadata
+on @buffer.</doc>
+ <type name="VideoMeta" c:type="GstVideoMeta*"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="188">a #GstBuffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="id" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="189">a metadata id</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function-macro name="buffer_get_video_multiview_meta"
+ c:identifier="gst_buffer_get_video_multiview_meta"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/video-multiview.h"
+ line="78"/>
+ <parameters>
+ <parameter name="b">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="buffer_get_video_overlay_composition_meta"
+ c:identifier="gst_buffer_get_video_overlay_composition_meta"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/video-overlay-composition.h"
+ line="295"/>
+ <parameters>
+ <parameter name="b">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="buffer_get_video_region_of_interest_meta"
+ c:identifier="gst_buffer_get_video_region_of_interest_meta"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/gstvideometa.h"
+ line="341"/>
+ <parameters>
+ <parameter name="b">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function name="buffer_get_video_region_of_interest_meta_id"
+ c:identifier="gst_buffer_get_video_region_of_interest_meta_id">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="917">Find the #GstVideoRegionOfInterestMeta on @buffer with the given @id.
+
+Buffers can contain multiple #GstVideoRegionOfInterestMeta metadata items if
+multiple regions of interests are marked on a frame.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideometa.h"
+ line="344"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="927">the #GstVideoRegionOfInterestMeta with @id or %NULL when there is
+no such metadata on @buffer.</doc>
+ <type name="VideoRegionOfInterestMeta"
+ c:type="GstVideoRegionOfInterestMeta*"/>
+ </return-value>
+ <parameters>
+ <parameter name="buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="919">a #GstBuffer</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="id" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="920">a metadata id</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function-macro name="buffer_get_video_time_code_meta"
+ c:identifier="gst_buffer_get_video_time_code_meta"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/gstvideometa.h"
+ line="396"/>
+ <parameters>
+ <parameter name="b">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function name="buffer_pool_config_get_video_alignment"
+ c:identifier="gst_buffer_pool_config_get_video_alignment">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideopool.c"
+ line="69">Get the video alignment from the bufferpool configuration @config in
+in @align</doc>
+ <source-position filename="gst-libs/gst/video/gstvideopool.h" line="54"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideopool.c"
+ line="77">%TRUE if @config could be parsed correctly.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="config" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideopool.c"
+ line="71">a #GstStructure</doc>
+ <type name="Gst.Structure" c:type="GstStructure*"/>
+ </parameter>
+ <parameter name="align" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideopool.c"
+ line="72">a #GstVideoAlignment</doc>
+ <type name="VideoAlignment" c:type="GstVideoAlignment*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="buffer_pool_config_set_video_alignment"
+ c:identifier="gst_buffer_pool_config_set_video_alignment">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideopool.c"
+ line="43">Set the video alignment in @align to the bufferpool configuration
+@config</doc>
+ <source-position filename="gst-libs/gst/video/gstvideopool.h" line="51"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="config" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideopool.c"
+ line="45">a #GstStructure</doc>
+ <type name="Gst.Structure" c:type="GstStructure*"/>
+ </parameter>
+ <parameter name="align" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideopool.c"
+ line="46">a #GstVideoAlignment</doc>
+ <type name="VideoAlignment" c:type="GstVideoAlignment*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function-macro name="buffer_remove_video_overlay_composition_meta"
+ c:identifier="gst_buffer_remove_video_overlay_composition_meta"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/video/video-overlay-composition.h"
+ line="297"/>
+ <parameters>
+ <parameter name="b">
+ </parameter>
+ <parameter name="m">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <docsection name="gstvideo">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video.c"
+ line="32">This library contains some helper functions and includes the
+videosink and videofilter base classes.</doc>
+ </docsection>
+ <docsection name="gstvideoanc">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.c"
+ line="29">A collection of objects and methods to assist with handling Ancillary Data
+present in Vertical Blanking Interval as well as Closed Caption.</doc>
+ </docsection>
+ <docsection name="gstvideochroma">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-chroma.c"
+ line="31">The functions gst_video_chroma_from_string() and gst_video_chroma_to_string() convert
+between #GstVideoChromaSite and string descriptions.
+
+#GstVideoChromaResample is a utility object for resampling chroma planes
+and converting between different chroma sampling sitings.</doc>
+ </docsection>
+ <docsection name="gstvideopool">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideopool.c"
+ line="30">Special GstBufferPool subclass for raw video buffers.
+
+Allows configuration of video-specific requirements such as
+stride alignments or pixel padding, and can also be configured
+to automatically add #GstVideoMeta to the buffers.</doc>
+ </docsection>
+ <function name="is_video_overlay_prepare_window_handle_message"
+ c:identifier="gst_is_video_overlay_prepare_window_handle_message">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videooverlay.c"
+ line="497">Convenience function to check if the given message is a
+"prepare-window-handle" message from a #GstVideoOverlay.</doc>
+ <source-position filename="gst-libs/gst/video/videooverlay.h"
+ line="105"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videooverlay.c"
+ line="504">whether @msg is a "prepare-window-handle" message</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="msg" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videooverlay.c"
+ line="499">a #GstMessage</doc>
+ <type name="Gst.Message" c:type="GstMessage*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="navigation_event_get_type"
+ c:identifier="gst_navigation_event_get_type"
+ moved-to="Navigation.event_get_type">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="706">Inspect a #GstEvent and return the #GstNavigationEventType of the event, or
+#GST_NAVIGATION_EVENT_INVALID if the event is not a #GstNavigation event.</doc>
+ <source-position filename="gst-libs/gst/video/navigation.h" line="282"/>
+ <return-value transfer-ownership="none">
+ <type name="NavigationEventType" c:type="GstNavigationEventType"/>
+ </return-value>
+ <parameters>
+ <parameter name="event" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="708">A #GstEvent to inspect.</doc>
+ <type name="Gst.Event" c:type="GstEvent*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="navigation_event_parse_command"
+ c:identifier="gst_navigation_event_parse_command"
+ moved-to="Navigation.event_parse_command">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="895">Inspect a #GstNavigation command event and retrieve the enum value of the
+associated command.</doc>
+ <source-position filename="gst-libs/gst/video/navigation.h" line="302"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="904">TRUE if the navigation command could be extracted, otherwise FALSE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="event" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="897">A #GstEvent to inspect.</doc>
+ <type name="Gst.Event" c:type="GstEvent*"/>
+ </parameter>
+ <parameter name="command"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="898">Pointer to GstNavigationCommand to receive the
+ type of the navigation event.</doc>
+ <type name="NavigationCommand" c:type="GstNavigationCommand*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="navigation_event_parse_key_event"
+ c:identifier="gst_navigation_event_parse_key_event"
+ moved-to="Navigation.event_parse_key_event">
+ <source-position filename="gst-libs/gst/video/navigation.h" line="285"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="event" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="750">A #GstEvent to inspect.</doc>
+ <type name="Gst.Event" c:type="GstEvent*"/>
+ </parameter>
+ <parameter name="key"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="none"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="751">A pointer to a location to receive
+ the string identifying the key press. The returned string is owned by the
+ event, and valid only until the event is unreffed.</doc>
+ <type name="utf8" c:type="const gchar**"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="navigation_event_parse_mouse_button_event"
+ c:identifier="gst_navigation_event_parse_mouse_button_event"
+ moved-to="Navigation.event_parse_mouse_button_event">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="775">Retrieve the details of either a #GstNavigation mouse button press event or
+a mouse button release event. Determine which type the event is using
+gst_navigation_event_get_type() to retrieve the #GstNavigationEventType.</doc>
+ <source-position filename="gst-libs/gst/video/navigation.h" line="289"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="789">TRUE if the button number and both coordinates could be extracted,
+ otherwise FALSE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="event" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="777">A #GstEvent to inspect.</doc>
+ <type name="Gst.Event" c:type="GstEvent*"/>
+ </parameter>
+ <parameter name="button"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="778">Pointer to a gint that will receive the button
+ number associated with the event.</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ <parameter name="x"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="780">Pointer to a gdouble to receive the x coordinate of the
+ mouse button event.</doc>
+ <type name="gdouble" c:type="gdouble*"/>
+ </parameter>
+ <parameter name="y"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="782">Pointer to a gdouble to receive the y coordinate of the
+ mouse button event.</doc>
+ <type name="gdouble" c:type="gdouble*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="navigation_event_parse_mouse_move_event"
+ c:identifier="gst_navigation_event_parse_mouse_move_event"
+ moved-to="Navigation.event_parse_mouse_move_event">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="817">Inspect a #GstNavigation mouse movement event and extract the coordinates
+of the event.</doc>
+ <source-position filename="gst-libs/gst/video/navigation.h" line="293"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="828">TRUE if both coordinates could be extracted, otherwise FALSE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="event" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="819">A #GstEvent to inspect.</doc>
+ <type name="Gst.Event" c:type="GstEvent*"/>
+ </parameter>
+ <parameter name="x"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="820">Pointer to a gdouble to receive the x coordinate of the
+ mouse movement.</doc>
+ <type name="gdouble" c:type="gdouble*"/>
+ </parameter>
+ <parameter name="y"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="822">Pointer to a gdouble to receive the y coordinate of the
+ mouse movement.</doc>
+ <type name="gdouble" c:type="gdouble*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="navigation_event_parse_mouse_scroll_event"
+ c:identifier="gst_navigation_event_parse_mouse_scroll_event"
+ moved-to="Navigation.event_parse_mouse_scroll_event"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="851">Inspect a #GstNavigation mouse scroll event and extract the coordinates
+of the event.</doc>
+ <source-position filename="gst-libs/gst/video/navigation.h" line="297"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="866">TRUE if all coordinates could be extracted, otherwise FALSE.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="event" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="853">A #GstEvent to inspect.</doc>
+ <type name="Gst.Event" c:type="GstEvent*"/>
+ </parameter>
+ <parameter name="x"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="854">Pointer to a gdouble to receive the x coordinate of the
+ mouse movement.</doc>
+ <type name="gdouble" c:type="gdouble*"/>
+ </parameter>
+ <parameter name="y"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="856">Pointer to a gdouble to receive the y coordinate of the
+ mouse movement.</doc>
+ <type name="gdouble" c:type="gdouble*"/>
+ </parameter>
+ <parameter name="delta_x"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="858">Pointer to a gdouble to receive the delta_x coordinate of the
+ mouse movement.</doc>
+ <type name="gdouble" c:type="gdouble*"/>
+ </parameter>
+ <parameter name="delta_y"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="860">Pointer to a gdouble to receive the delta_y coordinate of the
+ mouse movement.</doc>
+ <type name="gdouble" c:type="gdouble*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="navigation_message_get_type"
+ c:identifier="gst_navigation_message_get_type"
+ moved-to="Navigation.message_get_type">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="467">Check a bus message to see if it is a #GstNavigation event, and return
+the #GstNavigationMessageType identifying the type of the message if so.</doc>
+ <source-position filename="gst-libs/gst/video/navigation.h" line="213"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="474">The type of the #GstMessage, or
+#GST_NAVIGATION_MESSAGE_INVALID if the message is not a #GstNavigation
+notification.</doc>
+ <type name="NavigationMessageType" c:type="GstNavigationMessageType"/>
+ </return-value>
+ <parameters>
+ <parameter name="message" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="469">A #GstMessage to inspect.</doc>
+ <type name="Gst.Message" c:type="GstMessage*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="navigation_message_new_angles_changed"
+ c:identifier="gst_navigation_message_new_angles_changed"
+ moved-to="Navigation.message_new_angles_changed">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="639">Creates a new #GstNavigation message with type
+#GST_NAVIGATION_MESSAGE_ANGLES_CHANGED for notifying an application
+that the current angle, or current number of angles available in a
+multiangle video has changed.</doc>
+ <source-position filename="gst-libs/gst/video/navigation.h" line="227"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="650">The new #GstMessage.</doc>
+ <type name="Gst.Message" c:type="GstMessage*"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="641">A #GstObject to set as source of the new message.</doc>
+ <type name="Gst.Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="cur_angle" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="642">The currently selected angle.</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="n_angles" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="643">The number of viewing angles now available.</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="navigation_message_new_commands_changed"
+ c:identifier="gst_navigation_message_new_commands_changed"
+ moved-to="Navigation.message_new_commands_changed">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="616">Creates a new #GstNavigation message with type
+#GST_NAVIGATION_MESSAGE_COMMANDS_CHANGED</doc>
+ <source-position filename="gst-libs/gst/video/navigation.h" line="224"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="623">The new #GstMessage.</doc>
+ <type name="Gst.Message" c:type="GstMessage*"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="618">A #GstObject to set as source of the new message.</doc>
+ <type name="Gst.Object" c:type="GstObject*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="navigation_message_new_event"
+ c:identifier="gst_navigation_message_new_event"
+ moved-to="Navigation.message_new_event"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="561">Creates a new #GstNavigation message with type
+#GST_NAVIGATION_MESSAGE_EVENT.</doc>
+ <source-position filename="gst-libs/gst/video/navigation.h" line="237"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="569">The new #GstMessage.</doc>
+ <type name="Gst.Message" c:type="GstMessage*"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="563">A #GstObject to set as source of the new message.</doc>
+ <type name="Gst.Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="event" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="564">A navigation #GstEvent</doc>
+ <type name="Gst.Event" c:type="GstEvent*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="navigation_message_new_mouse_over"
+ c:identifier="gst_navigation_message_new_mouse_over"
+ moved-to="Navigation.message_new_mouse_over">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="507">Creates a new #GstNavigation message with type
+#GST_NAVIGATION_MESSAGE_MOUSE_OVER.</doc>
+ <source-position filename="gst-libs/gst/video/navigation.h" line="216"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="516">The new #GstMessage.</doc>
+ <type name="Gst.Message" c:type="GstMessage*"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="509">A #GstObject to set as source of the new message.</doc>
+ <type name="Gst.Object" c:type="GstObject*"/>
+ </parameter>
+ <parameter name="active" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="510">%TRUE if the mouse has entered a clickable area of the display.
+%FALSE if it over a non-clickable area.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="navigation_message_parse_angles_changed"
+ c:identifier="gst_navigation_message_parse_angles_changed"
+ moved-to="Navigation.message_parse_angles_changed">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="668">Parse a #GstNavigation message of type GST_NAVIGATION_MESSAGE_ANGLES_CHANGED
+and extract the @cur_angle and @n_angles parameters.</doc>
+ <source-position filename="gst-libs/gst/video/navigation.h" line="232"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="679">%TRUE if the message could be successfully parsed. %FALSE if not.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="message" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="670">A #GstMessage to inspect.</doc>
+ <type name="Gst.Message" c:type="GstMessage*"/>
+ </parameter>
+ <parameter name="cur_angle"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="671">A pointer to a #guint to receive the new
+ current angle number, or NULL</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ <parameter name="n_angles"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="673">A pointer to a #guint to receive the new angle
+ count, or NULL.</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="navigation_message_parse_event"
+ c:identifier="gst_navigation_message_parse_event"
+ moved-to="Navigation.message_parse_event"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="587">Parse a #GstNavigation message of type #GST_NAVIGATION_MESSAGE_EVENT
+and extract contained #GstEvent. The caller must unref the @event when done
+with it.</doc>
+ <source-position filename="gst-libs/gst/video/navigation.h" line="241"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="597">%TRUE if the message could be successfully parsed. %FALSE if not.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="message" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="589">A #GstMessage to inspect.</doc>
+ <type name="Gst.Message" c:type="GstMessage*"/>
+ </parameter>
+ <parameter name="event"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="590">a pointer to a #GstEvent to receive
+ the contained navigation event.</doc>
+ <type name="Gst.Event" c:type="GstEvent**"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="navigation_message_parse_mouse_over"
+ c:identifier="gst_navigation_message_parse_mouse_over"
+ moved-to="Navigation.message_parse_mouse_over">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="533">Parse a #GstNavigation message of type #GST_NAVIGATION_MESSAGE_MOUSE_OVER
+and extract the active/inactive flag. If the mouse over event is marked
+active, it indicates that the mouse is over a clickable area.</doc>
+ <source-position filename="gst-libs/gst/video/navigation.h" line="220"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="543">%TRUE if the message could be successfully parsed. %FALSE if not.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="message" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="535">A #GstMessage to inspect.</doc>
+ <type name="Gst.Message" c:type="GstMessage*"/>
+ </parameter>
+ <parameter name="active"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="536">A pointer to a gboolean to receive the
+ active/inactive state, or NULL.</doc>
+ <type name="gboolean" c:type="gboolean*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="navigation_query_get_type"
+ c:identifier="gst_navigation_query_get_type"
+ moved-to="Navigation.query_get_type">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="187">Inspect a #GstQuery and return the #GstNavigationQueryType associated with
+it if it is a #GstNavigation query.</doc>
+ <source-position filename="gst-libs/gst/video/navigation.h" line="154"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="194">The #GstNavigationQueryType of the query, or
+#GST_NAVIGATION_QUERY_INVALID</doc>
+ <type name="NavigationQueryType" c:type="GstNavigationQueryType"/>
+ </return-value>
+ <parameters>
+ <parameter name="query" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="189">The query to inspect</doc>
+ <type name="Gst.Query" c:type="GstQuery*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="navigation_query_new_angles"
+ c:identifier="gst_navigation_query_new_angles"
+ moved-to="Navigation.query_new_angles">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="383">Create a new #GstNavigation angles query. When executed, it will
+query the pipeline for the set of currently available angles, which may be
+greater than one in a multiangle video.</doc>
+ <source-position filename="gst-libs/gst/video/navigation.h" line="175"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="390">The new query.</doc>
+ <type name="Gst.Query" c:type="GstQuery*"/>
+ </return-value>
+ </function>
+ <function name="navigation_query_new_commands"
+ c:identifier="gst_navigation_query_new_commands"
+ moved-to="Navigation.query_new_commands">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="222">Create a new #GstNavigation commands query. When executed, it will
+query the pipeline for the set of currently available commands.</doc>
+ <source-position filename="gst-libs/gst/video/navigation.h" line="157"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="228">The new query.</doc>
+ <type name="Gst.Query" c:type="GstQuery*"/>
+ </return-value>
+ </function>
+ <function name="navigation_query_parse_angles"
+ c:identifier="gst_navigation_query_parse_angles"
+ moved-to="Navigation.query_parse_angles">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="426">Parse the current angle number in the #GstNavigation angles @query into the
+#guint pointed to by the @cur_angle variable, and the number of available
+angles into the #guint pointed to by the @n_angles variable.</doc>
+ <source-position filename="gst-libs/gst/video/navigation.h" line="182"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="438">%TRUE if the query could be successfully parsed. %FALSE if not.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="query" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="428">a #GstQuery</doc>
+ <type name="Gst.Query" c:type="GstQuery*"/>
+ </parameter>
+ <parameter name="cur_angle"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="429">Pointer to a #guint into which to store the
+ currently selected angle value from the query, or NULL</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ <parameter name="n_angles"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="431">Pointer to a #guint into which to store the
+ number of angles value from the query, or NULL</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="navigation_query_parse_commands_length"
+ c:identifier="gst_navigation_query_parse_commands_length"
+ moved-to="Navigation.query_parse_commands_length">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="314">Parse the number of commands in the #GstNavigation commands @query.</doc>
+ <source-position filename="gst-libs/gst/video/navigation.h" line="167"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="321">%TRUE if the query could be successfully parsed. %FALSE if not.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="query" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="316">a #GstQuery</doc>
+ <type name="Gst.Query" c:type="GstQuery*"/>
+ </parameter>
+ <parameter name="n_cmds"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="317">the number of commands in this query.</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="navigation_query_parse_commands_nth"
+ c:identifier="gst_navigation_query_parse_commands_nth"
+ moved-to="Navigation.query_parse_commands_nth">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="344">Parse the #GstNavigation command query and retrieve the @nth command from
+it into @cmd. If the list contains less elements than @nth, @cmd will be
+set to #GST_NAVIGATION_COMMAND_INVALID.</doc>
+ <source-position filename="gst-libs/gst/video/navigation.h" line="171"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="354">%TRUE if the query could be successfully parsed. %FALSE if not.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="query" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="346">a #GstQuery</doc>
+ <type name="Gst.Query" c:type="GstQuery*"/>
+ </parameter>
+ <parameter name="nth" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="347">the nth command to retrieve.</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="cmd"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="348">a pointer to store the nth command into.</doc>
+ <type name="NavigationCommand" c:type="GstNavigationCommand*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="navigation_query_set_angles"
+ c:identifier="gst_navigation_query_set_angles"
+ moved-to="Navigation.query_set_angles">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="405">Set the #GstNavigation angles query result field in @query.</doc>
+ <source-position filename="gst-libs/gst/video/navigation.h" line="178"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="query" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="407">a #GstQuery</doc>
+ <type name="Gst.Query" c:type="GstQuery*"/>
+ </parameter>
+ <parameter name="cur_angle" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="408">the current viewing angle to set.</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="n_angles" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="409">the number of viewing angles to set.</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="navigation_query_set_commandsv"
+ c:identifier="gst_navigation_query_set_commandsv"
+ moved-to="Navigation.query_set_commandsv">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="286">Set the #GstNavigation command query result fields in @query. The number
+of commands passed must be equal to @n_commands.</doc>
+ <source-position filename="gst-libs/gst/video/navigation.h" line="163"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="query" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="288">a #GstQuery</doc>
+ <type name="Gst.Query" c:type="GstQuery*"/>
+ </parameter>
+ <parameter name="n_cmds" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="289">the number of commands to set.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="cmds" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/navigation.c"
+ line="290">An array containing @n_cmds
+ @GstNavigationCommand values.</doc>
+ <array length="1" zero-terminated="0" c:type="GstNavigationCommand*">
+ <type name="NavigationCommand" c:type="GstNavigationCommand"/>
+ </array>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="video_afd_meta_api_get_type"
+ c:identifier="gst_video_afd_meta_api_get_type">
+ <source-position filename="gst-libs/gst/video/video-anc.h" line="242"/>
+ <return-value transfer-ownership="none">
+ <type name="GType" c:type="GType"/>
+ </return-value>
+ </function>
+ <function name="video_afd_meta_get_info"
+ c:identifier="gst_video_afd_meta_get_info"
+ moved-to="VideoAFDMeta.get_info">
+ <source-position filename="gst-libs/gst/video/video-anc.h" line="245"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.MetaInfo" c:type="const GstMetaInfo*"/>
+ </return-value>
+ </function>
+ <function name="video_affine_transformation_meta_api_get_type"
+ c:identifier="gst_video_affine_transformation_meta_api_get_type">
+ <source-position filename="gst-libs/gst/video/gstvideoaffinetransformationmeta.h"
+ line="65"/>
+ <return-value transfer-ownership="none">
+ <type name="GType" c:type="GType"/>
+ </return-value>
+ </function>
+ <function name="video_affine_transformation_meta_get_info"
+ c:identifier="gst_video_affine_transformation_meta_get_info"
+ moved-to="VideoAffineTransformationMeta.get_info">
+ <source-position filename="gst-libs/gst/video/gstvideoaffinetransformationmeta.h"
+ line="68"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.MetaInfo" c:type="const GstMetaInfo*"/>
+ </return-value>
+ </function>
+ <function name="video_bar_meta_api_get_type"
+ c:identifier="gst_video_bar_meta_api_get_type">
+ <source-position filename="gst-libs/gst/video/video-anc.h" line="306"/>
+ <return-value transfer-ownership="none">
+ <type name="GType" c:type="GType"/>
+ </return-value>
+ </function>
+ <function name="video_bar_meta_get_info"
+ c:identifier="gst_video_bar_meta_get_info"
+ moved-to="VideoBarMeta.get_info">
+ <source-position filename="gst-libs/gst/video/video-anc.h" line="309"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.MetaInfo" c:type="const GstMetaInfo*"/>
+ </return-value>
+ </function>
+ <function name="video_blend" c:identifier="gst_video_blend">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-blend.c"
+ line="279">Lets you blend the @src image into the @dest image</doc>
+ <source-position filename="gst-libs/gst/video/video-blend.h" line="36"/>
+ <return-value transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="dest" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-blend.c"
+ line="281">The #GstVideoFrame where to blend @src in</doc>
+ <type name="VideoFrame" c:type="GstVideoFrame*"/>
+ </parameter>
+ <parameter name="src" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-blend.c"
+ line="282">the #GstVideoFrame that we want to blend into</doc>
+ <type name="VideoFrame" c:type="GstVideoFrame*"/>
+ </parameter>
+ <parameter name="x" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-blend.c"
+ line="283">The x offset in pixel where the @src image should be blended</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="y" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-blend.c"
+ line="284">the y offset in pixel where the @src image should be blended</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="global_alpha" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-blend.c"
+ line="285">the global_alpha each per-pixel alpha value is multiplied
+ with</doc>
+ <type name="gfloat" c:type="gfloat"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="video_blend_scale_linear_RGBA"
+ c:identifier="gst_video_blend_scale_linear_RGBA">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-blend.c"
+ line="139">Scales a buffer containing RGBA (or AYUV) video. This is an internal
+helper function which is used to scale subtitle overlays, and may be
+deprecated in the near future. Use #GstVideoScaler to scale video buffers
+instead.</doc>
+ <source-position filename="gst-libs/gst/video/video-blend.h" line="31"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="src" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-blend.c"
+ line="141">the #GstVideoInfo describing the video data in @src_buffer</doc>
+ <type name="VideoInfo" c:type="GstVideoInfo*"/>
+ </parameter>
+ <parameter name="src_buffer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-blend.c"
+ line="142">the source buffer containing video pixels to scale</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer*"/>
+ </parameter>
+ <parameter name="dest_height" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-blend.c"
+ line="143">the height in pixels to scale the video data in @src_buffer to</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="dest_width" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-blend.c"
+ line="144">the width in pixels to scale the video data in @src_buffer to</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="dest"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-blend.c"
+ line="145">pointer to a #GstVideoInfo structure that will be filled in
+ with the details for @dest_buffer</doc>
+ <type name="VideoInfo" c:type="GstVideoInfo*"/>
+ </parameter>
+ <parameter name="dest_buffer"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-blend.c"
+ line="147">a pointer to a #GstBuffer variable, which will be
+ set to a newly-allocated buffer containing the scaled pixels.</doc>
+ <type name="Gst.Buffer" c:type="GstBuffer**"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="video_calculate_display_ratio"
+ c:identifier="gst_video_calculate_display_ratio">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video.c"
+ line="41">Given the Pixel Aspect Ratio and size of an input video frame, and the
+pixel aspect ratio of the intended display device, calculates the actual
+display ratio the video will be rendered with.</doc>
+ <source-position filename="gst-libs/gst/video/video.h" line="133"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video.c"
+ line="56">A boolean indicating success and a calculated Display Ratio in the
+dar_n and dar_d parameters.
+The return value is FALSE in the case of integer overflow or other error.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="dar_n"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video.c"
+ line="43">Numerator of the calculated display_ratio</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ <parameter name="dar_d"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video.c"
+ line="44">Denominator of the calculated display_ratio</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ <parameter name="video_width" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video.c"
+ line="45">Width of the video frame in pixels</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="video_height" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video.c"
+ line="46">Height of the video frame in pixels</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="video_par_n" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video.c"
+ line="47">Numerator of the pixel aspect ratio of the input video.</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="video_par_d" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video.c"
+ line="48">Denominator of the pixel aspect ratio of the input video.</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="display_par_n" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video.c"
+ line="49">Numerator of the pixel aspect ratio of the display device</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="display_par_d" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video.c"
+ line="50">Denominator of the pixel aspect ratio of the display device</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="video_caption_meta_api_get_type"
+ c:identifier="gst_video_caption_meta_api_get_type">
+ <source-position filename="gst-libs/gst/video/video-anc.h" line="395"/>
+ <return-value transfer-ownership="none">
+ <type name="GType" c:type="GType"/>
+ </return-value>
+ </function>
+ <function name="video_caption_meta_get_info"
+ c:identifier="gst_video_caption_meta_get_info"
+ moved-to="VideoCaptionMeta.get_info">
+ <source-position filename="gst-libs/gst/video/video-anc.h" line="399"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.MetaInfo" c:type="const GstMetaInfo*"/>
+ </return-value>
+ </function>
+ <function name="video_caption_type_from_caps"
+ c:identifier="gst_video_caption_type_from_caps"
+ moved-to="VideoCaptionType.from_caps"
+ version="1.16">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.c"
+ line="1040">Parses fixed Closed Caption #GstCaps and returns the corresponding caption
+type, or %GST_VIDEO_CAPTION_TYPE_UNKNOWN.</doc>
+ <source-position filename="gst-libs/gst/video/video-anc.h" line="369"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.c"
+ line="1047">#GstVideoCaptionType.</doc>
+ <type name="VideoCaptionType" c:type="GstVideoCaptionType"/>
+ </return-value>
+ <parameters>
+ <parameter name="caps" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.c"
+ line="1042">Fixed #GstCaps to parse</doc>
+ <type name="Gst.Caps" c:type="const GstCaps*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="video_caption_type_to_caps"
+ c:identifier="gst_video_caption_type_to_caps"
+ moved-to="VideoCaptionType.to_caps"
+ version="1.16">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.c"
+ line="1080">Creates new caps corresponding to @type.</doc>
+ <source-position filename="gst-libs/gst/video/video-anc.h" line="373"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.c"
+ line="1086">new #GstCaps</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-anc.c"
+ line="1082">#GstVideoCaptionType</doc>
+ <type name="VideoCaptionType" c:type="GstVideoCaptionType"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="video_chroma_from_string"
+ c:identifier="gst_video_chroma_from_string">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-chroma.c"
+ line="78">Convert @s to a #GstVideoChromaSite</doc>
+ <source-position filename="gst-libs/gst/video/video-chroma.h" line="56"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-chroma.c"
+ line="84">a #GstVideoChromaSite or %GST_VIDEO_CHROMA_SITE_UNKNOWN when @s does
+not contain a valid chroma description.</doc>
+ <type name="VideoChromaSite" c:type="GstVideoChromaSite"/>
+ </return-value>
+ <parameters>
+ <parameter name="s" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-chroma.c"
+ line="80">a chromasite string</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="video_chroma_resample"
+ c:identifier="gst_video_chroma_resample">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-chroma.c"
+ line="1040">Perform resampling of @width chroma pixels in @lines.</doc>
+ <source-position filename="gst-libs/gst/video/video-chroma.h"
+ line="107"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="resample" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-chroma.c"
+ line="1042">a #GstVideoChromaResample</doc>
+ <type name="VideoChromaResample" c:type="GstVideoChromaResample*"/>
+ </parameter>
+ <parameter name="lines"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-chroma.c"
+ line="1043">pixel lines</doc>
+ <type name="gpointer" c:type="gpointer*"/>
+ </parameter>
+ <parameter name="width" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-chroma.c"
+ line="1044">the number of pixels on one line</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="video_chroma_resample_new"
+ c:identifier="gst_video_chroma_resample_new"
+ moved-to="VideoChromaResample.new"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-chroma.c"
+ line="929">Create a new resampler object for the given parameters. When @h_factor or
+@v_factor is &gt; 0, upsampling will be used, otherwise subsampling is
+performed.</doc>
+ <source-position filename="gst-libs/gst/video/video-chroma.h" line="93"/>
+ <return-value>
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-chroma.c"
+ line="942">a new #GstVideoChromaResample that should be freed with
+ gst_video_chroma_resample_free() after usage.</doc>
+ <type name="VideoChromaResample" c:type="GstVideoChromaResample*"/>
+ </return-value>
+ <parameters>
+ <parameter name="method" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-chroma.c"
+ line="931">a #GstVideoChromaMethod</doc>
+ <type name="VideoChromaMethod" c:type="GstVideoChromaMethod"/>
+ </parameter>
+ <parameter name="site" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-chroma.c"
+ line="932">a #GstVideoChromaSite</doc>
+ <type name="VideoChromaSite" c:type="GstVideoChromaSite"/>
+ </parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-chroma.c"
+ line="933">#GstVideoChromaFlags</doc>
+ <type name="VideoChromaFlags" c:type="GstVideoChromaFlags"/>
+ </parameter>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-chroma.c"
+ line="934">the #GstVideoFormat</doc>
+ <type name="VideoFormat" c:type="GstVideoFormat"/>
+ </parameter>
+ <parameter name="h_factor" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-chroma.c"
+ line="935">horizontal resampling factor</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="v_factor" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-chroma.c"
+ line="936">vertical resampling factor</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="video_chroma_to_string"
+ c:identifier="gst_video_chroma_to_string">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-chroma.c"
+ line="98">Converts @site to its string representation.</doc>
+ <source-position filename="gst-libs/gst/video/video-chroma.h" line="59"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-chroma.c"
+ line="104">a string describing @site.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="site" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-chroma.c"
+ line="100">a #GstVideoChromaSite</doc>
+ <type name="VideoChromaSite" c:type="GstVideoChromaSite"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="video_color_matrix_from_iso"
+ c:identifier="gst_video_color_matrix_from_iso"
+ moved-to="VideoColorMatrix.from_iso"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="799">Converts the @value to the #GstVideoColorMatrix
+The matrix coefficients (MatrixCoefficients) value is
+defined by "ISO/IEC 23001-8 Section 7.3 Table 4"
+and "ITU-T H.273 Table 4".
+"H.264 Table E-5" and "H.265 Table E.5" share the identical values.</doc>
+ <source-position filename="gst-libs/gst/video/video-color.h" line="288"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="809">the matched #GstVideoColorMatrix</doc>
+ <type name="VideoColorMatrix" c:type="GstVideoColorMatrix"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="801">a ITU-T H.273 matrix coefficients value</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="video_color_matrix_get_Kr_Kb"
+ c:identifier="gst_video_color_matrix_get_Kr_Kb"
+ moved-to="VideoColorMatrix.get_Kr_Kb"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="322">Get the coefficients used to convert between Y'PbPr and R'G'B' using @matrix.
+
+When:
+
+|[
+ 0.0 &lt;= [Y',R',G',B'] &lt;= 1.0)
+ (-0.5 &lt;= [Pb,Pr] &lt;= 0.5)
+]|
+
+the general conversion is given by:
+
+|[
+ Y' = Kr*R' + (1-Kr-Kb)*G' + Kb*B'
+ Pb = (B'-Y')/(2*(1-Kb))
+ Pr = (R'-Y')/(2*(1-Kr))
+]|
+
+and the other way around:
+
+|[
+ R' = Y' + Cr*2*(1-Kr)
+ G' = Y' - Cb*2*(1-Kb)*Kb/(1-Kr-Kb) - Cr*2*(1-Kr)*Kr/(1-Kr-Kb)
+ B' = Y' + Cb*2*(1-Kb)
+]|</doc>
+ <source-position filename="gst-libs/gst/video/video-color.h" line="71"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="353">TRUE if @matrix was a YUV color format and @Kr and @Kb contain valid
+ values.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="matrix" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="324">a #GstVideoColorMatrix</doc>
+ <type name="VideoColorMatrix" c:type="GstVideoColorMatrix"/>
+ </parameter>
+ <parameter name="Kr"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="325">result red channel coefficient</doc>
+ <type name="gdouble" c:type="gdouble*"/>
+ </parameter>
+ <parameter name="Kb"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="326">result blue channel coefficient</doc>
+ <type name="gdouble" c:type="gdouble*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="video_color_matrix_to_iso"
+ c:identifier="gst_video_color_matrix_to_iso"
+ moved-to="VideoColorMatrix.to_iso"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="666">Converts #GstVideoColorMatrix to the "matrix coefficients"
+(MatrixCoefficients) value defined by "ISO/IEC 23001-8 Section 7.3 Table 4"
+and "ITU-T H.273 Table 4".
+"H.264 Table E-5" and "H.265 Table E.5" share the identical values.</doc>
+ <source-position filename="gst-libs/gst/video/video-color.h" line="279"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="675">The value of ISO/IEC 23001-8 matrix coefficients.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <parameter name="matrix" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="668">a #GstVideoColorMatrix</doc>
+ <type name="VideoColorMatrix" c:type="GstVideoColorMatrix"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="video_color_primaries_from_iso"
+ c:identifier="gst_video_color_primaries_from_iso"
+ moved-to="VideoColorPrimaries.from_iso"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="886">Converts the @value to the #GstVideoColorPrimaries
+The colour primaries (ColourPrimaries) value is
+defined by "ISO/IEC 23001-8 Section 7.1 Table 2" and "ITU-T H.273 Table 2".
+"H.264 Table E-3" and "H.265 Table E.3" share the identical values.</doc>
+ <source-position filename="gst-libs/gst/video/video-color.h" line="294"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="895">the matched #GstVideoColorPrimaries</doc>
+ <type name="VideoColorPrimaries" c:type="GstVideoColorPrimaries"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="888">a ITU-T H.273 colour primaries value</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="video_color_primaries_get_info"
+ c:identifier="gst_video_color_primaries_get_info"
+ moved-to="VideoColorPrimaries.get_info"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="303">Get information about the chromaticity coordinates of @primaries.</doc>
+ <source-position filename="gst-libs/gst/video/video-color.h" line="223"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="309">a #GstVideoColorPrimariesInfo for @primaries.</doc>
+ <type name="VideoColorPrimariesInfo"
+ c:type="const GstVideoColorPrimariesInfo*"/>
+ </return-value>
+ <parameters>
+ <parameter name="primaries" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="305">a #GstVideoColorPrimaries</doc>
+ <type name="VideoColorPrimaries" c:type="GstVideoColorPrimaries"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="video_color_primaries_to_iso"
+ c:identifier="gst_video_color_primaries_to_iso"
+ moved-to="VideoColorPrimaries.to_iso"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="753">Converts #GstVideoColorPrimaries to the "colour primaries" (ColourPrimaries)
+value defined by "ISO/IEC 23001-8 Section 7.1 Table 2"
+and "ITU-T H.273 Table 2".
+"H.264 Table E-3" and "H.265 Table E.3" share the identical values.</doc>
+ <source-position filename="gst-libs/gst/video/video-color.h" line="285"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="762">The value of ISO/IEC 23001-8 colour primaries.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <parameter name="primaries" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="755">a #GstVideoColorPrimaries</doc>
+ <type name="VideoColorPrimaries" c:type="GstVideoColorPrimaries"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="video_color_range_offsets"
+ c:identifier="gst_video_color_range_offsets"
+ moved-to="VideoColorRange.offsets">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="188">Compute the offset and scale values for each component of @info. For each
+component, (c[i] - offset[i]) / scale[i] will scale the component c[i] to the
+range [0.0 .. 1.0].
+
+The reverse operation (c[i] * scale[i]) + offset[i] can be used to convert
+the component values in range [0.0 .. 1.0] back to their representation in
+@info and @range.</doc>
+ <source-position filename="gst-libs/gst/video/video-color.h" line="268"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="range" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="190">a #GstVideoColorRange</doc>
+ <type name="VideoColorRange" c:type="GstVideoColorRange"/>
+ </parameter>
+ <parameter name="info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="191">a #GstVideoFormatInfo</doc>
+ <type name="VideoFormatInfo" c:type="const GstVideoFormatInfo*"/>
+ </parameter>
+ <parameter name="offset"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="192">output offsets</doc>
+ <array zero-terminated="0" c:type="gint*" fixed-size="4">
+ <type name="gint" c:type="gint"/>
+ </array>
+ </parameter>
+ <parameter name="scale"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="193">output scale</doc>
+ <array zero-terminated="0" c:type="gint*" fixed-size="4">
+ <type name="gint" c:type="gint"/>
+ </array>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="video_color_transfer_decode"
+ c:identifier="gst_video_color_transfer_decode"
+ version="1.6"
+ deprecated="1">
+ <doc-deprecated xml:space="preserve">Use gst_video_transfer_function_decode() instead.</doc-deprecated>
+ <source-position filename="gst-libs/gst/video/video-color.h" line="147"/>
+ <return-value transfer-ownership="none">
+ <type name="gdouble" c:type="gdouble"/>
+ </return-value>
+ <parameters>
+ <parameter name="func" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="531">a #GstVideoTransferFunction</doc>
+ <type name="VideoTransferFunction"
+ c:type="GstVideoTransferFunction"/>
+ </parameter>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="532">a value</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="video_color_transfer_encode"
+ c:identifier="gst_video_color_transfer_encode"
+ version="1.6"
+ deprecated="1">
+ <doc-deprecated xml:space="preserve">Use gst_video_transfer_function_encode() instead.</doc-deprecated>
+ <source-position filename="gst-libs/gst/video/video-color.h" line="142"/>
+ <return-value transfer-ownership="none">
+ <type name="gdouble" c:type="gdouble"/>
+ </return-value>
+ <parameters>
+ <parameter name="func" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="399">a #GstVideoTransferFunction</doc>
+ <type name="VideoTransferFunction"
+ c:type="GstVideoTransferFunction"/>
+ </parameter>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="400">a value</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="video_convert_sample"
+ c:identifier="gst_video_convert_sample"
+ throws="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/convertframe.c"
+ line="284">Converts a raw video buffer into the specified output caps.
+
+The output caps can be any raw video formats or any image formats (jpeg, png, ...).
+
+The width, height and pixel-aspect-ratio can also be specified in the output caps.</doc>
+ <source-position filename="gst-libs/gst/video/video.h" line="159"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/convertframe.c"
+ line="297">The converted #GstSample, or %NULL if an error happened (in which case @err
+will point to the #GError).</doc>
+ <type name="Gst.Sample" c:type="GstSample*"/>
+ </return-value>
+ <parameters>
+ <parameter name="sample" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/convertframe.c"
+ line="286">a #GstSample</doc>
+ <type name="Gst.Sample" c:type="GstSample*"/>
+ </parameter>
+ <parameter name="to_caps" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/convertframe.c"
+ line="287">the #GstCaps to convert to</doc>
+ <type name="Gst.Caps" c:type="const GstCaps*"/>
+ </parameter>
+ <parameter name="timeout" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/convertframe.c"
+ line="288">the maximum amount of time allowed for the processing.</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="video_convert_sample_async"
+ c:identifier="gst_video_convert_sample_async">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/convertframe.c"
+ line="659">Converts a raw video buffer into the specified output caps.
+
+The output caps can be any raw video formats or any image formats (jpeg, png, ...).
+
+The width, height and pixel-aspect-ratio can also be specified in the output caps.
+
+@callback will be called after conversion, when an error occurred or if conversion didn't
+finish after @timeout. @callback will always be called from the thread default
+%GMainContext, see g_main_context_get_thread_default(). If GLib before 2.22 is used,
+this will always be the global default main context.
+
+@destroy_notify will be called after the callback was called and @user_data is not needed
+anymore.</doc>
+ <source-position filename="gst-libs/gst/video/video.h" line="151"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="sample" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/convertframe.c"
+ line="661">a #GstSample</doc>
+ <type name="Gst.Sample" c:type="GstSample*"/>
+ </parameter>
+ <parameter name="to_caps" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/convertframe.c"
+ line="662">the #GstCaps to convert to</doc>
+ <type name="Gst.Caps" c:type="const GstCaps*"/>
+ </parameter>
+ <parameter name="timeout" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/convertframe.c"
+ line="663">the maximum amount of time allowed for the processing.</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="callback"
+ transfer-ownership="none"
+ scope="notified"
+ closure="4"
+ destroy="5">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/convertframe.c"
+ line="664">%GstVideoConvertSampleCallback that will be called after conversion.</doc>
+ <type name="VideoConvertSampleCallback"
+ c:type="GstVideoConvertSampleCallback"/>
+ </parameter>
+ <parameter name="user_data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/convertframe.c"
+ line="665">extra data that will be passed to the @callback</doc>
+ <type name="gpointer" c:type="gpointer"/>
+ </parameter>
+ <parameter name="destroy_notify"
+ transfer-ownership="none"
+ scope="async">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/convertframe.c"
+ line="666">%GDestroyNotify to be called after @user_data is not needed anymore</doc>
+ <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="video_converter_new"
+ c:identifier="gst_video_converter_new"
+ moved-to="VideoConverter.new"
+ version="1.6"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-converter.c"
+ line="2477">Create a new converter object to convert between @in_info and @out_info
+with @config.</doc>
+ <source-position filename="gst-libs/gst/video/video-converter.h"
+ line="279"/>
+ <return-value>
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-converter.c"
+ line="2486">a #GstVideoConverter or %NULL if conversion is not possible.</doc>
+ <type name="VideoConverter" c:type="GstVideoConverter*"/>
+ </return-value>
+ <parameters>
+ <parameter name="in_info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-converter.c"
+ line="2479">a #GstVideoInfo</doc>
+ <type name="VideoInfo" c:type="GstVideoInfo*"/>
+ </parameter>
+ <parameter name="out_info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-converter.c"
+ line="2480">a #GstVideoInfo</doc>
+ <type name="VideoInfo" c:type="GstVideoInfo*"/>
+ </parameter>
+ <parameter name="config" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-converter.c"
+ line="2481">a #GstStructure with configuration options</doc>
+ <type name="Gst.Structure" c:type="GstStructure*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="video_converter_new_with_pool"
+ c:identifier="gst_video_converter_new_with_pool"
+ moved-to="VideoConverter.new_with_pool"
+ version="1.20"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-converter.c"
+ line="2232">Create a new converter object to convert between @in_info and @out_info
+with @config.
+
+The optional @pool can be used to spawn threads, this is useful when
+creating new converters rapidly, for example when updating cropping.</doc>
+ <source-position filename="gst-libs/gst/video/video-converter.h"
+ line="284"/>
+ <return-value>
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-converter.c"
+ line="2245">a #GstVideoConverter or %NULL if conversion is not possible.</doc>
+ <type name="VideoConverter" c:type="GstVideoConverter*"/>
+ </return-value>
+ <parameters>
+ <parameter name="in_info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-converter.c"
+ line="2234">a #GstVideoInfo</doc>
+ <type name="VideoInfo" c:type="GstVideoInfo*"/>
+ </parameter>
+ <parameter name="out_info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-converter.c"
+ line="2235">a #GstVideoInfo</doc>
+ <type name="VideoInfo" c:type="GstVideoInfo*"/>
+ </parameter>
+ <parameter name="config" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-converter.c"
+ line="2236">a #GstStructure with configuration options</doc>
+ <type name="Gst.Structure" c:type="GstStructure*"/>
+ </parameter>
+ <parameter name="pool"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-converter.c"
+ line="2237">a #GstTaskPool to spawn threads from</doc>
+ <type name="Gst.TaskPool" c:type="GstTaskPool*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="video_crop_meta_api_get_type"
+ c:identifier="gst_video_crop_meta_api_get_type">
+ <source-position filename="gst-libs/gst/video/gstvideometa.h"
+ line="158"/>
+ <return-value transfer-ownership="none">
+ <type name="GType" c:type="GType"/>
+ </return-value>
+ </function>
+ <function name="video_crop_meta_get_info"
+ c:identifier="gst_video_crop_meta_get_info"
+ moved-to="VideoCropMeta.get_info">
+ <source-position filename="gst-libs/gst/video/gstvideometa.h"
+ line="161"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.MetaInfo" c:type="const GstMetaInfo*"/>
+ </return-value>
+ </function>
+ <function name="video_dither_new"
+ c:identifier="gst_video_dither_new"
+ moved-to="VideoDither.new"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-dither.c"
+ line="357">Make a new dither object for dithering lines of @format using the
+algorithm described by @method.
+
+Each component will be quantized to a multiple of @quantizer. Better
+performance is achieved when @quantizer is a power of 2.
+
+@width is the width of the lines that this ditherer will handle.</doc>
+ <source-position filename="gst-libs/gst/video/video-dither.h" line="66"/>
+ <return-value>
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-dither.c"
+ line="373">a new #GstVideoDither</doc>
+ <type name="VideoDither" c:type="GstVideoDither*"/>
+ </return-value>
+ <parameters>
+ <parameter name="method" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-dither.c"
+ line="359">a #GstVideoDitherMethod</doc>
+ <type name="VideoDitherMethod" c:type="GstVideoDitherMethod"/>
+ </parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-dither.c"
+ line="360">a #GstVideoDitherFlags</doc>
+ <type name="VideoDitherFlags" c:type="GstVideoDitherFlags"/>
+ </parameter>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-dither.c"
+ line="361">a #GstVideoFormat</doc>
+ <type name="VideoFormat" c:type="GstVideoFormat"/>
+ </parameter>
+ <parameter name="quantizer" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-dither.c"
+ line="362">quantizer</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ <parameter name="width" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-dither.c"
+ line="363">the width of the lines</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="video_event_is_force_key_unit"
+ c:identifier="gst_video_event_is_force_key_unit">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-event.c"
+ line="168">Checks if an event is a force key unit event. Returns true for both upstream
+and downstream force key unit events.</doc>
+ <source-position filename="gst-libs/gst/video/video-event.h" line="65"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-event.c"
+ line="175">%TRUE if the event is a valid force key unit event</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="event" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-event.c"
+ line="170">A #GstEvent to check</doc>
+ <type name="Gst.Event" c:type="GstEvent*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="video_event_new_downstream_force_key_unit"
+ c:identifier="gst_video_event_new_downstream_force_key_unit">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-event.c"
+ line="96">Creates a new downstream force key unit event. A downstream force key unit
+event can be sent down the pipeline to request downstream elements to produce
+a key unit. A downstream force key unit event must also be sent when handling
+an upstream force key unit event to notify downstream that the latter has been
+handled.
+
+To parse an event created by gst_video_event_new_downstream_force_key_unit() use
+gst_video_event_parse_downstream_force_key_unit().</doc>
+ <source-position filename="gst-libs/gst/video/video-event.h" line="39"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-event.c"
+ line="113">The new GstEvent</doc>
+ <type name="Gst.Event" c:type="GstEvent*"/>
+ </return-value>
+ <parameters>
+ <parameter name="timestamp" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-event.c"
+ line="98">the timestamp of the buffer that starts a new key unit</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="stream_time" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-event.c"
+ line="99">the stream_time of the buffer that starts a new key unit</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="running_time" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-event.c"
+ line="100">the running_time of the buffer that starts a new key unit</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="all_headers" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-event.c"
+ line="101">%TRUE to produce headers when starting a new key unit</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ <parameter name="count" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-event.c"
+ line="102">integer that can be used to number key units</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="video_event_new_still_frame"
+ c:identifier="gst_video_event_new_still_frame">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-event.c"
+ line="29">Creates a new Still Frame event. If @in_still is %TRUE, then the event
+represents the start of a still frame sequence. If it is %FALSE, then
+the event ends a still frame sequence.
+
+To parse an event created by gst_video_event_new_still_frame() use
+gst_video_event_parse_still_frame().</doc>
+ <source-position filename="gst-libs/gst/video/video-event.h" line="31"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-event.c"
+ line="40">The new GstEvent</doc>
+ <type name="Gst.Event" c:type="GstEvent*"/>
+ </return-value>
+ <parameters>
+ <parameter name="in_still" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-event.c"
+ line="31">boolean value for the still-frame state of the event.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="video_event_new_upstream_force_key_unit"
+ c:identifier="gst_video_event_new_upstream_force_key_unit">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-event.c"
+ line="134">Creates a new upstream force key unit event. An upstream force key unit event
+can be sent to request upstream elements to produce a key unit.
+
+@running_time can be set to request a new key unit at a specific
+running_time. If set to GST_CLOCK_TIME_NONE, upstream elements will produce a
+new key unit as soon as possible.
+
+To parse an event created by gst_video_event_new_downstream_force_key_unit() use
+gst_video_event_parse_downstream_force_key_unit().</doc>
+ <source-position filename="gst-libs/gst/video/video-event.h" line="54"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-event.c"
+ line="150">The new GstEvent</doc>
+ <type name="Gst.Event" c:type="GstEvent*"/>
+ </return-value>
+ <parameters>
+ <parameter name="running_time" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-event.c"
+ line="136">the running_time at which a new key unit should be produced</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="all_headers" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-event.c"
+ line="137">%TRUE to produce headers when starting a new key unit</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </parameter>
+ <parameter name="count" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-event.c"
+ line="138">integer that can be used to number key units</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="video_event_parse_downstream_force_key_unit"
+ c:identifier="gst_video_event_parse_downstream_force_key_unit">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-event.c"
+ line="196">Get timestamp, stream-time, running-time, all-headers and count in the force
+key unit event. See gst_video_event_new_downstream_force_key_unit() for a
+full description of the downstream force key unit event.
+
+@running_time will be adjusted for any pad offsets of pads it was passing through.</doc>
+ <source-position filename="gst-libs/gst/video/video-event.h" line="46"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-event.c"
+ line="211">%TRUE if the event is a valid downstream force key unit event.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="event" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-event.c"
+ line="198">A #GstEvent to parse</doc>
+ <type name="Gst.Event" c:type="GstEvent*"/>
+ </parameter>
+ <parameter name="timestamp"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-event.c"
+ line="199">A pointer to the timestamp in the event</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime*"/>
+ </parameter>
+ <parameter name="stream_time"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-event.c"
+ line="200">A pointer to the stream-time in the event</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime*"/>
+ </parameter>
+ <parameter name="running_time"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-event.c"
+ line="201">A pointer to the running-time in the event</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime*"/>
+ </parameter>
+ <parameter name="all_headers"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-event.c"
+ line="202">A pointer to the all_headers flag in the event</doc>
+ <type name="gboolean" c:type="gboolean*"/>
+ </parameter>
+ <parameter name="count"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-event.c"
+ line="203">A pointer to the count field of the event</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="video_event_parse_still_frame"
+ c:identifier="gst_video_event_parse_still_frame">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-event.c"
+ line="55">Parse a #GstEvent, identify if it is a Still Frame event, and
+return the still-frame state from the event if it is.
+If the event represents the start of a still frame, the in_still
+variable will be set to TRUE, otherwise FALSE. It is OK to pass NULL for the
+in_still variable order to just check whether the event is a valid still-frame
+event.
+
+Create a still frame event using gst_video_event_new_still_frame()</doc>
+ <source-position filename="gst-libs/gst/video/video-event.h" line="34"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-event.c"
+ line="70">%TRUE if the event is a valid still-frame event. %FALSE if not</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="event" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-event.c"
+ line="57">A #GstEvent to parse</doc>
+ <type name="Gst.Event" c:type="GstEvent*"/>
+ </parameter>
+ <parameter name="in_still"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-event.c"
+ line="58">
+ A boolean to receive the still-frame status from the event, or NULL</doc>
+ <type name="gboolean" c:type="gboolean*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="video_event_parse_upstream_force_key_unit"
+ c:identifier="gst_video_event_parse_upstream_force_key_unit">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-event.c"
+ line="270">Get running-time, all-headers and count in the force key unit event. See
+gst_video_event_new_upstream_force_key_unit() for a full description of the
+upstream force key unit event.
+
+Create an upstream force key unit event using gst_video_event_new_upstream_force_key_unit()
+
+@running_time will be adjusted for any pad offsets of pads it was passing through.</doc>
+ <source-position filename="gst-libs/gst/video/video-event.h" line="59"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-event.c"
+ line="285">%TRUE if the event is a valid upstream force-key-unit event. %FALSE if not</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="event" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-event.c"
+ line="272">A #GstEvent to parse</doc>
+ <type name="Gst.Event" c:type="GstEvent*"/>
+ </parameter>
+ <parameter name="running_time"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-event.c"
+ line="273">A pointer to the running_time in the event</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime*"/>
+ </parameter>
+ <parameter name="all_headers"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-event.c"
+ line="274">A pointer to the all_headers flag in the event</doc>
+ <type name="gboolean" c:type="gboolean*"/>
+ </parameter>
+ <parameter name="count"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-event.c"
+ line="275">A pointer to the count field in the event</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="video_field_order_from_string"
+ c:identifier="gst_video_field_order_from_string"
+ moved-to="VideoFieldOrder.from_string"
+ version="1.12">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.c"
+ line="363">Convert @order to a #GstVideoFieldOrder</doc>
+ <source-position filename="gst-libs/gst/video/video-info.h" line="284"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.c"
+ line="369">the #GstVideoFieldOrder of @order or
+ #GST_VIDEO_FIELD_ORDER_UNKNOWN when @order is not a valid
+ string representation for a #GstVideoFieldOrder.</doc>
+ <type name="VideoFieldOrder" c:type="GstVideoFieldOrder"/>
+ </return-value>
+ <parameters>
+ <parameter name="order" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.c"
+ line="365">a field order</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="video_field_order_to_string"
+ c:identifier="gst_video_field_order_to_string"
+ moved-to="VideoFieldOrder.to_string"
+ version="1.12">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.c"
+ line="344">Convert @order to its string representation.</doc>
+ <source-position filename="gst-libs/gst/video/video-info.h" line="281"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.c"
+ line="350">@order as a string or NULL if @order in invalid.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="order" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.c"
+ line="346">a #GstVideoFieldOrder</doc>
+ <type name="VideoFieldOrder" c:type="GstVideoFieldOrder"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="video_format_from_fourcc"
+ c:identifier="gst_video_format_from_fourcc"
+ moved-to="VideoFormat.from_fourcc">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.c"
+ line="6815">Converts a FOURCC value into the corresponding #GstVideoFormat.
+If the FOURCC cannot be represented by #GstVideoFormat,
+#GST_VIDEO_FORMAT_UNKNOWN is returned.</doc>
+ <source-position filename="gst-libs/gst/video/video-format.h"
+ line="571"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.c"
+ line="6823">the #GstVideoFormat describing the FOURCC value</doc>
+ <type name="VideoFormat" c:type="GstVideoFormat"/>
+ </return-value>
+ <parameters>
+ <parameter name="fourcc" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.c"
+ line="6817">a FOURCC value representing raw YUV video</doc>
+ <type name="guint32" c:type="guint32"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="video_format_from_masks"
+ c:identifier="gst_video_format_from_masks"
+ moved-to="VideoFormat.from_masks">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.c"
+ line="6741">Find the #GstVideoFormat for the given parameters.</doc>
+ <source-position filename="gst-libs/gst/video/video-format.h"
+ line="566"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.c"
+ line="6754">a #GstVideoFormat or GST_VIDEO_FORMAT_UNKNOWN when the parameters to
+not specify a known format.</doc>
+ <type name="VideoFormat" c:type="GstVideoFormat"/>
+ </return-value>
+ <parameters>
+ <parameter name="depth" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.c"
+ line="6743">the amount of bits used for a pixel</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="bpp" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.c"
+ line="6744">the amount of bits used to store a pixel. This value is bigger than
+ @depth</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="endianness" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.c"
+ line="6746">the endianness of the masks, #G_LITTLE_ENDIAN or #G_BIG_ENDIAN</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="red_mask" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.c"
+ line="6747">the red mask</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="green_mask" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.c"
+ line="6748">the green mask</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="blue_mask" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.c"
+ line="6749">the blue mask</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="alpha_mask" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.c"
+ line="6750">the alpha mask, or 0 if no alpha mask</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="video_format_from_string"
+ c:identifier="gst_video_format_from_string"
+ moved-to="VideoFormat.from_string">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.c"
+ line="6907">Convert the @format string to its #GstVideoFormat.</doc>
+ <source-position filename="gst-libs/gst/video/video-format.h"
+ line="574"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.c"
+ line="6913">the #GstVideoFormat for @format or GST_VIDEO_FORMAT_UNKNOWN when the
+string is not a known format.</doc>
+ <type name="VideoFormat" c:type="GstVideoFormat"/>
+ </return-value>
+ <parameters>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.c"
+ line="6909">a format string</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="video_format_get_info"
+ c:identifier="gst_video_format_get_info"
+ moved-to="VideoFormat.get_info">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.c"
+ line="6972">Get the #GstVideoFormatInfo for @format</doc>
+ <source-position filename="gst-libs/gst/video/video-format.h"
+ line="584"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.c"
+ line="6978">The #GstVideoFormatInfo for @format.</doc>
+ <type name="VideoFormatInfo" c:type="const GstVideoFormatInfo*"/>
+ </return-value>
+ <parameters>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.c"
+ line="6974">a #GstVideoFormat</doc>
+ <type name="VideoFormat" c:type="GstVideoFormat"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="video_format_get_palette"
+ c:identifier="gst_video_format_get_palette"
+ moved-to="VideoFormat.get_palette"
+ version="1.2">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.c"
+ line="6988">Get the default palette of @format. This the palette used in the pack
+function for paletted formats.</doc>
+ <source-position filename="gst-libs/gst/video/video-format.h"
+ line="587"/>
+ <return-value transfer-ownership="none" nullable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.c"
+ line="6996">the default palette of @format or %NULL when
+@format does not have a palette.</doc>
+ <type name="gpointer" c:type="gconstpointer"/>
+ </return-value>
+ <parameters>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.c"
+ line="6990">a #GstVideoFormat</doc>
+ <type name="VideoFormat" c:type="GstVideoFormat"/>
+ </parameter>
+ <parameter name="size"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.c"
+ line="6991">size of the palette in bytes</doc>
+ <type name="gsize" c:type="gsize*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="video_format_to_fourcc"
+ c:identifier="gst_video_format_to_fourcc"
+ moved-to="VideoFormat.to_fourcc">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.c"
+ line="6931">Converts a #GstVideoFormat value into the corresponding FOURCC. Only
+a few YUV formats have corresponding FOURCC values. If @format has
+no corresponding FOURCC value, 0 is returned.</doc>
+ <source-position filename="gst-libs/gst/video/video-format.h"
+ line="577"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.c"
+ line="6939">the FOURCC corresponding to @format</doc>
+ <type name="guint32" c:type="guint32"/>
+ </return-value>
+ <parameters>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.c"
+ line="6933">a #GstVideoFormat video format</doc>
+ <type name="VideoFormat" c:type="GstVideoFormat"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="video_format_to_string"
+ c:identifier="gst_video_format_to_string"
+ moved-to="VideoFormat.to_string">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.c"
+ line="6952">Returns a string containing a descriptive name for
+the #GstVideoFormat if there is one, or NULL otherwise.</doc>
+ <source-position filename="gst-libs/gst/video/video-format.h"
+ line="580"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.c"
+ line="6959">the name corresponding to @format</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="format" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.c"
+ line="6954">a #GstVideoFormat video format</doc>
+ <type name="VideoFormat" c:type="GstVideoFormat"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="video_formats_raw"
+ c:identifier="gst_video_formats_raw"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.c"
+ line="7084">Return all the raw video formats supported by GStreamer.</doc>
+ <source-position filename="gst-libs/gst/video/video-format.h"
+ line="646"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.c"
+ line="7090">an array of #GstVideoFormat</doc>
+ <array length="0" zero-terminated="0" c:type="const GstVideoFormat*">
+ <type name="VideoFormat" c:type="GstVideoFormat"/>
+ </array>
+ </return-value>
+ <parameters>
+ <parameter name="len"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.c"
+ line="7086">the number of elements in the returned array</doc>
+ <type name="guint" c:type="guint*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="video_gl_texture_upload_meta_api_get_type"
+ c:identifier="gst_video_gl_texture_upload_meta_api_get_type">
+ <source-position filename="gst-libs/gst/video/gstvideometa.h"
+ line="281"/>
+ <return-value transfer-ownership="none">
+ <type name="GType" c:type="GType"/>
+ </return-value>
+ </function>
+ <function name="video_gl_texture_upload_meta_get_info"
+ c:identifier="gst_video_gl_texture_upload_meta_get_info"
+ moved-to="VideoGLTextureUploadMeta.get_info">
+ <source-position filename="gst-libs/gst/video/gstvideometa.h"
+ line="284"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.MetaInfo" c:type="const GstMetaInfo*"/>
+ </return-value>
+ </function>
+ <function name="video_guess_framerate"
+ c:identifier="gst_video_guess_framerate"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video.c"
+ line="98">Given the nominal duration of one video frame,
+this function will check some standard framerates for
+a close match (within 0.1%) and return one if possible,
+
+It will calculate an arbitrary framerate if no close
+match was found, and return %FALSE.
+
+It returns %FALSE if a duration of 0 is passed.</doc>
+ <source-position filename="gst-libs/gst/video/video.h" line="143"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video.c"
+ line="113">%TRUE if a close "standard" framerate was
+recognised, and %FALSE otherwise.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="duration" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video.c"
+ line="100">Nominal duration of one frame</doc>
+ <type name="Gst.ClockTime" c:type="GstClockTime"/>
+ </parameter>
+ <parameter name="dest_n"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video.c"
+ line="101">Numerator of the calculated framerate</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ <parameter name="dest_d"
+ direction="out"
+ caller-allocates="0"
+ transfer-ownership="full"
+ optional="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video.c"
+ line="102">Denominator of the calculated framerate</doc>
+ <type name="gint" c:type="gint*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="video_interlace_mode_from_string"
+ c:identifier="gst_video_interlace_mode_from_string"
+ moved-to="VideoInterlaceMode.from_string"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.c"
+ line="315">Convert @mode to a #GstVideoInterlaceMode</doc>
+ <source-position filename="gst-libs/gst/video/video-info.h" line="89"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.c"
+ line="321">the #GstVideoInterlaceMode of @mode or
+ #GST_VIDEO_INTERLACE_MODE_PROGRESSIVE when @mode is not a valid
+ string representation for a #GstVideoInterlaceMode.</doc>
+ <type name="VideoInterlaceMode" c:type="GstVideoInterlaceMode"/>
+ </return-value>
+ <parameters>
+ <parameter name="mode" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.c"
+ line="317">a mode</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="video_interlace_mode_to_string"
+ c:identifier="gst_video_interlace_mode_to_string"
+ moved-to="VideoInterlaceMode.to_string"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.c"
+ line="296">Convert @mode to its string representation.</doc>
+ <source-position filename="gst-libs/gst/video/video-info.h" line="86"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.c"
+ line="302">@mode as a string or NULL if @mode in invalid.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="mode" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-info.c"
+ line="298">a #GstVideoInterlaceMode</doc>
+ <type name="VideoInterlaceMode" c:type="GstVideoInterlaceMode"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="video_make_raw_caps"
+ c:identifier="gst_video_make_raw_caps"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.c"
+ line="7108">Return a generic raw video caps for formats defined in @formats.
+If @formats is %NULL returns a caps for all the supported raw video formats,
+see gst_video_formats_raw().</doc>
+ <source-position filename="gst-libs/gst/video/video-format.h"
+ line="681"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.c"
+ line="7117">a video @GstCaps</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <parameter name="formats"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.c"
+ line="7110">an array of raw #GstVideoFormat, or %NULL</doc>
+ <array length="1" zero-terminated="0" c:type="const GstVideoFormat*">
+ <type name="VideoFormat" c:type="GstVideoFormat"/>
+ </array>
+ </parameter>
+ <parameter name="len" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.c"
+ line="7111">the size of @formats</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="video_make_raw_caps_with_features"
+ c:identifier="gst_video_make_raw_caps_with_features"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.c"
+ line="7126">Return a generic raw video caps for formats defined in @formats with features
+@features.
+If @formats is %NULL returns a caps for all the supported video formats,
+see gst_video_formats_raw().</doc>
+ <source-position filename="gst-libs/gst/video/video-format.h"
+ line="684"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.c"
+ line="7137">a video @GstCaps</doc>
+ <type name="Gst.Caps" c:type="GstCaps*"/>
+ </return-value>
+ <parameters>
+ <parameter name="formats"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.c"
+ line="7128">an array of raw #GstVideoFormat, or %NULL</doc>
+ <array length="1" zero-terminated="0" c:type="const GstVideoFormat*">
+ <type name="VideoFormat" c:type="GstVideoFormat"/>
+ </array>
+ </parameter>
+ <parameter name="len" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.c"
+ line="7129">the size of @formats</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="features"
+ transfer-ownership="full"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-format.c"
+ line="7130">the #GstCapsFeatures to set on the caps</doc>
+ <type name="Gst.CapsFeatures" c:type="GstCapsFeatures*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="video_mastering_display_info_from_string"
+ c:identifier="gst_video_mastering_display_info_from_string"
+ moved-to="VideoMasteringDisplayInfo.from_string"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-hdr.c"
+ line="60">Extract #GstVideoMasteringDisplayInfo from @mastering</doc>
+ <source-position filename="gst-libs/gst/video/video-hdr.h" line="80"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-hdr.c"
+ line="67">%TRUE if @minfo was filled with @mastering</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="minfo"
+ direction="out"
+ caller-allocates="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-hdr.c"
+ line="62">a #GstVideoMasteringDisplayInfo</doc>
+ <type name="VideoMasteringDisplayInfo"
+ c:type="GstVideoMasteringDisplayInfo*"/>
+ </parameter>
+ <parameter name="mastering" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-hdr.c"
+ line="63">a #GstStructure representing #GstVideoMasteringDisplayInfo</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="video_meta_api_get_type"
+ c:identifier="gst_video_meta_api_get_type">
+ <source-position filename="gst-libs/gst/video/gstvideometa.h"
+ line="101"/>
+ <return-value transfer-ownership="none">
+ <type name="GType" c:type="GType"/>
+ </return-value>
+ </function>
+ <function name="video_meta_get_info"
+ c:identifier="gst_video_meta_get_info"
+ moved-to="VideoMeta.get_info">
+ <source-position filename="gst-libs/gst/video/gstvideometa.h"
+ line="104"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.MetaInfo" c:type="const GstMetaInfo*"/>
+ </return-value>
+ </function>
+ <function name="video_meta_transform_scale_get_quark"
+ c:identifier="gst_video_meta_transform_scale_get_quark"
+ moved-to="VideoMetaTransform.scale_get_quark">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="619">Get the #GQuark for the "gst-video-scale" metadata transform operation.</doc>
+ <source-position filename="gst-libs/gst/video/gstvideometa.h"
+ line="169"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/gstvideometa.c"
+ line="624">a #GQuark</doc>
+ <type name="GLib.Quark" c:type="GQuark"/>
+ </return-value>
+ </function>
+ <function name="video_multiview_get_doubled_height_modes"
+ c:identifier="gst_video_multiview_get_doubled_height_modes"
+ version="1.6">
+ <source-position filename="gst-libs/gst/video/video-multiview.h"
+ line="50"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-multiview.c"
+ line="219">A const #GValue containing a list of stereo video modes
+
+Utility function that returns a #GValue with a GstList of packed stereo
+video modes with double the height of a single view for use in
+caps negotiations. Currently this is top-bottom and row-interleaved.</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </return-value>
+ </function>
+ <function name="video_multiview_get_doubled_size_modes"
+ c:identifier="gst_video_multiview_get_doubled_size_modes"
+ version="1.6">
+ <source-position filename="gst-libs/gst/video/video-multiview.h"
+ line="56"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-multiview.c"
+ line="256">A const #GValue containing a list of stereo video modes
+
+Utility function that returns a #GValue with a GstList of packed
+stereo video modes that have double the width/height of a single
+view for use in caps negotiation. Currently this is just
+'checkerboard' layout.</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </return-value>
+ </function>
+ <function name="video_multiview_get_doubled_width_modes"
+ c:identifier="gst_video_multiview_get_doubled_width_modes"
+ version="1.6">
+ <source-position filename="gst-libs/gst/video/video-multiview.h"
+ line="53"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-multiview.c"
+ line="237">A const #GValue containing a list of stereo video modes
+
+Utility function that returns a #GValue with a GstList of packed stereo
+video modes with double the width of a single view for use in
+caps negotiations. Currently this is side-by-side, side-by-side-quincunx
+and column-interleaved.</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </return-value>
+ </function>
+ <function name="video_multiview_get_mono_modes"
+ c:identifier="gst_video_multiview_get_mono_modes"
+ version="1.6">
+ <source-position filename="gst-libs/gst/video/video-multiview.h"
+ line="44"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-multiview.c"
+ line="184">A const #GValue containing a list of mono video modes
+
+Utility function that returns a #GValue with a GstList of mono video
+modes (mono/left/right) for use in caps negotiations.</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </return-value>
+ </function>
+ <function name="video_multiview_get_unpacked_modes"
+ c:identifier="gst_video_multiview_get_unpacked_modes"
+ version="1.6">
+ <source-position filename="gst-libs/gst/video/video-multiview.h"
+ line="47"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-multiview.c"
+ line="201">A const #GValue containing a list of 'unpacked' stereo video modes
+
+Utility function that returns a #GValue with a GstList of unpacked
+stereo video modes (separated/frame-by-frame/frame-by-frame-multiview)
+for use in caps negotiations.</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </return-value>
+ </function>
+ <function name="video_multiview_guess_half_aspect"
+ c:identifier="gst_video_multiview_guess_half_aspect"
+ version="1.6">
+ <source-position filename="gst-libs/gst/video/video-multiview.h"
+ line="63"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-multiview.c"
+ line="370">A boolean indicating whether the
+ #GST_VIDEO_MULTIVIEW_FLAGS_HALF_ASPECT flag should be set.
+
+Utility function that heuristically guess whether a
+frame-packed stereoscopic video contains half width/height
+encoded views, or full-frame views by looking at the
+overall display aspect ratio.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="mv_mode" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-multiview.c"
+ line="364">A #GstVideoMultiviewMode</doc>
+ <type name="VideoMultiviewMode" c:type="GstVideoMultiviewMode"/>
+ </parameter>
+ <parameter name="width" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-multiview.c"
+ line="365">Video frame width in pixels</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="height" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-multiview.c"
+ line="366">Video frame height in pixels</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="par_n" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-multiview.c"
+ line="367">Numerator of the video pixel-aspect-ratio</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="par_d" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-multiview.c"
+ line="368">Denominator of the video pixel-aspect-ratio</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="video_multiview_mode_from_caps_string"
+ c:identifier="gst_video_multiview_mode_from_caps_string"
+ moved-to="VideoMultiviewMode.from_caps_string"
+ version="1.6">
+ <source-position filename="gst-libs/gst/video/video-multiview.h"
+ line="41"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-multiview.c"
+ line="93">The #GstVideoMultiviewMode value
+
+Given a string from a caps multiview-mode field,
+output the corresponding #GstVideoMultiviewMode
+or #GST_VIDEO_MULTIVIEW_MODE_NONE</doc>
+ <type name="VideoMultiviewMode" c:type="GstVideoMultiviewMode"/>
+ </return-value>
+ <parameters>
+ <parameter name="caps_mview_mode" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-multiview.c"
+ line="91">multiview-mode field string from caps</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="video_multiview_mode_to_caps_string"
+ c:identifier="gst_video_multiview_mode_to_caps_string"
+ moved-to="VideoMultiviewMode.to_caps_string"
+ version="1.6">
+ <source-position filename="gst-libs/gst/video/video-multiview.h"
+ line="38"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-multiview.c"
+ line="68">The caps string representation of the mode, or NULL if invalid.
+
+Given a #GstVideoMultiviewMode returns the multiview-mode caps string
+for insertion into a caps structure</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="mview_mode" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-multiview.c"
+ line="66">A #GstVideoMultiviewMode value</doc>
+ <type name="VideoMultiviewMode" c:type="GstVideoMultiviewMode"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="video_multiview_video_info_change_mode"
+ c:identifier="gst_video_multiview_video_info_change_mode"
+ version="1.6">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-multiview.c"
+ line="340">Utility function that transforms the width/height/PAR
+and multiview mode and flags of a #GstVideoInfo into
+the requested mode.</doc>
+ <source-position filename="gst-libs/gst/video/video-multiview.h"
+ line="59"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="info" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-multiview.c"
+ line="342">A #GstVideoInfo structure to operate on</doc>
+ <type name="VideoInfo" c:type="GstVideoInfo*"/>
+ </parameter>
+ <parameter name="out_mview_mode" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-multiview.c"
+ line="343">A #GstVideoMultiviewMode value</doc>
+ <type name="VideoMultiviewMode" c:type="GstVideoMultiviewMode"/>
+ </parameter>
+ <parameter name="out_mview_flags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-multiview.c"
+ line="344">A set of #GstVideoMultiviewFlags</doc>
+ <type name="VideoMultiviewFlags" c:type="GstVideoMultiviewFlags"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="video_overlay_composition_meta_api_get_type"
+ c:identifier="gst_video_overlay_composition_meta_api_get_type">
+ <source-position filename="gst-libs/gst/video/video-overlay-composition.h"
+ line="290"/>
+ <return-value transfer-ownership="none">
+ <type name="GType" c:type="GType"/>
+ </return-value>
+ </function>
+ <function name="video_overlay_composition_meta_get_info"
+ c:identifier="gst_video_overlay_composition_meta_get_info"
+ moved-to="VideoOverlayCompositionMeta.get_info">
+ <source-position filename="gst-libs/gst/video/video-overlay-composition.h"
+ line="293"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.MetaInfo" c:type="const GstMetaInfo*"/>
+ </return-value>
+ </function>
+ <function name="video_overlay_install_properties"
+ c:identifier="gst_video_overlay_install_properties"
+ moved-to="VideoOverlay.install_properties"
+ version="1.14">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videooverlay.c"
+ line="518">This helper shall be used by classes implementing the #GstVideoOverlay
+interface that want the render rectangle to be controllable using
+properties. This helper will install "render-rectangle" property into the
+class.</doc>
+ <source-position filename="gst-libs/gst/video/videooverlay.h"
+ line="108"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="oclass" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videooverlay.c"
+ line="520">The class on which the properties will be installed</doc>
+ <type name="GObject.ObjectClass" c:type="GObjectClass*"/>
+ </parameter>
+ <parameter name="last_prop_id" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videooverlay.c"
+ line="521">The first free property ID to use</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="video_overlay_set_property"
+ c:identifier="gst_video_overlay_set_property"
+ moved-to="VideoOverlay.set_property"
+ version="1.14">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videooverlay.c"
+ line="542">This helper shall be used by classes implementing the #GstVideoOverlay
+interface that want the render rectangle to be controllable using
+properties. This helper will parse and set the render rectangle calling
+gst_video_overlay_set_render_rectangle().</doc>
+ <source-position filename="gst-libs/gst/video/videooverlay.h"
+ line="112"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videooverlay.c"
+ line="554">%TRUE if the @property_id matches the GstVideoOverlay property</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videooverlay.c"
+ line="544">The instance on which the property is set</doc>
+ <type name="GObject.Object" c:type="GObject*"/>
+ </parameter>
+ <parameter name="last_prop_id" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videooverlay.c"
+ line="545">The highest property ID.</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="property_id" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videooverlay.c"
+ line="546">The property ID</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/videooverlay.c"
+ line="547">The #GValue to be set</doc>
+ <type name="GObject.Value" c:type="const GValue*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="video_region_of_interest_meta_api_get_type"
+ c:identifier="gst_video_region_of_interest_meta_api_get_type">
+ <source-position filename="gst-libs/gst/video/gstvideometa.h"
+ line="335"/>
+ <return-value transfer-ownership="none">
+ <type name="GType" c:type="GType"/>
+ </return-value>
+ </function>
+ <function name="video_region_of_interest_meta_get_info"
+ c:identifier="gst_video_region_of_interest_meta_get_info"
+ moved-to="VideoRegionOfInterestMeta.get_info">
+ <source-position filename="gst-libs/gst/video/gstvideometa.h"
+ line="338"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.MetaInfo" c:type="const GstMetaInfo*"/>
+ </return-value>
+ </function>
+ <function name="video_scaler_new"
+ c:identifier="gst_video_scaler_new"
+ moved-to="VideoScaler.new"
+ introspectable="0">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-scaler.c"
+ line="195">Make a new @method video scaler. @in_size source lines/pixels will
+be scaled to @out_size destination lines/pixels.
+
+@n_taps specifies the amount of pixels to use from the source for one output
+pixel. If n_taps is 0, this function chooses a good value automatically based
+on the @method and @in_size/@out_size.</doc>
+ <source-position filename="gst-libs/gst/video/video-scaler.h" line="54"/>
+ <return-value>
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-scaler.c"
+ line="211">a #GstVideoScaler</doc>
+ <type name="VideoScaler" c:type="GstVideoScaler*"/>
+ </return-value>
+ <parameters>
+ <parameter name="method" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-scaler.c"
+ line="197">a #GstVideoResamplerMethod</doc>
+ <type name="VideoResamplerMethod" c:type="GstVideoResamplerMethod"/>
+ </parameter>
+ <parameter name="flags" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-scaler.c"
+ line="198">#GstVideoScalerFlags</doc>
+ <type name="VideoScalerFlags" c:type="GstVideoScalerFlags"/>
+ </parameter>
+ <parameter name="n_taps" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-scaler.c"
+ line="199">number of taps to use</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="in_size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-scaler.c"
+ line="200">number of source elements</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="out_size" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-scaler.c"
+ line="201">number of destination elements</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="options"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-scaler.c"
+ line="202">extra options</doc>
+ <type name="Gst.Structure" c:type="GstStructure*"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="video_tile_get_index"
+ c:identifier="gst_video_tile_get_index"
+ version="1.4">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-tile.c"
+ line="25">Get the tile index of the tile at coordinates @x and @y in the tiled
+image of @x_tiles by @y_tiles.
+
+Use this method when @mode is of type %GST_VIDEO_TILE_TYPE_INDEXED.</doc>
+ <source-position filename="gst-libs/gst/video/video-tile.h" line="134"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-tile.c"
+ line="38">the index of the tile at @x and @y in the tiled image of
+ @x_tiles by @y_tiles.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <parameter name="mode" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-tile.c"
+ line="27">a #GstVideoTileMode</doc>
+ <type name="VideoTileMode" c:type="GstVideoTileMode"/>
+ </parameter>
+ <parameter name="x" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-tile.c"
+ line="28">x coordinate</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="y" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-tile.c"
+ line="29">y coordinate</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="x_tiles" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-tile.c"
+ line="30">number of horizintal tiles</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ <parameter name="y_tiles" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-tile.c"
+ line="31">number of vertical tiles</doc>
+ <type name="gint" c:type="gint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="video_time_code_meta_api_get_type"
+ c:identifier="gst_video_time_code_meta_api_get_type">
+ <source-position filename="gst-libs/gst/video/gstvideometa.h"
+ line="389"/>
+ <return-value transfer-ownership="none">
+ <type name="GType" c:type="GType"/>
+ </return-value>
+ </function>
+ <function name="video_time_code_meta_get_info"
+ c:identifier="gst_video_time_code_meta_get_info"
+ moved-to="VideoTimeCodeMeta.get_info">
+ <source-position filename="gst-libs/gst/video/gstvideometa.h"
+ line="393"/>
+ <return-value transfer-ownership="none">
+ <type name="Gst.MetaInfo" c:type="const GstMetaInfo*"/>
+ </return-value>
+ </function>
+ <function name="video_transfer_function_decode"
+ c:identifier="gst_video_transfer_function_decode"
+ moved-to="VideoTransferFunction.decode"
+ version="1.20">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="544">Convert @val to its gamma decoded value. This is the inverse operation of
+@gst_video_color_transfer_encode().
+
+For a non-linear value L' in the range [0..1], conversion to the linear
+L is in general performed with a power function like:
+
+|[
+ L = L' ^ gamma
+]|
+
+Depending on @func, different formulas might be applied. Some formulas
+encode a linear segment in the lower range.</doc>
+ <source-position filename="gst-libs/gst/video/video-color.h" line="149"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="562">the gamma decoded value of @val</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </return-value>
+ <parameters>
+ <parameter name="func" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="546">a #GstVideoTransferFunction</doc>
+ <type name="VideoTransferFunction"
+ c:type="GstVideoTransferFunction"/>
+ </parameter>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="547">a value</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="video_transfer_function_encode"
+ c:identifier="gst_video_transfer_function_encode"
+ moved-to="VideoTransferFunction.encode"
+ version="1.20">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="412">Convert @val to its gamma encoded value.
+
+For a linear value L in the range [0..1], conversion to the non-linear
+(gamma encoded) L' is in general performed with a power function like:
+
+|[
+ L' = L ^ (1 / gamma)
+]|
+
+Depending on @func, different formulas might be applied. Some formulas
+encode a linear segment in the lower range.</doc>
+ <source-position filename="gst-libs/gst/video/video-color.h" line="144"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="429">the gamma encoded value of @val</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </return-value>
+ <parameters>
+ <parameter name="func" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="414">a #GstVideoTransferFunction</doc>
+ <type name="VideoTransferFunction"
+ c:type="GstVideoTransferFunction"/>
+ </parameter>
+ <parameter name="val" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="415">a value</doc>
+ <type name="gdouble" c:type="gdouble"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="video_transfer_function_from_iso"
+ c:identifier="gst_video_transfer_function_from_iso"
+ moved-to="VideoTransferFunction.from_iso"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="836">Converts the @value to the #GstVideoTransferFunction
+The transfer characteristics (TransferCharacteristics) value is
+defined by "ISO/IEC 23001-8 Section 7.2 Table 3"
+and "ITU-T H.273 Table 3".
+"H.264 Table E-4" and "H.265 Table E.4" share the identical values.</doc>
+ <source-position filename="gst-libs/gst/video/video-color.h" line="291"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="846">the matched #GstVideoTransferFunction</doc>
+ <type name="VideoTransferFunction" c:type="GstVideoTransferFunction"/>
+ </return-value>
+ <parameters>
+ <parameter name="value" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="838">a ITU-T H.273 transfer characteristics value</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="video_transfer_function_is_equivalent"
+ c:identifier="gst_video_transfer_function_is_equivalent"
+ moved-to="VideoTransferFunction.is_equivalent"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="950">Returns whether @from_func and @to_func are equivalent. There are cases
+(e.g. BT601, BT709, and BT2020_10) where several functions are functionally
+identical. In these cases, when doing conversion, we should consider them
+as equivalent. Also, BT2020_12 is the same as the aforementioned three for
+less than 12 bits per pixel.</doc>
+ <source-position filename="gst-libs/gst/video/video-color.h" line="297"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="963">TRUE if @from_func and @to_func can be considered equivalent.</doc>
+ <type name="gboolean" c:type="gboolean"/>
+ </return-value>
+ <parameters>
+ <parameter name="from_func" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="952">#GstVideoTransferFunction to convert from</doc>
+ <type name="VideoTransferFunction"
+ c:type="GstVideoTransferFunction"/>
+ </parameter>
+ <parameter name="from_bpp" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="953">bits per pixel to convert from</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ <parameter name="to_func" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="954">#GstVideoTransferFunction to convert into</doc>
+ <type name="VideoTransferFunction"
+ c:type="GstVideoTransferFunction"/>
+ </parameter>
+ <parameter name="to_bpp" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="955">bits per pixel to convert into</doc>
+ <type name="guint" c:type="guint"/>
+ </parameter>
+ </parameters>
+ </function>
+ <function name="video_transfer_function_to_iso"
+ c:identifier="gst_video_transfer_function_to_iso"
+ moved-to="VideoTransferFunction.to_iso"
+ version="1.18">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="701">Converts #GstVideoTransferFunction to the "transfer characteristics"
+(TransferCharacteristics) value defined by "ISO/IEC 23001-8 Section 7.2 Table 3"
+and "ITU-T H.273 Table 3".
+"H.264 Table E-4" and "H.265 Table E.4" share the identical values.</doc>
+ <source-position filename="gst-libs/gst/video/video-color.h" line="282"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="710">The value of ISO/IEC 23001-8 transfer characteristics.</doc>
+ <type name="guint" c:type="guint"/>
+ </return-value>
+ <parameters>
+ <parameter name="func" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-color.c"
+ line="703">a #GstVideoTransferFunction</doc>
+ <type name="VideoTransferFunction"
+ c:type="GstVideoTransferFunction"/>
+ </parameter>
+ </parameters>
+ </function>
+ <docsection name="videoconverter">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/video/video-converter.c"
+ line="41">This object is used to convert video frames from one format to another.
+The object can perform conversion of:
+
+ * video format
+ * video colorspace
+ * chroma-siting
+ * video size</doc>
+ </docsection>
+ </namespace>
+</repository>
diff --git a/subprojects/gstreamer-sharp/girs/GstWebRTC-1.0.gir b/subprojects/gstreamer-sharp/girs/GstWebRTC-1.0.gir
new file mode 100644
index 0000000000..e6712f0d14
--- /dev/null
+++ b/subprojects/gstreamer-sharp/girs/GstWebRTC-1.0.gir
@@ -0,0 +1,1742 @@
+<?xml version="1.0"?>
+<!-- This file was automatically generated from C sources - DO NOT EDIT!
+To affect the contents of this file, edit the original C definitions,
+and/or use gtk-doc annotations. -->
+<repository version="1.2"
+ xmlns="http://www.gtk.org/introspection/core/1.0"
+ xmlns:c="http://www.gtk.org/introspection/c/1.0"
+ xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
+ <include name="Gst" version="1.0"/>
+ <include name="GstSdp" version="1.0"/>
+ <package name="gstreamer-webrtc-1.0"/>
+ <c:include name="gst/webrtc/webrtc.h"/>
+ <namespace name="GstWebRTC"
+ version="1.0"
+ shared-library="libgstwebrtc-1.0.so.0"
+ c:identifier-prefixes="Gst"
+ c:symbol-prefixes="gst">
+ <function-macro name="IS_WEBRTC_DATA_CHANNEL"
+ c:identifier="GST_IS_WEBRTC_DATA_CHANNEL"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/webrtc/datachannel.h" line="34"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_WEBRTC_DATA_CHANNEL_CLASS"
+ c:identifier="GST_IS_WEBRTC_DATA_CHANNEL_CLASS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/webrtc/datachannel.h" line="36"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_WEBRTC_DTLS_TRANSPORT"
+ c:identifier="GST_IS_WEBRTC_DTLS_TRANSPORT"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/webrtc/dtlstransport.h"
+ line="33"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_WEBRTC_DTLS_TRANSPORT_CLASS"
+ c:identifier="GST_IS_WEBRTC_DTLS_TRANSPORT_CLASS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/webrtc/dtlstransport.h"
+ line="35"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_WEBRTC_ICE_TRANSPORT"
+ c:identifier="GST_IS_WEBRTC_ICE_TRANSPORT"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/webrtc/icetransport.h"
+ line="32"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_WEBRTC_ICE_TRANSPORT_CLASS"
+ c:identifier="GST_IS_WEBRTC_ICE_TRANSPORT_CLASS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/webrtc/icetransport.h"
+ line="34"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_WEBRTC_RTP_RECEIVER"
+ c:identifier="GST_IS_WEBRTC_RTP_RECEIVER"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/webrtc/rtpreceiver.h" line="33"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_WEBRTC_RTP_RECEIVER_CLASS"
+ c:identifier="GST_IS_WEBRTC_RTP_RECEIVER_CLASS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/webrtc/rtpreceiver.h" line="35"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_WEBRTC_RTP_SENDER"
+ c:identifier="GST_IS_WEBRTC_RTP_SENDER"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/webrtc/rtpsender.h" line="33"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_WEBRTC_RTP_SENDER_CLASS"
+ c:identifier="GST_IS_WEBRTC_RTP_SENDER_CLASS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/webrtc/rtpsender.h" line="35"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_WEBRTC_RTP_TRANSCEIVER"
+ c:identifier="GST_IS_WEBRTC_RTP_TRANSCEIVER"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/webrtc/rtptransceiver.h"
+ line="32"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="IS_WEBRTC_RTP_TRANSCEIVER_CLASS"
+ c:identifier="GST_IS_WEBRTC_RTP_TRANSCEIVER_CLASS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/webrtc/rtptransceiver.h"
+ line="34"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="WEBRTC_DATA_CHANNEL"
+ c:identifier="GST_WEBRTC_DATA_CHANNEL"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/webrtc/datachannel.h" line="33"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="WEBRTC_DATA_CHANNEL_CLASS"
+ c:identifier="GST_WEBRTC_DATA_CHANNEL_CLASS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/webrtc/datachannel.h" line="35"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="WEBRTC_DATA_CHANNEL_GET_CLASS"
+ c:identifier="GST_WEBRTC_DATA_CHANNEL_GET_CLASS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/webrtc/datachannel.h" line="37"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="WEBRTC_DTLS_TRANSPORT"
+ c:identifier="GST_WEBRTC_DTLS_TRANSPORT"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/webrtc/dtlstransport.h"
+ line="32"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="WEBRTC_DTLS_TRANSPORT_CLASS"
+ c:identifier="GST_WEBRTC_DTLS_TRANSPORT_CLASS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/webrtc/dtlstransport.h"
+ line="34"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="WEBRTC_DTLS_TRANSPORT_GET_CLASS"
+ c:identifier="GST_WEBRTC_DTLS_TRANSPORT_GET_CLASS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/webrtc/dtlstransport.h"
+ line="36"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="WEBRTC_ICE_TRANSPORT"
+ c:identifier="GST_WEBRTC_ICE_TRANSPORT"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/webrtc/icetransport.h"
+ line="31"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="WEBRTC_ICE_TRANSPORT_CLASS"
+ c:identifier="GST_WEBRTC_ICE_TRANSPORT_CLASS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/webrtc/icetransport.h"
+ line="33"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="WEBRTC_ICE_TRANSPORT_GET_CLASS"
+ c:identifier="GST_WEBRTC_ICE_TRANSPORT_GET_CLASS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/webrtc/icetransport.h"
+ line="35"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="WEBRTC_RTP_RECEIVER"
+ c:identifier="GST_WEBRTC_RTP_RECEIVER"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/webrtc/rtpreceiver.h" line="32"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="WEBRTC_RTP_RECEIVER_CLASS"
+ c:identifier="GST_WEBRTC_RTP_RECEIVER_CLASS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/webrtc/rtpreceiver.h" line="34"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="WEBRTC_RTP_RECEIVER_GET_CLASS"
+ c:identifier="GST_WEBRTC_RTP_RECEIVER_GET_CLASS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/webrtc/rtpreceiver.h" line="36"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="WEBRTC_RTP_SENDER"
+ c:identifier="GST_WEBRTC_RTP_SENDER"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/webrtc/rtpsender.h" line="32"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="WEBRTC_RTP_SENDER_CLASS"
+ c:identifier="GST_WEBRTC_RTP_SENDER_CLASS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/webrtc/rtpsender.h" line="34"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="WEBRTC_RTP_SENDER_GET_CLASS"
+ c:identifier="GST_WEBRTC_RTP_SENDER_GET_CLASS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/webrtc/rtpsender.h" line="36"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="WEBRTC_RTP_TRANSCEIVER"
+ c:identifier="GST_WEBRTC_RTP_TRANSCEIVER"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/webrtc/rtptransceiver.h"
+ line="31"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="WEBRTC_RTP_TRANSCEIVER_CLASS"
+ c:identifier="GST_WEBRTC_RTP_TRANSCEIVER_CLASS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/webrtc/rtptransceiver.h"
+ line="33"/>
+ <parameters>
+ <parameter name="klass">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <function-macro name="WEBRTC_RTP_TRANSCEIVER_GET_CLASS"
+ c:identifier="GST_WEBRTC_RTP_TRANSCEIVER_GET_CLASS"
+ introspectable="0">
+ <source-position filename="gst-libs/gst/webrtc/rtptransceiver.h"
+ line="35"/>
+ <parameters>
+ <parameter name="obj">
+ </parameter>
+ </parameters>
+ </function-macro>
+ <enumeration name="WebRTCBundlePolicy"
+ version="1.16"
+ glib:type-name="GstWebRTCBundlePolicy"
+ glib:get-type="gst_webrtc_bundle_policy_get_type"
+ c:type="GstWebRTCBundlePolicy">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+ line="340">See https://tools.ietf.org/html/draft-ietf-rtcweb-jsep-24#section-4.1.1
+for more information.</doc>
+ <member name="none"
+ value="0"
+ c:identifier="GST_WEBRTC_BUNDLE_POLICY_NONE"
+ glib:nick="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+ line="342">none</doc>
+ </member>
+ <member name="balanced"
+ value="1"
+ c:identifier="GST_WEBRTC_BUNDLE_POLICY_BALANCED"
+ glib:nick="balanced">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+ line="343">balanced</doc>
+ </member>
+ <member name="max_compat"
+ value="2"
+ c:identifier="GST_WEBRTC_BUNDLE_POLICY_MAX_COMPAT"
+ glib:nick="max-compat">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+ line="344">max-compat</doc>
+ </member>
+ <member name="max_bundle"
+ value="3"
+ c:identifier="GST_WEBRTC_BUNDLE_POLICY_MAX_BUNDLE"
+ glib:nick="max-bundle">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+ line="345">max-bundle</doc>
+ </member>
+ </enumeration>
+ <enumeration name="WebRTCDTLSSetup"
+ glib:type-name="GstWebRTCDTLSSetup"
+ glib:get-type="gst_webrtc_dtls_setup_get_type"
+ c:type="GstWebRTCDTLSSetup">
+ <member name="none"
+ value="0"
+ c:identifier="GST_WEBRTC_DTLS_SETUP_NONE"
+ glib:nick="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+ line="220">none</doc>
+ </member>
+ <member name="actpass"
+ value="1"
+ c:identifier="GST_WEBRTC_DTLS_SETUP_ACTPASS"
+ glib:nick="actpass">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+ line="221">actpass</doc>
+ </member>
+ <member name="active"
+ value="2"
+ c:identifier="GST_WEBRTC_DTLS_SETUP_ACTIVE"
+ glib:nick="active">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+ line="222">sendonly</doc>
+ </member>
+ <member name="passive"
+ value="3"
+ c:identifier="GST_WEBRTC_DTLS_SETUP_PASSIVE"
+ glib:nick="passive">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+ line="223">recvonly</doc>
+ </member>
+ </enumeration>
+ <class name="WebRTCDTLSTransport"
+ c:symbol-prefix="webrtc_dtls_transport"
+ c:type="GstWebRTCDTLSTransport"
+ parent="Gst.Object"
+ glib:type-name="GstWebRTCDTLSTransport"
+ glib:get-type="gst_webrtc_dtls_transport_get_type"
+ glib:type-struct="WebRTCDTLSTransportClass">
+ <source-position filename="gst-libs/gst/webrtc/webrtc_fwd.h" line="46"/>
+ <property name="certificate" writable="1" transfer-ownership="none">
+ <type name="utf8" c:type="gchar*"/>
+ </property>
+ <property name="client" writable="1" transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </property>
+ <property name="remote-certificate" transfer-ownership="none">
+ <type name="utf8" c:type="gchar*"/>
+ </property>
+ <property name="session-id"
+ writable="1"
+ construct-only="1"
+ transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </property>
+ <property name="state" transfer-ownership="none">
+ <type name="WebRTCDTLSTransportState"/>
+ </property>
+ <property name="transport" transfer-ownership="none">
+ <type name="WebRTCICETransport"/>
+ </property>
+ </class>
+ <record name="WebRTCDTLSTransportClass"
+ c:type="GstWebRTCDTLSTransportClass"
+ disguised="1"
+ glib:is-gtype-struct-for="WebRTCDTLSTransport">
+ <source-position filename="gst-libs/gst/webrtc/webrtc_fwd.h" line="46"/>
+ </record>
+ <enumeration name="WebRTCDTLSTransportState"
+ glib:type-name="GstWebRTCDTLSTransportState"
+ glib:get-type="gst_webrtc_dtls_transport_state_get_type"
+ c:type="GstWebRTCDTLSTransportState">
+ <member name="new"
+ value="0"
+ c:identifier="GST_WEBRTC_DTLS_TRANSPORT_STATE_NEW"
+ glib:nick="new">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+ line="67">new</doc>
+ </member>
+ <member name="closed"
+ value="1"
+ c:identifier="GST_WEBRTC_DTLS_TRANSPORT_STATE_CLOSED"
+ glib:nick="closed">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+ line="68">closed</doc>
+ </member>
+ <member name="failed"
+ value="2"
+ c:identifier="GST_WEBRTC_DTLS_TRANSPORT_STATE_FAILED"
+ glib:nick="failed">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+ line="69">failed</doc>
+ </member>
+ <member name="connecting"
+ value="3"
+ c:identifier="GST_WEBRTC_DTLS_TRANSPORT_STATE_CONNECTING"
+ glib:nick="connecting">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+ line="70">connecting</doc>
+ </member>
+ <member name="connected"
+ value="4"
+ c:identifier="GST_WEBRTC_DTLS_TRANSPORT_STATE_CONNECTED"
+ glib:nick="connected">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+ line="71">connected</doc>
+ </member>
+ </enumeration>
+ <class name="WebRTCDataChannel"
+ c:symbol-prefix="webrtc_data_channel"
+ c:type="GstWebRTCDataChannel"
+ parent="GObject.Object"
+ abstract="1"
+ glib:type-name="GstWebRTCDataChannel"
+ glib:get-type="gst_webrtc_data_channel_get_type"
+ glib:type-struct="WebRTCDataChannelClass">
+ <source-position filename="gst-libs/gst/webrtc/webrtc_fwd.h" line="63"/>
+ <method name="close" c:identifier="gst_webrtc_data_channel_close">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/datachannel.c"
+ line="545">Close the @channel.</doc>
+ <source-position filename="gst-libs/gst/webrtc/datachannel.h"
+ line="46"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="channel" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/datachannel.c"
+ line="547">a #GstWebRTCDataChannel</doc>
+ <type name="WebRTCDataChannel" c:type="GstWebRTCDataChannel*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="send_data"
+ c:identifier="gst_webrtc_data_channel_send_data">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/datachannel.c"
+ line="507">Send @data as a data message over @channel.</doc>
+ <source-position filename="gst-libs/gst/webrtc/datachannel.h"
+ line="40"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="channel" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/datachannel.c"
+ line="509">a #GstWebRTCDataChannel</doc>
+ <type name="WebRTCDataChannel" c:type="GstWebRTCDataChannel*"/>
+ </instance-parameter>
+ <parameter name="data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/datachannel.c"
+ line="510">a #GBytes or %NULL</doc>
+ <type name="GLib.Bytes" c:type="GBytes*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="send_string"
+ c:identifier="gst_webrtc_data_channel_send_string">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/datachannel.c"
+ line="526">Send @str as a string message over @channel.</doc>
+ <source-position filename="gst-libs/gst/webrtc/datachannel.h"
+ line="43"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="channel" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/datachannel.c"
+ line="528">a #GstWebRTCDataChannel</doc>
+ <type name="WebRTCDataChannel" c:type="GstWebRTCDataChannel*"/>
+ </instance-parameter>
+ <parameter name="str"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/datachannel.c"
+ line="529">a string or %NULL</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="buffered-amount" transfer-ownership="none">
+ <type name="guint64" c:type="guint64"/>
+ </property>
+ <property name="buffered-amount-low-threshold"
+ writable="1"
+ transfer-ownership="none">
+ <type name="guint64" c:type="guint64"/>
+ </property>
+ <property name="id"
+ writable="1"
+ construct-only="1"
+ transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </property>
+ <property name="label"
+ writable="1"
+ construct-only="1"
+ transfer-ownership="none">
+ <type name="utf8" c:type="gchar*"/>
+ </property>
+ <property name="max-packet-lifetime"
+ writable="1"
+ construct-only="1"
+ transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </property>
+ <property name="max-retransmits"
+ writable="1"
+ construct-only="1"
+ transfer-ownership="none">
+ <type name="gint" c:type="gint"/>
+ </property>
+ <property name="negotiated"
+ writable="1"
+ construct-only="1"
+ transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </property>
+ <property name="ordered"
+ writable="1"
+ construct-only="1"
+ transfer-ownership="none">
+ <type name="gboolean" c:type="gboolean"/>
+ </property>
+ <property name="priority"
+ writable="1"
+ construct-only="1"
+ transfer-ownership="none">
+ <type name="WebRTCPriorityType"/>
+ </property>
+ <property name="protocol"
+ writable="1"
+ construct-only="1"
+ transfer-ownership="none">
+ <type name="utf8" c:type="gchar*"/>
+ </property>
+ <property name="ready-state" transfer-ownership="none">
+ <type name="WebRTCDataChannelState"/>
+ </property>
+ <glib:signal name="close" when="last" action="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/datachannel.c"
+ line="353">Close the data channel</doc>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </glib:signal>
+ <glib:signal name="on-buffered-amount-low" when="last">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </glib:signal>
+ <glib:signal name="on-close" when="last">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </glib:signal>
+ <glib:signal name="on-error" when="last">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="error" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/datachannel.c"
+ line="299">the #GError thrown</doc>
+ <type name="GLib.Error"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="on-message-data" when="last">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/datachannel.c"
+ line="308">a #GBytes of the data received</doc>
+ <type name="GLib.Bytes"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="on-message-string" when="last">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/datachannel.c"
+ line="317">the data received as a string</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="on-open" when="last">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </glib:signal>
+ <glib:signal name="send-data" when="last" action="1">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/datachannel.c"
+ line="334">a #GBytes with the data</doc>
+ <type name="GLib.Bytes"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="send-string" when="last" action="1">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="data"
+ transfer-ownership="none"
+ nullable="1"
+ allow-none="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/datachannel.c"
+ line="345">the data to send as a string</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ </class>
+ <record name="WebRTCDataChannelClass"
+ c:type="GstWebRTCDataChannelClass"
+ disguised="1"
+ glib:is-gtype-struct-for="WebRTCDataChannel">
+ <source-position filename="gst-libs/gst/webrtc/webrtc_fwd.h" line="63"/>
+ </record>
+ <enumeration name="WebRTCDataChannelState"
+ version="1.16"
+ glib:type-name="GstWebRTCDataChannelState"
+ glib:get-type="gst_webrtc_data_channel_state_get_type"
+ c:type="GstWebRTCDataChannelState">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+ line="319">See &lt;http://w3c.github.io/webrtc-pc/#dom-rtcdatachannelstate&gt;</doc>
+ <member name="new"
+ value="0"
+ c:identifier="GST_WEBRTC_DATA_CHANNEL_STATE_NEW"
+ glib:nick="new">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+ line="321">new</doc>
+ </member>
+ <member name="connecting"
+ value="1"
+ c:identifier="GST_WEBRTC_DATA_CHANNEL_STATE_CONNECTING"
+ glib:nick="connecting">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+ line="322">connection</doc>
+ </member>
+ <member name="open"
+ value="2"
+ c:identifier="GST_WEBRTC_DATA_CHANNEL_STATE_OPEN"
+ glib:nick="open">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+ line="323">open</doc>
+ </member>
+ <member name="closing"
+ value="3"
+ c:identifier="GST_WEBRTC_DATA_CHANNEL_STATE_CLOSING"
+ glib:nick="closing">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+ line="324">closing</doc>
+ </member>
+ <member name="closed"
+ value="4"
+ c:identifier="GST_WEBRTC_DATA_CHANNEL_STATE_CLOSED"
+ glib:nick="closed">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+ line="325">closed</doc>
+ </member>
+ </enumeration>
+ <enumeration name="WebRTCFECType"
+ version="1.14.1"
+ glib:type-name="GstWebRTCFECType"
+ glib:get-type="gst_webrtc_fec_type_get_type"
+ c:type="GstWebRTCFECType">
+ <member name="none"
+ value="0"
+ c:identifier="GST_WEBRTC_FEC_TYPE_NONE"
+ glib:nick="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+ line="270">none</doc>
+ </member>
+ <member name="ulp_red"
+ value="1"
+ c:identifier="GST_WEBRTC_FEC_TYPE_ULP_RED"
+ glib:nick="ulp-red">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+ line="271">ulpfec + red</doc>
+ </member>
+ </enumeration>
+ <enumeration name="WebRTCICEComponent"
+ glib:type-name="GstWebRTCICEComponent"
+ glib:get-type="gst_webrtc_ice_component_get_type"
+ c:type="GstWebRTCICEComponent">
+ <member name="rtp"
+ value="0"
+ c:identifier="GST_WEBRTC_ICE_COMPONENT_RTP"
+ glib:nick="rtp">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+ line="175">RTP component</doc>
+ </member>
+ <member name="rtcp"
+ value="1"
+ c:identifier="GST_WEBRTC_ICE_COMPONENT_RTCP"
+ glib:nick="rtcp">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+ line="176">RTCP component</doc>
+ </member>
+ </enumeration>
+ <enumeration name="WebRTCICEConnectionState"
+ glib:type-name="GstWebRTCICEConnectionState"
+ glib:get-type="gst_webrtc_ice_connection_state_get_type"
+ c:type="GstWebRTCICEConnectionState">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+ line="97">See &lt;http://w3c.github.io/webrtc-pc/#dom-rtciceconnectionstate&gt;</doc>
+ <member name="new"
+ value="0"
+ c:identifier="GST_WEBRTC_ICE_CONNECTION_STATE_NEW"
+ glib:nick="new">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+ line="99">new</doc>
+ </member>
+ <member name="checking"
+ value="1"
+ c:identifier="GST_WEBRTC_ICE_CONNECTION_STATE_CHECKING"
+ glib:nick="checking">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+ line="100">checking</doc>
+ </member>
+ <member name="connected"
+ value="2"
+ c:identifier="GST_WEBRTC_ICE_CONNECTION_STATE_CONNECTED"
+ glib:nick="connected">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+ line="101">connected</doc>
+ </member>
+ <member name="completed"
+ value="3"
+ c:identifier="GST_WEBRTC_ICE_CONNECTION_STATE_COMPLETED"
+ glib:nick="completed">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+ line="102">completed</doc>
+ </member>
+ <member name="failed"
+ value="4"
+ c:identifier="GST_WEBRTC_ICE_CONNECTION_STATE_FAILED"
+ glib:nick="failed">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+ line="103">failed</doc>
+ </member>
+ <member name="disconnected"
+ value="5"
+ c:identifier="GST_WEBRTC_ICE_CONNECTION_STATE_DISCONNECTED"
+ glib:nick="disconnected">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+ line="104">disconnected</doc>
+ </member>
+ <member name="closed"
+ value="6"
+ c:identifier="GST_WEBRTC_ICE_CONNECTION_STATE_CLOSED"
+ glib:nick="closed">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+ line="105">closed</doc>
+ </member>
+ </enumeration>
+ <enumeration name="WebRTCICEGatheringState"
+ glib:type-name="GstWebRTCICEGatheringState"
+ glib:get-type="gst_webrtc_ice_gathering_state_get_type"
+ c:type="GstWebRTCICEGatheringState">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+ line="82">See &lt;http://w3c.github.io/webrtc-pc/#dom-rtcicegatheringstate&gt;</doc>
+ <member name="new"
+ value="0"
+ c:identifier="GST_WEBRTC_ICE_GATHERING_STATE_NEW"
+ glib:nick="new">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+ line="84">new</doc>
+ </member>
+ <member name="gathering"
+ value="1"
+ c:identifier="GST_WEBRTC_ICE_GATHERING_STATE_GATHERING"
+ glib:nick="gathering">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+ line="85">gathering</doc>
+ </member>
+ <member name="complete"
+ value="2"
+ c:identifier="GST_WEBRTC_ICE_GATHERING_STATE_COMPLETE"
+ glib:nick="complete">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+ line="86">complete</doc>
+ </member>
+ </enumeration>
+ <enumeration name="WebRTCICERole"
+ glib:type-name="GstWebRTCICERole"
+ glib:get-type="gst_webrtc_ice_role_get_type"
+ c:type="GstWebRTCICERole">
+ <member name="controlled"
+ value="0"
+ c:identifier="GST_WEBRTC_ICE_ROLE_CONTROLLED"
+ glib:nick="controlled">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+ line="164">controlled</doc>
+ </member>
+ <member name="controlling"
+ value="1"
+ c:identifier="GST_WEBRTC_ICE_ROLE_CONTROLLING"
+ glib:nick="controlling">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+ line="165">controlling</doc>
+ </member>
+ </enumeration>
+ <class name="WebRTCICETransport"
+ c:symbol-prefix="webrtc_ice_transport"
+ c:type="GstWebRTCICETransport"
+ parent="Gst.Object"
+ abstract="1"
+ glib:type-name="GstWebRTCICETransport"
+ glib:get-type="gst_webrtc_ice_transport_get_type"
+ glib:type-struct="WebRTCICETransportClass">
+ <source-position filename="gst-libs/gst/webrtc/webrtc_fwd.h" line="49"/>
+ <property name="component"
+ writable="1"
+ construct-only="1"
+ transfer-ownership="none">
+ <type name="WebRTCICEComponent"/>
+ </property>
+ <property name="gathering-state" transfer-ownership="none">
+ <type name="WebRTCICEGatheringState"/>
+ </property>
+ <property name="state" transfer-ownership="none">
+ <type name="WebRTCICEConnectionState"/>
+ </property>
+ <glib:signal name="on-new-candidate" when="last">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <parameter name="object" transfer-ownership="none">
+ <type name="utf8" c:type="gchar*"/>
+ </parameter>
+ </parameters>
+ </glib:signal>
+ <glib:signal name="on-selected-candidate-pair-change" when="last">
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ </glib:signal>
+ </class>
+ <record name="WebRTCICETransportClass"
+ c:type="GstWebRTCICETransportClass"
+ disguised="1"
+ glib:is-gtype-struct-for="WebRTCICETransport">
+ <source-position filename="gst-libs/gst/webrtc/webrtc_fwd.h" line="49"/>
+ </record>
+ <enumeration name="WebRTCICETransportPolicy"
+ version="1.16"
+ glib:type-name="GstWebRTCICETransportPolicy"
+ glib:get-type="gst_webrtc_ice_transport_policy_get_type"
+ c:type="GstWebRTCICETransportPolicy">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+ line="360">See https://tools.ietf.org/html/draft-ietf-rtcweb-jsep-24#section-4.1.1
+for more information.</doc>
+ <member name="all"
+ value="0"
+ c:identifier="GST_WEBRTC_ICE_TRANSPORT_POLICY_ALL"
+ glib:nick="all">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+ line="362">all</doc>
+ </member>
+ <member name="relay"
+ value="1"
+ c:identifier="GST_WEBRTC_ICE_TRANSPORT_POLICY_RELAY"
+ glib:nick="relay">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+ line="363">relay</doc>
+ </member>
+ </enumeration>
+ <enumeration name="WebRTCKind"
+ version="1.20"
+ glib:type-name="GstWebRTCKind"
+ glib:get-type="gst_webrtc_kind_get_type"
+ c:type="GstWebRTCKind">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+ line="376">https://w3c.github.io/mediacapture-main/#dom-mediastreamtrack-kind</doc>
+ <member name="unknown"
+ value="0"
+ c:identifier="GST_WEBRTC_KIND_UNKNOWN"
+ glib:nick="unknown">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+ line="378">Kind has not yet been set</doc>
+ </member>
+ <member name="audio"
+ value="1"
+ c:identifier="GST_WEBRTC_KIND_AUDIO"
+ glib:nick="audio">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+ line="379">Kind is audio</doc>
+ </member>
+ <member name="video"
+ value="2"
+ c:identifier="GST_WEBRTC_KIND_VIDEO"
+ glib:nick="video">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+ line="380">Kind is audio</doc>
+ </member>
+ </enumeration>
+ <enumeration name="WebRTCPeerConnectionState"
+ glib:type-name="GstWebRTCPeerConnectionState"
+ glib:get-type="gst_webrtc_peer_connection_state_get_type"
+ c:type="GstWebRTCPeerConnectionState">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+ line="141">See &lt;http://w3c.github.io/webrtc-pc/#dom-rtcpeerconnectionstate&gt;</doc>
+ <member name="new"
+ value="0"
+ c:identifier="GST_WEBRTC_PEER_CONNECTION_STATE_NEW"
+ glib:nick="new">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+ line="143">new</doc>
+ </member>
+ <member name="connecting"
+ value="1"
+ c:identifier="GST_WEBRTC_PEER_CONNECTION_STATE_CONNECTING"
+ glib:nick="connecting">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+ line="144">connecting</doc>
+ </member>
+ <member name="connected"
+ value="2"
+ c:identifier="GST_WEBRTC_PEER_CONNECTION_STATE_CONNECTED"
+ glib:nick="connected">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+ line="145">connected</doc>
+ </member>
+ <member name="disconnected"
+ value="3"
+ c:identifier="GST_WEBRTC_PEER_CONNECTION_STATE_DISCONNECTED"
+ glib:nick="disconnected">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+ line="146">disconnected</doc>
+ </member>
+ <member name="failed"
+ value="4"
+ c:identifier="GST_WEBRTC_PEER_CONNECTION_STATE_FAILED"
+ glib:nick="failed">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+ line="147">failed</doc>
+ </member>
+ <member name="closed"
+ value="5"
+ c:identifier="GST_WEBRTC_PEER_CONNECTION_STATE_CLOSED"
+ glib:nick="closed">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+ line="148">closed</doc>
+ </member>
+ </enumeration>
+ <enumeration name="WebRTCPriorityType"
+ version="1.16"
+ glib:type-name="GstWebRTCPriorityType"
+ glib:get-type="gst_webrtc_priority_type_get_type"
+ c:type="GstWebRTCPriorityType">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+ line="300">See &lt;http://w3c.github.io/webrtc-pc/#dom-rtcprioritytype&gt;</doc>
+ <member name="very_low"
+ value="1"
+ c:identifier="GST_WEBRTC_PRIORITY_TYPE_VERY_LOW"
+ glib:nick="very-low">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+ line="302">very-low</doc>
+ </member>
+ <member name="low"
+ value="2"
+ c:identifier="GST_WEBRTC_PRIORITY_TYPE_LOW"
+ glib:nick="low">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+ line="303">low</doc>
+ </member>
+ <member name="medium"
+ value="3"
+ c:identifier="GST_WEBRTC_PRIORITY_TYPE_MEDIUM"
+ glib:nick="medium">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+ line="304">medium</doc>
+ </member>
+ <member name="high"
+ value="4"
+ c:identifier="GST_WEBRTC_PRIORITY_TYPE_HIGH"
+ glib:nick="high">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+ line="305">high</doc>
+ </member>
+ </enumeration>
+ <class name="WebRTCRTPReceiver"
+ c:symbol-prefix="webrtc_rtp_receiver"
+ c:type="GstWebRTCRTPReceiver"
+ parent="Gst.Object"
+ glib:type-name="GstWebRTCRTPReceiver"
+ glib:get-type="gst_webrtc_rtp_receiver_get_type"
+ glib:type-struct="WebRTCRTPReceiverClass">
+ <source-position filename="gst-libs/gst/webrtc/webrtc_fwd.h" line="52"/>
+ <property name="transport" version="1.20" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/rtpreceiver.c"
+ line="107">The DTLS transport for this receiver</doc>
+ <type name="WebRTCDTLSTransport"/>
+ </property>
+ </class>
+ <record name="WebRTCRTPReceiverClass"
+ c:type="GstWebRTCRTPReceiverClass"
+ disguised="1"
+ glib:is-gtype-struct-for="WebRTCRTPReceiver">
+ <source-position filename="gst-libs/gst/webrtc/webrtc_fwd.h" line="52"/>
+ </record>
+ <class name="WebRTCRTPSender"
+ c:symbol-prefix="webrtc_rtp_sender"
+ c:type="GstWebRTCRTPSender"
+ parent="Gst.Object"
+ glib:type-name="GstWebRTCRTPSender"
+ glib:get-type="gst_webrtc_rtp_sender_get_type"
+ glib:type-struct="WebRTCRTPSenderClass">
+ <source-position filename="gst-libs/gst/webrtc/webrtc_fwd.h" line="55"/>
+ <method name="set_priority"
+ c:identifier="gst_webrtc_rtp_sender_set_priority"
+ version="1.20">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/rtpsender.c"
+ line="61">Sets the content of the IPv4 Type of Service (ToS), also known as DSCP
+(Differentiated Services Code Point).
+This also sets the Traffic Class field of IPv6.</doc>
+ <source-position filename="gst-libs/gst/webrtc/rtpsender.h" line="39"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="sender" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/rtpsender.c"
+ line="63">a #GstWebRTCRTPSender</doc>
+ <type name="WebRTCRTPSender" c:type="GstWebRTCRTPSender*"/>
+ </instance-parameter>
+ <parameter name="priority" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/rtpsender.c"
+ line="64">The priority of this sender</doc>
+ <type name="WebRTCPriorityType" c:type="GstWebRTCPriorityType"/>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="priority"
+ version="1.20"
+ writable="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/rtpsender.c"
+ line="143">The priority from which to set the DSCP field on packets</doc>
+ <type name="WebRTCPriorityType"/>
+ </property>
+ <property name="transport" version="1.20" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/rtpsender.c"
+ line="158">The DTLS transport for this sender</doc>
+ <type name="WebRTCDTLSTransport"/>
+ </property>
+ </class>
+ <record name="WebRTCRTPSenderClass"
+ c:type="GstWebRTCRTPSenderClass"
+ disguised="1"
+ glib:is-gtype-struct-for="WebRTCRTPSender">
+ <source-position filename="gst-libs/gst/webrtc/webrtc_fwd.h" line="55"/>
+ </record>
+ <class name="WebRTCRTPTransceiver"
+ c:symbol-prefix="webrtc_rtp_transceiver"
+ c:type="GstWebRTCRTPTransceiver"
+ parent="Gst.Object"
+ abstract="1"
+ glib:type-name="GstWebRTCRTPTransceiver"
+ glib:get-type="gst_webrtc_rtp_transceiver_get_type"
+ glib:type-struct="WebRTCRTPTransceiverClass">
+ <source-position filename="gst-libs/gst/webrtc/webrtc_fwd.h" line="60"/>
+ <property name="codec-preferences"
+ version="1.20"
+ writable="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/rtptransceiver.c"
+ line="285">Caps representing the codec preferences.</doc>
+ <type name="Gst.Caps"/>
+ </property>
+ <property name="current-direction"
+ version="1.20"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/rtptransceiver.c"
+ line="253">The transceiver's current directionality, or none if the
+transceiver is stopped or has never participated in an exchange
+of offers and answers. To change the transceiver's
+directionality, set the value of the direction property.</doc>
+ <type name="WebRTCRTPTransceiverDirection"/>
+ </property>
+ <property name="direction"
+ version="1.18"
+ writable="1"
+ transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/rtptransceiver.c"
+ line="216">Direction of the transceiver.</doc>
+ <type name="WebRTCRTPTransceiverDirection"/>
+ </property>
+ <property name="kind" version="1.20" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/rtptransceiver.c"
+ line="271">The kind of media this transceiver transports</doc>
+ <type name="WebRTCKind"/>
+ </property>
+ <property name="mid" version="1.20" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/rtptransceiver.c"
+ line="231">The media ID of the m-line associated with this transceiver. This
+association is established, when possible, whenever either a
+local or remote description is applied. This field is null if
+neither a local or remote description has been applied, or if its
+associated m-line is rejected by either a remote offer or any
+answer.</doc>
+ <type name="utf8" c:type="gchar*"/>
+ </property>
+ <property name="mlineindex"
+ writable="1"
+ construct-only="1"
+ transfer-ownership="none">
+ <type name="guint" c:type="guint"/>
+ </property>
+ <property name="receiver"
+ writable="1"
+ construct-only="1"
+ transfer-ownership="none">
+ <type name="WebRTCRTPReceiver"/>
+ </property>
+ <property name="sender"
+ writable="1"
+ construct-only="1"
+ transfer-ownership="none">
+ <type name="WebRTCRTPSender"/>
+ </property>
+ </class>
+ <record name="WebRTCRTPTransceiverClass"
+ c:type="GstWebRTCRTPTransceiverClass"
+ disguised="1"
+ glib:is-gtype-struct-for="WebRTCRTPTransceiver">
+ <source-position filename="gst-libs/gst/webrtc/webrtc_fwd.h" line="60"/>
+ </record>
+ <enumeration name="WebRTCRTPTransceiverDirection"
+ glib:type-name="GstWebRTCRTPTransceiverDirection"
+ glib:get-type="gst_webrtc_rtp_transceiver_direction_get_type"
+ c:type="GstWebRTCRTPTransceiverDirection">
+ <member name="none"
+ value="0"
+ c:identifier="GST_WEBRTC_RTP_TRANSCEIVER_DIRECTION_NONE"
+ glib:nick="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+ line="203">none</doc>
+ </member>
+ <member name="inactive"
+ value="1"
+ c:identifier="GST_WEBRTC_RTP_TRANSCEIVER_DIRECTION_INACTIVE"
+ glib:nick="inactive">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+ line="204">inactive</doc>
+ </member>
+ <member name="sendonly"
+ value="2"
+ c:identifier="GST_WEBRTC_RTP_TRANSCEIVER_DIRECTION_SENDONLY"
+ glib:nick="sendonly">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+ line="205">sendonly</doc>
+ </member>
+ <member name="recvonly"
+ value="3"
+ c:identifier="GST_WEBRTC_RTP_TRANSCEIVER_DIRECTION_RECVONLY"
+ glib:nick="recvonly">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+ line="206">recvonly</doc>
+ </member>
+ <member name="sendrecv"
+ value="4"
+ c:identifier="GST_WEBRTC_RTP_TRANSCEIVER_DIRECTION_SENDRECV"
+ glib:nick="sendrecv">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+ line="207">sendrecv</doc>
+ </member>
+ </enumeration>
+ <enumeration name="WebRTCSCTPTransportState"
+ version="1.16"
+ glib:type-name="GstWebRTCSCTPTransportState"
+ glib:get-type="gst_webrtc_sctp_transport_state_get_type"
+ c:type="GstWebRTCSCTPTransportState">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+ line="281">See &lt;http://w3c.github.io/webrtc-pc/#dom-rtcsctptransportstate&gt;</doc>
+ <member name="new"
+ value="0"
+ c:identifier="GST_WEBRTC_SCTP_TRANSPORT_STATE_NEW"
+ glib:nick="new">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+ line="283">new</doc>
+ </member>
+ <member name="connecting"
+ value="1"
+ c:identifier="GST_WEBRTC_SCTP_TRANSPORT_STATE_CONNECTING"
+ glib:nick="connecting">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+ line="284">connecting</doc>
+ </member>
+ <member name="connected"
+ value="2"
+ c:identifier="GST_WEBRTC_SCTP_TRANSPORT_STATE_CONNECTED"
+ glib:nick="connected">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+ line="285">connected</doc>
+ </member>
+ <member name="closed"
+ value="3"
+ c:identifier="GST_WEBRTC_SCTP_TRANSPORT_STATE_CLOSED"
+ glib:nick="closed">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+ line="286">closed</doc>
+ </member>
+ </enumeration>
+ <enumeration name="WebRTCSDPType"
+ glib:type-name="GstWebRTCSDPType"
+ glib:get-type="gst_webrtc_sdp_type_get_type"
+ c:type="GstWebRTCSDPType">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+ line="184">See &lt;http://w3c.github.io/webrtc-pc/#rtcsdptype&gt;</doc>
+ <member name="offer"
+ value="1"
+ c:identifier="GST_WEBRTC_SDP_TYPE_OFFER"
+ glib:nick="offer">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+ line="186">offer</doc>
+ </member>
+ <member name="pranswer"
+ value="2"
+ c:identifier="GST_WEBRTC_SDP_TYPE_PRANSWER"
+ glib:nick="pranswer">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+ line="187">pranswer</doc>
+ </member>
+ <member name="answer"
+ value="3"
+ c:identifier="GST_WEBRTC_SDP_TYPE_ANSWER"
+ glib:nick="answer">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+ line="188">answer</doc>
+ </member>
+ <member name="rollback"
+ value="4"
+ c:identifier="GST_WEBRTC_SDP_TYPE_ROLLBACK"
+ glib:nick="rollback">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+ line="189">rollback</doc>
+ </member>
+ <function name="to_string" c:identifier="gst_webrtc_sdp_type_to_string">
+ <source-position filename="gst-libs/gst/webrtc/rtcsessiondescription.h"
+ line="30"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/rtcsessiondescription.c"
+ line="41">the string representation of @type or "unknown" when @type is not
+ recognized.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/rtcsessiondescription.c"
+ line="39">a #GstWebRTCSDPType</doc>
+ <type name="WebRTCSDPType" c:type="GstWebRTCSDPType"/>
+ </parameter>
+ </parameters>
+ </function>
+ </enumeration>
+ <record name="WebRTCSessionDescription"
+ c:type="GstWebRTCSessionDescription"
+ glib:type-name="GstWebRTCSessionDescription"
+ glib:get-type="gst_webrtc_session_description_get_type"
+ c:symbol-prefix="webrtc_session_description">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/rtcsessiondescription.h"
+ line="36">See &lt;https://www.w3.org/TR/webrtc/#rtcsessiondescription-class&gt;</doc>
+ <source-position filename="gst-libs/gst/webrtc/rtcsessiondescription.h"
+ line="47"/>
+ <field name="type" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/rtcsessiondescription.h"
+ line="38">the #GstWebRTCSDPType of the description</doc>
+ <type name="WebRTCSDPType" c:type="GstWebRTCSDPType"/>
+ </field>
+ <field name="sdp" writable="1">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/rtcsessiondescription.h"
+ line="39">the #GstSDPMessage of the description</doc>
+ <type name="GstSdp.SDPMessage" c:type="GstSDPMessage*"/>
+ </field>
+ <constructor name="new"
+ c:identifier="gst_webrtc_session_description_new">
+ <source-position filename="gst-libs/gst/webrtc/rtcsessiondescription.h"
+ line="50"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/rtcsessiondescription.c"
+ line="103">a new #GstWebRTCSessionDescription from @type
+ and @sdp</doc>
+ <type name="WebRTCSessionDescription"
+ c:type="GstWebRTCSessionDescription*"/>
+ </return-value>
+ <parameters>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/rtcsessiondescription.c"
+ line="100">a #GstWebRTCSDPType</doc>
+ <type name="WebRTCSDPType" c:type="GstWebRTCSDPType"/>
+ </parameter>
+ <parameter name="sdp" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/rtcsessiondescription.c"
+ line="101">a #GstSDPMessage</doc>
+ <type name="GstSdp.SDPMessage" c:type="GstSDPMessage*"/>
+ </parameter>
+ </parameters>
+ </constructor>
+ <method name="copy" c:identifier="gst_webrtc_session_description_copy">
+ <source-position filename="gst-libs/gst/webrtc/rtcsessiondescription.h"
+ line="52"/>
+ <return-value transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/rtcsessiondescription.c"
+ line="65">a new copy of @src</doc>
+ <type name="WebRTCSessionDescription"
+ c:type="GstWebRTCSessionDescription*"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="src" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/rtcsessiondescription.c"
+ line="63">a #GstWebRTCSessionDescription</doc>
+ <type name="WebRTCSessionDescription"
+ c:type="const GstWebRTCSessionDescription*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ <method name="free" c:identifier="gst_webrtc_session_description_free">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/rtcsessiondescription.c"
+ line="83">Free @desc and all associated resources</doc>
+ <source-position filename="gst-libs/gst/webrtc/rtcsessiondescription.h"
+ line="54"/>
+ <return-value transfer-ownership="none">
+ <type name="none" c:type="void"/>
+ </return-value>
+ <parameters>
+ <instance-parameter name="desc" transfer-ownership="full">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/rtcsessiondescription.c"
+ line="85">a #GstWebRTCSessionDescription</doc>
+ <type name="WebRTCSessionDescription"
+ c:type="GstWebRTCSessionDescription*"/>
+ </instance-parameter>
+ </parameters>
+ </method>
+ </record>
+ <enumeration name="WebRTCSignalingState"
+ glib:type-name="GstWebRTCSignalingState"
+ glib:get-type="gst_webrtc_signaling_state_get_type"
+ c:type="GstWebRTCSignalingState">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+ line="120">See &lt;http://w3c.github.io/webrtc-pc/#dom-rtcsignalingstate&gt;</doc>
+ <member name="stable"
+ value="0"
+ c:identifier="GST_WEBRTC_SIGNALING_STATE_STABLE"
+ glib:nick="stable">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+ line="122">stable</doc>
+ </member>
+ <member name="closed"
+ value="1"
+ c:identifier="GST_WEBRTC_SIGNALING_STATE_CLOSED"
+ glib:nick="closed">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+ line="123">closed</doc>
+ </member>
+ <member name="have_local_offer"
+ value="2"
+ c:identifier="GST_WEBRTC_SIGNALING_STATE_HAVE_LOCAL_OFFER"
+ glib:nick="have-local-offer">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+ line="124">have-local-offer</doc>
+ </member>
+ <member name="have_remote_offer"
+ value="3"
+ c:identifier="GST_WEBRTC_SIGNALING_STATE_HAVE_REMOTE_OFFER"
+ glib:nick="have-remote-offer">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+ line="125">have-remote-offer</doc>
+ </member>
+ <member name="have_local_pranswer"
+ value="4"
+ c:identifier="GST_WEBRTC_SIGNALING_STATE_HAVE_LOCAL_PRANSWER"
+ glib:nick="have-local-pranswer">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+ line="126">have-local-pranswer</doc>
+ </member>
+ <member name="have_remote_pranswer"
+ value="5"
+ c:identifier="GST_WEBRTC_SIGNALING_STATE_HAVE_REMOTE_PRANSWER"
+ glib:nick="have-remote-pranswer">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+ line="127">have-remote-pranswer</doc>
+ </member>
+ </enumeration>
+ <enumeration name="WebRTCStatsType"
+ glib:type-name="GstWebRTCStatsType"
+ glib:get-type="gst_webrtc_stats_type_get_type"
+ c:type="GstWebRTCStatsType">
+ <member name="codec"
+ value="1"
+ c:identifier="GST_WEBRTC_STATS_CODEC"
+ glib:nick="codec">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+ line="235">codec</doc>
+ </member>
+ <member name="inbound_rtp"
+ value="2"
+ c:identifier="GST_WEBRTC_STATS_INBOUND_RTP"
+ glib:nick="inbound-rtp">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+ line="236">inbound-rtp</doc>
+ </member>
+ <member name="outbound_rtp"
+ value="3"
+ c:identifier="GST_WEBRTC_STATS_OUTBOUND_RTP"
+ glib:nick="outbound-rtp">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+ line="237">outbound-rtp</doc>
+ </member>
+ <member name="remote_inbound_rtp"
+ value="4"
+ c:identifier="GST_WEBRTC_STATS_REMOTE_INBOUND_RTP"
+ glib:nick="remote-inbound-rtp">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+ line="238">remote-inbound-rtp</doc>
+ </member>
+ <member name="remote_outbound_rtp"
+ value="5"
+ c:identifier="GST_WEBRTC_STATS_REMOTE_OUTBOUND_RTP"
+ glib:nick="remote-outbound-rtp">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+ line="239">remote-outbound-rtp</doc>
+ </member>
+ <member name="csrc"
+ value="6"
+ c:identifier="GST_WEBRTC_STATS_CSRC"
+ glib:nick="csrc">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+ line="240">csrc</doc>
+ </member>
+ <member name="peer_connection"
+ value="7"
+ c:identifier="GST_WEBRTC_STATS_PEER_CONNECTION"
+ glib:nick="peer-connection">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+ line="241">peer-connectiion</doc>
+ </member>
+ <member name="data_channel"
+ value="8"
+ c:identifier="GST_WEBRTC_STATS_DATA_CHANNEL"
+ glib:nick="data-channel">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+ line="242">data-channel</doc>
+ </member>
+ <member name="stream"
+ value="9"
+ c:identifier="GST_WEBRTC_STATS_STREAM"
+ glib:nick="stream">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+ line="243">stream</doc>
+ </member>
+ <member name="transport"
+ value="10"
+ c:identifier="GST_WEBRTC_STATS_TRANSPORT"
+ glib:nick="transport">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+ line="244">transport</doc>
+ </member>
+ <member name="candidate_pair"
+ value="11"
+ c:identifier="GST_WEBRTC_STATS_CANDIDATE_PAIR"
+ glib:nick="candidate-pair">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+ line="245">candidate-pair</doc>
+ </member>
+ <member name="local_candidate"
+ value="12"
+ c:identifier="GST_WEBRTC_STATS_LOCAL_CANDIDATE"
+ glib:nick="local-candidate">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+ line="246">local-candidate</doc>
+ </member>
+ <member name="remote_candidate"
+ value="13"
+ c:identifier="GST_WEBRTC_STATS_REMOTE_CANDIDATE"
+ glib:nick="remote-candidate">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+ line="247">remote-candidate</doc>
+ </member>
+ <member name="certificate"
+ value="14"
+ c:identifier="GST_WEBRTC_STATS_CERTIFICATE"
+ glib:nick="certificate">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/webrtc_fwd.h"
+ line="248">certificate</doc>
+ </member>
+ </enumeration>
+ <docsection name="gstwebrtc-datachannel">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/datachannel.c"
+ line="21">&lt;https://www.w3.org/TR/webrtc/#rtcdatachannel&gt;</doc>
+ </docsection>
+ <docsection name="gstwebrtc-dtlstransport">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/dtlstransport.c"
+ line="20">&lt;https://www.w3.org/TR/webrtc/#rtcdtlstransport&gt;</doc>
+ </docsection>
+ <docsection name="gstwebrtc-icetransport">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/icetransport.c"
+ line="20">&lt;https://www.w3.org/TR/webrtc/#rtcicetransport&gt;</doc>
+ </docsection>
+ <docsection name="gstwebrtc-receiver">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/rtpreceiver.c"
+ line="20">&lt;https://www.w3.org/TR/webrtc/#rtcrtpreceiver-interface&gt;</doc>
+ </docsection>
+ <docsection name="gstwebrtc-sender">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/rtpsender.c"
+ line="20">&lt;https://www.w3.org/TR/webrtc/#rtcrtpsender-interface&gt;</doc>
+ </docsection>
+ <docsection name="gstwebrtc-sessiondescription">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/rtcsessiondescription.c"
+ line="20">&lt;https://www.w3.org/TR/webrtc/#rtcsessiondescription-class&gt;</doc>
+ </docsection>
+ <docsection name="gstwebrtc-transceiver">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/rtptransceiver.c"
+ line="20">&lt;https://www.w3.org/TR/webrtc/#rtcrtptransceiver-interface&gt;</doc>
+ </docsection>
+ <function name="webrtc_sdp_type_to_string"
+ c:identifier="gst_webrtc_sdp_type_to_string"
+ moved-to="WebRTCSDPType.to_string">
+ <source-position filename="gst-libs/gst/webrtc/rtcsessiondescription.h"
+ line="30"/>
+ <return-value transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/rtcsessiondescription.c"
+ line="41">the string representation of @type or "unknown" when @type is not
+ recognized.</doc>
+ <type name="utf8" c:type="const gchar*"/>
+ </return-value>
+ <parameters>
+ <parameter name="type" transfer-ownership="none">
+ <doc xml:space="preserve"
+ filename="gst-libs/gst/webrtc/rtcsessiondescription.c"
+ line="39">a #GstWebRTCSDPType</doc>
+ <type name="WebRTCSDPType" c:type="GstWebRTCSDPType"/>
+ </parameter>
+ </parameters>
+ </function>
+ </namespace>
+</repository>
diff --git a/subprojects/gstreamer-sharp/gstreamer-sharp-1.0.pc.in b/subprojects/gstreamer-sharp/gstreamer-sharp-1.0.pc.in
new file mode 100644
index 0000000000..b8176a2369
--- /dev/null
+++ b/subprojects/gstreamer-sharp/gstreamer-sharp-1.0.pc.in
@@ -0,0 +1,11 @@
+prefix=@prefix@
+exec_prefix=${prefix}
+libdir=@libdir@
+gapidir=@gapidir@
+
+Name: @ASSEMBLY_TITLE@
+Description: @ASSEMBLY_DESCRIPTION@
+Version: @VERSION@
+Requires: glib-sharp-3.0 gio-sharp-3.0
+Cflags: -I:${gapidir}/gstreamer-sharp-api.xml
+Libs: -r:${libdir}/mono/@ASSEMBLY_NAME@/@ASSEMBLY_NAME@.dll
diff --git a/subprojects/gstreamer-sharp/gstreamer-sharp.csproj b/subprojects/gstreamer-sharp/gstreamer-sharp.csproj
new file mode 100644
index 0000000000..bf751548aa
--- /dev/null
+++ b/subprojects/gstreamer-sharp/gstreamer-sharp.csproj
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <ProductVersion>8.0.30703</ProductVersion>
+ <SchemaVersion>2.0</SchemaVersion>
+ <ProjectGuid>{64358320-CAC2-4B22-836C-268269DAB031}</ProjectGuid>
+ <OutputType>Library</OutputType>
+ <RootNamespace>gstreamersharp</RootNamespace>
+ <AssemblyName>gstreamer-sharp</AssemblyName>
+ <SignAssembly>true</SignAssembly>
+ <AssemblyOriginatorKeyFile>gstreamer-sharp.snk</AssemblyOriginatorKeyFile>
+ <TargetFrameworkVersion>v2.0</TargetFrameworkVersion>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ <DebugSymbols>true</DebugSymbols>
+ <DebugType>full</DebugType>
+ <Optimize>false</Optimize>
+ <OutputPath>out</OutputPath>
+ <DefineConstants>DEBUG;</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ <ConsolePause>false</ConsolePause>
+ <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
+ <NoWarn>2002</NoWarn>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <Optimize>true</Optimize>
+ <OutputPath>out</OutputPath>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ <ConsolePause>false</ConsolePause>
+ <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
+ <NoWarn>2002</NoWarn>
+ </PropertyGroup>
+ <ItemGroup>
+ <Reference Include="System" />
+ <Reference Include="glib-sharp, Version=3.0.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" />
+ <Reference Include="gio-sharp, Version=3.0.0.0, Culture=neutral, PublicKeyToken=35e10195dab3c99f" />
+ </ItemGroup>
+ <ItemGroup>
+ <Compile Include="sources\custom\*.cs" />
+ <Compile Include="sources\generated\**\*.cs" />
+ <Compile Include="sources\AssemblyInfo.cs" />
+ </ItemGroup>
+ <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
+</Project>
diff --git a/subprojects/gstreamer-sharp/gstreamer-sharp.sln b/subprojects/gstreamer-sharp/gstreamer-sharp.sln
new file mode 100644
index 0000000000..15d78f301b
--- /dev/null
+++ b/subprojects/gstreamer-sharp/gstreamer-sharp.sln
@@ -0,0 +1,20 @@
+
+Microsoft Visual Studio Solution File, Format Version 11.00
+# Visual Studio 2010
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "gstreamer-sharp", "gstreamer-sharp.csproj", "{64358320-CAC2-4B22-836C-268269DAB031}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {64358320-CAC2-4B22-836C-268269DAB031}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {64358320-CAC2-4B22-836C-268269DAB031}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {64358320-CAC2-4B22-836C-268269DAB031}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {64358320-CAC2-4B22-836C-268269DAB031}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(MonoDevelopProperties) = preSolution
+ StartupItem = gstreamer-sharp.csproj
+ EndGlobalSection
+EndGlobal
diff --git a/subprojects/gstreamer-sharp/gstreamer-sharp.snk b/subprojects/gstreamer-sharp/gstreamer-sharp.snk
new file mode 100644
index 0000000000..f1f07772ba
--- /dev/null
+++ b/subprojects/gstreamer-sharp/gstreamer-sharp.snk
Binary files differ
diff --git a/subprojects/gstreamer-sharp/meson.build b/subprojects/gstreamer-sharp/meson.build
new file mode 100644
index 0000000000..fb91e96ed0
--- /dev/null
+++ b/subprojects/gstreamer-sharp/meson.build
@@ -0,0 +1,185 @@
+project('gstreamer-sharp', ['cs', 'c'], version: '1.19.2',
+ meson_version : '>= 0.54', license: 'LGPL')
+
+if host_machine.system() == 'osx'
+ lib_prefix=''
+ lib_suffix='.dylib'
+else
+ lib_prefix='.so'
+ lib_suffix=''
+endif
+
+gtk_sharp_required_version = '>=3.22.6'
+
+csc = meson.get_compiler('cs')
+if csc.get_id() == 'mono'
+ add_project_arguments('-keyfile:' + join_paths(meson.current_source_dir(), meson.project_name() + '.snk'),
+ language: ['cs'])
+endif
+
+
+subproject('gtk-sharp', default_options: ['install=false'])
+gtk_sharp = subproject('gtk-sharp')
+
+glib_sharp_dep = gtk_sharp.get_variable('glib_sharp_dep')
+glib_sharp = gtk_sharp.get_variable('glib_sharp')
+
+gio_sharp_dep = gtk_sharp.get_variable('gio_sharp_dep')
+gio_sharp = gtk_sharp.get_variable('gio_sharp')
+
+gapi_fixup = gtk_sharp.get_variable('gapi_fixup')
+gapi_codegen = gtk_sharp.get_variable('gapi_codegen')
+
+glib_api_includes = gtk_sharp.get_variable('glib_api_includes')
+gio_api_includes = gtk_sharp.get_variable('gio_api_includes')
+has_gtk = gtk_sharp.get_variable('has_gtk')
+if has_gtk
+ gtk_sharp_dep = [gtk_sharp.get_variable('gtk_sharp_dep'),
+ gtk_sharp.get_variable('atk_sharp_dep')]
+else
+ gtk_sharp_dep = dependency('gtk-sharp-3.0', version: gtk_sharp_required_version,
+ required: false)
+endif
+
+mono_path = [gtk_sharp.get_variable('mono_path'), join_paths(meson.current_build_dir(), 'sources')]
+
+codegen_dependencies = [gapi_codegen, gapi_fixup, glib_sharp, gio_sharp]
+gapi_fixup = gapi_fixup.full_path()
+gapi_codegen = gapi_codegen.full_path()
+
+gacutil = find_program('gacutil')
+generate_api = find_program('generate_code.py')
+nuget = find_program('nuget.py')
+diff = find_program('Tests/test_abi.py')
+
+# TODO Handle monodoc
+
+apiversion = '1.0'
+gst_required_version = '>=@0@'.format(meson.project_version())
+gst_deps = []
+
+# dependency name, [subproject-name, internal-dep-name, library-name']
+gst_deps_defs = [
+ ['gstreamer', ['gstreamer', 'gst_dep'], 'libgst'],
+ ['gstreamer-app', ['gst-plugins-base', 'app_dep'], 'gstapp'],
+ ['gstreamer-audio', ['gst-plugins-base', 'audio_dep'], 'gstaudio'],
+ ['gstreamer-base', ['gstreamer', 'gst_base_dep'], 'gst_base'],
+ ['gstreamer-controller', ['gstreamer', 'gst_controller_dep'], 'gst_controller'],
+ ['gstreamer-fft', ['gst-plugins-base', 'fft_dep'], 'gstfft'],
+ ['gstreamer-net', ['gstreamer', 'gst_net_dep'], 'gst_net'],
+ ['gstreamer-pbutils', ['gst-plugins-base', 'pbutils_dep'], 'pbutils'],
+ ['gstreamer-riff', ['gst-plugins-base', 'riff_dep'], 'gstriff'],
+ ['gstreamer-rtp', ['gst-plugins-base', 'rtp_dep'], 'gst_rtp'],
+ ['gstreamer-rtsp', ['gst-plugins-base', 'rtsp_dep'], 'gst_rtsp'],
+ ['gstreamer-sdp', ['gst-plugins-base', 'sdp_dep'], 'gstsdp'],
+ ['gstreamer-tag', ['gst-plugins-base', 'tag_dep'], 'gsttag'],
+ ['gstreamer-video', ['gst-plugins-base', 'video_dep'], 'gstvideo'],
+ ['gstreamer-webrtc', ['gst-plugins-bad', 'gstwebrtc_dep'], 'gstwebrtc'],
+]
+
+foreach dep: gst_deps_defs
+ gst_deps += [dependency(dep.get(0) + '-' + apiversion, version: gst_required_version,
+ fallback: dep.get(1))]
+endforeach
+
+ges_dep = dependency('gst-editing-services-' + apiversion, version: gst_required_version,
+ fallback: ['gst-editing-services', 'ges_dep'], required: false)
+
+if ges_dep.found()
+ gst_deps_defs += [
+ ['gst-editing-services', ['gst-editing-services', 'ges_dep'], 'libges'],
+ ]
+ mono_path += [join_paths(meson.current_build_dir(), 'ges')]
+endif
+
+testsenv = environment()
+testsenv.prepend('MONO_PATH', mono_path)
+i = 0
+testsenv_ld_library_path = []
+foreach dep: gst_deps + [ges_dep]
+ if dep.type_name() == 'pkgconfig'
+ testsenv_ld_library_path += [dep.get_pkgconfig_variable('libdir')]
+ else
+ depdef = gst_deps_defs[i][1]
+ libname = gst_deps_defs[i].get(2, '')
+ if libname != ''
+ proj = subproject(depdef[0])
+ libpath = proj.get_variable(libname).full_path().split('/')
+ dirname = ''
+ j = 1
+ foreach comp: libpath
+ if j < libpath.length()
+ dirname += '/' + comp
+ endif
+ j += 1
+ endforeach
+ testsenv_ld_library_path += [dirname]
+ endif
+ endif
+ i += 1
+endforeach
+# FIXME: port this to macOS and Windows
+testsenv.prepend('LD_LIBRARY_PATH', testsenv_ld_library_path)
+
+subdir('sources')
+if ges_dep.found()
+ subdir('ges')
+ custom_target('GESSharp-nuget',
+ command: [nuget, '--package-name', 'GESSharp',
+ '--assembly', ges_sharp.full_path(),
+ '--dependency=GstSharp:' + meson.project_version(),
+ '--project-url', 'https://gstreamer.freedesktop.org/modules/gstreamer-sharp.html',
+ '--icon-url', 'https://gstreamer.freedesktop.org/images/header-logo-top.png',
+ '--license-url', 'https://cgit.freedesktop.org/gstreamer/gstreamer-sharp/plain/COPYING',
+ '--version', meson.project_version(),
+ '--tags', 'GStreamer GES GstSharp bindings',
+ '--builddir', meson.current_build_dir(),
+ '--dependency', 'GstSharp:' + meson.project_version(),
+ ],
+ output: 'GESSharp.' + meson.project_version() + '.nupkg'
+ )
+endif
+
+custom_target('GstSharp-nuget',
+ command: [nuget, '--package-name', 'GstSharp',
+ '--assembly', gst_sharp.full_path(),
+ '--assembly', gio_sharp.full_path(),
+ '--assembly', glib_sharp.full_path(),
+ '--project-url', 'https://gstreamer.freedesktop.org/modules/gstreamer-sharp.html',
+ '--icon-url', 'https://gstreamer.freedesktop.org/images/header-logo-top.png',
+ '--license-url', 'https://cgit.freedesktop.org/gstreamer/gstreamer-sharp/plain/COPYING',
+ '--version', meson.project_version(),
+ '--tags', 'GStreamer GstSharp bindings',
+ '--builddir', meson.current_build_dir(),
+ ],
+ output: 'GstSharp.' + meson.project_version() + '.nupkg',
+)
+
+subdir('samples')
+subdir('Tests')
+
+bindinator = subproject('bindinator', default_options: ['gapi_fixup=@0@'.format(gapi_fixup)])
+if bindinator.get_variable('found')
+ bindinate = bindinator.get_variable('bindinate')
+ run_target('bindinate_gstreamer',
+ command: [bindinate,
+ '--name=gstreamer', '--regenerate=true',
+ '--merge-with=GstApp-1.0,GstAudio-1.0,GstBase-1.0,GstController-1.0,GstNet-1.0,GstPbutils-1.0,GstRtp-1.0,GstRtsp-1.0,GstSdp-1.0,GstTag-1.0,GstVideo-1.0,GstWebRTC-1.0',
+ '--gir=Gst-1.0',
+ '--copy-girs=@0@'.format(join_paths(meson.current_source_dir(), 'girs'))],
+ depends: []
+ )
+ run_target('bindinate_ges',
+ command: ['sh', '-c',
+ '''@0@ --name=gst-editing-services --regenerate=true --gir=GES-1.0 && mv @1@/sources/gst-editing-services-sharp-api.raw @1@/ges/gst-editing-services-api.raw '''.format(
+ bindinate.path(),
+ meson.current_source_dir()),
+ ],
+ depends: []
+ )
+ python3 = import('python3').find_python()
+ run_target('update-code', command: [find_program('update_sources.py')])
+ run_target('update-all', command: [find_program('update_sources.py'), 'bindinate'])
+else
+ warning('Bindinator not usable as some required dependencies are not avalaible.')
+endif
diff --git a/subprojects/gstreamer-sharp/meson_options.txt b/subprojects/gstreamer-sharp/meson_options.txt
new file mode 100644
index 0000000000..b27c329ec8
--- /dev/null
+++ b/subprojects/gstreamer-sharp/meson_options.txt
@@ -0,0 +1 @@
+option('tests', type : 'feature', value : 'auto', yield : true) \ No newline at end of file
diff --git a/subprojects/gstreamer-sharp/nuget.py b/subprojects/gstreamer-sharp/nuget.py
new file mode 100644
index 0000000000..177899e278
--- /dev/null
+++ b/subprojects/gstreamer-sharp/nuget.py
@@ -0,0 +1,195 @@
+#!/usr/bin/python3
+import argparse
+import getpass
+import os
+import sys
+import shutil
+import subprocess
+from datetime import datetime
+from urllib.request import urlretrieve
+from zipfile import ZipFile
+
+NUSPEC_TEMPLATE = """<?xml version="1.0" encoding="utf-8"?>
+<package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
+ <metadata>
+ <id>{package_name}</id>
+ <authors>{author}</authors>
+ <owners>{owner}</owners>
+ <licenseUrl>{license_url}</licenseUrl>
+ <projectUrl>{project_url}</projectUrl>
+ <iconUrl>{icon_url}</iconUrl>
+ <requireLicenseAcceptance>false</requireLicenseAcceptance>
+ <description>{description}.</description>
+ <copyright>{copyright}</copyright>
+ <tags>{tags}</tags>
+ <version>{version}</version>
+ <dependencies>
+{dependencies} </dependencies>
+ </metadata>
+ <files>
+{files} </files>
+</package>
+"""
+
+TARGETS_TEMPLATE = r"""<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Target Name="{package_name}CopyMapConfigs" AfterTargets="AfterBuild">
+ <CreateItem Include="$(MSBuildThisFileDirectory)\{frameworkdir}\*.config">
+ <Output TaskParameter="Include" ItemName="MapConfigs" />
+ </CreateItem>
+
+ <Copy SourceFiles="@(MapConfigs)" DestinationFiles="@(MapConfigs->'$(OutDir)\%(RecursiveDir)%(Filename)%(Extension)')" />
+ </Target>
+</Project>"""
+
+
+class Nugetifier:
+ def cleanup_args(self):
+ self.nugetdir = os.path.join(self.builddir,
+ self.package_name + 'nupkg')
+ self.frameworkdir = 'net45'
+ self.nuget_build_dir = os.path.join(
+ self.nugetdir, 'build', self.frameworkdir)
+ self.nuget_lib_dir = os.path.join(
+ self.nugetdir, 'lib', self.frameworkdir)
+ self.nuspecfile = os.path.join(
+ self.nugetdir, '%s.nuspec' % self.package_name)
+ self.nugettargets = os.path.join(
+ self.nuget_build_dir, "%s.targets" % self.package_name)
+ self.nuget = shutil.which('nuget')
+ if not self.nuget:
+ print("Could not find the `nuget` tool, install it and retry!")
+ return -1
+
+ for d in [self.nugetdir, self.nuget_lib_dir, self.nuget_build_dir]:
+ os.makedirs(d, exist_ok=True)
+ if not self.description:
+ self.description = "%s c# bindings" % self.package_name
+ if not self.copyright:
+ self.copyright = "Copyright %s" % datetime.now().year
+ if not self.tags:
+ self.tags = self.package_name
+
+ return 0
+
+ def run(self):
+ res = self.cleanup_args()
+ if res:
+ return res
+
+ self.files = ''
+
+ def add_file(path, target="lib"):
+ f = ' <file src="%s" target="%s"/>\n' % (
+ path, os.path.join(target, os.path.basename(path)))
+ self.files += f
+
+ self.dependencies = ''
+ for dependency in self.dependency:
+ _id, version = dependency.split(":")
+ self.dependencies += ' <dependency id="%s" version="%s" />\n' % (
+ _id, version)
+
+ for assembly in self.assembly:
+ add_file(assembly, os.path.join('lib', self.frameworkdir))
+
+ for f in [assembly + '.config', assembly[:-3] + 'pdb']:
+ if os.path.exists(f):
+ add_file(f, os.path.join('build', self.frameworkdir))
+
+ with open(self.nugettargets, 'w') as _:
+ print(TARGETS_TEMPLATE.format(**self.__dict__), file=_)
+ add_file(self.nugettargets, 'build')
+
+ with open(self.nuspecfile, 'w') as _:
+ print(NUSPEC_TEMPLATE.format(**self.__dict__), file=_)
+
+ subprocess.check_call([self.nuget, 'pack', self.nuspecfile],
+ cwd=self.builddir)
+
+
+class NugetDownloader:
+ def reporthook(self, blocknum, blocksize, totalsize):
+ readsofar = blocknum * blocksize
+ if totalsize > 0:
+ percent = readsofar * 1e2 / totalsize
+ s = "\r%5.1f%% %*d / %d" % (
+ percent, len(str(totalsize)), readsofar, totalsize)
+ sys.stderr.write(s)
+ if readsofar >= totalsize: # near the end
+ sys.stderr.write("\n")
+ else: # total size is unknown
+ sys.stderr.write("read %d\n" % (readsofar,))
+
+ def run(self):
+ url = "https://www.nuget.org/api/v2/package/{nuget_name}/{nuget_version}".format(
+ **self.__dict__)
+ workdir = os.path.join(self.current_builddir,
+ self.nuget_name, self.nuget_version)
+ os.makedirs(workdir, exist_ok=True)
+
+ try:
+ with open(os.path.join(workdir, 'linkline'), 'r') as f:
+ print(f.read())
+ return
+ except FileNotFoundError:
+ pass
+ nugetpath = os.path.join(workdir, self.nuget_name) + '.zip'
+ print("Downloading %s into %s" % (url, nugetpath), file=sys.stderr)
+ urlretrieve(url, nugetpath, self.reporthook)
+
+ lib_path = os.path.join('lib', self.csharp_version)
+ dll_path = os.path.join(self.nuget_name, self.nuget_version)
+ extract_dir = os.path.join(self.current_builddir, dll_path)
+ os.makedirs(extract_dir, exist_ok=True)
+ linkline = ''
+
+ print("%s - %s" % (self.builddir, extract_dir), file=sys.stderr)
+ with ZipFile(nugetpath) as zip:
+ for f in zip.infolist():
+ if f.filename.startswith(lib_path):
+ zip.extract(f, path=extract_dir)
+ if f.filename.endswith('.dll'):
+ linkline += ' -r:' + \
+ os.path.relpath(os.path.join(
+ extract_dir, f.filename), self.builddir)
+
+ with open(os.path.join(workdir, 'linkline'), 'w') as f:
+ print(linkline.strip(), file=f)
+
+ print(linkline.strip())
+
+
+if __name__ == "__main__":
+ if "get" not in sys.argv:
+ parser = argparse.ArgumentParser()
+ parser.add_argument('--builddir')
+ parser.add_argument('--package-name')
+ parser.add_argument('--author', default=getpass.getuser())
+ parser.add_argument('--owner', default=getpass.getuser())
+ parser.add_argument('--native', action='append', default=[])
+ parser.add_argument('--assembly', action='append', default=[])
+ parser.add_argument('--out')
+ parser.add_argument('--description')
+ parser.add_argument('--copyright')
+ parser.add_argument('--version')
+ parser.add_argument('--icon-url', default='')
+ parser.add_argument('--project-url', default='')
+ parser.add_argument('--license-url', default='')
+ parser.add_argument('--tags', default='')
+ parser.add_argument('--dependency', default=[], action='append')
+
+ runner = Nugetifier()
+ else:
+ sys.argv.remove('get')
+ parser = argparse.ArgumentParser()
+ parser.add_argument('--builddir')
+ parser.add_argument('--current-builddir')
+ parser.add_argument('--nuget-name')
+ parser.add_argument('--nuget-version')
+ parser.add_argument('--csharp-version')
+
+ runner = NugetDownloader()
+
+ options = parser.parse_args(namespace=runner)
+ exit(runner.run())
diff --git a/subprojects/gstreamer-sharp/samples/BasicTutorial1.cs b/subprojects/gstreamer-sharp/samples/BasicTutorial1.cs
new file mode 100644
index 0000000000..1747d5abba
--- /dev/null
+++ b/subprojects/gstreamer-sharp/samples/BasicTutorial1.cs
@@ -0,0 +1,30 @@
+// Authors
+// Copyright (C) 2014 Stephan Sundermann <stephansundermann@gmail.com>
+
+using System;
+using Gst;
+
+namespace GstreamerSharp
+{
+ class Playback
+ {
+ public static void Main (string[] args)
+ {
+ // Initialize Gstreamer
+ Application.Init(ref args);
+
+ // Build the pipeline
+ var pipeline = Parse.Launch("playbin uri=http://download.blender.org/durian/trailer/sintel_trailer-1080p.mp4");
+
+ // Start playing
+ pipeline.SetState(State.Playing);
+
+ // Wait until error or EOS
+ var bus = pipeline.Bus;
+ var msg = bus.TimedPopFiltered (Constants.CLOCK_TIME_NONE, MessageType.Eos | MessageType.Error);
+
+ // Free resources
+ pipeline.SetState (State.Null);
+ }
+ }
+}
diff --git a/subprojects/gstreamer-sharp/samples/BasicTutorial12.cs b/subprojects/gstreamer-sharp/samples/BasicTutorial12.cs
new file mode 100644
index 0000000000..5eb572a2fd
--- /dev/null
+++ b/subprojects/gstreamer-sharp/samples/BasicTutorial12.cs
@@ -0,0 +1,91 @@
+// Authors
+// Copyright (C) 2014 Stephan Sundermann <stephansundermann@gmail.com>
+
+using System;
+using Gst;
+using System.Runtime.InteropServices;
+
+namespace GstreamerSharp
+{
+ class Playback
+ {
+ static bool IsLive;
+ static Element Pipeline;
+ static GLib.MainLoop MainLoop;
+
+ public static void Main (string[] args)
+ {
+ // Initialize GStreamer
+ Application.Init (ref args);
+
+ // Build the pipeline
+ Pipeline = Parse.Launch ("playbin uri=http://download.blender.org/durian/trailer/sintel_trailer-1080p.mp4");
+ var bus = Pipeline.Bus;
+
+ // Start playing
+ var ret = Pipeline.SetState (State.Playing);
+ if (ret == StateChangeReturn.Failure) {
+ Console.WriteLine ("Unable to set the pipeline to the playing state.");
+ return;
+ } else if (ret == StateChangeReturn.NoPreroll) {
+ IsLive = true;
+ }
+
+ MainLoop = new GLib.MainLoop ();
+
+ bus.AddSignalWatch ();
+ bus.Message += HandleMessage;
+
+ MainLoop.Run ();
+
+ // Free resources
+ Pipeline.SetState (State.Null);
+ }
+
+ static void HandleMessage (object o, MessageArgs args)
+ {
+ var msg = args.Message;
+ switch (msg.Type) {
+ case MessageType.Error: {
+ GLib.GException err;
+ string debug;
+
+ msg.ParseError (out err, out debug);
+ Console.WriteLine ("Error: {0}", err.Message);
+
+ Pipeline.SetState (State.Ready);
+ MainLoop.Quit ();
+ break;
+ }
+ case MessageType.Eos:
+ // end-of-stream
+ Pipeline.SetState (State.Ready);
+ MainLoop.Quit ();
+ break;
+ case MessageType.Buffering: {
+ int percent = 0;
+
+ // If the stream is live, we do not care about buffering.
+ if (IsLive) break;
+
+ percent = msg.ParseBuffering ();
+ Console.WriteLine ("Buffering ({0})", percent);
+ // Wait until buffering is complete before start/resume playing
+ if (percent < 100)
+ Pipeline.SetState (State.Paused);
+ else
+ Pipeline.SetState (State.Playing);
+ break;
+ }
+ case MessageType.ClockLost:
+ // Get a new clock
+ Pipeline.SetState (State.Paused);
+ Pipeline.SetState (State.Playing);
+ break;
+ default:
+ // Unhandled message
+ break;
+ }
+ }
+ }
+} \ No newline at end of file
diff --git a/subprojects/gstreamer-sharp/samples/BasicTutorial13.cs b/subprojects/gstreamer-sharp/samples/BasicTutorial13.cs
new file mode 100644
index 0000000000..1fcda15686
--- /dev/null
+++ b/subprojects/gstreamer-sharp/samples/BasicTutorial13.cs
@@ -0,0 +1,121 @@
+// Authors
+// Copyright (C) 2014 Stephan Sundermann <stephansundermann@gmail.com>
+
+using System;
+using Gst;
+using System.Runtime.InteropServices;
+
+namespace GstreamerSharp
+{
+ class Playback
+ {
+ static bool Playing; // Playing or Paused
+ static double Rate; //Current playback rate (can be negative)
+ static Element Pipeline, VideoSink;
+
+ // Send seek event to change rate
+ static void SendSeekEvent () {
+ var format = Format.Time;
+ long position;
+
+ // Obtain the current position, needed for the seek event
+ if (!Pipeline.QueryPosition (format, out position)) {
+ Console.WriteLine ("Unable to retrieve current position.");
+ return;
+ }
+
+ Event seekEvent;
+ // Create the seek event
+ if (Rate > 0) {
+ seekEvent = Event.NewSeek (Rate, Format.Time, SeekFlags.Flush | SeekFlags.Accurate, SeekType.Set, position, SeekType.None, 0);
+ } else {
+ seekEvent = Event.NewSeek (Rate, Format.Time, SeekFlags.Flush | SeekFlags.Accurate, SeekType.Set, 0, SeekType.Set, position);
+ }
+
+ if (VideoSink == null) {
+ // If we have not done so, obtain the sink through which we will send the seek events
+ VideoSink = (Element)Pipeline ["video-sink"];
+ }
+
+ // Send the event
+ VideoSink.SendEvent (seekEvent);
+
+ Console.WriteLine ("Current rate: {0}", Rate);
+ }
+
+ // Process keyboard input
+ static void HandleKeyboard () {
+ ConsoleKeyInfo x;
+ bool terminate = false;
+ while (!terminate) {
+ x = Console.ReadKey ();
+ switch (x.Key) {
+ case ConsoleKey.P :
+ Playing = !Playing;
+ Pipeline.SetState (Playing ? State.Playing : State.Paused);
+ Console.WriteLine ("Setting state to {0}", Playing ? "PLAYING" : "PAUSE");
+ break;
+ case ConsoleKey.S:
+ if (x.Modifiers == ConsoleModifiers.Shift)
+ Rate *= 2.0;
+ else
+ Rate /= 2.0;
+ SendSeekEvent ();
+ break;
+ case ConsoleKey.D:
+ Rate *= -1.0;
+ SendSeekEvent ();
+ break;
+ case ConsoleKey.N:
+ if (VideoSink == null) {
+ // If we have not done so, obtain the sink through which we will send the step events
+ VideoSink = (Element)Pipeline ["video-sink"];
+ }
+ var evnt = Event.NewStep (Format.Buffers, 1, Rate, true, false);
+ VideoSink.SendEvent (evnt);
+
+ Console.WriteLine ("Stepping one frame");
+ break;
+ case ConsoleKey.Q:
+ terminate = true;
+ break;
+ default:
+ break;
+ }
+ }
+ }
+
+ public static void Main (string[] args)
+ {
+ // Initialize GStreamer
+ Application.Init (ref args);
+
+ // Print usage map
+ Console.WriteLine ("USAGE: Choose one of the following options, then press enter:");
+ Console.WriteLine (" 'P' to toggle between PAUSE and PLAY");
+ Console.WriteLine (" 'S' to increase playback speed, 's' to decrease playback speed");
+ Console.WriteLine (" 'D' to toggle playback direction");
+ Console.WriteLine (" 'N' to move to next frame (in the current direction, better in PAUSE)");
+ Console.WriteLine (" 'Q' to quit");
+
+ // Build the pipeline
+ //Pipeline = Parse.Launch ("playbin uri=http://download.blender.org/durian/trailer/sintel_trailer-1080p.mp4");
+ Pipeline = Parse.Launch ("playbin uri=file:///home/stephan/Downloads/sintel_trailer-1080p.mp4");
+
+ // Start playing
+ var ret = Pipeline.SetState (State.Playing);
+ if (ret == StateChangeReturn.Failure) {
+ Console.WriteLine ("Unable to set the pipeline to the playing state.");
+ return;
+ }
+ Playing = true;
+ Rate = 1.0;
+
+ // Process input
+ HandleKeyboard ();
+
+ // Free resources
+ Pipeline.SetState (State.Null);
+ }
+ }
+} \ No newline at end of file
diff --git a/subprojects/gstreamer-sharp/samples/BasicTutorial2.cs b/subprojects/gstreamer-sharp/samples/BasicTutorial2.cs
new file mode 100644
index 0000000000..b6b29c3080
--- /dev/null
+++ b/subprojects/gstreamer-sharp/samples/BasicTutorial2.cs
@@ -0,0 +1,72 @@
+// Authors
+// Copyright (C) 2014 Stephan Sundermann <stephansundermann@gmail.com>
+
+using System;
+using Gst;
+
+namespace GstreamerSharp
+{
+ class Playback
+ {
+ public static void Main (string[] args)
+ {
+ // Initialize Gstreamer
+ Application.Init(ref args);
+
+ // Build the pipeline
+ var source = ElementFactory.Make ("videotestsrc", "source");
+ var sink = ElementFactory.Make ("autovideosink", "sink");
+
+ // Create the empty pipeline
+ var pipeline = new Pipeline ("test-pipeline");
+
+ if (pipeline == null || source == null || sink == null) {
+ Console.WriteLine ("Not all elements could be created");
+ return;
+ }
+
+ // Build the pipeline
+ pipeline.Add (source, sink);
+ if (!source.Link (sink)) {
+ Console.WriteLine ("Elements could not be linked");
+ return;
+ }
+
+ // Modify the source's properties
+ source ["pattern"] = 0;
+
+ // Start playing
+ var ret = pipeline.SetState(State.Playing);
+ if (ret == StateChangeReturn.Failure) {
+ Console.WriteLine ("Unable to set the pipeline to the playing state");
+ return;
+ }
+
+ // Wait until error or EOS
+ var bus = pipeline.Bus;
+ var msg = bus.TimedPopFiltered (Constants.CLOCK_TIME_NONE, MessageType.Eos | MessageType.Error);
+
+ // Free resources
+ if (msg != null) {
+ switch (msg.Type) {
+ case MessageType.Error:
+ GLib.GException exc;
+ string debug;
+ msg.ParseError (out exc, out debug);
+ Console.WriteLine (String.Format ("Error received from element {0}: {1}", msg.Src.Name, exc.Message));
+ Console.WriteLine (String.Format ("Debugging information {0}", debug));
+ break;
+ case MessageType.Eos:
+ Console.WriteLine ("End-Of-Stream reached");
+ break;
+ default:
+ // We should not reach here because we only asked for ERRORs and EOS
+ Console.WriteLine ("Unexpected messag received");
+ break;
+ }
+ }
+
+ pipeline.SetState (State.Null);
+ }
+ }
+} \ No newline at end of file
diff --git a/subprojects/gstreamer-sharp/samples/BasicTutorial3.cs b/subprojects/gstreamer-sharp/samples/BasicTutorial3.cs
new file mode 100644
index 0000000000..c43e4fbf78
--- /dev/null
+++ b/subprojects/gstreamer-sharp/samples/BasicTutorial3.cs
@@ -0,0 +1,125 @@
+// Authors
+// Copyright (C) 2014 Stephan Sundermann <stephansundermann@gmail.com>
+
+using System;
+using Gst;
+
+namespace GstreamerSharp
+{
+ class Playback
+ {
+ static Pipeline pipeline;
+ static Element source;
+ static Element convert;
+ static Element sink;
+
+ public static void Main (string[] args)
+ {
+ // Initialize Gstreamer
+ Application.Init(ref args);
+
+ // Create the elements
+ source = ElementFactory.Make ("uridecodebin", "source");
+ convert = ElementFactory.Make ("audioconvert", "convert");
+ sink = ElementFactory.Make ("autoaudiosink", "sink");
+
+ // Create the empty pipeline
+ pipeline = new Pipeline ("test-pipeline");
+
+ if (source == null || convert == null || sink == null || pipeline == null) {
+ Console.WriteLine ("Not all elements could be created");
+ return;
+ }
+
+ // Build the pipeline. Note that we are NOT linking the source at this point.
+ // We will do it later.
+ pipeline.Add (source, convert, sink);
+ if (!convert.Link (sink)) {
+ Console.WriteLine ("Elements could not be linked");
+ return;
+ }
+
+ // Set the URI to play
+ source ["uri"] = "http://download.blender.org/durian/trailer/sintel_trailer-1080p.mp4";
+
+ // Connect to the pad-added signal
+ source.PadAdded += HandlePadAdded;
+
+ // Start playing
+ var ret = pipeline.SetState (State.Playing);
+ if (ret == StateChangeReturn.Failure) {
+ Console.WriteLine ("Unable to set the pipeline to the playing state.");
+ return;
+ }
+
+ // Listen to the bus
+ var bus = pipeline.Bus;
+ bool terminated = false;
+ do {
+ var msg = bus.TimedPopFiltered (Constants.CLOCK_TIME_NONE, MessageType.StateChanged | MessageType.Error | MessageType.Eos);
+
+ if (msg != null) {
+ switch (msg.Type) {
+ case MessageType.Error:
+ string debug;
+ GLib.GException exc;
+ msg.ParseError (out exc, out debug);
+ Console.WriteLine (string.Format ("Error received from element {0}: {1}", msg.Src.Name, exc.Message));
+ Console.WriteLine ("Debugging information: {0}", debug);
+ terminated = true;
+ break;
+ case MessageType.Eos:
+ Console.WriteLine("End-Of-Stream reached.");
+ terminated = true;
+ break;
+ case MessageType.StateChanged:
+ // We are only interested in state-changed messages from the pipeline
+ if (msg.Src == pipeline) {
+ State oldState, newState, pendingState;
+ msg.ParseStateChanged(out oldState, out newState, out pendingState);
+ Console.WriteLine ("Pipeline state changed from {0} to {1}:", Element.StateGetName(oldState), Element.StateGetName(newState));
+ }
+ break;
+ default:
+ // We should not reach here
+ Console.WriteLine ("Unexpected message received.");
+ break;
+ }
+ }
+ } while (!terminated);
+
+ pipeline.SetState (State.Null);
+ }
+
+ static void HandlePadAdded (object o, PadAddedArgs args)
+ {
+ var src = (Element)o;
+ var newPad = args.NewPad;
+ var sinkPad = convert.GetStaticPad ("sink");
+
+ Console.WriteLine (string.Format ("Received new pad '{0}' from '{1}':", newPad.Name, src.Name));
+
+ // If our converter is already linked, we have nothing to do here
+ if (sinkPad.IsLinked) {
+ Console.WriteLine ("We are already linked. Ignoring.");
+ return;
+ }
+
+ // Check the new pad's type
+ var newPadCaps = newPad.Caps;
+ var newPadStruct = newPadCaps.GetStructure (0);
+ var newPadType = newPadStruct.Name;
+ if (!newPadType.StartsWith ("audio/x-raw")) {
+ Console.WriteLine ("It has type '{0}' which is not raw audio. Ignoring.", newPadType);
+ return;
+ }
+
+ // Attempt the link
+ var ret = newPad.Link (sinkPad);
+ if (ret != PadLinkReturn.Ok)
+ Console.WriteLine ("Type is '{0} but link failed.", newPadType);
+ else
+ Console.WriteLine ("Link succeeded (type '{0}').", newPadType);
+ }
+ }
+} \ No newline at end of file
diff --git a/subprojects/gstreamer-sharp/samples/BasicTutorial4.cs b/subprojects/gstreamer-sharp/samples/BasicTutorial4.cs
new file mode 100644
index 0000000000..814cced177
--- /dev/null
+++ b/subprojects/gstreamer-sharp/samples/BasicTutorial4.cs
@@ -0,0 +1,136 @@
+// Authors
+// Copyright (C) 2014 Stephan Sundermann <stephansundermann@gmail.com>
+
+using System;
+using Gst;
+
+namespace GstreamerSharp
+{
+ class Playback
+ {
+ static Element playbin;
+ static bool playing;
+ static bool terminate;
+ static bool seekEnabled;
+ static bool seekDone;
+ static long duration;
+
+ public static void Main (string[] args)
+ {
+ // Initialize Gstreamer
+ Application.Init(ref args);
+
+ // Create the elements
+ playbin = ElementFactory.Make ("playbin", "playbin");
+
+ if (playbin == null) {
+ Console.WriteLine ("Not all elements could be created");
+ return;
+ }
+
+ // Set the URI to play.
+ playbin ["uri"] = "http://download.blender.org/durian/trailer/sintel_trailer-1080p.mp4";
+
+ // Start playing
+ var ret = playbin.SetState (State.Playing);
+ if (ret == StateChangeReturn.Failure) {
+ Console.WriteLine ("Unable to set the pipeline to the playing state.");
+ return;
+ }
+
+ // Listen to the bus
+ var bus = playbin.Bus;
+ do {
+ var msg = bus.TimedPopFiltered (100 * Constants.MSECOND, MessageType.StateChanged | MessageType.Error | MessageType.DurationChanged);
+
+ // Parse message
+ if (msg != null) {
+ HandleMessage (msg);
+ }
+ else {
+ // We got no message, this means the timeout expired
+ if (playing) {
+ var fmt = Format.Time;
+ var current = -1L;
+
+ // Query the current position of the stream
+ if (!playbin.QueryPosition (fmt, out current)) {
+ Console.WriteLine ("Could not query current position.");
+ }
+
+ // if we didn't know it yet, query the stream position
+ if (duration <= 0) {
+ if (!playbin.QueryDuration (fmt, out duration)) {
+ Console.WriteLine ("Could not query current duration.");
+ }
+ }
+
+ // Print current position and total duration
+ Console.Write("Position {0} / {1}\r", new TimeSpan (current), new TimeSpan (duration));
+
+ if (seekEnabled && !seekDone && current > 10L * Constants.SECOND) {
+ Console.WriteLine ("\nRead 10s, performing seek...");
+ playbin.SeekSimple (fmt, SeekFlags.KeyUnit | SeekFlags.Flush, 30L * Constants.SECOND);
+ seekDone = true;
+ }
+ }
+ }
+ } while (!terminate);
+ }
+
+ private static void HandleMessage (Message msg) {
+ switch (msg.Type) {
+ case MessageType.Error:
+ string debug;
+ GLib.GException exc;
+ msg.ParseError (out exc, out debug);
+ Console.WriteLine (string.Format ("Error received from element {0}: {1}", msg.Src.Name, exc.Message));
+ Console.WriteLine ("Debugging information: {0}", debug);
+ terminate = true;
+ break;
+ case MessageType.Eos:
+ Console.WriteLine("End-Of-Stream reached.");
+ terminate = true;
+ break;
+ case MessageType.DurationChanged:
+ // The duration has changed, mark the current one as invalid
+ duration = -1;
+ break;
+ case MessageType.StateChanged:
+ // We are only interested in state-changed messages from the pipeline
+ if (msg.Src == playbin) {
+ State oldState, newState, pendingState;
+ msg.ParseStateChanged(out oldState, out newState, out pendingState);
+ Console.WriteLine ("Pipeline state changed from {0} to {1}:", Element.StateGetName(oldState), Element.StateGetName(newState));
+
+ // Remember wheather we are in the PLAYING state
+ playing = newState == State.Playing;
+
+ if (playing) {
+ // We have just moved to PLAYING. Check if seeking is possible
+ var query = Query.NewSeeking (Format.Time);
+ long start, end;
+ Format fmt = Format.Time;
+
+ if (playbin.Query (query)) {
+ query.ParseSeeking (out fmt, out seekEnabled, out start, out end);
+
+ if (seekEnabled) {
+ Console.WriteLine ("Seeking is ENABLED from {0} to {1}", new TimeSpan(start), new TimeSpan(end));
+ } else {
+ Console.WriteLine ("Seeking DISABLED for this stream.");
+ }
+ } else {
+ Console.WriteLine ("Seeking query failed.");
+ }
+ }
+ }
+ break;
+ default:
+ // We should not reach here
+ Console.WriteLine ("Unexpected message received.");
+ break;
+ }
+ }
+ }
+} \ No newline at end of file
diff --git a/subprojects/gstreamer-sharp/samples/BasicTutorial5.cs b/subprojects/gstreamer-sharp/samples/BasicTutorial5.cs
new file mode 100644
index 0000000000..7ccec96c04
--- /dev/null
+++ b/subprojects/gstreamer-sharp/samples/BasicTutorial5.cs
@@ -0,0 +1,367 @@
+// Authors
+// Copyright (C) 2014 Stephan Sundermann <stephansundermann@gmail.com>
+
+using System;
+using Gst;
+using Gtk;
+using System.Runtime.InteropServices;
+using Gst.Video;
+
+namespace GstreamerSharp
+{
+ class Playback
+ {
+ static Element Playbin;
+ static Gtk.Range Slider;
+ static TextView StreamsList;
+ static ulong silderUpdateSignalID;
+
+ static State State;
+ static long Duration = -1;
+ static int ignoreCount = 0;
+
+ static void HandleValueChanged (object sender, EventArgs e)
+ {
+ var range = (Gtk.Range)sender;
+ var value = range.Value;
+ Playbin.SeekSimple (Format.Time, SeekFlags.Flush | SeekFlags.KeyUnit, (long)(value * Gst.Constants.SECOND));
+ }
+
+ // This method is called when the STOP button is clicked
+ static void HandleStop (object sender, EventArgs e)
+ {
+ Playbin.SetState (State.Ready);
+ }
+
+ // This method is called when the PAUSE button is clicked
+ static void HandlePause (object sender, EventArgs e)
+ {
+ Playbin.SetState (State.Paused);
+ }
+
+ // This method is called when the PLAY button is clicked
+ static void HandlePlay (object sender, EventArgs e)
+ {
+ Playbin.SetState (State.Playing);
+
+ }
+
+ static void HandleRealized (object sender, EventArgs e)
+ {
+ var widget = (Widget)sender;
+ var window = widget.Window;
+ IntPtr windowID = IntPtr.Zero;
+
+ // Retrieve window handler from GDK
+ switch (System.Environment.OSVersion.Platform) {
+ case PlatformID.Unix:
+ windowID = gdk_x11_window_get_xid (window.Handle);
+ break;
+ case PlatformID.Win32NT:
+ case PlatformID.Win32S:
+ case PlatformID.Win32Windows:
+ case PlatformID.WinCE:
+ windowID = gdk_win32_drawable_get_handle (window.Handle);
+ break;
+ }
+
+ Element overlay = null;
+ if(Playbin is Gst.Bin)
+ overlay = ((Gst.Bin) Playbin).GetByInterface (VideoOverlayAdapter.GType);
+
+ VideoOverlayAdapter adapter = new VideoOverlayAdapter (overlay.Handle);
+ adapter.WindowHandle = windowID;
+ adapter.HandleEvents (true);
+ }
+
+ // This function is called when the main window is closed
+ static void HandleDelete (object o, DeleteEventArgs args)
+ {
+ HandleStop (null, null);
+ Gtk.Application.Quit ();
+ }
+
+ //This function is called everytime the video window needs to be redrawn (due to damage/exposure, rescaling, etc). GStreamer takes care of this in the PAUSED and PLAYING states, otherwise, we simply draw a black rectangle to avoid garbage showing up. */
+ static void HandleDamage (object o, DamageEventArgs args)
+ {
+ var widget = (Widget)o;
+
+ if (State != State.Paused && State != State.Playing) {
+ var window = widget.Window;
+ var allocation = widget.Allocation;
+
+ var cr = Gdk.CairoHelper.Create (window);
+ cr.SetSourceRGB (0, 0, 0);
+ cr.Rectangle (0, 0, allocation.Width, allocation.Height);
+ cr.Fill ();
+ cr.Dispose ();
+ }
+
+ args.RetVal = false;
+ }
+
+ static void CreateUI () {
+ var mainWindow = new Window (WindowType.Toplevel);
+ mainWindow.DeleteEvent += HandleDelete;
+
+ var videoWindow = new DrawingArea ();
+ videoWindow.DoubleBuffered = false;
+ videoWindow.Realized += HandleRealized;
+ videoWindow.DamageEvent += HandleDamage;
+
+ var playButton = new Button (Stock.MediaPlay);
+ playButton.Clicked += HandlePlay;
+
+ var pauseButton = new Button (Stock.MediaPause);
+ pauseButton.Clicked += HandlePause;
+
+ var stopButton = new Button (Stock.MediaStop);
+ stopButton.Clicked += HandleStop;
+
+ Slider = new HScale (0, 100, 1);
+ ((Scale)Slider).DrawValue = false;
+ Slider.ValueChanged += HandleValueChanged;
+
+ StreamsList = new TextView ();
+ StreamsList.Editable = false;
+
+ var controls = new HBox (false, 0);
+ controls.PackStart (playButton, false, false, 2);
+ controls.PackStart (pauseButton, false, false, 2);
+ controls.PackStart (stopButton, false, false, 2);
+ controls.PackStart (Slider, true, true, 2);
+
+ var mainHBox = new HBox (false, 0);
+ mainHBox.PackStart (videoWindow, true, true, 0);
+ mainHBox.PackStart (StreamsList, false, false, 2);
+
+ var mainBox = new VBox (false, 0);
+ mainBox.PackStart (mainHBox, true, true, 0);
+ mainBox.PackStart (controls, false, false, 0);
+ mainWindow.Add (mainBox);
+ mainWindow.SetDefaultSize (640, 480);
+
+ mainWindow.ShowAll ();
+ }
+
+ // This function is called periodically to refresh the GUI
+ static bool RefreshUI () {
+ var fmt = Format.Time;
+ long current = 0;
+
+ // We do not want to update anything nless we are in the PAUSED or PLAYING states
+ if (State != State.Playing && State != State.Paused)
+ return true;
+
+ // If we didn't know it yet, query the stream duration
+ if (Duration < 0) {
+ if (!Playbin.QueryDuration (fmt, out Duration))
+ Console.WriteLine ("Could not query the current duration.");
+ else {
+ // Set the range of the silder to the clip duration, in SECONDS
+ Slider.SetRange (0, Duration / (double)Gst.Constants.SECOND);
+ }
+ }
+
+ if (Playbin.QueryPosition (fmt, out current)) {
+ // Block the "value-changed" signal, so the HandleSlider function is not called (which would trigger a seek the user has not requested)
+ ignoreCount++;
+ Slider.ValueChanged -= HandleValueChanged;
+ // Set the position of the slider to the current pipeline position, in SECONDS
+ Slider.Value = current / (double)Gst.Constants.SECOND;
+ Slider.ValueChanged += HandleValueChanged;
+
+ }
+ return true;
+ }
+
+
+
+ // This function is called when an error message is posted on the bus
+ static void HandleTags (object sender, GLib.SignalArgs args) {
+ // We are possibly in the Gstreamer working thread, so we notify the main thread of this event through a message in the bus
+ var s = new Structure ("tags-changed");
+ Playbin.PostMessage (Message.NewApplication (Playbin, s));
+ }
+
+ // This function is called when an error message is posted on the bus
+ static void HandleError (object sender, GLib.SignalArgs args) {
+ var msg = (Message)args.Args [0];
+ string debug;
+ GLib.GException exc;
+ msg.ParseError (out exc, out debug);
+ Console.WriteLine (string.Format ("Error received from element {0}: {1}", msg.Src.Name, exc.Message));
+ Console.WriteLine ("Debugging information: {0}", debug);
+ // Set the pipeline to READY (which stops playback)
+ Playbin.SetState (State.Ready);
+ }
+
+ // This function is called when an End-Of-Stream message is posted on the bus. We just set the pipelien to READY (which stops playback)
+ static void HandleEos (object sender, GLib.SignalArgs args) {
+ Console.WriteLine ("End-Of-Stream reached.");
+ Playbin.SetState (State.Ready);
+ }
+
+ // This function is called when the pipeline changes states. We use it to keep track of the current state.
+ static void HandleStateChanged (object sender, GLib.SignalArgs args) {
+ var msg = (Message) args.Args [0];
+ State oldState, newState, pendingState;
+ msg.ParseStateChanged (out oldState, out newState, out pendingState);
+ if (msg.Src == Playbin) {
+ State = newState;
+ Console.WriteLine ("State set to {0}", Element.StateGetName (newState));
+ if (oldState == State.Ready && newState == State.Paused) {
+ // For extra responsiveness, we refresh the GUI as soon as we reach the PAUSED state
+ RefreshUI ();
+ }
+ }
+
+ }
+
+ // Extract metadata from all the streams and write it to the text widget in the GUI
+ static void AnalyzeStreams () {
+ TagList tags;
+ String str, totalStr;
+ uint rate;
+
+ // Clean current contents of the widget
+ var text = StreamsList.Buffer;
+ text.Text = String.Empty;
+
+ // Read some properties
+ var nVideo = (int) Playbin ["n-video"];
+ var nAudio = (int) Playbin ["n-audio"];
+ var nText = (int) Playbin ["n-text"];
+
+ for (int i = 0; i < nVideo; i++) {
+ // Retrieve the stream's video tags
+ tags = (TagList)Playbin.Emit ("get-video-tags", i);
+
+ if (tags != null) {
+ totalStr = string.Format ("video stream {0}:\n", i);
+ text.InsertAtCursor (totalStr);
+ tags.GetString (Gst.Constants.TAG_VIDEO_CODEC, out str);
+ totalStr = string.Format (" codec: {0}\n", str != null ? str : "unknown");
+ text.InsertAtCursor (totalStr);
+ }
+ }
+
+ for (int i = 0; i < nAudio; i++) {
+ // Retrieve the stream's audio tags
+ tags = (TagList)Playbin.Emit ("get-audio-tags", i);
+
+ if (tags != null) {
+ totalStr = string.Format ("audio stream {0}:\n", i);
+ text.InsertAtCursor (totalStr);
+
+ str = String.Empty;
+ if (tags.GetString (Gst.Constants.TAG_AUDIO_CODEC, out str)) {
+ totalStr = string.Format (" codec: {0}\n", str);
+ text.InsertAtCursor (totalStr);
+ }
+ str = String.Empty;
+
+ if (tags.GetString (Gst.Constants.TAG_LANGUAGE_CODE+"dr", out str)) {
+ totalStr = string.Format (" language: {0}\n", str);
+ text.InsertAtCursor (totalStr);
+ }
+ str = String.Empty;
+
+ if (tags.GetUint (Gst.Constants.TAG_BITRATE, out rate)) {
+ totalStr = string.Format (" bitrate: {0}\n", rate);
+ text.InsertAtCursor (totalStr);
+ }
+ }
+ }
+
+ for (int i = 0; i < nText; i++) {
+ // Retrieve the stream's text tags
+ tags = (TagList)Playbin.Emit ("get-text-tags", i);
+
+ if (tags != null) {
+ totalStr = string.Format ("subtitle stream {0}:\n", i);
+ text.InsertAtCursor (totalStr);
+
+ if (tags.GetString (Gst.Constants.TAG_LANGUAGE_CODE, out str)) {
+ totalStr = string.Format (" language: {0}\n", str);
+ text.InsertAtCursor (totalStr);
+ }
+ }
+ }
+ }
+
+ // This function is called when an "application" message is posted on the bus. Here we retrieve the message posted by the HandleTags callback
+ static void HandleApplication (object sender, GLib.SignalArgs args) {
+ var msg = (Message)args.Args [0];
+
+ if (msg.Structure.Name.Equals ("tags-changed")) {
+ // If the message is the "tags-changed" (only one we are currently issuing), update the stream info GUI
+ AnalyzeStreams ();
+ }
+ }
+
+ public static void Main (string[] args)
+ {
+ // Initialize GTK
+ Gtk.Application.Init ();
+
+ // Initialize Gstreamer
+ Gst.Application.Init(ref args);
+
+ // Create the elements
+ Playbin = ElementFactory.Make ("playbin", "playbin");
+
+ if (Playbin == null) {
+ Console.WriteLine ("Not all elements could be created");
+ return;
+ }
+
+ // Set the URI to play.
+ Playbin ["uri"] = "http://download.blender.org/durian/trailer/sintel_trailer-1080p.mp4";
+
+ // Connect to interesting signals in playbin
+ Playbin.Connect ("video-tags-changed", HandleTags);
+ Playbin.Connect ("audio-tags-changed", HandleTags);
+ Playbin.Connect ("text-tags-changed", HandleTags);
+
+
+ // Create the GUI
+ CreateUI ();
+
+ // Instruct the bus to emit signals for each received message, and connect to the interesting signals
+ var bus = Playbin.Bus;
+ bus.AddSignalWatch ();
+ bus.Connect ("message::error", HandleError);
+ bus.Connect ("message::eos", HandleEos);
+ bus.Connect ("message::state-changed", HandleStateChanged);
+ bus.Connect ("message::application", HandleApplication);
+
+
+ // Start playing
+ var ret = Playbin.SetState (State.Playing);
+ if (ret == StateChangeReturn.Failure) {
+ Console.WriteLine ("Unable to set the pipeline to the playing state.");
+ return;
+ }
+
+ // Register a function that GLib will call every second
+ GLib.Timeout.Add (1, RefreshUI);
+
+ // Start the GTK main loop- We will not regain control until gtk_main_quit is called
+ Gtk.Application.Run ();
+
+ // Free resources
+ Playbin.SetState (State.Null);
+
+ }
+
+ [DllImport ("libgdk-3.so.0") ]
+ static extern IntPtr gdk_x11_window_get_xid (IntPtr handle);
+
+ [DllImport ("gdk-win32-3.0-0.dll") ]
+ static extern IntPtr gdk_win32_drawable_get_handle (IntPtr handle);
+
+ [DllImport ("libX11.so.6")]
+ static extern int XInitThreads ();
+ }
+}
diff --git a/subprojects/gstreamer-sharp/samples/BasicTutorial6.cs b/subprojects/gstreamer-sharp/samples/BasicTutorial6.cs
new file mode 100644
index 0000000000..e5dbf2d611
--- /dev/null
+++ b/subprojects/gstreamer-sharp/samples/BasicTutorial6.cs
@@ -0,0 +1,196 @@
+// Authors
+// Copyright (C) 2014 Stephan Sundermann <stephansundermann@gmail.com>
+
+using System;
+using Gst;
+using System.Runtime.InteropServices;
+
+namespace GstreamerSharp
+{
+ class Playback
+ {
+ // Functions below print the capabilities in a human-friendly format
+ static void PrintCaps (Caps caps, string pfx) {
+
+ if (caps == null)
+ return;
+
+ if (caps.IsAny) {
+ Console.WriteLine ("{0}ANY", pfx);
+ return;
+ }
+
+ if (caps.IsEmpty) {
+ Console.WriteLine ("{0}EMPTY", pfx);
+ return;
+ }
+
+ for (uint i = 0; i < caps.Size; i++) {
+ var structure = caps.GetStructure (i);
+
+ Console.WriteLine ("{0}{1}", pfx, structure.Name);
+ structure.Foreach ((field_id, value) => {
+ var ptr = g_quark_to_string (field_id);
+ var quark = GLib.Marshaller.Utf8PtrToString (ptr);
+ Console.WriteLine ("{0} {1}: {2}", pfx, quark, value.Val);
+ return true;
+ });
+ }
+ }
+
+ // Prints information about a Pad Template, including its Capabilities*/
+ static void PrintPadTemplateInformation (ElementFactory factory) {
+
+ Console.WriteLine ("Pad Templates for {0}:", factory.Name);
+ if (factory.NumPadTemplates == 0) {
+ Console.WriteLine (" none");
+ return;
+ }
+
+ var pads = factory.StaticPadTemplates;
+ foreach (var p in pads) {
+ var pad = (StaticPadTemplate) p;
+
+ if (pad.Direction == PadDirection.Src)
+ Console.WriteLine (" SRC template: '{0}'", pad.NameTemplate);
+ else if (pad.Direction == PadDirection.Sink)
+ Console.WriteLine (" SINK template: '{0}'", pad.NameTemplate);
+ else
+ Console.WriteLine (" UNKNOWN!!! template: '{0}'", pad.NameTemplate);
+
+ if (pad.Presence == PadPresence.Always)
+ Console.WriteLine (" Availability: Always");
+ else if (pad.Presence == PadPresence.Sometimes)
+ Console.WriteLine (" Availability: Sometimes");
+ else if (pad.Presence == PadPresence.Request) {
+ Console.WriteLine (" Availability: On request");
+ } else
+ Console.WriteLine (" Availability: UNKNOWN!!!");
+
+ if (pad.StaticCaps.String != null) {
+ Console.WriteLine (" Capabilities:");
+ PrintCaps (pad.StaticCaps.Get (), " ");
+ }
+
+ Console.WriteLine ();
+ }
+ }
+
+ // Shows the CURRENT capabilities of the requested pad in the given element */
+ static void PrintPadCapabilities (Element element, string padName) {
+
+ // Retrieve pad
+ var pad = element.GetStaticPad (padName);
+ if (pad == null) {
+ Console.WriteLine ("Could not retrieve pad '{0}'", padName);
+ return;
+ }
+
+ // Retrieve negotiated caps (or acceptable caps if negotiation is not finished yet)
+ var caps = pad.CurrentCaps;
+ if (caps == null)
+ caps = pad.Caps;
+
+ /* Print and free */
+ Console.WriteLine ("Caps for the {0} pad:", padName);
+ PrintCaps (caps, " ");
+ }
+
+ public static void Main (string[] args)
+ {
+ // Initialize Gstreamer
+ Gst.Application.Init(ref args);
+
+ // Create the element factories
+ var sourceFactory = ElementFactory.Find ("audiotestsrc");
+ var sinkFactory = ElementFactory.Find ("autoaudiosink");
+
+
+
+ if (sourceFactory == null || sinkFactory == null) {
+ Console.WriteLine ("Not all element factories could be created.");
+ return;
+ }
+
+ // Print information about the pad templates of these factories
+ PrintPadTemplateInformation (sourceFactory);
+ PrintPadTemplateInformation (sinkFactory);
+
+ // Ask the factories to instantiate actual elements
+ var source = sourceFactory.Create ("source");
+ var sink = sinkFactory.Create ("sink");
+
+ // Create the empty pipeline
+ var pipeline = new Pipeline ("test-pipeline");
+
+ if (pipeline == null || source == null || sink == null) {
+ Console.WriteLine ("Not all elements could be created.");
+ return;
+ }
+
+ // Build the pipeline
+ pipeline.Add (source, sink);
+ if (!source.Link (sink)) {
+ Console.WriteLine ("Elements could not be linked.");
+ return;
+ }
+
+ // Print initial negotiated caps (in NULL state)
+ Console.WriteLine ("In NULL state:");
+ PrintPadCapabilities (sink, "sink");
+
+ // Start playing
+ var ret = pipeline.SetState (State.Playing);
+ if (ret == StateChangeReturn.Failure) {
+ Console.WriteLine ("Unable to set the pipeline to the playing state (check the bus for error messages).");
+ }
+
+ // Wait until error, EOS or State Change
+ var bus = pipeline.Bus;
+ var terminate = false;
+
+ do {
+ var msg = bus.TimedPopFiltered (Constants.CLOCK_TIME_NONE, MessageType.Error | MessageType.Eos | MessageType.StateChanged);
+
+ // Parse message
+ if (msg != null) {
+ switch (msg.Type) {
+ case MessageType.Error:
+ string debug;
+ GLib.GException exc;
+ msg.ParseError (out exc, out debug);
+ Console.WriteLine ("Error received from element {0}: {1}", msg.Src.Name, exc.Message);
+ Console.WriteLine ("Debugging information: {0}", debug != null ? debug : "none");
+ terminate = true;
+ break;
+ case MessageType.Eos:
+ Console.WriteLine ("End-Of-Stream reached.\n");
+ terminate = true;
+ break;
+ case MessageType.StateChanged:
+ // We are only interested in state-changed messages from the pipeline
+ if (msg.Src == pipeline) {
+ State oldState, newState, pendingState;
+ msg.ParseStateChanged (out oldState, out newState, out pendingState);
+ Console.WriteLine ("Pipeline state changed from {0} to {1}:",
+ Element.StateGetName (oldState), Element.StateGetName (newState));
+ // Print the current capabilities of the sink element
+ PrintPadCapabilities (sink, "sink");
+ }
+ break;
+ default:
+ // We should not reach here because we only asked for ERRORs, EOS and STATE_CHANGED
+ Console.WriteLine ("Unexpected message received.");
+ break;
+ }
+ }
+ } while (!terminate);
+
+ // Free resources
+ pipeline.SetState (State.Null);
+ }
+
+ [DllImport ("glib-2.0.dll")]
+ static extern IntPtr g_quark_to_string (uint quark);
+ }
+} \ No newline at end of file
diff --git a/subprojects/gstreamer-sharp/samples/BasicTutorial7.cs b/subprojects/gstreamer-sharp/samples/BasicTutorial7.cs
new file mode 100644
index 0000000000..7c4f5c1da9
--- /dev/null
+++ b/subprojects/gstreamer-sharp/samples/BasicTutorial7.cs
@@ -0,0 +1,80 @@
+// Authors
+// Copyright (C) 2014 Stephan Sundermann <stephansundermann@gmail.com>
+
+using System;
+using Gst;
+using System.Runtime.InteropServices;
+
+namespace GstreamerSharp
+{
+ class Playback
+ {
+ public static void Main (string[] args)
+ {
+ // Initialize Gstreamer
+ Gst.Application.Init(ref args);
+
+ // Create the elements
+ var audioSource = ElementFactory.Make ("audiotestsrc", "audio_source");
+ var tee = ElementFactory.Make ("tee", "tee");
+ var audioQueue = ElementFactory.Make ("queue", "audio_queue");
+ var audioConvert = ElementFactory.Make ("audioconvert", "audio_convert");
+ var audioResample = ElementFactory.Make ("audioresample", "audio_resample");
+ var audioSink = ElementFactory.Make ("autoaudiosink", "audio_sink");
+ var videoQueue = ElementFactory.Make ("queue", "video_queue");
+ var visual = ElementFactory.Make ("wavescope", "visual");
+ var videoConvert = ElementFactory.Make ("videoconvert", "csp");
+ var videoSink = ElementFactory.Make ("autovideosink", "video_sink");
+
+ // Create the empty pipeline
+ var pipeline = new Pipeline ("test-pipeline");
+
+ if (audioSource == null || tee == null || audioQueue == null || audioConvert == null || audioResample == null ||
+ audioSink == null || videoQueue == null || visual == null || videoConvert == null || videoSink == null || pipeline == null) {
+ Console.WriteLine ("Not all elements could be created.");
+ return;
+ }
+
+
+ // Link all elements that can be automatically linked because they have "Always" pads
+ pipeline.Add (audioSource, tee, audioQueue, audioConvert, audioResample, audioSink,
+ videoQueue, visual, videoConvert, videoSink);
+ if (!audioSource.Link (tee) ||
+ !Element.Link (audioQueue, audioConvert, audioResample, audioSink) ||
+ !Element.Link (videoQueue, visual, videoConvert, videoSink)) {
+ Console.WriteLine ("Elements could not be linked.");
+ return;
+ }
+
+ // Manually link the Tee, which has "Request" pads
+ var teeSrcPadTemplate = tee.GetPadTemplate ("src_%u");
+ var teeAudioPad = tee.RequestPad (teeSrcPadTemplate, null, null);
+ Console.WriteLine ("Obtained request pad {0} for audio branch.", teeAudioPad.Name);
+ var queueAudioPad = audioQueue.GetStaticPad ("sink");
+ var teeVideoPad = tee.RequestPad (teeSrcPadTemplate, null, null);
+ Console.WriteLine ("Obtained request pad {0} for video branch.", teeVideoPad.Name);
+ var queueVideoPad = videoQueue.GetStaticPad ("sink");
+ if (teeAudioPad.Link (queueAudioPad) != PadLinkReturn.Ok ||
+ teeVideoPad.Link(queueVideoPad) != PadLinkReturn.Ok) {
+ Console.WriteLine ("Tee could not be linked.");
+ return;
+ }
+
+ // Start playing
+ var ret = pipeline.SetState (State.Playing);
+ if (ret == StateChangeReturn.Failure) {
+ Console.WriteLine ("Unable to set the pipeline to the playing state (check the bus for error messages).");
+ }
+
+ // Wait until error or EOS
+ pipeline.Bus.TimedPopFiltered (Constants.CLOCK_TIME_NONE, MessageType.Error | MessageType.Eos);
+
+ // Release the request pads from the Tee, and unref them
+ tee.ReleaseRequestPad (teeAudioPad);
+ tee.ReleaseRequestPad (teeVideoPad);
+
+ // Free resources
+ pipeline.SetState (State.Null);
+ }
+ }
+} \ No newline at end of file
diff --git a/subprojects/gstreamer-sharp/samples/BasicTutorial8.cs b/subprojects/gstreamer-sharp/samples/BasicTutorial8.cs
new file mode 100644
index 0000000000..34c4e6c868
--- /dev/null
+++ b/subprojects/gstreamer-sharp/samples/BasicTutorial8.cs
@@ -0,0 +1,229 @@
+// Authors
+// Copyright (C) 2014 Stephan Sundermann <stephansundermann@gmail.com>
+
+using System;
+using Gst;
+using System.Runtime.InteropServices;
+
+namespace GstreamerSharp
+{
+ class Playback
+ {
+ const int ChunkSize = 1024;
+ const int SampleRate = 44100;
+
+ static Gst.App.AppSink AppSink;
+ static Gst.App.AppSrc AppSource;
+ static Element Pipeline, Tee, AudioQueue, AudioConvert1, AudioResample, AudioSink;
+ static Element VideoQueue, AudioConvert2, Visual, VideoConvert, VideoSink;
+ static Element AppQueue;
+
+ static long NumSamples; // Number of samples generated so far (for timestamp generation)
+ static float a, b, c, d; // For waveform generation
+
+ static uint Sourceid; // To control the GSource
+
+ static GLib.MainLoop MainLoop; // GLib's Main Loop
+
+ // This method is called by the idle GSource in the mainloop, to feed CHUNK_SIZE bytes into appsrc.
+ // The idle handler is added to the mainloop when appsrc requests us to start sending data (need-data signal)
+ // and is removed when appsrc has enough data (enough-data signal).
+
+ static bool PushData () {
+ var numSamples = ChunkSize / 2; // Because each sample is 16 bits
+ MapInfo map;
+
+ // Create a new empty buffer
+ var buffer = new Gst.Buffer (null, ChunkSize, AllocationParams.Zero);
+
+ // Set its timestamp and duration
+ buffer.Pts = Util.Uint64Scale ((ulong)NumSamples, (ulong)Constants.SECOND, (ulong)SampleRate);
+ buffer.Dts = Util.Uint64Scale ((ulong)NumSamples, (ulong)Constants.SECOND, (ulong)SampleRate);
+ buffer.Duration = Util.Uint64Scale ((ulong)NumSamples, (ulong)Constants.SECOND, (ulong)SampleRate);
+
+ // Generate some psychodelic waveforms
+ buffer.Map (out map, MapFlags.Write);
+ c += d;
+ d -= c / 1000f;
+ var freq = 1100f + 1000f * d;
+ short[] data = new short[numSamples];
+ for (int i = 0; i < numSamples; i++) {
+ a += b;
+ b -= a / freq;
+ data[i] = (short)(500f * a);
+ }
+ // convert the short[] to a byte[] by marshalling
+ var native = Marshal.AllocHGlobal (data.Length * sizeof(short));
+ Marshal.Copy (data, 0, native, data.Length);
+ byte[] bytedata = new byte[2 * data.Length];
+ Marshal.Copy (native, bytedata, 0, data.Length * sizeof(short));
+
+ map.Data = bytedata;
+ buffer.Unmap (map);
+ NumSamples += numSamples;
+
+ // Push the buffer into the appsrc
+ var ret = AppSource.PushBuffer (buffer);
+
+ // Free the buffer now that we are done with it
+ buffer.Dispose ();
+
+ if (ret != FlowReturn.Ok) {
+ // We got some error, stop sending data
+ return false;
+ }
+ return true;
+ }
+
+ // This signal callback triggers when appsrc needs Here, we add an idle handler
+ // to the mainloop to start pushing data into the appsrc
+ static void StartFeed (object sender, Gst.App.NeedDataArgs args) {
+ if (Sourceid == 0) {
+ Console.WriteLine ("Start feeding");
+ Sourceid = GLib.Idle.Add (PushData);
+ }
+ }
+
+ // This callback triggers when appsrc has enough data and we can stop sending.
+ // We remove the idle handler from the mainloop
+ static void StopFeed (object sender, EventArgs args) {
+ if (Sourceid != 0) {
+ Console.WriteLine ("Stop feeding");
+ GLib.Source.Remove (Sourceid);
+ Sourceid = 0;
+ }
+ }
+
+ // The appsink has received a buffer
+ static void NewSample (object sender, GLib.SignalArgs args) {
+ var sink = (Gst.App.AppSink)sender;
+
+ // Retrieve the buffer
+ var sample = sink.PullSample ();
+ if (sample != null) {
+ // The only thing we do in this example is print a * to indicate a received buffer
+ Console.Write ("*");
+ sample.Dispose ();
+ }
+ }
+
+ // This function is called when an error message is posted on the bus
+ static void HandleError (object sender, GLib.SignalArgs args) {
+ GLib.GException err;
+ string debug;
+ var msg = (Message) args.Args[0];
+
+ // Print error details on the screen
+ msg.ParseError (out err, out debug);
+ Console.WriteLine ("Error received from element {0}: {1}", msg.Src.Name, err.Message);
+ Console.WriteLine ("Debugging information: {0}", debug != null ? debug : "none");
+
+ MainLoop.Quit ();
+ }
+
+ public static void Main (string[] args)
+ {
+ b = 1;
+ d = 1;
+ Gst.Audio.AudioInfo info = new Gst.Audio.AudioInfo();
+
+ // Initialize Gstreamer
+ Gst.Application.Init(ref args);
+
+ // Create the elements
+ AppSource = new Gst.App.AppSrc ("app_src");
+ Tee = ElementFactory.Make ("tee", "tee");
+ AudioQueue = ElementFactory.Make ("queue", "audio_queue");
+ AudioConvert1 = ElementFactory.Make ("audioconvert", "audio_convert1");
+ AudioResample = ElementFactory.Make ("audioresample", "audio_resample");
+ AudioSink = ElementFactory.Make ("autoaudiosink", "audio_sink");
+ VideoQueue = ElementFactory.Make ("queue", "video_queue");
+ AudioConvert2 = ElementFactory.Make ("audioconvert", "audio_convert2");
+ Visual = ElementFactory.Make ("wavescope", "visual");
+ VideoConvert = ElementFactory.Make ("videoconvert", "video_convert");
+ VideoSink = ElementFactory.Make ("autovideosink", "video_sink");
+ AppQueue = ElementFactory.Make ("queue", "app_queue");
+ AppSink = new Gst.App.AppSink ("app_sink");
+
+ // Create the empty pipeline
+ var pipeline = new Pipeline ("test-pipeline");
+
+ if (AppSource == null || Tee == null || AudioQueue == null || AudioConvert1 == null || AudioResample == null ||
+ AudioSink == null || VideoQueue == null || AudioConvert2 == null || Visual == null || VideoConvert == null ||
+ AppQueue == null || AppSink == null ||pipeline == null) {
+ Console.WriteLine ("Not all elements could be created.");
+ return;
+ }
+
+ // Configure wavescope
+ Visual ["shader"] = 0;
+ Visual ["style"] = 0;
+
+ // Configure appsrc
+ Gst.Audio.AudioChannelPosition[] position = {};
+ info.SetFormat (Gst.Audio.AudioFormat.S16, SampleRate, 1, position);
+ var audioCaps = info.ToCaps ();
+ AppSource ["caps"] = audioCaps;
+ AppSource ["format"] = Format.Time;
+
+ AppSource.NeedData += StartFeed;
+ AppSource.EnoughData += StopFeed;
+
+ // Configure appsink
+ AppSink ["emit-signals"] = true;
+ AppSink ["caps"] = audioCaps;
+ AppSink.NewSample += NewSample;
+
+ // Link all elements that can be automatically linked because they have "Always" pads
+ pipeline.Add (AppSource, Tee, AudioQueue, AudioConvert1, AudioResample,
+ AudioSink, VideoQueue, AudioConvert2, Visual, VideoConvert, VideoSink, AppQueue, AppSink);
+ if (!Element.Link (AppSource, Tee) ||
+ !Element.Link (AudioQueue, AudioConvert1, AudioResample, AudioSink) ||
+ !Element.Link (VideoQueue, AudioConvert2, Visual, VideoConvert, VideoSink) ||
+ !Element.Link (AppQueue, AppSink)) {
+ Console.WriteLine ("Elements could not be linked.");
+ return;
+ }
+
+ // Manually link the Tee, which has "Request" pads
+ var teeSrcPadTemplate = Tee.GetPadTemplate ("src_%u");
+ var teeAudioPad = Tee.RequestPad (teeSrcPadTemplate);
+ Console.WriteLine ("Obtained request pad {0} for audio branch.", teeAudioPad.Name);
+ var queueAudioPad = AudioQueue.GetStaticPad ("sink");
+ var teeVideoPad = Tee.RequestPad (teeSrcPadTemplate);
+ Console.WriteLine ("Obtained request pad {0} for video branch.", teeVideoPad.Name);
+ var queueVideoPad = VideoQueue.GetStaticPad ("sink");
+ var teeAppPad = Tee.RequestPad (teeSrcPadTemplate);
+ Console.WriteLine ("Obtained request pad {0} for app branch.", teeAppPad.Name);
+ var queueAppPad = AppQueue.GetStaticPad ("sink");
+ if (teeAudioPad.Link (queueAudioPad) != PadLinkReturn.Ok ||
+ teeVideoPad.Link (queueVideoPad) != PadLinkReturn.Ok ||
+ teeAppPad.Link (queueAppPad) != PadLinkReturn.Ok) {
+ Console.WriteLine ("Tee could not be linked");
+ return;
+ }
+
+ // Instruct the bus to emit signals for each received message, and connect to the interesting signals
+ var bus = pipeline.Bus;
+ bus.AddSignalWatch ();
+ bus.Connect ("message::error", HandleError);
+
+ // Start playing the pipeline
+ pipeline.SetState (State.Playing);
+
+ // Create a GLib Main Loop and set it to run
+ MainLoop = new GLib.MainLoop ();
+ MainLoop.Run ();
+
+ // Release the request pads from the Tee, and unref them
+ Tee.ReleaseRequestPad(teeAudioPad);
+ Tee.ReleaseRequestPad(teeVideoPad);
+ Tee.ReleaseRequestPad(teeAppPad);
+
+ // Free resources
+ pipeline.SetState (State.Null);
+
+ Gst.Global.Deinit();
+ }
+ }
+}
diff --git a/subprojects/gstreamer-sharp/samples/BasicTutorial9.cs b/subprojects/gstreamer-sharp/samples/BasicTutorial9.cs
new file mode 100644
index 0000000000..85a58e2bc3
--- /dev/null
+++ b/subprojects/gstreamer-sharp/samples/BasicTutorial9.cs
@@ -0,0 +1,180 @@
+// Authors
+// Copyright (C) 2014 Stephan Sundermann <stephansundermann@gmail.com>
+
+using System;
+using Gst;
+using Gst.PbUtils;
+using System.Runtime.InteropServices;
+
+namespace GstreamerSharp
+{
+ class Playback
+ {
+ static Discoverer Discoverer;
+ static GLib.MainLoop MainLoop;
+
+ // Print a tag in a human-readable format (name: value)
+ static void PrintTagForeach (TagList tags, string tag, int depth) {
+ var val = GLib.Value.Empty;
+
+ TagList.CopyValue (ref val, tags, tag);
+
+ string str;
+ if (val.Val is string)
+ str = (string)val.Val;
+ else
+ str = Value.Serialize (val);
+
+ Console.WriteLine ("{0}{1}: {2}", new string(' ', 2 * depth), Tag.GetNick (tag), str);
+ }
+
+ // Print information regarding a stream
+ static void PrintStreamInfo (DiscovererStreamInfo info, int depth) {
+
+ var caps = info.Caps;
+
+ string desc = null;
+ if (caps != null) {
+ if (caps.IsFixed)
+ desc = Gst.PbUtils.Global.PbUtilsGetCodecDescription (caps);
+ else
+ desc = caps.ToString ();
+ }
+
+ Console.WriteLine ("{0}{1}: {2}", new string (' ', 2 * depth), info.StreamTypeNick, (desc != null ? desc : ""));
+
+ var tags = info.Tags;
+ if (tags != null) {
+ Console.WriteLine ("{0}Tags:", new string (' ', 2 * (depth + 1)));
+ tags.Foreach ((TagForeachFunc)delegate (TagList list, string tag) {
+ PrintTagForeach (list, tag, depth + 2);
+ });
+ }
+ }
+
+ // Print information regarding a stream and its substreams, if any
+ static void PrintTopology (DiscovererStreamInfo info, int depth) {
+
+ if (info == null)
+ return;
+
+ PrintStreamInfo (info, depth);
+
+ var next = info.Next;
+ if (next != null) {
+ PrintTopology (next, depth + 1);
+ } else if (info is DiscovererContainerInfo) {
+ var streams = ((DiscovererContainerInfo)info).Streams;
+ foreach (var stream in streams) {
+ PrintTopology (stream, depth + 1);
+ }
+ }
+ }
+
+ //This function is called every time the discoverer has information regarding one of the URIs we provided.
+ static void HandleDiscovered (object disc, DiscoveredArgs args) {
+ var info = args.Info;
+ var uri = info.Uri;
+ var result = info.Result;
+ var discoverer = (Discoverer)disc;
+
+ switch (result) {
+ case DiscovererResult.UriInvalid:
+ Console.WriteLine ("Invalid URI '{0}'", uri);
+ break;
+ case DiscovererResult.Error:
+ var err = new GLib.GException (args.Error);
+ Console.WriteLine ("Discoverer error: {0}", err.Message);
+ break;
+ case DiscovererResult.Timeout:
+ Console.WriteLine ("Timeout");
+ break;
+ case DiscovererResult.Busy:
+ Console.WriteLine ("Busy");
+ break;
+ case DiscovererResult.MissingPlugins:{
+ var s = info.Misc;
+
+ if (s != null) {
+ Console.WriteLine ("Missing plugins: {0}", s);
+ }
+ break;
+ }
+ case DiscovererResult.Ok:
+ Console.WriteLine ("Discovered '{0}'", uri);
+ break;
+ }
+
+ if (result != DiscovererResult.Ok) {
+ Console.WriteLine ("This URI cannot be played");
+ return;
+ }
+
+ // If we got no error, show the retrieved information
+ Console.WriteLine ("\nDuration: {0}", new TimeSpan((long)info.Duration));
+
+ var tags = info.Tags;
+ if (tags != null) {
+ Console.WriteLine ("Tags:");
+ tags.Foreach ((TagForeachFunc)delegate (TagList list, string tag) {
+ PrintTagForeach (list, tag, 1);
+ });
+ }
+
+ Console.WriteLine ("Seekable: {0}", (info.Seekable ? "yes" : "no"));
+
+ Console.WriteLine ();
+
+ var sinfo = info.StreamInfo;
+ if (sinfo == null)
+ return;
+
+ Console.WriteLine ("Stream information:");
+
+ PrintTopology (sinfo, 1);
+
+ Console.WriteLine ();
+ }
+
+ public static void Main (string[] args)
+ {
+ var uri = "http://download.blender.org/durian/trailer/sintel_trailer-1080p.mp4";
+
+ // if a URI was provided, use it instead of the default one
+ if (args.Length > 1) {
+ uri = args[0];
+ }
+
+ // Initialize GStreamer
+ Gst.Application.Init (ref args);
+
+ Console.WriteLine ("Discovering '{0}'", uri);
+
+ // Instantiate the Discoverer
+ Discoverer = new Discoverer (5L * Gst.Constants.SECOND);
+
+ // Connect to the interesting signals
+ Discoverer.Discovered += HandleDiscovered;
+ Discoverer.Finished += (sender, e) => {
+ Console.WriteLine ("Finished discovering");
+ MainLoop.Quit ();
+ };
+
+ // Start the discoverer process (nothing to do yet)
+ Discoverer.Start ();
+
+ // Add a request to process asynchronously the URI passed through the command line
+ if (!Discoverer.DiscoverUriAsync (uri)) {
+ Console.WriteLine ("Failed to start discovering URI '{0}'", uri);
+ return;
+ }
+
+ // Create a GLib Main Loop and set it to run, so we can wait for the signals
+ MainLoop = new GLib.MainLoop ();
+ MainLoop.Run ();
+
+ // Stop the discoverer process
+ Discoverer.Stop ();
+ }
+ }
+} \ No newline at end of file
diff --git a/subprojects/gstreamer-sharp/samples/ExampleVolume.cs b/subprojects/gstreamer-sharp/samples/ExampleVolume.cs
new file mode 100644
index 0000000000..ef62782df4
--- /dev/null
+++ b/subprojects/gstreamer-sharp/samples/ExampleVolume.cs
@@ -0,0 +1,115 @@
+using GLib;
+using Gst;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Reflection;
+using System.Runtime.InteropServices;
+using System.Text;
+
+namespace GstreamerSharp
+{
+ class Program
+ {
+ static void Main(string[] args)
+ {
+ Gst.Application.Init(ref args);
+
+ Element src = ElementFactory.Make("audiotestsrc");
+ Element convert = ElementFactory.Make("audioconvert");
+ Element volume = new ExampleVolume();
+ Element sink = ElementFactory.Make("autoaudiosink");
+
+ Pipeline pipeline = new Pipeline();
+ pipeline.Add(src, convert, volume, sink);
+ Element.Link(src, convert, volume, sink);
+
+ pipeline.SetState(State.Playing);
+
+ MainLoop loop = new MainLoop();
+ loop.Run();
+
+ pipeline.SetState(State.Null);
+
+ Console.ReadLine();
+ }
+ }
+ class ExampleVolume : Element
+ {
+ public ExampleVolume()
+ {
+ Volume = 0.5;
+
+ _sink = new Pad(__sinkTemplate, "sink");
+ _sink.ChainFunctionFull = Chain;
+ _sink.Flags |= PadFlags.ProxyCaps;
+ AddPad(_sink);
+
+ _src = new Pad(__srcTemplate, "src");
+ _src.Flags |= PadFlags.ProxyCaps;
+ AddPad(_src);
+ }
+
+ public double Volume { get; set; }
+
+ FlowReturn Chain(Pad pad, Gst.Object parent, Gst.Buffer buffer)
+ {
+ if (Volume == 1.0)
+ {
+ return _src.Push(buffer);
+ }
+
+ buffer.MakeWritable();
+
+ MapInfo mapInfo;
+ buffer.Map(out mapInfo, MapFlags.Read | MapFlags.Write);
+
+ ScaleInt16(mapInfo.DataPtr, mapInfo.Size / 2, Volume);
+
+ buffer.Unmap(mapInfo);
+
+ return _src.Push(buffer);
+ }
+
+ private unsafe void ScaleInt16(IntPtr data, ulong size, double volume)
+ {
+ Int16* sample = (Int16*)data;
+ for (ulong i = 0; i < size; i++)
+ {
+ *sample = ClampInt16(*sample * volume);
+ sample++;
+ }
+ }
+
+ private Int16 ClampInt16(double d)
+ {
+ int i = (int)Math.Round(d);
+
+ if (i > Int16.MaxValue)
+ {
+ return Int16.MaxValue;
+ }
+ else if (i < Int16.MinValue)
+ {
+ return Int16.MinValue;
+ }
+ else
+ {
+ return (Int16)i;
+ }
+ }
+
+ Pad _src;
+ Pad _sink;
+
+ static ExampleVolume()
+ {
+ Caps audioCaps = Caps.FromString("audio/x-raw, format=(string) S16LE, rate=(int) [1, MAX], channels=(int) 2, layout=(string) interleaved");
+ __srcTemplate = new PadTemplate("src", PadDirection.Src, PadPresence.Always, audioCaps);
+ __sinkTemplate = new PadTemplate("sink", PadDirection.Sink, PadPresence.Always, audioCaps);
+ }
+
+ static PadTemplate __srcTemplate;
+ static PadTemplate __sinkTemplate;
+ }
+}
diff --git a/subprojects/gstreamer-sharp/samples/GESExample.cs b/subprojects/gstreamer-sharp/samples/GESExample.cs
new file mode 100644
index 0000000000..6ba2dbd478
--- /dev/null
+++ b/subprojects/gstreamer-sharp/samples/GESExample.cs
@@ -0,0 +1,70 @@
+// Authors
+// Copyright (C) 2017 Thibault Saunier <thibault.saunier@osg-samsung.com>
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+// 02110-1301 USA
+
+
+using System;
+using Gst;
+using System.Diagnostics;
+
+namespace GESSharp
+{
+ class GESExample
+ {
+ public static void Main (string[] args)
+ {
+ // Initialize Gstreamer
+ Gst.Application.Init();
+
+ // Build the pipeline
+ GES.Global.Init();
+ var pipeline = new GES.Pipeline();
+ var timeline = GES.Timeline.NewAudioVideo();
+ var layer = timeline.AppendLayer();
+
+ pipeline["timeline"] = timeline;
+
+ var clip = new GES.TitleClip();
+ clip.Duration = Constants.SECOND * 5;
+ layer.AddClip(clip);
+ clip.SetChildProperty("text", new GLib.Value("Clip 1"));
+
+ var clip1 = new GES.TitleClip();
+ clip1.Start = Constants.SECOND * 5;
+ clip1.Duration = Constants.SECOND * 5;
+ layer.AddClip(clip1);
+ clip1.SetChildProperty("text", new GLib.Value("Clip 2"));
+
+ timeline.Commit();
+
+ pipeline.SetState(State.Playing);
+ //// Wait until error or EOS
+ var bus = pipeline.Bus;
+ Message msg = null;
+ while (msg == null) {
+ var format = Format.Time;
+ long position;
+ msg = bus.TimedPopFiltered (Gst.Constants.SECOND, MessageType.Eos | MessageType.Error);
+
+ pipeline.QueryPosition (format, out position);
+ Console.WriteLine("position: " + Global.TimeFormat(position)
+ + " / " + Global.TimeFormat(timeline.Duration));
+ }
+ pipeline.SetState(State.Null);
+ }
+ }
+}
diff --git a/subprojects/gstreamer-sharp/samples/Playback.cs b/subprojects/gstreamer-sharp/samples/Playback.cs
new file mode 100644
index 0000000000..fc53b5ce89
--- /dev/null
+++ b/subprojects/gstreamer-sharp/samples/Playback.cs
@@ -0,0 +1,96 @@
+// Copyright (C) 2013 Stephan Sundermann <stephansundermann@gmail.com>
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU Affero General Public License as
+// published by the Free Software Foundation, either version 3 of the
+// License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU Affero General Public License for more details.
+//
+// You should have received a copy of the GNU Affero General Public License
+// along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+using System;
+using Gst;
+
+namespace GstreamerSharp
+{
+ class Playback
+ {
+ static GLib.MainLoop Loop;
+ static Element element;
+
+ public static void Main (string[] args)
+ {
+ Loop = new GLib.MainLoop();
+
+ Application.Init(ref args);
+ element = Gst.Parse.Launch("playbin uri=http://ftp.nluug.nl/ftp/graphics/blender/apricot/trailer/Sintel_Trailer1.1080p.DivX_Plus_HD.mkv");
+
+ element.Bus.AddSignalWatch();
+ element.Bus.Message += Handle;
+ element.SetState(State.Playing);
+ Loop.Run();
+ }
+
+ static void Handle (object e, MessageArgs args)
+ {
+
+ switch (args.Message.Type) {
+ case MessageType.StateChanged:
+ State oldstate, newstate, pendingstate;
+ args.Message.ParseStateChanged (out oldstate, out newstate, out pendingstate);
+ System.Console.WriteLine ("[StateChange] From " + oldstate + " to " + newstate + " pending at " + pendingstate);
+ break;
+ case MessageType.StreamStatus:
+ Element owner;
+ StreamStatusType type;
+ args.Message.ParseStreamStatus (out type, out owner);
+ System.Console.WriteLine ("[StreamStatus] Type" + type + " from " + owner);
+ break;
+ case MessageType.DurationChanged:
+ long duration;
+ element.QueryDuration (Format.Time, out duration);
+ System.Console.WriteLine ("[DurationChanged] New duration is " + (duration / Constants.SECOND) + " seconds");
+ break;
+ case MessageType.ResetTime:
+ ulong runningtime = args.Message.ParseResetTime ();
+ System.Console.WriteLine ("[ResetTime] Running time is " + runningtime);
+ break;
+ case MessageType.AsyncDone:
+ ulong desiredrunningtime = args.Message.ParseAsyncDone ();
+ System.Console.WriteLine ("[AsyncDone] Running time is " + desiredrunningtime);
+ break;
+ case MessageType.NewClock:
+ Clock clock = args.Message.ParseNewClock ();
+ System.Console.WriteLine ("[NewClock] " + clock);
+ break;
+ case MessageType.Buffering:
+ int percent = args.Message.ParseBuffering ();
+ System.Console.WriteLine ("[Buffering] " + percent + " % done");
+ break;
+ case MessageType.Tag:
+ TagList list = args.Message.ParseTag ();
+ System.Console.WriteLine ("[Tag] Information in scope " + list.Scope + " is " + list.ToString());
+ break;
+ case MessageType.Error:
+ GLib.GException gerror;
+ string debug;
+ args.Message.ParseError (out gerror, out debug);
+ System.Console.WriteLine ("[Error] " + gerror.Message + " debug information " + debug + ". Exiting! ");
+ Loop.Quit ();
+ break;
+ case MessageType.Eos:
+ System.Console.WriteLine ("[Eos] Playback has ended. Exiting!");
+ Loop.Quit ();
+ break;
+ default:
+ System.Console.WriteLine ("[Recv] " + args.Message.Type);
+ break;
+ }
+ }
+ }
+} \ No newline at end of file
diff --git a/subprojects/gstreamer-sharp/samples/PlaybackTutorial1.cs b/subprojects/gstreamer-sharp/samples/PlaybackTutorial1.cs
new file mode 100644
index 0000000000..c0a9ba349a
--- /dev/null
+++ b/subprojects/gstreamer-sharp/samples/PlaybackTutorial1.cs
@@ -0,0 +1,186 @@
+// Authors
+// Copyright (C) 2014 Stephan Sundermann <stephansundermann@gmail.com>
+
+using System;
+using Gst;
+using System.Runtime.InteropServices;
+
+namespace GstreamerSharp
+{
+ class Playback
+ {
+ // playbin flags
+ static uint Video = (1 << 0); // We want video output
+ static uint Audio = (1 << 1); // We want audio output
+ static uint Text = (1 << 2); // We want subtitle output
+
+ static Element Playbin;
+ static int NAudio, NVideo, NText;
+ static int CurrentVideo, CurrentAudio, CurrentText;
+ static GLib.MainLoop MainLoop;
+
+ public static void Main (string[] args)
+ {
+ // Initialize GStreamer
+ Application.Init (ref args);
+
+ // Create the elements
+ Playbin = ElementFactory.Make ("playbin", "playbin");
+
+ if (Playbin == null) {
+ Console.WriteLine ("Not all elements could be created.");
+ return;
+ }
+
+ // Set the URI to play
+ Playbin ["uri"] = "http://freedesktop.org/software/gstreamer-sdk/data/media/sintel_cropped_multilingual.webm";
+
+ // Set flags to show Audio and Video but ignore Subtitles
+ var flags = (uint)Playbin ["flags"];
+ flags |= Audio | Video;
+ flags &= ~Text;
+ Playbin ["flags"] = flags;
+
+ // Set connection speed. This will affect some internal decisions of playbin2
+ Playbin ["connection-speed"] = 56;
+
+ // Add a bus watch, so we get notified when a message arrives
+ var bus = Playbin.Bus;
+ bus.AddSignalWatch ();
+ bus.Message += HandleMessage;
+
+ // Start playing
+ var ret = Playbin.SetState (State.Playing);
+ if (ret == StateChangeReturn.Failure) {
+ Console.WriteLine ("Unable to set the pipeline to the playing state.");
+ return;
+ }
+
+ // Add a keyboard watch so we get notified of keystrokes
+ GLib.Idle.Add (HandleKeyboard);
+ MainLoop = new GLib.MainLoop ();
+ MainLoop.Run ();
+
+ // Free resources
+ Playbin.SetState (State.Null);
+ }
+
+ static void HandleMessage (object o, MessageArgs args)
+ {
+ var msg = args.Message;
+ switch (msg.Type) {
+ case MessageType.Error:
+ GLib.GException err;
+ string debug;
+ msg.ParseError (out err, out debug);
+ Console.WriteLine ("Error received from element {0}: {1}", msg.Src, err.Message);
+ Console.WriteLine ("Debugging information: {0}", debug != null ? debug : "none");
+ MainLoop.Quit ();
+ break;
+ case MessageType.Eos:
+ Console.WriteLine ("End-Of-Stream reached.");
+ MainLoop.Quit ();
+ break;
+ case MessageType.StateChanged: {
+ State oldState, newState, pendingState;
+ msg.ParseStateChanged (out oldState, out newState, out pendingState);
+ if (msg.Src == Playbin) {
+ if (newState == State.Playing) {
+ // Once we are in the playing state, analyze the streams
+ AnalyzeStreams ();
+ }
+ }
+ } break;
+ default:
+ break;
+ }
+
+ // We want to keep receiving messages
+ args.RetVal = true;
+ }
+
+ // Extract some metadata from the streams and print it on the screen
+ static void AnalyzeStreams () {
+ // Read some properties
+ NVideo = (int)Playbin ["n-video"];
+ NAudio = (int)Playbin ["n-audio"];
+ NText = (int)Playbin ["n-text"];
+
+ Console.WriteLine ("{0} video stream(s), {1} audio stream(s), {2} text stream(s)", NVideo, NAudio, NText);
+
+ Console.WriteLine ();
+ for (int i = 0; i < NVideo; i++) {
+ // Retrieve the stream's video tags
+ var tags = (TagList)Playbin.Emit ("get-video-tags", new object [] { i });
+ if (tags != null) {
+ Console.WriteLine ("video stream {0}", i);
+ string str;
+ tags.GetString (Constants.TAG_VIDEO_CODEC, out str);
+ Console.WriteLine (" codec: {0}", str != null ? str : "unknown");
+ }
+ }
+
+ Console.WriteLine ();
+ for (int i = 0; i < NAudio; i++) {
+ // Retrieve the stream's audio tags
+ var tags = (TagList)Playbin.Emit ("get-audio-tags", new object [] { i });
+ if (tags != null) {
+ Console.WriteLine ("audio stream {0}", i);
+ string str;
+ if (tags.GetString (Constants.TAG_AUDIO_CODEC, out str)) {
+ Console.WriteLine (" codec: {0}", str);
+ }
+ if (tags.GetString (Constants.TAG_LANGUAGE_CODE, out str)) {
+ Console.WriteLine (" language: {0}", str);
+ }
+ uint rate;
+ if (tags.GetUint (Constants.TAG_BITRATE, out rate)) {
+ Console.WriteLine (" bitrate: {0}", rate);
+ }
+ }
+ }
+
+ Console.WriteLine ();
+ for (int i = 0; i < NText; i++) {
+ // Retrieve the stream's subtitle tags
+ var tags = (TagList)Playbin.Emit ("get-text-tags", new object [] { i });
+ if (tags != null) {
+ Console.WriteLine ("subtitle stream {0}", i);
+ string str;
+ if (tags.GetString (Constants.TAG_LANGUAGE_CODE, out str)) {
+ Console.WriteLine (" language: {0}", str);
+ }
+ }
+ }
+
+ CurrentAudio = (int)Playbin ["current-audio"];
+ CurrentVideo = (int)Playbin ["current-video"];
+ CurrentText = (int)Playbin ["current-text"];
+
+ Console.WriteLine ();
+ Console.WriteLine ("Currently playing video stream {0}, audio stream {1} and text stream {2}", CurrentVideo, CurrentAudio, CurrentText);
+ Console.WriteLine ("Type any number to select a different audio stream");
+ }
+
+ // Process keyboard input
+ static bool HandleKeyboard () {
+ if (Console.KeyAvailable) {
+ var key = Console.ReadKey (false);
+
+ if (char.IsDigit (key.KeyChar)) {
+ var digit = int.Parse (key.KeyChar.ToString ());
+
+ if (digit < 0 || digit > NAudio) {
+ Console.WriteLine ("Index out of bounds");
+ } else {
+ // If the input was a valid audio stream index, set the current audio stream
+ Console.WriteLine ("Setting current audio stream to {0}", digit);
+ Playbin ["current-audio"] = digit;
+
+ }
+ }
+ }
+ return true;
+ }
+ }
+} \ No newline at end of file
diff --git a/subprojects/gstreamer-sharp/samples/PlaybackTutorial2.cs b/subprojects/gstreamer-sharp/samples/PlaybackTutorial2.cs
new file mode 100644
index 0000000000..20ff29d49e
--- /dev/null
+++ b/subprojects/gstreamer-sharp/samples/PlaybackTutorial2.cs
@@ -0,0 +1,185 @@
+// Authors
+// Copyright (C) 2014 Stephan Sundermann <stephansundermann@gmail.com>
+
+using System;
+using Gst;
+using System.Runtime.InteropServices;
+
+namespace GstreamerSharp
+{
+ class Playback
+ {
+ // playbin flags
+ static uint Video = (1 << 0); // We want video output
+ static uint Audio = (1 << 1); // We want audio output
+ static uint Text = (1 << 2); // We want subtitle output
+
+ static Element Playbin;
+ static int NAudio, NVideo, NText;
+ static int CurrentVideo, CurrentAudio, CurrentText;
+ static GLib.MainLoop MainLoop;
+
+ public static void Main (string[] args)
+ {
+ // Initialize GStreamer
+ Application.Init (ref args);
+
+ // Create the elements
+ Playbin = ElementFactory.Make ("playbin", "playbin");
+
+ if (Playbin == null) {
+ Console.WriteLine ("Not all elements could be created.");
+ return;
+ }
+
+ // Set the URI to play
+ Playbin ["uri"] = "http://freedesktop.org/software/gstreamer-sdk/data/media/sintel_trailer-480p.ogv";
+
+ // Set the subtitle URI to play and some font description
+ Playbin ["suburi"] = "http://freedesktop.org/software/gstreamer-sdk/data/media/sintel_trailer_gr.srt";
+ Playbin ["subtitle-font-desc"] = "Sans, 18";
+
+ // Set flags to show Audio and Video and Subtitles
+ var flags = (uint)Playbin ["flags"];
+ flags |= Audio | Video | Text;
+ Playbin ["flags"] = flags;
+
+ // Add a bus watch, so we get notified when a message arrives
+ var bus = Playbin.Bus;
+ bus.AddSignalWatch ();
+ bus.Message += HandleMessage;
+
+ // Start playing
+ var ret = Playbin.SetState (State.Playing);
+ if (ret == StateChangeReturn.Failure) {
+ Console.WriteLine ("Unable to set the pipeline to the playing state.");
+ return;
+ }
+
+ // Add a keyboard watch so we get notified of keystrokes
+ GLib.Idle.Add (HandleKeyboard);
+ MainLoop = new GLib.MainLoop ();
+ MainLoop.Run ();
+
+ // Free resources
+ Playbin.SetState (State.Null);
+ }
+
+ static void HandleMessage (object o, MessageArgs args)
+ {
+ var msg = args.Message;
+ switch (msg.Type) {
+ case MessageType.Error:
+ GLib.GException err;
+ string debug;
+ msg.ParseError (out err, out debug);
+ Console.WriteLine ("Error received from element {0}: {1}", msg.Src, err.Message);
+ Console.WriteLine ("Debugging information: {0}", debug != null ? debug : "none");
+ MainLoop.Quit ();
+ break;
+ case MessageType.Eos:
+ Console.WriteLine ("End-Of-Stream reached.");
+ MainLoop.Quit ();
+ break;
+ case MessageType.StateChanged: {
+ State oldState, newState, pendingState;
+ msg.ParseStateChanged (out oldState, out newState, out pendingState);
+ if (msg.Src == Playbin) {
+ if (newState == State.Playing) {
+ // Once we are in the playing state, analyze the streams
+ AnalyzeStreams ();
+ }
+ }
+ } break;
+ default:
+ break;
+ }
+
+ // We want to keep receiving messages
+ args.RetVal = true;
+ }
+
+ // Extract some metadata from the streams and print it on the screen
+ static void AnalyzeStreams () {
+ // Read some properties
+ NVideo = (int)Playbin ["n-video"];
+ NAudio = (int)Playbin ["n-audio"];
+ NText = (int)Playbin ["n-text"];
+
+ Console.WriteLine ("{0} video stream(s), {1} audio stream(s), {2} text stream(s)", NVideo, NAudio, NText);
+
+ Console.WriteLine ();
+ for (int i = 0; i < NVideo; i++) {
+ // Retrieve the stream's video tags
+ var tags = (TagList)Playbin.Emit ("get-video-tags", new object [] { i });
+ if (tags != null) {
+ Console.WriteLine ("video stream {0}", i);
+ string str;
+ tags.GetString (Constants.TAG_VIDEO_CODEC, out str);
+ Console.WriteLine (" codec: {0}", str != null ? str : "unknown");
+ }
+ }
+
+ Console.WriteLine ();
+ for (int i = 0; i < NAudio; i++) {
+ // Retrieve the stream's audio tags
+ var tags = (TagList)Playbin.Emit ("get-audio-tags", new object [] { i });
+ if (tags != null) {
+ Console.WriteLine ("audio stream {0}", i);
+ string str;
+ if (tags.GetString (Constants.TAG_AUDIO_CODEC, out str)) {
+ Console.WriteLine (" codec: {0}", str);
+ }
+ if (tags.GetString (Constants.TAG_LANGUAGE_CODE, out str)) {
+ Console.WriteLine (" language: {0}", str);
+ }
+ uint rate;
+ if (tags.GetUint (Constants.TAG_BITRATE, out rate)) {
+ Console.WriteLine (" bitrate: {0}", rate);
+ }
+ }
+ }
+
+ Console.WriteLine ();
+ for (int i = 0; i < NText; i++) {
+ // Retrieve the stream's subtitle tags
+ var tags = (TagList)Playbin.Emit ("get-text-tags", new object [] { i });
+ if (tags != null) {
+ Console.WriteLine ("subtitle stream {0}", i);
+ string str;
+ if (tags.GetString (Constants.TAG_LANGUAGE_CODE, out str)) {
+ Console.WriteLine (" language: {0}", str);
+ }
+ }
+ }
+
+ CurrentAudio = (int)Playbin ["current-audio"];
+ CurrentVideo = (int)Playbin ["current-video"];
+ CurrentText = (int)Playbin ["current-text"];
+
+ Console.WriteLine ();
+ Console.WriteLine ("Currently playing video stream {0}, audio stream {1} and text stream {2}", CurrentVideo, CurrentAudio, CurrentText);
+ Console.WriteLine ("Type any number to select a different subtitle stream");
+ }
+
+ // Process keyboard input
+ static bool HandleKeyboard () {
+ if (Console.KeyAvailable) {
+ var key = Console.ReadKey (false);
+
+ if (char.IsDigit (key.KeyChar)) {
+ var digit = int.Parse (key.KeyChar.ToString ());
+
+ if (digit < 0 || digit > NText) {
+ Console.WriteLine ("Index out of bounds");
+ } else {
+ // If the input was a valid subtitle stream index, set the current subtitle stream
+ Console.WriteLine ("Setting current subtitle stream to {0}", digit);
+ Playbin ["current-text"] = digit;
+ }
+ }
+ }
+ return true;
+ }
+ }
+} \ No newline at end of file
diff --git a/subprojects/gstreamer-sharp/samples/PlaybackTutorial3.cs b/subprojects/gstreamer-sharp/samples/PlaybackTutorial3.cs
new file mode 100644
index 0000000000..c597ca68b5
--- /dev/null
+++ b/subprojects/gstreamer-sharp/samples/PlaybackTutorial3.cs
@@ -0,0 +1,153 @@
+// Authors
+// Copyright (C) 2014 Stephan Sundermann <stephansundermann@gmail.com>
+
+using System;
+using Gst;
+using System.Runtime.InteropServices;
+
+namespace GstreamerSharp
+{
+ class Playback
+ {
+ const int ChunkSize = 1024;
+ const int SampleRate = 44100;
+
+ static Gst.App.AppSrc AppSource;
+ static Element Pipeline;
+
+ static long NumSamples; // Number of samples generated so far (for timestamp generation)
+ static float a, b, c, d; // For waveform generation
+
+ static uint Sourceid; // To control the GSource
+
+ static GLib.MainLoop MainLoop; // GLib's Main Loop
+
+ // This method is called by the idle GSource in the mainloop, to feed CHUNK_SIZE bytes into appsrc.
+ // The idle handler is added to the mainloop when appsrc requests us to start sending data (need-data signal)
+ // and is removed when appsrc has enough data (enough-data signal).
+
+ static bool PushData () {
+ var numSamples = ChunkSize / 2; // Because each sample is 16 bits
+ MapInfo map;
+
+ // Create a new empty buffer
+ var buffer = new Gst.Buffer (null, ChunkSize, AllocationParams.Zero);
+
+ // Set its timestamp and duration
+ buffer.Pts = Util.Uint64Scale ((ulong)NumSamples, (ulong)Constants.SECOND, (ulong)SampleRate);
+ buffer.Dts = Util.Uint64Scale ((ulong)NumSamples, (ulong)Constants.SECOND, (ulong)SampleRate);
+ buffer.Duration = Util.Uint64Scale ((ulong)NumSamples, (ulong)Constants.SECOND, (ulong)SampleRate);
+
+ // Generate some psychodelic waveforms
+ buffer.Map (out map, MapFlags.Write);
+ c += d;
+ d -= c / 1000f;
+ var freq = 1100f + 1000f * d;
+ short[] data = new short[numSamples];
+ for (int i = 0; i < numSamples; i++) {
+ a += b;
+ b -= a / freq;
+ data[i] = (short)(500f * a);
+ }
+ // convert the short[] to a byte[] by marshalling
+ var native = Marshal.AllocHGlobal (data.Length * sizeof(short));
+ Marshal.Copy (data, 0, native, data.Length);
+ byte[] bytedata = new byte[2 * data.Length];
+ Marshal.Copy (native, bytedata, 0, data.Length * sizeof(short));
+
+ map.Data = bytedata;
+ buffer.Unmap (map);
+ NumSamples += numSamples;
+
+ // Push the buffer into the appsrc
+ var ret = AppSource.PushBuffer (buffer);
+
+ // Free the buffer now that we are done with it
+ buffer.Dispose ();
+
+ if (ret != FlowReturn.Ok) {
+ // We got some error, stop sending data
+ return false;
+ }
+ return true;
+ }
+
+ // This signal callback triggers when appsrc needs Here, we add an idle handler
+ // to the mainloop to start pushing data into the appsrc
+ static void StartFeed (object sender, Gst.App.NeedDataArgs args) {
+ if (Sourceid == 0) {
+ Console.WriteLine ("Start feeding");
+ Sourceid = GLib.Idle.Add (PushData);
+ }
+ }
+
+ // This callback triggers when appsrc has enough data and we can stop sending.
+ // We remove the idle handler from the mainloop
+ static void StopFeed (object sender, EventArgs args) {
+ if (Sourceid != 0) {
+ Console.WriteLine ("Stop feeding");
+ GLib.Source.Remove (Sourceid);
+ Sourceid = 0;
+ }
+ }
+
+ // This function is called when playbin has created the appsrc element, so we have a chance to configure it.
+ static void SourceSetup (object sender, GLib.SignalArgs args) {
+ var info = new Gst.Audio.AudioInfo ();
+ var source = new Gst.App.AppSrc(((Element)args.Args [0]).Handle);
+ Console.WriteLine ("Source has been created. Configuring.");
+ AppSource = source;
+
+ // Configure appsrc
+ Gst.Audio.AudioChannelPosition[] position = {};
+ info.SetFormat (Gst.Audio.AudioFormat.S16, SampleRate, 1, position);
+ var audioCaps = info.ToCaps ();
+ source ["caps"] = audioCaps;
+ source ["format"] = Format.Time;
+ source.NeedData += StartFeed;
+ source.EnoughData += StopFeed;
+ }
+
+ // This function is called when an error message is posted on the bus
+ static void HandleError (object sender, GLib.SignalArgs args) {
+ GLib.GException err;
+ string debug;
+ var msg = (Message) args.Args[0];
+
+ // Print error details on the screen
+ msg.ParseError (out err, out debug);
+ Console.WriteLine ("Error received from element {0}: {1}", msg.Src.Name, err.Message);
+ Console.WriteLine ("Debugging information: {0}", debug != null ? debug : "none");
+
+ MainLoop.Quit ();
+ }
+
+ public static void Main (string[] args)
+ {
+ b = 1;
+ d = 1;
+
+ // Initialize Gstreamer
+ Gst.Application.Init(ref args);
+
+ // Create the playbin element
+ Pipeline = Parse.Launch ("playbin uri=appsrc://");
+ Pipeline.Connect ("source-setup", SourceSetup);
+
+ // Instruct the bus to emit signals for each received message, and connect to the interesting signals
+ var bus = Pipeline.Bus;
+ bus.AddSignalWatch ();
+ bus.Connect ("message::error", HandleError);
+
+ // Start playing the pipeline
+ Pipeline.SetState (State.Playing);
+
+ // Create a GLib Main Loop and set it to run
+ MainLoop = new GLib.MainLoop ();
+ MainLoop.Run ();
+
+ // Free resources
+ Pipeline.SetState (State.Null);
+ }
+ }
+} \ No newline at end of file
diff --git a/subprojects/gstreamer-sharp/samples/PlaybackTutorial4.cs b/subprojects/gstreamer-sharp/samples/PlaybackTutorial4.cs
new file mode 100644
index 0000000000..c31e99d629
--- /dev/null
+++ b/subprojects/gstreamer-sharp/samples/PlaybackTutorial4.cs
@@ -0,0 +1,147 @@
+// Authors
+// Copyright (C) 2014 Stephan Sundermann <stephansundermann@gmail.com>
+
+using System;
+using Gst;
+using System.Runtime.InteropServices;
+using System.Text;
+
+namespace GstreamerSharp
+{
+ class Playback
+ {
+ const int GraphLength = 78;
+ static uint PlayFlagDownload = (1 << 7); // Enable progressive download (on selected formats)
+
+ static bool IsLive;
+ static Element Pipeline;
+ static GLib.MainLoop MainLoop;
+ static int BufferingLevel;
+
+ static void GotLocation (object sender, GLib.SignalArgs args) {
+ var propObject = (Gst.Object)args.Args [0];
+ var location = (string) propObject["temp-location"];
+ Console.WriteLine ("Temporary file: {0}", location);
+ // Uncomment this line to keep the temporary file after the program exits
+ // g_object_set (G_OBJECT (prop_object), "temp-remove", FALSE, NULL);
+ }
+
+ public static void Main (string[] args)
+ {
+ // Initialize GStreamer
+ Application.Init (ref args);
+ BufferingLevel = 100;
+
+ // Build the pipeline
+ Pipeline = Parse.Launch ("playbin uri=http://freedesktop.org/software/gstreamer-sdk/data/media/sintel_trailer-480p.webm");
+ var bus = Pipeline.Bus;
+
+ // Set the download flag
+ var flags = (uint)Pipeline ["flags"];
+ flags |= PlayFlagDownload;
+ Pipeline ["flags"] = flags;
+
+ // Uncomment this line to limit the amount of downloaded data
+ // g_object_set (pipeline, "ring-buffer-max-size", (guint64)4000000, NULL);
+
+ // Start playing
+ var ret = Pipeline.SetState (State.Playing);
+ if (ret == StateChangeReturn.Failure) {
+ Console.WriteLine ("Unable to set the pipeline to the playing state.");
+ return;
+ } else if (ret == StateChangeReturn.NoPreroll) {
+ IsLive = true;
+ }
+
+ MainLoop = new GLib.MainLoop ();
+
+ bus.AddSignalWatch ();
+ bus.Message += HandleMessage;
+ Pipeline.Connect ("deep-notify::temp-location", GotLocation);
+
+ // Register a function that GLib will call every second
+ GLib.Timeout.AddSeconds (1, RefreshUI);
+
+ MainLoop.Run ();
+
+ // Free resources
+ Pipeline.SetState (State.Null);
+ }
+
+ static void HandleMessage (object o, MessageArgs args)
+ {
+ var msg = args.Message;
+ switch (msg.Type) {
+ case MessageType.Error: {
+ GLib.GException err;
+ string debug;
+
+ msg.ParseError (out err, out debug);
+ Console.WriteLine ("Error: {0}", err.Message);
+
+ Pipeline.SetState (State.Ready);
+ MainLoop.Quit ();
+ break;
+ }
+ case MessageType.Eos:
+ // end-of-stream
+ Pipeline.SetState (State.Ready);
+ MainLoop.Quit ();
+ break;
+ case MessageType.Buffering: {
+ int percent = 0;
+
+ // If the stream is live, we do not care about buffering.
+ if (IsLive) break;
+
+ percent = msg.ParseBuffering ();
+ // Wait until buffering is complete before start/resume playing
+ if (percent < 100)
+ Pipeline.SetState (State.Paused);
+ else
+ Pipeline.SetState (State.Playing);
+ break;
+ }
+ case MessageType.ClockLost:
+ // Get a new clock
+ Pipeline.SetState (State.Paused);
+ Pipeline.SetState (State.Playing);
+ break;
+ default:
+ // Unhandled message
+ break;
+ }
+ }
+
+ static bool RefreshUI () {
+ var query = new Query (Format.Percent);
+ if (Pipeline.Query (query)) {
+ var graph = new StringBuilder (GraphLength);
+ long position = 0, duration = 0;
+
+ var nRanges = query.NBufferingRanges;
+ for (uint range = 0; range < nRanges; range++) {
+ long start, stop;
+ query.ParseNthBufferingRange (range, out start, out stop);
+ start = start * GraphLength / (stop - start);
+ stop = stop * GraphLength / (stop - start);
+ for (int i = (int)start; i < stop; i++)
+ graph.Insert (i, '-');
+ }
+ if (Pipeline.QueryPosition (Format.Time, out position) && position >= 0
+ && Pipeline.QueryDuration (Format.Time, out duration) && duration >= 0) {
+ var i = (int)(GraphLength * (double)position / (double)(duration + 1));
+ graph [i] = BufferingLevel < 100 ? 'X' : '>';
+ }
+ Console.WriteLine ("[{0}]", graph);
+ if (BufferingLevel < 100) {
+ Console.WriteLine (" Buffering: {0}", BufferingLevel);
+ } else {
+ Console.WriteLine (" ");
+ }
+ Console.WriteLine ();
+ }
+ return true;
+ }
+ }
+} \ No newline at end of file
diff --git a/subprojects/gstreamer-sharp/samples/PlaybackTutorial5.cs b/subprojects/gstreamer-sharp/samples/PlaybackTutorial5.cs
new file mode 100644
index 0000000000..8fd17b2b6b
--- /dev/null
+++ b/subprojects/gstreamer-sharp/samples/PlaybackTutorial5.cs
@@ -0,0 +1,126 @@
+// Authors
+// Copyright (C) 2014 Stephan Sundermann <stephansundermann@gmail.com>
+
+using System;
+using Gst;
+using System.Runtime.InteropServices;
+using System.Text;
+
+namespace GstreamerSharp
+{
+ class Playback
+ {
+ static Element Pipeline;
+ static GLib.MainLoop MainLoop;
+
+ // Process a color balance command
+ static void UpdateColorChannel (string channelName, bool increase, Gst.Video.IColorBalance cb) {
+
+ // Retrieve the list of channels and locate the requested one
+ var channels = cb.ListChannels ();
+ Gst.Video.ColorBalanceChannel channel = null;
+ foreach (var ch in channels) {
+ var label = ch.Label;
+
+ if (label.Contains (channelName)) {
+ channel = ch;
+ break;
+ }
+ }
+ if (channel == null)
+ return;
+
+ // Change the channel's value
+ var step = 0.1 * (channel.MaxValue - channel.MinValue);
+ var value = cb.GetValue (channel);
+ if (increase) {
+ value = (int)(value + step);
+ if (value > channel.MaxValue)
+ value = channel.MaxValue;
+ } else {
+ value = (int)(value - step);
+ if (value < channel.MinValue)
+ value = channel.MinValue;
+ }
+ cb.SetValue (channel, value);
+ }
+
+ // Process keyboard input
+ static bool HandleKeyboard () {
+ if (Console.KeyAvailable) {
+ var key = Console.ReadKey (false);
+ var cb = new Gst.Video.ColorBalanceAdapter (Pipeline.Handle);
+
+ switch (key.Key) {
+ case ConsoleKey.C:
+ UpdateColorChannel ("CONTRAST", key.Modifiers == ConsoleModifiers.Shift, cb);
+ break;
+ case ConsoleKey.B:
+ UpdateColorChannel ("BRIGHTNESS", key.Modifiers == ConsoleModifiers.Shift, cb);
+ break;
+ case ConsoleKey.H:
+ UpdateColorChannel ("HUE", key.Modifiers == ConsoleModifiers.Shift, cb);
+ break;
+ case ConsoleKey.S:
+ UpdateColorChannel ("SATURATION", key.Modifiers == ConsoleModifiers.Shift, cb);
+ break;
+ case ConsoleKey.Q:
+ MainLoop.Quit ();
+ break;
+ }
+ PrintCurrentValues ();
+ }
+ return true;
+ }
+
+
+ // Output the current values of all Color Balance channels
+ static void PrintCurrentValues () {
+ // Output Color Balance value
+ var cb = new Gst.Video.ColorBalanceAdapter (Pipeline.Handle);
+ var channels = cb.ListChannels ();
+
+ foreach (var ch in channels) {
+ var value = cb.GetValue (ch);
+ Console.WriteLine ("{0}: {1}", ch.Label, 100 * (value - ch.MinValue) / (ch.MaxValue - ch.MinValue));
+ }
+ Console.WriteLine ();
+ }
+
+ public static void Main (string[] args)
+ {
+ // Initialize GStreamer
+ Application.Init (ref args);
+ GtkSharp.GstreamerSharp.ObjectManager.Initialize ();
+
+ // Print usage map
+ Console.WriteLine ("USAGE: Choose one of the following options, then press enter:");
+ Console.WriteLine (" 'C' to increase contrast, 'c' to decrease contrast");
+ Console.WriteLine (" 'B' to increase brightness, 'b' to decrease brightness");
+ Console.WriteLine (" 'H' to increase hue, 'h' to decrease hue");
+ Console.WriteLine (" 'S' to increase saturation, 's' to decrease saturation");
+ Console.WriteLine (" 'Q' to quit");
+
+ // Build the pipeline
+ Pipeline = Parse.Launch ("playbin uri=http://freedesktop.org/software/gstreamer-sdk/data/media/sintel_trailer-480p.webm");
+
+ // Add a keyboard watch so we get notified of keystrokes
+
+ // Start playing
+ var ret = Pipeline.SetState (State.Playing);
+ if (ret == StateChangeReturn.Failure) {
+ Console.WriteLine ("Unable to set the pipeline to the playing state.");
+ return;
+ }
+ PrintCurrentValues ();
+
+ // Create a GLib Main Loop and set it to run
+ MainLoop = new GLib.MainLoop ();
+ GLib.Timeout.Add (50, HandleKeyboard);
+ MainLoop.Run ();
+
+ // Free resources
+ Pipeline.SetState (State.Null);
+ }
+ }
+} \ No newline at end of file
diff --git a/subprojects/gstreamer-sharp/samples/PlaybackTutorial6.cs b/subprojects/gstreamer-sharp/samples/PlaybackTutorial6.cs
new file mode 100644
index 0000000000..1b74260f21
--- /dev/null
+++ b/subprojects/gstreamer-sharp/samples/PlaybackTutorial6.cs
@@ -0,0 +1,91 @@
+// Authors
+// Copyright (C) 2014 Stephan Sundermann <stephansundermann@gmail.com>
+
+using System;
+using Gst;
+using System.Runtime.InteropServices;
+using System.Text;
+
+namespace GstreamerSharp
+{
+ class Playback
+ {
+ const uint PlayFlagsVis = (1 << 3);
+
+ static Element Pipeline;
+
+ // Return TRUE if this is a Visualization element
+ static bool FilterVisFeatures (PluginFeature feature) {
+
+ if (!(feature is ElementFactory))
+ return false;
+ var factory = (ElementFactory)feature;
+ if (!factory.GetMetadata (Gst.Constants.ELEMENT_METADATA_KLASS).Contains ("Visualization"))
+ return false;
+
+ return true;
+ }
+
+ public static void Main (string[] args)
+ {
+ ElementFactory selectedFactory = null;
+
+ // Initialize GStreamer
+ Application.Init (ref args);
+
+ // Get a list of all visualization plugins
+ var list = Registry.Get().FeatureFilter (FilterVisFeatures, false);
+
+ // Print their names
+ Console.WriteLine ("Available visualization plugins:");
+ foreach (var walk in list) {
+ var factory = (ElementFactory)walk;
+ var name = factory.Name;
+ Console.WriteLine(" {0}", name);
+
+ if (selectedFactory == null && name.StartsWith ("goom")) {
+ selectedFactory = factory;
+ }
+ }
+
+ // Don't use the factory if it's still empty
+ // e.g. no visualization plugins found
+ if (selectedFactory == null) {
+ Console.WriteLine ("No visualization plugins found!");
+ return;
+ }
+
+ // We have now selected a factory for the visualization element
+ Console.WriteLine ("Selected '{0}'", selectedFactory.Name);
+ var visPlugin = selectedFactory.Create ();
+ if (visPlugin == null)
+ return;
+
+
+ // Build the pipeline
+ Pipeline = Parse.Launch ("playbin uri=http://1live.akacast.akamaistream.net/7/706/119434/v1/gnl.akacast.akamaistream.net/1live");
+
+ // Set the visualization flag
+ var flags = (uint)Pipeline ["flags"];
+ flags |= PlayFlagsVis;
+ Pipeline ["flags"] = flags;
+
+ // set vis plugin for playbin
+ Pipeline ["vis-plugin"] = visPlugin;
+
+ // Start playing
+ var ret = Pipeline.SetState (State.Playing);
+ if (ret == StateChangeReturn.Failure) {
+ Console.WriteLine ("Unable to set the pipeline to the playing state.");
+ return;
+ }
+
+ // Wait until error or EOS
+ var bus = Pipeline.Bus;
+ var msg = bus.TimedPopFiltered (Constants.CLOCK_TIME_NONE, MessageType.Error | MessageType.Eos);
+
+ // Free resources
+ Pipeline.SetState (State.Null);
+ }
+ }
+} \ No newline at end of file
diff --git a/subprojects/gstreamer-sharp/samples/PlaybackTutorial7.cs b/subprojects/gstreamer-sharp/samples/PlaybackTutorial7.cs
new file mode 100644
index 0000000000..f268fc21c0
--- /dev/null
+++ b/subprojects/gstreamer-sharp/samples/PlaybackTutorial7.cs
@@ -0,0 +1,61 @@
+// Authors
+// Copyright (C) 2014 Stephan Sundermann <stephansundermann@gmail.com>
+
+using System;
+using Gst;
+using System.Runtime.InteropServices;
+using System.Text;
+
+namespace GstreamerSharp
+{
+ class Playback
+ {
+ public static void Main (string[] args)
+ {
+ // Initialize GStreamer
+ Application.Init (ref args);
+
+ // Build the pipeline
+ var pipeline = Parse.Launch ("playbin uri=http://freedesktop.org/software/gstreamer-sdk/data/media/sintel_trailer-480p.webm");
+
+ // Create the elements inside the sink bin
+ var equalizer = ElementFactory.Make ("equalizer-3bands", "equalizer");
+ var convert = ElementFactory.Make ("audioconvert", "convert");
+ var sink = ElementFactory.Make ("autoaudiosink", "audio_sink");
+ if (equalizer == null || convert == null || sink == null) {
+ Console.WriteLine ("Not all elements could be created.");
+ return;
+ }
+
+ // Create the sink bin, add the elements and link them
+ var bin = new Bin ("audio_sink_bin");
+ bin.Add (equalizer, convert, sink);
+ Element.Link (equalizer, convert, sink);
+ var pad = equalizer.GetStaticPad ("sink");
+ var ghostPad = new GhostPad ("sink", pad);
+ ghostPad.SetActive (true);
+ bin.AddPad (ghostPad);
+
+ // Configure the equalizer
+ equalizer["band1"] = (double)-24.0;
+ equalizer["band2"] = (double)-24.0;
+
+ // Set playbin's audio sink to be our sink bin
+ pipeline["audio-sink"] = bin;
+
+ // Start playing
+ var ret = pipeline.SetState (State.Playing);
+ if (ret == StateChangeReturn.Failure) {
+ Console.WriteLine ("Unable to set the pipeline to the playing state.");
+ return;
+ }
+
+ // Wait until error or EOS
+ var bus = pipeline.Bus;
+ var msg = bus.TimedPopFiltered (Constants.CLOCK_TIME_NONE, MessageType.Error | MessageType.Eos);
+
+ // Free resources
+ pipeline.SetState (State.Null);
+ }
+ }
+} \ No newline at end of file
diff --git a/subprojects/gstreamer-sharp/samples/VideoOverlay.cs b/subprojects/gstreamer-sharp/samples/VideoOverlay.cs
new file mode 100644
index 0000000000..7bc9b1a296
--- /dev/null
+++ b/subprojects/gstreamer-sharp/samples/VideoOverlay.cs
@@ -0,0 +1,274 @@
+// Authors
+// Copyright (C) 2008 Paul Burton <paulburton89@gmail.com>
+// Copyright (C) 2010 Andoni Morales <ylatuya@gmail.com>
+// Copyright (C) 2013 Stephan Sundermann <stephansundermann@gmail.com>
+
+using System;
+using System;
+using System.Runtime.InteropServices;
+
+using Gtk;
+using Gst;
+using Gst.Video;
+using Gst.Base;
+
+namespace Gstreameroverlay
+{
+ public class MainWindow : Gtk.Window {
+ DrawingArea _da;
+ IntPtr _xWindowId;
+ Element _playbin;
+ HScale _scale;
+ Label _lbl;
+ bool _updatingScale;
+ bool _pipelineOK = false;
+
+ public static void Main (string[] args) {
+ if (System.Environment.OSVersion.Platform == PlatformID.Unix)
+ XInitThreads ();
+
+ Gtk.Application.Init ();
+ Gst.Application.Init ();
+ MainWindow window = new MainWindow ();
+ window.ShowAll ();
+
+ switch (System.Environment.OSVersion.Platform) {
+ case PlatformID.Unix:
+ window._xWindowId = gdk_x11_window_get_xid (window._da.GdkWindow.Handle);
+ break;
+ case PlatformID.Win32NT:
+ case PlatformID.Win32S:
+ case PlatformID.Win32Windows:
+ case PlatformID.WinCE:
+ window._xWindowId = gdk_win32_drawable_get_handle (window._da.GdkWindow.Handle);
+ break;
+ }
+
+ Gtk.Application.Run ();
+ }
+
+ public MainWindow ()
+ : base ("Overlaytest") {
+ VBox vBox = new VBox ();
+
+ _da = new DrawingArea ();
+ _da.ModifyBg (Gtk.StateType.Normal, new Gdk.Color (0, 0, 0));
+ _da.SetSizeRequest (400, 300);
+ _da.DoubleBuffered = false;
+ vBox.PackStart (_da, false, false, 0);
+
+ _scale = new HScale (0, 1, 0.01);
+ _scale.DrawValue = false;
+ _scale.ValueChanged += ScaleValueChanged;
+ vBox.PackStart (_scale, false, false, 0);
+
+ HBox hBox = new HBox ();
+
+ Button btnOpen = new Button ();
+ btnOpen.Label = "Open";
+ btnOpen.Clicked += ButtonOpenClicked;
+
+ hBox.PackStart (btnOpen, false, false, 0);
+
+ Button btnPlay = new Button ();
+ btnPlay.Label = "Play";
+ btnPlay.Clicked += ButtonPlayClicked;
+
+ hBox.PackStart (btnPlay, false, false, 0);
+
+ Button btnPause = new Button ();
+ btnPause.Label = "Pause";
+ btnPause.Clicked += ButtonPauseClicked;
+
+ hBox.PackStart (btnPause, false, false, 0);
+
+ _lbl = new Label ();
+ _lbl.Text = "00:00 / 00:00";
+
+ hBox.PackEnd (_lbl, false, false, 0);
+
+ vBox.PackStart (hBox, false, false, 3);
+
+ Add (vBox);
+
+ WindowPosition = Gtk.WindowPosition.Center;
+ DeleteEvent += OnDeleteEvent;
+
+ GLib.Timeout.Add (1000, new GLib.TimeoutHandler (UpdatePos));
+ }
+
+ void OnDeleteEvent (object sender, DeleteEventArgs args) {
+ Gtk.Application.Quit ();
+
+
+ if (_playbin != null) {
+ _playbin.SetState (Gst.State.Null);
+ _playbin.Dispose ();
+ _playbin = null;
+ }
+
+ args.RetVal = true;
+ }
+
+ void ButtonOpenClicked (object sender, EventArgs args) {
+ FileChooserDialog dialog = new FileChooserDialog ("Open", this, FileChooserAction.Open, new object[] { "Cancel", ResponseType.Cancel, "Open", ResponseType.Accept });
+ dialog.SetCurrentFolder (Environment.GetFolderPath (Environment.SpecialFolder.Personal));
+
+ if (dialog.Run () == (int) ResponseType.Accept) {
+ _pipelineOK = false;
+
+ if (_playbin != null) {
+ _playbin.SetState (Gst.State.Null);
+ } else {
+ _playbin = ElementFactory.Make ("playbin", "playbin");
+ }
+
+ _scale.Value = 0;
+
+ if (_playbin == null)
+ Console.WriteLine ("Unable to create element 'playbin'");
+
+ _playbin.Bus.EnableSyncMessageEmission ();
+ _playbin.Bus.AddSignalWatch ();
+
+ _playbin.Bus.SyncMessage += delegate (object bus, SyncMessageArgs sargs) {
+ Gst.Message msg = sargs.Message;
+
+ if (!Gst.Video.Global.IsVideoOverlayPrepareWindowHandleMessage (msg))
+ return;
+
+ Element src = msg.Src as Element;
+ if (src == null)
+ return;
+
+ try {
+ src["force-aspect-ratio"] = true;
+ }
+ catch (PropertyNotFoundException) {}
+ Element overlay = null;
+ if(src is Gst.Bin)
+ overlay = ((Gst.Bin) src).GetByInterface (VideoOverlayAdapter.GType);
+
+ VideoOverlayAdapter adapter = new VideoOverlayAdapter (overlay.Handle);
+ adapter.WindowHandle = _xWindowId;
+ adapter.HandleEvents (true);
+ };
+
+ _playbin.Bus.Message += delegate (object bus, MessageArgs margs) {
+ Message message = margs.Message;
+
+ switch (message.Type) {
+ case Gst.MessageType.Error:
+ GLib.GException err;
+ string msg;
+
+ message.ParseError (out err, out msg);
+ Console.WriteLine (String.Format ("Error message: {0}", msg));
+ _pipelineOK = false;
+ break;
+ case Gst.MessageType.Eos:
+ Console.WriteLine ("EOS");
+ break;
+ }
+ };
+
+ switch (System.Environment.OSVersion.Platform) {
+ case PlatformID.Unix:
+ _playbin["uri"] = "file://" + dialog.Filename;
+ break;
+ case PlatformID.Win32NT:
+ case PlatformID.Win32S:
+ case PlatformID.Win32Windows:
+ case PlatformID.WinCE:
+ _playbin["uri"] = "file:///" + dialog.Filename.Replace("\\","/");
+ break;
+ }
+
+ StateChangeReturn sret = _playbin.SetState (Gst.State.Playing);
+
+ if (sret == StateChangeReturn.Async) {
+ State state, pending;
+ sret = _playbin.GetState (out state, out pending, Gst.Constants.SECOND * 5L);
+ }
+
+ if (sret == StateChangeReturn.Success) {
+ Console.WriteLine ("State change successful");
+ _pipelineOK = true;
+ } else {
+ Console.WriteLine ("State change failed for {0} ({1})\n", dialog.Filename, sret);
+ }
+ }
+
+ dialog.Destroy ();
+ }
+
+ void ButtonPlayClicked (object sender, EventArgs args) {
+ if ( (_playbin != null) && _pipelineOK)
+ _playbin.SetState (Gst.State.Playing);
+ }
+
+ void ButtonPauseClicked (object sender, EventArgs args) {
+ if ( (_playbin != null) && _pipelineOK)
+ _playbin.SetState (Gst.State.Paused);
+ }
+
+ void ScaleValueChanged (object sender, EventArgs args) {
+ if (_updatingScale)
+ return;
+
+ long duration;
+ Gst.Format fmt = Gst.Format.Time;
+ Console.WriteLine ("Trying to seek");
+
+ if ( (_playbin != null) && _pipelineOK && _playbin.QueryDuration (fmt, out duration) && duration != -1) {
+ long pos = (long) (duration * _scale.Value);
+ Console.WriteLine ("Seek to {0}/{1} ({2}%)", pos, duration, _scale.Value);
+
+ bool ret = _playbin.SeekSimple (Format.Time, SeekFlags.Flush | SeekFlags.KeyUnit, pos);
+
+ Console.WriteLine ("Seeked {0}successfully", (ret ? "" : "not "));
+ }
+ }
+
+ bool UpdatePos () {
+ Gst.Format fmt = Gst.Format.Time;
+ long duration, pos;
+ pos = 0;
+ if ( (_playbin != null) && _pipelineOK &&
+ _playbin.QueryDuration (fmt, out duration) &&
+ _playbin.QueryPosition (fmt, out pos)) {
+ _lbl.Text = string.Format ("{0} / {1}", TimeString (pos), TimeString (duration));
+
+ _updatingScale = true;
+ _scale.Value = (double) pos / duration;
+ _updatingScale = false;
+ }
+
+ return true;
+ }
+
+ string TimeString (long t) {
+ long secs = t / 1000000000;
+ int mins = (int) (secs / 60);
+ secs = secs - (mins * 60);
+
+ if (mins >= 60) {
+ int hours = (int) (mins / 60);
+ mins = mins - (hours * 60);
+
+ return string.Format ("{0}:{1:d2}:{2:d2}", hours, mins, secs);
+ }
+
+ return string.Format ("{0}:{1:d2}", mins, secs);
+ }
+
+ [DllImport ("libgdk-3.so.0") ]
+ static extern IntPtr gdk_x11_window_get_xid (IntPtr handle);
+
+ [DllImport ("gdk-win32-3.0-0.dll") ]
+ static extern IntPtr gdk_win32_drawable_get_handle (IntPtr handle);
+
+ [DllImport ("libX11.so.6")]
+ static extern int XInitThreads ();
+ }
+}
diff --git a/subprojects/gstreamer-sharp/samples/meson.build b/subprojects/gstreamer-sharp/samples/meson.build
new file mode 100644
index 0000000000..5a6db9fb97
--- /dev/null
+++ b/subprojects/gstreamer-sharp/samples/meson.build
@@ -0,0 +1,42 @@
+examples = [
+ ['playback', 'Playback.cs'],
+ ['video-overlay' , 'VideoOverlay.cs', has_gtk, gtk_sharp_dep],
+ ['basic-tutorial-1' , 'BasicTutorial1.cs',],
+ ['basic-tutorial-2' , 'BasicTutorial2.cs',],
+ ['basic-tutorial-3' , 'BasicTutorial3.cs',],
+ ['basic-tutorial-4' , 'BasicTutorial4.cs',],
+ ['basic-tutorial-5' , 'BasicTutorial5.cs', has_gtk, gtk_sharp_dep],
+ ['basic-tutorial-6' , 'BasicTutorial6.cs',],
+ ['basic-tutorial-7' , 'BasicTutorial7.cs',],
+ ['basic-tutorial-8' , 'BasicTutorial8.cs',],
+ ['basic-tutorial-9' , 'BasicTutorial9.cs',],
+ ['basic-tutorial-12' , 'BasicTutorial12.cs',],
+ ['basic-tutorial-13' , 'BasicTutorial13.cs',],
+ ['example-volume' , 'ExampleVolume.cs',],
+ ['playback-tutorial-1' , 'PlaybackTutorial1.cs',],
+ ['playback-tutorial-2' , 'PlaybackTutorial2.cs',],
+ ['playback-tutorial-3' , 'PlaybackTutorial3.cs',],
+ ['playback-tutorial-4' , 'PlaybackTutorial4.cs',],
+ ['playback-tutorial-5' , 'PlaybackTutorial5.cs',],
+ ['playback-tutorial-6' , 'PlaybackTutorial6.cs',],
+ ['playback-tutorial-7' , 'PlaybackTutorial7.cs',],
+]
+
+foreach example: examples
+ deps = [gst_sharp_dep]
+ if example.length() == 2 or example.get(2)
+ if example.length() > 2
+ deps += example.get(3)
+ endif
+
+ executable(example.get(0), example.get(1),
+ cs_args: ['-unsafe'], dependencies: deps)
+ endif
+endforeach
+
+if ges_dep.found()
+ executable('ges-example', 'GESExample.cs',
+ cs_args: ['-unsafe'],
+ dependencies: [gst_sharp_dep],
+ link_with: ges_sharp)
+endif
diff --git a/subprojects/gstreamer-sharp/sources/AssemblyInfo.cs.in b/subprojects/gstreamer-sharp/sources/AssemblyInfo.cs.in
new file mode 100644
index 0000000000..c2cc758786
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/AssemblyInfo.cs.in
@@ -0,0 +1,27 @@
+// Copyright (C) 2013 Stephan Sundermann <stephansundermann@gmail.com>
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+// 02110-1301 USA
+
+using System.Reflection;
+using System.Runtime.CompilerServices;
+
+[assembly: AssemblyTitle("@ASSEMBLY_TITLE@")]
+[assembly: AssemblyDescription("@ASSEMBLY_DESCRIPTION@")]
+[assembly: AssemblyCompany("@ASSEMBLY_COMPANY@")]
+[assembly: AssemblyCopyright("@ASSEMBLY_COPYRIGHT@")]
+[assembly: AssemblyVersion("@ASSEMBLY_VERSION@")]
+[assembly: AssemblyDelaySign(false)]
+[assembly: AssemblyKeyFile("@ASSEMBLY_NAME@.snk")]
diff --git a/subprojects/gstreamer-sharp/sources/Gst-1.0-merged.metadata b/subprojects/gstreamer-sharp/sources/Gst-1.0-merged.metadata
new file mode 100644
index 0000000000..66702f4abb
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/Gst-1.0-merged.metadata
@@ -0,0 +1,5 @@
+<?xml version="1.0"?>
+<metadata>
+ <remove-attr path="//*[local-name()='method' and @name='ref']" name="introspectable"/>
+ <remove-attr path="//*[local-name()='method' and @name='unref']" name="introspectable"/>
+</metadata>
diff --git a/subprojects/gstreamer-sharp/sources/custom/Adapter.cs b/subprojects/gstreamer-sharp/sources/custom/Adapter.cs
new file mode 100644
index 0000000000..f418cac51a
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/custom/Adapter.cs
@@ -0,0 +1,52 @@
+// Copyright (C) 2013 Stephan Sundermann <stephansundermann@gmail.com>
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+// 02110-1301 USA
+
+namespace Gst.Base {
+ using System;
+ using System.Runtime.InteropServices;
+
+ public partial class Adapter
+ {
+ [DllImport("gstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern void gst_adapter_copy(IntPtr raw, out IntPtr dest, int offset, int size);
+
+ public byte[] Copy(int offset, int size) {
+
+ IntPtr mem = Marshal.AllocHGlobal (size);
+
+ gst_adapter_copy(Handle, out mem, offset, size);
+
+ byte[] bytes = new byte[size];
+ Marshal.Copy (mem, bytes, 0, size);
+
+ return bytes;
+ }
+
+ [DllImport("gstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_adapter_map(IntPtr raw, out int size);
+
+ public byte[] Map() {
+ int size;
+
+ IntPtr mem = gst_adapter_map (Handle, out size);
+ byte[] ret = new byte[size];
+ Marshal.Copy (mem, ret , 0, size);
+
+ return ret;
+ }
+ }
+}
diff --git a/subprojects/gstreamer-sharp/sources/custom/AppSink.cs b/subprojects/gstreamer-sharp/sources/custom/AppSink.cs
new file mode 100644
index 0000000000..2f21822d06
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/custom/AppSink.cs
@@ -0,0 +1,35 @@
+//
+// AppSink.cs
+//
+// Authors:
+// Stephan Sundermann <stephansundermann@gmail.com>
+//
+// Copyright (C) 2014 Stephan Sundermann
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+// 02110-1301 USA
+
+namespace Gst.App {
+ using System;
+ using System.Runtime.InteropServices;
+
+ partial class AppSink
+ {
+ public AppSink (String name) {
+ var element = ElementFactory.Make ("appsink", name);
+ Raw = element.Handle;
+ }
+ }
+}
diff --git a/subprojects/gstreamer-sharp/sources/custom/AppSrc.cs b/subprojects/gstreamer-sharp/sources/custom/AppSrc.cs
new file mode 100644
index 0000000000..536725dbf5
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/custom/AppSrc.cs
@@ -0,0 +1,35 @@
+//
+// AppSrc.cs
+//
+// Authors:
+// Stephan Sundermann <stephansundermann@gmail.com>
+//
+// Copyright (C) 2014 Stephan Sundermann
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+// 02110-1301 USA
+
+namespace Gst.App {
+ using System;
+ using System.Runtime.InteropServices;
+
+ partial class AppSrc
+ {
+ public AppSrc (String name) {
+ var element = ElementFactory.Make ("appsrc", name);
+ Raw = element.Handle;
+ }
+ }
+}
diff --git a/subprojects/gstreamer-sharp/sources/custom/Application.cs b/subprojects/gstreamer-sharp/sources/custom/Application.cs
new file mode 100644
index 0000000000..2cbf40d61e
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/custom/Application.cs
@@ -0,0 +1,100 @@
+// Copyright (C) 2013 Stephan Sundermann <stephansundermann@gmail.com>
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+// 02110-1301 USA
+
+namespace Gst {
+ using System;
+ using System.Runtime.InteropServices;
+
+ partial class Application
+ {
+ // Because of: https://bugzilla.gnome.org/show_bug.cgi?id=743062#c30
+ private static uint MIN_GSTREAMER_MINOR = 14;
+
+ static Application () {
+ GLib.GType.Register (List.GType, typeof(List));
+ GLib.GType.Register (Fraction.GType, typeof(Fraction));
+ GLib.GType.Register (DoubleRange.GType, typeof(DoubleRange));
+ GLib.GType.Register (IntRange.GType, typeof(IntRange));
+ GLib.GType.Register (FractionRange.GType, typeof(FractionRange));
+ GLib.GType.Register (DateTime.GType, typeof(DateTime));
+ GLib.GType.Register (Gst.Array.GType, typeof(Gst.Array));
+ GLib.GType.Register(Promise.GType, typeof(Promise));
+ GLib.GType.Register(Gst.WebRTC.WebRTCSessionDescription.GType, typeof(Gst.WebRTC.WebRTCSessionDescription));
+ }
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern void gst_init(ref int argc, ref IntPtr[] argv);
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern void gst_init(IntPtr argc, IntPtr argv);
+
+ private static void CheckVersion() {
+ if (Gst.Version.Minor < MIN_GSTREAMER_MINOR)
+ throw new Exception(Gst.Version.Description + " found but GStreamer 1." +
+ MIN_GSTREAMER_MINOR + " required.");
+ }
+
+ public static void Init() {
+ gst_init (IntPtr.Zero, IntPtr.Zero);
+ CheckVersion();
+ }
+
+ public static void Init(ref string[] argv) {
+ int cnt_argv = argv == null ? 0 : argv.Length;
+ System.Collections.Generic.List<IntPtr> native_arg_list = new System.Collections.Generic.List<IntPtr>();
+ for (int i = 0; i < cnt_argv; i++)
+ native_arg_list.Add (GLib.Marshaller.StringToPtrGStrdup(argv[i]));
+ IntPtr[] native_argv = native_arg_list.ToArray();
+ gst_init(ref cnt_argv, ref native_argv);
+ foreach (var native_arg in native_arg_list)
+ GLib.Marshaller.Free (native_arg);
+
+ CheckVersion();
+ }
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_init_check(ref int argc, ref IntPtr[] argv, out IntPtr error);
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_init_check(IntPtr argc, IntPtr argv, out IntPtr error);
+
+ public static bool InitCheck() {
+ IntPtr error = IntPtr.Zero;
+ bool ret = gst_init_check (IntPtr.Zero, IntPtr.Zero, out error);
+
+ CheckVersion();
+ if (error != IntPtr.Zero) throw new GLib.GException (error);
+ return ret;
+ }
+
+ public static bool InitCheck(ref string[] argv) {
+ int cnt_argv = argv == null ? 0 : argv.Length;
+ System.Collections.Generic.List<IntPtr> native_arg_list = new System.Collections.Generic.List<IntPtr>();
+ for (int i = 0; i < cnt_argv; i++)
+ native_arg_list.Add (GLib.Marshaller.StringToPtrGStrdup(argv[i]));
+ IntPtr[] native_argv = native_arg_list.ToArray();
+ IntPtr error = IntPtr.Zero;
+ bool ret = gst_init_check(ref cnt_argv, ref native_argv, out error);
+ foreach (var native_arg in native_arg_list)
+ GLib.Marshaller.Free (native_arg);
+ if (error != IntPtr.Zero) throw new GLib.GException (error);
+
+ CheckVersion();
+ return ret;
+ }
+ }
+}
diff --git a/subprojects/gstreamer-sharp/sources/custom/AudioFilter.cs b/subprojects/gstreamer-sharp/sources/custom/AudioFilter.cs
new file mode 100644
index 0000000000..2f20914343
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/custom/AudioFilter.cs
@@ -0,0 +1,37 @@
+//
+// AudioFilter.cs
+//
+// Authors:
+// Stephan Sundermann <stephansundermann@gmail.com>
+//
+// Copyright (C) 2014 Stephan Sundermann
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+// 02110-1301 USA
+
+namespace Gst.Audio {
+ using System;
+ using System.Runtime.InteropServices;
+
+ partial class AudioFilter
+ {
+ [DllImport("gstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern void gst_audio_filter_class_add_pad_templates(IntPtr klass, IntPtr allowed_caps);
+
+ public void AddPadTemplates(Gst.Caps allowed_caps) {
+ gst_audio_filter_class_add_pad_templates(LookupGType().GetClassPtr (), allowed_caps == null ? IntPtr.Zero : allowed_caps.Handle);
+ }
+ }
+}
diff --git a/subprojects/gstreamer-sharp/sources/custom/Bin.cs b/subprojects/gstreamer-sharp/sources/custom/Bin.cs
new file mode 100644
index 0000000000..1dadb104fe
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/custom/Bin.cs
@@ -0,0 +1,38 @@
+// Copyright (C) 2013 Stephan Sundermann <stephansundermann@gmail.com>
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+// 02110-1301 USA
+
+namespace Gst {
+ using System;
+ using System.Collections;
+ using System.Runtime.InteropServices;
+
+ partial class Bin {
+ public Bin () : this (null) {}
+
+ public void Add (params Element [] elements) {
+ foreach (var elem in elements) {
+ Add (elem);
+ }
+ }
+
+ public void Remove (params Element [] elements) {
+ foreach (var elem in elements) {
+ Remove (elem);
+ }
+ }
+ }
+}
diff --git a/subprojects/gstreamer-sharp/sources/custom/Buffer.cs b/subprojects/gstreamer-sharp/sources/custom/Buffer.cs
new file mode 100644
index 0000000000..5d0cb6861f
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/custom/Buffer.cs
@@ -0,0 +1,60 @@
+// Copyright (C) 2014 Stephan Sundermann <stephansundermann@gmail.com>
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+// 02110-1301 USA
+
+namespace Gst {
+ using System;
+ using System.Collections;
+ using System.Runtime.InteropServices;
+
+ partial class Buffer {
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern UIntPtr gst_buffer_extract(IntPtr raw, UIntPtr offset, byte[] dest, UIntPtr size);
+
+ public ulong Extract(ulong offset, ref byte[] dest) {
+ UIntPtr raw_ret = gst_buffer_extract(Handle, new UIntPtr (offset), dest, new UIntPtr ((ulong)dest.Length));
+ ulong ret = (ulong) raw_ret;
+ return ret;
+ }
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern void gst_buffer_extract_dup(IntPtr raw, UIntPtr offset, UIntPtr size, out IntPtr dest, out UIntPtr dest_size);
+
+ public ulong ExtractDup(ulong offset, ulong size, out byte[] dest) {
+ UIntPtr native_dest_size;
+ IntPtr ptr;
+ gst_buffer_extract_dup(Handle, new UIntPtr (offset), new UIntPtr (size), out ptr, out native_dest_size);
+
+ byte[] bytes = new byte[(ulong)native_dest_size];
+ Marshal.Copy (ptr, bytes, 0, (int)native_dest_size);
+
+ dest = bytes;
+ GLib.Marshaller.Free (ptr);
+
+ return (ulong) native_dest_size;
+ }
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_buffer_new_wrapped(IntPtr data, UIntPtr n_length);
+
+ public Buffer (byte[] data)
+ {
+ IntPtr ptr = GLib.Marshaller.Malloc((ulong) data.Length);
+ Marshal.Copy(data, 0, ptr, data.Length);
+ Raw = gst_buffer_new_wrapped(ptr, new UIntPtr((ulong) data.Length));
+ }
+ }
+}
diff --git a/subprojects/gstreamer-sharp/sources/custom/Bus.cs b/subprojects/gstreamer-sharp/sources/custom/Bus.cs
new file mode 100644
index 0000000000..72135d3f11
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/custom/Bus.cs
@@ -0,0 +1,31 @@
+// Copyright (C) 2013 Bertrand Lorentz <bertrand.lorentz@gmail.com>
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+// 02110-1301 USA
+
+using System;
+
+namespace Gst
+{
+ partial class Bus
+ {
+ public uint AddWatch (Gst.BusFunc func) {
+ // https://developer.gnome.org/glib/unstable/glib-The-Main-Event-Loop.html#G-PRIORITY-DEFAULT:CAPS
+ int G_PRIORITY_DEFAULT = 0;
+ return AddWatchFull (G_PRIORITY_DEFAULT, func);
+ }
+ }
+}
+
diff --git a/subprojects/gstreamer-sharp/sources/custom/Caps.cs b/subprojects/gstreamer-sharp/sources/custom/Caps.cs
new file mode 100644
index 0000000000..22cdba27c9
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/custom/Caps.cs
@@ -0,0 +1,75 @@
+// Iterator.cs - Custom caps wrapper for IEnumerable
+//
+// Authors:
+// Sebastian Dröge <slomo@circular-chaos.org>
+// Stephan Sundermann <stephansundermann@gmail.com>
+//
+// Copyright (c) 2013 Stephan Sundermann
+// Copyright (c) 2009 Sebastian Dröge
+//
+// This program is free software; you can redistribute it and/or
+// modify it under the terms of version 2 of the Lesser GNU General
+// Public License as published by the Free Software Foundation.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this program; if not, write to the
+// Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+// Boston, MA 02111-1307, USA.
+
+namespace Gst {
+ using System;
+ using System.Collections;
+ using System.Runtime.InteropServices;
+
+ partial class Caps : IEnumerable
+ {
+ public Structure this [uint index] {
+ get {
+ if (index >= Size)
+ throw new ArgumentOutOfRangeException ();
+
+ Structure structure = GetStructure ((uint) index);
+ return structure;
+ }
+ }
+
+ private class StructureEnumerator : IEnumerator {
+ Gst.Caps caps;
+ long index;
+
+ public StructureEnumerator (Gst.Caps caps) {
+ this.caps = caps;
+ index = -1;
+ }
+
+ public object Current {
+ get {
+ if (index >= caps.Size)
+ throw new ArgumentOutOfRangeException ();
+ if (index == -1)
+ throw new ArgumentException ();
+
+ return caps[ (uint) index];
+ }
+ }
+
+ public bool MoveNext () {
+ index += 1;
+ return (index < caps.Size);
+ }
+
+ public void Reset () {
+ index = -1;
+ }
+ }
+
+ public IEnumerator GetEnumerator() {
+ return new StructureEnumerator (this);
+ }
+ }
+} \ No newline at end of file
diff --git a/subprojects/gstreamer-sharp/sources/custom/DeviceProvider.cs b/subprojects/gstreamer-sharp/sources/custom/DeviceProvider.cs
new file mode 100644
index 0000000000..72a0277432
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/custom/DeviceProvider.cs
@@ -0,0 +1,87 @@
+//
+// DeviceProvider.cs
+//
+// Authors:
+// Stephan Sundermann <stephansundermann@gmail.com>
+//
+// Copyright (C) 2014 Stephan Sundermann
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+// 02110-1301 USA
+
+namespace Gst {
+ using System;
+ using System.Runtime.InteropServices;
+
+ partial class DeviceProvider
+ {
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern void gst_device_provider_class_add_metadata(IntPtr klass, IntPtr key, IntPtr value);
+
+ public void AddMetadata(string key, string value) {
+ IntPtr native_key = GLib.Marshaller.StringToPtrGStrdup (key);
+ IntPtr native_value = GLib.Marshaller.StringToPtrGStrdup (value);
+ gst_device_provider_class_add_metadata(LookupGType().GetClassPtr (), native_key, native_value);
+ GLib.Marshaller.Free (native_key);
+ GLib.Marshaller.Free (native_value);
+ }
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern void gst_device_provider_class_add_static_metadata(IntPtr klass, IntPtr key, IntPtr value);
+
+ public void AddStaticMetadata(string key, string value) {
+ IntPtr native_key = GLib.Marshaller.StringToPtrGStrdup (key);
+ IntPtr native_value = GLib.Marshaller.StringToPtrGStrdup (value);
+ gst_device_provider_class_add_static_metadata(LookupGType().GetClassPtr (), native_key, native_value);
+
+ GLib.Marshaller.Free (native_key);
+ GLib.Marshaller.Free (native_value);
+ }
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern void gst_device_provider_class_set_metadata(IntPtr klass, IntPtr longname, IntPtr classification, IntPtr description, IntPtr author);
+
+ public void SetMetadata(string longname, string classification, string description, string author) {
+ IntPtr native_longname = GLib.Marshaller.StringToPtrGStrdup (longname);
+ IntPtr native_classification = GLib.Marshaller.StringToPtrGStrdup (classification);
+ IntPtr native_description = GLib.Marshaller.StringToPtrGStrdup (description);
+ IntPtr native_author = GLib.Marshaller.StringToPtrGStrdup (author);
+ gst_device_provider_class_set_metadata(LookupGType().GetClassPtr (), native_longname, native_classification, native_description, native_author);
+ GLib.Marshaller.Free (native_longname);
+ GLib.Marshaller.Free (native_classification);
+ GLib.Marshaller.Free (native_description);
+ GLib.Marshaller.Free (native_author);
+ }
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern void gst_device_provider_class_set_static_metadata(IntPtr klass, IntPtr longname, IntPtr classification, IntPtr description, IntPtr author);
+
+ public void SetStaticMetadata(string longname, string classification, string description, string author) {
+ IntPtr native_longname = GLib.Marshaller.StringToPtrGStrdup (longname);
+ IntPtr native_classification = GLib.Marshaller.StringToPtrGStrdup (classification);
+ IntPtr native_description = GLib.Marshaller.StringToPtrGStrdup (description);
+ IntPtr native_author = GLib.Marshaller.StringToPtrGStrdup (author);
+
+ gst_device_provider_class_set_static_metadata(LookupGType().GetClassPtr (), native_longname, native_classification, native_description, native_author);
+
+ GLib.Marshaller.Free (native_longname);
+ GLib.Marshaller.Free (native_classification);
+ GLib.Marshaller.Free (native_description);
+ GLib.Marshaller.Free (native_author);
+ }
+
+
+ }
+}
diff --git a/subprojects/gstreamer-sharp/sources/custom/DynamicSignal.cs b/subprojects/gstreamer-sharp/sources/custom/DynamicSignal.cs
new file mode 100644
index 0000000000..f335eba9cd
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/custom/DynamicSignal.cs
@@ -0,0 +1,462 @@
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+
+//
+//
+// Copyright (C) 2006 Novell Inc.
+// Copyright (C) 2009 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+// Copyright (C) 2013 Stephan Sundermann <stephansundermann@gmail.com>
+//
+// This class implements functions to bind callbacks to GObject signals
+// dynamically and to emit signals dynamically.
+//
+//
+
+using GLib;
+using System;
+using System.Reflection;
+using System.Runtime.InteropServices;
+using System.Collections;
+
+namespace Gst
+{
+
+ [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
+ delegate void GClosureMarshal (IntPtr closure, ref GLib.Value retval, uint argc, IntPtr argsPtr,
+ IntPtr invocation_hint, IntPtr data);
+
+ public delegate void SignalHandler (object o, SignalArgs args);
+
+ public static class DynamicSignal
+ {
+
+ private static readonly int gvalue_struct_size = Marshal.SizeOf (typeof(GLib.Value));
+
+ class ObjectSignalKey
+ {
+ object o;
+ string signal_name;
+
+ public ObjectSignalKey (object o, string name)
+ {
+ this.o = o;
+ signal_name = name;
+ }
+
+ public override bool Equals (object o)
+ {
+ if (o is ObjectSignalKey) {
+ ObjectSignalKey k = (ObjectSignalKey)o;
+ return k.o.Equals (this.o) && signal_name.Equals (k.signal_name);
+ }
+ return base.Equals (o);
+ }
+
+ public override int GetHashCode ()
+ {
+ return o.GetHashCode () ^ signal_name.GetHashCode ();
+ }
+ }
+
+ class SignalInfo : IDisposable
+ {
+ uint handlerId;
+ IntPtr closure;
+ Delegate registeredHandler;
+ Type argsType;
+ GCHandle gch;
+
+ public IntPtr Closure {
+ get {
+ return closure;
+ }
+ set {
+ closure = value;
+ }
+ }
+
+ public uint HandlerId {
+ get {
+ return handlerId;
+ }
+ set {
+ handlerId = value;
+ }
+ }
+
+ public Delegate RegisteredHandler {
+ get {
+ return registeredHandler;
+ }
+ set {
+ registeredHandler = value;
+ }
+ }
+
+ public Type ArgsType {
+ get {
+ return argsType;
+ }
+ set {
+ argsType = value;
+ }
+ }
+
+ public SignalInfo (uint handlerId, IntPtr closure, Delegate registeredHandler, GCHandle gch)
+ {
+ this.handlerId = handlerId;
+ this.closure = closure;
+ this.registeredHandler = registeredHandler;
+ this.gch = gch;
+
+ if (!IsValidDelegate (registeredHandler))
+ throw new Exception ("Invalid delegate");
+
+ MethodInfo mi = registeredHandler.Method;
+ ParameterInfo[] parms = mi.GetParameters ();
+ this.argsType = parms [1].ParameterType;
+ }
+
+ public void UpdateArgsType (Delegate d)
+ {
+ if (!IsCompatibleDelegate (d))
+ throw new Exception ("Incompatible delegate");
+
+ MethodInfo mi = d.Method;
+ ParameterInfo[] parms = mi.GetParameters ();
+
+ Type t1 = parms [1].ParameterType;
+ Type t2 = argsType;
+
+ if (t1 == t2)
+ return;
+
+ if (t1.IsSubclassOf (t2))
+ argsType = t1;
+ else if (t2.IsSubclassOf (t1))
+ argsType = t2;
+ else
+ throw new Exception ("Incompatible delegate");
+ }
+
+ public bool IsCompatibleDelegate (Delegate d)
+ {
+ if (!IsValidDelegate (d))
+ return false;
+
+ MethodInfo mi = d.Method;
+ ParameterInfo[] parms = mi.GetParameters ();
+
+ if (parms [1].ParameterType != this.argsType &&
+ !parms [1].ParameterType.IsSubclassOf (this.argsType) &&
+ !this.argsType.IsSubclassOf (parms [1].ParameterType))
+ return false;
+
+ return true;
+ }
+
+ public void Dispose ()
+ {
+ registeredHandler = null;
+ gch.Free ();
+ GC.SuppressFinalize (this);
+ }
+
+ public static bool IsValidDelegate (Delegate d)
+ {
+ MethodInfo mi = d.Method;
+
+ if (mi.ReturnType != typeof(void))
+ return false;
+
+ ParameterInfo[] parms = mi.GetParameters ();
+ if (parms.Length != 2)
+ return false;
+
+ if (parms [1].ParameterType != typeof(GLib.SignalArgs) &&
+ !parms [1].ParameterType.IsSubclassOf (typeof(GLib.SignalArgs)))
+ return false;
+
+ return true;
+ }
+ }
+
+ static Hashtable SignalHandlers = new Hashtable ();
+
+ static GClosureMarshal marshalHandler = new GClosureMarshal (OnMarshal);
+
+ public static void Connect (GLib.Object o, string name, SignalHandler handler)
+ {
+ Connect (o, name, false, (Delegate)handler);
+ }
+
+ public static void Connect (GLib.Object o, string name,
+ bool after, SignalHandler handler)
+ {
+ Connect (o, name, after, (Delegate)handler);
+ }
+
+ public static void Connect (GLib.Object o, string name, Delegate handler)
+ {
+ Connect (o, name, false, handler);
+ }
+
+ public static void Connect (GLib.Object o, string name,
+ bool after, Delegate handler)
+ {
+ Delegate newHandler;
+
+ ObjectSignalKey k = new ObjectSignalKey (o, name);
+
+ if (!SignalInfo.IsValidDelegate (handler))
+ throw new Exception ("Invalid delegate");
+
+ if (SignalHandlers [k] != null) {
+ SignalInfo si = (SignalInfo)SignalHandlers [k];
+ if (!si.IsCompatibleDelegate (handler))
+ throw new Exception ("Incompatible delegate");
+
+ newHandler = Delegate.Combine (si.RegisteredHandler, handler);
+ si.UpdateArgsType (handler);
+ si.RegisteredHandler = newHandler;
+ } else {
+ if (!SignalInfo.IsValidDelegate (handler))
+ throw new Exception ("Invalid delegate");
+
+ // Let's allocate 64bytes for the GClosure, it should be more than necessary.
+ IntPtr closure = g_closure_new_simple (64, IntPtr.Zero);
+ GCHandle gch = GCHandle.Alloc (k);
+ g_closure_set_meta_marshal (closure, (IntPtr)gch, marshalHandler);
+ uint signalId = g_signal_connect_closure (o.Handle, name, closure, after);
+ SignalHandlers.Add (k, new SignalInfo (signalId, closure, handler, gch));
+ }
+ }
+
+ public static void Disconnect (GLib.Object o, string name, Delegate handler)
+ {
+ ObjectSignalKey k = new ObjectSignalKey (o, name);
+ if (SignalHandlers [k] != null) {
+ SignalInfo si = (SignalInfo)SignalHandlers [k];
+ Delegate newHandler = Delegate.Remove (si.RegisteredHandler, handler);
+ if (newHandler == null || handler == null) {
+ g_signal_handler_disconnect (o.Handle, si.HandlerId);
+ SignalHandlers.Remove (k);
+ si.Dispose ();
+ } else {
+ si.RegisteredHandler = newHandler;
+ }
+ }
+ }
+
+ static void OnMarshal (IntPtr closure, ref GLib.Value retval, uint argc, IntPtr argsPtr,
+ IntPtr ihint, IntPtr data)
+ {
+ object[] args = new object[argc - 1];
+ object o = ((GLib.Value)Marshal.PtrToStructure (argsPtr, typeof(GLib.Value))).Val;
+
+ for (int i = 1; i < argc; i++) {
+ IntPtr struct_ptr = (IntPtr)((long)argsPtr + (i * gvalue_struct_size));
+ GLib.Value argument = (GLib.Value)Marshal.PtrToStructure (struct_ptr, typeof(GLib.Value));
+ args [i - 1] = argument.Val;
+ }
+
+ if (data == IntPtr.Zero) {
+ Console.Error.WriteLine ("No available data");
+ return;
+ }
+
+ ObjectSignalKey k = (ObjectSignalKey)((GCHandle)data).Target;
+ if (k != null) {
+ SignalInfo si = (SignalInfo)SignalHandlers [k];
+ GLib.SignalArgs arg = (GLib.SignalArgs)Activator.CreateInstance (si.ArgsType);
+ arg.Args = args;
+ si.RegisteredHandler.DynamicInvoke (new object[] { o, arg });
+ if (arg.RetVal != null) {
+ retval.Val = arg.RetVal;
+ }
+ }
+ }
+
+
+ [DllImport ("gobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr g_closure_new_simple (int size, IntPtr data);
+
+ [DllImport ("gobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern uint g_signal_connect_closure (IntPtr instance,
+ string name, IntPtr closure, bool after);
+
+ [DllImport ("gobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern void g_closure_set_meta_marshal (IntPtr closure, IntPtr data, GClosureMarshal marshal);
+
+ class GTypeSignalKey
+ {
+ GType type;
+ string signal_name;
+
+ public GTypeSignalKey (GType type, string name)
+ {
+ this.type = type;
+ signal_name = name;
+ }
+
+ public override bool Equals (object o)
+ {
+ if (o is GTypeSignalKey) {
+ GTypeSignalKey k = (GTypeSignalKey)o;
+ return k.type.Equals (this.type) && signal_name.Equals (k.signal_name);
+ }
+ return base.Equals (o);
+ }
+
+ public override int GetHashCode ()
+ {
+ return type.GetHashCode () ^ signal_name.GetHashCode ();
+ }
+ }
+
+ struct SignalQuery
+ {
+ public uint signal_id;
+ public string signal_name;
+ public GType itype;
+ public uint signal_flags;
+ public GType return_type;
+ public uint n_params;
+ public Type[] param_types;
+ }
+
+ static Hashtable SignalEmitInfo = new Hashtable ();
+
+ public static object Emit (GLib.Object o, string name, params object[] parameters)
+ {
+ SignalQuery query;
+ GType gtype = o.NativeType;
+ IntPtr type = gtype.Val;
+ string signal_name, signal_detail;
+ uint signal_detail_quark = 0;
+ int colon;
+
+ colon = name.LastIndexOf ("::");
+
+ if (colon == -1) {
+ signal_name = name;
+ signal_detail = String.Empty;
+ } else {
+ signal_name = name.Substring (0, colon);
+ signal_detail = name.Substring (colon + 2);
+ }
+
+ GTypeSignalKey key = new GTypeSignalKey (gtype, signal_name);
+
+ if (SignalEmitInfo [key] == null) {
+ IntPtr native_string = GLib.Marshaller.StringToPtrGStrdup (signal_name);
+ uint signal_id = g_signal_lookup (native_string, type);
+ GLib.Marshaller.Free (native_string);
+
+ if (signal_id == 0)
+ throw new NotSupportedException (String.Format ("{0} has no signal of name {1}", o, name));
+ GSignalQuery q = new GSignalQuery ();
+ g_signal_query (signal_id, ref q);
+
+ if (q.signal_id == 0)
+ throw new NotSupportedException (String.Format ("{0} couldn't be queried for signal with name {1}", o, name));
+
+ query = new SignalQuery ();
+
+ query.signal_id = signal_id;
+ query.signal_name = GLib.Marshaller.Utf8PtrToString (q.signal_name);
+ query.itype = new GType (q.itype);
+ query.signal_flags = q.signal_flags;
+ query.return_type = new GType (q.return_type);
+ query.n_params = q.n_params;
+ query.param_types = new Type[q.n_params];
+
+ for (int i = 0; i < query.n_params; i++) {
+ IntPtr t = Marshal.ReadIntPtr (q.param_types, i * IntPtr.Size);
+ GType g = new GType (t);
+
+ query.param_types [i] = (Type)g;
+ }
+
+ SignalEmitInfo.Add (key, query);
+ }
+
+ query = (SignalQuery)SignalEmitInfo [key];
+ GLib.Value[] signal_parameters = new GLib.Value[query.n_params + 1];
+ signal_parameters [0] = new GLib.Value (o);
+
+ if (parameters.Length != query.n_params)
+ throw new ApplicationException (String.Format ("Invalid number of parameters: expected {0}, got {1}", query.n_params, parameters.Length));
+
+ for (int i = 0; i < query.n_params; i++) {
+ Type expected_type = (Type)query.param_types [i];
+ Type given_type = parameters [i].GetType ();
+
+ if (expected_type != given_type && !given_type.IsSubclassOf (given_type))
+ throw new ApplicationException (String.Format ("Invalid parameter type: expected {0}, got {1}", expected_type, given_type));
+
+ signal_parameters [i + 1] = new GLib.Value (parameters [i]);
+ }
+
+ GLib.Value return_value = new GLib.Value ();
+ if (query.return_type != GType.Invalid && query.return_type != GType.None)
+ return_value.Init (query.return_type);
+
+ if (signal_detail != String.Empty) {
+ IntPtr native_string = GLib.Marshaller.StringToPtrGStrdup (signal_detail);
+ signal_detail_quark = g_quark_from_string (native_string);
+ GLib.Marshaller.Free (native_string);
+ }
+
+ g_signal_emitv (signal_parameters, query.signal_id, signal_detail_quark, ref return_value);
+
+ foreach (GLib.Value v in signal_parameters)
+ v.Dispose ();
+
+ object ret = (query.return_type != GType.Invalid && query.return_type != GType.None) ? return_value.Val : null;
+
+ if (ret != null)
+ return_value.Dispose ();
+
+ return ret;
+ }
+
+ [DllImport ("gobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern int g_signal_handler_disconnect (IntPtr o, uint handler_id);
+
+ [DllImport ("gobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern uint g_signal_lookup (IntPtr name, IntPtr itype);
+
+ [DllImport ("glib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern uint g_quark_from_string (IntPtr str);
+
+ [DllImport ("gobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern void g_signal_emitv (GLib.Value[] parameters, uint signal_id, uint detail, ref GLib.Value return_value);
+
+ [StructLayout (LayoutKind.Sequential)]
+ struct GSignalQuery
+ {
+ public uint signal_id;
+ public IntPtr signal_name;
+ public IntPtr itype;
+ public uint signal_flags;
+ public IntPtr return_type;
+ public uint n_params;
+ public IntPtr param_types;
+ }
+
+ [DllImport ("gobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern void g_signal_query (uint signal_id, ref GSignalQuery query);
+ }
+}
diff --git a/subprojects/gstreamer-sharp/sources/custom/Element.cs b/subprojects/gstreamer-sharp/sources/custom/Element.cs
new file mode 100644
index 0000000000..73de646f23
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/custom/Element.cs
@@ -0,0 +1,109 @@
+//
+// Element.cs
+//
+// Authors:
+// Khaled Mohammed <khaled.mohammed@gmail.com>
+// Sebastian Dröge <sebastian.droege@collabora.co.uk>
+// Stephan Sundermann <stephansundermann@gmail.com>
+//
+// Copyright (C) 2006 Khaled Mohammed
+// Copyright (C) 2006 Novell, Inc.
+// Copyright (C) 2009 Sebastian Dröge
+// Copyright (C) 2013 Stephan Sundermann
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+// 02110-1301 USA
+
+namespace Gst {
+ using System;
+ using System.Runtime.InteropServices;
+
+ partial class Element
+ {
+ public static bool Link (params Element [] elements) {
+ for (int i = 0; i < elements.Length - 1; i++) {
+ if (!elements[i].Link (elements[i+1]))
+ return false;
+ }
+ return true;
+ }
+
+ public static void Unlink (params Element [] elements) {
+ for (int i = 0; i < elements.Length - 1; i++) {
+ elements[i].Unlink (elements[i+1]);
+ }
+ }
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern void gst_element_class_add_metadata(IntPtr klass, IntPtr key, IntPtr value);
+
+ public void AddMetadata(string key, string value) {
+ IntPtr native_key = GLib.Marshaller.StringToPtrGStrdup (key);
+ IntPtr native_value = GLib.Marshaller.StringToPtrGStrdup (value);
+ gst_element_class_add_metadata(LookupGType().GetClassPtr (), native_key, native_value);
+ GLib.Marshaller.Free (native_key);
+ GLib.Marshaller.Free (native_value);
+ }
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern void gst_element_class_add_pad_template(IntPtr klass, IntPtr templ);
+
+ public void AddPadTemplate(Gst.PadTemplate templ) {
+ gst_element_class_add_pad_template(LookupGType().GetClassPtr (), templ == null ? IntPtr.Zero : templ.OwnedHandle);
+ }
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern void gst_element_class_add_static_metadata(IntPtr klass, IntPtr key, IntPtr value);
+
+ public void AddStaticMetadata(string key, string value) {
+ IntPtr native_key = GLib.Marshaller.StringToPtrGStrdup (key);
+ IntPtr native_value = GLib.Marshaller.StringToPtrGStrdup (value);
+ gst_element_class_add_static_metadata(LookupGType().GetClassPtr (), native_key, native_value);
+ GLib.Marshaller.Free (native_key);
+ GLib.Marshaller.Free (native_value);
+ }
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern void gst_element_class_set_metadata(IntPtr klass, IntPtr longname, IntPtr classification, IntPtr description, IntPtr author);
+
+ public void SetMetadata(string longname, string classification, string description, string author) {
+ IntPtr native_longname = GLib.Marshaller.StringToPtrGStrdup (longname);
+ IntPtr native_classification = GLib.Marshaller.StringToPtrGStrdup (classification);
+ IntPtr native_description = GLib.Marshaller.StringToPtrGStrdup (description);
+ IntPtr native_author = GLib.Marshaller.StringToPtrGStrdup (author);
+ gst_element_class_set_metadata(LookupGType().GetClassPtr (), native_longname, native_classification, native_description, native_author);
+ GLib.Marshaller.Free (native_longname);
+ GLib.Marshaller.Free (native_classification);
+ GLib.Marshaller.Free (native_description);
+ GLib.Marshaller.Free (native_author);
+ }
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern void gst_element_class_set_static_metadata(IntPtr klass, IntPtr longname, IntPtr classification, IntPtr description, IntPtr author);
+
+ public void SetStaticMetadata(string longname, string classification, string description, string author) {
+ IntPtr native_longname = GLib.Marshaller.StringToPtrGStrdup (longname);
+ IntPtr native_classification = GLib.Marshaller.StringToPtrGStrdup (classification);
+ IntPtr native_description = GLib.Marshaller.StringToPtrGStrdup (description);
+ IntPtr native_author = GLib.Marshaller.StringToPtrGStrdup (author);
+ gst_element_class_set_static_metadata(LookupGType().GetClassPtr (), native_longname, native_classification, native_description, native_author);
+ GLib.Marshaller.Free (native_longname);
+ GLib.Marshaller.Free (native_classification);
+ GLib.Marshaller.Free (native_description);
+ GLib.Marshaller.Free (native_author);
+ }
+
+ }
+}
diff --git a/subprojects/gstreamer-sharp/sources/custom/FFTF32.cs b/subprojects/gstreamer-sharp/sources/custom/FFTF32.cs
new file mode 100644
index 0000000000..70a7e1968d
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/custom/FFTF32.cs
@@ -0,0 +1,48 @@
+// Copyright (C) 2013 Stephan Sundermann <stephansundermann@gmail.com>
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+// 02110-1301 USA
+
+namespace Gst.FFT {
+
+ using System;
+ using System.Collections;
+ using System.Collections.Generic;
+ using System.Runtime.InteropServices;
+
+ public partial class FFTF32 : GLib.Opaque {
+
+ [DllImport("gstfft-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_fft_f32_new (int len, bool inverse);
+
+ public FFTF32 (int len, bool inverse) {
+ Raw = gst_fft_f32_new (len, inverse);
+ }
+
+ [DllImport("gstfft-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern void gst_fft_f32_fft(IntPtr raw, float[] timedata, [MarshalAs (UnmanagedType.LPArray, ArraySubType=UnmanagedType.Struct)] FFTF32Complex[] freqdata);
+
+ public void Fft(float[] timedata, Gst.FFT.FFTF32Complex[] freqdata) {
+ gst_fft_f32_fft(Handle, timedata, freqdata);
+ }
+
+ [DllImport("gstfft-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern void gst_fft_f32_window(IntPtr raw, float[] timedata, int window);
+
+ public void Window(float[] timedata, Gst.FFT.FFTWindow window) {
+ gst_fft_f32_window(Handle, timedata, (int) window);
+ }
+ }
+}
diff --git a/subprojects/gstreamer-sharp/sources/custom/Global.cs b/subprojects/gstreamer-sharp/sources/custom/Global.cs
new file mode 100644
index 0000000000..640ddd2f28
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/custom/Global.cs
@@ -0,0 +1,40 @@
+// Copyright (C) 2017 Thibault Saunier <thibault.saunier@osg-samsung.com>
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+// 02110-1301 USA
+
+namespace Gst {
+ using System;
+ using System.Runtime.InteropServices;
+
+ partial class Global
+ {
+ public static string TimeFormat(ulong time) {
+ return (time / (Gst.Constants.SECOND * 60 * 60)) + ":" +
+ (time / (Gst.Constants.SECOND * 60)) % 60 + ":" +
+ (time / (Gst.Constants.SECOND)) % 60 + ":" +
+ (time % 60);
+ }
+
+ public static string TimeFormat(long time) {
+ return (time / (Gst.Constants.SECOND * 60 * 60)) + ":" +
+ (time / (Gst.Constants.SECOND * 60)) % 60 + ":" +
+ (time / (Gst.Constants.SECOND)) % 60 + ":" +
+ (time % 60);
+ }
+
+ }
+}
+
diff --git a/subprojects/gstreamer-sharp/sources/custom/Iterator.cs b/subprojects/gstreamer-sharp/sources/custom/Iterator.cs
new file mode 100644
index 0000000000..36db444b21
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/custom/Iterator.cs
@@ -0,0 +1,115 @@
+// Iterator.cs - Custom iterator wrapper for IEnumerable
+//
+// Authors:
+// Maarten Bosmans <mkbosmans@gmail.com>
+// Sebastian Dröge <slomo@circular-chaos.org>
+// Stephan Sundermann <stephansundermann@gmail.com>
+//
+// Copyright (c) 2009 Maarten Bosmans
+// Copyright (c) 2009 Sebastian Dröge
+// Copyright (c) 2013 Stephan Sundermann
+//
+// This program is free software; you can redistribute it and/or
+// modify it under the terms of version 2 of the Lesser GNU General
+// Public License as published by the Free Software Foundation.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this program; if not, write to the
+// Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+// Boston, MA 02111-1307, USA.
+
+namespace Gst {
+
+ using System;
+ using System.Collections;
+ using System.Collections.Generic;
+ using System.Runtime.InteropServices;
+ using GLib;
+
+ public partial class Iterator : IEnumerable {
+
+ [DllImport ("gobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr g_value_reset (ref GLib.Value val);
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern int gst_iterator_next(IntPtr raw, ref GLib.Value elem);
+
+ public Gst.IteratorResult Next(ref GLib.Value elem) {
+ int raw_ret = gst_iterator_next(Handle, ref elem);
+ Gst.IteratorResult ret = (Gst.IteratorResult) raw_ret;
+ return ret;
+ }
+
+ private class Enumerator : IEnumerator {
+ Iterator iterator;
+ Hashtable seen = new Hashtable ();
+
+ private object current = null;
+ public object Current {
+ get {
+ return current;
+ }
+ }
+
+ public bool MoveNext () {
+ IntPtr raw_ret;
+ bool retry = false;
+
+ if (iterator.Handle == IntPtr.Zero)
+ return false;
+
+ do {
+ GLib.Value value = new GLib.Value (GLib.GType.Boolean);
+ value.Dispose ();
+
+ IteratorResult ret = iterator.Next (ref value);
+
+ switch (ret) {
+ case IteratorResult.Done:
+ return false;
+ case IteratorResult.Ok:
+ if (seen.Contains (value)) {
+ retry = true;
+ break;
+ }
+ seen.Add (value , null);
+ current = value.Val;
+ return true;
+ case IteratorResult.Resync:
+ iterator.Resync ();
+ retry = true;
+ break;
+ default:
+ case IteratorResult.Error:
+ throw new Exception ("Error while iterating");
+ }
+ } while (retry);
+
+ return false;
+ }
+
+ public void Reset () {
+ seen.Clear ();
+ if (iterator.Handle != IntPtr.Zero)
+ iterator.Resync ();
+ }
+
+ public Enumerator (Iterator iterator) {
+ this.iterator = iterator;
+ }
+ }
+
+ private Enumerator enumerator = null;
+
+ public IEnumerator GetEnumerator () {
+ if (this.enumerator == null)
+ this.enumerator = new Enumerator (this);
+ return this.enumerator;
+ }
+ }
+}
diff --git a/subprojects/gstreamer-sharp/sources/custom/MapInfo.cs b/subprojects/gstreamer-sharp/sources/custom/MapInfo.cs
new file mode 100644
index 0000000000..ab2cf2a71b
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/custom/MapInfo.cs
@@ -0,0 +1,47 @@
+//
+// MapInfo.cs
+//
+// Authors:
+// Stephan Sundermann <stephansundermann@gmail.com>
+//
+// Copyright (C) 2014 Stephan Sundermann
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+// 02110-1301 USA
+
+namespace Gst {
+ using System;
+ using System.Runtime.InteropServices;
+
+ partial struct MapInfo
+ {
+ public byte[] Data {
+ get {
+ byte[] data = new byte[Size];
+ Marshal.Copy (_data, data, 0, (int)Size);
+ return data;
+ }
+ set {
+ Marshal.Copy (value, 0, _data, value.Length);
+ }
+ }
+
+ public IntPtr DataPtr {
+ get {
+ return _data;
+ }
+ }
+ }
+}
diff --git a/subprojects/gstreamer-sharp/sources/custom/Message.cs b/subprojects/gstreamer-sharp/sources/custom/Message.cs
new file mode 100644
index 0000000000..99483a5e86
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/custom/Message.cs
@@ -0,0 +1,66 @@
+// Copyright (C) 2013 Stephan Sundermann <stephansundermann@gmail.com>
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+// 02110-1301 USA
+
+namespace Gst {
+
+ using System;
+ using System.Runtime.InteropServices;
+
+ partial class Message
+ {
+ [DllImport ("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern void gst_message_parse_error (IntPtr msg, out IntPtr err, out IntPtr debug);
+
+ public void ParseError (out GLib.GException error, out string debug) {
+
+ IntPtr err;
+ IntPtr dbg;
+
+ gst_message_parse_error (Handle, out err, out dbg);
+
+ if (dbg != IntPtr.Zero)
+ debug = GLib.Marshaller.Utf8PtrToString (dbg);
+ else
+ debug = null;
+
+ if (err == IntPtr.Zero)
+ throw new Exception ();
+
+ error = new GLib.GException (err);
+ }
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_message_get_stream_status_object(IntPtr raw);
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern void gst_message_set_stream_status_object(IntPtr raw, IntPtr value);
+
+ public GLib.Value StreamStatusObject {
+ get {
+ IntPtr raw_ret = gst_message_get_stream_status_object(Handle);
+ GLib.Value ret = (GLib.Value) Marshal.PtrToStructure (raw_ret, typeof (GLib.Value));
+ return ret;
+ }
+ set {
+ IntPtr native_value = GLib.Marshaller.StructureToPtrAlloc (value);
+ gst_message_set_stream_status_object(Handle, native_value);
+ value = (GLib.Value) Marshal.PtrToStructure (native_value, typeof (GLib.Value));
+ Marshal.FreeHGlobal (native_value);
+ }
+ }
+ }
+}
diff --git a/subprojects/gstreamer-sharp/sources/custom/MiniObject.cs b/subprojects/gstreamer-sharp/sources/custom/MiniObject.cs
new file mode 100644
index 0000000000..84062b0852
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/custom/MiniObject.cs
@@ -0,0 +1,58 @@
+// Copyright (C) 2014 Stephan Sundermann <stephansundermann@gmail.com>
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+// 02110-1301 USA
+
+namespace Gst {
+
+ using System;
+ using System.Runtime.InteropServices;
+
+ partial class MiniObject
+ {
+ protected MiniObject () {}
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_mini_object_replace(IntPtr olddata, IntPtr newdata);
+
+ public static bool Replace(ref Gst.MiniObject olddata, Gst.MiniObject newdata) {
+ return gst_mini_object_replace(olddata.Handle, newdata == null ? IntPtr.Zero : newdata.Handle);
+ }
+
+ public static bool Replace(ref Gst.MiniObject olddata) {
+ return Replace (ref olddata, null);
+ }
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_mini_object_take(IntPtr olddata, IntPtr newdata);
+
+ public static bool Take(ref Gst.MiniObject olddata, Gst.MiniObject newdata) {
+ return gst_mini_object_take(olddata.Handle, newdata == null ? IntPtr.Zero : newdata.Handle);
+ }
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_mini_object_make_writable(IntPtr mini_object);
+
+ public void MakeWritable() {
+ IntPtr raw = gst_mini_object_make_writable (Raw);
+ if (raw == Raw)
+ return;
+ Raw = raw;
+ if (raw != IntPtr.Zero)
+ Unref (raw);
+ }
+
+ }
+}
diff --git a/subprojects/gstreamer-sharp/sources/custom/NavigationAdapter.cs b/subprojects/gstreamer-sharp/sources/custom/NavigationAdapter.cs
new file mode 100644
index 0000000000..479c55df54
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/custom/NavigationAdapter.cs
@@ -0,0 +1,49 @@
+//
+// Authors:
+// Sebastian Dröge <slomo@circular-chaos.org>
+//
+// Copyright (C) 2009 Sebastian Dröge
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+// 02110-1301 USA
+
+namespace Gst.Video {
+
+ using System;
+ using System.Runtime.InteropServices;
+
+ public partial class NavigationAdapter {
+
+ public static bool ParseCommands (Gst.Query query, out NavigationCommand[] cmds) {
+ uint len;
+
+ cmds = null;
+ if (!QueryParseCommandsLength (query, out len))
+ return false;
+
+ cmds = new NavigationCommand[len];
+
+ for (uint i = 0; i < len; i++) {
+ NavigationCommand cmd;
+
+ if (!QueryParseCommandsNth (query, i, out cmd))
+ return false;
+ cmds[i] = cmd;
+ }
+
+ return true;
+ }
+ }
+}
diff --git a/subprojects/gstreamer-sharp/sources/custom/Object.cs b/subprojects/gstreamer-sharp/sources/custom/Object.cs
new file mode 100644
index 0000000000..bc9346c788
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/custom/Object.cs
@@ -0,0 +1,118 @@
+//
+// Authors:
+// Andrés G. Aragoneses <knocte@gmail.com>
+// Sebastian Dröge <slomo@circular-chaos.org>
+// Stephan Sundermann <stephansundermann@gmail.com>
+//
+// Copyright (c) 2009 Sebastian Dröge
+// Copyright (c) 2013 Andrés G. Aragoneses
+// Copyright (C) 2013 Stephan Sundermann
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+// 02110-1301 USA
+
+using System;
+using System.Collections.Generic;
+using System.Runtime.InteropServices;
+
+namespace Gst {
+
+ public class PropertyNotFoundException : Exception {}
+
+ [StructLayout (LayoutKind.Sequential)]
+ struct GstObject {
+ IntPtr _lock;
+ public string name;
+ public Object parent;
+ public uint flags;
+ IntPtr controlBindings;
+ public int control_rate;
+ public int last_sync;
+
+ private IntPtr[] _gstGstReserved;
+ }
+
+ partial class Object
+ {
+ private Dictionary <string, bool> PropertyNameCache = new Dictionary<string, bool> ();
+
+ [DllImport ("gobject-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr g_object_class_find_property (IntPtr klass, IntPtr name);
+
+ bool PropertyExists (string name) {
+ if (PropertyNameCache.ContainsKey (name))
+ return PropertyNameCache [name];
+
+ IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
+ var ptr = g_object_class_find_property (Marshal.ReadIntPtr (Handle), native_name);
+ var result = ptr != IntPtr.Zero;
+
+ // just cache the positive results because there might
+ // actually be new properties getting installed
+ if (result)
+ PropertyNameCache [name] = result;
+
+ GLib.Marshaller.Free (native_name);
+ return result;
+ }
+
+ public object this[string property] {
+ get {
+ if (PropertyExists (property)) {
+ using (GLib.Value v = GetProperty (property)) {
+ return v.Val;
+ }
+ } else
+ throw new PropertyNotFoundException ();
+ } set {
+ if (PropertyExists (property)) {
+ if (value == null) {
+ throw new ArgumentNullException ();
+ }
+ var type = value.GetType ();
+ var gtype = (GLib.GType)type;
+ if (gtype == null) {
+ throw new Exception ("Could not find a GType for type " + type.FullName);
+ }
+ GLib.Value v = new GLib.Value ((GLib.GType)value.GetType ());
+ v.Val = value;
+ SetProperty (property, v);
+ v.Dispose ();
+ } else
+ throw new PropertyNotFoundException ();
+ }
+ }
+
+ public void Connect (string signal, SignalHandler handler) {
+ DynamicSignal.Connect (this, signal, handler);
+ }
+
+ public void Disconnect (string signal, SignalHandler handler) {
+ DynamicSignal.Disconnect (this, signal, handler);
+ }
+
+ public void Connect (string signal, Delegate handler) {
+ DynamicSignal.Connect (this, signal, handler);
+ }
+
+ public void Disconnect (string signal, Delegate handler) {
+ DynamicSignal.Disconnect (this, signal, handler);
+ }
+
+ public object Emit (string signal, params object[] parameters) {
+ return DynamicSignal.Emit (this, signal, parameters);
+ }
+ }
+}
diff --git a/subprojects/gstreamer-sharp/sources/custom/Pad.cs b/subprojects/gstreamer-sharp/sources/custom/Pad.cs
new file mode 100644
index 0000000000..6b597b5d58
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/custom/Pad.cs
@@ -0,0 +1,42 @@
+// Copyright (C) 2013 Stephan Sundermann <stephansundermann@gmail.com>
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+// 02110-1301 USA
+
+namespace Gst {
+ using System;
+ using System.Runtime.InteropServices;
+
+ partial class Pad
+ {
+ [GLib.Property ("caps")]
+ public Gst.Caps Caps {
+ get {
+ GLib.Value val = GetProperty ("caps");
+ Gst.Caps ret = (Gst.Caps) val.Val;
+ val.Dispose ();
+ return ret;
+ }
+ }
+ public new PadFlags Flags {
+ get {
+ return (PadFlags)base.Flags;
+ }
+ set {
+ base.Flags = (uint)value;
+ }
+ }
+ }
+}
diff --git a/subprojects/gstreamer-sharp/sources/custom/Pipeline.cs b/subprojects/gstreamer-sharp/sources/custom/Pipeline.cs
new file mode 100644
index 0000000000..d4c639313f
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/custom/Pipeline.cs
@@ -0,0 +1,28 @@
+//
+// Pipeline.cs
+//
+// Authors:
+// Sebastian Dröge <sebastian.droege@collabora.co.uk>
+//
+// Copyright (C) 2009 Sebastian Dröge
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+// 02110-1301 USA
+
+namespace Gst {
+ partial class Pipeline {
+ public Pipeline () : this (null) {}
+ }
+}
diff --git a/subprojects/gstreamer-sharp/sources/custom/TagList.cs b/subprojects/gstreamer-sharp/sources/custom/TagList.cs
new file mode 100644
index 0000000000..8be903de06
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/custom/TagList.cs
@@ -0,0 +1,68 @@
+// Copyright (C) 2013 Stephan Sundermann <stephansundermann@gmail.com>
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+// 02110-1301 USA
+
+namespace Gst
+{
+ using System;
+ using System.Runtime.InteropServices;
+
+ public partial class TagList
+ {
+ public object this [string tag, uint index] {
+ get { return GetValueIndex (tag, index).Val; }
+ }
+
+ public object this [string tag] {
+ get {
+ var v = GLib.Value.Empty;
+ bool success;
+
+ success = CopyValue (ref v, this, tag);
+
+ if (!success)
+ return null;
+
+ object ret = (object)v.Val;
+ v.Dispose ();
+
+ return ret;
+ }
+ }
+
+ public string[] Tags {
+ get {
+ int size = NTags ();
+ string[] tags = new string[size];
+ for (uint i = 0; i < size; i++)
+ tags [i] = NthTagName (i);
+
+ return tags;
+ }
+ }
+
+ public void Add (Gst.TagMergeMode mode, string tag, object value)
+ {
+ if (!Tag.Exists (tag))
+ throw new ArgumentException (String.Format ("Invalid tag name '{0}'", tag));
+
+ GLib.Value v = new GLib.Value (value);
+
+ AddValue (mode, tag, v);
+ v.Dispose ();
+ }
+ }
+}
diff --git a/subprojects/gstreamer-sharp/sources/custom/Value.cs b/subprojects/gstreamer-sharp/sources/custom/Value.cs
new file mode 100644
index 0000000000..9c8c34db49
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/custom/Value.cs
@@ -0,0 +1,652 @@
+// Copyright (C) 2009 Sebastian Dröge <sebastian.droege@collabora.co.uk>
+// Copyright (C) 2013 Stephan Sundermann <stephansundermann@gmail.com>
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+
+// Wrapper for GLib.Value to add support for GstFraction, GstFourcc, Gst*Range, ...
+using System;
+using System.Text;
+using System.Collections;
+using System.Runtime.InteropServices;
+using GLib;
+
+/* TODO: intersect, compare, substract, .... */
+namespace Gst
+{
+ public struct Fraction
+ {
+ public int Numerator {
+ get {
+ return numerator;
+ }
+
+ set {
+ numerator = value;
+ Reduce ();
+ }
+ }
+
+ public int Denominator {
+ get {
+ return denominator;
+ }
+
+ set {
+ if (denominator == 0)
+ throw new ArgumentException ();
+
+ denominator = value;
+ Reduce ();
+ }
+ }
+
+ private int numerator;
+ private int denominator;
+
+ public static GLib.GType GType {
+ get {
+ return new GType (gst_fraction_get_type ());
+ }
+ }
+
+ private void Reduce ()
+ {
+ int gcd = GreatestCommonDivisor (this);
+
+ if (gcd != 0) {
+ this.numerator /= gcd;
+ this.denominator /= gcd;
+ }
+ }
+
+ private static int GreatestCommonDivisor (Fraction fraction)
+ {
+ int a = fraction.numerator;
+ int b = fraction.denominator;
+
+ while (b != 0) {
+ int temp = a;
+
+ a = b;
+ b = temp % b;
+ }
+ return Math.Abs (a);
+ }
+
+ public Fraction (int numerator, int denominator)
+ {
+ if (denominator == 0)
+ throw new ArgumentException ();
+
+ this.numerator = numerator;
+ this.denominator = denominator;
+ Reduce ();
+ }
+
+ public Fraction (GLib.Value val) : this ()
+ {
+ this.numerator = gst_value_get_fraction_numerator (ref val);
+ this.denominator = gst_value_get_fraction_denominator (ref val);
+ }
+
+ public void SetGValue (ref GLib.Value val)
+ {
+ gst_value_set_fraction (ref val, Numerator, Denominator);
+ }
+
+ public override string ToString ()
+ {
+ return String.Format ("{0}/{1}", numerator, denominator);
+ }
+
+ public static explicit operator GLib.Value (Fraction fraction)
+ {
+ GLib.Value val = new GLib.Value (Fraction.GType);
+ gst_value_set_fraction (ref val, fraction.Numerator, fraction.Denominator);
+
+ return val;
+ }
+
+ public static explicit operator double (Fraction fraction)
+ {
+ return ((double)fraction.numerator) / ((double)fraction.denominator);
+ }
+
+ public static Fraction operator + (Fraction a, Fraction b)
+ {
+ return new Fraction ((a.Numerator * b.Denominator) + (b.Numerator * a.Denominator), a.Denominator * b.Denominator);
+ }
+
+ public static Fraction operator - (Fraction a, Fraction b)
+ {
+ return new Fraction ((a.Numerator * b.Denominator) - (b.Numerator * a.Denominator), a.Denominator * b.Denominator);
+ }
+
+ public static Fraction operator * (Fraction a, Fraction b)
+ {
+ return new Fraction (a.Numerator * b.Numerator, a.Denominator * b.Denominator);
+ }
+
+ public static Fraction operator / (Fraction a, Fraction b)
+ {
+ return new Fraction (a.Numerator * b.Denominator, a.Denominator * b.Numerator);
+ }
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+
+ private static extern void gst_value_set_fraction (ref GLib.Value v, int numerator, int denominator);
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+
+ private static extern int gst_value_get_fraction_numerator (ref GLib.Value v);
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+
+ private static extern int gst_value_get_fraction_denominator (ref GLib.Value v);
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+
+ private static extern IntPtr gst_fraction_get_type ();
+ }
+
+ public struct DoubleRange
+ {
+ public double Min;
+ public double Max;
+
+ public static GLib.GType GType {
+ get {
+ return new GType (gst_double_range_get_type ());
+ }
+ }
+
+ public DoubleRange (double min, double max)
+ {
+ if (min > max)
+ throw new ArgumentException ();
+
+ this.Min = min;
+ this.Max = max;
+ }
+
+ public DoubleRange (GLib.Value val) : this ()
+ {
+ this.Min = gst_value_get_double_range_min (ref val);
+ this.Max = gst_value_get_double_range_max (ref val);
+ }
+
+ public override string ToString ()
+ {
+ return String.Format ("[{0}, {1}]", Min, Max);
+ }
+
+ public void SetGValue (ref GLib.Value val)
+ {
+ gst_value_set_double_range (ref val, Min, Max);
+ }
+
+ public static explicit operator GLib.Value (DoubleRange range)
+ {
+ GLib.Value val = new GLib.Value (DoubleRange.GType);
+
+ gst_value_set_double_range (ref val, range.Min, range.Max);
+ return val;
+ }
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+
+ private static extern IntPtr gst_double_range_get_type ();
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+
+ private static extern void gst_value_set_double_range (ref GLib.Value v, double min, double max);
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+
+ private static extern double gst_value_get_double_range_min (ref GLib.Value v);
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+
+ private static extern double gst_value_get_double_range_max (ref GLib.Value v);
+ }
+
+ public struct IntRange
+ {
+ public int Min;
+ public int Max;
+
+ public static GLib.GType GType {
+ get {
+ return new GType (gst_int_range_get_type ());
+ }
+ }
+
+ public IntRange (int min, int max)
+ {
+ if (min > max)
+ throw new ArgumentException ();
+
+ this.Min = min;
+ this.Max = max;
+ }
+
+ public IntRange (GLib.Value val) : this ()
+ {
+ this.Min = gst_value_get_int_range_min (ref val);
+ this.Max = gst_value_get_int_range_max (ref val);
+ }
+
+ public void SetGValue (ref GLib.Value val)
+ {
+ gst_value_set_int_range (ref val, Min, Max);
+ }
+
+ public override string ToString ()
+ {
+ return String.Format ("[{0}, {1}]", Min, Max);
+ }
+
+ public static explicit operator GLib.Value (IntRange range)
+ {
+ GLib.Value val = new GLib.Value (IntRange.GType);
+
+ gst_value_set_int_range (ref val, range.Min, range.Max);
+ return val;
+ }
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+
+ private static extern IntPtr gst_int_range_get_type ();
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+
+ private static extern void gst_value_set_int_range (ref GLib.Value v, int min, int max);
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+
+ private static extern int gst_value_get_int_range_min (ref GLib.Value v);
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+
+ private static extern int gst_value_get_int_range_max (ref GLib.Value v);
+ }
+
+ public struct FractionRange
+ {
+ public Fraction Min;
+ public Fraction Max;
+
+ public static GLib.GType GType {
+ get {
+ return new GType (gst_fraction_range_get_type ());
+ }
+ }
+
+ public FractionRange (Fraction min, Fraction max)
+ {
+ double a = (double)min, b = (double)max;
+
+ if (a > b)
+ throw new ArgumentException ();
+
+ this.Min = min;
+ this.Max = max;
+ }
+
+ public FractionRange (GLib.Value val) : this ()
+ {
+ IntPtr min_ptr, max_ptr;
+ GLib.Value min, max;
+
+ min_ptr = gst_value_get_fraction_range_min (ref val);
+ max_ptr = gst_value_get_fraction_range_max (ref val);
+
+ min = (GLib.Value)Marshal.PtrToStructure (min_ptr, typeof(GLib.Value));
+ max = (GLib.Value)Marshal.PtrToStructure (max_ptr, typeof(GLib.Value));
+ this.Min = (Fraction)min.Val;
+ this.Max = (Fraction)max.Val;
+ }
+
+ public void SetGValue (ref GLib.Value val)
+ {
+ GLib.Value min = new GLib.Value (Min);
+ GLib.Value max = new GLib.Value (Max);
+ gst_value_set_fraction_range (ref val, ref min, ref max);
+ min.Dispose ();
+ max.Dispose ();
+ }
+
+ public override string ToString ()
+ {
+ return String.Format ("[{0}, {1}]", Min, Max);
+ }
+
+ public static explicit operator GLib.Value (FractionRange range)
+ {
+ GLib.Value val = new GLib.Value (FractionRange.GType);
+
+ GLib.Value min = new GLib.Value (range.Min);
+ GLib.Value max = new GLib.Value (range.Max);
+ gst_value_set_fraction_range (ref val, ref min, ref max);
+ min.Dispose ();
+ max.Dispose ();
+ return val;
+ }
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+
+ private static extern IntPtr gst_fraction_range_get_type ();
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+
+ private static extern void gst_value_set_fraction_range (ref GLib.Value v, ref GLib.Value min, ref GLib.Value max);
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+
+ private static extern IntPtr gst_value_get_fraction_range_min (ref GLib.Value v);
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+
+ private static extern IntPtr gst_value_get_fraction_range_max (ref GLib.Value v);
+ }
+
+ public class Date : IWrapper
+ {
+ public DateTime Val;
+ private IntPtr handle;
+
+ public IntPtr Handle {
+ get {
+ return handle;
+ }
+ }
+
+ public static GLib.GType GType {
+ get {
+ return new GType (gst_date_get_type ());
+ }
+ }
+
+ ~Date ()
+ {
+ g_date_free (handle);
+ }
+
+ public Date (DateTime date)
+ {
+ this.Val = date;
+ handle = g_date_new_dmy ((byte)Val.Day, (int)Val.Month, (ushort)Val.Year);
+ }
+
+ public Date (int day, int month, int year)
+ {
+ this.Val = new DateTime (year, month, day);
+ handle = g_date_new_dmy ((byte)Val.Day, (int)Val.Month, (ushort)Val.Year);
+ }
+
+ public Date (GLib.Value val)
+ {
+ IntPtr date = gst_value_get_date (ref val);
+
+ this.Val = new DateTime (g_date_get_year (date), g_date_get_month (date), g_date_get_day (date));
+ handle = g_date_new_dmy ((byte)Val.Day, (int)Val.Month, (ushort)Val.Year);
+ }
+
+ public static Date New (IntPtr date)
+ {
+ return new Date (g_date_get_day (date), g_date_get_month (date), g_date_get_year (date));
+ }
+
+ public void SetGValue (ref GLib.Value val)
+ {
+ IntPtr date_ptr = g_date_new_dmy ((byte)Val.Day, (int)Val.Month, (ushort)Val.Year);
+
+ gst_value_set_date (ref val, date_ptr);
+
+ GLib.Marshaller.Free (date_ptr);
+ }
+
+ public override string ToString ()
+ {
+ return String.Format ("{0}-{1}-{2}", Val.Year, Val.Month, Val.Day);
+ }
+
+ public static explicit operator GLib.Value (Date date)
+ {
+ GLib.Value val = new GLib.Value (Date.GType);
+
+ date.SetGValue (ref val);
+
+ return val;
+ }
+
+ [DllImport ("glib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ private static extern byte g_date_get_day (IntPtr date);
+
+ [DllImport ("glib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ private static extern int g_date_get_month (IntPtr date);
+
+ [DllImport ("glib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ private static extern ushort g_date_get_year (IntPtr date);
+
+ [DllImport ("glib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ private static extern IntPtr g_date_new_dmy (byte day, int month, ushort year);
+
+ [DllImport ("glib-2.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ private static extern void g_date_free (IntPtr date);
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+
+ private static extern IntPtr gst_date_get_type ();
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+
+ private static extern IntPtr gst_value_get_date (ref GLib.Value val);
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+
+ private static extern void gst_value_set_date (ref GLib.Value val, IntPtr date);
+ }
+
+ public struct List : IEnumerable
+ {
+ private IList content;
+
+ public static GLib.GType GType {
+ get {
+ return new GType (gst_value_list_get_type ());
+ }
+ }
+
+ public List (IList content)
+ {
+ this.content = content;
+ }
+
+ public List (GLib.Value val)
+ {
+ this.content = new ArrayList ();
+
+ uint n = gst_value_list_get_size (ref val);
+ for (uint i = 0; i < n; i++) {
+ IntPtr v_ptr = gst_value_list_get_value (ref val, i);
+ GLib.Value v = (GLib.Value)Marshal.PtrToStructure (v_ptr, typeof(GLib.Value));
+ this.content.Add (v.Val);
+ }
+ }
+
+ public void SetGValue (ref GLib.Value val)
+ {
+ foreach (object o in content) {
+ GLib.Value v = new GLib.Value (o);
+ gst_value_list_append_value (ref val, ref v);
+ v.Dispose ();
+ }
+ }
+
+ public override string ToString ()
+ {
+ StringBuilder sb = new StringBuilder ();
+
+ sb.Append ("< ");
+ for (int i = 0; i < content.Count; i++) {
+ sb.Append (content [i]);
+ if (i < content.Count - 1)
+ sb.Append (", ");
+ }
+ sb.Append (" >");
+
+ return sb.ToString ();
+ }
+
+ public static explicit operator GLib.Value (List l)
+ {
+ GLib.Value val = new GLib.Value (List.GType);
+
+ foreach (object o in l.content) {
+ GLib.Value v = new GLib.Value (o);
+ gst_value_list_append_value (ref val, ref v);
+ v.Dispose ();
+ }
+
+ return val;
+ }
+
+ public IEnumerator GetEnumerator ()
+ {
+ return content.GetEnumerator ();
+ }
+
+ public object this [int index] {
+ set {
+ content [index] = value;
+ }
+ get {
+ return content [index];
+ }
+ }
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+
+ private static extern IntPtr gst_value_list_get_type ();
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+
+ private static extern uint gst_value_list_get_size (ref GLib.Value val);
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+
+ private static extern IntPtr gst_value_list_get_value (ref GLib.Value val, uint index);
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+
+ private static extern void gst_value_list_append_value (ref GLib.Value val, ref GLib.Value el);
+ }
+
+ public struct Array : IEnumerable
+ {
+ private IList content;
+
+ public static GLib.GType GType {
+ get {
+ return new GType (gst_value_array_get_type ());
+ }
+ }
+
+ public Array (IList content)
+ {
+ this.content = content;
+ }
+
+ public Array (GLib.Value val)
+ {
+ this.content = new ArrayList ();
+
+ uint n = gst_value_array_get_size (ref val);
+ for (uint i = 0; i < n; i++) {
+ IntPtr v_ptr = gst_value_array_get_value (ref val, i);
+ GLib.Value v = (GLib.Value)Marshal.PtrToStructure (v_ptr, typeof(GLib.Value));
+ this.content.Add (v.Val);
+ }
+ }
+
+ public void SetGValue (ref GLib.Value val)
+ {
+ foreach (object o in content) {
+ GLib.Value v = new GLib.Value (o);
+ gst_value_array_append_value (ref val, ref v);
+ v.Dispose ();
+ }
+ }
+
+ public static explicit operator GLib.Value (Array a)
+ {
+ GLib.Value val = new GLib.Value (Gst.Array.GType);
+
+ foreach (object o in a.content) {
+ GLib.Value v = new GLib.Value (o);
+ gst_value_array_append_value (ref val, ref v);
+ v.Dispose ();
+ }
+
+ return val;
+ }
+
+ public override string ToString ()
+ {
+ StringBuilder sb = new StringBuilder ();
+
+ sb.Append ("{ ");
+ for (int i = 0; i < content.Count; i++) {
+ sb.Append (content [i]);
+ if (i < content.Count - 1)
+ sb.Append (", ");
+ }
+ sb.Append (" }");
+
+ return sb.ToString ();
+ }
+
+ public IEnumerator GetEnumerator ()
+ {
+ return content.GetEnumerator ();
+ }
+
+ public object this [int index] {
+ set {
+ content [index] = value;
+ }
+ get {
+ return content [index];
+ }
+ }
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+
+ private static extern IntPtr gst_value_array_get_type ();
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+
+ private static extern uint gst_value_array_get_size (ref GLib.Value val);
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+
+ private static extern IntPtr gst_value_array_get_value (ref GLib.Value val, uint index);
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+
+ private static extern void gst_value_array_append_value (ref GLib.Value val, ref GLib.Value el);
+ }
+}
diff --git a/subprojects/gstreamer-sharp/sources/custom/Version.cs b/subprojects/gstreamer-sharp/sources/custom/Version.cs
new file mode 100644
index 0000000000..9b6af17437
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/custom/Version.cs
@@ -0,0 +1,84 @@
+//
+// Version.cs: Lightweight Version Object for GStreamer
+//
+// Authors:
+// Aaron Bockover <abockover@novell.com>
+// Stephan Sundermann <stephansundermann@gmail.com>
+//
+// Copyright (C) 2006 Novell, Inc.
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+// 02110-1301 USA
+
+using System;
+using System.Runtime.InteropServices;
+
+namespace Gst
+{
+ public static class Version
+ {
+ private static uint major;
+ private static uint minor;
+ private static uint micro;
+ private static uint nano;
+ private static string version_string;
+
+ static Version ()
+ {
+ gst_version (out major, out minor, out micro, out nano);
+ }
+
+ public static string Description {
+ get {
+ if (version_string == null) {
+ IntPtr version_string_ptr = gst_version_string ();
+ version_string = GLib.Marshaller.Utf8PtrToString (version_string_ptr);
+ }
+
+ return version_string;
+ }
+ }
+
+ public static uint Major {
+ get {
+ return major;
+ }
+ }
+
+ public static uint Minor {
+ get {
+ return minor;
+ }
+ }
+
+ public static uint Micro {
+ get {
+ return micro;
+ }
+ }
+
+ public static uint Nano {
+ get {
+ return nano;
+ }
+ }
+
+ [DllImport ("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ private static extern void gst_version (out uint major, out uint minor, out uint micro, out uint nano);
+
+ [DllImport ("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ private static extern IntPtr gst_version_string ();
+ }
+}
diff --git a/subprojects/gstreamer-sharp/sources/custom/VideoGLUploadMeta.cs b/subprojects/gstreamer-sharp/sources/custom/VideoGLUploadMeta.cs
new file mode 100644
index 0000000000..38502869dd
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/custom/VideoGLUploadMeta.cs
@@ -0,0 +1,29 @@
+// Copyright (C) 2014 Stephan Sundermann <stephansundermann@gmail.com>
+//
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+//
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+// 02110-1301 USA
+
+namespace Gst.Video {
+ using System;
+ using System.Runtime.InteropServices;
+
+ partial struct VideoGLTextureUploadMeta
+ {
+ public bool Equals (VideoGLTextureUploadMeta other)
+ {
+ return Meta.Equals (other.Meta) && TextureOrientation.Equals (other.TextureOrientation) && NTextures.Equals (other.NTextures) && TextureType.Equals (other.TextureType);
+ }
+ }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.App/AppSink.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.App/AppSink.cs
new file mode 100644
index 0000000000..939a713165
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.App/AppSink.cs
@@ -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("gstapp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_app_sink_get_caps(IntPtr raw);
+
+ [DllImport("gstapp-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("gstapp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_app_sink_get_drop(IntPtr raw);
+
+ [DllImport("gstapp-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("gstapp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_app_sink_get_emit_signals(IntPtr raw);
+
+ [DllImport("gstapp-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("gstapp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern uint gst_app_sink_get_max_buffers(IntPtr raw);
+
+ [DllImport("gstapp-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("gstapp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_app_sink_get_wait_on_eos(IntPtr raw);
+
+ [DllImport("gstapp-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("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("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("new-preroll")]
+ public event Gst.App.NewPrerollHandler NewPreroll {
+ add {
+ this.AddSignalHandler ("new-preroll", value, typeof (Gst.App.NewPrerollArgs));
+ }
+ remove {
+ this.RemoveSignalHandler ("new-preroll", 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);
+ }
+ }
+
+ 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("gstapp-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("gstapp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_app_sink_get_buffer_list_support(IntPtr raw);
+
+ [DllImport("gstapp-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("gstapp-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("gstapp-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("gstapp-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("gstapp-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("gstapp-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("gstreamer-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("gstreamer-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("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst.App/AppSinkCallbacks.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.App/AppSinkCallbacks.cs
new file mode 100644
index 0000000000..07cfa2d297
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.App/AppSinkCallbacks.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.App/AppSrc.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.App/AppSrc.cs
new file mode 100644
index 0000000000..8b4642353f
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.App/AppSrc.cs
@@ -0,0 +1,929 @@
+// 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("gstapp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_app_src_get_caps(IntPtr raw);
+
+ [DllImport("gstapp-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("gstapp-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("gstapp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern ulong gst_app_src_get_duration(IntPtr raw);
+
+ [DllImport("gstapp-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("gstapp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_app_src_get_emit_signals(IntPtr raw);
+
+ [DllImport("gstapp-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 ("handle-segment-change")]
+ public bool HandleSegmentChange {
+ get {
+ GLib.Value val = GetProperty ("handle-segment-change");
+ bool ret = (bool) val;
+ val.Dispose ();
+ return ret;
+ }
+ set {
+ GLib.Value val = new GLib.Value(value);
+ SetProperty("handle-segment-change", 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("gstapp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern ulong gst_app_src_get_max_bytes(IntPtr raw);
+
+ [DllImport("gstapp-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("gstapp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern long gst_app_src_get_size(IntPtr raw);
+
+ [DllImport("gstapp-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("gstapp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern int gst_app_src_get_stream_type(IntPtr raw);
+
+ [DllImport("gstapp-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("seek-data")]
+ public event Gst.App.SeekDataHandler SeekData {
+ add {
+ this.AddSignalHandler ("seek-data", value, typeof (Gst.App.SeekDataArgs));
+ }
+ remove {
+ this.RemoveSignalHandler ("seek-data", 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("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-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);
+ }
+ }
+
+ 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 _object);
+
+ static void NeedData_cb (IntPtr inst, uint _object)
+ {
+ try {
+ AppSrc __obj = GLib.Object.GetObject (inst, false) as AppSrc;
+ __obj.OnNeedData (_object);
+ } catch (Exception e) {
+ GLib.ExceptionManager.RaiseUnhandledException (e, false);
+ }
+ }
+
+ [GLib.DefaultSignalHandler(Type=typeof(Gst.App.AppSrc), ConnectionMethod="OverrideNeedData")]
+ protected virtual void OnNeedData (uint _object)
+ {
+ InternalNeedData (_object);
+ }
+
+ private void InternalNeedData (uint _object)
+ {
+ 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, _object);
+ }
+
+ 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 _object);
+
+ static bool SeekData_cb (IntPtr inst, ulong _object)
+ {
+ try {
+ AppSrc __obj = GLib.Object.GetObject (inst, false) as AppSrc;
+ bool __result;
+ __result = __obj.OnSeekData (_object);
+ 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 _object)
+ {
+ return InternalSeekData (_object);
+ }
+
+ private bool InternalSeekData (ulong _object)
+ {
+ 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, _object);
+ 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 _object);
+
+ static int PushBufferEvent_cb (IntPtr inst, IntPtr _object)
+ {
+ try {
+ AppSrc __obj = GLib.Object.GetObject (inst, false) as AppSrc;
+ Gst.FlowReturn __result;
+ __result = __obj.OnPushBufferEvent (_object == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (_object, 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 _object)
+ {
+ return InternalPushBufferEvent (_object);
+ }
+
+ private Gst.FlowReturn InternalPushBufferEvent (Gst.Buffer _object)
+ {
+ 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, _object == null ? IntPtr.Zero : _object.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 _object);
+
+ static int PushSampleEvent_cb (IntPtr inst, IntPtr _object)
+ {
+ try {
+ AppSrc __obj = GLib.Object.GetObject (inst, false) as AppSrc;
+ Gst.FlowReturn __result;
+ __result = __obj.OnPushSampleEvent (_object == IntPtr.Zero ? null : (Gst.Sample) GLib.Opaque.GetOpaque (_object, 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 _object)
+ {
+ return InternalPushSampleEvent (_object);
+ }
+
+ private Gst.FlowReturn InternalPushSampleEvent (Gst.Sample _object)
+ {
+ 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, _object == null ? IntPtr.Zero : _object.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 _object);
+
+ static int PushBufferListEvent_cb (IntPtr inst, IntPtr _object)
+ {
+ try {
+ AppSrc __obj = GLib.Object.GetObject (inst, false) as AppSrc;
+ Gst.FlowReturn __result;
+ __result = __obj.OnPushBufferListEvent (_object == IntPtr.Zero ? null : (Gst.BufferList) GLib.Opaque.GetOpaque (_object, 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 _object)
+ {
+ return InternalPushBufferListEvent (_object);
+ }
+
+ private Gst.FlowReturn InternalPushBufferListEvent (Gst.BufferList _object)
+ {
+ 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, _object == null ? IntPtr.Zero : _object.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("gstapp-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("gstapp-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("gstapp-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("gstapp-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("gstapp-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("gstapp-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("gstapp-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("gstreamer-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("gstreamer-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("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst.App/AppSrcCallbacks.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.App/AppSrcCallbacks.cs
new file mode 100644
index 0000000000..3850eff309
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.App/AppSrcCallbacks.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.App/AppStreamType.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.App/AppStreamType.cs
new file mode 100644
index 0000000000..40fa0d697e
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.App/AppStreamType.cs
@@ -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 ("gstapp-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/subprojects/gstreamer-sharp/sources/generated/Gst.App/Constants.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.App/Constants.cs
new file mode 100644
index 0000000000..0d6dda79e8
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.App/Constants.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.App/EndOfStreamEventHandler.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.App/EndOfStreamEventHandler.cs
new file mode 100644
index 0000000000..de83ee769d
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.App/EndOfStreamEventHandler.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.App/Global.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.App/Global.cs
new file mode 100644
index 0000000000..fedd8e4512
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.App/Global.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.App/NeedDataHandler.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.App/NeedDataHandler.cs
new file mode 100644
index 0000000000..d049fe9de5
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.App/NeedDataHandler.cs
@@ -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 Object{
+ get {
+ return (uint) Args [0];
+ }
+ }
+
+ }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.App/NewPrerollHandler.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.App/NewPrerollHandler.cs
new file mode 100644
index 0000000000..6fc4b88713
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.App/NewPrerollHandler.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.App/NewSampleHandler.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.App/NewSampleHandler.cs
new file mode 100644
index 0000000000..dcafc1339c
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.App/NewSampleHandler.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.App/PushBufferEventHandler.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.App/PushBufferEventHandler.cs
new file mode 100644
index 0000000000..af3fb527d6
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.App/PushBufferEventHandler.cs
@@ -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 Object{
+ get {
+ return (Gst.Buffer) Args [0];
+ }
+ }
+
+ }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.App/PushBufferListEventHandler.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.App/PushBufferListEventHandler.cs
new file mode 100644
index 0000000000..3edfc07bbe
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.App/PushBufferListEventHandler.cs
@@ -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 Object{
+ get {
+ return (Gst.BufferList) Args [0];
+ }
+ }
+
+ }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.App/PushSampleEventHandler.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.App/PushSampleEventHandler.cs
new file mode 100644
index 0000000000..7d9b059e93
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.App/PushSampleEventHandler.cs
@@ -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 Object{
+ get {
+ return (Gst.Sample) Args [0];
+ }
+ }
+
+ }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.App/SeekDataHandler.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.App/SeekDataHandler.cs
new file mode 100644
index 0000000000..324b06145d
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.App/SeekDataHandler.cs
@@ -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 Object{
+ get {
+ return (ulong) Args [0];
+ }
+ }
+
+ }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.App/TryPullPrerollEventHandler.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.App/TryPullPrerollEventHandler.cs
new file mode 100644
index 0000000000..c6f2469e34
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.App/TryPullPrerollEventHandler.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.App/TryPullSampleEventHandler.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.App/TryPullSampleEventHandler.cs
new file mode 100644
index 0000000000..dc8274ed8c
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.App/TryPullSampleEventHandler.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioBaseSink.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioBaseSink.cs
new file mode 100644
index 0000000000..dc8445e916
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioBaseSink.cs
@@ -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("gstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern ulong gst_audio_base_sink_get_alignment_threshold(IntPtr raw);
+
+ [DllImport("gstaudio-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("gstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern ulong gst_audio_base_sink_get_discont_wait(IntPtr raw);
+
+ [DllImport("gstaudio-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("gstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern long gst_audio_base_sink_get_drift_tolerance(IntPtr raw);
+
+ [DllImport("gstaudio-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("gstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_audio_base_sink_get_provide_clock(IntPtr raw);
+
+ [DllImport("gstaudio-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("gstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern int gst_audio_base_sink_get_slave_method(IntPtr raw);
+
+ [DllImport("gstaudio-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("gstaudio-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("gstaudio-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("gstaudio-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("gstaudio-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/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioBaseSinkCustomSlavingCallback.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioBaseSinkCustomSlavingCallback.cs
new file mode 100644
index 0000000000..45085ffa98
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioBaseSinkCustomSlavingCallback.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioBaseSinkDiscontReason.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioBaseSinkDiscontReason.cs
new file mode 100644
index 0000000000..4cc218a616
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioBaseSinkDiscontReason.cs
@@ -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 ("gstaudio-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/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioBaseSinkSlaveMethod.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioBaseSinkSlaveMethod.cs
new file mode 100644
index 0000000000..a44b9a6e8b
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioBaseSinkSlaveMethod.cs
@@ -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 ("gstaudio-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/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioBaseSrc.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioBaseSrc.cs
new file mode 100644
index 0000000000..d62c7c4aa6
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioBaseSrc.cs
@@ -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("gstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_audio_base_src_get_provide_clock(IntPtr raw);
+
+ [DllImport("gstaudio-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("gstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern int gst_audio_base_src_get_slave_method(IntPtr raw);
+
+ [DllImport("gstaudio-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("gstaudio-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("gstaudio-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/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioBaseSrcSlaveMethod.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioBaseSrcSlaveMethod.cs
new file mode 100644
index 0000000000..4d62679f2d
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioBaseSrcSlaveMethod.cs
@@ -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 ("gstaudio-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/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioBuffer.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioBuffer.cs
new file mode 100644
index 0000000000..5cfe42093a
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioBuffer.cs
@@ -0,0 +1,145 @@
+// 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 AudioBuffer : IEquatable<AudioBuffer> {
+
+ private IntPtr _info;
+ public Gst.Audio.AudioInfo Info {
+ get {
+ return _info == IntPtr.Zero ? null : (Gst.Audio.AudioInfo) GLib.Opaque.GetOpaque (_info, typeof (Gst.Audio.AudioInfo), false);
+ }
+ set {
+ _info = value == null ? IntPtr.Zero : value.Handle;
+ }
+ }
+ private UIntPtr n_samples;
+ public ulong NSamples {
+ get {
+ return (ulong) n_samples;
+ }
+ set {
+ n_samples = new UIntPtr (value);
+ }
+ }
+ public int NPlanes;
+ private IntPtr _planes;
+ 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 _map_infos;
+
+ [MarshalAs (UnmanagedType.ByValArray, SizeConst=4)]
+ private IntPtr[] _gstGstReserved;
+
+ public static Gst.Audio.AudioBuffer Zero = new Gst.Audio.AudioBuffer ();
+
+ public static Gst.Audio.AudioBuffer New(IntPtr raw) {
+ if (raw == IntPtr.Zero)
+ return Gst.Audio.AudioBuffer.Zero;
+ return (Gst.Audio.AudioBuffer) Marshal.PtrToStructure (raw, typeof (Gst.Audio.AudioBuffer));
+ }
+
+ [DllImport("gstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_audio_buffer_map(IntPtr raw, IntPtr info, IntPtr gstbuffer, int flags);
+
+ public bool Map(Gst.Audio.AudioInfo info, Gst.Buffer gstbuffer, 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_audio_buffer_map(this_as_native, info == null ? IntPtr.Zero : info.Handle, gstbuffer == null ? IntPtr.Zero : gstbuffer.Handle, (int) flags);
+ bool ret = raw_ret;
+ ReadNative (this_as_native, ref this);
+ System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+ return ret;
+ }
+
+ [DllImport("gstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern void gst_audio_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_audio_buffer_unmap(this_as_native);
+ ReadNative (this_as_native, ref this);
+ System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+ }
+
+ [DllImport("gstaudio-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 Clip(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("gstaudio-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 ReorderChannels(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("gstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_audio_buffer_truncate(IntPtr buffer, int bpf, UIntPtr trim, UIntPtr samples);
+
+ public static Gst.Buffer Truncate(Gst.Buffer buffer, int bpf, ulong trim, ulong samples) {
+ buffer.Owned = false;
+ IntPtr raw_ret = gst_audio_buffer_truncate(buffer == null ? IntPtr.Zero : buffer.Handle, bpf, new UIntPtr (trim), new UIntPtr (samples));
+ 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.Audio.AudioBuffer target)
+ {
+ target = New (native);
+ }
+
+ public bool Equals (AudioBuffer other)
+ {
+ return true && Info.Equals (other.Info) && NSamples.Equals (other.NSamples) && NPlanes.Equals (other.NPlanes) && _planes.Equals (other._planes) && Buffer.Equals (other.Buffer) && _map_infos.Equals (other._map_infos);
+ }
+
+ public override bool Equals (object other)
+ {
+ return other is AudioBuffer && Equals ((AudioBuffer) other);
+ }
+
+ public override int GetHashCode ()
+ {
+ return this.GetType ().FullName.GetHashCode () ^ Info.GetHashCode () ^ NSamples.GetHashCode () ^ NPlanes.GetHashCode () ^ _planes.GetHashCode () ^ Buffer.GetHashCode () ^ _map_infos.GetHashCode ();
+ }
+
+ private static GLib.GType GType {
+ get { return GLib.GType.Pointer; }
+ }
+#endregion
+ }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioCdSrc.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioCdSrc.cs
new file mode 100644
index 0000000000..23a54c38a4
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioCdSrc.cs
@@ -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("gstaudio-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("gstaudio-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("gstreamer-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("gstreamer-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("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioCdSrcMode.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioCdSrcMode.cs
new file mode 100644
index 0000000000..64988117f5
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioCdSrcMode.cs
@@ -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 ("gstaudio-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/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioCdSrcTrack.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioCdSrcTrack.cs
new file mode 100644
index 0000000000..8537cfcaa5
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioCdSrcTrack.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioChannelMixer.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioChannelMixer.cs
new file mode 100644
index 0000000000..29f0256ac9
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioChannelMixer.cs
@@ -0,0 +1,70 @@
+// 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("gstaudio-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("gstaudio-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("gstaudio-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);
+ }
+
+ protected override Action<IntPtr> DisposeUnmanagedFunc {
+ get {
+ return gst_audio_channel_mixer_free;
+ }
+ }
+
+
+ // 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/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioChannelMixerFlags.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioChannelMixerFlags.cs
new file mode 100644
index 0000000000..335d784683
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioChannelMixerFlags.cs
@@ -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 : uint {
+
+ None = 0,
+ NonInterleavedIn = 1,
+ NonInterleavedOut = 2,
+ UnpositionedIn = 4,
+ UnpositionedOut = 8,
+ }
+
+ internal class AudioChannelMixerFlagsGType {
+ [DllImport ("gstaudio-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/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioChannelPosition.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioChannelPosition.cs
new file mode 100644
index 0000000000..8eb793d2a5
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioChannelPosition.cs
@@ -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 ("gstaudio-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/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioClippingMeta.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioClippingMeta.cs
new file mode 100644
index 0000000000..c107482c1f
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioClippingMeta.cs
@@ -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("gstaudio-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/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioClock.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioClock.cs
new file mode 100644
index 0000000000..d43aeb2772
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioClock.cs
@@ -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("gstaudio-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("gstaudio-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("gstaudio-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("gstaudio-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("gstaudio-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("gstaudio-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/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioClockGetTimeFunc.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioClockGetTimeFunc.cs
new file mode 100644
index 0000000000..5e73474867
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioClockGetTimeFunc.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioConverter.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioConverter.cs
new file mode 100644
index 0000000000..01b9b85ae6
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioConverter.cs
@@ -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 AudioConverter : IEquatable<AudioConverter> {
+
+
+ public static Gst.Audio.AudioConverter Zero = new Gst.Audio.AudioConverter ();
+
+ public static Gst.Audio.AudioConverter New(IntPtr raw) {
+ if (raw == IntPtr.Zero)
+ return Gst.Audio.AudioConverter.Zero;
+ return (Gst.Audio.AudioConverter) Marshal.PtrToStructure (raw, typeof (Gst.Audio.AudioConverter));
+ }
+
+ [DllImport("gstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_audio_converter_new(int flags, IntPtr in_info, IntPtr out_info, IntPtr config);
+
+ public static AudioConverter New(Gst.Audio.AudioConverterFlags flags, Gst.Audio.AudioInfo in_info, Gst.Audio.AudioInfo out_info, Gst.Structure config)
+ {
+ config.Owned = false;
+ AudioConverter result = AudioConverter.New (gst_audio_converter_new((int) flags, in_info == null ? IntPtr.Zero : in_info.Handle, out_info == null ? IntPtr.Zero : out_info.Handle, config == null ? IntPtr.Zero : config.Handle));
+ return result;
+ }
+
+ [DllImport("gstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_audio_converter_get_type();
+
+ public static GLib.GType GType {
+ get {
+ IntPtr raw_ret = gst_audio_converter_get_type();
+ GLib.GType ret = new GLib.GType(raw_ret);
+ return ret;
+ }
+ }
+
+ [DllImport("gstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_audio_converter_get_config(IntPtr raw, out int in_rate, out int out_rate);
+
+ public Gst.Structure GetConfig(out int in_rate, out int out_rate) {
+ IntPtr 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_audio_converter_get_config(this_as_native, out in_rate, out out_rate);
+ 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("gstaudio-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) {
+ IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+ System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+ UIntPtr raw_ret = gst_audio_converter_get_in_frames(this_as_native, new UIntPtr (out_frames));
+ ulong ret = (ulong) raw_ret;
+ ReadNative (this_as_native, ref this);
+ System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+ return ret;
+ }
+
+ [DllImport("gstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern UIntPtr gst_audio_converter_get_max_latency(IntPtr raw);
+
+ public ulong MaxLatency {
+ 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);
+ UIntPtr raw_ret = gst_audio_converter_get_max_latency(this_as_native);
+ ulong ret = (ulong) raw_ret;
+ ReadNative (this_as_native, ref this);
+ System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+ return ret;
+ }
+ }
+
+ [DllImport("gstaudio-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) {
+ IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+ System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+ UIntPtr raw_ret = gst_audio_converter_get_out_frames(this_as_native, new UIntPtr (in_frames));
+ ulong ret = (ulong) raw_ret;
+ ReadNative (this_as_native, ref this);
+ System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+ return ret;
+ }
+
+ [DllImport("gstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_audio_converter_is_passthrough(IntPtr raw);
+
+ public bool IsPassthrough {
+ 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_audio_converter_is_passthrough(this_as_native);
+ bool ret = raw_ret;
+ ReadNative (this_as_native, ref this);
+ System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+ return ret;
+ }
+ }
+
+ [DllImport("gstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern void gst_audio_converter_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_audio_converter_reset(this_as_native);
+ ReadNative (this_as_native, ref this);
+ System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+ }
+
+ [DllImport("gstaudio-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) {
+ IntPtr 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_converter_samples(this_as_native, (int) flags, in_param, new UIntPtr (in_frames), out_param, new UIntPtr (out_frames));
+ bool ret = raw_ret;
+ ReadNative (this_as_native, ref this);
+ System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+ 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("gstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_audio_converter_supports_inplace(IntPtr raw);
+
+ public bool SupportsInplace() {
+ IntPtr 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_converter_supports_inplace(this_as_native);
+ bool ret = raw_ret;
+ ReadNative (this_as_native, ref this);
+ System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+ return ret;
+ }
+
+ [DllImport("gstaudio-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) {
+ IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+ System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+ config.Owned = false;
+ bool raw_ret = gst_audio_converter_update_config(this_as_native, in_rate, out_rate, config == null ? IntPtr.Zero : config.Handle);
+ bool ret = raw_ret;
+ ReadNative (this_as_native, ref this);
+ System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+ return ret;
+ }
+
+ public bool UpdateConfig(int in_rate, int out_rate) {
+ return UpdateConfig (in_rate, out_rate, null);
+ }
+
+ static void ReadNative (IntPtr native, ref Gst.Audio.AudioConverter target)
+ {
+ target = New (native);
+ }
+
+ public bool Equals (AudioConverter other)
+ {
+ return true;
+ }
+
+ public override bool Equals (object other)
+ {
+ return other is AudioConverter && Equals ((AudioConverter) other);
+ }
+
+ public override int GetHashCode ()
+ {
+ return this.GetType ().FullName.GetHashCode ();
+ }
+
+ public static explicit operator GLib.Value (Gst.Audio.AudioConverter boxed)
+ {
+ GLib.Value val = GLib.Value.Empty;
+ val.Init (Gst.Audio.AudioConverter.GType);
+ val.Val = boxed;
+ return val;
+ }
+
+ public static explicit operator Gst.Audio.AudioConverter (GLib.Value val)
+ {
+ return (Gst.Audio.AudioConverter) val.Val;
+ }
+#endregion
+ }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioConverterFlags.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioConverterFlags.cs
new file mode 100644
index 0000000000..0d44cc57e1
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioConverterFlags.cs
@@ -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 : uint {
+
+ None = 0,
+ InWritable = 1,
+ VariableRate = 2,
+ }
+
+ internal class AudioConverterFlagsGType {
+ [DllImport ("gstaudio-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/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioDecoder.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioDecoder.cs
new file mode 100644
index 0000000000..ba5492d722
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioDecoder.cs
@@ -0,0 +1,1689 @@
+// 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("gstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern int gst_audio_decoder_get_max_errors(IntPtr raw);
+
+ [DllImport("gstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern void gst_audio_decoder_set_max_errors(IntPtr raw, int num);
+
+ [GLib.Property ("max-errors")]
+ 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("gstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern ulong gst_audio_decoder_get_min_latency(IntPtr raw);
+
+ [DllImport("gstaudio-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("gstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_audio_decoder_get_plc(IntPtr raw);
+
+ [DllImport("gstaudio-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("gstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern ulong gst_audio_decoder_get_tolerance(IntPtr raw);
+
+ [DllImport("gstaudio-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("gstaudio-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("gstaudio-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("gstaudio-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) {
+ buf.Owned = false;
+ 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;
+ }
+
+ public Gst.FlowReturn FinishFrame(int frames) {
+ return FinishFrame (null, frames);
+ }
+
+ [DllImport("gstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern int gst_audio_decoder_finish_subframe(IntPtr raw, IntPtr buf);
+
+ public Gst.FlowReturn FinishSubframe(Gst.Buffer buf) {
+ buf.Owned = false;
+ int raw_ret = gst_audio_decoder_finish_subframe(Handle, buf == null ? IntPtr.Zero : buf.Handle);
+ Gst.FlowReturn ret = (Gst.FlowReturn) raw_ret;
+ return ret;
+ }
+
+ public Gst.FlowReturn FinishSubframe() {
+ return FinishSubframe (null);
+ }
+
+ [DllImport("gstaudio-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("gstaudio-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("gstaudio-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("gstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_audio_decoder_get_drainable(IntPtr raw);
+
+ [DllImport("gstaudio-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("gstaudio-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("gstaudio-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("gstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_audio_decoder_get_needs_format(IntPtr raw);
+
+ [DllImport("gstaudio-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("gstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern void gst_audio_decoder_get_parse_state(IntPtr raw, out bool sync, out bool eos);
+
+ public void GetParseState(out bool sync, out bool eos) {
+ gst_audio_decoder_get_parse_state(Handle, out sync, out eos);
+ }
+
+ [DllImport("gstaudio-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("gstaudio-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("gstaudio-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("gstaudio-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("gstaudio-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("gstaudio-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("gstaudio-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("gstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_audio_decoder_set_output_caps(IntPtr raw, IntPtr caps);
+
+ public bool SetOutputCaps(Gst.Caps caps) {
+ bool raw_ret = gst_audio_decoder_set_output_caps(Handle, caps == null ? IntPtr.Zero : caps.Handle);
+ bool ret = raw_ret;
+ return ret;
+ }
+
+ [DllImport("gstaudio-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("gstaudio-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("gstaudio-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/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioDitherMethod.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioDitherMethod.cs
new file mode 100644
index 0000000000..96f89f58ea
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioDitherMethod.cs
@@ -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 ("gstaudio-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/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioDownmixMeta.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioDownmixMeta.cs
new file mode 100644
index 0000000000..bc577a3039
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioDownmixMeta.cs
@@ -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("gstaudio-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/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioEncoder.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioEncoder.cs
new file mode 100644
index 0000000000..50bcea0e7a
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioEncoder.cs
@@ -0,0 +1,1727 @@
+// 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("gstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_audio_encoder_get_hard_resync(IntPtr raw);
+
+ [DllImport("gstaudio-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("gstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_audio_encoder_get_mark_granule(IntPtr raw);
+
+ [DllImport("gstaudio-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("gstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_audio_encoder_get_perfect_timestamp(IntPtr raw);
+
+ [DllImport("gstaudio-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("gstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern ulong gst_audio_encoder_get_tolerance(IntPtr raw);
+
+ [DllImport("gstaudio-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("gstaudio-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("gstaudio-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("gstaudio-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) {
+ buffer.Owned = false;
+ 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;
+ }
+
+ public Gst.FlowReturn FinishFrame(int samples) {
+ return FinishFrame (null, samples);
+ }
+
+ [DllImport("gstaudio-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("gstaudio-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("gstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_audio_encoder_get_drainable(IntPtr raw);
+
+ [DllImport("gstaudio-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("gstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern int gst_audio_encoder_get_frame_max(IntPtr raw);
+
+ [DllImport("gstaudio-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("gstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern int gst_audio_encoder_get_frame_samples_max(IntPtr raw);
+
+ [DllImport("gstaudio-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("gstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern int gst_audio_encoder_get_frame_samples_min(IntPtr raw);
+
+ [DllImport("gstaudio-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("gstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_audio_encoder_get_hard_min(IntPtr raw);
+
+ [DllImport("gstaudio-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("gstaudio-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("gstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern int gst_audio_encoder_get_lookahead(IntPtr raw);
+
+ [DllImport("gstaudio-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("gstaudio-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("gstaudio-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("gstaudio-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("gstaudio-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("gstaudio-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("gstaudio-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("gstaudio-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioFilter.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioFilter.cs
new file mode 100644
index 0000000000..b8ececc143
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioFilter.cs
@@ -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("gstaudio-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("gstaudio-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/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioFlags.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioFlags.cs
new file mode 100644
index 0000000000..8173d87ea1
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioFlags.cs
@@ -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 : uint {
+
+ None = 0,
+ Unpositioned = 1,
+ }
+
+ internal class AudioFlagsGType {
+ [DllImport ("gstaudio-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/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioFormat.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioFormat.cs
new file mode 100644
index 0000000000..763e1e6570
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioFormat.cs
@@ -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 ("gstaudio-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/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioFormatFlags.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioFormatFlags.cs
new file mode 100644
index 0000000000..b997ca9025
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioFormatFlags.cs
@@ -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 : uint {
+
+ Integer = 1,
+ Float = 2,
+ Signed = 4,
+ Complex = 16,
+ Unpack = 32,
+ }
+
+ internal class AudioFormatFlagsGType {
+ [DllImport ("gstaudio-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/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioFormatInfo.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioFormatInfo.cs
new file mode 100644
index 0000000000..51e5784aef
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioFormatInfo.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioFormatPack.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioFormatPack.cs
new file mode 100644
index 0000000000..bd45f25eae
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioFormatPack.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioFormatUnpack.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioFormatUnpack.cs
new file mode 100644
index 0000000000..9623e5b03d
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioFormatUnpack.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioInfo.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioInfo.cs
new file mode 100644
index 0000000000..ac929c7687
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioInfo.cs
@@ -0,0 +1,331 @@
+// 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("gstaudio-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("gstaudio-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, out long dest_val);
+
+ public bool Convert(Gst.Format src_fmt, long src_val, Gst.Format dest_fmt, out long dest_val) {
+ bool raw_ret = gst_audio_info_convert(Handle, (int) src_fmt, src_val, (int) dest_fmt, out dest_val);
+ bool ret = raw_ret;
+ return ret;
+ }
+
+ [DllImport("gstaudio-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("gstaudio-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("gstaudio-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("gstaudio-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("gstaudio-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) {
+ 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];
+ gst_audio_info_set_format(Handle, (int) format, rate, channels, native_position);
+ }
+
+ public void SetFormat(Gst.Audio.AudioFormat format, int rate, int channels) {
+ SetFormat (format, rate, channels, null);
+ }
+
+ [DllImport("gstaudio-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("gstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_audio_info_new();
+
+ public AudioInfo ()
+ {
+ Raw = gst_audio_info_new();
+ }
+
+ [DllImport("gstaudio-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);
+ }
+
+ protected override Action<IntPtr> DisposeUnmanagedFunc {
+ get {
+ return gst_audio_info_free;
+ }
+ }
+
+
+ // 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/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioLayout.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioLayout.cs
new file mode 100644
index 0000000000..94363b9c89
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioLayout.cs
@@ -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 ("gstaudio-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/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioMeta.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioMeta.cs
new file mode 100644
index 0000000000..18ff416d31
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioMeta.cs
@@ -0,0 +1,74 @@
+// 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 AudioMeta : IEquatable<AudioMeta> {
+
+ public Gst.Meta Meta;
+ private IntPtr _info;
+ public Gst.Audio.AudioInfo Info {
+ get {
+ return _info == IntPtr.Zero ? null : (Gst.Audio.AudioInfo) GLib.Opaque.GetOpaque (_info, typeof (Gst.Audio.AudioInfo), false);
+ }
+ set {
+ _info = value == null ? IntPtr.Zero : value.Handle;
+ }
+ }
+ private UIntPtr samples;
+ public ulong Samples {
+ get {
+ return (ulong) samples;
+ }
+ set {
+ samples = new UIntPtr (value);
+ }
+ }
+ private UIntPtr offsets;
+ public ulong Offsets {
+ get {
+ return (ulong) offsets;
+ }
+ set {
+ offsets = new UIntPtr (value);
+ }
+ }
+ [MarshalAs (UnmanagedType.ByValArray, SizeConst=4)]
+ private IntPtr[] _gstGstReserved;
+
+ public static Gst.Audio.AudioMeta Zero = new Gst.Audio.AudioMeta ();
+
+ public static Gst.Audio.AudioMeta New(IntPtr raw) {
+ if (raw == IntPtr.Zero)
+ return Gst.Audio.AudioMeta.Zero;
+ return (Gst.Audio.AudioMeta) Marshal.PtrToStructure (raw, typeof (Gst.Audio.AudioMeta));
+ }
+
+ public bool Equals (AudioMeta other)
+ {
+ return true && Meta.Equals (other.Meta) && Info.Equals (other.Info) && Samples.Equals (other.Samples) && Offsets.Equals (other.Offsets);
+ }
+
+ public override bool Equals (object other)
+ {
+ return other is AudioMeta && Equals ((AudioMeta) other);
+ }
+
+ public override int GetHashCode ()
+ {
+ return this.GetType ().FullName.GetHashCode () ^ Meta.GetHashCode () ^ Info.GetHashCode () ^ Samples.GetHashCode () ^ Offsets.GetHashCode ();
+ }
+
+ private static GLib.GType GType {
+ get { return GLib.GType.Pointer; }
+ }
+#endregion
+ }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioNoiseShapingMethod.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioNoiseShapingMethod.cs
new file mode 100644
index 0000000000..250f89919e
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioNoiseShapingMethod.cs
@@ -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 ("gstaudio-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/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioPackFlags.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioPackFlags.cs
new file mode 100644
index 0000000000..7ec8beb1b1
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioPackFlags.cs
@@ -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 : uint {
+
+ None = 0,
+ TruncateRange = 1,
+ }
+
+ internal class AudioPackFlagsGType {
+ [DllImport ("gstaudio-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/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioQuantize.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioQuantize.cs
new file mode 100644
index 0000000000..adb9cab120
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioQuantize.cs
@@ -0,0 +1,66 @@
+// 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("gstaudio-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("gstaudio-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("gstaudio-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);
+ }
+
+ protected override Action<IntPtr> DisposeUnmanagedFunc {
+ get {
+ return gst_audio_quantize_free;
+ }
+ }
+
+
+ // 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/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioQuantizeFlags.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioQuantizeFlags.cs
new file mode 100644
index 0000000000..10622fe81c
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioQuantizeFlags.cs
@@ -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 : uint {
+
+ None = 0,
+ NonInterleaved = 1,
+ }
+
+ internal class AudioQuantizeFlagsGType {
+ [DllImport ("gstaudio-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/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioResampler.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioResampler.cs
new file mode 100644
index 0000000000..7fb437a91c
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioResampler.cs
@@ -0,0 +1,120 @@
+// 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("gstaudio-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("gstaudio-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("gstaudio-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("gstaudio-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("gstaudio-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("gstaudio-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("gstaudio-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("gstaudio-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("gstaudio-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);
+ }
+
+ protected override Action<IntPtr> DisposeUnmanagedFunc {
+ get {
+ return gst_audio_resampler_free;
+ }
+ }
+
+
+ // 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/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioResamplerFilterInterpolation.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioResamplerFilterInterpolation.cs
new file mode 100644
index 0000000000..2b3730f098
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioResamplerFilterInterpolation.cs
@@ -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 ("gstaudio-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/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioResamplerFilterMode.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioResamplerFilterMode.cs
new file mode 100644
index 0000000000..8d3dc61a44
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioResamplerFilterMode.cs
@@ -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 ("gstaudio-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/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioResamplerFlags.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioResamplerFlags.cs
new file mode 100644
index 0000000000..7126c0fc1a
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioResamplerFlags.cs
@@ -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 : uint {
+
+ None = 0,
+ NonInterleavedIn = 1,
+ NonInterleavedOut = 2,
+ VariableRate = 4,
+ }
+
+ internal class AudioResamplerFlagsGType {
+ [DllImport ("gstaudio-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/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioResamplerMethod.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioResamplerMethod.cs
new file mode 100644
index 0000000000..daaae3d556
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioResamplerMethod.cs
@@ -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 ("gstaudio-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/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioRingBuffer.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioRingBuffer.cs
new file mode 100644
index 0000000000..e2abf218c0
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioRingBuffer.cs
@@ -0,0 +1,1537 @@
+// 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 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("gstaudio-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, ref int accum);
+
+ static uint Commit_cb (IntPtr inst, ulong sample, byte[] data, int in_samples, int out_samples, ref int accum)
+ {
+ try {
+ AudioRingBuffer __obj = GLib.Object.GetObject (inst, false) as AudioRingBuffer;
+ uint __result;
+ __result = __obj.OnCommit (sample, data, in_samples, out_samples, ref 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, ref int accum)
+ {
+ return InternalCommit (sample, data, in_samples, out_samples, ref accum);
+ }
+
+ private uint InternalCommit (ulong sample, byte[] data, int in_samples, int out_samples, ref 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, ref 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("gstaudio-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("gstaudio-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("gstaudio-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("gstaudio-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("gstaudio-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("gstaudio-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("gstaudio-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("gstaudio-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("gstaudio-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("gstaudio-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("gstaudio-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, ref int accum);
+
+ public uint Commit(ulong sample, byte[] data, int in_samples, int out_samples, ref int accum) {
+ uint raw_ret = gst_audio_ring_buffer_commit(Handle, sample, data, in_samples, out_samples, ref accum);
+ uint ret = raw_ret;
+ return ret;
+ }
+
+ [DllImport("gstaudio-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, out long dest_val);
+
+ public bool Convert(Gst.Format src_fmt, long src_val, Gst.Format dest_fmt, out long dest_val) {
+ bool raw_ret = gst_audio_ring_buffer_convert(Handle, (int) src_fmt, src_val, (int) dest_fmt, out dest_val);
+ bool ret = raw_ret;
+ return ret;
+ }
+
+ [DllImport("gstaudio-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("gstaudio-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("gstaudio-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("gstaudio-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("gstaudio-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("gstaudio-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("gstaudio-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("gstaudio-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("gstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern uint gst_audio_ring_buffer_read(IntPtr raw, ulong sample, byte[] data, uint len, out ulong timestamp);
+
+ public uint Read(ulong sample, byte[] data, uint len, out ulong timestamp) {
+ uint raw_ret = gst_audio_ring_buffer_read(Handle, sample, data, len, out timestamp);
+ uint ret = raw_ret;
+ return ret;
+ }
+
+ [DllImport("gstaudio-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("gstaudio-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("gstaudio-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("gstaudio-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 {
+ 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_audio_ring_buffer_set_channel_positions(Handle, native_value);
+ }
+ }
+
+ [DllImport("gstaudio-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("gstaudio-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("gstaudio-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("gstaudio-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/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioRingBufferCallback.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioRingBufferCallback.cs
new file mode 100644
index 0000000000..03b5cc97b8
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioRingBufferCallback.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioRingBufferFormatType.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioRingBufferFormatType.cs
new file mode 100644
index 0000000000..2c25a7bab1
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioRingBufferFormatType.cs
@@ -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 ("gstaudio-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/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioRingBufferSpec.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioRingBufferSpec.cs
new file mode 100644
index 0000000000..92756a6d71
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioRingBufferSpec.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioRingBufferState.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioRingBufferState.cs
new file mode 100644
index 0000000000..7efb3bbb77
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioRingBufferState.cs
@@ -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 ("gstaudio-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/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioSink.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioSink.cs
new file mode 100644
index 0000000000..79d918e3b8
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioSink.cs
@@ -0,0 +1,735 @@
+// 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);
+ }
+
+ 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 void PauseNativeDelegate (IntPtr inst);
+
+ static void Pause_cb (IntPtr inst)
+ {
+ try {
+ AudioSink __obj = GLib.Object.GetObject (inst, false) as AudioSink;
+ __obj.OnPause ();
+ } catch (Exception e) {
+ GLib.ExceptionManager.RaiseUnhandledException (e, false);
+ }
+ }
+
+ [GLib.DefaultSignalHandler(Type=typeof(Gst.Audio.AudioSink), ConnectionMethod="OverridePause")]
+ protected virtual void OnPause ()
+ {
+ InternalPause ();
+ }
+
+ private void 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;
+
+ unmanaged (this.Handle);
+ }
+
+ 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 void ResumeNativeDelegate (IntPtr inst);
+
+ static void Resume_cb (IntPtr inst)
+ {
+ try {
+ AudioSink __obj = GLib.Object.GetObject (inst, false) as AudioSink;
+ __obj.OnResume ();
+ } catch (Exception e) {
+ GLib.ExceptionManager.RaiseUnhandledException (e, false);
+ }
+ }
+
+ [GLib.DefaultSignalHandler(Type=typeof(Gst.Audio.AudioSink), ConnectionMethod="OverrideResume")]
+ protected virtual void OnResume ()
+ {
+ InternalResume ();
+ }
+
+ private void 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;
+
+ unmanaged (this.Handle);
+ }
+
+ 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 {
+ AudioSink __obj = GLib.Object.GetObject (inst, false) as AudioSink;
+ __obj.OnStop ();
+ } catch (Exception e) {
+ GLib.ExceptionManager.RaiseUnhandledException (e, false);
+ }
+ }
+
+ [GLib.DefaultSignalHandler(Type=typeof(Gst.Audio.AudioSink), 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("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"
+ , "pause"
+ , (uint) Marshal.SizeOf(typeof(IntPtr))
+ , 0
+ ),
+ new GLib.AbiField("pause"
+ , -1
+ , (uint) Marshal.SizeOf(typeof(IntPtr)) // pause
+ , "reset"
+ , "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"
+ , "extension"
+ , (uint) Marshal.SizeOf(typeof(IntPtr))
+ , 0
+ ),
+ new GLib.AbiField("extension"
+ , -1
+ , (uint) Marshal.SizeOf(typeof(IntPtr)) // extension
+ , "stop"
+ , null
+ , (uint) Marshal.SizeOf(typeof(IntPtr))
+ , 0
+ ),
+ });
+
+ return _class_abi;
+ }
+ }
+
+
+ // End of the ABI representation.
+
+ [DllImport("gstaudio-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/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioSinkClassExtension.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioSinkClassExtension.cs
new file mode 100644
index 0000000000..3ef75bb2fb
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioSinkClassExtension.cs
@@ -0,0 +1,45 @@
+// 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 AudioSinkClassExtension : IEquatable<AudioSinkClassExtension> {
+
+ private IntPtr _clear_all;
+
+ public static Gst.Audio.AudioSinkClassExtension Zero = new Gst.Audio.AudioSinkClassExtension ();
+
+ public static Gst.Audio.AudioSinkClassExtension New(IntPtr raw) {
+ if (raw == IntPtr.Zero)
+ return Gst.Audio.AudioSinkClassExtension.Zero;
+ return (Gst.Audio.AudioSinkClassExtension) Marshal.PtrToStructure (raw, typeof (Gst.Audio.AudioSinkClassExtension));
+ }
+
+ public bool Equals (AudioSinkClassExtension other)
+ {
+ return true && _clear_all.Equals (other._clear_all);
+ }
+
+ public override bool Equals (object other)
+ {
+ return other is AudioSinkClassExtension && Equals ((AudioSinkClassExtension) other);
+ }
+
+ public override int GetHashCode ()
+ {
+ return this.GetType ().FullName.GetHashCode () ^ _clear_all.GetHashCode ();
+ }
+
+ private static GLib.GType GType {
+ get { return GLib.GType.Pointer; }
+ }
+#endregion
+ }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioSrc.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioSrc.cs
new file mode 100644
index 0000000000..a0f869ad7f
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioSrc.cs
@@ -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("gstaudio-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/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioStreamAlign.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioStreamAlign.cs
new file mode 100644
index 0000000000..df062245b5
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/AudioStreamAlign.cs
@@ -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("gstaudio-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("gstaudio-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("gstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern ulong gst_audio_stream_align_get_alignment_threshold(IntPtr raw);
+
+ [DllImport("gstaudio-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("gstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern ulong gst_audio_stream_align_get_discont_wait(IntPtr raw);
+
+ [DllImport("gstaudio-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("gstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern int gst_audio_stream_align_get_rate(IntPtr raw);
+
+ [DllImport("gstaudio-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("gstaudio-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("gstaudio-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("gstaudio-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("gstaudio-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/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/Constants.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/Constants.cs
new file mode 100644
index 0000000000..336ec584e6
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/Constants.cs
@@ -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 = @"{ F64BE, F64LE, F32BE, F32LE, S32BE, S32LE, U32BE, U32LE, S24_32BE, S24_32LE, U24_32BE, U24_32LE, S24BE, S24LE, U24BE, U24LE, S20BE, S20LE, U20BE, U20LE, S18BE, S18LE, U18BE, U18LE, S16BE, S16LE, U16BE, U16LE, S8, U8 }";
+ 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/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/Global.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/Global.cs
new file mode 100644
index 0000000000..f21e7ae446
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/Global.cs
@@ -0,0 +1,385 @@
+// 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("gstaudio-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("gstaudio-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("gstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_audio_buffer_truncate(IntPtr buffer, int bpf, UIntPtr trim, UIntPtr samples);
+
+ public static Gst.Buffer AudioBufferTruncate(Gst.Buffer buffer, int bpf, ulong trim, ulong samples) {
+ buffer.Owned = false;
+ IntPtr raw_ret = gst_audio_buffer_truncate(buffer == null ? IntPtr.Zero : buffer.Handle, bpf, new UIntPtr (trim), new UIntPtr (samples));
+ Gst.Buffer ret = raw_ret == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Buffer), true);
+ return ret;
+ }
+
+ [DllImport("gstaudio-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("gstaudio-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("gstaudio-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("gstaudio-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("gstaudio-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("gstaudio-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("gstaudio-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("gstaudio-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("gstaudio-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("gstaudio-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("gstaudio-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("gstaudio-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("gstaudio-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("gstaudio-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("gstaudio-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("gstaudio-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("gstaudio-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("gstaudio-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("gstaudio-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("gstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_audio_make_raw_caps(int[] formats, uint len, int layout);
+
+ public static Gst.Caps AudioMakeRawCaps(Gst.Audio.AudioFormat[] formats, uint len, Gst.Audio.AudioLayout layout) {
+ int cnt_formats = formats == null ? 0 : formats.Length;
+ int[] native_formats = new int [cnt_formats];
+ for (int i = 0; i < cnt_formats; i++)
+ native_formats [i] = (int) formats[i];
+ IntPtr raw_ret = gst_audio_make_raw_caps(native_formats, len, (int) layout);
+ 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 AudioMakeRawCaps(uint len, Gst.Audio.AudioLayout layout) {
+ return AudioMakeRawCaps (null, len, layout);
+ }
+
+ [DllImport("gstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_audio_meta_api_get_type();
+
+ public static GLib.GType AudioMetaApiGetType() {
+ IntPtr raw_ret = gst_audio_meta_api_get_type();
+ GLib.GType ret = new GLib.GType(raw_ret);
+ return ret;
+ }
+
+ [DllImport("gstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_audio_meta_get_info();
+
+ public static Gst.MetaInfo AudioMetaGetInfo() {
+ IntPtr raw_ret = gst_audio_meta_get_info();
+ Gst.MetaInfo ret = Gst.MetaInfo.New (raw_ret);
+ return ret;
+ }
+
+ [DllImport("gstaudio-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("gstaudio-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("gstaudio-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("gstaudio-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("gstaudio-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("gstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_buffer_add_audio_meta(IntPtr buffer, IntPtr info, UIntPtr samples, UIntPtr offsets);
+
+ public static Gst.Audio.AudioMeta BufferAddAudioMeta(Gst.Buffer buffer, Gst.Audio.AudioInfo info, ulong samples, ulong offsets) {
+ IntPtr raw_ret = gst_buffer_add_audio_meta(buffer == null ? IntPtr.Zero : buffer.Handle, info == null ? IntPtr.Zero : info.Handle, new UIntPtr (samples), new UIntPtr (offsets));
+ Gst.Audio.AudioMeta ret = Gst.Audio.AudioMeta.New (raw_ret);
+ return ret;
+ }
+
+ public static Gst.Audio.AudioMeta BufferAddAudioMeta(Gst.Buffer buffer, Gst.Audio.AudioInfo info, ulong samples) {
+ return BufferAddAudioMeta (buffer, info, samples, 0);
+ }
+
+ [DllImport("gstaudio-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("gstaudio-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/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/Gst.AudioSharp.AudioBaseSinkCustomSlavingCallbackNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/Gst.AudioSharp.AudioBaseSinkCustomSlavingCallbackNative.cs
new file mode 100644
index 0000000000..04cd762038
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/Gst.AudioSharp.AudioBaseSinkCustomSlavingCallbackNative.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/Gst.AudioSharp.AudioClockGetTimeFuncNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/Gst.AudioSharp.AudioClockGetTimeFuncNative.cs
new file mode 100644
index 0000000000..e043dc2ed9
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/Gst.AudioSharp.AudioClockGetTimeFuncNative.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/Gst.AudioSharp.AudioFormatPackNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/Gst.AudioSharp.AudioFormatPackNative.cs
new file mode 100644
index 0000000000..7e19ad6986
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/Gst.AudioSharp.AudioFormatPackNative.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/Gst.AudioSharp.AudioFormatUnpackNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/Gst.AudioSharp.AudioFormatUnpackNative.cs
new file mode 100644
index 0000000000..ff8cbaf45f
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/Gst.AudioSharp.AudioFormatUnpackNative.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/Gst.AudioSharp.AudioRingBufferCallbackNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/Gst.AudioSharp.AudioRingBufferCallbackNative.cs
new file mode 100644
index 0000000000..d2e3dd468e
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/Gst.AudioSharp.AudioRingBufferCallbackNative.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/IStreamVolume.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/IStreamVolume.cs
new file mode 100644
index 0000000000..7615560e47
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/IStreamVolume.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/StreamVolumeAdapter.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/StreamVolumeAdapter.cs
new file mode 100644
index 0000000000..6cd7d72db1
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/StreamVolumeAdapter.cs
@@ -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("gstaudio-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("gstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_stream_volume_get_mute(IntPtr raw);
+
+ [DllImport("gstaudio-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("gstaudio-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("gstaudio-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("gstaudio-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/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/StreamVolumeFormat.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/StreamVolumeFormat.cs
new file mode 100644
index 0000000000..d5d6628185
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Audio/StreamVolumeFormat.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.Base/Adapter.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Base/Adapter.cs
new file mode 100644
index 0000000000..c21ac9b254
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Base/Adapter.cs
@@ -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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern void gst_adapter_clear(IntPtr raw);
+
+ public void Clear() {
+ gst_adapter_clear(Handle);
+ }
+
+ [DllImport("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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/subprojects/gstreamer-sharp/sources/generated/Gst.Base/Aggregator.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Base/Aggregator.cs
new file mode 100644
index 0000000000..a3b2037f59
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Base/Aggregator.cs
@@ -0,0 +1,1830 @@
+// 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]);
+ }
+
+ [GLib.Property ("emit-signals")]
+ public bool EmitSignals {
+ get {
+ GLib.Value val = GetProperty ("emit-signals");
+ bool ret = (bool) val;
+ val.Dispose ();
+ return ret;
+ }
+ set {
+ GLib.Value val = new GLib.Value(value);
+ SetProperty("emit-signals", val);
+ val.Dispose ();
+ }
+ }
+
+ [DllImport("gstbase-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 ("min-upstream-latency")]
+ public ulong MinUpstreamLatency {
+ get {
+ GLib.Value val = GetProperty ("min-upstream-latency");
+ ulong ret = (ulong) val;
+ val.Dispose ();
+ return ret;
+ }
+ set {
+ GLib.Value val = new GLib.Value(value);
+ SetProperty("min-upstream-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 ();
+ }
+ }
+
+ [GLib.Property ("start-time-selection")]
+ public Gst.Base.AggregatorStartTimeSelection StartTimeSelection {
+ get {
+ GLib.Value val = GetProperty ("start-time-selection");
+ Gst.Base.AggregatorStartTimeSelection ret = (Gst.Base.AggregatorStartTimeSelection) (Enum) val;
+ val.Dispose ();
+ return ret;
+ }
+ set {
+ GLib.Value val = new GLib.Value((Enum) value);
+ SetProperty("start-time-selection", 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;
+ }
+ }
+ }
+
+ [GLib.Signal("samples-selected")]
+ public event Gst.Base.SamplesSelectedHandler SamplesSelected {
+ add {
+ this.AddSignalHandler ("samples-selected", value, typeof (Gst.Base.SamplesSelectedArgs));
+ }
+ remove {
+ this.RemoveSignalHandler ("samples-selected", value);
+ }
+ }
+
+ static SamplesSelectedNativeDelegate SamplesSelected_cb_delegate;
+ static SamplesSelectedNativeDelegate SamplesSelectedVMCallback {
+ get {
+ if (SamplesSelected_cb_delegate == null)
+ SamplesSelected_cb_delegate = new SamplesSelectedNativeDelegate (SamplesSelected_cb);
+ return SamplesSelected_cb_delegate;
+ }
+ }
+
+ static void OverrideSamplesSelected (GLib.GType gtype)
+ {
+ OverrideSamplesSelected (gtype, SamplesSelectedVMCallback);
+ }
+
+ static void OverrideSamplesSelected (GLib.GType gtype, SamplesSelectedNativeDelegate callback)
+ {
+ OverrideVirtualMethod (gtype, "samples-selected", callback);
+ }
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ delegate void SamplesSelectedNativeDelegate (IntPtr inst, IntPtr segment, ulong pts, ulong dts, ulong duration, IntPtr info);
+
+ static void SamplesSelected_cb (IntPtr inst, IntPtr segment, ulong pts, ulong dts, ulong duration, IntPtr info)
+ {
+ try {
+ Aggregator __obj = GLib.Object.GetObject (inst, false) as Aggregator;
+ __obj.OnSamplesSelected (Gst.Segment.New (segment), pts, dts, duration, info == IntPtr.Zero ? null : (Gst.Structure) GLib.Opaque.GetOpaque (info, typeof (Gst.Structure), false));
+ } catch (Exception e) {
+ GLib.ExceptionManager.RaiseUnhandledException (e, false);
+ }
+ }
+
+ [GLib.DefaultSignalHandler(Type=typeof(Gst.Base.Aggregator), ConnectionMethod="OverrideSamplesSelected")]
+ protected virtual void OnSamplesSelected (Gst.Segment segment, ulong pts, ulong dts, ulong duration, Gst.Structure info)
+ {
+ InternalSamplesSelected (segment, pts, dts, duration, info);
+ }
+
+ private void InternalSamplesSelected (Gst.Segment segment, ulong pts, ulong dts, ulong duration, Gst.Structure info)
+ {
+ GLib.Value ret = GLib.Value.Empty;
+ GLib.ValueArray inst_and_params = new GLib.ValueArray (6);
+ GLib.Value[] vals = new GLib.Value [6];
+ vals [0] = new GLib.Value (this);
+ inst_and_params.Append (vals [0]);
+ vals [1] = new GLib.Value (segment);
+ inst_and_params.Append (vals [1]);
+ vals [2] = new GLib.Value (pts);
+ inst_and_params.Append (vals [2]);
+ vals [3] = new GLib.Value (dts);
+ inst_and_params.Append (vals [3]);
+ vals [4] = new GLib.Value (duration);
+ inst_and_params.Append (vals [4]);
+ vals [5] = new GLib.Value (info);
+ inst_and_params.Append (vals [5]);
+ g_signal_chain_from_overridden (inst_and_params.ArrayPtr, ref ret);
+ foreach (GLib.Value v in vals)
+ v.Dispose ();
+ }
+
+ 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, out IntPtr _ret);
+
+ static int UpdateSrcCaps_cb (IntPtr inst, IntPtr caps, out IntPtr _ret)
+ {
+ try {
+ Aggregator __obj = GLib.Object.GetObject (inst, false) as Aggregator;
+ Gst.FlowReturn __result;
+ Gst.Caps my_ret;
+ __result = __obj.OnUpdateSrcCaps (caps == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (caps, typeof (Gst.Caps), false), out my_ret);
+ _ret = my_ret == null ? IntPtr.Zero : my_ret.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.Aggregator), ConnectionMethod="OverrideUpdateSrcCaps")]
+ protected virtual Gst.FlowReturn OnUpdateSrcCaps (Gst.Caps caps, out Gst.Caps _ret)
+ {
+ return InternalUpdateSrcCaps (caps, out _ret);
+ }
+
+ private Gst.FlowReturn InternalUpdateSrcCaps (Gst.Caps caps, out 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) throw new InvalidOperationException ("No base method to invoke");
+
+ IntPtr native__ret;
+ int __result = unmanaged (this.Handle, caps == null ? IntPtr.Zero : caps.Handle, out native__ret);
+ _ret = native__ret == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (native__ret, typeof (Gst.Caps), true);
+ 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;
+ }
+
+ 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 {
+ Aggregator __obj = GLib.Object.GetObject (inst, false) as Aggregator;
+ 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.Aggregator), 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 SinkEventPreQueueNativeDelegate SinkEventPreQueue_cb_delegate;
+ static SinkEventPreQueueNativeDelegate SinkEventPreQueueVMCallback {
+ get {
+ if (SinkEventPreQueue_cb_delegate == null)
+ SinkEventPreQueue_cb_delegate = new SinkEventPreQueueNativeDelegate (SinkEventPreQueue_cb);
+ return SinkEventPreQueue_cb_delegate;
+ }
+ }
+
+ static void OverrideSinkEventPreQueue (GLib.GType gtype)
+ {
+ OverrideSinkEventPreQueue (gtype, SinkEventPreQueueVMCallback);
+ }
+
+ static void OverrideSinkEventPreQueue (GLib.GType gtype, SinkEventPreQueueNativeDelegate callback)
+ {
+ unsafe {
+ IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("sink_event_pre_queue"));
+ *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+ }
+ }
+
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ delegate int SinkEventPreQueueNativeDelegate (IntPtr inst, IntPtr aggregator_pad, IntPtr evnt);
+
+ static int SinkEventPreQueue_cb (IntPtr inst, IntPtr aggregator_pad, IntPtr evnt)
+ {
+ try {
+ Aggregator __obj = GLib.Object.GetObject (inst, false) as Aggregator;
+ Gst.FlowReturn __result;
+ __result = __obj.OnSinkEventPreQueue (GLib.Object.GetObject(aggregator_pad) as Gst.Base.AggregatorPad, 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.Aggregator), ConnectionMethod="OverrideSinkEventPreQueue")]
+ protected virtual Gst.FlowReturn OnSinkEventPreQueue (Gst.Base.AggregatorPad aggregator_pad, Gst.Event evnt)
+ {
+ return InternalSinkEventPreQueue (aggregator_pad, evnt);
+ }
+
+ private Gst.FlowReturn InternalSinkEventPreQueue (Gst.Base.AggregatorPad aggregator_pad, Gst.Event evnt)
+ {
+ SinkEventPreQueueNativeDelegate unmanaged = null;
+ unsafe {
+ IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("sink_event_pre_queue"));
+ unmanaged = (SinkEventPreQueueNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(SinkEventPreQueueNativeDelegate));
+ }
+ if (unmanaged == null) return (Gst.FlowReturn) 0;
+
+ int __result = unmanaged (this.Handle, aggregator_pad == null ? IntPtr.Zero : aggregator_pad.Handle, evnt == null ? IntPtr.Zero : evnt.Handle);
+ return (Gst.FlowReturn) __result;
+ }
+
+ static SinkQueryPreQueueNativeDelegate SinkQueryPreQueue_cb_delegate;
+ static SinkQueryPreQueueNativeDelegate SinkQueryPreQueueVMCallback {
+ get {
+ if (SinkQueryPreQueue_cb_delegate == null)
+ SinkQueryPreQueue_cb_delegate = new SinkQueryPreQueueNativeDelegate (SinkQueryPreQueue_cb);
+ return SinkQueryPreQueue_cb_delegate;
+ }
+ }
+
+ static void OverrideSinkQueryPreQueue (GLib.GType gtype)
+ {
+ OverrideSinkQueryPreQueue (gtype, SinkQueryPreQueueVMCallback);
+ }
+
+ static void OverrideSinkQueryPreQueue (GLib.GType gtype, SinkQueryPreQueueNativeDelegate callback)
+ {
+ unsafe {
+ IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("sink_query_pre_queue"));
+ *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+ }
+ }
+
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ delegate bool SinkQueryPreQueueNativeDelegate (IntPtr inst, IntPtr aggregator_pad, IntPtr query);
+
+ static bool SinkQueryPreQueue_cb (IntPtr inst, IntPtr aggregator_pad, IntPtr query)
+ {
+ try {
+ Aggregator __obj = GLib.Object.GetObject (inst, false) as Aggregator;
+ bool __result;
+ __result = __obj.OnSinkQueryPreQueue (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="OverrideSinkQueryPreQueue")]
+ protected virtual bool OnSinkQueryPreQueue (Gst.Base.AggregatorPad aggregator_pad, Gst.Query query)
+ {
+ return InternalSinkQueryPreQueue (aggregator_pad, query);
+ }
+
+ private bool InternalSinkQueryPreQueue (Gst.Base.AggregatorPad aggregator_pad, Gst.Query query)
+ {
+ SinkQueryPreQueueNativeDelegate unmanaged = null;
+ unsafe {
+ IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("sink_query_pre_queue"));
+ unmanaged = (SinkQueryPreQueueNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(SinkQueryPreQueueNativeDelegate));
+ }
+ 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 FinishBufferListNativeDelegate FinishBufferList_cb_delegate;
+ static FinishBufferListNativeDelegate FinishBufferListVMCallback {
+ get {
+ if (FinishBufferList_cb_delegate == null)
+ FinishBufferList_cb_delegate = new FinishBufferListNativeDelegate (FinishBufferList_cb);
+ return FinishBufferList_cb_delegate;
+ }
+ }
+
+ static void OverrideFinishBufferList (GLib.GType gtype)
+ {
+ OverrideFinishBufferList (gtype, FinishBufferListVMCallback);
+ }
+
+ static void OverrideFinishBufferList (GLib.GType gtype, FinishBufferListNativeDelegate callback)
+ {
+ unsafe {
+ IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("finish_buffer_list"));
+ *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+ }
+ }
+
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ delegate int FinishBufferListNativeDelegate (IntPtr inst, IntPtr bufferlist);
+
+ static int FinishBufferList_cb (IntPtr inst, IntPtr bufferlist)
+ {
+ try {
+ Aggregator __obj = GLib.Object.GetObject (inst, false) as Aggregator;
+ Gst.FlowReturn __result;
+ __result = __obj.OnFinishBufferList (bufferlist == IntPtr.Zero ? null : (Gst.BufferList) GLib.Opaque.GetOpaque (bufferlist, typeof (Gst.BufferList), 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="OverrideFinishBufferList")]
+ protected virtual Gst.FlowReturn OnFinishBufferList (Gst.BufferList bufferlist)
+ {
+ return InternalFinishBufferList (bufferlist);
+ }
+
+ private Gst.FlowReturn InternalFinishBufferList (Gst.BufferList bufferlist)
+ {
+ FinishBufferListNativeDelegate unmanaged = null;
+ unsafe {
+ IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("finish_buffer_list"));
+ unmanaged = (FinishBufferListNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(FinishBufferListNativeDelegate));
+ }
+ if (unmanaged == null) return (Gst.FlowReturn) 0;
+
+ bufferlist.Owned = false;
+ int __result = unmanaged (this.Handle, bufferlist == null ? IntPtr.Zero : bufferlist.Handle);
+ return (Gst.FlowReturn) __result;
+ }
+
+ static PeekNextSampleNativeDelegate PeekNextSample_cb_delegate;
+ static PeekNextSampleNativeDelegate PeekNextSampleVMCallback {
+ get {
+ if (PeekNextSample_cb_delegate == null)
+ PeekNextSample_cb_delegate = new PeekNextSampleNativeDelegate (PeekNextSample_cb);
+ return PeekNextSample_cb_delegate;
+ }
+ }
+
+ static void OverridePeekNextSample (GLib.GType gtype)
+ {
+ OverridePeekNextSample (gtype, PeekNextSampleVMCallback);
+ }
+
+ static void OverridePeekNextSample (GLib.GType gtype, PeekNextSampleNativeDelegate callback)
+ {
+ unsafe {
+ IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("peek_next_sample"));
+ *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+ }
+ }
+
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ delegate IntPtr PeekNextSampleNativeDelegate (IntPtr inst, IntPtr aggregator_pad);
+
+ static IntPtr PeekNextSample_cb (IntPtr inst, IntPtr aggregator_pad)
+ {
+ try {
+ Aggregator __obj = GLib.Object.GetObject (inst, false) as Aggregator;
+ Gst.Sample __result;
+ __result = __obj.OnPeekNextSample (GLib.Object.GetObject(aggregator_pad) as Gst.Base.AggregatorPad);
+ 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="OverridePeekNextSample")]
+ protected virtual Gst.Sample OnPeekNextSample (Gst.Base.AggregatorPad aggregator_pad)
+ {
+ return InternalPeekNextSample (aggregator_pad);
+ }
+
+ private Gst.Sample InternalPeekNextSample (Gst.Base.AggregatorPad aggregator_pad)
+ {
+ PeekNextSampleNativeDelegate unmanaged = null;
+ unsafe {
+ IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("peek_next_sample"));
+ unmanaged = (PeekNextSampleNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(PeekNextSampleNativeDelegate));
+ }
+ if (unmanaged == null) return null;
+
+ IntPtr __result = unmanaged (this.Handle, aggregator_pad == null ? IntPtr.Zero : aggregator_pad.Handle);
+ 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("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"
+ , "negotiate"
+ , (uint) Marshal.SizeOf(typeof(IntPtr))
+ , 0
+ ),
+ new GLib.AbiField("negotiate"
+ , -1
+ , (uint) Marshal.SizeOf(typeof(IntPtr)) // negotiate
+ , "propose_allocation"
+ , "sink_event_pre_queue"
+ , (uint) Marshal.SizeOf(typeof(IntPtr))
+ , 0
+ ),
+ new GLib.AbiField("sink_event_pre_queue"
+ , -1
+ , (uint) Marshal.SizeOf(typeof(IntPtr)) // sink_event_pre_queue
+ , "negotiate"
+ , "sink_query_pre_queue"
+ , (uint) Marshal.SizeOf(typeof(IntPtr))
+ , 0
+ ),
+ new GLib.AbiField("sink_query_pre_queue"
+ , -1
+ , (uint) Marshal.SizeOf(typeof(IntPtr)) // sink_query_pre_queue
+ , "sink_event_pre_queue"
+ , "finish_buffer_list"
+ , (uint) Marshal.SizeOf(typeof(IntPtr))
+ , 0
+ ),
+ new GLib.AbiField("finish_buffer_list"
+ , -1
+ , (uint) Marshal.SizeOf(typeof(IntPtr)) // finish_buffer_list
+ , "sink_query_pre_queue"
+ , "peek_next_sample"
+ , (uint) Marshal.SizeOf(typeof(IntPtr))
+ , 0
+ ),
+ new GLib.AbiField("peek_next_sample"
+ , -1
+ , (uint) Marshal.SizeOf(typeof(IntPtr)) // peek_next_sample
+ , "finish_buffer_list"
+ , "_gst_reserved"
+ , (uint) Marshal.SizeOf(typeof(IntPtr))
+ , 0
+ ),
+ new GLib.AbiField("_gst_reserved"
+ , -1
+ , (uint) Marshal.SizeOf(typeof(IntPtr)) * 15 // _gst_reserved
+ , "peek_next_sample"
+ , null
+ , (uint) Marshal.SizeOf(typeof(IntPtr))
+ , 0
+ ),
+ });
+
+ return _class_abi;
+ }
+ }
+
+
+ // End of the ABI representation.
+
+ [DllImport("gstbase-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("gstbase-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("gstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern int gst_aggregator_finish_buffer_list(IntPtr raw, IntPtr bufferlist);
+
+ public Gst.FlowReturn FinishBufferList(Gst.BufferList bufferlist) {
+ bufferlist.Owned = false;
+ int raw_ret = gst_aggregator_finish_buffer_list(Handle, bufferlist == null ? IntPtr.Zero : bufferlist.Handle);
+ Gst.FlowReturn ret = (Gst.FlowReturn) raw_ret;
+ return ret;
+ }
+
+ [DllImport("gstbase-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("gstbase-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("gstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_aggregator_negotiate(IntPtr raw);
+
+ public bool Negotiate() {
+ bool raw_ret = gst_aggregator_negotiate(Handle);
+ bool ret = raw_ret;
+ return ret;
+ }
+
+ [DllImport("gstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_aggregator_peek_next_sample(IntPtr raw, IntPtr pad);
+
+ public Gst.Sample PeekNextSample(Gst.Base.AggregatorPad pad) {
+ IntPtr raw_ret = gst_aggregator_peek_next_sample(Handle, pad == null ? IntPtr.Zero : pad.Handle);
+ Gst.Sample ret = raw_ret == IntPtr.Zero ? null : (Gst.Sample) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Sample), true);
+ return ret;
+ }
+
+ [DllImport("gstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern void gst_aggregator_selected_samples(IntPtr raw, ulong pts, ulong dts, ulong duration, IntPtr info);
+
+ public void SelectedSamples(ulong pts, ulong dts, ulong duration, Gst.Structure info) {
+ gst_aggregator_selected_samples(Handle, pts, dts, duration, info == null ? IntPtr.Zero : info.Handle);
+ }
+
+ public void SelectedSamples(ulong pts, ulong dts, ulong duration) {
+ SelectedSamples (pts, dts, duration, null);
+ }
+
+ [DllImport("gstbase-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("gstbase-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);
+ }
+ }
+
+ [DllImport("gstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern ulong gst_aggregator_simple_get_next_time(IntPtr raw);
+
+ public ulong SimpleGetNextTime() {
+ ulong raw_ret = gst_aggregator_simple_get_next_time(Handle);
+ ulong ret = raw_ret;
+ return ret;
+ }
+
+ [DllImport("gstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern void gst_aggregator_update_segment(IntPtr raw, IntPtr segment);
+
+ public void UpdateSegment(Gst.Segment segment) {
+ IntPtr native_segment = GLib.Marshaller.StructureToPtrAlloc (segment);
+ gst_aggregator_update_segment(Handle, native_segment);
+ Marshal.FreeHGlobal (native_segment);
+ }
+
+
+ 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
+ , "priv"
+ , (uint) Marshal.SizeOf(typeof(IntPtr))
+ , 0
+ ),
+ new GLib.AbiField("priv"
+ , -1
+ , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
+ , "srcpad"
+ , "_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;
+ }
+ }
+
+
+ // End of the ABI representation.
+
+#endregion
+ }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.Base/AggregatorPad.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Base/AggregatorPad.cs
new file mode 100644
index 0000000000..0ad884c3f6
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Base/AggregatorPad.cs
@@ -0,0 +1,376 @@
+// 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]);
+ }
+
+ [GLib.Property ("emit-signals")]
+ public bool EmitSignals {
+ get {
+ GLib.Value val = GetProperty ("emit-signals");
+ bool ret = (bool) val;
+ val.Dispose ();
+ return ret;
+ }
+ set {
+ GLib.Value val = new GLib.Value(value);
+ SetProperty("emit-signals", val);
+ val.Dispose ();
+ }
+ }
+
+ public Gst.Segment Segment {
+ get {
+ unsafe {
+ IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("segment"));
+ return Gst.Segment.New ((*raw_ptr));
+ }
+ }
+ }
+
+ [GLib.Signal("buffer-consumed")]
+ public event Gst.Base.BufferConsumedHandler BufferConsumed {
+ add {
+ this.AddSignalHandler ("buffer-consumed", value, typeof (Gst.Base.BufferConsumedArgs));
+ }
+ remove {
+ this.RemoveSignalHandler ("buffer-consumed", value);
+ }
+ }
+
+ static BufferConsumedNativeDelegate BufferConsumed_cb_delegate;
+ static BufferConsumedNativeDelegate BufferConsumedVMCallback {
+ get {
+ if (BufferConsumed_cb_delegate == null)
+ BufferConsumed_cb_delegate = new BufferConsumedNativeDelegate (BufferConsumed_cb);
+ return BufferConsumed_cb_delegate;
+ }
+ }
+
+ static void OverrideBufferConsumed (GLib.GType gtype)
+ {
+ OverrideBufferConsumed (gtype, BufferConsumedVMCallback);
+ }
+
+ static void OverrideBufferConsumed (GLib.GType gtype, BufferConsumedNativeDelegate callback)
+ {
+ OverrideVirtualMethod (gtype, "buffer-consumed", callback);
+ }
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ delegate void BufferConsumedNativeDelegate (IntPtr inst, IntPtr _object);
+
+ static void BufferConsumed_cb (IntPtr inst, IntPtr _object)
+ {
+ try {
+ AggregatorPad __obj = GLib.Object.GetObject (inst, false) as AggregatorPad;
+ __obj.OnBufferConsumed (_object == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (_object, typeof (Gst.Buffer), false));
+ } catch (Exception e) {
+ GLib.ExceptionManager.RaiseUnhandledException (e, false);
+ }
+ }
+
+ [GLib.DefaultSignalHandler(Type=typeof(Gst.Base.AggregatorPad), ConnectionMethod="OverrideBufferConsumed")]
+ protected virtual void OnBufferConsumed (Gst.Buffer _object)
+ {
+ InternalBufferConsumed (_object);
+ }
+
+ private void InternalBufferConsumed (Gst.Buffer _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 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("gstbase-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("gstbase-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("gstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_aggregator_pad_has_buffer(IntPtr raw);
+
+ public bool HasBuffer {
+ get {
+ bool raw_ret = gst_aggregator_pad_has_buffer(Handle);
+ bool ret = raw_ret;
+ return ret;
+ }
+ }
+
+ [DllImport("gstbase-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("gstbase-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("gstbase-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/subprojects/gstreamer-sharp/sources/generated/Gst.Base/AggregatorStartTimeSelection.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Base/AggregatorStartTimeSelection.cs
new file mode 100644
index 0000000000..df0d7ec507
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Base/AggregatorStartTimeSelection.cs
@@ -0,0 +1,29 @@
+// 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
+ [GLib.GType (typeof (Gst.Base.AggregatorStartTimeSelectionGType))]
+ public enum AggregatorStartTimeSelection {
+
+ Zero = 0,
+ First = 1,
+ Set = 2,
+ }
+
+ internal class AggregatorStartTimeSelectionGType {
+ [DllImport ("gstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_aggregator_start_time_selection_get_type ();
+
+ public static GLib.GType GType {
+ get {
+ return new GLib.GType (gst_aggregator_start_time_selection_get_type ());
+ }
+ }
+ }
+#endregion
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.Base/BaseParse.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Base/BaseParse.cs
new file mode 100644
index 0000000000..de7fe3d250
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Base/BaseParse.cs
@@ -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("gstbase-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("gstbase-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("gstbase-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, out long dest_value);
+
+ public bool ConvertDefault(Gst.Format src_format, long src_value, Gst.Format dest_format, out long dest_value) {
+ bool raw_ret = gst_base_parse_convert_default(Handle, (int) src_format, src_value, (int) dest_format, out dest_value);
+ bool ret = raw_ret;
+ return ret;
+ }
+
+ [DllImport("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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/subprojects/gstreamer-sharp/sources/generated/Gst.Base/BaseParseFrame.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Base/BaseParseFrame.cs
new file mode 100644
index 0000000000..c38e0f7780
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Base/BaseParseFrame.cs
@@ -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("gstbase-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("gstbase-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("gstbase-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/subprojects/gstreamer-sharp/sources/generated/Gst.Base/BaseParseFrameFlags.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Base/BaseParseFrameFlags.cs
new file mode 100644
index 0000000000..b6da5b40cb
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Base/BaseParseFrameFlags.cs
@@ -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 : uint {
+
+ None = 0,
+ NewFrame = 1,
+ NoFrame = 2,
+ Clip = 4,
+ Drop = 8,
+ Queue = 16,
+ }
+#endregion
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.Base/BaseSink.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Base/BaseSink.cs
new file mode 100644
index 0000000000..0ebb01fe4e
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Base/BaseSink.cs
@@ -0,0 +1,1990 @@
+// 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("gstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern uint gst_base_sink_get_blocksize(IntPtr raw);
+
+ [DllImport("gstbase-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("gstbase-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("gstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern ulong gst_base_sink_get_max_bitrate(IntPtr raw);
+
+ [DllImport("gstbase-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("gstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern long gst_base_sink_get_max_lateness(IntPtr raw);
+
+ [DllImport("gstbase-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);
+ }
+ }
+
+ [DllImport("gstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern ulong gst_base_sink_get_processing_deadline(IntPtr raw);
+
+ [DllImport("gstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern void gst_base_sink_set_processing_deadline(IntPtr raw, ulong processing_deadline);
+
+ [GLib.Property ("processing-deadline")]
+ public ulong ProcessingDeadline {
+ get {
+ ulong raw_ret = gst_base_sink_get_processing_deadline(Handle);
+ ulong ret = raw_ret;
+ return ret;
+ }
+ set {
+ gst_base_sink_set_processing_deadline(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("gstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern ulong gst_base_sink_get_render_delay(IntPtr raw);
+
+ [DllImport("gstbase-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("gstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_base_sink_get_stats(IntPtr raw);
+
+ [GLib.Property ("stats")]
+ public Gst.Structure Stats {
+ get {
+ IntPtr raw_ret = gst_base_sink_get_stats(Handle);
+ Gst.Structure ret = raw_ret == IntPtr.Zero ? null : (Gst.Structure) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Structure), true);
+ return ret;
+ }
+ }
+
+ [DllImport("gstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_base_sink_get_sync(IntPtr raw);
+
+ [DllImport("gstbase-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("gstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern ulong gst_base_sink_get_throttle_time(IntPtr raw);
+
+ [DllImport("gstbase-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("gstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern long gst_base_sink_get_ts_offset(IntPtr raw);
+
+ [DllImport("gstbase-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("gstbase-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("gstbase-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("gstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_base_sink_get_drop_out_of_segment(IntPtr raw);
+
+ [DllImport("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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/subprojects/gstreamer-sharp/sources/generated/Gst.Base/BaseSrc.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Base/BaseSrc.cs
new file mode 100644
index 0000000000..f5cac39d7a
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Base/BaseSrc.cs
@@ -0,0 +1,1947 @@
+// 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("gstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern uint gst_base_src_get_blocksize(IntPtr raw);
+
+ [DllImport("gstbase-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("gstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_base_src_get_do_timestamp(IntPtr raw);
+
+ [DllImport("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_base_src_negotiate(IntPtr raw);
+
+ public bool Negotiate() {
+ bool raw_ret = gst_base_src_negotiate(Handle);
+ bool ret = raw_ret;
+ return ret;
+ }
+
+ [DllImport("gstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_base_src_new_seamless_segment(IntPtr raw, long start, long stop, long time);
+
+ [Obsolete]
+ 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("gstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_base_src_new_segment(IntPtr raw, IntPtr segment);
+
+ public bool NewSegment(Gst.Segment segment) {
+ IntPtr native_segment = GLib.Marshaller.StructureToPtrAlloc (segment);
+ bool raw_ret = gst_base_src_new_segment(Handle, native_segment);
+ bool ret = raw_ret;
+ Marshal.FreeHGlobal (native_segment);
+ return ret;
+ }
+
+ [DllImport("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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/subprojects/gstreamer-sharp/sources/generated/Gst.Base/BaseSrcFlags.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Base/BaseSrcFlags.cs
new file mode 100644
index 0000000000..17464db4f7
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Base/BaseSrcFlags.cs
@@ -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 : uint {
+
+ Starting = 16384,
+ Started = 32768,
+ Last = 1048576,
+ }
+#endregion
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.Base/BaseTransform.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Base/BaseTransform.cs
new file mode 100644
index 0000000000..8b69ef4897
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Base/BaseTransform.cs
@@ -0,0 +1,1844 @@
+// 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, out UIntPtr othersize);
+
+ static bool TransformSize_cb (IntPtr inst, int direction, IntPtr caps, UIntPtr size, IntPtr othercaps, out UIntPtr othersize)
+ {
+ try {
+ BaseTransform __obj = GLib.Object.GetObject (inst, false) as BaseTransform;
+ bool __result;
+ ulong myothersize;
+ __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), out myothersize);
+ othersize = new UIntPtr (myothersize);
+ 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, out ulong othersize)
+ {
+ return InternalTransformSize (direction, caps, size, othercaps, out othersize);
+ }
+
+ private bool InternalTransformSize (Gst.PadDirection direction, Gst.Caps caps, ulong size, Gst.Caps othercaps, out 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) throw new InvalidOperationException ("No base method to invoke");
+
+ UIntPtr native_othersize;
+ bool __result = unmanaged (this.Handle, (int) direction, caps == null ? IntPtr.Zero : caps.Handle, new UIntPtr (size), othercaps == null ? IntPtr.Zero : othercaps.Handle, out native_othersize);
+ othersize = (ulong) native_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, out UIntPtr size);
+
+ static bool GetUnitSize_cb (IntPtr inst, IntPtr caps, out UIntPtr size)
+ {
+ try {
+ BaseTransform __obj = GLib.Object.GetObject (inst, false) as BaseTransform;
+ bool __result;
+ ulong mysize;
+ __result = __obj.OnGetUnitSize (caps == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (caps, typeof (Gst.Caps), false), out mysize);
+ size = new UIntPtr (mysize);
+ 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, out ulong size)
+ {
+ return InternalGetUnitSize (caps, out size);
+ }
+
+ private bool InternalGetUnitSize (Gst.Caps caps, out 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) throw new InvalidOperationException ("No base method to invoke");
+
+ UIntPtr native_size;
+ bool __result = unmanaged (this.Handle, caps == null ? IntPtr.Zero : caps.Handle, out native_size);
+ size = (ulong) native_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, out IntPtr outbuf);
+
+ static int PrepareOutputBuffer_cb (IntPtr inst, IntPtr input, out IntPtr outbuf)
+ {
+ try {
+ BaseTransform __obj = GLib.Object.GetObject (inst, false) as BaseTransform;
+ Gst.FlowReturn __result;
+ Gst.Buffer myoutbuf;
+ __result = __obj.OnPrepareOutputBuffer (input == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (input, typeof (Gst.Buffer), false), out myoutbuf);
+ outbuf = myoutbuf == null ? IntPtr.Zero : myoutbuf.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.BaseTransform), ConnectionMethod="OverridePrepareOutputBuffer")]
+ protected virtual Gst.FlowReturn OnPrepareOutputBuffer (Gst.Buffer input, out Gst.Buffer outbuf)
+ {
+ return InternalPrepareOutputBuffer (input, out outbuf);
+ }
+
+ private Gst.FlowReturn InternalPrepareOutputBuffer (Gst.Buffer input, out 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) throw new InvalidOperationException ("No base method to invoke");
+
+ IntPtr native_outbuf;
+ int __result = unmanaged (this.Handle, input == null ? IntPtr.Zero : input.Handle, out native_outbuf);
+ outbuf = native_outbuf == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (native_outbuf, typeof (Gst.Buffer), true);
+ 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, out IntPtr outbuf);
+
+ static int GenerateOutput_cb (IntPtr inst, out IntPtr outbuf)
+ {
+ try {
+ BaseTransform __obj = GLib.Object.GetObject (inst, false) as BaseTransform;
+ Gst.FlowReturn __result;
+ Gst.Buffer myoutbuf;
+ __result = __obj.OnGenerateOutput (out myoutbuf);
+ outbuf = myoutbuf == null ? IntPtr.Zero : myoutbuf.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.BaseTransform), ConnectionMethod="OverrideGenerateOutput")]
+ protected virtual Gst.FlowReturn OnGenerateOutput (out Gst.Buffer outbuf)
+ {
+ return InternalGenerateOutput (out outbuf);
+ }
+
+ private Gst.FlowReturn InternalGenerateOutput (out 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) throw new InvalidOperationException ("No base method to invoke");
+
+ IntPtr native_outbuf;
+ int __result = unmanaged (this.Handle, out native_outbuf);
+ outbuf = native_outbuf == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (native_outbuf, typeof (Gst.Buffer), true);
+ 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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_base_transform_reconfigure(IntPtr raw);
+
+ public bool Reconfigure() {
+ bool raw_ret = gst_base_transform_reconfigure(Handle);
+ bool ret = raw_ret;
+ return ret;
+ }
+
+ [DllImport("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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/subprojects/gstreamer-sharp/sources/generated/Gst.Base/BitReader.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Base/BitReader.cs
new file mode 100644
index 0000000000..c26a699f1f
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Base/BitReader.cs
@@ -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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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/subprojects/gstreamer-sharp/sources/generated/Gst.Base/BitWriter.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Base/BitWriter.cs
new file mode 100644
index 0000000000..b27af6493d
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Base/BitWriter.cs
@@ -0,0 +1,225 @@
+// 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 BitWriter : IEquatable<BitWriter> {
+
+ public byte Data;
+ public uint BitSize;
+ private uint bit_capacity;
+ private bool auto_grow;
+ private bool owned;
+ [MarshalAs (UnmanagedType.ByValArray, SizeConst=4)]
+ private IntPtr[] _gstGstReserved;
+
+ public static Gst.Base.BitWriter Zero = new Gst.Base.BitWriter ();
+
+ public static Gst.Base.BitWriter New(IntPtr raw) {
+ if (raw == IntPtr.Zero)
+ return Gst.Base.BitWriter.Zero;
+ return (Gst.Base.BitWriter) Marshal.PtrToStructure (raw, typeof (Gst.Base.BitWriter));
+ }
+
+ [DllImport("gstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_bit_writer_align_bytes(IntPtr raw, byte trailing_bit);
+
+ public bool AlignBytes(byte trailing_bit) {
+ IntPtr 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_writer_align_bytes(this_as_native, trailing_bit);
+ bool ret = raw_ret;
+ ReadNative (this_as_native, ref this);
+ System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+ return ret;
+ }
+
+ [DllImport("gstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern void gst_bit_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_bit_writer_free(this_as_native);
+ ReadNative (this_as_native, ref this);
+ System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+ }
+
+ [DllImport("gstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_bit_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_bit_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("gstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern uint gst_bit_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_bit_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("gstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern uint gst_bit_writer_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_bit_writer_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("gstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_bit_writer_put_bits_uint16(IntPtr raw, ushort value, uint nbits);
+
+ public bool PutBitsUint16(ushort value, 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_writer_put_bits_uint16(this_as_native, value, nbits);
+ bool ret = raw_ret;
+ ReadNative (this_as_native, ref this);
+ System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+ return ret;
+ }
+
+ [DllImport("gstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_bit_writer_put_bits_uint32(IntPtr raw, uint value, uint nbits);
+
+ public bool PutBitsUint32(uint value, 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_writer_put_bits_uint32(this_as_native, value, nbits);
+ bool ret = raw_ret;
+ ReadNative (this_as_native, ref this);
+ System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+ return ret;
+ }
+
+ [DllImport("gstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_bit_writer_put_bits_uint64(IntPtr raw, ulong value, uint nbits);
+
+ public bool PutBitsUint64(ulong value, 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_writer_put_bits_uint64(this_as_native, value, nbits);
+ bool ret = raw_ret;
+ ReadNative (this_as_native, ref this);
+ System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+ return ret;
+ }
+
+ [DllImport("gstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_bit_writer_put_bits_uint8(IntPtr raw, byte value, uint nbits);
+
+ public bool PutBitsUint8(byte value, 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_writer_put_bits_uint8(this_as_native, value, nbits);
+ bool ret = raw_ret;
+ ReadNative (this_as_native, ref this);
+ System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+ return ret;
+ }
+
+ [DllImport("gstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_bit_writer_put_bytes(IntPtr raw, byte data, uint nbytes);
+
+ public bool PutBytes(byte data, uint nbytes) {
+ IntPtr 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_writer_put_bytes(this_as_native, data, nbytes);
+ bool ret = raw_ret;
+ ReadNative (this_as_native, ref this);
+ System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+ return ret;
+ }
+
+ [DllImport("gstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern void gst_bit_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_bit_writer_reset(this_as_native);
+ ReadNative (this_as_native, ref this);
+ System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+ }
+
+ [DllImport("gstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_bit_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_bit_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;
+ }
+
+ [DllImport("gstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_bit_writer_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_writer_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;
+ }
+
+ static void ReadNative (IntPtr native, ref Gst.Base.BitWriter target)
+ {
+ target = New (native);
+ }
+
+ public bool Equals (BitWriter other)
+ {
+ return true && Data.Equals (other.Data) && BitSize.Equals (other.BitSize) && bit_capacity.Equals (other.bit_capacity) && auto_grow.Equals (other.auto_grow) && owned.Equals (other.owned);
+ }
+
+ public override bool Equals (object other)
+ {
+ return other is BitWriter && Equals ((BitWriter) other);
+ }
+
+ public override int GetHashCode ()
+ {
+ return this.GetType ().FullName.GetHashCode () ^ Data.GetHashCode () ^ BitSize.GetHashCode () ^ bit_capacity.GetHashCode () ^ auto_grow.GetHashCode () ^ owned.GetHashCode ();
+ }
+
+ private static GLib.GType GType {
+ get { return GLib.GType.Pointer; }
+ }
+#endregion
+ }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.Base/BufferConsumedHandler.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Base/BufferConsumedHandler.cs
new file mode 100644
index 0000000000..a191a14627
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Base/BufferConsumedHandler.cs
@@ -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;
+
+ public delegate void BufferConsumedHandler(object o, BufferConsumedArgs args);
+
+ public class BufferConsumedArgs : GLib.SignalArgs {
+ public Gst.Buffer Object{
+ get {
+ return (Gst.Buffer) Args [0];
+ }
+ }
+
+ }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.Base/ByteReader.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Base/ByteReader.cs
new file mode 100644
index 0000000000..3f8d83841c
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Base/ByteReader.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.Base/ByteWriter.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Base/ByteWriter.cs
new file mode 100644
index 0000000000..52ee0d7cd3
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Base/ByteWriter.cs
@@ -0,0 +1,551 @@
+// 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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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);
+ IntPtr native_data = GLib.Marshaller.StringToPtrGStrdup (data);
+ 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);
+ GLib.Marshaller.Free (native_data);
+ return ret;
+ }
+
+ [DllImport("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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/subprojects/gstreamer-sharp/sources/generated/Gst.Base/CollectData.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Base/CollectData.cs
new file mode 100644
index 0000000000..e01051ef4d
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Base/CollectData.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.Base/CollectDataDestroyNotify.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Base/CollectDataDestroyNotify.cs
new file mode 100644
index 0000000000..f601654a46
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Base/CollectDataDestroyNotify.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.Base/CollectPads.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Base/CollectPads.cs
new file mode 100644
index 0000000000..450521276d
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Base/CollectPads.cs
@@ -0,0 +1,364 @@
+// 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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern int gst_collect_pads_clip_running_time(IntPtr raw, IntPtr cdata, IntPtr buf, out IntPtr outbuf, IntPtr user_data);
+
+ public Gst.FlowReturn ClipRunningTime(Gst.Base.CollectData cdata, Gst.Buffer buf, out Gst.Buffer outbuf, IntPtr user_data) {
+ IntPtr native_cdata = GLib.Marshaller.StructureToPtrAlloc (cdata);
+ IntPtr native_outbuf;
+ int raw_ret = gst_collect_pads_clip_running_time(Handle, native_cdata, buf == null ? IntPtr.Zero : buf.Handle, out native_outbuf, user_data);
+ Gst.FlowReturn ret = (Gst.FlowReturn) raw_ret;
+ Marshal.FreeHGlobal (native_cdata);
+ outbuf = native_outbuf == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (native_outbuf, typeof (Gst.Buffer), true);
+ return ret;
+ }
+
+ [DllImport("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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/subprojects/gstreamer-sharp/sources/generated/Gst.Base/CollectPadsBufferFunction.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Base/CollectPadsBufferFunction.cs
new file mode 100644
index 0000000000..1928376d06
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Base/CollectPadsBufferFunction.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.Base/CollectPadsClipFunction.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Base/CollectPadsClipFunction.cs
new file mode 100644
index 0000000000..1962cf2e2e
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Base/CollectPadsClipFunction.cs
@@ -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, out Gst.Buffer outbuffer);
+
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.Base/CollectPadsCompareFunction.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Base/CollectPadsCompareFunction.cs
new file mode 100644
index 0000000000..4180d2212d
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Base/CollectPadsCompareFunction.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.Base/CollectPadsEventFunction.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Base/CollectPadsEventFunction.cs
new file mode 100644
index 0000000000..f414bbd3d1
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Base/CollectPadsEventFunction.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.Base/CollectPadsFlushFunction.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Base/CollectPadsFlushFunction.cs
new file mode 100644
index 0000000000..5e73f3bea3
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Base/CollectPadsFlushFunction.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.Base/CollectPadsFunction.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Base/CollectPadsFunction.cs
new file mode 100644
index 0000000000..ecce141f3c
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Base/CollectPadsFunction.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.Base/CollectPadsQueryFunction.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Base/CollectPadsQueryFunction.cs
new file mode 100644
index 0000000000..a96ea7d081
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Base/CollectPadsQueryFunction.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.Base/CollectPadsStateFlags.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Base/CollectPadsStateFlags.cs
new file mode 100644
index 0000000000..d4932f7f0b
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Base/CollectPadsStateFlags.cs
@@ -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 : uint {
+
+ Eos = 1,
+ Flushing = 2,
+ NewSegment = 4,
+ Waiting = 8,
+ Locked = 16,
+ }
+#endregion
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.Base/Constants.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Base/Constants.cs
new file mode 100644
index 0000000000..7c99046b6e
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Base/Constants.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.Base/DataQueue.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Base/DataQueue.cs
new file mode 100644
index 0000000000..eaff332928
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Base/DataQueue.cs
@@ -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("gstbase-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/subprojects/gstreamer-sharp/sources/generated/Gst.Base/DataQueueCheckFullFunction.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Base/DataQueueCheckFullFunction.cs
new file mode 100644
index 0000000000..73adb94002
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Base/DataQueueCheckFullFunction.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.Base/DataQueueEmptyCallback.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Base/DataQueueEmptyCallback.cs
new file mode 100644
index 0000000000..3a4edb02e6
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Base/DataQueueEmptyCallback.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.Base/DataQueueFullCallback.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Base/DataQueueFullCallback.cs
new file mode 100644
index 0000000000..5f750cfed1
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Base/DataQueueFullCallback.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.Base/DataQueueItem.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Base/DataQueueItem.cs
new file mode 100644
index 0000000000..a3e5a383dd
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Base/DataQueueItem.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.Base/DataQueueSize.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Base/DataQueueSize.cs
new file mode 100644
index 0000000000..d9740e3929
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Base/DataQueueSize.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.Base/FlowCombiner.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Base/FlowCombiner.cs
new file mode 100644
index 0000000000..effc0e8752
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Base/FlowCombiner.cs
@@ -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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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("gstbase-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/subprojects/gstreamer-sharp/sources/generated/Gst.Base/Global.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Base/Global.cs
new file mode 100644
index 0000000000..c3c94b8541
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Base/Global.cs
@@ -0,0 +1,142 @@
+// 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("gstbase-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("gstbase-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("gstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_type_find_helper_for_buffer_with_extension(IntPtr obj, IntPtr buf, IntPtr extension, out int prob);
+
+ public static Gst.Caps TypeFindHelperForBufferWithExtension(Gst.Object obj, Gst.Buffer buf, string extension, out Gst.TypeFindProbability prob) {
+ IntPtr native_extension = GLib.Marshaller.StringToPtrGStrdup (extension);
+ int native_prob;
+ IntPtr raw_ret = gst_type_find_helper_for_buffer_with_extension(obj == null ? IntPtr.Zero : obj.Handle, buf == null ? IntPtr.Zero : buf.Handle, 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 TypeFindHelperForBufferWithExtension(Gst.Buffer buf, out Gst.TypeFindProbability prob) {
+ return TypeFindHelperForBufferWithExtension (null, buf, null, out prob);
+ }
+
+ [DllImport("gstbase-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("gstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_type_find_helper_for_data_with_extension(IntPtr obj, byte[] data, UIntPtr size, IntPtr extension, out int prob);
+
+ public static Gst.Caps TypeFindHelperForDataWithExtension(Gst.Object obj, byte[] data, ulong size, string extension, out Gst.TypeFindProbability prob) {
+ IntPtr native_extension = GLib.Marshaller.StringToPtrGStrdup (extension);
+ int native_prob;
+ IntPtr raw_ret = gst_type_find_helper_for_data_with_extension(obj == null ? IntPtr.Zero : obj.Handle, data, new UIntPtr (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 TypeFindHelperForDataWithExtension(byte[] data, ulong size, out Gst.TypeFindProbability prob) {
+ return TypeFindHelperForDataWithExtension (null, data, size, null, out prob);
+ }
+
+ [DllImport("gstbase-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("gstbase-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, out Gst.TypeFindProbability prob) {
+ return TypeFindHelperGetRange (obj, null, func, size, null, out prob);
+ }
+
+ [DllImport("gstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern int gst_type_find_helper_get_range_full(IntPtr obj, IntPtr parent, Gst.BaseSharp.TypeFindHelperGetRangeFunctionNative func, ulong size, IntPtr extension, out IntPtr caps, out int prob);
+
+ public static Gst.FlowReturn TypeFindHelperGetRangeFull(Gst.Object obj, Gst.Object parent, Gst.Base.TypeFindHelperGetRangeFunction func, ulong size, string extension, out Gst.Caps caps, out Gst.TypeFindProbability prob) {
+ Gst.BaseSharp.TypeFindHelperGetRangeFunctionWrapper func_wrapper = new Gst.BaseSharp.TypeFindHelperGetRangeFunctionWrapper (func);
+ IntPtr native_extension = GLib.Marshaller.StringToPtrGStrdup (extension);
+ IntPtr native_caps;
+ int native_prob;
+ int raw_ret = gst_type_find_helper_get_range_full(obj == null ? IntPtr.Zero : obj.Handle, parent == null ? IntPtr.Zero : parent.Handle, func_wrapper.NativeDelegate, size, native_extension, out native_caps, out native_prob);
+ Gst.FlowReturn ret = (Gst.FlowReturn) raw_ret;
+ GLib.Marshaller.Free (native_extension);
+ caps = native_caps == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (native_caps, typeof (Gst.Caps), true);
+ prob = (Gst.TypeFindProbability) native_prob;
+ return ret;
+ }
+
+ public static Gst.FlowReturn TypeFindHelperGetRangeFull(Gst.Object obj, Gst.Base.TypeFindHelperGetRangeFunction func, ulong size, out Gst.Caps caps, out Gst.TypeFindProbability prob) {
+ return TypeFindHelperGetRangeFull (obj, null, func, size, null, out caps, out prob);
+ }
+
+#endregion
+ }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.Base/Gst.BaseSharp.CollectDataDestroyNotifyNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Base/Gst.BaseSharp.CollectDataDestroyNotifyNative.cs
new file mode 100644
index 0000000000..fc0ceeb2d9
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Base/Gst.BaseSharp.CollectDataDestroyNotifyNative.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.Base/Gst.BaseSharp.CollectPadsBufferFunctionNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Base/Gst.BaseSharp.CollectPadsBufferFunctionNative.cs
new file mode 100644
index 0000000000..17868cfc15
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Base/Gst.BaseSharp.CollectPadsBufferFunctionNative.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.Base/Gst.BaseSharp.CollectPadsClipFunctionNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Base/Gst.BaseSharp.CollectPadsClipFunctionNative.cs
new file mode 100644
index 0000000000..ccd7295eb2
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Base/Gst.BaseSharp.CollectPadsClipFunctionNative.cs
@@ -0,0 +1,105 @@
+// 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, out 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, out Gst.Buffer outbuffer)
+ {
+ IntPtr native_data = GLib.Marshaller.StructureToPtrAlloc (data);
+ inbuffer.Owned = false;
+ IntPtr native_outbuffer;
+ Gst.FlowReturn __result = (Gst.FlowReturn) native_cb (pads == null ? IntPtr.Zero : pads.Handle, native_data, inbuffer == null ? IntPtr.Zero : inbuffer.Handle, out native_outbuffer, __data);
+ Marshal.FreeHGlobal (native_data);
+ outbuffer = native_outbuffer == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (native_outbuffer, typeof (Gst.Buffer), true);
+ return __result;
+ }
+ }
+
+ internal class CollectPadsClipFunctionWrapper {
+
+ public int NativeCallback (IntPtr pads, IntPtr data, IntPtr inbuffer, out IntPtr outbuffer, IntPtr user_data)
+ {
+ try {
+ Gst.Buffer myoutbuffer;
+
+ 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), out myoutbuffer);
+ outbuffer = myoutbuffer == null ? IntPtr.Zero : myoutbuffer.Handle;
+
+ 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/subprojects/gstreamer-sharp/sources/generated/Gst.Base/Gst.BaseSharp.CollectPadsCompareFunctionNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Base/Gst.BaseSharp.CollectPadsCompareFunctionNative.cs
new file mode 100644
index 0000000000..9fcffa2963
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Base/Gst.BaseSharp.CollectPadsCompareFunctionNative.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.Base/Gst.BaseSharp.CollectPadsEventFunctionNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Base/Gst.BaseSharp.CollectPadsEventFunctionNative.cs
new file mode 100644
index 0000000000..dbdcd156fa
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Base/Gst.BaseSharp.CollectPadsEventFunctionNative.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.Base/Gst.BaseSharp.CollectPadsFlushFunctionNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Base/Gst.BaseSharp.CollectPadsFlushFunctionNative.cs
new file mode 100644
index 0000000000..6e22e584c7
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Base/Gst.BaseSharp.CollectPadsFlushFunctionNative.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.Base/Gst.BaseSharp.CollectPadsFunctionNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Base/Gst.BaseSharp.CollectPadsFunctionNative.cs
new file mode 100644
index 0000000000..5678c7d367
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Base/Gst.BaseSharp.CollectPadsFunctionNative.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.Base/Gst.BaseSharp.CollectPadsQueryFunctionNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Base/Gst.BaseSharp.CollectPadsQueryFunctionNative.cs
new file mode 100644
index 0000000000..c3fe1ee49e
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Base/Gst.BaseSharp.CollectPadsQueryFunctionNative.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.Base/Gst.BaseSharp.DataQueueCheckFullFunctionNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Base/Gst.BaseSharp.DataQueueCheckFullFunctionNative.cs
new file mode 100644
index 0000000000..d7e5d8f50f
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Base/Gst.BaseSharp.DataQueueCheckFullFunctionNative.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.Base/Gst.BaseSharp.DataQueueEmptyCallbackNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Base/Gst.BaseSharp.DataQueueEmptyCallbackNative.cs
new file mode 100644
index 0000000000..028cc1edb4
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Base/Gst.BaseSharp.DataQueueEmptyCallbackNative.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.Base/Gst.BaseSharp.DataQueueFullCallbackNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Base/Gst.BaseSharp.DataQueueFullCallbackNative.cs
new file mode 100644
index 0000000000..199d6c7d48
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Base/Gst.BaseSharp.DataQueueFullCallbackNative.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.Base/Gst.BaseSharp.TypeFindHelperGetRangeFunctionNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Base/Gst.BaseSharp.TypeFindHelperGetRangeFunctionNative.cs
new file mode 100644
index 0000000000..50a0c3c3da
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Base/Gst.BaseSharp.TypeFindHelperGetRangeFunctionNative.cs
@@ -0,0 +1,102 @@
+// 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, out 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, out Gst.Buffer buffer)
+ {
+ IntPtr native_buffer;
+ Gst.FlowReturn __result = (Gst.FlowReturn) native_cb (obj == null ? IntPtr.Zero : obj.Handle, parent == null ? IntPtr.Zero : parent.Handle, offset, length, out native_buffer);
+ buffer = native_buffer == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (native_buffer, typeof (Gst.Buffer), true);
+ return __result;
+ }
+ }
+
+ internal class TypeFindHelperGetRangeFunctionWrapper {
+
+ public int NativeCallback (IntPtr obj, IntPtr parent, ulong offset, uint length, out IntPtr buffer)
+ {
+ try {
+ Gst.Buffer mybuffer;
+
+ Gst.FlowReturn __ret = managed (GLib.Object.GetObject(obj) as Gst.Object, GLib.Object.GetObject(parent) as Gst.Object, offset, length, out mybuffer);
+ buffer = mybuffer == null ? IntPtr.Zero : mybuffer.Handle;
+
+ 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/subprojects/gstreamer-sharp/sources/generated/Gst.Base/PushSrc.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Base/PushSrc.cs
new file mode 100644
index 0000000000..5c8f025dc4
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Base/PushSrc.cs
@@ -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("gstbase-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/subprojects/gstreamer-sharp/sources/generated/Gst.Base/QueueArray.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Base/QueueArray.cs
new file mode 100644
index 0000000000..28ae2c4010
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Base/QueueArray.cs
@@ -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("gstbase-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/subprojects/gstreamer-sharp/sources/generated/Gst.Base/SamplesSelectedHandler.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Base/SamplesSelectedHandler.cs
new file mode 100644
index 0000000000..9a2cac7c50
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Base/SamplesSelectedHandler.cs
@@ -0,0 +1,42 @@
+// 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 SamplesSelectedHandler(object o, SamplesSelectedArgs args);
+
+ public class SamplesSelectedArgs : GLib.SignalArgs {
+ public Gst.Segment Segment{
+ get {
+ return (Gst.Segment) Args [0];
+ }
+ }
+
+ public ulong Pts{
+ get {
+ return (ulong) Args [1];
+ }
+ }
+
+ public ulong Dts{
+ get {
+ return (ulong) Args [2];
+ }
+ }
+
+ public ulong Duration{
+ get {
+ return (ulong) Args [3];
+ }
+ }
+
+ public Gst.Structure Info{
+ get {
+ return (Gst.Structure) Args [4];
+ }
+ }
+
+ }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.Base/TypeFindHelperGetRangeFunction.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Base/TypeFindHelperGetRangeFunction.cs
new file mode 100644
index 0000000000..9cf8263d87
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Base/TypeFindHelperGetRangeFunction.cs
@@ -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, out Gst.Buffer buffer);
+
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.Controller/ARGBControlBinding.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Controller/ARGBControlBinding.cs
new file mode 100644
index 0000000000..1700e42a2c
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Controller/ARGBControlBinding.cs
@@ -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("gstcontroller-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("gstcontroller-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/subprojects/gstreamer-sharp/sources/generated/Gst.Controller/Constants.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Controller/Constants.cs
new file mode 100644
index 0000000000..fe7af826bd
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Controller/Constants.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.Controller/ControlPoint.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Controller/ControlPoint.cs
new file mode 100644
index 0000000000..02fa445933
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Controller/ControlPoint.cs
@@ -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("gstcontroller-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/subprojects/gstreamer-sharp/sources/generated/Gst.Controller/DirectControlBinding.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Controller/DirectControlBinding.cs
new file mode 100644
index 0000000000..5b5e50a0d3
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Controller/DirectControlBinding.cs
@@ -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("gstcontroller-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("gstcontroller-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("gstcontroller-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/subprojects/gstreamer-sharp/sources/generated/Gst.Controller/DirectControlBindingConvertGValue.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Controller/DirectControlBindingConvertGValue.cs
new file mode 100644
index 0000000000..e759553b74
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Controller/DirectControlBindingConvertGValue.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.Controller/DirectControlBindingConvertValue.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Controller/DirectControlBindingConvertValue.cs
new file mode 100644
index 0000000000..83d66804f1
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Controller/DirectControlBindingConvertValue.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.Controller/Global.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Controller/Global.cs
new file mode 100644
index 0000000000..ff714625ab
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Controller/Global.cs
@@ -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("gstcontroller-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/subprojects/gstreamer-sharp/sources/generated/Gst.Controller/Gst.ControllerSharp.DirectControlBindingConvertGValueNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Controller/Gst.ControllerSharp.DirectControlBindingConvertGValueNative.cs
new file mode 100644
index 0000000000..7cdf441c4e
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Controller/Gst.ControllerSharp.DirectControlBindingConvertGValueNative.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.Controller/Gst.ControllerSharp.DirectControlBindingConvertValueNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Controller/Gst.ControllerSharp.DirectControlBindingConvertValueNative.cs
new file mode 100644
index 0000000000..d1d8bf374d
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Controller/Gst.ControllerSharp.DirectControlBindingConvertValueNative.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.Controller/InterpolationControlSource.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Controller/InterpolationControlSource.cs
new file mode 100644
index 0000000000..38d2825d5b
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Controller/InterpolationControlSource.cs
@@ -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("gstcontroller-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("gstcontroller-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/subprojects/gstreamer-sharp/sources/generated/Gst.Controller/InterpolationMode.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Controller/InterpolationMode.cs
new file mode 100644
index 0000000000..a2b7ee4288
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Controller/InterpolationMode.cs
@@ -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 ("gstcontroller-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/subprojects/gstreamer-sharp/sources/generated/Gst.Controller/LFOControlSource.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Controller/LFOControlSource.cs
new file mode 100644
index 0000000000..cf14c917e6
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Controller/LFOControlSource.cs
@@ -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("gstcontroller-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("gstcontroller-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/subprojects/gstreamer-sharp/sources/generated/Gst.Controller/LFOWaveform.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Controller/LFOWaveform.cs
new file mode 100644
index 0000000000..c91816b63a
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Controller/LFOWaveform.cs
@@ -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 ("gstcontroller-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/subprojects/gstreamer-sharp/sources/generated/Gst.Controller/ProxyControlBinding.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Controller/ProxyControlBinding.cs
new file mode 100644
index 0000000000..07f110353a
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Controller/ProxyControlBinding.cs
@@ -0,0 +1,120 @@
+// 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("gstcontroller-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);
+ }
+
+
+ // 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("_padding"
+ , Gst.ControlBinding.class_abi.Fields
+ , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _padding
+ , null
+ , null
+ , (uint) Marshal.SizeOf(typeof(IntPtr))
+ , 0
+ ),
+ });
+
+ return _class_abi;
+ }
+ }
+
+
+ // End of the ABI representation.
+
+ [DllImport("gstcontroller-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 ();
+ }
+
+ // 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("ref_object"
+ , Gst.ControlBinding.abi_info.Fields
+ , (uint) Marshal.SizeOf(typeof(IntPtr)) // ref_object
+ , null
+ , "property_name"
+ , (uint) Marshal.SizeOf(typeof(IntPtr))
+ , 0
+ ),
+ new GLib.AbiField("property_name"
+ , -1
+ , (uint) Marshal.SizeOf(typeof(IntPtr)) // property_name
+ , "ref_object"
+ , "_padding"
+ , (uint) Marshal.SizeOf(typeof(IntPtr))
+ , 0
+ ),
+ new GLib.AbiField("_padding"
+ , -1
+ , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _padding
+ , "property_name"
+ , null
+ , (uint) Marshal.SizeOf(typeof(IntPtr))
+ , 0
+ ),
+ });
+
+ return _abi_info;
+ }
+ }
+
+
+ // End of the ABI representation.
+
+#endregion
+ }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.Controller/TimedValueControlSource.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Controller/TimedValueControlSource.cs
new file mode 100644
index 0000000000..af9558d83f
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Controller/TimedValueControlSource.cs
@@ -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-added")]
+ public event Gst.Controller.ValueAddedHandler ValueAdded {
+ add {
+ this.AddSignalHandler ("value-added", value, typeof (Gst.Controller.ValueAddedArgs));
+ }
+ remove {
+ this.RemoveSignalHandler ("value-added", 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);
+ }
+ }
+
+ 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("gstcontroller-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("gstcontroller-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("gstcontroller-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("gstcontroller-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("gstcontroller-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("gstcontroller-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("gstcontroller-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/subprojects/gstreamer-sharp/sources/generated/Gst.Controller/TriggerControlSource.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Controller/TriggerControlSource.cs
new file mode 100644
index 0000000000..b2e47ca2e1
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Controller/TriggerControlSource.cs
@@ -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("gstcontroller-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("gstcontroller-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/subprojects/gstreamer-sharp/sources/generated/Gst.Controller/ValueAddedHandler.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Controller/ValueAddedHandler.cs
new file mode 100644
index 0000000000..5c2db32c78
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Controller/ValueAddedHandler.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.Controller/ValueChangedHandler.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Controller/ValueChangedHandler.cs
new file mode 100644
index 0000000000..3c1842b6d6
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Controller/ValueChangedHandler.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.Controller/ValueRemovedHandler.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Controller/ValueRemovedHandler.cs
new file mode 100644
index 0000000000..01c667aaab
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Controller/ValueRemovedHandler.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.FFT/Constants.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.FFT/Constants.cs
new file mode 100644
index 0000000000..998bb287bc
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.FFT/Constants.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.FFT/FFTF32.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.FFT/FFTF32.cs
new file mode 100644
index 0000000000..86ad7552d7
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.FFT/FFTF32.cs
@@ -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("gstfft-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("gstfft-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/subprojects/gstreamer-sharp/sources/generated/Gst.FFT/FFTF32Complex.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.FFT/FFTF32Complex.cs
new file mode 100644
index 0000000000..6db2d6a4fe
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.FFT/FFTF32Complex.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.FFT/FFTF64.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.FFT/FFTF64.cs
new file mode 100644
index 0000000000..3c47e078cc
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.FFT/FFTF64.cs
@@ -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("gstfft-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("gstfft-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("gstfft-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("gstfft-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/subprojects/gstreamer-sharp/sources/generated/Gst.FFT/FFTF64Complex.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.FFT/FFTF64Complex.cs
new file mode 100644
index 0000000000..978310188d
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.FFT/FFTF64Complex.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.FFT/FFTS16.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.FFT/FFTS16.cs
new file mode 100644
index 0000000000..0d3b3af074
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.FFT/FFTS16.cs
@@ -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("gstfft-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("gstfft-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("gstfft-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("gstfft-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/subprojects/gstreamer-sharp/sources/generated/Gst.FFT/FFTS16Complex.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.FFT/FFTS16Complex.cs
new file mode 100644
index 0000000000..bd8f4f4369
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.FFT/FFTS16Complex.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.FFT/FFTS32.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.FFT/FFTS32.cs
new file mode 100644
index 0000000000..28305d7053
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.FFT/FFTS32.cs
@@ -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("gstfft-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("gstfft-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("gstfft-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("gstfft-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/subprojects/gstreamer-sharp/sources/generated/Gst.FFT/FFTS32Complex.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.FFT/FFTS32Complex.cs
new file mode 100644
index 0000000000..6ae5251a4b
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.FFT/FFTS32Complex.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.FFT/FFTWindow.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.FFT/FFTWindow.cs
new file mode 100644
index 0000000000..370b3366e5
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.FFT/FFTWindow.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.FFT/Global.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.FFT/Global.cs
new file mode 100644
index 0000000000..6dd8798495
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.FFT/Global.cs
@@ -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("gstfft-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/subprojects/gstreamer-sharp/sources/generated/Gst.Net/Constants.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Net/Constants.cs
new file mode 100644
index 0000000000..3f7584c2a0
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Net/Constants.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.Net/Global.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Net/Global.cs
new file mode 100644
index 0000000000..3bfa56bf57
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Net/Global.cs
@@ -0,0 +1,174 @@
+// 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("gstnet-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("gstnet-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("gstnet-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("gstnet-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("gstnet-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("gstnet-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("gstnet-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("gstnet-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("gstnet-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_net_utils_set_socket_tos(IntPtr socket, int qos_dscp);
+
+ public static bool NetUtilsSetSocketTos(GLib.Socket socket, int qos_dscp) {
+ bool raw_ret = gst_net_utils_set_socket_tos(socket == null ? IntPtr.Zero : socket.Handle, qos_dscp);
+ bool ret = raw_ret;
+ return ret;
+ }
+
+ [DllImport("gstnet-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern void gst_ptp_deinit();
+
+ public static void PtpDeinit() {
+ gst_ptp_deinit();
+ }
+
+ [DllImport("gstnet-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("gstnet-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("gstnet-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("gstnet-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("gstnet-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/subprojects/gstreamer-sharp/sources/generated/Gst.Net/Gst.NetSharp.PtpStatisticsCallbackNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Net/Gst.NetSharp.PtpStatisticsCallbackNative.cs
new file mode 100644
index 0000000000..5b9147c5ea
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Net/Gst.NetSharp.PtpStatisticsCallbackNative.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.Net/NetAddressMeta.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Net/NetAddressMeta.cs
new file mode 100644
index 0000000000..551f28ea0f
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Net/NetAddressMeta.cs
@@ -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("gstnet-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/subprojects/gstreamer-sharp/sources/generated/Gst.Net/NetClientClock.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Net/NetClientClock.cs
new file mode 100644
index 0000000000..ee08f64be0
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Net/NetClientClock.cs
@@ -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("gstnet-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("gstnet-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/subprojects/gstreamer-sharp/sources/generated/Gst.Net/NetControlMessageMeta.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Net/NetControlMessageMeta.cs
new file mode 100644
index 0000000000..fdf5234a57
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Net/NetControlMessageMeta.cs
@@ -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("gstnet-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/subprojects/gstreamer-sharp/sources/generated/Gst.Net/NetTimePacket.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Net/NetTimePacket.cs
new file mode 100644
index 0000000000..05b7270967
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Net/NetTimePacket.cs
@@ -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("gstnet-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("gstnet-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("gstnet-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("gstnet-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("gstnet-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/subprojects/gstreamer-sharp/sources/generated/Gst.Net/NetTimeProvider.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Net/NetTimeProvider.cs
new file mode 100644
index 0000000000..cb6af8ab29
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Net/NetTimeProvider.cs
@@ -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("gstnet-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("gstnet-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("gio-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/subprojects/gstreamer-sharp/sources/generated/Gst.Net/PtpClock.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Net/PtpClock.cs
new file mode 100644
index 0000000000..fbfe5ec17b
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Net/PtpClock.cs
@@ -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("gstnet-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("gstnet-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/subprojects/gstreamer-sharp/sources/generated/Gst.Net/PtpStatisticsCallback.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Net/PtpStatisticsCallback.cs
new file mode 100644
index 0000000000..23cb970af6
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Net/PtpStatisticsCallback.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/AudioVisualizer.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/AudioVisualizer.cs
new file mode 100644
index 0000000000..b8700bb2c2
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/AudioVisualizer.cs
@@ -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("gstpbutils-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/subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/AudioVisualizerShader.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/AudioVisualizerShader.cs
new file mode 100644
index 0000000000..785b11f4e8
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/AudioVisualizerShader.cs
@@ -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 ("gstpbutils-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/subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/AudioVisualizerShaderFunc.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/AudioVisualizerShaderFunc.cs
new file mode 100644
index 0000000000..c9ca7e1b09
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/AudioVisualizerShaderFunc.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/Constants.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/Constants.cs
new file mode 100644
index 0000000000..e131084156
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/Constants.cs
@@ -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 = 2;
+ public const int PLUGINS_BASE_VERSION_MINOR = 19;
+ public const int PLUGINS_BASE_VERSION_NANO = 0;
+#endregion
+ }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/DiscoveredHandler.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/DiscoveredHandler.cs
new file mode 100644
index 0000000000..e6cc54c86f
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/DiscoveredHandler.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/Discoverer.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/Discoverer.cs
new file mode 100644
index 0000000000..4bf3316d5b
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/Discoverer.cs
@@ -0,0 +1,458 @@
+// 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("gstpbutils-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.Property ("use-cache")]
+ public bool UseCache {
+ get {
+ GLib.Value val = GetProperty ("use-cache");
+ bool ret = (bool) val;
+ val.Dispose ();
+ return ret;
+ }
+ set {
+ GLib.Value val = new GLib.Value(value);
+ SetProperty("use-cache", val);
+ val.Dispose ();
+ }
+ }
+
+ [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("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("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("gstpbutils-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("gstpbutils-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("gstpbutils-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("gstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern void gst_discoverer_start(IntPtr raw);
+
+ public void Start() {
+ gst_discoverer_start(Handle);
+ }
+
+ [DllImport("gstpbutils-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/subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/DiscovererAudioInfo.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/DiscovererAudioInfo.cs
new file mode 100644
index 0000000000..311dc0a3dc
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/DiscovererAudioInfo.cs
@@ -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("gstpbutils-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("gstpbutils-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("gstpbutils-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("gstpbutils-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("gstpbutils-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("gstpbutils-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("gstpbutils-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("gstpbutils-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/subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/DiscovererContainerInfo.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/DiscovererContainerInfo.cs
new file mode 100644
index 0000000000..6bb19470cd
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/DiscovererContainerInfo.cs
@@ -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("gstpbutils-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("gstpbutils-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/subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/DiscovererInfo.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/DiscovererInfo.cs
new file mode 100644
index 0000000000..35e0af16b4
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/DiscovererInfo.cs
@@ -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("gstpbutils-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("gstpbutils-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("gstpbutils-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("gstpbutils-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("gstpbutils-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("gstpbutils-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("gstpbutils-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("gstpbutils-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("gstpbutils-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("gstpbutils-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("gstpbutils-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("gstpbutils-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("gstpbutils-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("gstpbutils-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("gstpbutils-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("gstpbutils-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("gstpbutils-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("gstpbutils-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("gstpbutils-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("gstpbutils-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/subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/DiscovererResult.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/DiscovererResult.cs
new file mode 100644
index 0000000000..a79a242db0
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/DiscovererResult.cs
@@ -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 ("gstpbutils-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/subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/DiscovererSerializeFlags.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/DiscovererSerializeFlags.cs
new file mode 100644
index 0000000000..2b603d6b5a
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/DiscovererSerializeFlags.cs
@@ -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 : uint {
+
+ Basic = 0,
+ Caps = 1,
+ Tags = 2,
+ Misc = 4,
+ All = 7,
+ }
+
+ internal class DiscovererSerializeFlagsGType {
+ [DllImport ("gstpbutils-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/subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/DiscovererStreamInfo.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/DiscovererStreamInfo.cs
new file mode 100644
index 0000000000..332975e840
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/DiscovererStreamInfo.cs
@@ -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("gstpbutils-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("gstpbutils-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("gstpbutils-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("gstpbutils-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("gstpbutils-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("gstpbutils-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("gstpbutils-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("gstpbutils-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("gstpbutils-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("gstpbutils-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/subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/DiscovererSubtitleInfo.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/DiscovererSubtitleInfo.cs
new file mode 100644
index 0000000000..88d105887b
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/DiscovererSubtitleInfo.cs
@@ -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("gstpbutils-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("gstpbutils-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/subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/DiscovererVideoInfo.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/DiscovererVideoInfo.cs
new file mode 100644
index 0000000000..8abdaff180
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/DiscovererVideoInfo.cs
@@ -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("gstpbutils-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("gstpbutils-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("gstpbutils-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("gstpbutils-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("gstpbutils-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("gstpbutils-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("gstpbutils-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("gstpbutils-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("gstpbutils-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("gstpbutils-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("gstpbutils-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("gstpbutils-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/subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/EncodingAudioProfile.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/EncodingAudioProfile.cs
new file mode 100644
index 0000000000..f383ee7381
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/EncodingAudioProfile.cs
@@ -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("gstpbutils-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("gstpbutils-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/subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/EncodingContainerProfile.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/EncodingContainerProfile.cs
new file mode 100644
index 0000000000..70f3ae478e
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/EncodingContainerProfile.cs
@@ -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("gstpbutils-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("gstpbutils-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("gstpbutils-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("gstpbutils-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("gstpbutils-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/subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/EncodingProfile.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/EncodingProfile.cs
new file mode 100644
index 0000000000..f77ed36ec7
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/EncodingProfile.cs
@@ -0,0 +1,345 @@
+// 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("gstpbutils-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("gstpbutils-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) {
+ return Find (targetname, null, null);
+ }
+
+ [DllImport("gstpbutils-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("gstpbutils-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("gstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_encoding_profile_get_allow_dynamic_output(IntPtr raw);
+
+ [DllImport("gstpbutils-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("gstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_encoding_profile_get_description(IntPtr raw);
+
+ [DllImport("gstpbutils-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("gstpbutils-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("gstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_encoding_profile_get_format(IntPtr raw);
+
+ [DllImport("gstpbutils-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("gstpbutils-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("gstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_encoding_profile_get_name(IntPtr raw);
+
+ [DllImport("gstpbutils-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("gstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern uint gst_encoding_profile_get_presence(IntPtr raw);
+
+ [DllImport("gstpbutils-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("gstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_encoding_profile_get_preset(IntPtr raw);
+
+ [DllImport("gstpbutils-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("gstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_encoding_profile_get_preset_name(IntPtr raw);
+
+ [DllImport("gstpbutils-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("gstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_encoding_profile_get_restriction(IntPtr raw);
+
+ [DllImport("gstpbutils-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("gstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_encoding_profile_get_single_segment(IntPtr raw);
+
+ [DllImport("gstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern void gst_encoding_profile_set_single_segment(IntPtr raw, bool single_segment);
+
+ public bool SingleSegment {
+ get {
+ bool raw_ret = gst_encoding_profile_get_single_segment(Handle);
+ bool ret = raw_ret;
+ return ret;
+ }
+ set {
+ gst_encoding_profile_set_single_segment(Handle, value);
+ }
+ }
+
+ [DllImport("gstpbutils-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("gstpbutils-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("gstpbutils-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("gstpbutils-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/subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/EncodingTarget.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/EncodingTarget.cs
new file mode 100644
index 0000000000..eee25a3d28
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/EncodingTarget.cs
@@ -0,0 +1,185 @@
+// 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("gstpbutils-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("gstpbutils-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("gstpbutils-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("gstpbutils-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.StringToFilenamePtr (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("gstpbutils-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("gstpbutils-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("gstpbutils-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("gstpbutils-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("gstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_encoding_target_get_path(IntPtr raw);
+
+ public string Path {
+ get {
+ IntPtr raw_ret = gst_encoding_target_get_path(Handle);
+ string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+ return ret;
+ }
+ }
+
+ [DllImport("gstpbutils-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("gstpbutils-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("gstpbutils-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("gstpbutils-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.StringToFilenamePtr (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/subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/EncodingVideoProfile.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/EncodingVideoProfile.cs
new file mode 100644
index 0000000000..471b7b91de
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/EncodingVideoProfile.cs
@@ -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("gstpbutils-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("gstpbutils-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("gstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern uint gst_encoding_video_profile_get_pass(IntPtr raw);
+
+ [DllImport("gstpbutils-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("gstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_encoding_video_profile_get_variableframerate(IntPtr raw);
+
+ [DllImport("gstpbutils-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/subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/Global.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/Global.cs
new file mode 100644
index 0000000000..cd77b77e63
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/Global.cs
@@ -0,0 +1,508 @@
+// 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("gstpbutils-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("gstpbutils-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("gstpbutils-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("gstpbutils-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("gstpbutils-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("gstpbutils-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("gstpbutils-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("gstpbutils-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("gstpbutils-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("gstpbutils-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("gstpbutils-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("gstpbutils-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("gstpbutils-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("gstpbutils-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("gstpbutils-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("gstpbutils-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("gstpbutils-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("gstpbutils-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("gstpbutils-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("gstpbutils-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("gstpbutils-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("gstpbutils-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("gstpbutils-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("gstpbutils-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("gstpbutils-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("gstpbutils-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("gstpbutils-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("gstpbutils-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("gstpbutils-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("gstpbutils-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("gstpbutils-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("gstpbutils-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("gstpbutils-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("gstpbutils-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("gstpbutils-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("gstpbutils-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("gstpbutils-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("gstpbutils-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("gstpbutils-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("gstpbutils-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("gstpbutils-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("gstpbutils-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("gstpbutils-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("gstpbutils-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("gstpbutils-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("gstpbutils-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("gstpbutils-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("gstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern void gst_pb_utils_init();
+
+ public static void PbUtilsInit() {
+ gst_pb_utils_init();
+ }
+
+ [DllImport("gstpbutils-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("gstpbutils-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/subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/Gst.PbUtilsSharp.AudioVisualizerShaderFuncNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/Gst.PbUtilsSharp.AudioVisualizerShaderFuncNative.cs
new file mode 100644
index 0000000000..64d319ebd6
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/Gst.PbUtilsSharp.AudioVisualizerShaderFuncNative.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/Gst.PbUtilsSharp.InstallPluginsResultFuncNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/Gst.PbUtilsSharp.InstallPluginsResultFuncNative.cs
new file mode 100644
index 0000000000..f46eaebe38
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/Gst.PbUtilsSharp.InstallPluginsResultFuncNative.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/InstallPluginsContext.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/InstallPluginsContext.cs
new file mode 100644
index 0000000000..5e767b098d
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/InstallPluginsContext.cs
@@ -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("gstpbutils-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("gstpbutils-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("gstpbutils-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("gstpbutils-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("gstpbutils-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("gstpbutils-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/subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/InstallPluginsResultFunc.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/InstallPluginsResultFunc.cs
new file mode 100644
index 0000000000..1a798b7b33
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/InstallPluginsResultFunc.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/InstallPluginsReturn.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/InstallPluginsReturn.cs
new file mode 100644
index 0000000000..9f30c943ff
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/InstallPluginsReturn.cs
@@ -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 ("gstpbutils-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/subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/SourceSetupHandler.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/SourceSetupHandler.cs
new file mode 100644
index 0000000000..26f666ad89
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.PbUtils/SourceSetupHandler.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.Rtp/Constants.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Rtp/Constants.cs
new file mode 100644
index 0000000000..10786eb387
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Rtp/Constants.cs
@@ -0,0 +1,66 @@
+// 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 = 200;
+ 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_SOURCE_META_MAX_CSRC_COUNT = 15;
+ public const int RTP_VERSION = 2;
+#endregion
+ }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.Rtp/Global.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Rtp/Global.cs
new file mode 100644
index 0000000000..f1f1903c77
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Rtp/Global.cs
@@ -0,0 +1,335 @@
+// 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("gstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_buffer_add_rtp_source_meta(IntPtr buffer, uint ssrc, uint csrc, uint csrc_count);
+
+ public static Gst.Rtp.RTPSourceMeta BufferAddRtpSourceMeta(Gst.Buffer buffer, uint ssrc, uint csrc, uint csrc_count) {
+ IntPtr raw_ret = gst_buffer_add_rtp_source_meta(buffer == null ? IntPtr.Zero : buffer.Handle, ssrc, csrc, csrc_count);
+ Gst.Rtp.RTPSourceMeta ret = Gst.Rtp.RTPSourceMeta.New (raw_ret);
+ return ret;
+ }
+
+ public static Gst.Rtp.RTPSourceMeta BufferAddRtpSourceMeta(Gst.Buffer buffer, uint csrc_count) {
+ return BufferAddRtpSourceMeta (buffer, 0, 0, csrc_count);
+ }
+
+ [DllImport("gstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_buffer_get_rtp_source_meta(IntPtr buffer);
+
+ public static Gst.Rtp.RTPSourceMeta BufferGetRtpSourceMeta(Gst.Buffer buffer) {
+ IntPtr raw_ret = gst_buffer_get_rtp_source_meta(buffer == null ? IntPtr.Zero : buffer.Handle);
+ Gst.Rtp.RTPSourceMeta ret = Gst.Rtp.RTPSourceMeta.New (raw_ret);
+ return ret;
+ }
+
+ [DllImport("gstrtp-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("gstrtp-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("gstrtp-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("gstrtp-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("gstrtp-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("gstrtp-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("gstrtp-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("gstrtp-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("gstrtp-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("gstrtp-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("gstrtp-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("gstrtp-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("gstrtp-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("gstrtp-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("gstrtp-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("gstrtp-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("gstrtp-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("gstrtp-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("gstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern ulong gst_rtp_buffer_ext_timestamp(ref ulong exttimestamp, uint timestamp);
+
+ public static ulong RtpBufferExtTimestamp(ref ulong exttimestamp, uint timestamp) {
+ ulong raw_ret = gst_rtp_buffer_ext_timestamp(ref exttimestamp, timestamp);
+ ulong ret = raw_ret;
+ return ret;
+ }
+
+ [DllImport("gstrtp-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("gstrtp-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("gstrtp-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("gstrtp-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("gstrtp-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("gstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_rtp_hdrext_get_ntp_56(IntPtr[] data, uint size, out ulong ntptime);
+
+ public static bool RtpHdrextGetNtp56(IntPtr[] data, uint size, out ulong ntptime) {
+ bool raw_ret = gst_rtp_hdrext_get_ntp_56(data, size, out ntptime);
+ bool ret = raw_ret;
+ return ret;
+ }
+
+ [DllImport("gstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_rtp_hdrext_get_ntp_64(IntPtr[] data, uint size, out ulong ntptime);
+
+ public static bool RtpHdrextGetNtp64(IntPtr[] data, uint size, out ulong ntptime) {
+ bool raw_ret = gst_rtp_hdrext_get_ntp_64(data, size, out ntptime);
+ bool ret = raw_ret;
+ return ret;
+ }
+
+ [DllImport("gstrtp-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("gstrtp-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("gstrtp-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("gstrtp-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;
+ }
+
+ [DllImport("gstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_rtp_source_meta_api_get_type();
+
+ public static GLib.GType RtpSourceMetaApiGetType() {
+ IntPtr raw_ret = gst_rtp_source_meta_api_get_type();
+ GLib.GType ret = new GLib.GType(raw_ret);
+ return ret;
+ }
+
+ [DllImport("gstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_rtp_source_meta_get_info();
+
+ public static Gst.MetaInfo RtpSourceMetaGetInfo() {
+ IntPtr raw_ret = gst_rtp_source_meta_get_info();
+ Gst.MetaInfo ret = Gst.MetaInfo.New (raw_ret);
+ return ret;
+ }
+
+#endregion
+ }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.Rtp/RTCPBuffer.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Rtp/RTCPBuffer.cs
new file mode 100644
index 0000000000..1c7d95e2b5
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Rtp/RTCPBuffer.cs
@@ -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("gstrtp-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("gstrtp-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("gstrtp-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("gstrtp-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("gstrtp-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("gstrtp-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("gstrtp-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("gstrtp-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("gstrtp-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("gstrtp-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("gstrtp-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("gstrtp-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/subprojects/gstreamer-sharp/sources/generated/Gst.Rtp/RTCPFBType.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Rtp/RTCPFBType.cs
new file mode 100644
index 0000000000..0198459882
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Rtp/RTCPFBType.cs
@@ -0,0 +1,40 @@
+// 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,
+ RtpfbTypeTwcc = 15,
+ PsfbTypeAfb = 15,
+ }
+
+ internal class RTCPFBTypeGType {
+ [DllImport ("gstrtp-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/subprojects/gstreamer-sharp/sources/generated/Gst.Rtp/RTCPPacket.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Rtp/RTCPPacket.cs
new file mode 100644
index 0000000000..ea7a98e3f2
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Rtp/RTCPPacket.cs
@@ -0,0 +1,970 @@
+// 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("gstrtp-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("gstrtp-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("gstrtp-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("gstrtp-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("gstrtp-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("gstrtp-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("gstrtp-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("gstrtp-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("gstrtp-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("gstrtp-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("gstrtp-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("gstrtp-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("gstrtp-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("gstrtp-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("gstrtp-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("gstrtp-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("gstrtp-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("gstrtp-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("gstrtp-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("gstrtp-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("gstrtp-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("gstrtp-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("gstrtp-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("gstrtp-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("gstrtp-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("gstrtp-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("gstrtp-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("gstrtp-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("gstrtp-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("gstrtp-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("gstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern void gst_rtcp_packet_get_rb(IntPtr raw, uint nth, out uint ssrc, out byte fractionlost, out int packetslost, out uint exthighestseq, out uint jitter, out uint lsr, out uint dlsr);
+
+ public void GetRb(uint nth, out uint ssrc, out byte fractionlost, out int packetslost, out uint exthighestseq, out uint jitter, out uint lsr, out 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, out ssrc, out fractionlost, out packetslost, out exthighestseq, out jitter, out lsr, out dlsr);
+ ReadNative (this_as_native, ref this);
+ System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+ }
+
+ [DllImport("gstrtp-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("gstrtp-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("gstrtp-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("gstrtp-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("gstrtp-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("gstrtp-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("gstrtp-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("gstrtp-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("gstrtp-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("gstrtp-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("gstrtp-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("gstrtp-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("gstrtp-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("gstrtp-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("gstrtp-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("gstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern void gst_rtcp_packet_sr_get_sender_info(IntPtr raw, out uint ssrc, out ulong ntptime, out uint rtptime, out uint packet_count, out uint octet_count);
+
+ public void SrGetSenderInfo(out uint ssrc, out ulong ntptime, out uint rtptime, out uint packet_count, out 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, out ssrc, out ntptime, out rtptime, out packet_count, out octet_count);
+ ReadNative (this_as_native, ref this);
+ System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+ }
+
+ [DllImport("gstrtp-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);
+ }
+
+ [DllImport("gstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_rtcp_packet_xr_first_rb(IntPtr raw);
+
+ public bool XrFirstRb() {
+ IntPtr 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_xr_first_rb(this_as_native);
+ bool ret = raw_ret;
+ ReadNative (this_as_native, ref this);
+ System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+ return ret;
+ }
+
+ [DllImport("gstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern ushort gst_rtcp_packet_xr_get_block_length(IntPtr raw);
+
+ public ushort XrGetBlockLength() {
+ IntPtr 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_xr_get_block_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("gstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern int gst_rtcp_packet_xr_get_block_type(IntPtr raw);
+
+ public Gst.Rtp.RTCPXRType XrGetBlockType() {
+ IntPtr 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_xr_get_block_type(this_as_native);
+ Gst.Rtp.RTCPXRType ret = (Gst.Rtp.RTCPXRType) raw_ret;
+ ReadNative (this_as_native, ref this);
+ System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+ return ret;
+ }
+
+ [DllImport("gstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_rtcp_packet_xr_get_dlrr_block(IntPtr raw, uint nth, uint ssrc, uint last_rr, uint delay);
+
+ public bool XrGetDlrrBlock(uint nth, uint ssrc, uint last_rr, uint delay) {
+ IntPtr 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_xr_get_dlrr_block(this_as_native, nth, ssrc, last_rr, delay);
+ bool ret = raw_ret;
+ ReadNative (this_as_native, ref this);
+ System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+ return ret;
+ }
+
+ [DllImport("gstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_rtcp_packet_xr_get_prt_by_seq(IntPtr raw, ushort seq, uint receipt_time);
+
+ public bool XrGetPrtBySeq(ushort seq, uint receipt_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_rtcp_packet_xr_get_prt_by_seq(this_as_native, seq, receipt_time);
+ bool ret = raw_ret;
+ ReadNative (this_as_native, ref this);
+ System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+ return ret;
+ }
+
+ [DllImport("gstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_rtcp_packet_xr_get_prt_info(IntPtr raw, uint ssrc, byte thinning, ushort begin_seq, ushort end_seq);
+
+ public bool XrGetPrtInfo(uint ssrc, byte thinning, ushort begin_seq, ushort end_seq) {
+ IntPtr 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_xr_get_prt_info(this_as_native, ssrc, thinning, begin_seq, end_seq);
+ bool ret = raw_ret;
+ ReadNative (this_as_native, ref this);
+ System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+ return ret;
+ }
+
+ [DllImport("gstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_rtcp_packet_xr_get_rle_info(IntPtr raw, uint ssrc, byte thinning, ushort begin_seq, ushort end_seq, uint chunk_count);
+
+ public bool XrGetRleInfo(uint ssrc, byte thinning, ushort begin_seq, ushort end_seq, uint chunk_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);
+ bool raw_ret = gst_rtcp_packet_xr_get_rle_info(this_as_native, ssrc, thinning, begin_seq, end_seq, chunk_count);
+ bool ret = raw_ret;
+ ReadNative (this_as_native, ref this);
+ System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+ return ret;
+ }
+
+ [DllImport("gstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_rtcp_packet_xr_get_rle_nth_chunk(IntPtr raw, uint nth, ushort chunk);
+
+ public bool XrGetRleNthChunk(uint nth, ushort chunk) {
+ IntPtr 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_xr_get_rle_nth_chunk(this_as_native, nth, chunk);
+ bool ret = raw_ret;
+ ReadNative (this_as_native, ref this);
+ System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+ return ret;
+ }
+
+ [DllImport("gstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_rtcp_packet_xr_get_rrt(IntPtr raw, ulong timestamp);
+
+ public bool XrGetRrt(ulong timestamp) {
+ IntPtr 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_xr_get_rrt(this_as_native, timestamp);
+ bool ret = raw_ret;
+ ReadNative (this_as_native, ref this);
+ System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+ return ret;
+ }
+
+ [DllImport("gstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern uint gst_rtcp_packet_xr_get_ssrc(IntPtr raw);
+
+ public uint XrGetSsrc() {
+ IntPtr 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_xr_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("gstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_rtcp_packet_xr_get_summary_info(IntPtr raw, uint ssrc, ushort begin_seq, ushort end_seq);
+
+ public bool XrGetSummaryInfo(uint ssrc, ushort begin_seq, ushort end_seq) {
+ IntPtr 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_xr_get_summary_info(this_as_native, ssrc, begin_seq, end_seq);
+ bool ret = raw_ret;
+ ReadNative (this_as_native, ref this);
+ System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+ return ret;
+ }
+
+ [DllImport("gstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_rtcp_packet_xr_get_summary_jitter(IntPtr raw, uint min_jitter, uint max_jitter, uint mean_jitter, uint dev_jitter);
+
+ public bool XrGetSummaryJitter(uint min_jitter, uint max_jitter, uint mean_jitter, uint dev_jitter) {
+ IntPtr 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_xr_get_summary_jitter(this_as_native, min_jitter, max_jitter, mean_jitter, dev_jitter);
+ bool ret = raw_ret;
+ ReadNative (this_as_native, ref this);
+ System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+ return ret;
+ }
+
+ [DllImport("gstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_rtcp_packet_xr_get_summary_pkt(IntPtr raw, uint lost_packets, uint dup_packets);
+
+ public bool XrGetSummaryPkt(uint lost_packets, uint dup_packets) {
+ IntPtr 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_xr_get_summary_pkt(this_as_native, lost_packets, dup_packets);
+ bool ret = raw_ret;
+ ReadNative (this_as_native, ref this);
+ System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+ return ret;
+ }
+
+ [DllImport("gstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_rtcp_packet_xr_get_summary_ttl(IntPtr raw, bool is_ipv4, byte min_ttl, byte max_ttl, byte mean_ttl, byte dev_ttl);
+
+ public bool XrGetSummaryTtl(bool is_ipv4, byte min_ttl, byte max_ttl, byte mean_ttl, byte dev_ttl) {
+ IntPtr 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_xr_get_summary_ttl(this_as_native, is_ipv4, min_ttl, max_ttl, mean_ttl, dev_ttl);
+ bool ret = raw_ret;
+ ReadNative (this_as_native, ref this);
+ System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+ return ret;
+ }
+
+ [DllImport("gstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_rtcp_packet_xr_get_voip_burst_metrics(IntPtr raw, byte burst_density, byte gap_density, ushort burst_duration, ushort gap_duration);
+
+ public bool XrGetVoipBurstMetrics(byte burst_density, byte gap_density, ushort burst_duration, ushort gap_duration) {
+ IntPtr 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_xr_get_voip_burst_metrics(this_as_native, burst_density, gap_density, burst_duration, gap_duration);
+ bool ret = raw_ret;
+ ReadNative (this_as_native, ref this);
+ System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+ return ret;
+ }
+
+ [DllImport("gstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_rtcp_packet_xr_get_voip_configuration_params(IntPtr raw, byte gmin, byte rx_config);
+
+ public bool XrGetVoipConfigurationParams(byte gmin, byte rx_config) {
+ IntPtr 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_xr_get_voip_configuration_params(this_as_native, gmin, rx_config);
+ bool ret = raw_ret;
+ ReadNative (this_as_native, ref this);
+ System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+ return ret;
+ }
+
+ [DllImport("gstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_rtcp_packet_xr_get_voip_delay_metrics(IntPtr raw, ushort roundtrip_delay, ushort end_system_delay);
+
+ public bool XrGetVoipDelayMetrics(ushort roundtrip_delay, ushort end_system_delay) {
+ IntPtr 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_xr_get_voip_delay_metrics(this_as_native, roundtrip_delay, end_system_delay);
+ bool ret = raw_ret;
+ ReadNative (this_as_native, ref this);
+ System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+ return ret;
+ }
+
+ [DllImport("gstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_rtcp_packet_xr_get_voip_jitter_buffer_params(IntPtr raw, ushort jb_nominal, ushort jb_maximum, ushort jb_abs_max);
+
+ public bool XrGetVoipJitterBufferParams(ushort jb_nominal, ushort jb_maximum, ushort jb_abs_max) {
+ IntPtr 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_xr_get_voip_jitter_buffer_params(this_as_native, jb_nominal, jb_maximum, jb_abs_max);
+ bool ret = raw_ret;
+ ReadNative (this_as_native, ref this);
+ System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+ return ret;
+ }
+
+ [DllImport("gstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_rtcp_packet_xr_get_voip_metrics_ssrc(IntPtr raw, uint ssrc);
+
+ public bool XrGetVoipMetricsSsrc(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_xr_get_voip_metrics_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("gstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_rtcp_packet_xr_get_voip_packet_metrics(IntPtr raw, byte loss_rate, byte discard_rate);
+
+ public bool XrGetVoipPacketMetrics(byte loss_rate, byte discard_rate) {
+ IntPtr 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_xr_get_voip_packet_metrics(this_as_native, loss_rate, discard_rate);
+ bool ret = raw_ret;
+ ReadNative (this_as_native, ref this);
+ System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+ return ret;
+ }
+
+ [DllImport("gstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_rtcp_packet_xr_get_voip_quality_metrics(IntPtr raw, byte r_factor, byte ext_r_factor, byte mos_lq, byte mos_cq);
+
+ public bool XrGetVoipQualityMetrics(byte r_factor, byte ext_r_factor, byte mos_lq, byte mos_cq) {
+ IntPtr 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_xr_get_voip_quality_metrics(this_as_native, r_factor, ext_r_factor, mos_lq, mos_cq);
+ bool ret = raw_ret;
+ ReadNative (this_as_native, ref this);
+ System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+ return ret;
+ }
+
+ [DllImport("gstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_rtcp_packet_xr_get_voip_signal_metrics(IntPtr raw, byte signal_level, byte noise_level, byte rerl, byte gmin);
+
+ public bool XrGetVoipSignalMetrics(byte signal_level, byte noise_level, byte rerl, byte gmin) {
+ IntPtr 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_xr_get_voip_signal_metrics(this_as_native, signal_level, noise_level, rerl, gmin);
+ bool ret = raw_ret;
+ ReadNative (this_as_native, ref this);
+ System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+ return ret;
+ }
+
+ [DllImport("gstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_rtcp_packet_xr_next_rb(IntPtr raw);
+
+ public bool XrNextRb() {
+ IntPtr 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_xr_next_rb(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.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/subprojects/gstreamer-sharp/sources/generated/Gst.Rtp/RTCPSDESType.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Rtp/RTCPSDESType.cs
new file mode 100644
index 0000000000..66aa0a4221
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Rtp/RTCPSDESType.cs
@@ -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 ("gstrtp-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/subprojects/gstreamer-sharp/sources/generated/Gst.Rtp/RTCPType.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Rtp/RTCPType.cs
new file mode 100644
index 0000000000..fbf5b74549
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Rtp/RTCPType.cs
@@ -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 ("gstrtp-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/subprojects/gstreamer-sharp/sources/generated/Gst.Rtp/RTCPXRType.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Rtp/RTCPXRType.cs
new file mode 100644
index 0000000000..bdfed28a24
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Rtp/RTCPXRType.cs
@@ -0,0 +1,34 @@
+// 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.RTCPXRTypeGType))]
+ public enum RTCPXRType {
+
+ Invalid = -1,
+ Lrle = 1,
+ Drle = 2,
+ Prt = 3,
+ Rrt = 4,
+ Dlrr = 5,
+ Ssumm = 6,
+ VoipMetrics = 7,
+ }
+
+ internal class RTCPXRTypeGType {
+ [DllImport ("gstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_rtcpxr_type_get_type ();
+
+ public static GLib.GType GType {
+ get {
+ return new GLib.GType (gst_rtcpxr_type_get_type ());
+ }
+ }
+ }
+#endregion
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.Rtp/RTPBaseAudioPayload.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Rtp/RTPBaseAudioPayload.cs
new file mode 100644
index 0000000000..c2dc644301
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Rtp/RTPBaseAudioPayload.cs
@@ -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("gstrtp-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("gstrtp-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("gstrtp-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("gstrtp-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("gstrtp-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("gstrtp-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("gstrtp-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("gstrtp-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("gstrtp-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/subprojects/gstreamer-sharp/sources/generated/Gst.Rtp/RTPBaseDepayload.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Rtp/RTPBaseDepayload.cs
new file mode 100644
index 0000000000..c510fd29f1
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Rtp/RTPBaseDepayload.cs
@@ -0,0 +1,611 @@
+// 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 ("max-reorder")]
+ public int MaxReorder {
+ get {
+ GLib.Value val = GetProperty ("max-reorder");
+ int ret = (int) val;
+ val.Dispose ();
+ return ret;
+ }
+ set {
+ GLib.Value val = new GLib.Value(value);
+ SetProperty("max-reorder", val);
+ val.Dispose ();
+ }
+ }
+
+ [GLib.Property ("source-info")]
+ public bool SourceInfo {
+ get {
+ GLib.Value val = GetProperty ("source-info");
+ bool ret = (bool) val;
+ val.Dispose ();
+ return ret;
+ }
+ set {
+ GLib.Value val = new GLib.Value(value);
+ SetProperty("source-info", 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;
+ }
+ }
+
+ 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("gstrtp-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("gstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_rtp_base_depayload_is_source_info_enabled(IntPtr raw);
+
+ public bool IsSourceInfoEnabled {
+ get {
+ bool raw_ret = gst_rtp_base_depayload_is_source_info_enabled(Handle);
+ bool ret = raw_ret;
+ return ret;
+ }
+ }
+
+ [DllImport("gstrtp-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("gstrtp-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;
+ }
+
+ [DllImport("gstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern void gst_rtp_base_depayload_set_source_info_enabled(IntPtr raw, bool enable);
+
+ public bool SourceInfoEnabled {
+ set {
+ gst_rtp_base_depayload_set_source_info_enabled(Handle, value);
+ }
+ }
+
+
+ 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/subprojects/gstreamer-sharp/sources/generated/Gst.Rtp/RTPBasePayload.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Rtp/RTPBasePayload.cs
new file mode 100644
index 0000000000..1991901593
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Rtp/RTPBasePayload.cs
@@ -0,0 +1,1064 @@
+// 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 ("onvif-no-rate-control")]
+ public bool OnvifNoRateControl {
+ get {
+ GLib.Value val = GetProperty ("onvif-no-rate-control");
+ bool ret = (bool) val;
+ val.Dispose ();
+ return ret;
+ }
+ set {
+ GLib.Value val = new GLib.Value(value);
+ SetProperty("onvif-no-rate-control", 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 ("scale-rtptime")]
+ public bool ScaleRtptime {
+ get {
+ GLib.Value val = GetProperty ("scale-rtptime");
+ bool ret = (bool) val;
+ val.Dispose ();
+ return ret;
+ }
+ set {
+ GLib.Value val = new GLib.Value(value);
+ SetProperty("scale-rtptime", 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 ("source-info")]
+ public bool SourceInfo {
+ get {
+ GLib.Value val = GetProperty ("source-info");
+ bool ret = (bool) val;
+ val.Dispose ();
+ return ret;
+ }
+ set {
+ GLib.Value val = new GLib.Value(value);
+ SetProperty("source-info", 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("gstrtp-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("gstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_rtp_base_payload_allocate_output_buffer(IntPtr raw, uint payload_len, byte pad_len, byte csrc_count);
+
+ public Gst.Buffer AllocateOutputBuffer(uint payload_len, byte pad_len, byte csrc_count) {
+ IntPtr raw_ret = gst_rtp_base_payload_allocate_output_buffer(Handle, 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("gstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern uint gst_rtp_base_payload_get_source_count(IntPtr raw, IntPtr buffer);
+
+ public uint GetSourceCount(Gst.Buffer buffer) {
+ uint raw_ret = gst_rtp_base_payload_get_source_count(Handle, buffer == null ? IntPtr.Zero : buffer.Handle);
+ uint ret = raw_ret;
+ return ret;
+ }
+
+ [DllImport("gstrtp-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("gstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_rtp_base_payload_is_source_info_enabled(IntPtr raw);
+
+ public bool IsSourceInfoEnabled {
+ get {
+ bool raw_ret = gst_rtp_base_payload_is_source_info_enabled(Handle);
+ bool ret = raw_ret;
+ return ret;
+ }
+ }
+
+ [DllImport("gstrtp-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("gstrtp-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("gstrtp-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);
+ }
+
+ [DllImport("gstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern void gst_rtp_base_payload_set_source_info_enabled(IntPtr raw, bool enable);
+
+ public bool SourceInfoEnabled {
+ set {
+ gst_rtp_base_payload_set_source_info_enabled(Handle, value);
+ }
+ }
+
+
+ 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/subprojects/gstreamer-sharp/sources/generated/Gst.Rtp/RTPBuffer.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Rtp/RTPBuffer.cs
new file mode 100644
index 0000000000..917ee965fa
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Rtp/RTPBuffer.cs
@@ -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("gstrtp-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("gstrtp-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("gstrtp-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("gstrtp-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("gstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_rtp_buffer_get_extension(IntPtr raw);
+
+ [DllImport("gstrtp-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("gstrtp-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("gstrtp-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("gstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_rtp_buffer_get_marker(IntPtr raw);
+
+ [DllImport("gstrtp-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("gstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern uint gst_rtp_buffer_get_packet_len(IntPtr raw);
+
+ [DllImport("gstrtp-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("gstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_rtp_buffer_get_padding(IntPtr raw);
+
+ [DllImport("gstrtp-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("gstrtp-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("gstrtp-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("gstrtp-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("gstrtp-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("gstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern byte gst_rtp_buffer_get_payload_type(IntPtr raw);
+
+ [DllImport("gstrtp-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("gstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern ushort gst_rtp_buffer_get_seq(IntPtr raw);
+
+ [DllImport("gstrtp-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("gstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern uint gst_rtp_buffer_get_ssrc(IntPtr raw);
+
+ [DllImport("gstrtp-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("gstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern uint gst_rtp_buffer_get_timestamp(IntPtr raw);
+
+ [DllImport("gstrtp-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("gstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern byte gst_rtp_buffer_get_version(IntPtr raw);
+
+ [DllImport("gstrtp-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("gstrtp-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("gstrtp-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("gstrtp-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("gstrtp-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("gstrtp-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("gstrtp-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("gstrtp-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("gstrtp-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("gstrtp-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("gstrtp-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("gstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern ulong gst_rtp_buffer_ext_timestamp(ref ulong exttimestamp, uint timestamp);
+
+ public static ulong ExtTimestamp(ref ulong exttimestamp, uint timestamp) {
+ ulong raw_ret = gst_rtp_buffer_ext_timestamp(ref exttimestamp, timestamp);
+ ulong ret = raw_ret;
+ return ret;
+ }
+
+ [DllImport("gstrtp-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("gstrtp-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("gstrtp-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("gstrtp-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("gstrtp-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/subprojects/gstreamer-sharp/sources/generated/Gst.Rtp/RTPBufferFlags.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Rtp/RTPBufferFlags.cs
new file mode 100644
index 0000000000..27171b2c8d
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Rtp/RTPBufferFlags.cs
@@ -0,0 +1,30 @@
+// 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 : uint {
+
+ Retransmission = 1048576,
+ Redundant = 2097152,
+ Last = 268435456,
+ }
+
+ internal class RTPBufferFlagsGType {
+ [DllImport ("gstrtp-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/subprojects/gstreamer-sharp/sources/generated/Gst.Rtp/RTPBufferMapFlags.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Rtp/RTPBufferMapFlags.cs
new file mode 100644
index 0000000000..b85575c1a9
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Rtp/RTPBufferMapFlags.cs
@@ -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 : uint {
+
+ SkipPadding = 65536,
+ Last = 16777216,
+ }
+
+ internal class RTPBufferMapFlagsGType {
+ [DllImport ("gstrtp-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/subprojects/gstreamer-sharp/sources/generated/Gst.Rtp/RTPPayload.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Rtp/RTPPayload.cs
new file mode 100644
index 0000000000..65ce187f13
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Rtp/RTPPayload.cs
@@ -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 ("gstrtp-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/subprojects/gstreamer-sharp/sources/generated/Gst.Rtp/RTPPayloadInfo.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Rtp/RTPPayloadInfo.cs
new file mode 100644
index 0000000000..6a805f7d77
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Rtp/RTPPayloadInfo.cs
@@ -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("gstrtp-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("gstrtp-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/subprojects/gstreamer-sharp/sources/generated/Gst.Rtp/RTPProfile.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Rtp/RTPProfile.cs
new file mode 100644
index 0000000000..cb456bd563
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Rtp/RTPProfile.cs
@@ -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 ("gstrtp-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/subprojects/gstreamer-sharp/sources/generated/Gst.Rtp/RTPSourceMeta.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Rtp/RTPSourceMeta.cs
new file mode 100644
index 0000000000..5bfe7ab113
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Rtp/RTPSourceMeta.cs
@@ -0,0 +1,111 @@
+// 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 RTPSourceMeta : IEquatable<RTPSourceMeta> {
+
+ public Gst.Meta Meta;
+ public uint Ssrc;
+ public bool SsrcValid;
+ [MarshalAs (UnmanagedType.ByValArray, SizeConst=15)]
+ public uint[] Csrc;
+ public uint CsrcCount;
+
+ public static Gst.Rtp.RTPSourceMeta Zero = new Gst.Rtp.RTPSourceMeta ();
+
+ public static Gst.Rtp.RTPSourceMeta New(IntPtr raw) {
+ if (raw == IntPtr.Zero)
+ return Gst.Rtp.RTPSourceMeta.Zero;
+ return (Gst.Rtp.RTPSourceMeta) Marshal.PtrToStructure (raw, typeof (Gst.Rtp.RTPSourceMeta));
+ }
+
+ [DllImport("gstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_rtp_source_meta_append_csrc(IntPtr raw, uint csrc, uint csrc_count);
+
+ public bool AppendCsrc(uint csrc, uint csrc_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);
+ bool raw_ret = gst_rtp_source_meta_append_csrc(this_as_native, csrc, csrc_count);
+ bool ret = raw_ret;
+ ReadNative (this_as_native, ref this);
+ System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+ return ret;
+ }
+
+ [DllImport("gstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern uint gst_rtp_source_meta_get_source_count(IntPtr raw);
+
+ public uint SourceCount {
+ 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_source_meta_get_source_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("gstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_rtp_source_meta_set_ssrc(IntPtr raw, uint ssrc);
+
+ public bool SetSsrc(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_rtp_source_meta_set_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;
+ }
+
+ public bool SetSsrc() {
+ return SetSsrc (0);
+ }
+
+ [DllImport("gstrtp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_rtp_source_meta_get_info();
+
+ public static Gst.MetaInfo Info {
+ get {
+ IntPtr raw_ret = gst_rtp_source_meta_get_info();
+ Gst.MetaInfo ret = Gst.MetaInfo.New (raw_ret);
+ return ret;
+ }
+ }
+
+ static void ReadNative (IntPtr native, ref Gst.Rtp.RTPSourceMeta target)
+ {
+ target = New (native);
+ }
+
+ public bool Equals (RTPSourceMeta other)
+ {
+ return true && Meta.Equals (other.Meta) && Ssrc.Equals (other.Ssrc) && SsrcValid.Equals (other.SsrcValid) && Csrc.Equals (other.Csrc) && CsrcCount.Equals (other.CsrcCount);
+ }
+
+ public override bool Equals (object other)
+ {
+ return other is RTPSourceMeta && Equals ((RTPSourceMeta) other);
+ }
+
+ public override int GetHashCode ()
+ {
+ return this.GetType ().FullName.GetHashCode () ^ Meta.GetHashCode () ^ Ssrc.GetHashCode () ^ SsrcValid.GetHashCode () ^ Csrc.GetHashCode () ^ CsrcCount.GetHashCode ();
+ }
+
+ private static GLib.GType GType {
+ get { return GLib.GType.Pointer; }
+ }
+#endregion
+ }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/Constants.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/Constants.cs
new file mode 100644
index 0000000000..48083a643d
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/Constants.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/Global.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/Global.cs
new file mode 100644
index 0000000000..8f32d7590f
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/Global.cs
@@ -0,0 +1,389 @@
+// 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("gstrtsp-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("gstrtsp-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("gstrtsp-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("gstrtsp-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("gstrtsp-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("gstrtsp-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("gstrtsp-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("gstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_rtsp_generate_digest_auth_response_from_md5(IntPtr algorithm, IntPtr method, IntPtr md5, IntPtr uri, IntPtr nonce);
+
+ public static string RtspGenerateDigestAuthResponseFromMd5(string algorithm, string method, string md5, string uri, string nonce) {
+ IntPtr native_algorithm = GLib.Marshaller.StringToPtrGStrdup (algorithm);
+ IntPtr native_method = GLib.Marshaller.StringToPtrGStrdup (method);
+ IntPtr native_md5 = GLib.Marshaller.StringToPtrGStrdup (md5);
+ IntPtr native_uri = GLib.Marshaller.StringToPtrGStrdup (uri);
+ IntPtr native_nonce = GLib.Marshaller.StringToPtrGStrdup (nonce);
+ IntPtr raw_ret = gst_rtsp_generate_digest_auth_response_from_md5(native_algorithm, native_method, native_md5, 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_md5);
+ GLib.Marshaller.Free (native_uri);
+ GLib.Marshaller.Free (native_nonce);
+ return ret;
+ }
+
+ public static string RtspGenerateDigestAuthResponseFromMd5(string method, string md5, string uri, string nonce) {
+ return RtspGenerateDigestAuthResponseFromMd5 (null, method, md5, uri, nonce);
+ }
+
+ [DllImport("gstrtsp-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("gstrtsp-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("gstrtsp-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("gstrtsp-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("gstrtsp-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("gstrtsp-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("gstrtsp-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("gstrtsp-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("gstrtsp-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("gstrtsp-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("gstrtsp-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("gstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_rtsp_range_get_times(IntPtr range, out ulong min, out ulong max);
+
+ public static bool RtspRangeGetTimes(Gst.Rtsp.RTSPTimeRange range, out ulong min, out ulong max) {
+ IntPtr native_range = GLib.Marshaller.StructureToPtrAlloc (range);
+ bool raw_ret = gst_rtsp_range_get_times(native_range, out min, out max);
+ bool ret = raw_ret;
+ Marshal.FreeHGlobal (native_range);
+ return ret;
+ }
+
+ [DllImport("gstrtsp-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, out Gst.Rtsp.RTSPTimeRange range) {
+ IntPtr native_rangestr = GLib.Marshaller.StringToPtrGStrdup (rangestr);
+ IntPtr native_range = Marshal.AllocHGlobal (Marshal.SizeOf (typeof (Gst.Rtsp.RTSPTimeRange)));
+ 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);
+ range = Gst.Rtsp.RTSPTimeRange.New (native_range);
+ Marshal.FreeHGlobal (native_range);
+ return ret;
+ }
+
+ [DllImport("gstrtsp-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("gstrtsp-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("gstrtsp-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("gstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern int gst_rtsp_transport_get_manager(int trans, out IntPtr manager, uint option);
+
+ public static Gst.Rtsp.RTSPResult RtspTransportGetManager(Gst.Rtsp.RTSPTransMode trans, out string manager, uint option) {
+ IntPtr native_manager;
+ int raw_ret = gst_rtsp_transport_get_manager((int) trans, out native_manager, option);
+ Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret;
+ manager = GLib.Marshaller.Utf8PtrToString (native_manager);
+ return ret;
+ }
+
+ [DllImport("gstrtsp-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("gstrtsp-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("gstrtsp-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("gstrtsp-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("gstrtsp-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/subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/Gst.RtspSharp.RTSPConnectionAcceptCertificateFuncNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/Gst.RtspSharp.RTSPConnectionAcceptCertificateFuncNative.cs
new file mode 100644
index 0000000000..68b590f75a
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/Gst.RtspSharp.RTSPConnectionAcceptCertificateFuncNative.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/IRTSPExtension.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/IRTSPExtension.cs
new file mode 100644
index 0000000000..e8f78154d3
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/IRTSPExtension.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPAuthCredential.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPAuthCredential.cs
new file mode 100644
index 0000000000..30aeb9db88
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPAuthCredential.cs
@@ -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("gstrtsp-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/subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPAuthMethod.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPAuthMethod.cs
new file mode 100644
index 0000000000..e48dc95c01
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPAuthMethod.cs
@@ -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 ("gstrtsp-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/subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPAuthParam.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPAuthParam.cs
new file mode 100644
index 0000000000..b64f9f86c1
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPAuthParam.cs
@@ -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("gstrtsp-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/subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPConnection.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPConnection.cs
new file mode 100644
index 0000000000..b043dc5587
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPConnection.cs
@@ -0,0 +1,558 @@
+// 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("gstrtsp-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("gstrtsp-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("gstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern int gst_rtsp_connection_connect(IntPtr raw, IntPtr timeout);
+
+ [Obsolete]
+ 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("gstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern int gst_rtsp_connection_connect_usec(IntPtr raw, long timeout);
+
+ public Gst.Rtsp.RTSPResult ConnectUsec(long timeout) {
+ int raw_ret = gst_rtsp_connection_connect_usec(Handle, timeout);
+ Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret;
+ return ret;
+ }
+
+ [DllImport("gstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern int gst_rtsp_connection_connect_with_response(IntPtr raw, IntPtr timeout, IntPtr response);
+
+ [Obsolete]
+ 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("gstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern int gst_rtsp_connection_connect_with_response_usec(IntPtr raw, long timeout, IntPtr response);
+
+ public Gst.Rtsp.RTSPResult ConnectWithResponseUsec(long timeout, Gst.Rtsp.RTSPMessage response) {
+ IntPtr native_response = GLib.Marshaller.StructureToPtrAlloc (response);
+ int raw_ret = gst_rtsp_connection_connect_with_response_usec(Handle, timeout, native_response);
+ Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret;
+ Marshal.FreeHGlobal (native_response);
+ return ret;
+ }
+
+ [DllImport("gstrtsp-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("gstrtsp-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("gstrtsp-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("gstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_rtsp_connection_get_ip(IntPtr raw);
+
+ [DllImport("gstrtsp-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("gstrtsp-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("gstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_rtsp_connection_get_remember_session_id(IntPtr raw);
+
+ [DllImport("gstrtsp-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("gstrtsp-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("gstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_rtsp_connection_get_tls_database(IntPtr raw);
+
+ [DllImport("gstrtsp-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("gstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_rtsp_connection_get_tls_interaction(IntPtr raw);
+
+ [DllImport("gstrtsp-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("gstrtsp-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("gstrtsp-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("gstrtsp-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("gstrtsp-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("gstrtsp-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("gstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern int gst_rtsp_connection_next_timeout(IntPtr raw, IntPtr timeout);
+
+ [Obsolete]
+ 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("gstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern long gst_rtsp_connection_next_timeout_usec(IntPtr raw);
+
+ public long NextTimeoutUsec() {
+ long raw_ret = gst_rtsp_connection_next_timeout_usec(Handle);
+ long ret = raw_ret;
+ return ret;
+ }
+
+ [DllImport("gstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern int gst_rtsp_connection_poll(IntPtr raw, int events, int revents, IntPtr timeout);
+
+ [Obsolete]
+ 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("gstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern int gst_rtsp_connection_poll_usec(IntPtr raw, int events, int revents, long timeout);
+
+ public Gst.Rtsp.RTSPResult PollUsec(Gst.Rtsp.RTSPEvent events, Gst.Rtsp.RTSPEvent revents, long timeout) {
+ int raw_ret = gst_rtsp_connection_poll_usec(Handle, (int) events, (int) revents, timeout);
+ Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret;
+ return ret;
+ }
+
+ [DllImport("gstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern int gst_rtsp_connection_read(IntPtr raw, byte data, uint size, IntPtr timeout);
+
+ [Obsolete]
+ 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("gstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern int gst_rtsp_connection_read_usec(IntPtr raw, byte data, uint size, long timeout);
+
+ public Gst.Rtsp.RTSPResult ReadUsec(byte data, uint size, long timeout) {
+ int raw_ret = gst_rtsp_connection_read_usec(Handle, data, size, timeout);
+ Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret;
+ return ret;
+ }
+
+ [DllImport("gstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern int gst_rtsp_connection_receive(IntPtr raw, IntPtr message, IntPtr timeout);
+
+ [Obsolete]
+ 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("gstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern int gst_rtsp_connection_receive_usec(IntPtr raw, IntPtr message, long timeout);
+
+ public Gst.Rtsp.RTSPResult ReceiveUsec(Gst.Rtsp.RTSPMessage message, long timeout) {
+ IntPtr native_message = GLib.Marshaller.StructureToPtrAlloc (message);
+ int raw_ret = gst_rtsp_connection_receive_usec(Handle, native_message, timeout);
+ Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret;
+ Marshal.FreeHGlobal (native_message);
+ return ret;
+ }
+
+ [DllImport("gstrtsp-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("gstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern int gst_rtsp_connection_send(IntPtr raw, IntPtr message, IntPtr timeout);
+
+ [Obsolete]
+ 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("gstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern int gst_rtsp_connection_send_messages(IntPtr raw, Gst.Rtsp.RTSPMessage[] messages, uint n_messages, IntPtr timeout);
+
+ [Obsolete]
+ public Gst.Rtsp.RTSPResult SendMessages(Gst.Rtsp.RTSPMessage[] messages, IntPtr timeout) {
+ int raw_ret = gst_rtsp_connection_send_messages(Handle, messages, (uint) (messages == null ? 0 : messages.Length), timeout);
+ Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret;
+ return ret;
+ }
+
+ [DllImport("gstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern int gst_rtsp_connection_send_messages_usec(IntPtr raw, Gst.Rtsp.RTSPMessage[] messages, uint n_messages, long timeout);
+
+ public Gst.Rtsp.RTSPResult SendMessagesUsec(Gst.Rtsp.RTSPMessage[] messages, long timeout) {
+ int raw_ret = gst_rtsp_connection_send_messages_usec(Handle, messages, (uint) (messages == null ? 0 : messages.Length), timeout);
+ Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret;
+ return ret;
+ }
+
+ [DllImport("gstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern int gst_rtsp_connection_send_usec(IntPtr raw, IntPtr message, long timeout);
+
+ public Gst.Rtsp.RTSPResult SendUsec(Gst.Rtsp.RTSPMessage message, long timeout) {
+ IntPtr native_message = GLib.Marshaller.StructureToPtrAlloc (message);
+ int raw_ret = gst_rtsp_connection_send_usec(Handle, native_message, timeout);
+ Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret;
+ Marshal.FreeHGlobal (native_message);
+ return ret;
+ }
+
+ [DllImport("gstrtsp-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("gstrtsp-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("gstrtsp-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("gstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern void gst_rtsp_connection_set_content_length_limit(IntPtr raw, uint limit);
+
+ public uint ContentLengthLimit {
+ set {
+ gst_rtsp_connection_set_content_length_limit(Handle, value);
+ }
+ }
+
+ [DllImport("gstrtsp-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("gstrtsp-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("gstrtsp-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("gstrtsp-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("gstrtsp-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("gstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern int gst_rtsp_connection_write(IntPtr raw, byte data, uint size, IntPtr timeout);
+
+ [Obsolete]
+ 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("gstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern int gst_rtsp_connection_write_usec(IntPtr raw, byte data, uint size, long timeout);
+
+ public Gst.Rtsp.RTSPResult WriteUsec(byte data, uint size, long timeout) {
+ int raw_ret = gst_rtsp_connection_write_usec(Handle, data, size, timeout);
+ Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret;
+ return ret;
+ }
+
+ [DllImport("gstrtsp-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("gstrtsp-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("gstrtsp-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/subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPConnectionAcceptCertificateFunc.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPConnectionAcceptCertificateFunc.cs
new file mode 100644
index 0000000000..226f21f201
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPConnectionAcceptCertificateFunc.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPEvent.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPEvent.cs
new file mode 100644
index 0000000000..889ab56911
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPEvent.cs
@@ -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 : uint {
+
+ Read = 1,
+ Write = 2,
+ }
+
+ internal class RTSPEventGType {
+ [DllImport ("gstrtsp-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/subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPExtensionAdapter.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPExtensionAdapter.cs
new file mode 100644
index 0000000000..dcb9cbc602
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPExtensionAdapter.cs
@@ -0,0 +1,413 @@
+// 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 (sdp == IntPtr.Zero ? null : (Gst.Sdp.SDPMessage) GLib.Opaque.GetOpaque (sdp, typeof (Gst.Sdp.SDPMessage), false), 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("gstrtsp-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("gstrtsp-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("gstrtsp-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("gstrtsp-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("gstrtsp-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("gstrtsp-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("gstrtsp-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) {
+ int raw_ret = gst_rtsp_extension_parse_sdp(Handle, sdp == null ? IntPtr.Zero : sdp.Handle, s == null ? IntPtr.Zero : s.Handle);
+ Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret;
+ return ret;
+ }
+
+ [DllImport("gstrtsp-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("gstrtsp-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("gstrtsp-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("gstrtsp-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/subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPFamily.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPFamily.cs
new file mode 100644
index 0000000000..0dd2f17550
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPFamily.cs
@@ -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 ("gstrtsp-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/subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPHeaderField.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPHeaderField.cs
new file mode 100644
index 0000000000..e274eb194c
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPHeaderField.cs
@@ -0,0 +1,116 @@
+// 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,
+ Frames = 87,
+ RateControl = 88,
+ Last = 89,
+ }
+
+ internal class RTSPHeaderFieldGType {
+ [DllImport ("gstrtsp-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/subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPLowerTrans.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPLowerTrans.cs
new file mode 100644
index 0000000000..52d930eb12
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPLowerTrans.cs
@@ -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 : uint {
+
+ Unknown = 0,
+ Udp = 1,
+ UdpMcast = 2,
+ Tcp = 4,
+ Http = 16,
+ Tls = 32,
+ }
+
+ internal class RTSPLowerTransGType {
+ [DllImport ("gstrtsp-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/subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPMessage.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPMessage.cs
new file mode 100644
index 0000000000..43784139f0
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPMessage.cs
@@ -0,0 +1,461 @@
+// 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;
+ private IntPtr _body_buffer;
+ [MarshalAs (UnmanagedType.ByValArray, SizeConst=3)]
+ 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("gstrtsp-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("gstrtsp-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("gstrtsp-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("gstrtsp-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("gstrtsp-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("gstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern int gst_rtsp_message_get_body_buffer(IntPtr raw, out IntPtr buffer);
+
+ public Gst.Rtsp.RTSPResult GetBodyBuffer(out Gst.Buffer buffer) {
+ IntPtr 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_buffer;
+ int raw_ret = gst_rtsp_message_get_body_buffer(this_as_native, out native_buffer);
+ Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret;
+ ReadNative (this_as_native, ref this);
+ System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+ buffer = native_buffer == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (native_buffer, typeof (Gst.Buffer), false);
+ return ret;
+ }
+
+ [DllImport("gstrtsp-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("gstrtsp-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("gstrtsp-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("gstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_rtsp_message_has_body_buffer(IntPtr raw);
+
+ public bool HasBodyBuffer {
+ 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_rtsp_message_has_body_buffer(this_as_native);
+ bool ret = raw_ret;
+ ReadNative (this_as_native, ref this);
+ System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+ return ret;
+ }
+ }
+
+ [DllImport("gstrtsp-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("gstrtsp-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("gstrtsp-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("gstrtsp-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("gstrtsp-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("gstrtsp-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.Utf8PtrToString (native_uri);
+ version = (Gst.Rtsp.RTSPVersion) native_version;
+ return ret;
+ }
+
+ [DllImport("gstrtsp-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.Utf8PtrToString (native_reason);
+ version = (Gst.Rtsp.RTSPVersion) native_version;
+ return ret;
+ }
+
+ [DllImport("gstrtsp-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("gstrtsp-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("gstrtsp-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("gstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern int gst_rtsp_message_set_body_buffer(IntPtr raw, IntPtr buffer);
+
+ public Gst.Rtsp.RTSPResult SetBodyBuffer(Gst.Buffer buffer) {
+ IntPtr 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_buffer(this_as_native, buffer == null ? IntPtr.Zero : buffer.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("gstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern int gst_rtsp_message_steal_body_buffer(IntPtr raw, out IntPtr buffer);
+
+ public Gst.Rtsp.RTSPResult StealBodyBuffer(out Gst.Buffer buffer) {
+ IntPtr 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_buffer;
+ int raw_ret = gst_rtsp_message_steal_body_buffer(this_as_native, out native_buffer);
+ Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret;
+ ReadNative (this_as_native, ref this);
+ System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+ buffer = native_buffer == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (native_buffer, typeof (Gst.Buffer), true);
+ return ret;
+ }
+
+ [DllImport("gstrtsp-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("gstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern int gst_rtsp_message_take_body_buffer(IntPtr raw, IntPtr buffer);
+
+ public Gst.Rtsp.RTSPResult TakeBodyBuffer(Gst.Buffer buffer) {
+ IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+ System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+ buffer.Owned = false;
+ int raw_ret = gst_rtsp_message_take_body_buffer(this_as_native, buffer == null ? IntPtr.Zero : buffer.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("gstrtsp-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("gstrtsp-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("gstrtsp-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) && _body_buffer.Equals (other._body_buffer);
+ }
+
+ 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 () ^ _body_buffer.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/subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPMethod.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPMethod.cs
new file mode 100644
index 0000000000..b5cf1ab873
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPMethod.cs
@@ -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 : uint {
+
+ 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 ("gstrtsp-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/subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPMsgType.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPMsgType.cs
new file mode 100644
index 0000000000..b993de76ef
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPMsgType.cs
@@ -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 ("gstrtsp-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/subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPProfile.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPProfile.cs
new file mode 100644
index 0000000000..ab7c96b137
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPProfile.cs
@@ -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 : uint {
+
+ Unknown = 0,
+ Avp = 1,
+ Savp = 2,
+ Avpf = 4,
+ Savpf = 8,
+ }
+
+ internal class RTSPProfileGType {
+ [DllImport ("gstrtsp-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/subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPRange.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPRange.cs
new file mode 100644
index 0000000000..69bf988d3a
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPRange.cs
@@ -0,0 +1,102 @@
+// 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("gstrtsp-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("gstrtsp-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("gstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_rtsp_range_get_times(IntPtr range, out ulong min, out ulong max);
+
+ public static bool GetTimes(Gst.Rtsp.RTSPTimeRange range, out ulong min, out ulong max) {
+ IntPtr native_range = GLib.Marshaller.StructureToPtrAlloc (range);
+ bool raw_ret = gst_rtsp_range_get_times(native_range, out min, out max);
+ bool ret = raw_ret;
+ Marshal.FreeHGlobal (native_range);
+ return ret;
+ }
+
+ [DllImport("gstrtsp-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, out Gst.Rtsp.RTSPTimeRange range) {
+ IntPtr native_rangestr = GLib.Marshaller.StringToPtrGStrdup (rangestr);
+ IntPtr native_range = Marshal.AllocHGlobal (Marshal.SizeOf (typeof (Gst.Rtsp.RTSPTimeRange)));
+ 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);
+ range = Gst.Rtsp.RTSPTimeRange.New (native_range);
+ Marshal.FreeHGlobal (native_range);
+ return ret;
+ }
+
+ [DllImport("gstrtsp-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/subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPRangeUnit.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPRangeUnit.cs
new file mode 100644
index 0000000000..1f4959071f
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPRangeUnit.cs
@@ -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 ("gstrtsp-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/subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPResult.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPResult.cs
new file mode 100644
index 0000000000..495de43f62
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPResult.cs
@@ -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 ("gstrtsp-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/subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPState.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPState.cs
new file mode 100644
index 0000000000..aaf204e169
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPState.cs
@@ -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 ("gstrtsp-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/subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPStatusCode.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPStatusCode.cs
new file mode 100644
index 0000000000..51fa41af83
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPStatusCode.cs
@@ -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 ("gstrtsp-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/subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPTime.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPTime.cs
new file mode 100644
index 0000000000..73c4e94c74
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPTime.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPTime2.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPTime2.cs
new file mode 100644
index 0000000000..0845c48627
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPTime2.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPTimeRange.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPTimeRange.cs
new file mode 100644
index 0000000000..71896a6fa4
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPTimeRange.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPTimeType.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPTimeType.cs
new file mode 100644
index 0000000000..76d551cbee
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPTimeType.cs
@@ -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 ("gstrtsp-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/subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPTransMode.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPTransMode.cs
new file mode 100644
index 0000000000..6236d1dd5f
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPTransMode.cs
@@ -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 : uint {
+
+ Unknown = 0,
+ Rtp = 1,
+ Rdt = 2,
+ }
+
+ internal class RTSPTransModeGType {
+ [DllImport ("gstrtsp-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/subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPTransport.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPTransport.cs
new file mode 100644
index 0000000000..9435a1f57b
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPTransport.cs
@@ -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("gstrtsp-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("gstrtsp-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("gstrtsp-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("gstrtsp-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("gstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern int gst_rtsp_transport_get_manager(int trans, out IntPtr manager, uint option);
+
+ public static Gst.Rtsp.RTSPResult GetManager(Gst.Rtsp.RTSPTransMode trans, out string manager, uint option) {
+ IntPtr native_manager;
+ int raw_ret = gst_rtsp_transport_get_manager((int) trans, out native_manager, option);
+ Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret;
+ manager = GLib.Marshaller.Utf8PtrToString (native_manager);
+ return ret;
+ }
+
+ [DllImport("gstrtsp-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("gstrtsp-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("gstrtsp-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/subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPUrl.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPUrl.cs
new file mode 100644
index 0000000000..67519d0f8e
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPUrl.cs
@@ -0,0 +1,160 @@
+// 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("gstrtsp-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("gstrtsp-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("gstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern int gst_rtsp_url_get_port(IntPtr raw, out ushort port);
+
+ public Gst.Rtsp.RTSPResult GetPort(out 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, out 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("gstrtsp-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("gstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_rtsp_url_get_request_uri_with_control(IntPtr raw, IntPtr control_path);
+
+ public string GetRequestUriWithControl(string control_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_control_path = GLib.Marshaller.StringToPtrGStrdup (control_path);
+ IntPtr raw_ret = gst_rtsp_url_get_request_uri_with_control(this_as_native, native_control_path);
+ string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+ ReadNative (this_as_native, ref this);
+ System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+ GLib.Marshaller.Free (native_control_path);
+ return ret;
+ }
+
+ [DllImport("gstrtsp-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("gstrtsp-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/subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPVersion.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPVersion.cs
new file mode 100644
index 0000000000..20fda326e7
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPVersion.cs
@@ -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 ("gstrtsp-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/subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPWatch.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPWatch.cs
new file mode 100644
index 0000000000..2df7e36caa
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPWatch.cs
@@ -0,0 +1,140 @@
+// 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("gstrtsp-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("gstrtsp-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("gstrtsp-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("gstrtsp-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("gstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern int gst_rtsp_watch_send_messages(IntPtr raw, Gst.Rtsp.RTSPMessage[] messages, uint n_messages, out uint id);
+
+ public Gst.Rtsp.RTSPResult SendMessages(Gst.Rtsp.RTSPMessage[] messages, out uint id) {
+ int raw_ret = gst_rtsp_watch_send_messages(Handle, messages, (uint) (messages == null ? 0 : messages.Length), out id);
+ Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret;
+ return ret;
+ }
+
+ [DllImport("gstrtsp-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("gstrtsp-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("gstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern int gst_rtsp_watch_wait_backlog(IntPtr raw, IntPtr timeout);
+
+ [Obsolete]
+ 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("gstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern int gst_rtsp_watch_wait_backlog_usec(IntPtr raw, long timeout);
+
+ public Gst.Rtsp.RTSPResult WaitBacklogUsec(long timeout) {
+ int raw_ret = gst_rtsp_watch_wait_backlog_usec(Handle, timeout);
+ Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret;
+ return ret;
+ }
+
+ [DllImport("gstrtsp-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("gstrtsp-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;
+ }
+ }
+
+ protected override Action<IntPtr> DisposeUnmanagedFunc {
+ get {
+ return gst_rtsp_watch_unref;
+ }
+ }
+
+
+ // 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/subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPWatchFuncs.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPWatchFuncs.cs
new file mode 100644
index 0000000000..4fa204d53e
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/RTSPWatchFuncs.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/SendEventHandler.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/SendEventHandler.cs
new file mode 100644
index 0000000000..1124a8dec8
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Rtsp/SendEventHandler.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/Constants.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/Constants.cs
new file mode 100644
index 0000000000..a305c06a6a
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/Constants.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/Global.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/Global.cs
new file mode 100644
index 0000000000..28a9c916b7
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/Global.cs
@@ -0,0 +1,122 @@
+// 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("gstsdp-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("gstsdp-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("gstsdp-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("gstsdp-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("gstsdp-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 raw_ret = gst_sdp_message_as_uri(native_scheme, msg == null ? IntPtr.Zero : msg.Handle);
+ string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+ GLib.Marshaller.Free (native_scheme);
+ return ret;
+ }
+
+ [DllImport("gstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern int gst_sdp_message_new(out IntPtr msg);
+
+ public static Gst.Sdp.SDPResult SdpMessageNew(out Gst.Sdp.SDPMessage msg) {
+ IntPtr native_msg;
+ int raw_ret = gst_sdp_message_new(out native_msg);
+ Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+ msg = native_msg == IntPtr.Zero ? null : (Gst.Sdp.SDPMessage) GLib.Opaque.GetOpaque (native_msg, typeof (Gst.Sdp.SDPMessage), true);
+ return ret;
+ }
+
+ [DllImport("gstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern int gst_sdp_message_new_from_text(IntPtr text, out IntPtr msg);
+
+ public static Gst.Sdp.SDPResult SdpMessageNewFromText(string text, out Gst.Sdp.SDPMessage msg) {
+ IntPtr native_text = GLib.Marshaller.StringToPtrGStrdup (text);
+ IntPtr native_msg;
+ int raw_ret = gst_sdp_message_new_from_text(native_text, out native_msg);
+ Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+ GLib.Marshaller.Free (native_text);
+ msg = native_msg == IntPtr.Zero ? null : (Gst.Sdp.SDPMessage) GLib.Opaque.GetOpaque (native_msg, typeof (Gst.Sdp.SDPMessage), true);
+ return ret;
+ }
+
+ [DllImport("gstsdp-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) {
+ int raw_ret = gst_sdp_message_parse_buffer(data, size, msg == null ? IntPtr.Zero : msg.Handle);
+ Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+ return ret;
+ }
+
+ [DllImport("gstsdp-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);
+ int raw_ret = gst_sdp_message_parse_uri(native_uri, msg == null ? IntPtr.Zero : msg.Handle);
+ Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+ GLib.Marshaller.Free (native_uri);
+ return ret;
+ }
+
+#endregion
+ }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/MIKEYCacheType.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/MIKEYCacheType.cs
new file mode 100644
index 0000000000..a536ab3eec
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/MIKEYCacheType.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/MIKEYDecryptInfo.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/MIKEYDecryptInfo.cs
new file mode 100644
index 0000000000..8fd29fcf3f
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/MIKEYDecryptInfo.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/MIKEYEncAlg.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/MIKEYEncAlg.cs
new file mode 100644
index 0000000000..b8b7709087
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/MIKEYEncAlg.cs
@@ -0,0 +1,18 @@
+// 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,
+ AesGcm128 = 6,
+ }
+#endregion
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/MIKEYEncryptInfo.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/MIKEYEncryptInfo.cs
new file mode 100644
index 0000000000..5c1013a35a
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/MIKEYEncryptInfo.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/MIKEYKVType.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/MIKEYKVType.cs
new file mode 100644
index 0000000000..bd4c295337
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/MIKEYKVType.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/MIKEYKeyDataType.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/MIKEYKeyDataType.cs
new file mode 100644
index 0000000000..b7c7b848c8
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/MIKEYKeyDataType.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/MIKEYMacAlg.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/MIKEYMacAlg.cs
new file mode 100644
index 0000000000..02bdc87185
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/MIKEYMacAlg.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/MIKEYMapSRTP.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/MIKEYMapSRTP.cs
new file mode 100644
index 0000000000..e1f938ff5a
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/MIKEYMapSRTP.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/MIKEYMapType.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/MIKEYMapType.cs
new file mode 100644
index 0000000000..9f30c4c52f
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/MIKEYMapType.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/MIKEYMessage.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/MIKEYMessage.cs
new file mode 100644
index 0000000000..27d7711888
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/MIKEYMessage.cs
@@ -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("gstsdp-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("gstsdp-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("gstsdp-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("gstsdp-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("gstsdp-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("gstsdp-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("gstsdp-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("gstsdp-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("gstsdp-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("gstsdp-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("gstsdp-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("gstsdp-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("gstsdp-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("gstsdp-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("gstsdp-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("gstsdp-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("gstsdp-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("gstsdp-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("gstsdp-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("gstsdp-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("gstsdp-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("gstsdp-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("gstsdp-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("gstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_mikey_message_new();
+
+ public MIKEYMessage ()
+ {
+ Raw = gst_mikey_message_new();
+ }
+
+ [DllImport("gstsdp-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("gstsdp-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("gstsdp-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/subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/MIKEYPRFFunc.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/MIKEYPRFFunc.cs
new file mode 100644
index 0000000000..7d2563ebe4
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/MIKEYPRFFunc.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/MIKEYPayload.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/MIKEYPayload.cs
new file mode 100644
index 0000000000..e8f9b2f9f9
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/MIKEYPayload.cs
@@ -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("gstsdp-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("gstsdp-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("gstsdp-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("gstsdp-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("gstsdp-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("gstsdp-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("gstsdp-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("gstsdp-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("gstsdp-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("gstsdp-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("gstsdp-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("gstsdp-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("gstsdp-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("gstsdp-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("gstsdp-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("gstsdp-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("gstsdp-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("gstsdp-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("gstsdp-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/subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/MIKEYPayloadKEMAC.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/MIKEYPayloadKEMAC.cs
new file mode 100644
index 0000000000..851bba96b0
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/MIKEYPayloadKEMAC.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/MIKEYPayloadKeyData.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/MIKEYPayloadKeyData.cs
new file mode 100644
index 0000000000..bcd2bbcbb1
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/MIKEYPayloadKeyData.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/MIKEYPayloadPKE.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/MIKEYPayloadPKE.cs
new file mode 100644
index 0000000000..7bfb3da34d
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/MIKEYPayloadPKE.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/MIKEYPayloadRAND.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/MIKEYPayloadRAND.cs
new file mode 100644
index 0000000000..05b907c8a4
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/MIKEYPayloadRAND.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/MIKEYPayloadSP.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/MIKEYPayloadSP.cs
new file mode 100644
index 0000000000..a0073c7cf7
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/MIKEYPayloadSP.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/MIKEYPayloadSPParam.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/MIKEYPayloadSPParam.cs
new file mode 100644
index 0000000000..c509ec7503
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/MIKEYPayloadSPParam.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/MIKEYPayloadT.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/MIKEYPayloadT.cs
new file mode 100644
index 0000000000..7ed00855e2
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/MIKEYPayloadT.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/MIKEYPayloadType.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/MIKEYPayloadType.cs
new file mode 100644
index 0000000000..104b2407e2
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/MIKEYPayloadType.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/MIKEYSecProto.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/MIKEYSecProto.cs
new file mode 100644
index 0000000000..4c7721f6b5
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/MIKEYSecProto.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/MIKEYSecSRTP.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/MIKEYSecSRTP.cs
new file mode 100644
index 0000000000..26d1545aa5
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/MIKEYSecSRTP.cs
@@ -0,0 +1,28 @@
+// 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,
+ AeadAuthTagLen = 20,
+ }
+#endregion
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/MIKEYTSType.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/MIKEYTSType.cs
new file mode 100644
index 0000000000..42984d0586
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/MIKEYTSType.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/MIKEYType.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/MIKEYType.cs
new file mode 100644
index 0000000000..937b0cc7c3
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/MIKEYType.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/SDPAttribute.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/SDPAttribute.cs
new file mode 100644
index 0000000000..3402854d2d
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/SDPAttribute.cs
@@ -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("gstsdp-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("gstsdp-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/subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/SDPBandwidth.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/SDPBandwidth.cs
new file mode 100644
index 0000000000..ca30997aba
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/SDPBandwidth.cs
@@ -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("gstsdp-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("gstsdp-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/subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/SDPConnection.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/SDPConnection.cs
new file mode 100644
index 0000000000..a5c7ce6216
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/SDPConnection.cs
@@ -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("gstsdp-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("gstsdp-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/subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/SDPKey.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/SDPKey.cs
new file mode 100644
index 0000000000..5edd049bdd
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/SDPKey.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/SDPMedia.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/SDPMedia.cs
new file mode 100644
index 0000000000..437d341506
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/SDPMedia.cs
@@ -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("gstsdp-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("gstsdp-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("gstsdp-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("gstsdp-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("gstsdp-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("gstsdp-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("gstsdp-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("gstsdp-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("gstsdp-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("gstsdp-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("gstsdp-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("gstsdp-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("gstsdp-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("gstsdp-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("gstsdp-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("gstsdp-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("gstsdp-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("gstsdp-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("gstsdp-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("gstsdp-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("gstsdp-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("gstsdp-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("gstsdp-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("gstsdp-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("gstsdp-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("gstsdp-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("gstsdp-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("gstsdp-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("gstsdp-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("gstsdp-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("gstsdp-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("gstsdp-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("gstsdp-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("gstsdp-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("gstsdp-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("gstsdp-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("gstsdp-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("gstsdp-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("gstsdp-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("gstsdp-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("gstsdp-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/subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/SDPMessage.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/SDPMessage.cs
new file mode 100644
index 0000000000..6183313771
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/SDPMessage.cs
@@ -0,0 +1,947 @@
+// 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 SDPMessage : GLib.Opaque {
+
+ [DllImport("gstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_sdp_message_get_version(IntPtr raw);
+
+ public string Version {
+ get {
+ IntPtr raw_ret = gst_sdp_message_get_version(Handle);
+ string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+ return ret;
+ }
+ set {
+ unsafe {
+ IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("version"));
+ *raw_ptr = GLib.Marshaller.StringToPtrGStrdup (value);
+ }
+ }
+ }
+
+ [DllImport("gstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_sdp_message_get_origin(IntPtr raw);
+
+ public Gst.Sdp.SDPOrigin Origin {
+ get {
+ IntPtr raw_ret = gst_sdp_message_get_origin(Handle);
+ Gst.Sdp.SDPOrigin ret = Gst.Sdp.SDPOrigin.New (raw_ret);
+ return ret;
+ }
+ set {
+ unsafe {
+ IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("origin"));
+ *raw_ptr = GLib.Marshaller.StructureToPtrAlloc (value);
+ }
+ }
+ }
+
+ [DllImport("gstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_sdp_message_get_session_name(IntPtr raw);
+
+ public string SessionName {
+ get {
+ IntPtr raw_ret = gst_sdp_message_get_session_name(Handle);
+ string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+ return ret;
+ }
+ set {
+ unsafe {
+ IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("session_name"));
+ *raw_ptr = GLib.Marshaller.StringToPtrGStrdup (value);
+ }
+ }
+ }
+
+ [DllImport("gstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_sdp_message_get_information(IntPtr raw);
+
+ public string Information {
+ get {
+ IntPtr raw_ret = gst_sdp_message_get_information(Handle);
+ string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+ return ret;
+ }
+ set {
+ unsafe {
+ IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("information"));
+ *raw_ptr = GLib.Marshaller.StringToPtrGStrdup (value);
+ }
+ }
+ }
+
+ [DllImport("gstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_sdp_message_get_uri(IntPtr raw);
+
+ public string Uri {
+ get {
+ IntPtr raw_ret = gst_sdp_message_get_uri(Handle);
+ string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+ return ret;
+ }
+ set {
+ unsafe {
+ IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("uri"));
+ *raw_ptr = GLib.Marshaller.StringToPtrGStrdup (value);
+ }
+ }
+ }
+
+ [DllImport("gstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_sdp_message_get_connection(IntPtr raw);
+
+ public Gst.Sdp.SDPConnection Connection {
+ get {
+ IntPtr raw_ret = gst_sdp_message_get_connection(Handle);
+ Gst.Sdp.SDPConnection ret = Gst.Sdp.SDPConnection.New (raw_ret);
+ return ret;
+ }
+ set {
+ unsafe {
+ IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("connection"));
+ *raw_ptr = GLib.Marshaller.StructureToPtrAlloc (value);
+ }
+ }
+ }
+
+ [DllImport("gstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_sdp_message_get_key(IntPtr raw);
+
+ public Gst.Sdp.SDPKey Key {
+ get {
+ IntPtr raw_ret = gst_sdp_message_get_key(Handle);
+ Gst.Sdp.SDPKey ret = Gst.Sdp.SDPKey.New (raw_ret);
+ return ret;
+ }
+ set {
+ unsafe {
+ IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("key"));
+ *raw_ptr = GLib.Marshaller.StructureToPtrAlloc (value);
+ }
+ }
+ }
+
+ [DllImport("gstsdp-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("gstsdp-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 native_key = GLib.Marshaller.StringToPtrGStrdup (key);
+ IntPtr native_value = GLib.Marshaller.StringToPtrGStrdup (value);
+ int raw_ret = gst_sdp_message_add_attribute(Handle, native_key, native_value);
+ Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+ GLib.Marshaller.Free (native_key);
+ GLib.Marshaller.Free (native_value);
+ return ret;
+ }
+
+ public Gst.Sdp.SDPResult AddAttribute(string key) {
+ return AddAttribute (key, null);
+ }
+
+ [DllImport("gstsdp-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 native_bwtype = GLib.Marshaller.StringToPtrGStrdup (bwtype);
+ int raw_ret = gst_sdp_message_add_bandwidth(Handle, native_bwtype, bandwidth);
+ Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+ GLib.Marshaller.Free (native_bwtype);
+ return ret;
+ }
+
+ [DllImport("gstsdp-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 native_email = GLib.Marshaller.StringToPtrGStrdup (email);
+ int raw_ret = gst_sdp_message_add_email(Handle, native_email);
+ Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+ GLib.Marshaller.Free (native_email);
+ return ret;
+ }
+
+ [DllImport("gstsdp-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 native_media = GLib.Marshaller.StructureToPtrAlloc (media);
+ int raw_ret = gst_sdp_message_add_media(Handle, native_media);
+ Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+ Marshal.FreeHGlobal (native_media);
+ return ret;
+ }
+
+ [DllImport("gstsdp-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 native_phone = GLib.Marshaller.StringToPtrGStrdup (phone);
+ int raw_ret = gst_sdp_message_add_phone(Handle, native_phone);
+ Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+ GLib.Marshaller.Free (native_phone);
+ return ret;
+ }
+
+ [DllImport("gstsdp-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 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(Handle, native_start, native_stop, native_repeat);
+ Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+ GLib.Marshaller.Free (native_start);
+ GLib.Marshaller.Free (native_stop);
+ return ret;
+ }
+
+ [DllImport("gstsdp-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 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(Handle, native_adj_time, native_typed_time);
+ Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+ GLib.Marshaller.Free (native_adj_time);
+ GLib.Marshaller.Free (native_typed_time);
+ return ret;
+ }
+
+ [DllImport("gstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_sdp_message_as_text(IntPtr raw);
+
+ public string AsText() {
+ IntPtr raw_ret = gst_sdp_message_as_text(Handle);
+ string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+ return ret;
+ }
+
+ [DllImport("gstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern uint gst_sdp_message_attributes_len(IntPtr raw);
+
+ public uint AttributesLen() {
+ uint raw_ret = gst_sdp_message_attributes_len(Handle);
+ uint ret = raw_ret;
+ return ret;
+ }
+
+ [DllImport("gstsdp-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) {
+ int raw_ret = gst_sdp_message_attributes_to_caps(Handle, caps == null ? IntPtr.Zero : caps.Handle);
+ Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+ return ret;
+ }
+
+ [DllImport("gstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern uint gst_sdp_message_bandwidths_len(IntPtr raw);
+
+ public uint BandwidthsLen() {
+ uint raw_ret = gst_sdp_message_bandwidths_len(Handle);
+ uint ret = raw_ret;
+ return ret;
+ }
+
+ [DllImport("gstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern int gst_sdp_message_copy(IntPtr raw, out IntPtr copy);
+
+ public Gst.Sdp.SDPResult Copy(out Gst.Sdp.SDPMessage copy) {
+ IntPtr native_copy;
+ int raw_ret = gst_sdp_message_copy(Handle, out native_copy);
+ Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+ copy = native_copy == IntPtr.Zero ? null : (Gst.Sdp.SDPMessage) GLib.Opaque.GetOpaque (native_copy, typeof (Gst.Sdp.SDPMessage), true);
+ return ret;
+ }
+
+ [DllImport("gstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern int gst_sdp_message_dump(IntPtr raw);
+
+ public Gst.Sdp.SDPResult Dump() {
+ int raw_ret = gst_sdp_message_dump(Handle);
+ Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+ return ret;
+ }
+
+ [DllImport("gstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern uint gst_sdp_message_emails_len(IntPtr raw);
+
+ public uint EmailsLen() {
+ uint raw_ret = gst_sdp_message_emails_len(Handle);
+ uint ret = raw_ret;
+ return ret;
+ }
+
+ [DllImport("gstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern int gst_sdp_message_free(IntPtr raw);
+
+ public Gst.Sdp.SDPResult Free() {
+ int raw_ret = gst_sdp_message_free(Handle);
+ Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+ return ret;
+ }
+
+ [DllImport("gstsdp-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 raw_ret = gst_sdp_message_get_attribute(Handle, idx);
+ Gst.Sdp.SDPAttribute ret = Gst.Sdp.SDPAttribute.New (raw_ret);
+ return ret;
+ }
+
+ [DllImport("gstsdp-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 native_key = GLib.Marshaller.StringToPtrGStrdup (key);
+ IntPtr raw_ret = gst_sdp_message_get_attribute_val(Handle, native_key);
+ string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+ GLib.Marshaller.Free (native_key);
+ return ret;
+ }
+
+ [DllImport("gstsdp-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 native_key = GLib.Marshaller.StringToPtrGStrdup (key);
+ IntPtr raw_ret = gst_sdp_message_get_attribute_val_n(Handle, native_key, nth);
+ string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+ GLib.Marshaller.Free (native_key);
+ return ret;
+ }
+
+ [DllImport("gstsdp-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 raw_ret = gst_sdp_message_get_bandwidth(Handle, idx);
+ Gst.Sdp.SDPBandwidth ret = Gst.Sdp.SDPBandwidth.New (raw_ret);
+ return ret;
+ }
+
+ [DllImport("gstsdp-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 raw_ret = gst_sdp_message_get_email(Handle, idx);
+ string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+ return ret;
+ }
+
+ [DllImport("gstsdp-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 raw_ret = gst_sdp_message_get_media(Handle, idx);
+ Gst.Sdp.SDPMedia ret = Gst.Sdp.SDPMedia.New (raw_ret);
+ return ret;
+ }
+
+ [DllImport("gstsdp-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 raw_ret = gst_sdp_message_get_phone(Handle, idx);
+ string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+ return ret;
+ }
+
+ [DllImport("gstsdp-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 raw_ret = gst_sdp_message_get_time(Handle, idx);
+ Gst.Sdp.SDPTime ret = Gst.Sdp.SDPTime.New (raw_ret);
+ return ret;
+ }
+
+ [DllImport("gstsdp-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 raw_ret = gst_sdp_message_get_zone(Handle, idx);
+ Gst.Sdp.SDPZone ret = Gst.Sdp.SDPZone.New (raw_ret);
+ return ret;
+ }
+
+ [DllImport("gstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern int gst_sdp_message_init(IntPtr raw);
+
+ public Gst.Sdp.SDPResult Init() {
+ int raw_ret = gst_sdp_message_init(Handle);
+ Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+ return ret;
+ }
+
+ [DllImport("gstsdp-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 native_attr = GLib.Marshaller.StructureToPtrAlloc (attr);
+ int raw_ret = gst_sdp_message_insert_attribute(Handle, idx, native_attr);
+ Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+ Marshal.FreeHGlobal (native_attr);
+ return ret;
+ }
+
+ [DllImport("gstsdp-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 native_bw = GLib.Marshaller.StructureToPtrAlloc (bw);
+ int raw_ret = gst_sdp_message_insert_bandwidth(Handle, idx, native_bw);
+ Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+ Marshal.FreeHGlobal (native_bw);
+ return ret;
+ }
+
+ [DllImport("gstsdp-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 native_email = GLib.Marshaller.StringToPtrGStrdup (email);
+ int raw_ret = gst_sdp_message_insert_email(Handle, idx, native_email);
+ Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+ GLib.Marshaller.Free (native_email);
+ return ret;
+ }
+
+ [DllImport("gstsdp-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 native_phone = GLib.Marshaller.StringToPtrGStrdup (phone);
+ int raw_ret = gst_sdp_message_insert_phone(Handle, idx, native_phone);
+ Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+ GLib.Marshaller.Free (native_phone);
+ return ret;
+ }
+
+ [DllImport("gstsdp-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 native_t = GLib.Marshaller.StructureToPtrAlloc (t);
+ int raw_ret = gst_sdp_message_insert_time(Handle, idx, native_t);
+ Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+ Marshal.FreeHGlobal (native_t);
+ return ret;
+ }
+
+ [DllImport("gstsdp-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 native_zone = GLib.Marshaller.StructureToPtrAlloc (zone);
+ int raw_ret = gst_sdp_message_insert_zone(Handle, idx, native_zone);
+ Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+ Marshal.FreeHGlobal (native_zone);
+ return ret;
+ }
+
+ [DllImport("gstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern uint gst_sdp_message_medias_len(IntPtr raw);
+
+ public uint MediasLen() {
+ uint raw_ret = gst_sdp_message_medias_len(Handle);
+ uint ret = raw_ret;
+ return ret;
+ }
+
+ [DllImport("gstsdp-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 native_mikey;
+ int raw_ret = gst_sdp_message_parse_keymgmt(Handle, out native_mikey);
+ Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+ mikey = native_mikey == IntPtr.Zero ? null : (Gst.Sdp.MIKEYMessage) GLib.Opaque.GetOpaque (native_mikey, typeof (Gst.Sdp.MIKEYMessage), true);
+ return ret;
+ }
+
+ [DllImport("gstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern uint gst_sdp_message_phones_len(IntPtr raw);
+
+ public uint PhonesLen() {
+ uint raw_ret = gst_sdp_message_phones_len(Handle);
+ uint ret = raw_ret;
+ return ret;
+ }
+
+ [DllImport("gstsdp-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) {
+ int raw_ret = gst_sdp_message_remove_attribute(Handle, idx);
+ Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+ return ret;
+ }
+
+ [DllImport("gstsdp-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) {
+ int raw_ret = gst_sdp_message_remove_bandwidth(Handle, idx);
+ Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+ return ret;
+ }
+
+ [DllImport("gstsdp-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) {
+ int raw_ret = gst_sdp_message_remove_email(Handle, idx);
+ Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+ return ret;
+ }
+
+ [DllImport("gstsdp-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) {
+ int raw_ret = gst_sdp_message_remove_phone(Handle, idx);
+ Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+ return ret;
+ }
+
+ [DllImport("gstsdp-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) {
+ int raw_ret = gst_sdp_message_remove_time(Handle, idx);
+ Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+ return ret;
+ }
+
+ [DllImport("gstsdp-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) {
+ int raw_ret = gst_sdp_message_remove_zone(Handle, idx);
+ Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+ return ret;
+ }
+
+ [DllImport("gstsdp-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 native_attr = GLib.Marshaller.StructureToPtrAlloc (attr);
+ int raw_ret = gst_sdp_message_replace_attribute(Handle, idx, native_attr);
+ Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+ Marshal.FreeHGlobal (native_attr);
+ return ret;
+ }
+
+ [DllImport("gstsdp-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 native_bw = GLib.Marshaller.StructureToPtrAlloc (bw);
+ int raw_ret = gst_sdp_message_replace_bandwidth(Handle, idx, native_bw);
+ Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+ Marshal.FreeHGlobal (native_bw);
+ return ret;
+ }
+
+ [DllImport("gstsdp-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 native_email = GLib.Marshaller.StringToPtrGStrdup (email);
+ int raw_ret = gst_sdp_message_replace_email(Handle, idx, native_email);
+ Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+ GLib.Marshaller.Free (native_email);
+ return ret;
+ }
+
+ [DllImport("gstsdp-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 native_phone = GLib.Marshaller.StringToPtrGStrdup (phone);
+ int raw_ret = gst_sdp_message_replace_phone(Handle, idx, native_phone);
+ Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+ GLib.Marshaller.Free (native_phone);
+ return ret;
+ }
+
+ [DllImport("gstsdp-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 native_t = GLib.Marshaller.StructureToPtrAlloc (t);
+ int raw_ret = gst_sdp_message_replace_time(Handle, idx, native_t);
+ Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+ Marshal.FreeHGlobal (native_t);
+ return ret;
+ }
+
+ [DllImport("gstsdp-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 native_zone = GLib.Marshaller.StructureToPtrAlloc (zone);
+ int raw_ret = gst_sdp_message_replace_zone(Handle, idx, native_zone);
+ Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+ Marshal.FreeHGlobal (native_zone);
+ return ret;
+ }
+
+ [DllImport("gstsdp-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 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(Handle, native_nettype, native_addrtype, native_address, ttl, addr_number);
+ Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+ GLib.Marshaller.Free (native_nettype);
+ GLib.Marshaller.Free (native_addrtype);
+ GLib.Marshaller.Free (native_address);
+ return ret;
+ }
+
+ [DllImport("gstsdp-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 native_information = GLib.Marshaller.StringToPtrGStrdup (information);
+ int raw_ret = gst_sdp_message_set_information(Handle, native_information);
+ Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+ GLib.Marshaller.Free (native_information);
+ return ret;
+ }
+
+ [DllImport("gstsdp-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 native_type = GLib.Marshaller.StringToPtrGStrdup (type);
+ IntPtr native_data = GLib.Marshaller.StringToPtrGStrdup (data);
+ int raw_ret = gst_sdp_message_set_key(Handle, native_type, native_data);
+ Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+ GLib.Marshaller.Free (native_type);
+ GLib.Marshaller.Free (native_data);
+ return ret;
+ }
+
+ [DllImport("gstsdp-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 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(Handle, native_username, native_sess_id, native_sess_version, native_nettype, native_addrtype, native_addr);
+ Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+ 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("gstsdp-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 native_session_name = GLib.Marshaller.StringToPtrGStrdup (session_name);
+ int raw_ret = gst_sdp_message_set_session_name(Handle, native_session_name);
+ Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+ GLib.Marshaller.Free (native_session_name);
+ return ret;
+ }
+
+ [DllImport("gstsdp-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 native_uri = GLib.Marshaller.StringToPtrGStrdup (uri);
+ int raw_ret = gst_sdp_message_set_uri(Handle, native_uri);
+ Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+ GLib.Marshaller.Free (native_uri);
+ return ret;
+ }
+
+ [DllImport("gstsdp-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 native_version = GLib.Marshaller.StringToPtrGStrdup (version);
+ int raw_ret = gst_sdp_message_set_version(Handle, native_version);
+ Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+ GLib.Marshaller.Free (native_version);
+ return ret;
+ }
+
+ [DllImport("gstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern uint gst_sdp_message_times_len(IntPtr raw);
+
+ public uint TimesLen() {
+ uint raw_ret = gst_sdp_message_times_len(Handle);
+ uint ret = raw_ret;
+ return ret;
+ }
+
+ [DllImport("gstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern int gst_sdp_message_uninit(IntPtr raw);
+
+ public Gst.Sdp.SDPResult Uninit() {
+ int raw_ret = gst_sdp_message_uninit(Handle);
+ Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+ return ret;
+ }
+
+ [DllImport("gstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern uint gst_sdp_message_zones_len(IntPtr raw);
+
+ public uint ZonesLen() {
+ uint raw_ret = gst_sdp_message_zones_len(Handle);
+ uint ret = raw_ret;
+ return ret;
+ }
+
+ [DllImport("gstsdp-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 raw_ret = gst_sdp_message_as_uri(native_scheme, msg == null ? IntPtr.Zero : msg.Handle);
+ string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+ GLib.Marshaller.Free (native_scheme);
+ return ret;
+ }
+
+ [DllImport("gstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern int gst_sdp_message_new(out IntPtr msg);
+
+ public static Gst.Sdp.SDPResult New(out Gst.Sdp.SDPMessage msg) {
+ IntPtr native_msg;
+ int raw_ret = gst_sdp_message_new(out native_msg);
+ Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+ msg = native_msg == IntPtr.Zero ? null : (Gst.Sdp.SDPMessage) GLib.Opaque.GetOpaque (native_msg, typeof (Gst.Sdp.SDPMessage), true);
+ return ret;
+ }
+
+ [DllImport("gstsdp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern int gst_sdp_message_new_from_text(IntPtr text, out IntPtr msg);
+
+ public static Gst.Sdp.SDPResult NewFromText(string text, out Gst.Sdp.SDPMessage msg) {
+ IntPtr native_text = GLib.Marshaller.StringToPtrGStrdup (text);
+ IntPtr native_msg;
+ int raw_ret = gst_sdp_message_new_from_text(native_text, out native_msg);
+ Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+ GLib.Marshaller.Free (native_text);
+ msg = native_msg == IntPtr.Zero ? null : (Gst.Sdp.SDPMessage) GLib.Opaque.GetOpaque (native_msg, typeof (Gst.Sdp.SDPMessage), true);
+ return ret;
+ }
+
+ [DllImport("gstsdp-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) {
+ int raw_ret = gst_sdp_message_parse_buffer(data, size, msg == null ? IntPtr.Zero : msg.Handle);
+ Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+ return ret;
+ }
+
+ [DllImport("gstsdp-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);
+ int raw_ret = gst_sdp_message_parse_uri(native_uri, msg == null ? IntPtr.Zero : msg.Handle);
+ Gst.Sdp.SDPResult ret = (Gst.Sdp.SDPResult) raw_ret;
+ GLib.Marshaller.Free (native_uri);
+ return ret;
+ }
+
+ public SDPMessage(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("version"
+ , 0
+ , (uint) Marshal.SizeOf(typeof(IntPtr)) // version
+ , null
+ , "origin"
+ , (uint) Marshal.SizeOf(typeof(IntPtr))
+ , 0
+ ),
+ new GLib.AbiField("origin"
+ , -1
+ , (uint) Marshal.SizeOf(typeof(Gst.Sdp.SDPOrigin)) // origin
+ , "version"
+ , "session_name"
+ , (long) Marshal.OffsetOf(typeof(GstSDPMessage_originAlign), "origin")
+ , 0
+ ),
+ new GLib.AbiField("session_name"
+ , -1
+ , (uint) Marshal.SizeOf(typeof(IntPtr)) // session_name
+ , "origin"
+ , "information"
+ , (uint) Marshal.SizeOf(typeof(IntPtr))
+ , 0
+ ),
+ new GLib.AbiField("information"
+ , -1
+ , (uint) Marshal.SizeOf(typeof(IntPtr)) // information
+ , "session_name"
+ , "uri"
+ , (uint) Marshal.SizeOf(typeof(IntPtr))
+ , 0
+ ),
+ new GLib.AbiField("uri"
+ , -1
+ , (uint) Marshal.SizeOf(typeof(IntPtr)) // uri
+ , "information"
+ , "emails"
+ , (uint) Marshal.SizeOf(typeof(IntPtr))
+ , 0
+ ),
+ new GLib.AbiField("emails"
+ , -1
+ , (uint) Marshal.SizeOf(typeof(IntPtr)) // emails
+ , "uri"
+ , "phones"
+ , (uint) Marshal.SizeOf(typeof(IntPtr))
+ , 0
+ ),
+ new GLib.AbiField("phones"
+ , -1
+ , (uint) Marshal.SizeOf(typeof(IntPtr)) // phones
+ , "emails"
+ , "connection"
+ , (uint) Marshal.SizeOf(typeof(IntPtr))
+ , 0
+ ),
+ new GLib.AbiField("connection"
+ , -1
+ , (uint) Marshal.SizeOf(typeof(Gst.Sdp.SDPConnection)) // connection
+ , "phones"
+ , "bandwidths"
+ , (long) Marshal.OffsetOf(typeof(GstSDPMessage_connectionAlign), "connection")
+ , 0
+ ),
+ new GLib.AbiField("bandwidths"
+ , -1
+ , (uint) Marshal.SizeOf(typeof(IntPtr)) // bandwidths
+ , "connection"
+ , "times"
+ , (uint) Marshal.SizeOf(typeof(IntPtr))
+ , 0
+ ),
+ new GLib.AbiField("times"
+ , -1
+ , (uint) Marshal.SizeOf(typeof(IntPtr)) // times
+ , "bandwidths"
+ , "zones"
+ , (uint) Marshal.SizeOf(typeof(IntPtr))
+ , 0
+ ),
+ new GLib.AbiField("zones"
+ , -1
+ , (uint) Marshal.SizeOf(typeof(IntPtr)) // zones
+ , "times"
+ , "key"
+ , (uint) Marshal.SizeOf(typeof(IntPtr))
+ , 0
+ ),
+ new GLib.AbiField("key"
+ , -1
+ , (uint) Marshal.SizeOf(typeof(Gst.Sdp.SDPKey)) // key
+ , "zones"
+ , "attributes"
+ , (long) Marshal.OffsetOf(typeof(GstSDPMessage_keyAlign), "key")
+ , 0
+ ),
+ new GLib.AbiField("attributes"
+ , -1
+ , (uint) Marshal.SizeOf(typeof(IntPtr)) // attributes
+ , "key"
+ , "medias"
+ , (uint) Marshal.SizeOf(typeof(IntPtr))
+ , 0
+ ),
+ new GLib.AbiField("medias"
+ , -1
+ , (uint) Marshal.SizeOf(typeof(IntPtr)) // medias
+ , "attributes"
+ , null
+ , (uint) Marshal.SizeOf(typeof(IntPtr))
+ , 0
+ ),
+ });
+
+ return _abi_info;
+ }
+ }
+
+ [StructLayout(LayoutKind.Sequential)]
+ public struct GstSDPMessage_originAlign
+ {
+ sbyte f1;
+ private Gst.Sdp.SDPOrigin origin;
+ }
+
+ [StructLayout(LayoutKind.Sequential)]
+ public struct GstSDPMessage_connectionAlign
+ {
+ sbyte f1;
+ private Gst.Sdp.SDPConnection connection;
+ }
+
+ [StructLayout(LayoutKind.Sequential)]
+ public struct GstSDPMessage_keyAlign
+ {
+ sbyte f1;
+ private Gst.Sdp.SDPKey key;
+ }
+
+
+ // End of the ABI representation.
+
+#endregion
+ }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/SDPOrigin.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/SDPOrigin.cs
new file mode 100644
index 0000000000..eaaeb68cff
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/SDPOrigin.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/SDPResult.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/SDPResult.cs
new file mode 100644
index 0000000000..f86c702ea5
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/SDPResult.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/SDPTime.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/SDPTime.cs
new file mode 100644
index 0000000000..c6836787b9
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/SDPTime.cs
@@ -0,0 +1,91 @@
+// 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("gstsdp-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("gstsdp-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);
+ 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/subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/SDPZone.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/SDPZone.cs
new file mode 100644
index 0000000000..d67a615f7a
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Sdp/SDPZone.cs
@@ -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("gstsdp-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("gstsdp-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/subprojects/gstreamer-sharp/sources/generated/Gst.Tags/Constants.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Tags/Constants.cs
new file mode 100644
index 0000000000..c57955ea5c
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Tags/Constants.cs
@@ -0,0 +1,55 @@
+// 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_ACOUSTID_FINGERPRINT = @"chromaprint-fingerprint";
+ public const string TAG_ACOUSTID_ID = @"acoustid-id";
+ 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_RELEASEGROUPID = @"musicbrainz-releasegroupid";
+ public const string TAG_MUSICBRAINZ_RELEASETRACKID = @"musicbrainz-releasetrackid";
+ public const string TAG_MUSICBRAINZ_TRACKID = @"musicbrainz-trackid";
+ public const string TAG_MUSICBRAINZ_TRMID = @"musicbrainz-trmid";
+#endregion
+ }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.Tags/Global.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Tags/Global.cs
new file mode 100644
index 0000000000..a831edf863
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Tags/Global.cs
@@ -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("gsttag-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/subprojects/gstreamer-sharp/sources/generated/Gst.Tags/ITagXmpWriter.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Tags/ITagXmpWriter.cs
new file mode 100644
index 0000000000..3a2ae168ac
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Tags/ITagXmpWriter.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.Tags/TagDemux.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Tags/TagDemux.cs
new file mode 100644
index 0000000000..f89315d1a0
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Tags/TagDemux.cs
@@ -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("gsttag-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/subprojects/gstreamer-sharp/sources/generated/Gst.Tags/TagDemuxResult.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Tags/TagDemuxResult.cs
new file mode 100644
index 0000000000..deef090bc3
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Tags/TagDemuxResult.cs
@@ -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 ("gsttag-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/subprojects/gstreamer-sharp/sources/generated/Gst.Tags/TagImageType.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Tags/TagImageType.cs
new file mode 100644
index 0000000000..e095fd3ce0
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Tags/TagImageType.cs
@@ -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 ("gsttag-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/subprojects/gstreamer-sharp/sources/generated/Gst.Tags/TagLicenseFlags.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Tags/TagLicenseFlags.cs
new file mode 100644
index 0000000000..726350c073
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Tags/TagLicenseFlags.cs
@@ -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 : uint {
+
+ 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 ("gsttag-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/subprojects/gstreamer-sharp/sources/generated/Gst.Tags/TagMux.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Tags/TagMux.cs
new file mode 100644
index 0000000000..4c0c694f3a
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Tags/TagMux.cs
@@ -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("gsttag-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("gstreamer-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("gstreamer-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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern int gst_tag_setter_get_tag_merge_mode(IntPtr raw);
+
+ [DllImport("gstreamer-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("gstreamer-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("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst.Tags/TagXmpWriterAdapter.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Tags/TagXmpWriterAdapter.cs
new file mode 100644
index 0000000000..e2f4ce5c8e
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Tags/TagXmpWriterAdapter.cs
@@ -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("gsttag-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("gsttag-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("gsttag-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("gsttag-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("gsttag-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("gsttag-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("gsttag-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/subprojects/gstreamer-sharp/sources/generated/Gst.Video/ColorBalanceAdapter.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/ColorBalanceAdapter.cs
new file mode 100644
index 0000000000..eee53b38b6
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/ColorBalanceAdapter.cs
@@ -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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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/subprojects/gstreamer-sharp/sources/generated/Gst.Video/ColorBalanceChannel.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/ColorBalanceChannel.cs
new file mode 100644
index 0000000000..f3c6626f19
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/ColorBalanceChannel.cs
@@ -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("gstvideo-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/subprojects/gstreamer-sharp/sources/generated/Gst.Video/ColorBalanceType.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/ColorBalanceType.cs
new file mode 100644
index 0000000000..b9a97d7ed2
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/ColorBalanceType.cs
@@ -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 ("gstvideo-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/subprojects/gstreamer-sharp/sources/generated/Gst.Video/Constants.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/Constants.cs
new file mode 100644
index 0000000000..34b4befba8
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/Constants.cs
@@ -0,0 +1,89 @@
+// 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_FORMAT_INTERLACED = @"format:Interlaced";
+ 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_BT2020_10 = @"bt2020-10";
+ public const string VIDEO_COLORIMETRY_BT2100_HLG = @"bt2100-hlg";
+ public const string VIDEO_COLORIMETRY_BT2100_PQ = @"bt2100-pq";
+ 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 = @"{ AYUV64, ARGB64, GBRA_12BE, GBRA_12LE, Y412_BE, Y412_LE, A444_10BE, GBRA_10BE, A444_10LE, GBRA_10LE, A422_10BE, A422_10LE, A420_10BE, A420_10LE, Y410, RGB10A2_LE, BGR10A2_LE, GBRA, ABGR, VUYA, BGRA, AYUV, ARGB, RGBA, A420, Y444_16BE, Y444_16LE, v216, P016_BE, P016_LE, Y444_12BE, GBR_12BE, Y444_12LE, GBR_12LE, I422_12BE, I422_12LE, Y212_BE, Y212_LE, I420_12BE, I420_12LE, P012_BE, P012_LE, Y444_10BE, GBR_10BE, Y444_10LE, GBR_10LE, r210, I422_10BE, I422_10LE, NV16_10LE32, Y210, v210, UYVP, I420_10BE, I420_10LE, P010_10BE, P010_10LE, NV12_10LE32, NV12_10LE40, Y444, GBR, NV24, xBGR, BGRx, xRGB, RGBx, BGR, IYU2, v308, RGB, Y42B, NV61, NV16, VYUY, UYVY, YVYU, YUY2, I420, YV12, NV21, NV12, NV12_64Z32, NV12_4L4, NV12_32L32, Y41B, IYU1, YVU9, YUV9, RGB16, BGR16, RGB15, BGR15, RGB8P, GRAY16_BE, GRAY16_LE, GRAY10_LE32, GRAY8 }";
+ 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_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 = 65535;
+ public const int VIDEO_TILE_TYPE_SHIFT = 16;
+ public const int VIDEO_TILE_X_TILES_MASK = 65535;
+ public const int VIDEO_TILE_Y_TILES_SHIFT = 16;
+#endregion
+ }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.Video/Global.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/Global.cs
new file mode 100644
index 0000000000..454f84edf9
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/Global.cs
@@ -0,0 +1,1145 @@
+// 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("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_buffer_add_video_afd_meta(IntPtr buffer, byte field, int spec, int afd);
+
+ public static Gst.Video.VideoAFDMeta BufferAddVideoAfdMeta(Gst.Buffer buffer, byte field, Gst.Video.VideoAFDSpec spec, Gst.Video.VideoAFDValue afd) {
+ IntPtr raw_ret = gst_buffer_add_video_afd_meta(buffer == null ? IntPtr.Zero : buffer.Handle, field, (int) spec, (int) afd);
+ Gst.Video.VideoAFDMeta ret = Gst.Video.VideoAFDMeta.New (raw_ret);
+ return ret;
+ }
+
+ [DllImport("gstvideo-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("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_buffer_add_video_bar_meta(IntPtr buffer, byte field, bool is_letterbox, uint bar_data1, uint bar_data2);
+
+ public static Gst.Video.VideoBarMeta BufferAddVideoBarMeta(Gst.Buffer buffer, byte field, bool is_letterbox, uint bar_data1, uint bar_data2) {
+ IntPtr raw_ret = gst_buffer_add_video_bar_meta(buffer == null ? IntPtr.Zero : buffer.Handle, field, is_letterbox, bar_data1, bar_data2);
+ Gst.Video.VideoBarMeta ret = Gst.Video.VideoBarMeta.New (raw_ret);
+ return ret;
+ }
+
+ [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_buffer_add_video_caption_meta(IntPtr buffer, int caption_type, byte[] data, UIntPtr size);
+
+ public static Gst.Video.VideoCaptionMeta BufferAddVideoCaptionMeta(Gst.Buffer buffer, Gst.Video.VideoCaptionType caption_type, byte[] data, ulong size) {
+ IntPtr raw_ret = gst_buffer_add_video_caption_meta(buffer == null ? IntPtr.Zero : buffer.Handle, (int) caption_type, data, new UIntPtr (size));
+ Gst.Video.VideoCaptionMeta ret = Gst.Video.VideoCaptionMeta.New (raw_ret);
+ return ret;
+ }
+
+ [DllImport("gstvideo-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("gstvideo-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("gstvideo-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 raw_ret = gst_buffer_add_video_overlay_composition_meta(buf == null ? IntPtr.Zero : buf.Handle, comp == null ? IntPtr.Zero : comp.Handle);
+ Gst.Video.VideoOverlayCompositionMeta ret = Gst.Video.VideoOverlayCompositionMeta.New (raw_ret);
+ return ret;
+ }
+
+ public static Gst.Video.VideoOverlayCompositionMeta BufferAddVideoOverlayCompositionMeta(Gst.Buffer buf) {
+ return BufferAddVideoOverlayCompositionMeta (buf, null);
+ }
+
+ [DllImport("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_navigation_event_parse_mouse_scroll_event(IntPtr evnt, out double x, out double y, out double delta_x, out double delta_y);
+
+ public static bool NavigationEventParseMouseScrollEvent(Gst.Event evnt, out double x, out double y, out double delta_x, out double delta_y) {
+ bool raw_ret = gst_navigation_event_parse_mouse_scroll_event(evnt == null ? IntPtr.Zero : evnt.Handle, out x, out y, out delta_x, out delta_y);
+ bool ret = raw_ret;
+ return ret;
+ }
+
+ [DllImport("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_video_afd_meta_api_get_type();
+
+ public static GLib.GType VideoAfdMetaApiGetType() {
+ IntPtr raw_ret = gst_video_afd_meta_api_get_type();
+ GLib.GType ret = new GLib.GType(raw_ret);
+ return ret;
+ }
+
+ [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_video_afd_meta_get_info();
+
+ public static Gst.MetaInfo VideoAfdMetaGetInfo() {
+ IntPtr raw_ret = gst_video_afd_meta_get_info();
+ Gst.MetaInfo ret = Gst.MetaInfo.New (raw_ret);
+ return ret;
+ }
+
+ [DllImport("gstvideo-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("gstvideo-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("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_video_bar_meta_api_get_type();
+
+ public static GLib.GType VideoBarMetaApiGetType() {
+ IntPtr raw_ret = gst_video_bar_meta_api_get_type();
+ GLib.GType ret = new GLib.GType(raw_ret);
+ return ret;
+ }
+
+ [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_video_bar_meta_get_info();
+
+ public static Gst.MetaInfo VideoBarMetaGetInfo() {
+ IntPtr raw_ret = gst_video_bar_meta_get_info();
+ Gst.MetaInfo ret = Gst.MetaInfo.New (raw_ret);
+ return ret;
+ }
+
+ [DllImport("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_video_caption_meta_api_get_type();
+
+ public static GLib.GType VideoCaptionMetaApiGetType() {
+ IntPtr raw_ret = gst_video_caption_meta_api_get_type();
+ GLib.GType ret = new GLib.GType(raw_ret);
+ return ret;
+ }
+
+ [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_video_caption_meta_get_info();
+
+ public static Gst.MetaInfo VideoCaptionMetaGetInfo() {
+ IntPtr raw_ret = gst_video_caption_meta_get_info();
+ Gst.MetaInfo ret = Gst.MetaInfo.New (raw_ret);
+ return ret;
+ }
+
+ [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern int gst_video_caption_type_from_caps(IntPtr caps);
+
+ public static Gst.Video.VideoCaptionType VideoCaptionTypeFromCaps(Gst.Caps caps) {
+ int raw_ret = gst_video_caption_type_from_caps(caps == null ? IntPtr.Zero : caps.Handle);
+ Gst.Video.VideoCaptionType ret = (Gst.Video.VideoCaptionType) raw_ret;
+ return ret;
+ }
+
+ [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_video_caption_type_to_caps(int type);
+
+ public static Gst.Caps VideoCaptionTypeToCaps(Gst.Video.VideoCaptionType type) {
+ IntPtr raw_ret = gst_video_caption_type_to_caps((int) type);
+ Gst.Caps ret = raw_ret == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Caps), true);
+ return ret;
+ }
+
+ [DllImport("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern int gst_video_color_matrix_from_iso(uint value);
+
+ public static Gst.Video.VideoColorMatrix VideoColorMatrixFromIso(uint value) {
+ int raw_ret = gst_video_color_matrix_from_iso(value);
+ Gst.Video.VideoColorMatrix ret = (Gst.Video.VideoColorMatrix) raw_ret;
+ return ret;
+ }
+
+ [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_video_color_matrix_get_Kr_Kb(int matrix, out double Kr, out double Kb);
+
+ public static bool VideoColorMatrixGetKrKb(Gst.Video.VideoColorMatrix matrix, out double Kr, out double Kb) {
+ bool raw_ret = gst_video_color_matrix_get_Kr_Kb((int) matrix, out Kr, out Kb);
+ bool ret = raw_ret;
+ return ret;
+ }
+
+ [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern uint gst_video_color_matrix_to_iso(int matrix);
+
+ public static uint VideoColorMatrixToIso(Gst.Video.VideoColorMatrix matrix) {
+ uint raw_ret = gst_video_color_matrix_to_iso((int) matrix);
+ uint ret = raw_ret;
+ return ret;
+ }
+
+ [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern int gst_video_color_primaries_from_iso(uint value);
+
+ public static Gst.Video.VideoColorPrimaries VideoColorPrimariesFromIso(uint value) {
+ int raw_ret = gst_video_color_primaries_from_iso(value);
+ Gst.Video.VideoColorPrimaries ret = (Gst.Video.VideoColorPrimaries) raw_ret;
+ return ret;
+ }
+
+ [DllImport("gstvideo-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("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern uint gst_video_color_primaries_to_iso(int primaries);
+
+ public static uint VideoColorPrimariesToIso(Gst.Video.VideoColorPrimaries primaries) {
+ uint raw_ret = gst_video_color_primaries_to_iso((int) primaries);
+ uint ret = raw_ret;
+ return ret;
+ }
+
+ [DllImport("gstvideo-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);
+ offset = new int[4];
+ scale = new int[4];
+ gst_video_color_range_offsets((int) range, native_info, out offset, out scale);
+ Marshal.FreeHGlobal (native_info);
+ }
+
+ [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern double gst_video_color_transfer_decode(int func, double val);
+
+ [Obsolete]
+ 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("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern double gst_video_color_transfer_encode(int func, double val);
+
+ [Obsolete]
+ 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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_video_event_parse_still_frame(IntPtr evnt, out bool in_still);
+
+ public static bool VideoEventParseStillFrame(Gst.Event evnt, out bool in_still) {
+ bool raw_ret = gst_video_event_parse_still_frame(evnt == null ? IntPtr.Zero : evnt.Handle, out in_still);
+ bool ret = raw_ret;
+ return ret;
+ }
+
+ [DllImport("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_video_make_raw_caps(int[] formats, uint len);
+
+ public static Gst.Caps VideoMakeRawCaps(Gst.Video.VideoFormat[] formats, uint len) {
+ int cnt_formats = formats == null ? 0 : formats.Length;
+ int[] native_formats = new int [cnt_formats];
+ for (int i = 0; i < cnt_formats; i++)
+ native_formats [i] = (int) formats[i];
+ IntPtr raw_ret = gst_video_make_raw_caps(native_formats, len);
+ 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 VideoMakeRawCaps(uint len) {
+ return VideoMakeRawCaps (null, len);
+ }
+
+ [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_video_make_raw_caps_with_features(int[] formats, uint len, IntPtr features);
+
+ public static Gst.Caps VideoMakeRawCapsWithFeatures(Gst.Video.VideoFormat[] formats, uint len, Gst.CapsFeatures features) {
+ int cnt_formats = formats == null ? 0 : formats.Length;
+ int[] native_formats = new int [cnt_formats];
+ for (int i = 0; i < cnt_formats; i++)
+ native_formats [i] = (int) formats[i];
+ IntPtr native_features = GLib.Marshaller.StructureToPtrAlloc (features);
+ IntPtr raw_ret = gst_video_make_raw_caps_with_features(native_formats, len, 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 static Gst.Caps VideoMakeRawCapsWithFeatures(uint len) {
+ return VideoMakeRawCapsWithFeatures (null, len, Gst.CapsFeatures.Zero);
+ }
+
+ [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_video_mastering_display_info_from_string(IntPtr minfo, IntPtr mastering);
+
+ public static bool VideoMasteringDisplayInfoFromString(out Gst.Video.VideoMasteringDisplayInfo minfo, string mastering) {
+ IntPtr native_minfo = Marshal.AllocHGlobal (Marshal.SizeOf (typeof (Gst.Video.VideoMasteringDisplayInfo)));
+ IntPtr native_mastering = GLib.Marshaller.StringToPtrGStrdup (mastering);
+ bool raw_ret = gst_video_mastering_display_info_from_string(native_minfo, native_mastering);
+ bool ret = raw_ret;
+ minfo = Gst.Video.VideoMasteringDisplayInfo.New (native_minfo);
+ Marshal.FreeHGlobal (native_minfo);
+ GLib.Marshaller.Free (native_mastering);
+ return ret;
+ }
+
+ [DllImport("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_video_overlay_set_property(IntPtr _object, int last_prop_id, uint property_id, IntPtr value);
+
+ public static bool VideoOverlaySetProperty(GLib.Object _object, int last_prop_id, uint property_id, GLib.Value value) {
+ IntPtr native_value = GLib.Marshaller.StructureToPtrAlloc (value);
+ bool raw_ret = gst_video_overlay_set_property(_object == null ? IntPtr.Zero : _object.Handle, last_prop_id, property_id, native_value);
+ bool ret = raw_ret;
+ Marshal.FreeHGlobal (native_value);
+ return ret;
+ }
+
+ [DllImport("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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;
+ }
+
+ [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern double gst_video_transfer_function_decode(int func, double val);
+
+ public static double VideoTransferFunctionDecode(Gst.Video.VideoTransferFunction func, double val) {
+ double raw_ret = gst_video_transfer_function_decode((int) func, val);
+ double ret = raw_ret;
+ return ret;
+ }
+
+ [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern double gst_video_transfer_function_encode(int func, double val);
+
+ public static double VideoTransferFunctionEncode(Gst.Video.VideoTransferFunction func, double val) {
+ double raw_ret = gst_video_transfer_function_encode((int) func, val);
+ double ret = raw_ret;
+ return ret;
+ }
+
+ [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern int gst_video_transfer_function_from_iso(uint value);
+
+ public static Gst.Video.VideoTransferFunction VideoTransferFunctionFromIso(uint value) {
+ int raw_ret = gst_video_transfer_function_from_iso(value);
+ Gst.Video.VideoTransferFunction ret = (Gst.Video.VideoTransferFunction) raw_ret;
+ return ret;
+ }
+
+ [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_video_transfer_function_is_equivalent(int from_func, uint from_bpp, int to_func, uint to_bpp);
+
+ public static bool VideoTransferFunctionIsEquivalent(Gst.Video.VideoTransferFunction from_func, uint from_bpp, Gst.Video.VideoTransferFunction to_func, uint to_bpp) {
+ bool raw_ret = gst_video_transfer_function_is_equivalent((int) from_func, from_bpp, (int) to_func, to_bpp);
+ bool ret = raw_ret;
+ return ret;
+ }
+
+ [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern uint gst_video_transfer_function_to_iso(int func);
+
+ public static uint VideoTransferFunctionToIso(Gst.Video.VideoTransferFunction func) {
+ uint raw_ret = gst_video_transfer_function_to_iso((int) func);
+ uint ret = raw_ret;
+ return ret;
+ }
+
+#endregion
+ }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.Video/Gst.VideoSharp.VideoAffineTransformationGetMatrixNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/Gst.VideoSharp.VideoAffineTransformationGetMatrixNative.cs
new file mode 100644
index 0000000000..ab2e7eaa4a
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/Gst.VideoSharp.VideoAffineTransformationGetMatrixNative.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.Video/Gst.VideoSharp.VideoConvertSampleCallbackNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/Gst.VideoSharp.VideoConvertSampleCallbackNative.cs
new file mode 100644
index 0000000000..7373845b93
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/Gst.VideoSharp.VideoConvertSampleCallbackNative.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.Video/Gst.VideoSharp.VideoFormatPackNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/Gst.VideoSharp.VideoFormatPackNative.cs
new file mode 100644
index 0000000000..78c39078c5
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/Gst.VideoSharp.VideoFormatPackNative.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.Video/Gst.VideoSharp.VideoFormatUnpackNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/Gst.VideoSharp.VideoFormatUnpackNative.cs
new file mode 100644
index 0000000000..8122bb26d1
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/Gst.VideoSharp.VideoFormatUnpackNative.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.Video/Gst.VideoSharp.VideoGLTextureUploadNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/Gst.VideoSharp.VideoGLTextureUploadNative.cs
new file mode 100644
index 0000000000..7dec19460e
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/Gst.VideoSharp.VideoGLTextureUploadNative.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.Video/IColorBalance.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/IColorBalance.cs
new file mode 100644
index 0000000000..15fa9b9062
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/IColorBalance.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.Video/INavigation.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/INavigation.cs
new file mode 100644
index 0000000000..8616d47b60
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/INavigation.cs
@@ -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;
+
+#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);
+ void SendMouseScrollEvent(double x, double y, double delta_x, double delta_y);
+ }
+
+ [GLib.GInterface (typeof (NavigationAdapter))]
+ public partial interface INavigationImplementor : GLib.IWrapper {
+
+ void SendEvent (Gst.Structure structure);
+ }
+#endregion
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.Video/IVideoDirection.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/IVideoDirection.cs
new file mode 100644
index 0000000000..273b6ded23
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/IVideoDirection.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.Video/IVideoOrientation.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/IVideoOrientation.cs
new file mode 100644
index 0000000000..5b5cd1ec44
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/IVideoOrientation.cs
@@ -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(out int center);
+ bool GetHflip(out bool flip);
+ bool GetVcenter(out int center);
+ bool GetVflip(out 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 (out bool flip);
+ bool GetVflip (out bool flip);
+ bool GetHcenter (out int center);
+ bool GetVcenter (out int center);
+ bool SetHflip (bool flip);
+ bool SetVflip (bool flip);
+ bool SetHcenter (int center);
+ bool SetVcenter (int center);
+ }
+#endregion
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.Video/IVideoOverlay.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/IVideoOverlay.cs
new file mode 100644
index 0000000000..3347cb8957
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/IVideoOverlay.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.Video/NavigationAdapter.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/NavigationAdapter.cs
new file mode 100644
index 0000000000..5dee4be959
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/NavigationAdapter.cs
@@ -0,0 +1,373 @@
+// 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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_navigation_event_parse_mouse_scroll_event(IntPtr evnt, out double x, out double y, out double delta_x, out double delta_y);
+
+ public static bool EventParseMouseScrollEvent(Gst.Event evnt, out double x, out double y, out double delta_x, out double delta_y) {
+ bool raw_ret = gst_navigation_event_parse_mouse_scroll_event(evnt == null ? IntPtr.Zero : evnt.Handle, out x, out y, out delta_x, out delta_y);
+ bool ret = raw_ret;
+ return ret;
+ }
+
+ [DllImport("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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);
+ }
+
+ [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern void gst_navigation_send_mouse_scroll_event(IntPtr raw, double x, double y, double delta_x, double delta_y);
+
+ public void SendMouseScrollEvent(double x, double y, double delta_x, double delta_y) {
+ gst_navigation_send_mouse_scroll_event(Handle, x, y, delta_x, delta_y);
+ }
+
+#endregion
+ }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.Video/NavigationCommand.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/NavigationCommand.cs
new file mode 100644
index 0000000000..ff329f95df
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/NavigationCommand.cs
@@ -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 ("gstvideo-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/subprojects/gstreamer-sharp/sources/generated/Gst.Video/NavigationEventType.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/NavigationEventType.cs
new file mode 100644
index 0000000000..2047aaa4b6
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/NavigationEventType.cs
@@ -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
+ [GLib.GType (typeof (Gst.Video.NavigationEventTypeGType))]
+ public enum NavigationEventType {
+
+ Invalid = 0,
+ KeyPress = 1,
+ KeyRelease = 2,
+ MouseButtonPress = 3,
+ MouseButtonRelease = 4,
+ MouseMove = 5,
+ Command = 6,
+ MouseScroll = 7,
+ }
+
+ internal class NavigationEventTypeGType {
+ [DllImport ("gstvideo-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/subprojects/gstreamer-sharp/sources/generated/Gst.Video/NavigationMessageType.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/NavigationMessageType.cs
new file mode 100644
index 0000000000..22b7884aea
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/NavigationMessageType.cs
@@ -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 ("gstvideo-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/subprojects/gstreamer-sharp/sources/generated/Gst.Video/NavigationQueryType.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/NavigationQueryType.cs
new file mode 100644
index 0000000000..a8854f5439
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/NavigationQueryType.cs
@@ -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 ("gstvideo-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/subprojects/gstreamer-sharp/sources/generated/Gst.Video/ValueChangedEventHandler.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/ValueChangedEventHandler.cs
new file mode 100644
index 0000000000..1570062082
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/ValueChangedEventHandler.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.Video/ValueChangedHandler.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/ValueChangedHandler.cs
new file mode 100644
index 0000000000..6f0fbcfd90
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/ValueChangedHandler.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoAFDMeta.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoAFDMeta.cs
new file mode 100644
index 0000000000..3f6eeeac29
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoAFDMeta.cs
@@ -0,0 +1,59 @@
+// 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 VideoAFDMeta : IEquatable<VideoAFDMeta> {
+
+ public Gst.Meta Meta;
+ public byte Field;
+ public Gst.Video.VideoAFDSpec Spec;
+ public Gst.Video.VideoAFDValue Afd;
+
+ public static Gst.Video.VideoAFDMeta Zero = new Gst.Video.VideoAFDMeta ();
+
+ public static Gst.Video.VideoAFDMeta New(IntPtr raw) {
+ if (raw == IntPtr.Zero)
+ return Gst.Video.VideoAFDMeta.Zero;
+ return (Gst.Video.VideoAFDMeta) Marshal.PtrToStructure (raw, typeof (Gst.Video.VideoAFDMeta));
+ }
+
+ [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_video_afd_meta_get_info();
+
+ public static Gst.MetaInfo Info {
+ get {
+ IntPtr raw_ret = gst_video_afd_meta_get_info();
+ Gst.MetaInfo ret = Gst.MetaInfo.New (raw_ret);
+ return ret;
+ }
+ }
+
+ public bool Equals (VideoAFDMeta other)
+ {
+ return true && Meta.Equals (other.Meta) && Field.Equals (other.Field) && Spec.Equals (other.Spec) && Afd.Equals (other.Afd);
+ }
+
+ public override bool Equals (object other)
+ {
+ return other is VideoAFDMeta && Equals ((VideoAFDMeta) other);
+ }
+
+ public override int GetHashCode ()
+ {
+ return this.GetType ().FullName.GetHashCode () ^ Meta.GetHashCode () ^ Field.GetHashCode () ^ Spec.GetHashCode () ^ Afd.GetHashCode ();
+ }
+
+ private static GLib.GType GType {
+ get { return GLib.GType.Pointer; }
+ }
+#endregion
+ }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoAFDSpec.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoAFDSpec.cs
new file mode 100644
index 0000000000..7815162970
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoAFDSpec.cs
@@ -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.VideoAFDSpecGType))]
+ public enum VideoAFDSpec {
+
+ DvbEtsi = 0,
+ AtscA53 = 1,
+ SmpteSt20161 = 2,
+ }
+
+ internal class VideoAFDSpecGType {
+ [DllImport ("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_video_afd_spec_get_type ();
+
+ public static GLib.GType GType {
+ get {
+ return new GLib.GType (gst_video_afd_spec_get_type ());
+ }
+ }
+ }
+#endregion
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoAFDValue.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoAFDValue.cs
new file mode 100644
index 0000000000..6a1a388616
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoAFDValue.cs
@@ -0,0 +1,37 @@
+// 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.VideoAFDValueGType))]
+ public enum VideoAFDValue {
+
+ Unavailable = 0,
+ _16169TopAligned = 2,
+ _14149TopAligned = 3,
+ GreaterThan169 = 4,
+ _443Full169Full = 8,
+ _443Full43Pillar = 9,
+ _16169Letter169Full = 10,
+ _14149Letter149Pillar = 11,
+ _443Full149Center = 13,
+ _16169Letter149Center = 14,
+ _16169Letter43Center = 15,
+ }
+
+ internal class VideoAFDValueGType {
+ [DllImport ("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_video_afd_value_get_type ();
+
+ public static GLib.GType GType {
+ get {
+ return new GLib.GType (gst_video_afd_value_get_type ());
+ }
+ }
+ }
+#endregion
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoAffineTransformationGetMatrix.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoAffineTransformationGetMatrix.cs
new file mode 100644
index 0000000000..449dcf9ee0
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoAffineTransformationGetMatrix.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoAffineTransformationMeta.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoAffineTransformationMeta.cs
new file mode 100644
index 0000000000..001fd0fe4d
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoAffineTransformationMeta.cs
@@ -0,0 +1,75 @@
+// 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("gstvideo-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);
+ matrix = new float[16];
+ 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("gstvideo-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/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoAggregator.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoAggregator.cs
new file mode 100644
index 0000000000..d2bea063e2
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoAggregator.cs
@@ -0,0 +1,371 @@
+// 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 VideoAggregator : Gst.Base.Aggregator {
+
+ protected VideoAggregator (IntPtr raw) : base(raw) {}
+
+ protected VideoAggregator() : base(IntPtr.Zero)
+ {
+ CreateNativeObject (new string [0], new GLib.Value [0]);
+ }
+
+ public Gst.Video.VideoInfo Info {
+ get {
+ unsafe {
+ IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("info"));
+ return (*raw_ptr) == IntPtr.Zero ? null : (Gst.Video.VideoInfo) GLib.Opaque.GetOpaque ((*raw_ptr), typeof (Gst.Video.VideoInfo), false);
+ }
+ }
+ }
+
+ static UpdateCapsNativeDelegate UpdateCaps_cb_delegate;
+ static UpdateCapsNativeDelegate UpdateCapsVMCallback {
+ get {
+ if (UpdateCaps_cb_delegate == null)
+ UpdateCaps_cb_delegate = new UpdateCapsNativeDelegate (UpdateCaps_cb);
+ return UpdateCaps_cb_delegate;
+ }
+ }
+
+ static void OverrideUpdateCaps (GLib.GType gtype)
+ {
+ OverrideUpdateCaps (gtype, UpdateCapsVMCallback);
+ }
+
+ static void OverrideUpdateCaps (GLib.GType gtype, UpdateCapsNativeDelegate callback)
+ {
+ unsafe {
+ IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("update_caps"));
+ *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+ }
+ }
+
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ delegate IntPtr UpdateCapsNativeDelegate (IntPtr inst, IntPtr caps);
+
+ static IntPtr UpdateCaps_cb (IntPtr inst, IntPtr caps)
+ {
+ try {
+ VideoAggregator __obj = GLib.Object.GetObject (inst, false) as VideoAggregator;
+ Gst.Caps __result;
+ __result = __obj.OnUpdateCaps (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.Video.VideoAggregator), ConnectionMethod="OverrideUpdateCaps")]
+ protected virtual Gst.Caps OnUpdateCaps (Gst.Caps caps)
+ {
+ return InternalUpdateCaps (caps);
+ }
+
+ private Gst.Caps InternalUpdateCaps (Gst.Caps caps)
+ {
+ UpdateCapsNativeDelegate unmanaged = null;
+ unsafe {
+ IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("update_caps"));
+ unmanaged = (UpdateCapsNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(UpdateCapsNativeDelegate));
+ }
+ 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 AggregateFramesNativeDelegate AggregateFrames_cb_delegate;
+ static AggregateFramesNativeDelegate AggregateFramesVMCallback {
+ get {
+ if (AggregateFrames_cb_delegate == null)
+ AggregateFrames_cb_delegate = new AggregateFramesNativeDelegate (AggregateFrames_cb);
+ return AggregateFrames_cb_delegate;
+ }
+ }
+
+ static void OverrideAggregateFrames (GLib.GType gtype)
+ {
+ OverrideAggregateFrames (gtype, AggregateFramesVMCallback);
+ }
+
+ static void OverrideAggregateFrames (GLib.GType gtype, AggregateFramesNativeDelegate callback)
+ {
+ unsafe {
+ IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("aggregate_frames"));
+ *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+ }
+ }
+
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ delegate int AggregateFramesNativeDelegate (IntPtr inst, IntPtr outbuffer);
+
+ static int AggregateFrames_cb (IntPtr inst, IntPtr outbuffer)
+ {
+ try {
+ VideoAggregator __obj = GLib.Object.GetObject (inst, false) as VideoAggregator;
+ Gst.FlowReturn __result;
+ __result = __obj.OnAggregateFrames (outbuffer == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (outbuffer, 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.VideoAggregator), ConnectionMethod="OverrideAggregateFrames")]
+ protected virtual Gst.FlowReturn OnAggregateFrames (Gst.Buffer outbuffer)
+ {
+ return InternalAggregateFrames (outbuffer);
+ }
+
+ private Gst.FlowReturn InternalAggregateFrames (Gst.Buffer outbuffer)
+ {
+ AggregateFramesNativeDelegate unmanaged = null;
+ unsafe {
+ IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("aggregate_frames"));
+ unmanaged = (AggregateFramesNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(AggregateFramesNativeDelegate));
+ }
+ if (unmanaged == null) return (Gst.FlowReturn) 0;
+
+ int __result = unmanaged (this.Handle, outbuffer == null ? IntPtr.Zero : outbuffer.Handle);
+ return (Gst.FlowReturn) __result;
+ }
+
+ static CreateOutputBufferNativeDelegate CreateOutputBuffer_cb_delegate;
+ static CreateOutputBufferNativeDelegate CreateOutputBufferVMCallback {
+ get {
+ if (CreateOutputBuffer_cb_delegate == null)
+ CreateOutputBuffer_cb_delegate = new CreateOutputBufferNativeDelegate (CreateOutputBuffer_cb);
+ return CreateOutputBuffer_cb_delegate;
+ }
+ }
+
+ static void OverrideCreateOutputBuffer (GLib.GType gtype)
+ {
+ OverrideCreateOutputBuffer (gtype, CreateOutputBufferVMCallback);
+ }
+
+ static void OverrideCreateOutputBuffer (GLib.GType gtype, CreateOutputBufferNativeDelegate callback)
+ {
+ unsafe {
+ IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("create_output_buffer"));
+ *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+ }
+ }
+
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ delegate int CreateOutputBufferNativeDelegate (IntPtr inst, IntPtr outbuffer);
+
+ static int CreateOutputBuffer_cb (IntPtr inst, IntPtr outbuffer)
+ {
+ try {
+ VideoAggregator __obj = GLib.Object.GetObject (inst, false) as VideoAggregator;
+ Gst.FlowReturn __result;
+ __result = __obj.OnCreateOutputBuffer (outbuffer == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (outbuffer, 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.VideoAggregator), ConnectionMethod="OverrideCreateOutputBuffer")]
+ protected virtual Gst.FlowReturn OnCreateOutputBuffer (Gst.Buffer outbuffer)
+ {
+ return InternalCreateOutputBuffer (outbuffer);
+ }
+
+ private Gst.FlowReturn InternalCreateOutputBuffer (Gst.Buffer outbuffer)
+ {
+ CreateOutputBufferNativeDelegate unmanaged = null;
+ unsafe {
+ IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("create_output_buffer"));
+ unmanaged = (CreateOutputBufferNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(CreateOutputBufferNativeDelegate));
+ }
+ if (unmanaged == null) return (Gst.FlowReturn) 0;
+
+ int __result = unmanaged (this.Handle, outbuffer == null ? IntPtr.Zero : outbuffer.Handle);
+ return (Gst.FlowReturn) __result;
+ }
+
+ static FindBestFormatNativeDelegate FindBestFormat_cb_delegate;
+ static FindBestFormatNativeDelegate FindBestFormatVMCallback {
+ get {
+ if (FindBestFormat_cb_delegate == null)
+ FindBestFormat_cb_delegate = new FindBestFormatNativeDelegate (FindBestFormat_cb);
+ return FindBestFormat_cb_delegate;
+ }
+ }
+
+ static void OverrideFindBestFormat (GLib.GType gtype)
+ {
+ OverrideFindBestFormat (gtype, FindBestFormatVMCallback);
+ }
+
+ static void OverrideFindBestFormat (GLib.GType gtype, FindBestFormatNativeDelegate callback)
+ {
+ unsafe {
+ IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("find_best_format"));
+ *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+ }
+ }
+
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ delegate void FindBestFormatNativeDelegate (IntPtr inst, IntPtr downstream_caps, IntPtr best_info, bool at_least_one_alpha);
+
+ static void FindBestFormat_cb (IntPtr inst, IntPtr downstream_caps, IntPtr best_info, bool at_least_one_alpha)
+ {
+ try {
+ VideoAggregator __obj = GLib.Object.GetObject (inst, false) as VideoAggregator;
+ __obj.OnFindBestFormat (downstream_caps == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (downstream_caps, typeof (Gst.Caps), false), best_info == IntPtr.Zero ? null : (Gst.Video.VideoInfo) GLib.Opaque.GetOpaque (best_info, typeof (Gst.Video.VideoInfo), false), at_least_one_alpha);
+ } catch (Exception e) {
+ GLib.ExceptionManager.RaiseUnhandledException (e, false);
+ }
+ }
+
+ [GLib.DefaultSignalHandler(Type=typeof(Gst.Video.VideoAggregator), ConnectionMethod="OverrideFindBestFormat")]
+ protected virtual void OnFindBestFormat (Gst.Caps downstream_caps, Gst.Video.VideoInfo best_info, bool at_least_one_alpha)
+ {
+ InternalFindBestFormat (downstream_caps, best_info, at_least_one_alpha);
+ }
+
+ private void InternalFindBestFormat (Gst.Caps downstream_caps, Gst.Video.VideoInfo best_info, bool at_least_one_alpha)
+ {
+ FindBestFormatNativeDelegate unmanaged = null;
+ unsafe {
+ IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("find_best_format"));
+ unmanaged = (FindBestFormatNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(FindBestFormatNativeDelegate));
+ }
+ if (unmanaged == null) return;
+
+ unmanaged (this.Handle, downstream_caps == null ? IntPtr.Zero : downstream_caps.Handle, best_info == null ? IntPtr.Zero : best_info.Handle, at_least_one_alpha);
+ }
+
+
+ // 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("update_caps"
+ , Gst.Base.Aggregator.class_abi.Fields
+ , (uint) Marshal.SizeOf(typeof(IntPtr)) // update_caps
+ , null
+ , "aggregate_frames"
+ , (uint) Marshal.SizeOf(typeof(IntPtr))
+ , 0
+ ),
+ new GLib.AbiField("aggregate_frames"
+ , -1
+ , (uint) Marshal.SizeOf(typeof(IntPtr)) // aggregate_frames
+ , "update_caps"
+ , "create_output_buffer"
+ , (uint) Marshal.SizeOf(typeof(IntPtr))
+ , 0
+ ),
+ new GLib.AbiField("create_output_buffer"
+ , -1
+ , (uint) Marshal.SizeOf(typeof(IntPtr)) // create_output_buffer
+ , "aggregate_frames"
+ , "find_best_format"
+ , (uint) Marshal.SizeOf(typeof(IntPtr))
+ , 0
+ ),
+ new GLib.AbiField("find_best_format"
+ , -1
+ , (uint) Marshal.SizeOf(typeof(IntPtr)) // find_best_format
+ , "create_output_buffer"
+ , "_gst_reserved"
+ , (uint) Marshal.SizeOf(typeof(IntPtr))
+ , 0
+ ),
+ new GLib.AbiField("_gst_reserved"
+ , -1
+ , (uint) Marshal.SizeOf(typeof(IntPtr)) * 20 // _gst_reserved
+ , "find_best_format"
+ , null
+ , (uint) Marshal.SizeOf(typeof(IntPtr))
+ , 0
+ ),
+ });
+
+ return _class_abi;
+ }
+ }
+
+
+ // End of the ABI representation.
+
+ [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_video_aggregator_get_type();
+
+ public static new GLib.GType GType {
+ get {
+ IntPtr raw_ret = gst_video_aggregator_get_type();
+ GLib.GType ret = new GLib.GType(raw_ret);
+ return ret;
+ }
+ }
+
+
+ static VideoAggregator ()
+ {
+ 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.Aggregator.abi_info.Fields
+ , Gst.Video.VideoInfo.abi_info.Size // info
+ , null
+ , "priv"
+ , Gst.Video.VideoInfo.abi_info.Align
+ , 0
+ ),
+ new GLib.AbiField("priv"
+ , -1
+ , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
+ , "info"
+ , "_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;
+ }
+ }
+
+
+ // End of the ABI representation.
+
+#endregion
+ }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoAggregatorConvertPad.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoAggregatorConvertPad.cs
new file mode 100644
index 0000000000..2da5636e0c
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoAggregatorConvertPad.cs
@@ -0,0 +1,178 @@
+// 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 VideoAggregatorConvertPad : Gst.Video.VideoAggregatorPad {
+
+ public VideoAggregatorConvertPad (IntPtr raw) : base(raw) {}
+
+ protected VideoAggregatorConvertPad() : base(IntPtr.Zero)
+ {
+ CreateNativeObject (new string [0], new GLib.Value [0]);
+ }
+
+ [GLib.Property ("converter-config")]
+ public Gst.Structure ConverterConfig {
+ get {
+ GLib.Value val = GetProperty ("converter-config");
+ Gst.Structure ret = (Gst.Structure) val;
+ val.Dispose ();
+ return ret;
+ }
+ set {
+ GLib.Value val = new GLib.Value(value, "GstStructure*");
+ SetProperty("converter-config", val);
+ val.Dispose ();
+ }
+ }
+
+ static CreateConversionInfoNativeDelegate CreateConversionInfo_cb_delegate;
+ static CreateConversionInfoNativeDelegate CreateConversionInfoVMCallback {
+ get {
+ if (CreateConversionInfo_cb_delegate == null)
+ CreateConversionInfo_cb_delegate = new CreateConversionInfoNativeDelegate (CreateConversionInfo_cb);
+ return CreateConversionInfo_cb_delegate;
+ }
+ }
+
+ static void OverrideCreateConversionInfo (GLib.GType gtype)
+ {
+ OverrideCreateConversionInfo (gtype, CreateConversionInfoVMCallback);
+ }
+
+ static void OverrideCreateConversionInfo (GLib.GType gtype, CreateConversionInfoNativeDelegate callback)
+ {
+ unsafe {
+ IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("create_conversion_info"));
+ *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+ }
+ }
+
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ delegate void CreateConversionInfoNativeDelegate (IntPtr inst, IntPtr agg, IntPtr conversion_info);
+
+ static void CreateConversionInfo_cb (IntPtr inst, IntPtr agg, IntPtr conversion_info)
+ {
+ try {
+ VideoAggregatorConvertPad __obj = GLib.Object.GetObject (inst, false) as VideoAggregatorConvertPad;
+ __obj.OnCreateConversionInfo (GLib.Object.GetObject(agg) as Gst.Video.VideoAggregator, conversion_info == IntPtr.Zero ? null : (Gst.Video.VideoInfo) GLib.Opaque.GetOpaque (conversion_info, typeof (Gst.Video.VideoInfo), false));
+ } catch (Exception e) {
+ GLib.ExceptionManager.RaiseUnhandledException (e, false);
+ }
+ }
+
+ [GLib.DefaultSignalHandler(Type=typeof(Gst.Video.VideoAggregatorConvertPad), ConnectionMethod="OverrideCreateConversionInfo")]
+ protected virtual void OnCreateConversionInfo (Gst.Video.VideoAggregator agg, Gst.Video.VideoInfo conversion_info)
+ {
+ InternalCreateConversionInfo (agg, conversion_info);
+ }
+
+ private void InternalCreateConversionInfo (Gst.Video.VideoAggregator agg, Gst.Video.VideoInfo conversion_info)
+ {
+ CreateConversionInfoNativeDelegate unmanaged = null;
+ unsafe {
+ IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("create_conversion_info"));
+ unmanaged = (CreateConversionInfoNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(CreateConversionInfoNativeDelegate));
+ }
+ if (unmanaged == null) return;
+
+ unmanaged (this.Handle, agg == null ? IntPtr.Zero : agg.Handle, conversion_info == null ? IntPtr.Zero : conversion_info.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("create_conversion_info"
+ , Gst.Video.VideoAggregatorPad.class_abi.Fields
+ , (uint) Marshal.SizeOf(typeof(IntPtr)) // create_conversion_info
+ , null
+ , "_gst_reserved"
+ , (uint) Marshal.SizeOf(typeof(IntPtr))
+ , 0
+ ),
+ new GLib.AbiField("_gst_reserved"
+ , -1
+ , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
+ , "create_conversion_info"
+ , null
+ , (uint) Marshal.SizeOf(typeof(IntPtr))
+ , 0
+ ),
+ });
+
+ return _class_abi;
+ }
+ }
+
+
+ // End of the ABI representation.
+
+ [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_video_aggregator_convert_pad_get_type();
+
+ public static new GLib.GType GType {
+ get {
+ IntPtr raw_ret = gst_video_aggregator_convert_pad_get_type();
+ GLib.GType ret = new GLib.GType(raw_ret);
+ return ret;
+ }
+ }
+
+ [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern void gst_video_aggregator_convert_pad_update_conversion_info(IntPtr raw);
+
+ public void UpdateConversionInfo() {
+ gst_video_aggregator_convert_pad_update_conversion_info(Handle);
+ }
+
+
+ static VideoAggregatorConvertPad ()
+ {
+ 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.Video.VideoAggregatorPad.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/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoAggregatorPad.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoAggregatorPad.cs
new file mode 100644
index 0000000000..10e9ed2607
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoAggregatorPad.cs
@@ -0,0 +1,391 @@
+// 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 VideoAggregatorPad : Gst.Base.AggregatorPad {
+
+ public VideoAggregatorPad (IntPtr raw) : base(raw) {}
+
+ protected VideoAggregatorPad() : base(IntPtr.Zero)
+ {
+ CreateNativeObject (new string [0], new GLib.Value [0]);
+ }
+
+ [GLib.Property ("max-last-buffer-repeat")]
+ public ulong MaxLastBufferRepeat {
+ get {
+ GLib.Value val = GetProperty ("max-last-buffer-repeat");
+ ulong ret = (ulong) val;
+ val.Dispose ();
+ return ret;
+ }
+ set {
+ GLib.Value val = new GLib.Value(value);
+ SetProperty("max-last-buffer-repeat", val);
+ val.Dispose ();
+ }
+ }
+
+ [GLib.Property ("repeat-after-eos")]
+ public bool RepeatAfterEos {
+ get {
+ GLib.Value val = GetProperty ("repeat-after-eos");
+ bool ret = (bool) val;
+ val.Dispose ();
+ return ret;
+ }
+ set {
+ GLib.Value val = new GLib.Value(value);
+ SetProperty("repeat-after-eos", val);
+ val.Dispose ();
+ }
+ }
+
+ [GLib.Property ("zorder")]
+ public uint Zorder {
+ get {
+ GLib.Value val = GetProperty ("zorder");
+ uint ret = (uint) val;
+ val.Dispose ();
+ return ret;
+ }
+ set {
+ GLib.Value val = new GLib.Value(value);
+ SetProperty("zorder", val);
+ val.Dispose ();
+ }
+ }
+
+ public Gst.Video.VideoInfo Info {
+ get {
+ unsafe {
+ IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("info"));
+ return (*raw_ptr) == IntPtr.Zero ? null : (Gst.Video.VideoInfo) GLib.Opaque.GetOpaque ((*raw_ptr), typeof (Gst.Video.VideoInfo), false);
+ }
+ }
+ }
+
+ static UpdateConversionInfoNativeDelegate UpdateConversionInfo_cb_delegate;
+ static UpdateConversionInfoNativeDelegate UpdateConversionInfoVMCallback {
+ get {
+ if (UpdateConversionInfo_cb_delegate == null)
+ UpdateConversionInfo_cb_delegate = new UpdateConversionInfoNativeDelegate (UpdateConversionInfo_cb);
+ return UpdateConversionInfo_cb_delegate;
+ }
+ }
+
+ static void OverrideUpdateConversionInfo (GLib.GType gtype)
+ {
+ OverrideUpdateConversionInfo (gtype, UpdateConversionInfoVMCallback);
+ }
+
+ static void OverrideUpdateConversionInfo (GLib.GType gtype, UpdateConversionInfoNativeDelegate callback)
+ {
+ unsafe {
+ IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("update_conversion_info"));
+ *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+ }
+ }
+
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ delegate void UpdateConversionInfoNativeDelegate (IntPtr inst);
+
+ static void UpdateConversionInfo_cb (IntPtr inst)
+ {
+ try {
+ VideoAggregatorPad __obj = GLib.Object.GetObject (inst, false) as VideoAggregatorPad;
+ __obj.OnUpdateConversionInfo ();
+ } catch (Exception e) {
+ GLib.ExceptionManager.RaiseUnhandledException (e, false);
+ }
+ }
+
+ [GLib.DefaultSignalHandler(Type=typeof(Gst.Video.VideoAggregatorPad), ConnectionMethod="OverrideUpdateConversionInfo")]
+ protected virtual void OnUpdateConversionInfo ()
+ {
+ InternalUpdateConversionInfo ();
+ }
+
+ private void InternalUpdateConversionInfo ()
+ {
+ UpdateConversionInfoNativeDelegate unmanaged = null;
+ unsafe {
+ IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("update_conversion_info"));
+ unmanaged = (UpdateConversionInfoNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(UpdateConversionInfoNativeDelegate));
+ }
+ if (unmanaged == null) return;
+
+ unmanaged (this.Handle);
+ }
+
+ static PrepareFrameNativeDelegate PrepareFrame_cb_delegate;
+ static PrepareFrameNativeDelegate PrepareFrameVMCallback {
+ get {
+ if (PrepareFrame_cb_delegate == null)
+ PrepareFrame_cb_delegate = new PrepareFrameNativeDelegate (PrepareFrame_cb);
+ return PrepareFrame_cb_delegate;
+ }
+ }
+
+ static void OverridePrepareFrame (GLib.GType gtype)
+ {
+ OverridePrepareFrame (gtype, PrepareFrameVMCallback);
+ }
+
+ static void OverridePrepareFrame (GLib.GType gtype, PrepareFrameNativeDelegate callback)
+ {
+ unsafe {
+ IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("prepare_frame"));
+ *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+ }
+ }
+
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ delegate bool PrepareFrameNativeDelegate (IntPtr inst, IntPtr videoaggregator, IntPtr buffer, IntPtr prepared_frame);
+
+ static bool PrepareFrame_cb (IntPtr inst, IntPtr videoaggregator, IntPtr buffer, IntPtr prepared_frame)
+ {
+ try {
+ VideoAggregatorPad __obj = GLib.Object.GetObject (inst, false) as VideoAggregatorPad;
+ bool __result;
+ __result = __obj.OnPrepareFrame (GLib.Object.GetObject(videoaggregator) as Gst.Video.VideoAggregator, buffer == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (buffer, typeof (Gst.Buffer), false), Gst.Video.VideoFrame.New (prepared_frame));
+ return __result;
+ } catch (Exception e) {
+ GLib.ExceptionManager.RaiseUnhandledException (e, true);
+ // NOTREACHED: above call does not return.
+ throw e;
+ }
+ }
+
+ [GLib.DefaultSignalHandler(Type=typeof(Gst.Video.VideoAggregatorPad), ConnectionMethod="OverridePrepareFrame")]
+ protected virtual bool OnPrepareFrame (Gst.Video.VideoAggregator videoaggregator, Gst.Buffer buffer, Gst.Video.VideoFrame prepared_frame)
+ {
+ return InternalPrepareFrame (videoaggregator, buffer, prepared_frame);
+ }
+
+ private bool InternalPrepareFrame (Gst.Video.VideoAggregator videoaggregator, Gst.Buffer buffer, Gst.Video.VideoFrame prepared_frame)
+ {
+ PrepareFrameNativeDelegate unmanaged = null;
+ unsafe {
+ IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("prepare_frame"));
+ unmanaged = (PrepareFrameNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(PrepareFrameNativeDelegate));
+ }
+ if (unmanaged == null) return false;
+
+ IntPtr native_prepared_frame = GLib.Marshaller.StructureToPtrAlloc (prepared_frame);
+ bool __result = unmanaged (this.Handle, videoaggregator == null ? IntPtr.Zero : videoaggregator.Handle, buffer == null ? IntPtr.Zero : buffer.Handle, native_prepared_frame);
+ Marshal.FreeHGlobal (native_prepared_frame);
+ return __result;
+ }
+
+ static CleanFrameNativeDelegate CleanFrame_cb_delegate;
+ static CleanFrameNativeDelegate CleanFrameVMCallback {
+ get {
+ if (CleanFrame_cb_delegate == null)
+ CleanFrame_cb_delegate = new CleanFrameNativeDelegate (CleanFrame_cb);
+ return CleanFrame_cb_delegate;
+ }
+ }
+
+ static void OverrideCleanFrame (GLib.GType gtype)
+ {
+ OverrideCleanFrame (gtype, CleanFrameVMCallback);
+ }
+
+ static void OverrideCleanFrame (GLib.GType gtype, CleanFrameNativeDelegate callback)
+ {
+ unsafe {
+ IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("clean_frame"));
+ *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+ }
+ }
+
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ delegate void CleanFrameNativeDelegate (IntPtr inst, IntPtr videoaggregator, IntPtr prepared_frame);
+
+ static void CleanFrame_cb (IntPtr inst, IntPtr videoaggregator, IntPtr prepared_frame)
+ {
+ try {
+ VideoAggregatorPad __obj = GLib.Object.GetObject (inst, false) as VideoAggregatorPad;
+ __obj.OnCleanFrame (GLib.Object.GetObject(videoaggregator) as Gst.Video.VideoAggregator, Gst.Video.VideoFrame.New (prepared_frame));
+ } catch (Exception e) {
+ GLib.ExceptionManager.RaiseUnhandledException (e, false);
+ }
+ }
+
+ [GLib.DefaultSignalHandler(Type=typeof(Gst.Video.VideoAggregatorPad), ConnectionMethod="OverrideCleanFrame")]
+ protected virtual void OnCleanFrame (Gst.Video.VideoAggregator videoaggregator, Gst.Video.VideoFrame prepared_frame)
+ {
+ InternalCleanFrame (videoaggregator, prepared_frame);
+ }
+
+ private void InternalCleanFrame (Gst.Video.VideoAggregator videoaggregator, Gst.Video.VideoFrame prepared_frame)
+ {
+ CleanFrameNativeDelegate unmanaged = null;
+ unsafe {
+ IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("clean_frame"));
+ unmanaged = (CleanFrameNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(CleanFrameNativeDelegate));
+ }
+ if (unmanaged == null) return;
+
+ IntPtr native_prepared_frame = GLib.Marshaller.StructureToPtrAlloc (prepared_frame);
+ unmanaged (this.Handle, videoaggregator == null ? IntPtr.Zero : videoaggregator.Handle, native_prepared_frame);
+ Marshal.FreeHGlobal (native_prepared_frame);
+ }
+
+
+ // 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("update_conversion_info"
+ , Gst.Base.AggregatorPad.class_abi.Fields
+ , (uint) Marshal.SizeOf(typeof(IntPtr)) // update_conversion_info
+ , null
+ , "prepare_frame"
+ , (uint) Marshal.SizeOf(typeof(IntPtr))
+ , 0
+ ),
+ new GLib.AbiField("prepare_frame"
+ , -1
+ , (uint) Marshal.SizeOf(typeof(IntPtr)) // prepare_frame
+ , "update_conversion_info"
+ , "clean_frame"
+ , (uint) Marshal.SizeOf(typeof(IntPtr))
+ , 0
+ ),
+ new GLib.AbiField("clean_frame"
+ , -1
+ , (uint) Marshal.SizeOf(typeof(IntPtr)) // clean_frame
+ , "prepare_frame"
+ , "_gst_reserved"
+ , (uint) Marshal.SizeOf(typeof(IntPtr))
+ , 0
+ ),
+ new GLib.AbiField("_gst_reserved"
+ , -1
+ , (uint) Marshal.SizeOf(typeof(IntPtr)) * 20 // _gst_reserved
+ , "clean_frame"
+ , null
+ , (uint) Marshal.SizeOf(typeof(IntPtr))
+ , 0
+ ),
+ });
+
+ return _class_abi;
+ }
+ }
+
+
+ // End of the ABI representation.
+
+ [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_video_aggregator_pad_get_type();
+
+ public static new GLib.GType GType {
+ get {
+ IntPtr raw_ret = gst_video_aggregator_pad_get_type();
+ GLib.GType ret = new GLib.GType(raw_ret);
+ return ret;
+ }
+ }
+
+ [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_video_aggregator_pad_get_current_buffer(IntPtr raw);
+
+ public Gst.Buffer CurrentBuffer {
+ get {
+ IntPtr raw_ret = gst_video_aggregator_pad_get_current_buffer(Handle);
+ Gst.Buffer ret = raw_ret == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Buffer), false);
+ return ret;
+ }
+ }
+
+ [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_video_aggregator_pad_get_prepared_frame(IntPtr raw);
+
+ public Gst.Video.VideoFrame PreparedFrame {
+ get {
+ IntPtr raw_ret = gst_video_aggregator_pad_get_prepared_frame(Handle);
+ Gst.Video.VideoFrame ret = Gst.Video.VideoFrame.New (raw_ret);
+ return ret;
+ }
+ }
+
+ [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_video_aggregator_pad_has_current_buffer(IntPtr raw);
+
+ public bool HasCurrentBuffer {
+ get {
+ bool raw_ret = gst_video_aggregator_pad_has_current_buffer(Handle);
+ bool ret = raw_ret;
+ return ret;
+ }
+ }
+
+ [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern void gst_video_aggregator_pad_set_needs_alpha(IntPtr raw, bool needs_alpha);
+
+ public bool NeedsAlpha {
+ set {
+ gst_video_aggregator_pad_set_needs_alpha(Handle, value);
+ }
+ }
+
+
+ static VideoAggregatorPad ()
+ {
+ 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.AggregatorPad.abi_info.Fields
+ , Gst.Video.VideoInfo.abi_info.Size // info
+ , null
+ , "priv"
+ , Gst.Video.VideoInfo.abi_info.Align
+ , 0
+ ),
+ new GLib.AbiField("priv"
+ , -1
+ , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
+ , "info"
+ , "_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/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoAlignment.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoAlignment.cs
new file mode 100644
index 0000000000..14413f60a4
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoAlignment.cs
@@ -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("gstvideo-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/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoAlphaMode.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoAlphaMode.cs
new file mode 100644
index 0000000000..84b5e3b0f7
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoAlphaMode.cs
@@ -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 ("gstvideo-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/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoAncillary.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoAncillary.cs
new file mode 100644
index 0000000000..7801833c53
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoAncillary.cs
@@ -0,0 +1,51 @@
+// 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 VideoAncillary : IEquatable<VideoAncillary> {
+
+ public byte DID;
+ public byte SDIDBlockNumber;
+ public byte DataCount;
+ [MarshalAs (UnmanagedType.ByValArray, SizeConst=0)]
+ public byte[] Data;
+ [MarshalAs (UnmanagedType.ByValArray, SizeConst=4)]
+ private IntPtr[] _gstGstReserved;
+
+ public static Gst.Video.VideoAncillary Zero = new Gst.Video.VideoAncillary ();
+
+ public static Gst.Video.VideoAncillary New(IntPtr raw) {
+ if (raw == IntPtr.Zero)
+ return Gst.Video.VideoAncillary.Zero;
+ return (Gst.Video.VideoAncillary) Marshal.PtrToStructure (raw, typeof (Gst.Video.VideoAncillary));
+ }
+
+ public bool Equals (VideoAncillary other)
+ {
+ return true && DID.Equals (other.DID) && SDIDBlockNumber.Equals (other.SDIDBlockNumber) && DataCount.Equals (other.DataCount) && Data.Equals (other.Data);
+ }
+
+ public override bool Equals (object other)
+ {
+ return other is VideoAncillary && Equals ((VideoAncillary) other);
+ }
+
+ public override int GetHashCode ()
+ {
+ return this.GetType ().FullName.GetHashCode () ^ DID.GetHashCode () ^ SDIDBlockNumber.GetHashCode () ^ DataCount.GetHashCode () ^ Data.GetHashCode ();
+ }
+
+ private static GLib.GType GType {
+ get { return GLib.GType.Pointer; }
+ }
+#endregion
+ }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoAncillaryDID.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoAncillaryDID.cs
new file mode 100644
index 0000000000..5fa4661432
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoAncillaryDID.cs
@@ -0,0 +1,38 @@
+// 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.VideoAncillaryDIDGType))]
+ public enum VideoAncillaryDID {
+
+ Undefined = 0,
+ Deletion = 128,
+ Hanc3gAudioDataFirst = 160,
+ Hanc3gAudioDataLast = 167,
+ HancHdtvAudioDataFirst = 224,
+ HancHdtvAudioDataLast = 231,
+ HancSdtvAudioData1First = 236,
+ HancSdtvAudioData1Last = 239,
+ CameraPosition = 240,
+ HancErrorDetection = 244,
+ HancSdtvAudioData2First = 248,
+ HancSdtvAudioData2Last = 255,
+ }
+
+ internal class VideoAncillaryDIDGType {
+ [DllImport ("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_video_ancillary_did_get_type ();
+
+ public static GLib.GType GType {
+ get {
+ return new GLib.GType (gst_video_ancillary_did_get_type ());
+ }
+ }
+ }
+#endregion
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoAncillaryDID16.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoAncillaryDID16.cs
new file mode 100644
index 0000000000..7dcecec22d
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoAncillaryDID16.cs
@@ -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.VideoAncillaryDID16GType))]
+ public enum VideoAncillaryDID16 {
+
+ S20163AfdBar = 16645,
+ S334Eia708 = 24833,
+ S334Eia608 = 24834,
+ }
+
+ internal class VideoAncillaryDID16GType {
+ [DllImport ("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_video_ancillary_di_d16_get_type ();
+
+ public static GLib.GType GType {
+ get {
+ return new GLib.GType (gst_video_ancillary_di_d16_get_type ());
+ }
+ }
+ }
+#endregion
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoBarMeta.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoBarMeta.cs
new file mode 100644
index 0000000000..dee24ffbe1
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoBarMeta.cs
@@ -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 VideoBarMeta : IEquatable<VideoBarMeta> {
+
+ public Gst.Meta Meta;
+ public byte Field;
+ public bool IsLetterbox;
+ public uint BarData1;
+ public uint BarData2;
+
+ public static Gst.Video.VideoBarMeta Zero = new Gst.Video.VideoBarMeta ();
+
+ public static Gst.Video.VideoBarMeta New(IntPtr raw) {
+ if (raw == IntPtr.Zero)
+ return Gst.Video.VideoBarMeta.Zero;
+ return (Gst.Video.VideoBarMeta) Marshal.PtrToStructure (raw, typeof (Gst.Video.VideoBarMeta));
+ }
+
+ [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_video_bar_meta_get_info();
+
+ public static Gst.MetaInfo Info {
+ get {
+ IntPtr raw_ret = gst_video_bar_meta_get_info();
+ Gst.MetaInfo ret = Gst.MetaInfo.New (raw_ret);
+ return ret;
+ }
+ }
+
+ public bool Equals (VideoBarMeta other)
+ {
+ return true && Meta.Equals (other.Meta) && Field.Equals (other.Field) && IsLetterbox.Equals (other.IsLetterbox) && BarData1.Equals (other.BarData1) && BarData2.Equals (other.BarData2);
+ }
+
+ public override bool Equals (object other)
+ {
+ return other is VideoBarMeta && Equals ((VideoBarMeta) other);
+ }
+
+ public override int GetHashCode ()
+ {
+ return this.GetType ().FullName.GetHashCode () ^ Meta.GetHashCode () ^ Field.GetHashCode () ^ IsLetterbox.GetHashCode () ^ BarData1.GetHashCode () ^ BarData2.GetHashCode ();
+ }
+
+ private static GLib.GType GType {
+ get { return GLib.GType.Pointer; }
+ }
+#endregion
+ }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoBufferFlags.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoBufferFlags.cs
new file mode 100644
index 0000000000..0430cdd0dd
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoBufferFlags.cs
@@ -0,0 +1,37 @@
+// 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 : uint {
+
+ Marker = 512,
+ Interlaced = 1048576,
+ Tff = 2097152,
+ Rff = 4194304,
+ Onefield = 8388608,
+ BottomField = 8388608,
+ TopField = 10485760,
+ MultipleView = 16777216,
+ FirstInBundle = 33554432,
+ Last = 268435456,
+ }
+
+ internal class VideoBufferFlagsGType {
+ [DllImport ("gstvideo-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/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoBufferPool.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoBufferPool.cs
new file mode 100644
index 0000000000..fc55c91bda
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoBufferPool.cs
@@ -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("gstvideo-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("gstvideo-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/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoCaptionMeta.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoCaptionMeta.cs
new file mode 100644
index 0000000000..5aeea9f5ea
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoCaptionMeta.cs
@@ -0,0 +1,68 @@
+// 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 VideoCaptionMeta : IEquatable<VideoCaptionMeta> {
+
+ public Gst.Meta Meta;
+ public Gst.Video.VideoCaptionType CaptionType;
+ [MarshalAs (UnmanagedType.ByValArray, SizeConst=0)]
+ public byte[] Data;
+ private UIntPtr size;
+ public ulong Size {
+ get {
+ return (ulong) size;
+ }
+ set {
+ size = new UIntPtr (value);
+ }
+ }
+
+ public static Gst.Video.VideoCaptionMeta Zero = new Gst.Video.VideoCaptionMeta ();
+
+ public static Gst.Video.VideoCaptionMeta New(IntPtr raw) {
+ if (raw == IntPtr.Zero)
+ return Gst.Video.VideoCaptionMeta.Zero;
+ return (Gst.Video.VideoCaptionMeta) Marshal.PtrToStructure (raw, typeof (Gst.Video.VideoCaptionMeta));
+ }
+
+ [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_video_caption_meta_get_info();
+
+ public static Gst.MetaInfo Info {
+ get {
+ IntPtr raw_ret = gst_video_caption_meta_get_info();
+ Gst.MetaInfo ret = Gst.MetaInfo.New (raw_ret);
+ return ret;
+ }
+ }
+
+ public bool Equals (VideoCaptionMeta other)
+ {
+ return true && Meta.Equals (other.Meta) && CaptionType.Equals (other.CaptionType) && Data.Equals (other.Data) && Size.Equals (other.Size);
+ }
+
+ public override bool Equals (object other)
+ {
+ return other is VideoCaptionMeta && Equals ((VideoCaptionMeta) other);
+ }
+
+ public override int GetHashCode ()
+ {
+ return this.GetType ().FullName.GetHashCode () ^ Meta.GetHashCode () ^ CaptionType.GetHashCode () ^ Data.GetHashCode () ^ Size.GetHashCode ();
+ }
+
+ private static GLib.GType GType {
+ get { return GLib.GType.Pointer; }
+ }
+#endregion
+ }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoCaptionType.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoCaptionType.cs
new file mode 100644
index 0000000000..d6f045d77e
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoCaptionType.cs
@@ -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.VideoCaptionTypeGType))]
+ public enum VideoCaptionType {
+
+ Unknown = 0,
+ Cea608Raw = 1,
+ Cea608S3341a = 2,
+ Cea708Raw = 3,
+ Cea708Cdp = 4,
+ }
+
+ internal class VideoCaptionTypeGType {
+ [DllImport ("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_video_caption_type_get_type ();
+
+ public static GLib.GType GType {
+ get {
+ return new GLib.GType (gst_video_caption_type_get_type ());
+ }
+ }
+ }
+#endregion
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoChromaFlags.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoChromaFlags.cs
new file mode 100644
index 0000000000..816a743780
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoChromaFlags.cs
@@ -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 : uint {
+
+ None = 0,
+ Interlaced = 1,
+ }
+
+ internal class VideoChromaFlagsGType {
+ [DllImport ("gstvideo-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/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoChromaMethod.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoChromaMethod.cs
new file mode 100644
index 0000000000..3a4c00f35b
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoChromaMethod.cs
@@ -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 ("gstvideo-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/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoChromaMode.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoChromaMode.cs
new file mode 100644
index 0000000000..b5ff455776
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoChromaMode.cs
@@ -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 ("gstvideo-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/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoChromaResample.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoChromaResample.cs
new file mode 100644
index 0000000000..531225820a
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoChromaResample.cs
@@ -0,0 +1,55 @@
+// 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("gstvideo-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("gstvideo-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);
+ }
+
+ protected override Action<IntPtr> DisposeUnmanagedFunc {
+ get {
+ return gst_video_chroma_resample_free;
+ }
+ }
+
+
+ // 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/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoChromaSite.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoChromaSite.cs
new file mode 100644
index 0000000000..968fd75bc0
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoChromaSite.cs
@@ -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 : uint {
+
+ Unknown = 0,
+ None = 1,
+ Jpeg = 1,
+ HCosited = 2,
+ Mpeg2 = 2,
+ VCosited = 4,
+ Cosited = 6,
+ AltLine = 8,
+ Dv = 14,
+ }
+
+ internal class VideoChromaSiteGType {
+ [DllImport ("gstvideo-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/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoCodecFrame.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoCodecFrame.cs
new file mode 100644
index 0000000000..e4c7c9118d
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoCodecFrame.cs
@@ -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;
+ private uint decode_frame_number;
+ private uint presentation_frame_number;
+ 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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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) && decode_frame_number.Equals (other.decode_frame_number) && presentation_frame_number.Equals (other.presentation_frame_number) && 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 () ^ decode_frame_number.GetHashCode () ^ presentation_frame_number.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/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoCodecFrameFlags.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoCodecFrameFlags.cs
new file mode 100644
index 0000000000..bf010088ca
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoCodecFrameFlags.cs
@@ -0,0 +1,20 @@
+// 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 : uint {
+
+ DecodeOnly = 1,
+ SyncPoint = 2,
+ ForceKeyframe = 4,
+ ForceKeyframeHeaders = 8,
+ Corrupted = 16,
+ }
+#endregion
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoCodecState.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoCodecState.cs
new file mode 100644
index 0000000000..f444b46c1d
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoCodecState.cs
@@ -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("gstvideo-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("gstvideo-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("gstvideo-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/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoColorMatrix.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoColorMatrix.cs
new file mode 100644
index 0000000000..997f8bc401
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoColorMatrix.cs
@@ -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 ("gstvideo-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/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoColorPrimaries.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoColorPrimaries.cs
new file mode 100644
index 0000000000..91ebc7c665
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoColorPrimaries.cs
@@ -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.VideoColorPrimariesGType))]
+ public enum VideoColorPrimaries {
+
+ Unknown = 0,
+ Bt709 = 1,
+ Bt470m = 2,
+ Bt470bg = 3,
+ Smpte170m = 4,
+ Smpte240m = 5,
+ Film = 6,
+ Bt2020 = 7,
+ Adobergb = 8,
+ Smptest428 = 9,
+ Smpterp431 = 10,
+ Smpteeg432 = 11,
+ Ebu3213 = 12,
+ }
+
+ internal class VideoColorPrimariesGType {
+ [DllImport ("gstvideo-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/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoColorPrimariesInfo.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoColorPrimariesInfo.cs
new file mode 100644
index 0000000000..c3622d0f3e
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoColorPrimariesInfo.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoColorRange.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoColorRange.cs
new file mode 100644
index 0000000000..e9ce5dc616
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoColorRange.cs
@@ -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 ("gstvideo-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/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoColorimetry.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoColorimetry.cs
new file mode 100644
index 0000000000..3698ef4478
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoColorimetry.cs
@@ -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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoContentLightLevel.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoContentLightLevel.cs
new file mode 100644
index 0000000000..4ddaf1f20a
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoContentLightLevel.cs
@@ -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
+ [StructLayout(LayoutKind.Sequential)]
+ public partial struct VideoContentLightLevel : IEquatable<VideoContentLightLevel> {
+
+ public ushort MaxContentLightLevel;
+ public ushort MaxFrameAverageLightLevel;
+ [MarshalAs (UnmanagedType.ByValArray, SizeConst=4)]
+ private IntPtr[] _gstGstReserved;
+
+ public static Gst.Video.VideoContentLightLevel Zero = new Gst.Video.VideoContentLightLevel ();
+
+ public static Gst.Video.VideoContentLightLevel New(IntPtr raw) {
+ if (raw == IntPtr.Zero)
+ return Gst.Video.VideoContentLightLevel.Zero;
+ return (Gst.Video.VideoContentLightLevel) Marshal.PtrToStructure (raw, typeof (Gst.Video.VideoContentLightLevel));
+ }
+
+ [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_video_content_light_level_add_to_caps(IntPtr raw, IntPtr caps);
+
+ public bool AddToCaps(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);
+ bool raw_ret = gst_video_content_light_level_add_to_caps(this_as_native, caps == null ? IntPtr.Zero : caps.Handle);
+ bool ret = raw_ret;
+ ReadNative (this_as_native, ref this);
+ System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+ return ret;
+ }
+
+ [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_video_content_light_level_from_caps(IntPtr raw, IntPtr caps);
+
+ public bool FromCaps(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);
+ bool raw_ret = gst_video_content_light_level_from_caps(this_as_native, caps == null ? IntPtr.Zero : caps.Handle);
+ bool ret = raw_ret;
+ ReadNative (this_as_native, ref this);
+ System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+ return ret;
+ }
+
+ [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_video_content_light_level_from_string(IntPtr raw, IntPtr level);
+
+ public bool FromString(string level) {
+ IntPtr 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_level = GLib.Marshaller.StringToPtrGStrdup (level);
+ bool raw_ret = gst_video_content_light_level_from_string(this_as_native, native_level);
+ bool ret = raw_ret;
+ ReadNative (this_as_native, ref this);
+ System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+ GLib.Marshaller.Free (native_level);
+ return ret;
+ }
+
+ [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern void gst_video_content_light_level_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_video_content_light_level_init(this_as_native);
+ ReadNative (this_as_native, ref this);
+ System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+ }
+
+ [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_video_content_light_level_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_content_light_level_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.VideoContentLightLevel target)
+ {
+ target = New (native);
+ }
+
+ public bool Equals (VideoContentLightLevel other)
+ {
+ return true && MaxContentLightLevel.Equals (other.MaxContentLightLevel) && MaxFrameAverageLightLevel.Equals (other.MaxFrameAverageLightLevel);
+ }
+
+ public override bool Equals (object other)
+ {
+ return other is VideoContentLightLevel && Equals ((VideoContentLightLevel) other);
+ }
+
+ public override int GetHashCode ()
+ {
+ return this.GetType ().FullName.GetHashCode () ^ MaxContentLightLevel.GetHashCode () ^ MaxFrameAverageLightLevel.GetHashCode ();
+ }
+
+ private static GLib.GType GType {
+ get { return GLib.GType.Pointer; }
+ }
+#endregion
+ }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoConvertSampleCallback.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoConvertSampleCallback.cs
new file mode 100644
index 0000000000..deb78cdfde
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoConvertSampleCallback.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoConverter.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoConverter.cs
new file mode 100644
index 0000000000..57278a42d9
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoConverter.cs
@@ -0,0 +1,80 @@
+// 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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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);
+ }
+
+ protected override Action<IntPtr> DisposeUnmanagedFunc {
+ get {
+ return gst_video_converter_free;
+ }
+ }
+
+
+ // 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/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoCropMeta.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoCropMeta.cs
new file mode 100644
index 0000000000..ae409aea8a
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoCropMeta.cs
@@ -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("gstvideo-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/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoDecoder.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoDecoder.cs
new file mode 100644
index 0000000000..53a703ad06
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoDecoder.cs
@@ -0,0 +1,1891 @@
+// 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]);
+ }
+
+ [GLib.Property ("discard-corrupted-frames")]
+ public bool DiscardCorruptedFrames {
+ get {
+ GLib.Value val = GetProperty ("discard-corrupted-frames");
+ bool ret = (bool) val;
+ val.Dispose ();
+ return ret;
+ }
+ set {
+ GLib.Value val = new GLib.Value(value);
+ SetProperty("discard-corrupted-frames", val);
+ val.Dispose ();
+ }
+ }
+
+ [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern int gst_video_decoder_get_max_errors(IntPtr raw);
+
+ [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern void gst_video_decoder_set_max_errors(IntPtr raw, int num);
+
+ [GLib.Property ("max-errors")]
+ 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);
+ }
+ }
+
+ [GLib.Property ("min-force-key-unit-interval")]
+ public ulong MinForceKeyUnitInterval {
+ get {
+ GLib.Value val = GetProperty ("min-force-key-unit-interval");
+ ulong ret = (ulong) val;
+ val.Dispose ();
+ return ret;
+ }
+ set {
+ GLib.Value val = new GLib.Value(value);
+ SetProperty("min-force-key-unit-interval", val);
+ val.Dispose ();
+ }
+ }
+
+ [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 {
+ 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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_video_decoder_get_needs_format(IntPtr raw);
+
+ [DllImport("gstvideo-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("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_video_decoder_get_needs_sync_point(IntPtr raw);
+
+ [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern void gst_video_decoder_set_needs_sync_point(IntPtr raw, bool enabled);
+
+ public bool NeedsSyncPoint {
+ get {
+ bool raw_ret = gst_video_decoder_get_needs_sync_point(Handle);
+ bool ret = raw_ret;
+ return ret;
+ }
+ set {
+ gst_video_decoder_set_needs_sync_point(Handle, value);
+ }
+ }
+
+ [DllImport("gstvideo-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("gstvideo-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("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_video_decoder_get_packetized(IntPtr raw);
+
+ [DllImport("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern void gst_video_decoder_request_sync_point(IntPtr raw, IntPtr frame, int flags);
+
+ public void RequestSyncPoint(Gst.Video.VideoCodecFrame frame, Gst.Video.VideoDecoderRequestSyncPointFlags flags) {
+ IntPtr native_frame = GLib.Marshaller.StructureToPtrAlloc (frame);
+ gst_video_decoder_request_sync_point(Handle, native_frame, (int) flags);
+ Marshal.FreeHGlobal (native_frame);
+ }
+
+ [DllImport("gstvideo-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("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_video_decoder_set_interlaced_output_state(IntPtr raw, int fmt, int interlace_mode, uint width, uint height, IntPtr reference);
+
+ public Gst.Video.VideoCodecState SetInterlacedOutputState(Gst.Video.VideoFormat fmt, Gst.Video.VideoInterlaceMode interlace_mode, uint width, uint height, Gst.Video.VideoCodecState reference) {
+ IntPtr native_reference = GLib.Marshaller.StructureToPtrAlloc (reference);
+ IntPtr raw_ret = gst_video_decoder_set_interlaced_output_state(Handle, (int) fmt, (int) interlace_mode, width, height, native_reference);
+ Gst.Video.VideoCodecState ret = Gst.Video.VideoCodecState.New (raw_ret);
+ Marshal.FreeHGlobal (native_reference);
+ return ret;
+ }
+
+ public Gst.Video.VideoCodecState SetInterlacedOutputState(Gst.Video.VideoFormat fmt, Gst.Video.VideoInterlaceMode interlace_mode, uint width, uint height) {
+ return SetInterlacedOutputState (fmt, interlace_mode, width, height, Gst.Video.VideoCodecState.Zero);
+ }
+
+ [DllImport("gstvideo-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("gstvideo-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("gstvideo-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/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoDecoderRequestSyncPointFlags.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoDecoderRequestSyncPointFlags.cs
new file mode 100644
index 0000000000..4547976bbf
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoDecoderRequestSyncPointFlags.cs
@@ -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
+ [Flags]
+ public enum VideoDecoderRequestSyncPointFlags : uint {
+
+ DiscardInput = 1,
+ CorruptOutput = 2,
+ }
+#endregion
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoDirectionAdapter.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoDirectionAdapter.cs
new file mode 100644
index 0000000000..fa6a2262a9
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoDirectionAdapter.cs
@@ -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("gstvideo-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/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoDither.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoDither.cs
new file mode 100644
index 0000000000..2720f941e3
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoDither.cs
@@ -0,0 +1,59 @@
+// 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("gstvideo-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("gstvideo-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);
+ }
+
+ protected override Action<IntPtr> DisposeUnmanagedFunc {
+ get {
+ return gst_video_dither_free;
+ }
+ }
+
+
+ // 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/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoDitherFlags.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoDitherFlags.cs
new file mode 100644
index 0000000000..8ed9651b43
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoDitherFlags.cs
@@ -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 : uint {
+
+ None = 0,
+ Interlaced = 1,
+ Quantize = 2,
+ }
+
+ internal class VideoDitherFlagsGType {
+ [DllImport ("gstvideo-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/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoDitherMethod.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoDitherMethod.cs
new file mode 100644
index 0000000000..eb727899a2
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoDitherMethod.cs
@@ -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 ("gstvideo-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/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoEncoder.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoEncoder.cs
new file mode 100644
index 0000000000..72f8991f7f
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoEncoder.cs
@@ -0,0 +1,1774 @@
+// 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]);
+ }
+
+ [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern ulong gst_video_encoder_get_min_force_key_unit_interval(IntPtr raw);
+
+ [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern void gst_video_encoder_set_min_force_key_unit_interval(IntPtr raw, ulong interval);
+
+ [GLib.Property ("min-force-key-unit-interval")]
+ public ulong MinForceKeyUnitInterval {
+ get {
+ ulong raw_ret = gst_video_encoder_get_min_force_key_unit_interval(Handle);
+ ulong ret = raw_ret;
+ return ret;
+ }
+ set {
+ gst_video_encoder_set_min_force_key_unit_interval(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 ();
+ }
+ }
+
+ 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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern int gst_video_encoder_finish_subframe(IntPtr raw, IntPtr frame);
+
+ public Gst.FlowReturn FinishSubframe(Gst.Video.VideoCodecFrame frame) {
+ IntPtr native_frame = GLib.Marshaller.StructureToPtrAlloc (frame);
+ int raw_ret = gst_video_encoder_finish_subframe(Handle, native_frame);
+ Gst.FlowReturn ret = (Gst.FlowReturn) raw_ret;
+ Marshal.FreeHGlobal (native_frame);
+ return ret;
+ }
+
+ [DllImport("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoFieldOrder.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoFieldOrder.cs
new file mode 100644
index 0000000000..7749ca0201
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoFieldOrder.cs
@@ -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 ("gstvideo-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/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoFilter.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoFilter.cs
new file mode 100644
index 0000000000..cce5582f89
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoFilter.cs
@@ -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("gstvideo-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/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoFlags.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoFlags.cs
new file mode 100644
index 0000000000..fa05babc7b
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoFlags.cs
@@ -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 : uint {
+
+ None = 0,
+ VariableFps = 1,
+ PremultipliedAlpha = 2,
+ }
+
+ internal class VideoFlagsGType {
+ [DllImport ("gstvideo-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/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoFormat.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoFormat.cs
new file mode 100644
index 0000000000..f44ab525c9
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoFormat.cs
@@ -0,0 +1,125 @@
+// 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,
+ Gray10Le32 = 78,
+ Nv1210le32 = 79,
+ Nv1610le32 = 80,
+ Nv1210le40 = 81,
+ Y210 = 82,
+ Y410 = 83,
+ Vuya = 84,
+ Bgr10a2Le = 85,
+ Rgb10a2Le = 86,
+ Y44416be = 87,
+ Y44416le = 88,
+ P016Be = 89,
+ P016Le = 90,
+ P012Be = 91,
+ P012Le = 92,
+ Y212Be = 93,
+ Y212Le = 94,
+ Y412Be = 95,
+ Y412Le = 96,
+ Nv124l4 = 97,
+ Nv1232l32 = 98,
+ }
+
+ internal class VideoFormatGType {
+ [DllImport ("gstvideo-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/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoFormatFlags.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoFormatFlags.cs
new file mode 100644
index 0000000000..f5dd2cea8b
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoFormatFlags.cs
@@ -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 : uint {
+
+ Yuv = 1,
+ Rgb = 2,
+ Gray = 4,
+ Alpha = 8,
+ Le = 16,
+ Palette = 32,
+ Complex = 64,
+ Unpack = 128,
+ Tiled = 256,
+ }
+
+ internal class VideoFormatFlagsGType {
+ [DllImport ("gstvideo-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/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoFormatInfo.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoFormatInfo.cs
new file mode 100644
index 0000000000..dccdedc164
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoFormatInfo.cs
@@ -0,0 +1,102 @@
+// 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));
+ }
+
+ [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern void gst_video_format_info_component(IntPtr raw, uint plane, out int components);
+
+ public int Component(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);
+ int components;
+ gst_video_format_info_component(this_as_native, plane, out components);
+ ReadNative (this_as_native, ref this);
+ System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+ return components;
+ }
+
+ static void ReadNative (IntPtr native, ref Gst.Video.VideoFormatInfo target)
+ {
+ target = New (native);
+ }
+
+ 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/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoFormatPack.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoFormatPack.cs
new file mode 100644
index 0000000000..6ed900d4ba
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoFormatPack.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoFormatUnpack.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoFormatUnpack.cs
new file mode 100644
index 0000000000..8236ff3241
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoFormatUnpack.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoFrame.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoFrame.cs
new file mode 100644
index 0000000000..9e2fdd65a0
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoFrame.cs
@@ -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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoFrameFlags.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoFrameFlags.cs
new file mode 100644
index 0000000000..56b1a012fd
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoFrameFlags.cs
@@ -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.VideoFrameFlagsGType))]
+ public enum VideoFrameFlags : uint {
+
+ None = 0,
+ Interlaced = 1,
+ Tff = 2,
+ Rff = 4,
+ Onefield = 8,
+ BottomField = 8,
+ TopField = 10,
+ MultipleView = 16,
+ FirstInBundle = 32,
+ }
+
+ internal class VideoFrameFlagsGType {
+ [DllImport ("gstvideo-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/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoFrameMapFlags.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoFrameMapFlags.cs
new file mode 100644
index 0000000000..ab6b1a9c79
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoFrameMapFlags.cs
@@ -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 : uint {
+
+ NoRef = 65536,
+ Last = 16777216,
+ }
+
+ internal class VideoFrameMapFlagsGType {
+ [DllImport ("gstvideo-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/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoGLTextureOrientation.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoGLTextureOrientation.cs
new file mode 100644
index 0000000000..14b91a9c2a
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoGLTextureOrientation.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoGLTextureType.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoGLTextureType.cs
new file mode 100644
index 0000000000..43c5e6f030
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoGLTextureType.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoGLTextureUpload.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoGLTextureUpload.cs
new file mode 100644
index 0000000000..4b31ed6f74
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoGLTextureUpload.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoGLTextureUploadMeta.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoGLTextureUploadMeta.cs
new file mode 100644
index 0000000000..528825f706
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoGLTextureUploadMeta.cs
@@ -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
+ [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("gstvideo-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("gstvideo-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);
+ }
+
+ public override int GetHashCode ()
+ {
+ return this.GetType ().FullName.GetHashCode () ^ Meta.GetHashCode () ^ TextureOrientation.GetHashCode () ^ NTextures.GetHashCode () ^ TextureType.GetHashCode () ^ _buffer.GetHashCode () ^ _upload.GetHashCode () ^ _user_data.GetHashCode ();
+ }
+
+ private static GLib.GType GType {
+ get { return GLib.GType.Pointer; }
+ }
+#endregion
+ }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoGammaMode.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoGammaMode.cs
new file mode 100644
index 0000000000..9ac42ec087
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoGammaMode.cs
@@ -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 ("gstvideo-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/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoInfo.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoInfo.cs
new file mode 100644
index 0000000000..b963455208
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoInfo.cs
@@ -0,0 +1,645 @@
+// 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("gstvideo-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("gstvideo-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("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_video_info_align_full(IntPtr raw, IntPtr align, out UIntPtr plane_size);
+
+ public bool AlignFull(Gst.Video.VideoAlignment align, out ulong plane_size) {
+ IntPtr native_align = GLib.Marshaller.StructureToPtrAlloc (align);
+ UIntPtr native_plane_size;
+ bool raw_ret = gst_video_info_align_full(Handle, native_align, out native_plane_size);
+ bool ret = raw_ret;
+ Marshal.FreeHGlobal (native_align);
+ plane_size = (ulong) native_plane_size;
+ return ret;
+ }
+
+ [DllImport("gstvideo-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, out long dest_value);
+
+ public bool Convert(Gst.Format src_format, long src_value, Gst.Format dest_format, out long dest_value) {
+ bool raw_ret = gst_video_info_convert(Handle, (int) src_format, src_value, (int) dest_format, out dest_value);
+ bool ret = raw_ret;
+ return ret;
+ }
+
+ [DllImport("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_video_info_set_interlaced_format(IntPtr raw, int format, int mode, uint width, uint height);
+
+ public bool SetInterlacedFormat(Gst.Video.VideoFormat format, Gst.Video.VideoInterlaceMode mode, uint width, uint height) {
+ bool raw_ret = gst_video_info_set_interlaced_format(Handle, (int) format, (int) mode, width, height);
+ bool ret = raw_ret;
+ return ret;
+ }
+
+ [DllImport("gstvideo-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("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_video_info_new();
+
+ public VideoInfo ()
+ {
+ Raw = gst_video_info_new();
+ }
+
+ [DllImport("gstvideo-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);
+ }
+
+ protected override Action<IntPtr> DisposeUnmanagedFunc {
+ get {
+ return gst_video_info_free;
+ }
+ }
+
+
+ // 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/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoInterlaceMode.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoInterlaceMode.cs
new file mode 100644
index 0000000000..264ccf802d
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoInterlaceMode.cs
@@ -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.VideoInterlaceModeGType))]
+ public enum VideoInterlaceMode {
+
+ Progressive = 0,
+ Interleaved = 1,
+ Mixed = 2,
+ Fields = 3,
+ Alternate = 4,
+ }
+
+ internal class VideoInterlaceModeGType {
+ [DllImport ("gstvideo-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/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoMasteringDisplayInfo.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoMasteringDisplayInfo.cs
new file mode 100644
index 0000000000..3349fe873c
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoMasteringDisplayInfo.cs
@@ -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 VideoMasteringDisplayInfo : IEquatable<VideoMasteringDisplayInfo> {
+
+ [MarshalAs (UnmanagedType.ByValArray, SizeConst=3)]
+ public Gst.Video.VideoMasteringDisplayInfoCoordinates[] DisplayPrimaries;
+ public Gst.Video.VideoMasteringDisplayInfoCoordinates WhitePoint;
+ public uint MaxDisplayMasteringLuminance;
+ public uint MinDisplayMasteringLuminance;
+ [MarshalAs (UnmanagedType.ByValArray, SizeConst=4)]
+ private IntPtr[] _gstGstReserved;
+
+ public static Gst.Video.VideoMasteringDisplayInfo Zero = new Gst.Video.VideoMasteringDisplayInfo ();
+
+ public static Gst.Video.VideoMasteringDisplayInfo New(IntPtr raw) {
+ if (raw == IntPtr.Zero)
+ return Gst.Video.VideoMasteringDisplayInfo.Zero;
+ return (Gst.Video.VideoMasteringDisplayInfo) Marshal.PtrToStructure (raw, typeof (Gst.Video.VideoMasteringDisplayInfo));
+ }
+
+ [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_video_mastering_display_info_add_to_caps(IntPtr raw, IntPtr caps);
+
+ public bool AddToCaps(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);
+ bool raw_ret = gst_video_mastering_display_info_add_to_caps(this_as_native, caps == null ? IntPtr.Zero : caps.Handle);
+ bool ret = raw_ret;
+ ReadNative (this_as_native, ref this);
+ System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+ return ret;
+ }
+
+ [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_video_mastering_display_info_from_caps(IntPtr raw, IntPtr caps);
+
+ public bool FromCaps(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);
+ bool raw_ret = gst_video_mastering_display_info_from_caps(this_as_native, caps == null ? IntPtr.Zero : caps.Handle);
+ bool ret = raw_ret;
+ ReadNative (this_as_native, ref this);
+ System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+ return ret;
+ }
+
+ [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern void gst_video_mastering_display_info_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_video_mastering_display_info_init(this_as_native);
+ ReadNative (this_as_native, ref this);
+ System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+ }
+
+ [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_video_mastering_display_info_is_equal(IntPtr raw, IntPtr other);
+
+ public bool IsEqual(Gst.Video.VideoMasteringDisplayInfo 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_mastering_display_info_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("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_video_mastering_display_info_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_mastering_display_info_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("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_video_mastering_display_info_from_string(IntPtr minfo, IntPtr mastering);
+
+ public static bool FromString(out Gst.Video.VideoMasteringDisplayInfo minfo, string mastering) {
+ IntPtr native_minfo = Marshal.AllocHGlobal (Marshal.SizeOf (typeof (Gst.Video.VideoMasteringDisplayInfo)));
+ IntPtr native_mastering = GLib.Marshaller.StringToPtrGStrdup (mastering);
+ bool raw_ret = gst_video_mastering_display_info_from_string(native_minfo, native_mastering);
+ bool ret = raw_ret;
+ minfo = Gst.Video.VideoMasteringDisplayInfo.New (native_minfo);
+ Marshal.FreeHGlobal (native_minfo);
+ GLib.Marshaller.Free (native_mastering);
+ return ret;
+ }
+
+ static void ReadNative (IntPtr native, ref Gst.Video.VideoMasteringDisplayInfo target)
+ {
+ target = New (native);
+ }
+
+ public bool Equals (VideoMasteringDisplayInfo other)
+ {
+ return true && DisplayPrimaries.Equals (other.DisplayPrimaries) && WhitePoint.Equals (other.WhitePoint) && MaxDisplayMasteringLuminance.Equals (other.MaxDisplayMasteringLuminance) && MinDisplayMasteringLuminance.Equals (other.MinDisplayMasteringLuminance);
+ }
+
+ public override bool Equals (object other)
+ {
+ return other is VideoMasteringDisplayInfo && Equals ((VideoMasteringDisplayInfo) other);
+ }
+
+ public override int GetHashCode ()
+ {
+ return this.GetType ().FullName.GetHashCode () ^ DisplayPrimaries.GetHashCode () ^ WhitePoint.GetHashCode () ^ MaxDisplayMasteringLuminance.GetHashCode () ^ MinDisplayMasteringLuminance.GetHashCode ();
+ }
+
+ private static GLib.GType GType {
+ get { return GLib.GType.Pointer; }
+ }
+#endregion
+ }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoMasteringDisplayInfoCoordinates.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoMasteringDisplayInfoCoordinates.cs
new file mode 100644
index 0000000000..8df0c8fa0b
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoMasteringDisplayInfoCoordinates.cs
@@ -0,0 +1,46 @@
+// 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 VideoMasteringDisplayInfoCoordinates : IEquatable<VideoMasteringDisplayInfoCoordinates> {
+
+ public ushort X;
+ public ushort Y;
+
+ public static Gst.Video.VideoMasteringDisplayInfoCoordinates Zero = new Gst.Video.VideoMasteringDisplayInfoCoordinates ();
+
+ public static Gst.Video.VideoMasteringDisplayInfoCoordinates New(IntPtr raw) {
+ if (raw == IntPtr.Zero)
+ return Gst.Video.VideoMasteringDisplayInfoCoordinates.Zero;
+ return (Gst.Video.VideoMasteringDisplayInfoCoordinates) Marshal.PtrToStructure (raw, typeof (Gst.Video.VideoMasteringDisplayInfoCoordinates));
+ }
+
+ public bool Equals (VideoMasteringDisplayInfoCoordinates other)
+ {
+ return true && X.Equals (other.X) && Y.Equals (other.Y);
+ }
+
+ public override bool Equals (object other)
+ {
+ return other is VideoMasteringDisplayInfoCoordinates && Equals ((VideoMasteringDisplayInfoCoordinates) other);
+ }
+
+ public override int GetHashCode ()
+ {
+ return this.GetType ().FullName.GetHashCode () ^ X.GetHashCode () ^ Y.GetHashCode ();
+ }
+
+ private static GLib.GType GType {
+ get { return GLib.GType.Pointer; }
+ }
+#endregion
+ }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoMatrixMode.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoMatrixMode.cs
new file mode 100644
index 0000000000..daa3ad7c1f
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoMatrixMode.cs
@@ -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 ("gstvideo-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/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoMeta.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoMeta.cs
new file mode 100644
index 0000000000..5c058e72e6
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoMeta.cs
@@ -0,0 +1,156 @@
+// 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 Gst.Video.VideoAlignment Alignment;
+
+ 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("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_video_meta_get_plane_height(IntPtr raw, out uint plane_height);
+
+ public bool GetPlaneHeight(out uint plane_height) {
+ IntPtr 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_meta_get_plane_height(this_as_native, out plane_height);
+ bool ret = raw_ret;
+ ReadNative (this_as_native, ref this);
+ System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+ return ret;
+ }
+
+ [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_video_meta_get_plane_size(IntPtr raw, out UIntPtr plane_size);
+
+ public bool GetPlaneSize(out ulong plane_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);
+ UIntPtr native_plane_size;
+ bool raw_ret = gst_video_meta_get_plane_size(this_as_native, out native_plane_size);
+ bool ret = raw_ret;
+ ReadNative (this_as_native, ref this);
+ System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+ plane_size = (ulong) native_plane_size;
+ return ret;
+ }
+
+ [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_video_meta_map(IntPtr raw, uint plane, IntPtr info, out IntPtr data, out int stride, int flags);
+
+ public bool Map(uint plane, Gst.MapInfo info, out IntPtr data, out 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, out data, out 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("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_video_meta_set_alignment(IntPtr raw, IntPtr alignment);
+
+ public bool SetAlignment(Gst.Video.VideoAlignment alignment) {
+ IntPtr 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_alignment = GLib.Marshaller.StructureToPtrAlloc (alignment);
+ bool raw_ret = gst_video_meta_set_alignment(this_as_native, native_alignment);
+ bool ret = raw_ret;
+ ReadNative (this_as_native, ref this);
+ System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+ Marshal.FreeHGlobal (native_alignment);
+ return ret;
+ }
+
+ [DllImport("gstvideo-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("gstvideo-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) && Alignment.Equals (other.Alignment);
+ }
+
+ 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 () ^ Alignment.GetHashCode ();
+ }
+
+ private static GLib.GType GType {
+ get { return GLib.GType.Pointer; }
+ }
+#endregion
+ }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoMetaTransform.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoMetaTransform.cs
new file mode 100644
index 0000000000..2f13a2d932
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoMetaTransform.cs
@@ -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("gstvideo-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/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoMultiviewFlags.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoMultiviewFlags.cs
new file mode 100644
index 0000000000..e78a5ea133
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoMultiviewFlags.cs
@@ -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 : uint {
+
+ None = 0,
+ RightViewFirst = 1,
+ LeftFlipped = 2,
+ LeftFlopped = 4,
+ RightFlipped = 8,
+ RightFlopped = 16,
+ HalfAspect = 16384,
+ MixedMono = 32768,
+ }
+
+ internal class VideoMultiviewFlagsGType {
+ [DllImport ("gstvideo-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/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoMultiviewFlagsSet.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoMultiviewFlagsSet.cs
new file mode 100644
index 0000000000..a247797640
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoMultiviewFlagsSet.cs
@@ -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("gstvideo-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/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoMultiviewFramePacking.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoMultiviewFramePacking.cs
new file mode 100644
index 0000000000..311db0dbaa
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoMultiviewFramePacking.cs
@@ -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 ("gstvideo-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/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoMultiviewMode.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoMultiviewMode.cs
new file mode 100644
index 0000000000..2bd10f81b0
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoMultiviewMode.cs
@@ -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 ("gstvideo-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/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoOrientationAdapter.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoOrientationAdapter.cs
new file mode 100644
index 0000000000..bb91e7b1a3
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoOrientationAdapter.cs
@@ -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, out bool flip);
+
+ static bool GetHflip_cb (IntPtr inst, out bool flip)
+ {
+ try {
+ IVideoOrientationImplementor __obj = GLib.Object.GetObject (inst, false) as IVideoOrientationImplementor;
+ bool __result;
+ __result = __obj.GetHflip (out 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, out bool flip);
+
+ static bool GetVflip_cb (IntPtr inst, out bool flip)
+ {
+ try {
+ IVideoOrientationImplementor __obj = GLib.Object.GetObject (inst, false) as IVideoOrientationImplementor;
+ bool __result;
+ __result = __obj.GetVflip (out 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, out int center);
+
+ static bool GetHcenter_cb (IntPtr inst, out int center)
+ {
+ try {
+ IVideoOrientationImplementor __obj = GLib.Object.GetObject (inst, false) as IVideoOrientationImplementor;
+ bool __result;
+ __result = __obj.GetHcenter (out 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, out int center);
+
+ static bool GetVcenter_cb (IntPtr inst, out int center)
+ {
+ try {
+ IVideoOrientationImplementor __obj = GLib.Object.GetObject (inst, false) as IVideoOrientationImplementor;
+ bool __result;
+ __result = __obj.GetVcenter (out 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("gstvideo-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("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_video_orientation_get_hcenter(IntPtr raw, out int center);
+
+ public bool GetHcenter(out int center) {
+ bool raw_ret = gst_video_orientation_get_hcenter(Handle, out center);
+ bool ret = raw_ret;
+ return ret;
+ }
+
+ [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_video_orientation_get_hflip(IntPtr raw, out bool flip);
+
+ public bool GetHflip(out bool flip) {
+ bool raw_ret = gst_video_orientation_get_hflip(Handle, out flip);
+ bool ret = raw_ret;
+ return ret;
+ }
+
+ [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_video_orientation_get_vcenter(IntPtr raw, out int center);
+
+ public bool GetVcenter(out int center) {
+ bool raw_ret = gst_video_orientation_get_vcenter(Handle, out center);
+ bool ret = raw_ret;
+ return ret;
+ }
+
+ [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_video_orientation_get_vflip(IntPtr raw, out bool flip);
+
+ public bool GetVflip(out bool flip) {
+ bool raw_ret = gst_video_orientation_get_vflip(Handle, out flip);
+ bool ret = raw_ret;
+ return ret;
+ }
+
+ [DllImport("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoOrientationMethod.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoOrientationMethod.cs
new file mode 100644
index 0000000000..c1ab6d5374
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoOrientationMethod.cs
@@ -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 ("gstvideo-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/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoOverlayAdapter.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoOverlayAdapter.cs
new file mode 100644
index 0000000000..b1d3a8264a
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoOverlayAdapter.cs
@@ -0,0 +1,231 @@
+// 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("gstvideo-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("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_video_overlay_set_property(IntPtr _object, int last_prop_id, uint property_id, IntPtr value);
+
+ public static bool SetProperty(GLib.Object _object, int last_prop_id, uint property_id, GLib.Value value) {
+ IntPtr native_value = GLib.Marshaller.StructureToPtrAlloc (value);
+ bool raw_ret = gst_video_overlay_set_property(_object == null ? IntPtr.Zero : _object.Handle, last_prop_id, property_id, native_value);
+ bool ret = raw_ret;
+ Marshal.FreeHGlobal (native_value);
+ return ret;
+ }
+
+ [DllImport("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoOverlayComposition.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoOverlayComposition.cs
new file mode 100644
index 0000000000..d6f6b9dfae
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoOverlayComposition.cs
@@ -0,0 +1,117 @@
+// 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 VideoOverlayComposition : Gst.MiniObject {
+
+ [DllImport("gstvideo-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("gstvideo-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) {
+ gst_video_overlay_composition_add_rectangle(Handle, rectangle == null ? IntPtr.Zero : rectangle.Handle);
+ }
+
+ [DllImport("gstvideo-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 native_video_buf = GLib.Marshaller.StructureToPtrAlloc (video_buf);
+ bool raw_ret = gst_video_overlay_composition_blend(Handle, native_video_buf);
+ bool ret = raw_ret;
+ Marshal.FreeHGlobal (native_video_buf);
+ return ret;
+ }
+
+ [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_video_overlay_composition_copy(IntPtr raw);
+
+ public Gst.Video.VideoOverlayComposition Copy() {
+ IntPtr raw_ret = gst_video_overlay_composition_copy(Handle);
+ Gst.Video.VideoOverlayComposition ret = raw_ret == IntPtr.Zero ? null : (Gst.Video.VideoOverlayComposition) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Video.VideoOverlayComposition), true);
+ return ret;
+ }
+
+ [DllImport("gstvideo-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 raw_ret = gst_video_overlay_composition_get_rectangle(Handle, n);
+ Gst.Video.VideoOverlayRectangle ret = raw_ret == IntPtr.Zero ? null : (Gst.Video.VideoOverlayRectangle) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Video.VideoOverlayRectangle), false);
+ return ret;
+ }
+
+ [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern uint gst_video_overlay_composition_get_seqnum(IntPtr raw);
+
+ public uint Seqnum {
+ get {
+ uint raw_ret = gst_video_overlay_composition_get_seqnum(Handle);
+ uint ret = raw_ret;
+ return ret;
+ }
+ }
+
+ [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_video_overlay_composition_make_writable(IntPtr raw);
+
+ public Gst.Video.VideoOverlayComposition MakeWritable() {
+ IntPtr raw_ret = gst_video_overlay_composition_make_writable(Handle);
+ Gst.Video.VideoOverlayComposition ret = raw_ret == IntPtr.Zero ? null : (Gst.Video.VideoOverlayComposition) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Video.VideoOverlayComposition), true);
+ return ret;
+ }
+
+ [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern uint gst_video_overlay_composition_n_rectangles(IntPtr raw);
+
+ public uint NRectangles() {
+ uint raw_ret = gst_video_overlay_composition_n_rectangles(Handle);
+ uint ret = raw_ret;
+ return ret;
+ }
+
+ public VideoOverlayComposition(IntPtr raw) : base(raw) {}
+
+ [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_video_overlay_composition_new(IntPtr rectangle);
+
+ public VideoOverlayComposition (Gst.Video.VideoOverlayRectangle rectangle)
+ {
+ Raw = gst_video_overlay_composition_new(rectangle == null ? IntPtr.Zero : rectangle.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 (Gst.MiniObject.abi_info.Fields);
+
+ return _abi_info;
+ }
+ }
+
+
+ // End of the ABI representation.
+
+#endregion
+ }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoOverlayCompositionMeta.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoOverlayCompositionMeta.cs
new file mode 100644
index 0000000000..87af214cb4
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoOverlayCompositionMeta.cs
@@ -0,0 +1,65 @@
+// 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 _overlay == IntPtr.Zero ? null : (Gst.Video.VideoOverlayComposition) GLib.Opaque.GetOpaque (_overlay, typeof (Gst.Video.VideoOverlayComposition), false);
+ }
+ set {
+ _overlay = value == null ? IntPtr.Zero : value.Handle;
+ }
+ }
+
+ 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("gstvideo-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/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoOverlayFormatFlags.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoOverlayFormatFlags.cs
new file mode 100644
index 0000000000..740397fdb2
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoOverlayFormatFlags.cs
@@ -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.VideoOverlayFormatFlagsGType))]
+ public enum VideoOverlayFormatFlags : uint {
+
+ None = 0,
+ PremultipliedAlpha = 1,
+ GlobalAlpha = 2,
+ }
+
+ internal class VideoOverlayFormatFlagsGType {
+ [DllImport ("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_video_overlay_format_flags_get_type ();
+
+ public static GLib.GType GType {
+ get {
+ return new GLib.GType (gst_video_overlay_format_flags_get_type ());
+ }
+ }
+ }
+#endregion
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoOverlayProperties.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoOverlayProperties.cs
new file mode 100644
index 0000000000..ac2a0d8845
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoOverlayProperties.cs
@@ -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.Collections;
+ using System.Collections.Generic;
+ using System.Runtime.InteropServices;
+
+#region Autogenerated code
+ public partial class VideoOverlayProperties : GLib.Opaque {
+
+ public VideoOverlayProperties(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/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoOverlayRectangle.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoOverlayRectangle.cs
new file mode 100644
index 0000000000..9adefb733f
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoOverlayRectangle.cs
@@ -0,0 +1,170 @@
+// 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 : Gst.MiniObject {
+
+ [DllImport("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern float gst_video_overlay_rectangle_get_global_alpha(IntPtr raw);
+
+ [DllImport("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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 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/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoPackFlags.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoPackFlags.cs
new file mode 100644
index 0000000000..aa38e582a4
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoPackFlags.cs
@@ -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 : uint {
+
+ None = 0,
+ TruncateRange = 1,
+ Interlaced = 2,
+ }
+
+ internal class VideoPackFlagsGType {
+ [DllImport ("gstvideo-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/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoPrimariesMode.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoPrimariesMode.cs
new file mode 100644
index 0000000000..03d0ccd81b
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoPrimariesMode.cs
@@ -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 ("gstvideo-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/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoRectangle.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoRectangle.cs
new file mode 100644
index 0000000000..4fcdcc5e1e
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoRectangle.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoRegionOfInterestMeta.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoRegionOfInterestMeta.cs
new file mode 100644
index 0000000000..f9fad12afd
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoRegionOfInterestMeta.cs
@@ -0,0 +1,96 @@
+// 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;
+ private IntPtr _parms;
+
+ 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("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern void gst_video_region_of_interest_meta_add_param(IntPtr raw, IntPtr s);
+
+ public void AddParam(Gst.Structure s) {
+ IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this));
+ System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false);
+ s.Owned = false;
+ gst_video_region_of_interest_meta_add_param(this_as_native, s == null ? IntPtr.Zero : s.Handle);
+ ReadNative (this_as_native, ref this);
+ System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+ }
+
+ [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_video_region_of_interest_meta_get_param(IntPtr raw, IntPtr name);
+
+ public Gst.Structure GetParam(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);
+ IntPtr raw_ret = gst_video_region_of_interest_meta_get_param(this_as_native, native_name);
+ 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);
+ GLib.Marshaller.Free (native_name);
+ return ret;
+ }
+
+ [DllImport("gstvideo-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;
+ }
+ }
+
+ static void ReadNative (IntPtr native, ref Gst.Video.VideoRegionOfInterestMeta target)
+ {
+ target = New (native);
+ }
+
+ 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) && _parms.Equals (other._parms);
+ }
+
+ 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 () ^ _parms.GetHashCode ();
+ }
+
+ private static GLib.GType GType {
+ get { return GLib.GType.Pointer; }
+ }
+#endregion
+ }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoResampler.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoResampler.cs
new file mode 100644
index 0000000000..980dacafd0
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoResampler.cs
@@ -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("gstvideo-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("gstvideo-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/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoResamplerFlags.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoResamplerFlags.cs
new file mode 100644
index 0000000000..47db45ed8b
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoResamplerFlags.cs
@@ -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 : uint {
+
+ None = 0,
+ HalfTaps = 1,
+ }
+
+ internal class VideoResamplerFlagsGType {
+ [DllImport ("gstvideo-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/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoResamplerMethod.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoResamplerMethod.cs
new file mode 100644
index 0000000000..c66f876e8c
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoResamplerMethod.cs
@@ -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 ("gstvideo-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/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoScaler.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoScaler.cs
new file mode 100644
index 0000000000..16f6b24a9d
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoScaler.cs
@@ -0,0 +1,101 @@
+// 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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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);
+ }
+
+ protected override Action<IntPtr> DisposeUnmanagedFunc {
+ get {
+ return gst_video_scaler_free;
+ }
+ }
+
+
+ // 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/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoScalerFlags.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoScalerFlags.cs
new file mode 100644
index 0000000000..4855181bc6
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoScalerFlags.cs
@@ -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 : uint {
+
+ None = 0,
+ Interlaced = 1,
+ }
+
+ internal class VideoScalerFlagsGType {
+ [DllImport ("gstvideo-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/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoSink.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoSink.cs
new file mode 100644
index 0000000000..c09a5ee8ce
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoSink.cs
@@ -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("gstvideo-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("gstvideo-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/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoTileMode.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoTileMode.cs
new file mode 100644
index 0000000000..ffaa249e91
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoTileMode.cs
@@ -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.VideoTileModeGType))]
+ public enum VideoTileMode {
+
+ Unknown = 0,
+ Zflipz2x2 = 65536,
+ Linear = 131072,
+ }
+
+ internal class VideoTileModeGType {
+ [DllImport ("gstvideo-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/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoTileType.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoTileType.cs
new file mode 100644
index 0000000000..36db76b7f5
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoTileType.cs
@@ -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 ("gstvideo-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/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoTimeCode.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoTimeCode.cs
new file mode 100644
index 0000000000..6751bb08ae
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoTimeCode.cs
@@ -0,0 +1,291 @@
+// 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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_video_time_code_new_from_date_time_full(uint fps_n, uint fps_d, IntPtr dt, int flags, uint field_count);
+
+ public static VideoTimeCode NewFromDateTimeFull(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_full(fps_n, fps_d, dt == null ? IntPtr.Zero : dt.Handle, (int) flags, field_count));
+ return result;
+ }
+
+ [DllImport("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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);
+ }
+
+ public void Init(uint fps_n, uint fps_d, Gst.Video.VideoTimeCodeFlags flags, uint hours, uint minutes, uint seconds, uint frames, uint field_count) {
+ Init (fps_n, fps_d, null, flags, hours, minutes, seconds, frames, field_count);
+ }
+
+ [DllImport("gstvideo-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("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_video_time_code_init_from_date_time_full(IntPtr raw, uint fps_n, uint fps_d, IntPtr dt, int flags, uint field_count);
+
+ public bool InitFromDateTimeFull(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);
+ bool raw_ret = gst_video_time_code_init_from_date_time_full(this_as_native, fps_n, fps_d, dt == null ? IntPtr.Zero : dt.Handle, (int) flags, field_count);
+ bool ret = raw_ret;
+ ReadNative (this_as_native, ref this);
+ System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+ return ret;
+ }
+
+ [DllImport("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoTimeCodeConfig.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoTimeCodeConfig.cs
new file mode 100644
index 0000000000..8380df4b6a
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoTimeCodeConfig.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoTimeCodeFlags.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoTimeCodeFlags.cs
new file mode 100644
index 0000000000..7409b6a036
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoTimeCodeFlags.cs
@@ -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.VideoTimeCodeFlagsGType))]
+ public enum VideoTimeCodeFlags : uint {
+
+ None = 0,
+ DropFrame = 1,
+ Interlaced = 2,
+ }
+
+ internal class VideoTimeCodeFlagsGType {
+ [DllImport ("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_video_time_code_flags_get_type ();
+
+ public static GLib.GType GType {
+ get {
+ return new GLib.GType (gst_video_time_code_flags_get_type ());
+ }
+ }
+ }
+#endregion
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoTimeCodeInterval.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoTimeCodeInterval.cs
new file mode 100644
index 0000000000..8a4d9b0f07
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoTimeCodeInterval.cs
@@ -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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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("gstvideo-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/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoTimeCodeMeta.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoTimeCodeMeta.cs
new file mode 100644
index 0000000000..298046e4ac
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoTimeCodeMeta.cs
@@ -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("gstvideo-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/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoTransferFunction.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoTransferFunction.cs
new file mode 100644
index 0000000000..9666327ad5
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoTransferFunction.cs
@@ -0,0 +1,43 @@
+// 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,
+ Bt202010 = 13,
+ Smpte2084 = 14,
+ AribStdB67 = 15,
+ Bt601 = 16,
+ }
+
+ internal class VideoTransferFunctionGType {
+ [DllImport ("gstvideo-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/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoVBIEncoder.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoVBIEncoder.cs
new file mode 100644
index 0000000000..8387f6cf9f
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoVBIEncoder.cs
@@ -0,0 +1,102 @@
+// 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 VideoVBIEncoder : IEquatable<VideoVBIEncoder> {
+
+
+ public static Gst.Video.VideoVBIEncoder Zero = new Gst.Video.VideoVBIEncoder ();
+
+ public static Gst.Video.VideoVBIEncoder New(IntPtr raw) {
+ if (raw == IntPtr.Zero)
+ return Gst.Video.VideoVBIEncoder.Zero;
+ return (Gst.Video.VideoVBIEncoder) Marshal.PtrToStructure (raw, typeof (Gst.Video.VideoVBIEncoder));
+ }
+
+ [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_video_vbi_encoder_new(int format, uint pixel_width);
+
+ public static VideoVBIEncoder New(Gst.Video.VideoFormat format, uint pixel_width)
+ {
+ VideoVBIEncoder result = VideoVBIEncoder.New (gst_video_vbi_encoder_new((int) format, pixel_width));
+ return result;
+ }
+
+ [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_video_vbi_encoder_get_type();
+
+ public static GLib.GType GType {
+ get {
+ IntPtr raw_ret = gst_video_vbi_encoder_get_type();
+ GLib.GType ret = new GLib.GType(raw_ret);
+ return ret;
+ }
+ }
+
+ [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_video_vbi_encoder_add_ancillary(IntPtr raw, bool composite, byte DID, byte SDID_block_number, byte[] data, uint data_count);
+
+ public bool AddAncillary(bool composite, byte DID, byte SDID_block_number, byte[] data, uint data_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);
+ bool raw_ret = gst_video_vbi_encoder_add_ancillary(this_as_native, composite, DID, SDID_block_number, data, data_count);
+ bool ret = raw_ret;
+ ReadNative (this_as_native, ref this);
+ System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+ return ret;
+ }
+
+ [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern void gst_video_vbi_encoder_write_line(IntPtr raw, byte data);
+
+ public void WriteLine(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);
+ gst_video_vbi_encoder_write_line(this_as_native, data);
+ ReadNative (this_as_native, ref this);
+ System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+ }
+
+ static void ReadNative (IntPtr native, ref Gst.Video.VideoVBIEncoder target)
+ {
+ target = New (native);
+ }
+
+ public bool Equals (VideoVBIEncoder other)
+ {
+ return true;
+ }
+
+ public override bool Equals (object other)
+ {
+ return other is VideoVBIEncoder && Equals ((VideoVBIEncoder) other);
+ }
+
+ public override int GetHashCode ()
+ {
+ return this.GetType ().FullName.GetHashCode ();
+ }
+
+ public static explicit operator GLib.Value (Gst.Video.VideoVBIEncoder boxed)
+ {
+ GLib.Value val = GLib.Value.Empty;
+ val.Init (Gst.Video.VideoVBIEncoder.GType);
+ val.Val = boxed;
+ return val;
+ }
+
+ public static explicit operator Gst.Video.VideoVBIEncoder (GLib.Value val)
+ {
+ return (Gst.Video.VideoVBIEncoder) val.Val;
+ }
+#endregion
+ }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoVBIParser.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoVBIParser.cs
new file mode 100644
index 0000000000..da94d7776b
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoVBIParser.cs
@@ -0,0 +1,105 @@
+// 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 VideoVBIParser : IEquatable<VideoVBIParser> {
+
+
+ public static Gst.Video.VideoVBIParser Zero = new Gst.Video.VideoVBIParser ();
+
+ public static Gst.Video.VideoVBIParser New(IntPtr raw) {
+ if (raw == IntPtr.Zero)
+ return Gst.Video.VideoVBIParser.Zero;
+ return (Gst.Video.VideoVBIParser) Marshal.PtrToStructure (raw, typeof (Gst.Video.VideoVBIParser));
+ }
+
+ [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_video_vbi_parser_new(int format, uint pixel_width);
+
+ public static VideoVBIParser New(Gst.Video.VideoFormat format, uint pixel_width)
+ {
+ VideoVBIParser result = VideoVBIParser.New (gst_video_vbi_parser_new((int) format, pixel_width));
+ return result;
+ }
+
+ [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_video_vbi_parser_get_type();
+
+ public static GLib.GType GType {
+ get {
+ IntPtr raw_ret = gst_video_vbi_parser_get_type();
+ GLib.GType ret = new GLib.GType(raw_ret);
+ return ret;
+ }
+ }
+
+ [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern void gst_video_vbi_parser_add_line(IntPtr raw, byte[] data);
+
+ public void AddLine(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);
+ gst_video_vbi_parser_add_line(this_as_native, data);
+ ReadNative (this_as_native, ref this);
+ System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+ }
+
+ [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern int gst_video_vbi_parser_get_ancillary(IntPtr raw, IntPtr anc);
+
+ public Gst.Video.VideoVBIParserResult GetAncillary(out Gst.Video.VideoAncillary anc) {
+ IntPtr 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_anc = Marshal.AllocHGlobal (Marshal.SizeOf (typeof (Gst.Video.VideoAncillary)));
+ int raw_ret = gst_video_vbi_parser_get_ancillary(this_as_native, native_anc);
+ Gst.Video.VideoVBIParserResult ret = (Gst.Video.VideoVBIParserResult) raw_ret;
+ ReadNative (this_as_native, ref this);
+ System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+ anc = Gst.Video.VideoAncillary.New (native_anc);
+ Marshal.FreeHGlobal (native_anc);
+ return ret;
+ }
+
+ static void ReadNative (IntPtr native, ref Gst.Video.VideoVBIParser target)
+ {
+ target = New (native);
+ }
+
+ public bool Equals (VideoVBIParser other)
+ {
+ return true;
+ }
+
+ public override bool Equals (object other)
+ {
+ return other is VideoVBIParser && Equals ((VideoVBIParser) other);
+ }
+
+ public override int GetHashCode ()
+ {
+ return this.GetType ().FullName.GetHashCode ();
+ }
+
+ public static explicit operator GLib.Value (Gst.Video.VideoVBIParser boxed)
+ {
+ GLib.Value val = GLib.Value.Empty;
+ val.Init (Gst.Video.VideoVBIParser.GType);
+ val.Val = boxed;
+ return val;
+ }
+
+ public static explicit operator Gst.Video.VideoVBIParser (GLib.Value val)
+ {
+ return (Gst.Video.VideoVBIParser) val.Val;
+ }
+#endregion
+ }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoVBIParserResult.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoVBIParserResult.cs
new file mode 100644
index 0000000000..51ab28ef90
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.Video/VideoVBIParserResult.cs
@@ -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.VideoVBIParserResultGType))]
+ public enum VideoVBIParserResult {
+
+ Done = 0,
+ Ok = 1,
+ Error = 2,
+ }
+
+ internal class VideoVBIParserResultGType {
+ [DllImport ("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_video_vbi_parser_result_get_type ();
+
+ public static GLib.GType GType {
+ get {
+ return new GLib.GType (gst_video_vbi_parser_result_get_type ());
+ }
+ }
+ }
+#endregion
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/Constants.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/Constants.cs
new file mode 100644
index 0000000000..640f6820c2
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/Constants.cs
@@ -0,0 +1,16 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.WebRTC {
+
+ using System;
+ using System.Collections;
+ using System.Collections.Generic;
+ using System.Runtime.InteropServices;
+
+#region Autogenerated code
+ public partial class Constants {
+
+#endregion
+ }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/Global.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/Global.cs
new file mode 100644
index 0000000000..4a5e2a9d99
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/Global.cs
@@ -0,0 +1,25 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.WebRTC {
+
+ using System;
+ using System.Collections;
+ using System.Collections.Generic;
+ using System.Runtime.InteropServices;
+
+#region Autogenerated code
+ public partial class Global {
+
+ [DllImport("gstwebrtc-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_webrtc_sdp_type_to_string(int type);
+
+ public static string WebrtcSdpTypeToString(Gst.WebRTC.WebRTCSDPType type) {
+ IntPtr raw_ret = gst_webrtc_sdp_type_to_string((int) type);
+ string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
+ return ret;
+ }
+
+#endregion
+ }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/OnErrorEventHandler.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/OnErrorEventHandler.cs
new file mode 100644
index 0000000000..908402d18d
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/OnErrorEventHandler.cs
@@ -0,0 +1,18 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.WebRTC {
+
+ using System;
+
+ public delegate void OnErrorEventHandler(object o, OnErrorEventArgs args);
+
+ public class OnErrorEventArgs : GLib.SignalArgs {
+ public IntPtr Error{
+ get {
+ return (IntPtr) Args [0];
+ }
+ }
+
+ }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/OnErrorHandler.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/OnErrorHandler.cs
new file mode 100644
index 0000000000..fc4ff87c08
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/OnErrorHandler.cs
@@ -0,0 +1,18 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.WebRTC {
+
+ using System;
+
+ public delegate void OnErrorHandler(object o, OnErrorArgs args);
+
+ public class OnErrorArgs : GLib.SignalArgs {
+ public IntPtr Error{
+ get {
+ return (IntPtr) Args [0];
+ }
+ }
+
+ }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/OnMessageDataEventHandler.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/OnMessageDataEventHandler.cs
new file mode 100644
index 0000000000..9a76d7dde8
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/OnMessageDataEventHandler.cs
@@ -0,0 +1,18 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.WebRTC {
+
+ using System;
+
+ public delegate void OnMessageDataEventHandler(object o, OnMessageDataEventArgs args);
+
+ public class OnMessageDataEventArgs : GLib.SignalArgs {
+ public GLib.Bytes Data{
+ get {
+ return (GLib.Bytes) Args [0];
+ }
+ }
+
+ }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/OnMessageDataHandler.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/OnMessageDataHandler.cs
new file mode 100644
index 0000000000..2ff360ae64
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/OnMessageDataHandler.cs
@@ -0,0 +1,18 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.WebRTC {
+
+ using System;
+
+ public delegate void OnMessageDataHandler(object o, OnMessageDataArgs args);
+
+ public class OnMessageDataArgs : GLib.SignalArgs {
+ public GLib.Bytes Data{
+ get {
+ return (GLib.Bytes) Args [0];
+ }
+ }
+
+ }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/OnMessageStringEventHandler.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/OnMessageStringEventHandler.cs
new file mode 100644
index 0000000000..6f950c1dec
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/OnMessageStringEventHandler.cs
@@ -0,0 +1,18 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.WebRTC {
+
+ using System;
+
+ public delegate void OnMessageStringEventHandler(object o, OnMessageStringEventArgs args);
+
+ public class OnMessageStringEventArgs : GLib.SignalArgs {
+ public string Data{
+ get {
+ return (string) Args [0];
+ }
+ }
+
+ }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/OnMessageStringHandler.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/OnMessageStringHandler.cs
new file mode 100644
index 0000000000..64273e48dc
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/OnMessageStringHandler.cs
@@ -0,0 +1,18 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.WebRTC {
+
+ using System;
+
+ public delegate void OnMessageStringHandler(object o, OnMessageStringArgs args);
+
+ public class OnMessageStringArgs : GLib.SignalArgs {
+ public string Data{
+ get {
+ return (string) Args [0];
+ }
+ }
+
+ }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/OnNewCandidateHandler.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/OnNewCandidateHandler.cs
new file mode 100644
index 0000000000..42d9524004
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/OnNewCandidateHandler.cs
@@ -0,0 +1,18 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.WebRTC {
+
+ using System;
+
+ public delegate void OnNewCandidateHandler(object o, OnNewCandidateArgs args);
+
+ public class OnNewCandidateArgs : GLib.SignalArgs {
+ public string Object{
+ get {
+ return (string) Args [0];
+ }
+ }
+
+ }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/SendDataEventHandler.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/SendDataEventHandler.cs
new file mode 100644
index 0000000000..ee4af2b104
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/SendDataEventHandler.cs
@@ -0,0 +1,18 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.WebRTC {
+
+ using System;
+
+ public delegate void SendDataEventHandler(object o, SendDataEventArgs args);
+
+ public class SendDataEventArgs : GLib.SignalArgs {
+ public GLib.Bytes Data{
+ get {
+ return (GLib.Bytes) Args [0];
+ }
+ }
+
+ }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/SendStringEventHandler.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/SendStringEventHandler.cs
new file mode 100644
index 0000000000..0513169775
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/SendStringEventHandler.cs
@@ -0,0 +1,18 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.WebRTC {
+
+ using System;
+
+ public delegate void SendStringEventHandler(object o, SendStringEventArgs args);
+
+ public class SendStringEventArgs : GLib.SignalArgs {
+ public string Data{
+ get {
+ return (string) Args [0];
+ }
+ }
+
+ }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/WebRTCBundlePolicy.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/WebRTCBundlePolicy.cs
new file mode 100644
index 0000000000..66338d4915
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/WebRTCBundlePolicy.cs
@@ -0,0 +1,30 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.WebRTC {
+
+ using System;
+ using System.Runtime.InteropServices;
+
+#region Autogenerated code
+ [GLib.GType (typeof (Gst.WebRTC.WebRTCBundlePolicyGType))]
+ public enum WebRTCBundlePolicy {
+
+ None = 0,
+ Balanced = 1,
+ MaxCompat = 2,
+ MaxBundle = 3,
+ }
+
+ internal class WebRTCBundlePolicyGType {
+ [DllImport ("gstwebrtc-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_webrtc_bundle_policy_get_type ();
+
+ public static GLib.GType GType {
+ get {
+ return new GLib.GType (gst_webrtc_bundle_policy_get_type ());
+ }
+ }
+ }
+#endregion
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/WebRTCDTLSSetup.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/WebRTCDTLSSetup.cs
new file mode 100644
index 0000000000..27f264f644
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/WebRTCDTLSSetup.cs
@@ -0,0 +1,30 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.WebRTC {
+
+ using System;
+ using System.Runtime.InteropServices;
+
+#region Autogenerated code
+ [GLib.GType (typeof (Gst.WebRTC.WebRTCDTLSSetupGType))]
+ public enum WebRTCDTLSSetup {
+
+ None = 0,
+ Actpass = 1,
+ Active = 2,
+ Passive = 3,
+ }
+
+ internal class WebRTCDTLSSetupGType {
+ [DllImport ("gstwebrtc-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_webrtc_dtls_setup_get_type ();
+
+ public static GLib.GType GType {
+ get {
+ return new GLib.GType (gst_webrtc_dtls_setup_get_type ());
+ }
+ }
+ }
+#endregion
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/WebRTCDTLSTransport.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/WebRTCDTLSTransport.cs
new file mode 100644
index 0000000000..011be3ea85
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/WebRTCDTLSTransport.cs
@@ -0,0 +1,139 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.WebRTC {
+
+ using System;
+ using System.Collections;
+ using System.Collections.Generic;
+ using System.Runtime.InteropServices;
+
+#region Autogenerated code
+ public partial class WebRTCDTLSTransport : Gst.Object {
+
+ public WebRTCDTLSTransport (IntPtr raw) : base(raw) {}
+
+ protected WebRTCDTLSTransport() : base(IntPtr.Zero)
+ {
+ CreateNativeObject (new string [0], new GLib.Value [0]);
+ }
+
+ [GLib.Property ("certificate")]
+ public string Certificate {
+ get {
+ GLib.Value val = GetProperty ("certificate");
+ string ret = (string) val;
+ val.Dispose ();
+ return ret;
+ }
+ set {
+ GLib.Value val = new GLib.Value(value);
+ SetProperty("certificate", val);
+ val.Dispose ();
+ }
+ }
+
+ [GLib.Property ("client")]
+ public bool Client {
+ get {
+ GLib.Value val = GetProperty ("client");
+ bool ret = (bool) val;
+ val.Dispose ();
+ return ret;
+ }
+ set {
+ GLib.Value val = new GLib.Value(value);
+ SetProperty("client", val);
+ val.Dispose ();
+ }
+ }
+
+ [GLib.Property ("remote-certificate")]
+ public string RemoteCertificate {
+ get {
+ GLib.Value val = GetProperty ("remote-certificate");
+ string ret = (string) val;
+ val.Dispose ();
+ return ret;
+ }
+ }
+
+ [GLib.Property ("session-id")]
+ public uint SessionId {
+ get {
+ GLib.Value val = GetProperty ("session-id");
+ uint ret = (uint) val;
+ val.Dispose ();
+ return ret;
+ }
+ }
+
+ [GLib.Property ("state")]
+ public Gst.WebRTC.WebRTCDTLSTransportState State {
+ get {
+ GLib.Value val = GetProperty ("state");
+ Gst.WebRTC.WebRTCDTLSTransportState ret = (Gst.WebRTC.WebRTCDTLSTransportState) (Enum) val;
+ val.Dispose ();
+ return ret;
+ }
+ }
+
+ [GLib.Property ("transport")]
+ public Gst.WebRTC.WebRTCICETransport Transport {
+ get {
+ GLib.Value val = GetProperty ("transport");
+ Gst.WebRTC.WebRTCICETransport ret = (Gst.WebRTC.WebRTCICETransport) 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 (Gst.Object.class_abi.Fields);
+
+ return _class_abi;
+ }
+ }
+
+
+ // End of the ABI representation.
+
+ [DllImport("gstwebrtc-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_webrtc_dtls_transport_get_type();
+
+ public static new GLib.GType GType {
+ get {
+ IntPtr raw_ret = gst_webrtc_dtls_transport_get_type();
+ GLib.GType ret = new GLib.GType(raw_ret);
+ return ret;
+ }
+ }
+
+
+ static WebRTCDTLSTransport ()
+ {
+ 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.Object.abi_info.Fields);
+
+ return _abi_info;
+ }
+ }
+
+
+ // End of the ABI representation.
+
+#endregion
+ }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/WebRTCDTLSTransportState.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/WebRTCDTLSTransportState.cs
new file mode 100644
index 0000000000..580b5c70bb
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/WebRTCDTLSTransportState.cs
@@ -0,0 +1,31 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.WebRTC {
+
+ using System;
+ using System.Runtime.InteropServices;
+
+#region Autogenerated code
+ [GLib.GType (typeof (Gst.WebRTC.WebRTCDTLSTransportStateGType))]
+ public enum WebRTCDTLSTransportState {
+
+ New = 0,
+ Closed = 1,
+ Failed = 2,
+ Connecting = 3,
+ Connected = 4,
+ }
+
+ internal class WebRTCDTLSTransportStateGType {
+ [DllImport ("gstwebrtc-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_webrtc_dtls_transport_state_get_type ();
+
+ public static GLib.GType GType {
+ get {
+ return new GLib.GType (gst_webrtc_dtls_transport_state_get_type ());
+ }
+ }
+ }
+#endregion
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/WebRTCDataChannel.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/WebRTCDataChannel.cs
new file mode 100644
index 0000000000..d225ae743c
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/WebRTCDataChannel.cs
@@ -0,0 +1,697 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.WebRTC {
+
+ using System;
+ using System.Collections;
+ using System.Collections.Generic;
+ using System.Runtime.InteropServices;
+
+#region Autogenerated code
+ public partial class WebRTCDataChannel : GLib.Object {
+
+ protected WebRTCDataChannel (IntPtr raw) : base(raw) {}
+
+ protected WebRTCDataChannel() : base(IntPtr.Zero)
+ {
+ CreateNativeObject (new string [0], new GLib.Value [0]);
+ }
+
+ [GLib.Property ("buffered-amount")]
+ public ulong BufferedAmount {
+ get {
+ GLib.Value val = GetProperty ("buffered-amount");
+ ulong ret = (ulong) val;
+ val.Dispose ();
+ return ret;
+ }
+ }
+
+ [GLib.Property ("buffered-amount-low-threshold")]
+ public ulong BufferedAmountLowThreshold {
+ get {
+ GLib.Value val = GetProperty ("buffered-amount-low-threshold");
+ ulong ret = (ulong) val;
+ val.Dispose ();
+ return ret;
+ }
+ set {
+ GLib.Value val = new GLib.Value(value);
+ SetProperty("buffered-amount-low-threshold", val);
+ val.Dispose ();
+ }
+ }
+
+ [GLib.Property ("id")]
+ public int Id {
+ get {
+ GLib.Value val = GetProperty ("id");
+ int ret = (int) val;
+ val.Dispose ();
+ return ret;
+ }
+ }
+
+ [GLib.Property ("label")]
+ public string Label {
+ get {
+ GLib.Value val = GetProperty ("label");
+ string ret = (string) val;
+ val.Dispose ();
+ return ret;
+ }
+ }
+
+ [GLib.Property ("max-packet-lifetime")]
+ public int MaxPacketLifetime {
+ get {
+ GLib.Value val = GetProperty ("max-packet-lifetime");
+ int ret = (int) val;
+ val.Dispose ();
+ return ret;
+ }
+ }
+
+ [GLib.Property ("max-retransmits")]
+ public int MaxRetransmits {
+ get {
+ GLib.Value val = GetProperty ("max-retransmits");
+ int ret = (int) val;
+ val.Dispose ();
+ return ret;
+ }
+ }
+
+ [GLib.Property ("negotiated")]
+ public bool Negotiated {
+ get {
+ GLib.Value val = GetProperty ("negotiated");
+ bool ret = (bool) val;
+ val.Dispose ();
+ return ret;
+ }
+ }
+
+ [GLib.Property ("ordered")]
+ public bool Ordered {
+ get {
+ GLib.Value val = GetProperty ("ordered");
+ bool ret = (bool) val;
+ val.Dispose ();
+ return ret;
+ }
+ }
+
+ [GLib.Property ("priority")]
+ public Gst.WebRTC.WebRTCPriorityType Priority {
+ get {
+ GLib.Value val = GetProperty ("priority");
+ Gst.WebRTC.WebRTCPriorityType ret = (Gst.WebRTC.WebRTCPriorityType) (Enum) val;
+ val.Dispose ();
+ return ret;
+ }
+ }
+
+ [GLib.Property ("protocol")]
+ public string Protocol {
+ get {
+ GLib.Value val = GetProperty ("protocol");
+ string ret = (string) val;
+ val.Dispose ();
+ return ret;
+ }
+ }
+
+ [GLib.Property ("ready-state")]
+ public Gst.WebRTC.WebRTCDataChannelState ReadyState {
+ get {
+ GLib.Value val = GetProperty ("ready-state");
+ Gst.WebRTC.WebRTCDataChannelState ret = (Gst.WebRTC.WebRTCDataChannelState) (Enum) val;
+ val.Dispose ();
+ return ret;
+ }
+ }
+
+ [GLib.Signal("on-error")]
+ public event Gst.WebRTC.OnErrorHandler OnError {
+ add {
+ this.AddSignalHandler ("on-error", value, typeof (Gst.WebRTC.OnErrorArgs));
+ }
+ remove {
+ this.RemoveSignalHandler ("on-error", value);
+ }
+ }
+
+ [GLib.Signal("send-string")]
+ public event Gst.WebRTC.SendStringEventHandler SendStringEvent {
+ add {
+ this.AddSignalHandler ("send-string", value, typeof (Gst.WebRTC.SendStringEventArgs));
+ }
+ remove {
+ this.RemoveSignalHandler ("send-string", value);
+ }
+ }
+
+ [GLib.Signal("send-data")]
+ public event Gst.WebRTC.SendDataEventHandler SendDataEvent {
+ add {
+ this.AddSignalHandler ("send-data", value, typeof (Gst.WebRTC.SendDataEventArgs));
+ }
+ remove {
+ this.RemoveSignalHandler ("send-data", value);
+ }
+ }
+
+ [GLib.Signal("close")]
+ public event System.EventHandler CloseEvent {
+ add {
+ this.AddSignalHandler ("close", value);
+ }
+ remove {
+ this.RemoveSignalHandler ("close", value);
+ }
+ }
+
+ [GLib.Signal("on-message-data")]
+ public event Gst.WebRTC.OnMessageDataHandler OnMessageData {
+ add {
+ this.AddSignalHandler ("on-message-data", value, typeof (Gst.WebRTC.OnMessageDataArgs));
+ }
+ remove {
+ this.RemoveSignalHandler ("on-message-data", value);
+ }
+ }
+
+ [GLib.Signal("on-buffered-amount-low")]
+ public event System.EventHandler OnBufferedAmountLow {
+ add {
+ this.AddSignalHandler ("on-buffered-amount-low", value);
+ }
+ remove {
+ this.RemoveSignalHandler ("on-buffered-amount-low", value);
+ }
+ }
+
+ [GLib.Signal("on-open")]
+ public event System.EventHandler OnOpen {
+ add {
+ this.AddSignalHandler ("on-open", value);
+ }
+ remove {
+ this.RemoveSignalHandler ("on-open", value);
+ }
+ }
+
+ [GLib.Signal("on-message-string")]
+ public event Gst.WebRTC.OnMessageStringHandler OnMessageString {
+ add {
+ this.AddSignalHandler ("on-message-string", value, typeof (Gst.WebRTC.OnMessageStringArgs));
+ }
+ remove {
+ this.RemoveSignalHandler ("on-message-string", value);
+ }
+ }
+
+ static CloseEventNativeDelegate CloseEvent_cb_delegate;
+ static CloseEventNativeDelegate CloseEventVMCallback {
+ get {
+ if (CloseEvent_cb_delegate == null)
+ CloseEvent_cb_delegate = new CloseEventNativeDelegate (CloseEvent_cb);
+ return CloseEvent_cb_delegate;
+ }
+ }
+
+ static void OverrideCloseEvent (GLib.GType gtype)
+ {
+ OverrideCloseEvent (gtype, CloseEventVMCallback);
+ }
+
+ static void OverrideCloseEvent (GLib.GType gtype, CloseEventNativeDelegate callback)
+ {
+ OverrideVirtualMethod (gtype, "close", callback);
+ }
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ delegate void CloseEventNativeDelegate (IntPtr inst);
+
+ static void CloseEvent_cb (IntPtr inst)
+ {
+ try {
+ WebRTCDataChannel __obj = GLib.Object.GetObject (inst, false) as WebRTCDataChannel;
+ __obj.OnCloseEvent ();
+ } catch (Exception e) {
+ GLib.ExceptionManager.RaiseUnhandledException (e, false);
+ }
+ }
+
+ [GLib.DefaultSignalHandler(Type=typeof(Gst.WebRTC.WebRTCDataChannel), ConnectionMethod="OverrideCloseEvent")]
+ protected virtual void OnCloseEvent ()
+ {
+ InternalCloseEvent ();
+ }
+
+ private void InternalCloseEvent ()
+ {
+ 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 OnBufferedAmountLowNativeDelegate OnBufferedAmountLow_cb_delegate;
+ static OnBufferedAmountLowNativeDelegate OnBufferedAmountLowVMCallback {
+ get {
+ if (OnBufferedAmountLow_cb_delegate == null)
+ OnBufferedAmountLow_cb_delegate = new OnBufferedAmountLowNativeDelegate (OnBufferedAmountLow_cb);
+ return OnBufferedAmountLow_cb_delegate;
+ }
+ }
+
+ static void OverrideOnBufferedAmountLow (GLib.GType gtype)
+ {
+ OverrideOnBufferedAmountLow (gtype, OnBufferedAmountLowVMCallback);
+ }
+
+ static void OverrideOnBufferedAmountLow (GLib.GType gtype, OnBufferedAmountLowNativeDelegate callback)
+ {
+ OverrideVirtualMethod (gtype, "on-buffered-amount-low", callback);
+ }
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ delegate void OnBufferedAmountLowNativeDelegate (IntPtr inst);
+
+ static void OnBufferedAmountLow_cb (IntPtr inst)
+ {
+ try {
+ WebRTCDataChannel __obj = GLib.Object.GetObject (inst, false) as WebRTCDataChannel;
+ __obj.OnOnBufferedAmountLow ();
+ } catch (Exception e) {
+ GLib.ExceptionManager.RaiseUnhandledException (e, false);
+ }
+ }
+
+ [GLib.DefaultSignalHandler(Type=typeof(Gst.WebRTC.WebRTCDataChannel), ConnectionMethod="OverrideOnBufferedAmountLow")]
+ protected virtual void OnOnBufferedAmountLow ()
+ {
+ InternalOnBufferedAmountLow ();
+ }
+
+ private void InternalOnBufferedAmountLow ()
+ {
+ 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 OnErrorNativeDelegate OnError_cb_delegate;
+ static OnErrorNativeDelegate OnErrorVMCallback {
+ get {
+ if (OnError_cb_delegate == null)
+ OnError_cb_delegate = new OnErrorNativeDelegate (OnError_cb);
+ return OnError_cb_delegate;
+ }
+ }
+
+ static void OverrideOnError (GLib.GType gtype)
+ {
+ OverrideOnError (gtype, OnErrorVMCallback);
+ }
+
+ static void OverrideOnError (GLib.GType gtype, OnErrorNativeDelegate callback)
+ {
+ OverrideVirtualMethod (gtype, "on-error", callback);
+ }
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ delegate void OnErrorNativeDelegate (IntPtr inst, IntPtr error);
+
+ static void OnError_cb (IntPtr inst, IntPtr error)
+ {
+ try {
+ WebRTCDataChannel __obj = GLib.Object.GetObject (inst, false) as WebRTCDataChannel;
+ __obj.OnOnError (error);
+ } catch (Exception e) {
+ GLib.ExceptionManager.RaiseUnhandledException (e, false);
+ }
+ }
+
+ [GLib.DefaultSignalHandler(Type=typeof(Gst.WebRTC.WebRTCDataChannel), ConnectionMethod="OverrideOnError")]
+ protected virtual void OnOnError (IntPtr error)
+ {
+ InternalOnError (error);
+ }
+
+ private void InternalOnError (IntPtr error)
+ {
+ 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 (error);
+ 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 OnMessageDataNativeDelegate OnMessageData_cb_delegate;
+ static OnMessageDataNativeDelegate OnMessageDataVMCallback {
+ get {
+ if (OnMessageData_cb_delegate == null)
+ OnMessageData_cb_delegate = new OnMessageDataNativeDelegate (OnMessageData_cb);
+ return OnMessageData_cb_delegate;
+ }
+ }
+
+ static void OverrideOnMessageData (GLib.GType gtype)
+ {
+ OverrideOnMessageData (gtype, OnMessageDataVMCallback);
+ }
+
+ static void OverrideOnMessageData (GLib.GType gtype, OnMessageDataNativeDelegate callback)
+ {
+ OverrideVirtualMethod (gtype, "on-message-data", callback);
+ }
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ delegate void OnMessageDataNativeDelegate (IntPtr inst, IntPtr data);
+
+ static void OnMessageData_cb (IntPtr inst, IntPtr data)
+ {
+ try {
+ WebRTCDataChannel __obj = GLib.Object.GetObject (inst, false) as WebRTCDataChannel;
+ __obj.OnOnMessageData (new GLib.Bytes(data));
+ } catch (Exception e) {
+ GLib.ExceptionManager.RaiseUnhandledException (e, false);
+ }
+ }
+
+ [GLib.DefaultSignalHandler(Type=typeof(Gst.WebRTC.WebRTCDataChannel), ConnectionMethod="OverrideOnMessageData")]
+ protected virtual void OnOnMessageData (GLib.Bytes data)
+ {
+ InternalOnMessageData (data);
+ }
+
+ private void InternalOnMessageData (GLib.Bytes data)
+ {
+ 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 (data);
+ 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 OnMessageStringNativeDelegate OnMessageString_cb_delegate;
+ static OnMessageStringNativeDelegate OnMessageStringVMCallback {
+ get {
+ if (OnMessageString_cb_delegate == null)
+ OnMessageString_cb_delegate = new OnMessageStringNativeDelegate (OnMessageString_cb);
+ return OnMessageString_cb_delegate;
+ }
+ }
+
+ static void OverrideOnMessageString (GLib.GType gtype)
+ {
+ OverrideOnMessageString (gtype, OnMessageStringVMCallback);
+ }
+
+ static void OverrideOnMessageString (GLib.GType gtype, OnMessageStringNativeDelegate callback)
+ {
+ OverrideVirtualMethod (gtype, "on-message-string", callback);
+ }
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ delegate void OnMessageStringNativeDelegate (IntPtr inst, IntPtr data);
+
+ static void OnMessageString_cb (IntPtr inst, IntPtr data)
+ {
+ try {
+ WebRTCDataChannel __obj = GLib.Object.GetObject (inst, false) as WebRTCDataChannel;
+ __obj.OnOnMessageString (GLib.Marshaller.Utf8PtrToString (data));
+ } catch (Exception e) {
+ GLib.ExceptionManager.RaiseUnhandledException (e, false);
+ }
+ }
+
+ [GLib.DefaultSignalHandler(Type=typeof(Gst.WebRTC.WebRTCDataChannel), ConnectionMethod="OverrideOnMessageString")]
+ protected virtual void OnOnMessageString (string data)
+ {
+ InternalOnMessageString (data);
+ }
+
+ private void InternalOnMessageString (string data)
+ {
+ 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 (data);
+ 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 OnOpenNativeDelegate OnOpen_cb_delegate;
+ static OnOpenNativeDelegate OnOpenVMCallback {
+ get {
+ if (OnOpen_cb_delegate == null)
+ OnOpen_cb_delegate = new OnOpenNativeDelegate (OnOpen_cb);
+ return OnOpen_cb_delegate;
+ }
+ }
+
+ static void OverrideOnOpen (GLib.GType gtype)
+ {
+ OverrideOnOpen (gtype, OnOpenVMCallback);
+ }
+
+ static void OverrideOnOpen (GLib.GType gtype, OnOpenNativeDelegate callback)
+ {
+ OverrideVirtualMethod (gtype, "on-open", callback);
+ }
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ delegate void OnOpenNativeDelegate (IntPtr inst);
+
+ static void OnOpen_cb (IntPtr inst)
+ {
+ try {
+ WebRTCDataChannel __obj = GLib.Object.GetObject (inst, false) as WebRTCDataChannel;
+ __obj.OnOnOpen ();
+ } catch (Exception e) {
+ GLib.ExceptionManager.RaiseUnhandledException (e, false);
+ }
+ }
+
+ [GLib.DefaultSignalHandler(Type=typeof(Gst.WebRTC.WebRTCDataChannel), ConnectionMethod="OverrideOnOpen")]
+ protected virtual void OnOnOpen ()
+ {
+ InternalOnOpen ();
+ }
+
+ private void InternalOnOpen ()
+ {
+ 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 SendDataEventNativeDelegate SendDataEvent_cb_delegate;
+ static SendDataEventNativeDelegate SendDataEventVMCallback {
+ get {
+ if (SendDataEvent_cb_delegate == null)
+ SendDataEvent_cb_delegate = new SendDataEventNativeDelegate (SendDataEvent_cb);
+ return SendDataEvent_cb_delegate;
+ }
+ }
+
+ static void OverrideSendDataEvent (GLib.GType gtype)
+ {
+ OverrideSendDataEvent (gtype, SendDataEventVMCallback);
+ }
+
+ static void OverrideSendDataEvent (GLib.GType gtype, SendDataEventNativeDelegate callback)
+ {
+ OverrideVirtualMethod (gtype, "send-data", callback);
+ }
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ delegate void SendDataEventNativeDelegate (IntPtr inst, IntPtr data);
+
+ static void SendDataEvent_cb (IntPtr inst, IntPtr data)
+ {
+ try {
+ WebRTCDataChannel __obj = GLib.Object.GetObject (inst, false) as WebRTCDataChannel;
+ __obj.OnSendDataEvent (new GLib.Bytes(data));
+ } catch (Exception e) {
+ GLib.ExceptionManager.RaiseUnhandledException (e, false);
+ }
+ }
+
+ [GLib.DefaultSignalHandler(Type=typeof(Gst.WebRTC.WebRTCDataChannel), ConnectionMethod="OverrideSendDataEvent")]
+ protected virtual void OnSendDataEvent (GLib.Bytes data)
+ {
+ InternalSendDataEvent (data);
+ }
+
+ private void InternalSendDataEvent (GLib.Bytes data)
+ {
+ 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 (data);
+ 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 SendStringEventNativeDelegate SendStringEvent_cb_delegate;
+ static SendStringEventNativeDelegate SendStringEventVMCallback {
+ get {
+ if (SendStringEvent_cb_delegate == null)
+ SendStringEvent_cb_delegate = new SendStringEventNativeDelegate (SendStringEvent_cb);
+ return SendStringEvent_cb_delegate;
+ }
+ }
+
+ static void OverrideSendStringEvent (GLib.GType gtype)
+ {
+ OverrideSendStringEvent (gtype, SendStringEventVMCallback);
+ }
+
+ static void OverrideSendStringEvent (GLib.GType gtype, SendStringEventNativeDelegate callback)
+ {
+ OverrideVirtualMethod (gtype, "send-string", callback);
+ }
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ delegate void SendStringEventNativeDelegate (IntPtr inst, IntPtr data);
+
+ static void SendStringEvent_cb (IntPtr inst, IntPtr data)
+ {
+ try {
+ WebRTCDataChannel __obj = GLib.Object.GetObject (inst, false) as WebRTCDataChannel;
+ __obj.OnSendStringEvent (GLib.Marshaller.Utf8PtrToString (data));
+ } catch (Exception e) {
+ GLib.ExceptionManager.RaiseUnhandledException (e, false);
+ }
+ }
+
+ [GLib.DefaultSignalHandler(Type=typeof(Gst.WebRTC.WebRTCDataChannel), ConnectionMethod="OverrideSendStringEvent")]
+ protected virtual void OnSendStringEvent (string data)
+ {
+ InternalSendStringEvent (data);
+ }
+
+ private void InternalSendStringEvent (string data)
+ {
+ 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 (data);
+ 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 (GLib.Object.class_abi.Fields);
+
+ return _class_abi;
+ }
+ }
+
+
+ // End of the ABI representation.
+
+ [DllImport("gstwebrtc-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_webrtc_data_channel_get_type();
+
+ public static new GLib.GType GType {
+ get {
+ IntPtr raw_ret = gst_webrtc_data_channel_get_type();
+ GLib.GType ret = new GLib.GType(raw_ret);
+ return ret;
+ }
+ }
+
+ [DllImport("gstwebrtc-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern void gst_webrtc_data_channel_close(IntPtr raw);
+
+ public void Close() {
+ gst_webrtc_data_channel_close(Handle);
+ }
+
+ [DllImport("gstwebrtc-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern void gst_webrtc_data_channel_send_data(IntPtr raw, IntPtr data);
+
+ public void SendData(GLib.Bytes data) {
+ gst_webrtc_data_channel_send_data(Handle, data == null ? IntPtr.Zero : data.Handle);
+ }
+
+ public void SendData() {
+ SendData (null);
+ }
+
+ [DllImport("gstwebrtc-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern void gst_webrtc_data_channel_send_string(IntPtr raw, IntPtr str);
+
+ public void SendString(string str) {
+ IntPtr native_str = GLib.Marshaller.StringToPtrGStrdup (str);
+ gst_webrtc_data_channel_send_string(Handle, native_str);
+ GLib.Marshaller.Free (native_str);
+ }
+
+ public void SendString() {
+ SendString (null);
+ }
+
+
+ static WebRTCDataChannel ()
+ {
+ 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/subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/WebRTCDataChannelState.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/WebRTCDataChannelState.cs
new file mode 100644
index 0000000000..43b9aa6c57
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/WebRTCDataChannelState.cs
@@ -0,0 +1,31 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.WebRTC {
+
+ using System;
+ using System.Runtime.InteropServices;
+
+#region Autogenerated code
+ [GLib.GType (typeof (Gst.WebRTC.WebRTCDataChannelStateGType))]
+ public enum WebRTCDataChannelState {
+
+ New = 0,
+ Connecting = 1,
+ Open = 2,
+ Closing = 3,
+ Closed = 4,
+ }
+
+ internal class WebRTCDataChannelStateGType {
+ [DllImport ("gstwebrtc-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_webrtc_data_channel_state_get_type ();
+
+ public static GLib.GType GType {
+ get {
+ return new GLib.GType (gst_webrtc_data_channel_state_get_type ());
+ }
+ }
+ }
+#endregion
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/WebRTCFECType.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/WebRTCFECType.cs
new file mode 100644
index 0000000000..507cf7d2c9
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/WebRTCFECType.cs
@@ -0,0 +1,28 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.WebRTC {
+
+ using System;
+ using System.Runtime.InteropServices;
+
+#region Autogenerated code
+ [GLib.GType (typeof (Gst.WebRTC.WebRTCFECTypeGType))]
+ public enum WebRTCFECType {
+
+ None = 0,
+ UlpRed = 1,
+ }
+
+ internal class WebRTCFECTypeGType {
+ [DllImport ("gstwebrtc-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_webrtc_fec_type_get_type ();
+
+ public static GLib.GType GType {
+ get {
+ return new GLib.GType (gst_webrtc_fec_type_get_type ());
+ }
+ }
+ }
+#endregion
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/WebRTCICEComponent.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/WebRTCICEComponent.cs
new file mode 100644
index 0000000000..9c07bd02d0
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/WebRTCICEComponent.cs
@@ -0,0 +1,28 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.WebRTC {
+
+ using System;
+ using System.Runtime.InteropServices;
+
+#region Autogenerated code
+ [GLib.GType (typeof (Gst.WebRTC.WebRTCICEComponentGType))]
+ public enum WebRTCICEComponent {
+
+ Rtp = 0,
+ Rtcp = 1,
+ }
+
+ internal class WebRTCICEComponentGType {
+ [DllImport ("gstwebrtc-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_webrtc_ice_component_get_type ();
+
+ public static GLib.GType GType {
+ get {
+ return new GLib.GType (gst_webrtc_ice_component_get_type ());
+ }
+ }
+ }
+#endregion
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/WebRTCICEConnectionState.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/WebRTCICEConnectionState.cs
new file mode 100644
index 0000000000..71545bc044
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/WebRTCICEConnectionState.cs
@@ -0,0 +1,33 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.WebRTC {
+
+ using System;
+ using System.Runtime.InteropServices;
+
+#region Autogenerated code
+ [GLib.GType (typeof (Gst.WebRTC.WebRTCICEConnectionStateGType))]
+ public enum WebRTCICEConnectionState {
+
+ New = 0,
+ Checking = 1,
+ Connected = 2,
+ Completed = 3,
+ Failed = 4,
+ Disconnected = 5,
+ Closed = 6,
+ }
+
+ internal class WebRTCICEConnectionStateGType {
+ [DllImport ("gstwebrtc-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_webrtc_ice_connection_state_get_type ();
+
+ public static GLib.GType GType {
+ get {
+ return new GLib.GType (gst_webrtc_ice_connection_state_get_type ());
+ }
+ }
+ }
+#endregion
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/WebRTCICEGatheringState.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/WebRTCICEGatheringState.cs
new file mode 100644
index 0000000000..6c737695d8
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/WebRTCICEGatheringState.cs
@@ -0,0 +1,29 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.WebRTC {
+
+ using System;
+ using System.Runtime.InteropServices;
+
+#region Autogenerated code
+ [GLib.GType (typeof (Gst.WebRTC.WebRTCICEGatheringStateGType))]
+ public enum WebRTCICEGatheringState {
+
+ New = 0,
+ Gathering = 1,
+ Complete = 2,
+ }
+
+ internal class WebRTCICEGatheringStateGType {
+ [DllImport ("gstwebrtc-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_webrtc_ice_gathering_state_get_type ();
+
+ public static GLib.GType GType {
+ get {
+ return new GLib.GType (gst_webrtc_ice_gathering_state_get_type ());
+ }
+ }
+ }
+#endregion
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/WebRTCICERole.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/WebRTCICERole.cs
new file mode 100644
index 0000000000..b39682cf94
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/WebRTCICERole.cs
@@ -0,0 +1,28 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.WebRTC {
+
+ using System;
+ using System.Runtime.InteropServices;
+
+#region Autogenerated code
+ [GLib.GType (typeof (Gst.WebRTC.WebRTCICERoleGType))]
+ public enum WebRTCICERole {
+
+ Controlled = 0,
+ Controlling = 1,
+ }
+
+ internal class WebRTCICERoleGType {
+ [DllImport ("gstwebrtc-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_webrtc_ice_role_get_type ();
+
+ public static GLib.GType GType {
+ get {
+ return new GLib.GType (gst_webrtc_ice_role_get_type ());
+ }
+ }
+ }
+#endregion
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/WebRTCICETransport.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/WebRTCICETransport.cs
new file mode 100644
index 0000000000..92ce681b2c
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/WebRTCICETransport.cs
@@ -0,0 +1,219 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.WebRTC {
+
+ using System;
+ using System.Collections;
+ using System.Collections.Generic;
+ using System.Runtime.InteropServices;
+
+#region Autogenerated code
+ public partial class WebRTCICETransport : Gst.Object {
+
+ protected WebRTCICETransport (IntPtr raw) : base(raw) {}
+
+ protected WebRTCICETransport() : base(IntPtr.Zero)
+ {
+ CreateNativeObject (new string [0], new GLib.Value [0]);
+ }
+
+ [GLib.Property ("component")]
+ public Gst.WebRTC.WebRTCICEComponent Component {
+ get {
+ GLib.Value val = GetProperty ("component");
+ Gst.WebRTC.WebRTCICEComponent ret = (Gst.WebRTC.WebRTCICEComponent) (Enum) val;
+ val.Dispose ();
+ return ret;
+ }
+ }
+
+ [GLib.Property ("gathering-state")]
+ public Gst.WebRTC.WebRTCICEGatheringState GatheringState {
+ get {
+ GLib.Value val = GetProperty ("gathering-state");
+ Gst.WebRTC.WebRTCICEGatheringState ret = (Gst.WebRTC.WebRTCICEGatheringState) (Enum) val;
+ val.Dispose ();
+ return ret;
+ }
+ }
+
+ [GLib.Property ("state")]
+ public Gst.WebRTC.WebRTCICEConnectionState State {
+ get {
+ GLib.Value val = GetProperty ("state");
+ Gst.WebRTC.WebRTCICEConnectionState ret = (Gst.WebRTC.WebRTCICEConnectionState) (Enum) val;
+ val.Dispose ();
+ return ret;
+ }
+ }
+
+ [GLib.Signal("on-selected-candidate-pair-change")]
+ public event System.EventHandler OnSelectedCandidatePairChange {
+ add {
+ this.AddSignalHandler ("on-selected-candidate-pair-change", value);
+ }
+ remove {
+ this.RemoveSignalHandler ("on-selected-candidate-pair-change", value);
+ }
+ }
+
+ [GLib.Signal("on-new-candidate")]
+ public event Gst.WebRTC.OnNewCandidateHandler OnNewCandidate {
+ add {
+ this.AddSignalHandler ("on-new-candidate", value, typeof (Gst.WebRTC.OnNewCandidateArgs));
+ }
+ remove {
+ this.RemoveSignalHandler ("on-new-candidate", value);
+ }
+ }
+
+ static OnNewCandidateNativeDelegate OnNewCandidate_cb_delegate;
+ static OnNewCandidateNativeDelegate OnNewCandidateVMCallback {
+ get {
+ if (OnNewCandidate_cb_delegate == null)
+ OnNewCandidate_cb_delegate = new OnNewCandidateNativeDelegate (OnNewCandidate_cb);
+ return OnNewCandidate_cb_delegate;
+ }
+ }
+
+ static void OverrideOnNewCandidate (GLib.GType gtype)
+ {
+ OverrideOnNewCandidate (gtype, OnNewCandidateVMCallback);
+ }
+
+ static void OverrideOnNewCandidate (GLib.GType gtype, OnNewCandidateNativeDelegate callback)
+ {
+ OverrideVirtualMethod (gtype, "on-new-candidate", callback);
+ }
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ delegate void OnNewCandidateNativeDelegate (IntPtr inst, IntPtr _object);
+
+ static void OnNewCandidate_cb (IntPtr inst, IntPtr _object)
+ {
+ try {
+ WebRTCICETransport __obj = GLib.Object.GetObject (inst, false) as WebRTCICETransport;
+ __obj.OnOnNewCandidate (GLib.Marshaller.Utf8PtrToString (_object));
+ } catch (Exception e) {
+ GLib.ExceptionManager.RaiseUnhandledException (e, false);
+ }
+ }
+
+ [GLib.DefaultSignalHandler(Type=typeof(Gst.WebRTC.WebRTCICETransport), ConnectionMethod="OverrideOnNewCandidate")]
+ protected virtual void OnOnNewCandidate (string _object)
+ {
+ InternalOnNewCandidate (_object);
+ }
+
+ private void InternalOnNewCandidate (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 OnSelectedCandidatePairChangeNativeDelegate OnSelectedCandidatePairChange_cb_delegate;
+ static OnSelectedCandidatePairChangeNativeDelegate OnSelectedCandidatePairChangeVMCallback {
+ get {
+ if (OnSelectedCandidatePairChange_cb_delegate == null)
+ OnSelectedCandidatePairChange_cb_delegate = new OnSelectedCandidatePairChangeNativeDelegate (OnSelectedCandidatePairChange_cb);
+ return OnSelectedCandidatePairChange_cb_delegate;
+ }
+ }
+
+ static void OverrideOnSelectedCandidatePairChange (GLib.GType gtype)
+ {
+ OverrideOnSelectedCandidatePairChange (gtype, OnSelectedCandidatePairChangeVMCallback);
+ }
+
+ static void OverrideOnSelectedCandidatePairChange (GLib.GType gtype, OnSelectedCandidatePairChangeNativeDelegate callback)
+ {
+ OverrideVirtualMethod (gtype, "on-selected-candidate-pair-change", callback);
+ }
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ delegate void OnSelectedCandidatePairChangeNativeDelegate (IntPtr inst);
+
+ static void OnSelectedCandidatePairChange_cb (IntPtr inst)
+ {
+ try {
+ WebRTCICETransport __obj = GLib.Object.GetObject (inst, false) as WebRTCICETransport;
+ __obj.OnOnSelectedCandidatePairChange ();
+ } catch (Exception e) {
+ GLib.ExceptionManager.RaiseUnhandledException (e, false);
+ }
+ }
+
+ [GLib.DefaultSignalHandler(Type=typeof(Gst.WebRTC.WebRTCICETransport), ConnectionMethod="OverrideOnSelectedCandidatePairChange")]
+ protected virtual void OnOnSelectedCandidatePairChange ()
+ {
+ InternalOnSelectedCandidatePairChange ();
+ }
+
+ private void InternalOnSelectedCandidatePairChange ()
+ {
+ 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 ();
+ }
+
+
+ // 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("gstwebrtc-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_webrtc_ice_transport_get_type();
+
+ public static new GLib.GType GType {
+ get {
+ IntPtr raw_ret = gst_webrtc_ice_transport_get_type();
+ GLib.GType ret = new GLib.GType(raw_ret);
+ return ret;
+ }
+ }
+
+
+ static WebRTCICETransport ()
+ {
+ 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.Object.abi_info.Fields);
+
+ return _abi_info;
+ }
+ }
+
+
+ // End of the ABI representation.
+
+#endregion
+ }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/WebRTCICETransportPolicy.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/WebRTCICETransportPolicy.cs
new file mode 100644
index 0000000000..4d526b1329
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/WebRTCICETransportPolicy.cs
@@ -0,0 +1,28 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.WebRTC {
+
+ using System;
+ using System.Runtime.InteropServices;
+
+#region Autogenerated code
+ [GLib.GType (typeof (Gst.WebRTC.WebRTCICETransportPolicyGType))]
+ public enum WebRTCICETransportPolicy {
+
+ All = 0,
+ Relay = 1,
+ }
+
+ internal class WebRTCICETransportPolicyGType {
+ [DllImport ("gstwebrtc-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_webrtc_ice_transport_policy_get_type ();
+
+ public static GLib.GType GType {
+ get {
+ return new GLib.GType (gst_webrtc_ice_transport_policy_get_type ());
+ }
+ }
+ }
+#endregion
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/WebRTCKind.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/WebRTCKind.cs
new file mode 100644
index 0000000000..e5041a932f
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/WebRTCKind.cs
@@ -0,0 +1,29 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.WebRTC {
+
+ using System;
+ using System.Runtime.InteropServices;
+
+#region Autogenerated code
+ [GLib.GType (typeof (Gst.WebRTC.WebRTCKindGType))]
+ public enum WebRTCKind {
+
+ Unknown = 0,
+ Audio = 1,
+ Video = 2,
+ }
+
+ internal class WebRTCKindGType {
+ [DllImport ("gstwebrtc-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_webrtc_kind_get_type ();
+
+ public static GLib.GType GType {
+ get {
+ return new GLib.GType (gst_webrtc_kind_get_type ());
+ }
+ }
+ }
+#endregion
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/WebRTCPeerConnectionState.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/WebRTCPeerConnectionState.cs
new file mode 100644
index 0000000000..f3711aad01
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/WebRTCPeerConnectionState.cs
@@ -0,0 +1,32 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.WebRTC {
+
+ using System;
+ using System.Runtime.InteropServices;
+
+#region Autogenerated code
+ [GLib.GType (typeof (Gst.WebRTC.WebRTCPeerConnectionStateGType))]
+ public enum WebRTCPeerConnectionState {
+
+ New = 0,
+ Connecting = 1,
+ Connected = 2,
+ Disconnected = 3,
+ Failed = 4,
+ Closed = 5,
+ }
+
+ internal class WebRTCPeerConnectionStateGType {
+ [DllImport ("gstwebrtc-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_webrtc_peer_connection_state_get_type ();
+
+ public static GLib.GType GType {
+ get {
+ return new GLib.GType (gst_webrtc_peer_connection_state_get_type ());
+ }
+ }
+ }
+#endregion
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/WebRTCPriorityType.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/WebRTCPriorityType.cs
new file mode 100644
index 0000000000..2e5c07f7d2
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/WebRTCPriorityType.cs
@@ -0,0 +1,30 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.WebRTC {
+
+ using System;
+ using System.Runtime.InteropServices;
+
+#region Autogenerated code
+ [GLib.GType (typeof (Gst.WebRTC.WebRTCPriorityTypeGType))]
+ public enum WebRTCPriorityType {
+
+ VeryLow = 1,
+ Low = 2,
+ Medium = 3,
+ High = 4,
+ }
+
+ internal class WebRTCPriorityTypeGType {
+ [DllImport ("gstwebrtc-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_webrtc_priority_type_get_type ();
+
+ public static GLib.GType GType {
+ get {
+ return new GLib.GType (gst_webrtc_priority_type_get_type ());
+ }
+ }
+ }
+#endregion
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/WebRTCRTPReceiver.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/WebRTCRTPReceiver.cs
new file mode 100644
index 0000000000..f3c63f6d5b
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/WebRTCRTPReceiver.cs
@@ -0,0 +1,79 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.WebRTC {
+
+ using System;
+ using System.Collections;
+ using System.Collections.Generic;
+ using System.Runtime.InteropServices;
+
+#region Autogenerated code
+ public partial class WebRTCRTPReceiver : Gst.Object {
+
+ public WebRTCRTPReceiver (IntPtr raw) : base(raw) {}
+
+ protected WebRTCRTPReceiver() : base(IntPtr.Zero)
+ {
+ CreateNativeObject (new string [0], new GLib.Value [0]);
+ }
+
+ [GLib.Property ("transport")]
+ public Gst.WebRTC.WebRTCDTLSTransport Transport {
+ get {
+ GLib.Value val = GetProperty ("transport");
+ Gst.WebRTC.WebRTCDTLSTransport ret = (Gst.WebRTC.WebRTCDTLSTransport) 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 (Gst.Object.class_abi.Fields);
+
+ return _class_abi;
+ }
+ }
+
+
+ // End of the ABI representation.
+
+ [DllImport("gstwebrtc-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_webrtc_rtp_receiver_get_type();
+
+ public static new GLib.GType GType {
+ get {
+ IntPtr raw_ret = gst_webrtc_rtp_receiver_get_type();
+ GLib.GType ret = new GLib.GType(raw_ret);
+ return ret;
+ }
+ }
+
+
+ static WebRTCRTPReceiver ()
+ {
+ 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.Object.abi_info.Fields);
+
+ return _abi_info;
+ }
+ }
+
+
+ // End of the ABI representation.
+
+#endregion
+ }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/WebRTCRTPSender.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/WebRTCRTPSender.cs
new file mode 100644
index 0000000000..db360c60d6
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/WebRTCRTPSender.cs
@@ -0,0 +1,95 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.WebRTC {
+
+ using System;
+ using System.Collections;
+ using System.Collections.Generic;
+ using System.Runtime.InteropServices;
+
+#region Autogenerated code
+ public partial class WebRTCRTPSender : Gst.Object {
+
+ public WebRTCRTPSender (IntPtr raw) : base(raw) {}
+
+ protected WebRTCRTPSender() : base(IntPtr.Zero)
+ {
+ CreateNativeObject (new string [0], new GLib.Value [0]);
+ }
+
+ [DllImport("gstwebrtc-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern void gst_webrtc_rtp_sender_set_priority(IntPtr raw, int priority);
+
+ [GLib.Property ("priority")]
+ public Gst.WebRTC.WebRTCPriorityType Priority {
+ get {
+ GLib.Value val = GetProperty ("priority");
+ Gst.WebRTC.WebRTCPriorityType ret = (Gst.WebRTC.WebRTCPriorityType) (Enum) val;
+ val.Dispose ();
+ return ret;
+ }
+ set {
+ gst_webrtc_rtp_sender_set_priority(Handle, (int) value);
+ }
+ }
+
+ [GLib.Property ("transport")]
+ public Gst.WebRTC.WebRTCDTLSTransport Transport {
+ get {
+ GLib.Value val = GetProperty ("transport");
+ Gst.WebRTC.WebRTCDTLSTransport ret = (Gst.WebRTC.WebRTCDTLSTransport) 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 (Gst.Object.class_abi.Fields);
+
+ return _class_abi;
+ }
+ }
+
+
+ // End of the ABI representation.
+
+ [DllImport("gstwebrtc-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_webrtc_rtp_sender_get_type();
+
+ public static new GLib.GType GType {
+ get {
+ IntPtr raw_ret = gst_webrtc_rtp_sender_get_type();
+ GLib.GType ret = new GLib.GType(raw_ret);
+ return ret;
+ }
+ }
+
+
+ static WebRTCRTPSender ()
+ {
+ 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.Object.abi_info.Fields);
+
+ return _abi_info;
+ }
+ }
+
+
+ // End of the ABI representation.
+
+#endregion
+ }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/WebRTCRTPTransceiver.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/WebRTCRTPTransceiver.cs
new file mode 100644
index 0000000000..118dd508a2
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/WebRTCRTPTransceiver.cs
@@ -0,0 +1,159 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.WebRTC {
+
+ using System;
+ using System.Collections;
+ using System.Collections.Generic;
+ using System.Runtime.InteropServices;
+
+#region Autogenerated code
+ public partial class WebRTCRTPTransceiver : Gst.Object {
+
+ protected WebRTCRTPTransceiver (IntPtr raw) : base(raw) {}
+
+ protected WebRTCRTPTransceiver() : base(IntPtr.Zero)
+ {
+ CreateNativeObject (new string [0], new GLib.Value [0]);
+ }
+
+ [GLib.Property ("codec-preferences")]
+ public Gst.Caps CodecPreferences {
+ get {
+ GLib.Value val = GetProperty ("codec-preferences");
+ Gst.Caps ret = (Gst.Caps) val;
+ val.Dispose ();
+ return ret;
+ }
+ set {
+ GLib.Value val = new GLib.Value(value, "GstCaps*");
+ SetProperty("codec-preferences", val);
+ val.Dispose ();
+ }
+ }
+
+ [GLib.Property ("current-direction")]
+ public Gst.WebRTC.WebRTCRTPTransceiverDirection CurrentDirection {
+ get {
+ GLib.Value val = GetProperty ("current-direction");
+ Gst.WebRTC.WebRTCRTPTransceiverDirection ret = (Gst.WebRTC.WebRTCRTPTransceiverDirection) (Enum) val;
+ val.Dispose ();
+ return ret;
+ }
+ }
+
+ [GLib.Property ("direction")]
+ public Gst.WebRTC.WebRTCRTPTransceiverDirection Direction {
+ get {
+ GLib.Value val = GetProperty ("direction");
+ Gst.WebRTC.WebRTCRTPTransceiverDirection ret = (Gst.WebRTC.WebRTCRTPTransceiverDirection) (Enum) val;
+ val.Dispose ();
+ return ret;
+ }
+ set {
+ GLib.Value val = new GLib.Value((Enum) value);
+ SetProperty("direction", val);
+ val.Dispose ();
+ }
+ }
+
+ [GLib.Property ("kind")]
+ public Gst.WebRTC.WebRTCKind Kind {
+ get {
+ GLib.Value val = GetProperty ("kind");
+ Gst.WebRTC.WebRTCKind ret = (Gst.WebRTC.WebRTCKind) (Enum) val;
+ val.Dispose ();
+ return ret;
+ }
+ }
+
+ [GLib.Property ("mid")]
+ public string Mid {
+ get {
+ GLib.Value val = GetProperty ("mid");
+ string ret = (string) val;
+ val.Dispose ();
+ return ret;
+ }
+ }
+
+ [GLib.Property ("mlineindex")]
+ public uint Mlineindex {
+ get {
+ GLib.Value val = GetProperty ("mlineindex");
+ uint ret = (uint) val;
+ val.Dispose ();
+ return ret;
+ }
+ }
+
+ [GLib.Property ("receiver")]
+ public Gst.WebRTC.WebRTCRTPReceiver Receiver {
+ get {
+ GLib.Value val = GetProperty ("receiver");
+ Gst.WebRTC.WebRTCRTPReceiver ret = (Gst.WebRTC.WebRTCRTPReceiver) val;
+ val.Dispose ();
+ return ret;
+ }
+ }
+
+ [GLib.Property ("sender")]
+ public Gst.WebRTC.WebRTCRTPSender Sender {
+ get {
+ GLib.Value val = GetProperty ("sender");
+ Gst.WebRTC.WebRTCRTPSender ret = (Gst.WebRTC.WebRTCRTPSender) 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 (Gst.Object.class_abi.Fields);
+
+ return _class_abi;
+ }
+ }
+
+
+ // End of the ABI representation.
+
+ [DllImport("gstwebrtc-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_webrtc_rtp_transceiver_get_type();
+
+ public static new GLib.GType GType {
+ get {
+ IntPtr raw_ret = gst_webrtc_rtp_transceiver_get_type();
+ GLib.GType ret = new GLib.GType(raw_ret);
+ return ret;
+ }
+ }
+
+
+ static WebRTCRTPTransceiver ()
+ {
+ 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.Object.abi_info.Fields);
+
+ return _abi_info;
+ }
+ }
+
+
+ // End of the ABI representation.
+
+#endregion
+ }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/WebRTCRTPTransceiverDirection.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/WebRTCRTPTransceiverDirection.cs
new file mode 100644
index 0000000000..316e36c17f
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/WebRTCRTPTransceiverDirection.cs
@@ -0,0 +1,31 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.WebRTC {
+
+ using System;
+ using System.Runtime.InteropServices;
+
+#region Autogenerated code
+ [GLib.GType (typeof (Gst.WebRTC.WebRTCRTPTransceiverDirectionGType))]
+ public enum WebRTCRTPTransceiverDirection {
+
+ None = 0,
+ Inactive = 1,
+ Sendonly = 2,
+ Recvonly = 3,
+ Sendrecv = 4,
+ }
+
+ internal class WebRTCRTPTransceiverDirectionGType {
+ [DllImport ("gstwebrtc-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_webrtc_rtp_transceiver_direction_get_type ();
+
+ public static GLib.GType GType {
+ get {
+ return new GLib.GType (gst_webrtc_rtp_transceiver_direction_get_type ());
+ }
+ }
+ }
+#endregion
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/WebRTCSCTPTransportState.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/WebRTCSCTPTransportState.cs
new file mode 100644
index 0000000000..8cb36fb58e
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/WebRTCSCTPTransportState.cs
@@ -0,0 +1,30 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.WebRTC {
+
+ using System;
+ using System.Runtime.InteropServices;
+
+#region Autogenerated code
+ [GLib.GType (typeof (Gst.WebRTC.WebRTCSCTPTransportStateGType))]
+ public enum WebRTCSCTPTransportState {
+
+ New = 0,
+ Connecting = 1,
+ Connected = 2,
+ Closed = 3,
+ }
+
+ internal class WebRTCSCTPTransportStateGType {
+ [DllImport ("gstwebrtc-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_webrtc_sctp_transport_state_get_type ();
+
+ public static GLib.GType GType {
+ get {
+ return new GLib.GType (gst_webrtc_sctp_transport_state_get_type ());
+ }
+ }
+ }
+#endregion
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/WebRTCSDPType.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/WebRTCSDPType.cs
new file mode 100644
index 0000000000..72e9e5ba6e
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/WebRTCSDPType.cs
@@ -0,0 +1,30 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.WebRTC {
+
+ using System;
+ using System.Runtime.InteropServices;
+
+#region Autogenerated code
+ [GLib.GType (typeof (Gst.WebRTC.WebRTCSDPTypeGType))]
+ public enum WebRTCSDPType {
+
+ Offer = 1,
+ Pranswer = 2,
+ Answer = 3,
+ Rollback = 4,
+ }
+
+ internal class WebRTCSDPTypeGType {
+ [DllImport ("gstwebrtc-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_webrtc_sdp_type_get_type ();
+
+ public static GLib.GType GType {
+ get {
+ return new GLib.GType (gst_webrtc_sdp_type_get_type ());
+ }
+ }
+ }
+#endregion
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/WebRTCSessionDescription.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/WebRTCSessionDescription.cs
new file mode 100644
index 0000000000..fcf0078f90
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/WebRTCSessionDescription.cs
@@ -0,0 +1,84 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.WebRTC {
+
+ using System;
+ using System.Collections;
+ using System.Collections.Generic;
+ using System.Runtime.InteropServices;
+
+#region Autogenerated code
+ [StructLayout(LayoutKind.Sequential)]
+ public partial struct WebRTCSessionDescription : IEquatable<WebRTCSessionDescription> {
+
+ public Gst.WebRTC.WebRTCSDPType Type;
+ private IntPtr _sdp;
+ public Gst.Sdp.SDPMessage Sdp {
+ get {
+ return _sdp == IntPtr.Zero ? null : (Gst.Sdp.SDPMessage) GLib.Opaque.GetOpaque (_sdp, typeof (Gst.Sdp.SDPMessage), false);
+ }
+ set {
+ _sdp = value == null ? IntPtr.Zero : value.Handle;
+ }
+ }
+
+ public static Gst.WebRTC.WebRTCSessionDescription Zero = new Gst.WebRTC.WebRTCSessionDescription ();
+
+ public static Gst.WebRTC.WebRTCSessionDescription New(IntPtr raw) {
+ if (raw == IntPtr.Zero)
+ return Gst.WebRTC.WebRTCSessionDescription.Zero;
+ return (Gst.WebRTC.WebRTCSessionDescription) Marshal.PtrToStructure (raw, typeof (Gst.WebRTC.WebRTCSessionDescription));
+ }
+
+ [DllImport("gstwebrtc-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_webrtc_session_description_new(int type, IntPtr sdp);
+
+ public static WebRTCSessionDescription New(Gst.WebRTC.WebRTCSDPType type, Gst.Sdp.SDPMessage sdp)
+ {
+ sdp.Owned = false;
+ WebRTCSessionDescription result = WebRTCSessionDescription.New (gst_webrtc_session_description_new((int) type, sdp == null ? IntPtr.Zero : sdp.Handle));
+ return result;
+ }
+
+ [DllImport("gstwebrtc-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_webrtc_session_description_get_type();
+
+ public static GLib.GType GType {
+ get {
+ IntPtr raw_ret = gst_webrtc_session_description_get_type();
+ GLib.GType ret = new GLib.GType(raw_ret);
+ return ret;
+ }
+ }
+
+ public bool Equals (WebRTCSessionDescription other)
+ {
+ return true && Type.Equals (other.Type) && Sdp.Equals (other.Sdp);
+ }
+
+ public override bool Equals (object other)
+ {
+ return other is WebRTCSessionDescription && Equals ((WebRTCSessionDescription) other);
+ }
+
+ public override int GetHashCode ()
+ {
+ return this.GetType ().FullName.GetHashCode () ^ Type.GetHashCode () ^ Sdp.GetHashCode ();
+ }
+
+ public static explicit operator GLib.Value (Gst.WebRTC.WebRTCSessionDescription boxed)
+ {
+ GLib.Value val = GLib.Value.Empty;
+ val.Init (Gst.WebRTC.WebRTCSessionDescription.GType);
+ val.Val = boxed;
+ return val;
+ }
+
+ public static explicit operator Gst.WebRTC.WebRTCSessionDescription (GLib.Value val)
+ {
+ return (Gst.WebRTC.WebRTCSessionDescription) val.Val;
+ }
+#endregion
+ }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/WebRTCSignalingState.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/WebRTCSignalingState.cs
new file mode 100644
index 0000000000..26ac5364e7
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/WebRTCSignalingState.cs
@@ -0,0 +1,32 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.WebRTC {
+
+ using System;
+ using System.Runtime.InteropServices;
+
+#region Autogenerated code
+ [GLib.GType (typeof (Gst.WebRTC.WebRTCSignalingStateGType))]
+ public enum WebRTCSignalingState {
+
+ Stable = 0,
+ Closed = 1,
+ HaveLocalOffer = 2,
+ HaveRemoteOffer = 3,
+ HaveLocalPranswer = 4,
+ HaveRemotePranswer = 5,
+ }
+
+ internal class WebRTCSignalingStateGType {
+ [DllImport ("gstwebrtc-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_webrtc_signaling_state_get_type ();
+
+ public static GLib.GType GType {
+ get {
+ return new GLib.GType (gst_webrtc_signaling_state_get_type ());
+ }
+ }
+ }
+#endregion
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/WebRTCStatsType.cs b/subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/WebRTCStatsType.cs
new file mode 100644
index 0000000000..2f233c443e
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst.WebRTC/WebRTCStatsType.cs
@@ -0,0 +1,40 @@
+// This file was generated by the Gtk# code generator.
+// Any changes made will be lost if regenerated.
+
+namespace Gst.WebRTC {
+
+ using System;
+ using System.Runtime.InteropServices;
+
+#region Autogenerated code
+ [GLib.GType (typeof (Gst.WebRTC.WebRTCStatsTypeGType))]
+ public enum WebRTCStatsType {
+
+ Codec = 1,
+ InboundRtp = 2,
+ OutboundRtp = 3,
+ RemoteInboundRtp = 4,
+ RemoteOutboundRtp = 5,
+ Csrc = 6,
+ PeerConnection = 7,
+ DataChannel = 8,
+ Stream = 9,
+ Transport = 10,
+ CandidatePair = 11,
+ LocalCandidate = 12,
+ RemoteCandidate = 13,
+ Certificate = 14,
+ }
+
+ internal class WebRTCStatsTypeGType {
+ [DllImport ("gstwebrtc-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_webrtc_stats_type_get_type ();
+
+ public static GLib.GType GType {
+ get {
+ return new GLib.GType (gst_webrtc_stats_type_get_type ());
+ }
+ }
+ }
+#endregion
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst/AllocationParams.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/AllocationParams.cs
new file mode 100644
index 0000000000..4aa639aace
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/AllocationParams.cs
@@ -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("gstreamer-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("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/Allocator.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/Allocator.cs
new file mode 100644
index 0000000000..1fe5dc0997
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/Allocator.cs
@@ -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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/AllocatorFlags.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/AllocatorFlags.cs
new file mode 100644
index 0000000000..88b80c6db2
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/AllocatorFlags.cs
@@ -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 : uint {
+
+ CustomAlloc = 16,
+ Last = 1048576,
+ }
+
+ internal class AllocatorFlagsGType {
+ [DllImport ("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/Application.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/Application.cs
new file mode 100644
index 0000000000..8e2e4b5601
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/Application.cs
@@ -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("gstreamer-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("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/AtomicQueue.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/AtomicQueue.cs
new file mode 100644
index 0000000000..67c8fec87c
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/AtomicQueue.cs
@@ -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 AtomicQueue : GLib.Opaque {
+
+ [DllImport("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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;
+ }
+ }
+
+ protected override Action<IntPtr> DisposeUnmanagedFunc {
+ get {
+ return gst_atomic_queue_unref;
+ }
+ }
+
+
+ // 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/subprojects/gstreamer-sharp/sources/generated/Gst/Bin.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/Bin.cs
new file mode 100644
index 0000000000..e320cd2489
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/Bin.cs
@@ -0,0 +1,1245 @@
+// 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("gstreamer-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("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("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);
+ }
+ }
+
+ [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("element-added")]
+ public event Gst.ElementAddedHandler ElementAdded {
+ add {
+ this.AddSignalHandler ("element-added", value, typeof (Gst.ElementAddedArgs));
+ }
+ remove {
+ this.RemoveSignalHandler ("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);
+ }
+ }
+
+ 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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern int gst_bin_get_suppressed_flags(IntPtr raw);
+
+ [DllImport("gstreamer-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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_bin_iterate_all_by_element_factory_name(IntPtr raw, IntPtr factory_name);
+
+ public Gst.Iterator IterateAllByElementFactoryName(string factory_name) {
+ IntPtr native_factory_name = GLib.Marshaller.StringToPtrGStrdup (factory_name);
+ IntPtr raw_ret = gst_bin_iterate_all_by_element_factory_name(Handle, native_factory_name);
+ Gst.Iterator ret = raw_ret == IntPtr.Zero ? null : (Gst.Iterator) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Iterator), true);
+ GLib.Marshaller.Free (native_factory_name);
+ return ret;
+ }
+
+ [DllImport("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/BinFlags.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/BinFlags.cs
new file mode 100644
index 0000000000..f4994387ed
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/BinFlags.cs
@@ -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 : uint {
+
+ NoResync = 16384,
+ StreamsAware = 32768,
+ Last = 524288,
+ }
+
+ internal class BinFlagsGType {
+ [DllImport ("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/Bitmask.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/Bitmask.cs
new file mode 100644
index 0000000000..fdb8ceeb9d
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/Bitmask.cs
@@ -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("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/Buffer.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/Buffer.cs
new file mode 100644
index 0000000000..bb7144a829
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/Buffer.cs
@@ -0,0 +1,750 @@
+// 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("gstreamer-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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_buffer_add_custom_meta(IntPtr raw, IntPtr name);
+
+ public Gst.CustomMeta AddCustomMeta(string name) {
+ IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
+ IntPtr raw_ret = gst_buffer_add_custom_meta(Handle, native_name);
+ Gst.CustomMeta ret = Gst.CustomMeta.New (raw_ret);
+ GLib.Marshaller.Free (native_name);
+ return ret;
+ }
+
+ [DllImport("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_buffer_get_custom_meta(IntPtr raw, IntPtr name);
+
+ public Gst.CustomMeta GetCustomMeta(string name) {
+ IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
+ IntPtr raw_ret = gst_buffer_get_custom_meta(Handle, native_name);
+ Gst.CustomMeta ret = Gst.CustomMeta.New (raw_ret);
+ GLib.Marshaller.Free (native_name);
+ return ret;
+ }
+
+ [DllImport("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern uint gst_buffer_get_n_meta(IntPtr raw, IntPtr api_type);
+
+ public uint GetNMeta(GLib.GType api_type) {
+ uint raw_ret = gst_buffer_get_n_meta(Handle, api_type.Val);
+ uint ret = raw_ret;
+ return ret;
+ }
+
+ [DllImport("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_buffer_new();
+
+ public Buffer ()
+ {
+ Raw = gst_buffer_new();
+ }
+
+ [DllImport("gstreamer-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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_buffer_new_wrapped_bytes(IntPtr bytes);
+
+ public Buffer (GLib.Bytes bytes)
+ {
+ Raw = gst_buffer_new_wrapped_bytes(bytes == null ? IntPtr.Zero : bytes.Handle);
+ }
+
+ [DllImport("gstreamer-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);
+ }
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_buffer_ref(IntPtr raw);
+
+ protected override void Ref (IntPtr raw)
+ {
+ if (!Owned) {
+ gst_buffer_ref (raw);
+ Owned = true;
+ }
+ }
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern void gst_buffer_unref(IntPtr raw);
+
+ protected override void Unref (IntPtr raw)
+ {
+ if (Owned) {
+ gst_buffer_unref (raw);
+ Owned = false;
+ }
+ }
+
+ protected override Action<IntPtr> DisposeUnmanagedFunc {
+ get {
+ return gst_buffer_unref;
+ }
+ }
+
+
+ // 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/subprojects/gstreamer-sharp/sources/generated/Gst/BufferCopyFlags.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/BufferCopyFlags.cs
new file mode 100644
index 0000000000..24bb8fcbe2
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/BufferCopyFlags.cs
@@ -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 : uint {
+
+ None = 0,
+ Flags = 1,
+ Timestamps = 2,
+ Meta = 4,
+ Memory = 8,
+ Merge = 16,
+ Deep = 32,
+ }
+
+ internal class BufferCopyFlagsGType {
+ [DllImport ("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/BufferFlags.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/BufferFlags.cs
new file mode 100644
index 0000000000..611d3aca90
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/BufferFlags.cs
@@ -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.BufferFlagsGType))]
+ public enum BufferFlags : uint {
+
+ Live = 16,
+ DecodeOnly = 32,
+ Discont = 64,
+ Resync = 128,
+ Corrupted = 256,
+ Marker = 512,
+ Header = 1024,
+ Gap = 2048,
+ Droppable = 4096,
+ DeltaUnit = 8192,
+ TagMemory = 16384,
+ SyncAfter = 32768,
+ NonDroppable = 65536,
+ Last = 1048576,
+ }
+
+ internal class BufferFlagsGType {
+ [DllImport ("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/BufferForeachMetaFunc.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/BufferForeachMetaFunc.cs
new file mode 100644
index 0000000000..3b887648a4
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/BufferForeachMetaFunc.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/BufferList.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/BufferList.cs
new file mode 100644
index 0000000000..18ffe1b8e4
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/BufferList.cs
@@ -0,0 +1,159 @@
+// 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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_buffer_list_new();
+
+ public BufferList ()
+ {
+ Raw = gst_buffer_list_new();
+ }
+
+ [DllImport("gstreamer-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);
+ }
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_buffer_list_ref(IntPtr raw);
+
+ protected override void Ref (IntPtr raw)
+ {
+ if (!Owned) {
+ gst_buffer_list_ref (raw);
+ Owned = true;
+ }
+ }
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern void gst_buffer_list_unref(IntPtr raw);
+
+ protected override void Unref (IntPtr raw)
+ {
+ if (Owned) {
+ gst_buffer_list_unref (raw);
+ Owned = false;
+ }
+ }
+
+ protected override Action<IntPtr> DisposeUnmanagedFunc {
+ get {
+ return gst_buffer_list_unref;
+ }
+ }
+
+
+ // 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/subprojects/gstreamer-sharp/sources/generated/Gst/BufferListFunc.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/BufferListFunc.cs
new file mode 100644
index 0000000000..1ca8be41dd
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/BufferListFunc.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/BufferPool.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/BufferPool.cs
new file mode 100644
index 0000000000..04e1693905
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/BufferPool.cs
@@ -0,0 +1,1026 @@
+// 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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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);
+ }
+
+ public static void ConfigSetParams(Gst.Structure config, uint size, uint min_buffers, uint max_buffers) {
+ ConfigSetParams (config, null, size, min_buffers, max_buffers);
+ }
+
+ [DllImport("gstreamer-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;
+ }
+
+ public static bool ConfigValidateParams(Gst.Structure config, uint size, uint min_buffers, uint max_buffers) {
+ return ConfigValidateParams (config, null, size, min_buffers, max_buffers);
+ }
+
+ [DllImport("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/BufferPoolAcquireFlags.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/BufferPoolAcquireFlags.cs
new file mode 100644
index 0000000000..4df0b1a18b
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/BufferPoolAcquireFlags.cs
@@ -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 : uint {
+
+ None = 0,
+ KeyUnit = 1,
+ Dontwait = 2,
+ Discont = 4,
+ Last = 65536,
+ }
+
+ internal class BufferPoolAcquireFlagsGType {
+ [DllImport ("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/BufferPoolAcquireParams.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/BufferPoolAcquireParams.cs
new file mode 100644
index 0000000000..c9cca37042
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/BufferPoolAcquireParams.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/BufferingMode.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/BufferingMode.cs
new file mode 100644
index 0000000000..8ccbbcfc91
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/BufferingMode.cs
@@ -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 ("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/Bus.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/Bus.cs
new file mode 100644
index 0000000000..a146d1567a
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/Bus.cs
@@ -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("gstreamer-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("message")]
+ public event Gst.MessageHandler Message {
+ add {
+ this.AddSignalHandler ("message", value, typeof (Gst.MessageArgs));
+ }
+ remove {
+ this.RemoveSignalHandler ("message", value);
+ }
+ }
+
+ [GLib.Signal("sync-message")]
+ public event Gst.SyncMessageHandler SyncMessage {
+ add {
+ this.AddSignalHandler ("sync-message", value, typeof (Gst.SyncMessageArgs));
+ }
+ remove {
+ this.RemoveSignalHandler ("sync-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/BusFlags.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/BusFlags.cs
new file mode 100644
index 0000000000..5a3afc487d
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/BusFlags.cs
@@ -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 : uint {
+
+ Flushing = 16,
+ FlagLast = 32,
+ }
+
+ internal class BusFlagsGType {
+ [DllImport ("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/BusFunc.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/BusFunc.cs
new file mode 100644
index 0000000000..c152640711
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/BusFunc.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/BusSyncHandler.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/BusSyncHandler.cs
new file mode 100644
index 0000000000..61513bfa67
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/BusSyncHandler.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/BusSyncReply.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/BusSyncReply.cs
new file mode 100644
index 0000000000..eec6d6eeff
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/BusSyncReply.cs
@@ -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 ("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/Caps.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/Caps.cs
new file mode 100644
index 0000000000..0c56e6deed
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/Caps.cs
@@ -0,0 +1,485 @@
+// 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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_caps_copy(IntPtr raw);
+
+ public Gst.Caps Copy() {
+ IntPtr raw_ret = gst_caps_copy(Handle);
+ Gst.Caps ret = raw_ret == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Caps), true);
+ return ret;
+ }
+
+ [DllImport("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern void gst_caps_set_features_simple(IntPtr raw, IntPtr value);
+
+ public Gst.CapsFeatures FeaturesSimple {
+ set {
+ IntPtr native_value = GLib.Marshaller.StructureToPtrAlloc (value);
+ gst_caps_set_features_simple(Handle, native_value);
+ Marshal.FreeHGlobal (native_value);
+ }
+ }
+
+ [DllImport("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_caps_new_empty();
+
+ public Caps ()
+ {
+ Raw = gst_caps_new_empty();
+ }
+
+ [DllImport("gstreamer-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);
+ }
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_caps_new_any();
+
+ public static Caps NewAny()
+ {
+ Caps result = new Caps (gst_caps_new_any());
+ return result;
+ }
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_caps_ref(IntPtr raw);
+
+ protected override void Ref (IntPtr raw)
+ {
+ if (!Owned) {
+ gst_caps_ref (raw);
+ Owned = true;
+ }
+ }
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern void gst_caps_unref(IntPtr raw);
+
+ protected override void Unref (IntPtr raw)
+ {
+ if (Owned) {
+ gst_caps_unref (raw);
+ Owned = false;
+ }
+ }
+
+ protected override Action<IntPtr> DisposeUnmanagedFunc {
+ get {
+ return gst_caps_unref;
+ }
+ }
+
+
+ // 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/subprojects/gstreamer-sharp/sources/generated/Gst/CapsFeatures.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/CapsFeatures.cs
new file mode 100644
index 0000000000..e1d7beb8ad
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/CapsFeatures.cs
@@ -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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/CapsFilterMapFunc.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/CapsFilterMapFunc.cs
new file mode 100644
index 0000000000..fc00067b27
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/CapsFilterMapFunc.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/CapsFlags.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/CapsFlags.cs
new file mode 100644
index 0000000000..20d3d34cc5
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/CapsFlags.cs
@@ -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 : uint {
+
+ Any = 16,
+ }
+
+ internal class CapsFlagsGType {
+ [DllImport ("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/CapsForeachFunc.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/CapsForeachFunc.cs
new file mode 100644
index 0000000000..8ec1965f45
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/CapsForeachFunc.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/CapsIntersectMode.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/CapsIntersectMode.cs
new file mode 100644
index 0000000000..1f783689d6
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/CapsIntersectMode.cs
@@ -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 ("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/CapsMapFunc.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/CapsMapFunc.cs
new file mode 100644
index 0000000000..f8ebe4f789
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/CapsMapFunc.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/ChildAddedEventHandler.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/ChildAddedEventHandler.cs
new file mode 100644
index 0000000000..6f4c0a6d9d
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/ChildAddedEventHandler.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/ChildProxyAdapter.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/ChildProxyAdapter.cs
new file mode 100644
index 0000000000..692e731c84
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/ChildProxyAdapter.cs
@@ -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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/ChildRemovedEventHandler.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/ChildRemovedEventHandler.cs
new file mode 100644
index 0000000000..8b15df9224
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/ChildRemovedEventHandler.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/Clock.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/Clock.cs
new file mode 100644
index 0000000000..8aaf76822b
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/Clock.cs
@@ -0,0 +1,878 @@
+// 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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern ulong gst_clock_get_timeout(IntPtr raw);
+
+ [DllImport("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_clock_id_get_clock(IntPtr id);
+
+ public static Gst.Clock IdGetClock(IntPtr id) {
+ IntPtr raw_ret = gst_clock_id_get_clock(id);
+ Gst.Clock ret = GLib.Object.GetObject(raw_ret, true) as Gst.Clock;
+ return ret;
+ }
+
+ [DllImport("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_clock_id_uses_clock(IntPtr id, IntPtr clock);
+
+ public static bool IdUsesClock(IntPtr id, Gst.Clock clock) {
+ bool raw_ret = gst_clock_id_uses_clock(id, clock == null ? IntPtr.Zero : clock.Handle);
+ bool ret = raw_ret;
+ return ret;
+ }
+
+ [DllImport("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/ClockCallback.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/ClockCallback.cs
new file mode 100644
index 0000000000..813366b449
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/ClockCallback.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/ClockEntry.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/ClockEntry.cs
new file mode 100644
index 0000000000..9d079f744e
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/ClockEntry.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/ClockEntryType.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/ClockEntryType.cs
new file mode 100644
index 0000000000..45cd6878e4
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/ClockEntryType.cs
@@ -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 ("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/ClockFlags.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/ClockFlags.cs
new file mode 100644
index 0000000000..55e02cf727
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/ClockFlags.cs
@@ -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 : uint {
+
+ CanDoSingleSync = 16,
+ CanDoSingleAsync = 32,
+ CanDoPeriodicSync = 64,
+ CanDoPeriodicAsync = 128,
+ CanSetResolution = 256,
+ CanSetMaster = 512,
+ NeedsStartupSync = 1024,
+ Last = 4096,
+ }
+
+ internal class ClockFlagsGType {
+ [DllImport ("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/ClockReturn.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/ClockReturn.cs
new file mode 100644
index 0000000000..e5933b245e
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/ClockReturn.cs
@@ -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 ("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/ClockType.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/ClockType.cs
new file mode 100644
index 0000000000..4a3505fd25
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/ClockType.cs
@@ -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.ClockTypeGType))]
+ public enum ClockType {
+
+ Realtime = 0,
+ Monotonic = 1,
+ Other = 2,
+ Tai = 3,
+ }
+
+ internal class ClockTypeGType {
+ [DllImport ("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/Constants.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/Constants.cs
new file mode 100644
index 0000000000..33aa331169
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/Constants.cs
@@ -0,0 +1,178 @@
+// 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_HARDWARE = @"Hardware";
+ 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_CONDITIONALLY_AVAILABLE = 16384;
+ public const int PARAM_CONTROLLABLE = 512;
+ public const int PARAM_DOC_SHOW_DEFAULT = 8192;
+ public const int PARAM_MUTABLE_PAUSED = 2048;
+ public const int PARAM_MUTABLE_PLAYING = 4096;
+ public const int PARAM_MUTABLE_READY = 1024;
+ public const int PARAM_USER_SHIFT = 65536;
+ public const string PROTECTION_SYSTEM_ID_CAPS_FIELD = @"protection-system";
+ public const string PROTECTION_UNSPECIFIED_SYSTEM_ID = @"unspecified-system-id";
+ 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 SEGMENT_INSTANT_FLAGS = 912;
+ public const int SEQNUM_INVALID = 0;
+ public const string STIMEP_FORMAT = @"paS";
+ 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 TIMEP_FORMAT = @"paT";
+ 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 = 2;
+ public const int VERSION_MINOR = 19;
+ public const int VERSION_NANO = 0;
+#endregion
+ }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst/Context.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/Context.cs
new file mode 100644
index 0000000000..a1c9b58707
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/Context.cs
@@ -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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/ControlBinding.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/ControlBinding.cs
new file mode 100644
index 0000000000..e2f1f28dbe
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/ControlBinding.cs
@@ -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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/ControlBindingConvert.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/ControlBindingConvert.cs
new file mode 100644
index 0000000000..a357c33c6d
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/ControlBindingConvert.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/ControlSource.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/ControlSource.cs
new file mode 100644
index 0000000000..4f79a11128
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/ControlSource.cs
@@ -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("gstreamer-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("gstreamer-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("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/ControlSourceGetValue.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/ControlSourceGetValue.cs
new file mode 100644
index 0000000000..fc424a0335
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/ControlSourceGetValue.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/ControlSourceGetValueArray.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/ControlSourceGetValueArray.cs
new file mode 100644
index 0000000000..9956a6c4a3
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/ControlSourceGetValueArray.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/CoreError.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/CoreError.cs
new file mode 100644
index 0000000000..2f5f682d64
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/CoreError.cs
@@ -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 ("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/CustomMeta.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/CustomMeta.cs
new file mode 100644
index 0000000000..9ff4eb9e0e
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/CustomMeta.cs
@@ -0,0 +1,80 @@
+// 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 CustomMeta : IEquatable<CustomMeta> {
+
+ public Gst.Meta Meta;
+
+ public static Gst.CustomMeta Zero = new Gst.CustomMeta ();
+
+ public static Gst.CustomMeta New(IntPtr raw) {
+ if (raw == IntPtr.Zero)
+ return Gst.CustomMeta.Zero;
+ return (Gst.CustomMeta) Marshal.PtrToStructure (raw, typeof (Gst.CustomMeta));
+ }
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_custom_meta_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_custom_meta_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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_custom_meta_has_name(IntPtr raw, IntPtr name);
+
+ public bool HasName(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);
+ bool raw_ret = gst_custom_meta_has_name(this_as_native, native_name);
+ bool ret = raw_ret;
+ ReadNative (this_as_native, ref this);
+ System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+ GLib.Marshaller.Free (native_name);
+ return ret;
+ }
+
+ static void ReadNative (IntPtr native, ref Gst.CustomMeta target)
+ {
+ target = New (native);
+ }
+
+ public bool Equals (CustomMeta other)
+ {
+ return true && Meta.Equals (other.Meta);
+ }
+
+ public override bool Equals (object other)
+ {
+ return other is CustomMeta && Equals ((CustomMeta) other);
+ }
+
+ public override int GetHashCode ()
+ {
+ return this.GetType ().FullName.GetHashCode () ^ Meta.GetHashCode ();
+ }
+
+ private static GLib.GType GType {
+ get { return GLib.GType.Pointer; }
+ }
+#endregion
+ }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst/CustomMetaTransformFunction.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/CustomMetaTransformFunction.cs
new file mode 100644
index 0000000000..7c97f57ffc
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/CustomMetaTransformFunction.cs
@@ -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 CustomMetaTransformFunction(Gst.Buffer transbuf, Gst.CustomMeta meta, Gst.Buffer buffer, uint type, IntPtr data);
+
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst/DateTime.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/DateTime.cs
new file mode 100644
index 0000000000..7a926f03c6
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/DateTime.cs
@@ -0,0 +1,344 @@
+// 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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_date_time_new_from_unix_epoch_local_time_usecs(long usecs);
+
+ public static DateTime NewFromUnixEpochLocalTimeUsecs(long usecs)
+ {
+ DateTime result = new DateTime (gst_date_time_new_from_unix_epoch_local_time_usecs(usecs));
+ return result;
+ }
+
+ [DllImport("gstreamer-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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_date_time_new_from_unix_epoch_utc_usecs(long usecs);
+
+ public static DateTime NewFromUnixEpochUtcUsecs(long usecs)
+ {
+ DateTime result = new DateTime (gst_date_time_new_from_unix_epoch_utc_usecs(usecs));
+ return result;
+ }
+
+ [DllImport("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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;
+ }
+ }
+
+ protected override Action<IntPtr> DisposeUnmanagedFunc {
+ get {
+ return gst_date_time_unref;
+ }
+ }
+
+
+ // 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/subprojects/gstreamer-sharp/sources/generated/Gst/Debug.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/Debug.cs
new file mode 100644
index 0000000000..4b34e0ce03
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/Debug.cs
@@ -0,0 +1,292 @@
+// 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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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.StringToFilenamePtr (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("gstreamer-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.StringToFilenamePtr (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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_debug_log_get_line(IntPtr category, int level, IntPtr file, IntPtr function, int line, IntPtr _object, IntPtr message);
+
+ public static string LogGetLine(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);
+ IntPtr raw_ret = gst_debug_log_get_line(native_category, (int) level, native_file, native_function, line, _object == null ? IntPtr.Zero : _object.Handle, message == null ? IntPtr.Zero : message.Handle);
+ string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+ Marshal.FreeHGlobal (native_category);
+ GLib.Marshaller.Free (native_file);
+ GLib.Marshaller.Free (native_function);
+ return ret;
+ }
+
+ public static string LogGetLine(Gst.DebugCategory category, Gst.DebugLevel level, string file, string function, int line, Gst.DebugMessage message) {
+ return LogGetLine (category, level, file, function, line, null, message);
+ }
+
+ [DllImport("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/DebugCategory.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/DebugCategory.cs
new file mode 100644
index 0000000000..fc17e30980
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/DebugCategory.cs
@@ -0,0 +1,76 @@
+// 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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern void gst_debug_category_free(IntPtr raw);
+
+ [Obsolete]
+ 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("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/DebugColorFlags.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/DebugColorFlags.cs
new file mode 100644
index 0000000000..1ffdaba2ea
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/DebugColorFlags.cs
@@ -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 : uint {
+
+ 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 ("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/DebugColorMode.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/DebugColorMode.cs
new file mode 100644
index 0000000000..ab5d525cfa
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/DebugColorMode.cs
@@ -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 ("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/DebugFuncPtr.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/DebugFuncPtr.cs
new file mode 100644
index 0000000000..eb182fc84b
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/DebugFuncPtr.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/DebugGraphDetails.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/DebugGraphDetails.cs
new file mode 100644
index 0000000000..fd240f5d1b
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/DebugGraphDetails.cs
@@ -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 : uint {
+
+ MediaType = 1,
+ CapsDetails = 2,
+ NonDefaultParams = 4,
+ States = 8,
+ All = 15,
+ FullParams = 16,
+ Verbose = 4294967295,
+ }
+
+ internal class DebugGraphDetailsGType {
+ [DllImport ("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/DebugLevel.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/DebugLevel.cs
new file mode 100644
index 0000000000..49aa04bf65
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/DebugLevel.cs
@@ -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 ("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/DebugMessage.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/DebugMessage.cs
new file mode 100644
index 0000000000..39f2d08b93
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/DebugMessage.cs
@@ -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("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/DeepElementAddedHandler.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/DeepElementAddedHandler.cs
new file mode 100644
index 0000000000..2dfa4e884e
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/DeepElementAddedHandler.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/DeepElementRemovedHandler.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/DeepElementRemovedHandler.cs
new file mode 100644
index 0000000000..9ab541b0e6
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/DeepElementRemovedHandler.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/DeepNotifyHandler.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/DeepNotifyHandler.cs
new file mode 100644
index 0000000000..a4201bb515
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/DeepNotifyHandler.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/Device.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/Device.cs
new file mode 100644
index 0000000000..daeaa7fa50
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/Device.cs
@@ -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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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.Handle;
+ } 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) 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("gstreamer-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("gstreamer-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) as Gst.Element;
+ GLib.Marshaller.Free (native_name);
+ return ret;
+ }
+
+ public Gst.Element CreateElement() {
+ return CreateElement (null);
+ }
+
+ [DllImport("gstreamer-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("gstreamer-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("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/DeviceMonitor.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/DeviceMonitor.cs
new file mode 100644
index 0000000000..89665c3f05
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/DeviceMonitor.cs
@@ -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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_device_monitor_get_show_all_devices(IntPtr raw);
+
+ [DllImport("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/DeviceProvider.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/DeviceProvider.cs
new file mode 100644
index 0000000000..c952cedfb7
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/DeviceProvider.cs
@@ -0,0 +1,516 @@
+// 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("gstreamer-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-unhidden")]
+ public event Gst.ProviderUnhiddenHandler ProviderUnhidden {
+ add {
+ this.AddSignalHandler ("provider-unhidden", value, typeof (Gst.ProviderUnhiddenArgs));
+ }
+ remove {
+ this.RemoveSignalHandler ("provider-unhidden", value);
+ }
+ }
+
+ [GLib.Signal("provider-hidden")]
+ public event Gst.ProviderHiddenHandler ProviderHidden {
+ add {
+ this.AddSignalHandler ("provider-hidden", value, typeof (Gst.ProviderHiddenArgs));
+ }
+ remove {
+ this.RemoveSignalHandler ("provider-hidden", 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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern void gst_device_provider_device_changed(IntPtr raw, IntPtr device, IntPtr changed_device);
+
+ public void DeviceChanged(Gst.Device device, Gst.Device changed_device) {
+ gst_device_provider_device_changed(Handle, device == null ? IntPtr.Zero : device.Handle, changed_device == null ? IntPtr.Zero : changed_device.Handle);
+ }
+
+ [DllImport("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_device_provider_is_started(IntPtr raw);
+
+ public bool IsStarted {
+ get {
+ bool raw_ret = gst_device_provider_is_started(Handle);
+ bool ret = raw_ret;
+ return ret;
+ }
+ }
+
+ [DllImport("gstreamer-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("gstreamer-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("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/DeviceProviderFactory.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/DeviceProviderFactory.cs
new file mode 100644
index 0000000000..144bbcde67
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/DeviceProviderFactory.cs
@@ -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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/DoLatencyHandler.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/DoLatencyHandler.cs
new file mode 100644
index 0000000000..01413170a8
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/DoLatencyHandler.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/DynamicTypeFactory.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/DynamicTypeFactory.cs
new file mode 100644
index 0000000000..192c1c9cf3
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/DynamicTypeFactory.cs
@@ -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("gstreamer-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("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/Element.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/Element.cs
new file mode 100644
index 0000000000..507f032380
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/Element.cs
@@ -0,0 +1,2317 @@
+// 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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_element_get_bus(IntPtr raw);
+
+ [DllImport("gstreamer-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("gstreamer-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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern ulong gst_element_get_base_time(IntPtr raw);
+
+ [DllImport("gstreamer-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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern ulong gst_element_get_start_time(IntPtr raw);
+
+ [DllImport("gstreamer-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("gstreamer-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-removed")]
+ public event Gst.PadRemovedHandler PadRemoved {
+ add {
+ this.AddSignalHandler ("pad-removed", value, typeof (Gst.PadRemovedArgs));
+ }
+ remove {
+ this.RemoveSignalHandler ("pad-removed", 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);
+ }
+ }
+
+ 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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern ulong gst_element_get_current_clock_time(IntPtr raw);
+
+ public ulong CurrentClockTime {
+ get {
+ ulong raw_ret = gst_element_get_current_clock_time(Handle);
+ ulong ret = raw_ret;
+ return ret;
+ }
+ }
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern ulong gst_element_get_current_running_time(IntPtr raw);
+
+ public ulong CurrentRunningTime {
+ get {
+ ulong raw_ret = gst_element_get_current_running_time(Handle);
+ ulong ret = raw_ret;
+ return ret;
+ }
+ }
+
+ [DllImport("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/ElementAddedHandler.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/ElementAddedHandler.cs
new file mode 100644
index 0000000000..8f1892de8e
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/ElementAddedHandler.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/ElementCallAsyncFunc.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/ElementCallAsyncFunc.cs
new file mode 100644
index 0000000000..feec5f05a8
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/ElementCallAsyncFunc.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/ElementFactory.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/ElementFactory.cs
new file mode 100644
index 0000000000..60c157339d
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/ElementFactory.cs
@@ -0,0 +1,247 @@
+// 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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/ElementFlags.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/ElementFlags.cs
new file mode 100644
index 0000000000..aa37b86944
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/ElementFlags.cs
@@ -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 : uint {
+
+ LockedState = 16,
+ Sink = 32,
+ Source = 64,
+ ProvideClock = 128,
+ RequireClock = 256,
+ Indexable = 512,
+ Last = 16384,
+ }
+
+ internal class ElementFlagsGType {
+ [DllImport ("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/ElementForeachPadFunc.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/ElementForeachPadFunc.cs
new file mode 100644
index 0000000000..8913d31e3a
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/ElementForeachPadFunc.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/ElementRemovedHandler.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/ElementRemovedHandler.cs
new file mode 100644
index 0000000000..958569d5b9
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/ElementRemovedHandler.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/Event.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/Event.cs
new file mode 100644
index 0000000000..6657cfda1e
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/Event.cs
@@ -0,0 +1,791 @@
+// 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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern uint gst_event_get_seqnum(IntPtr raw);
+
+ [DllImport("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern long gst_event_get_running_time_offset(IntPtr raw);
+
+ [DllImport("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_event_has_name_id(IntPtr raw, uint name);
+
+ public bool HasNameId(uint name) {
+ bool raw_ret = gst_event_has_name_id(Handle, name);
+ bool ret = raw_ret;
+ return ret;
+ }
+
+ [DllImport("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern void gst_event_parse_gap_flags(IntPtr raw, out int flags);
+
+ public Gst.GapFlags ParseGapFlags() {
+ Gst.GapFlags flags;
+ int native_flags;
+ gst_event_parse_gap_flags(Handle, out native_flags);
+ flags = (Gst.GapFlags) native_flags;
+ return flags;
+ }
+
+ [DllImport("gstreamer-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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern void gst_event_parse_instant_rate_change(IntPtr raw, out double rate_multiplier, out int new_flags);
+
+ public void ParseInstantRateChange(out double rate_multiplier, out Gst.SegmentFlags new_flags) {
+ int native_new_flags;
+ gst_event_parse_instant_rate_change(Handle, out rate_multiplier, out native_new_flags);
+ new_flags = (Gst.SegmentFlags) native_new_flags;
+ }
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern void gst_event_parse_instant_rate_sync_time(IntPtr raw, out double rate_multiplier, out ulong running_time, out ulong upstream_running_time);
+
+ public void ParseInstantRateSyncTime(out double rate_multiplier, out ulong running_time, out ulong upstream_running_time) {
+ gst_event_parse_instant_rate_sync_time(Handle, out rate_multiplier, out running_time, out upstream_running_time);
+ }
+
+ [DllImport("gstreamer-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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern void gst_event_parse_protection(IntPtr raw, out IntPtr system_id, out IntPtr data, out IntPtr origin);
+
+ public void ParseProtection(out string system_id, out Gst.Buffer data, out string origin) {
+ IntPtr native_system_id;
+ IntPtr native_data;
+ IntPtr native_origin;
+ gst_event_parse_protection(Handle, out native_system_id, out native_data, out 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);
+ origin = GLib.Marshaller.Utf8PtrToString (native_origin);
+ }
+
+ [DllImport("gstreamer-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("gstreamer-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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern void gst_event_parse_seek_trickmode_interval(IntPtr raw, out ulong interval);
+
+ public ulong ParseSeekTrickmodeInterval() {
+ ulong interval;
+ gst_event_parse_seek_trickmode_interval(Handle, out interval);
+ return interval;
+ }
+
+ [DllImport("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern void gst_event_set_gap_flags(IntPtr raw, int flags);
+
+ public Gst.GapFlags GapFlags {
+ set {
+ gst_event_set_gap_flags(Handle, (int) value);
+ }
+ }
+
+ [DllImport("gstreamer-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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern void gst_event_set_seek_trickmode_interval(IntPtr raw, ulong interval);
+
+ public ulong SeekTrickmodeInterval {
+ set {
+ gst_event_set_seek_trickmode_interval(Handle, value);
+ }
+ }
+
+ [DllImport("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_event_new_buffer_size(int format, long minsize, long maxsize, bool async);
+
+ public static Event NewBufferSize(Gst.Format format, long minsize, long maxsize, bool async)
+ {
+ Event result = new Event (gst_event_new_buffer_size((int) format, minsize, maxsize, async));
+ return result;
+ }
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_event_new_caps(IntPtr caps);
+
+ public static Event NewCaps(Gst.Caps caps)
+ {
+ Event result = new Event (gst_event_new_caps(caps == null ? IntPtr.Zero : caps.Handle));
+ return result;
+ }
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_event_new_custom(int type, IntPtr structure);
+
+ public static Event NewCustom(Gst.EventType type, Gst.Structure structure)
+ {
+ structure.Owned = false;
+ Event result = new Event (gst_event_new_custom((int) type, structure == null ? IntPtr.Zero : structure.Handle));
+ return result;
+ }
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_event_new_eos();
+
+ public static Event NewEos()
+ {
+ Event result = new Event (gst_event_new_eos());
+ return result;
+ }
+
+ [DllImport("gstreamer-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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_event_new_flush_stop(bool reset_time);
+
+ public static Event NewFlushStop(bool reset_time)
+ {
+ Event result = new Event (gst_event_new_flush_stop(reset_time));
+ return result;
+ }
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_event_new_gap(ulong timestamp, ulong duration);
+
+ public static Event NewGap(ulong timestamp, ulong duration)
+ {
+ Event result = new Event (gst_event_new_gap(timestamp, duration));
+ return result;
+ }
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_event_new_instant_rate_change(double rate_multiplier, int new_flags);
+
+ public static Event NewInstantRateChange(double rate_multiplier, Gst.SegmentFlags new_flags)
+ {
+ Event result = new Event (gst_event_new_instant_rate_change(rate_multiplier, (int) new_flags));
+ return result;
+ }
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_event_new_instant_rate_sync_time(double rate_multiplier, ulong running_time, ulong upstream_running_time);
+
+ public static Event NewInstantRateSyncTime(double rate_multiplier, ulong running_time, ulong upstream_running_time)
+ {
+ Event result = new Event (gst_event_new_instant_rate_sync_time(rate_multiplier, running_time, upstream_running_time));
+ return result;
+ }
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_event_new_latency(ulong latency);
+
+ public static Event NewLatency(ulong latency)
+ {
+ Event result = new Event (gst_event_new_latency(latency));
+ return result;
+ }
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_event_new_navigation(IntPtr structure);
+
+ public static Event NewNavigation(Gst.Structure structure)
+ {
+ structure.Owned = false;
+ Event result = new Event (gst_event_new_navigation(structure == null ? IntPtr.Zero : structure.Handle));
+ return result;
+ }
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_event_new_protection(IntPtr system_id, IntPtr data, IntPtr origin);
+
+ public static Event NewProtection(string system_id, Gst.Buffer data, string origin)
+ {
+ IntPtr native_system_id = GLib.Marshaller.StringToPtrGStrdup (system_id);
+ IntPtr native_origin = GLib.Marshaller.StringToPtrGStrdup (origin);
+ Event result = new Event (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);
+ return result;
+ }
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_event_new_qos(int type, double proportion, long diff, ulong timestamp);
+
+ public static Event NewQos(Gst.QOSType type, double proportion, long diff, ulong timestamp)
+ {
+ Event result = new Event (gst_event_new_qos((int) type, proportion, diff, timestamp));
+ return result;
+ }
+
+ [DllImport("gstreamer-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("gstreamer-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 static Event NewSeek(double rate, Gst.Format format, Gst.SeekFlags flags, Gst.SeekType start_type, long start, Gst.SeekType stop_type, long stop)
+ {
+ Event result = new Event (gst_event_new_seek(rate, (int) format, (int) flags, (int) start_type, start, (int) stop_type, stop));
+ return result;
+ }
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_event_new_segment(IntPtr segment);
+
+ public static Event NewSegment(Gst.Segment segment)
+ {
+ IntPtr native_segment = GLib.Marshaller.StructureToPtrAlloc (segment);
+ Event result = new Event (gst_event_new_segment(native_segment));
+ Marshal.FreeHGlobal (native_segment);
+ return result;
+ }
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_event_new_segment_done(int format, long position);
+
+ public static Event NewSegmentDone(Gst.Format format, long position)
+ {
+ Event result = new Event (gst_event_new_segment_done((int) format, position));
+ return result;
+ }
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_event_new_select_streams(IntPtr streams);
+
+ public static Event NewSelectStreams(GLib.List streams)
+ {
+ Event result = new Event (gst_event_new_select_streams(streams == null ? IntPtr.Zero : streams.Handle));
+ return result;
+ }
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_event_new_sink_message(IntPtr name, IntPtr msg);
+
+ public static Event NewSinkMessage(string name, Gst.Message msg)
+ {
+ IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
+ Event result = new Event (gst_event_new_sink_message(native_name, msg == null ? IntPtr.Zero : msg.Handle));
+ GLib.Marshaller.Free (native_name);
+ return result;
+ }
+
+ [DllImport("gstreamer-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 static Event NewStep(Gst.Format format, ulong amount, double rate, bool flush, bool intermediate)
+ {
+ Event result = new Event (gst_event_new_step((int) format, amount, rate, flush, intermediate));
+ return result;
+ }
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_event_new_stream_collection(IntPtr collection);
+
+ public static Event NewStreamCollection(Gst.StreamCollection collection)
+ {
+ Event result = new Event (gst_event_new_stream_collection(collection == null ? IntPtr.Zero : collection.Handle));
+ return result;
+ }
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_event_new_stream_group_done(uint group_id);
+
+ public static Event NewStreamGroupDone(uint group_id)
+ {
+ Event result = new Event (gst_event_new_stream_group_done(group_id));
+ return result;
+ }
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_event_new_stream_start(IntPtr stream_id);
+
+ public static Event NewStreamStart(string stream_id)
+ {
+ IntPtr native_stream_id = GLib.Marshaller.StringToPtrGStrdup (stream_id);
+ Event result = new Event (gst_event_new_stream_start(native_stream_id));
+ GLib.Marshaller.Free (native_stream_id);
+ return result;
+ }
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_event_new_tag(IntPtr taglist);
+
+ public static Event NewTag(Gst.TagList taglist)
+ {
+ taglist.Owned = false;
+ Event result = new Event (gst_event_new_tag(taglist == null ? IntPtr.Zero : taglist.Handle));
+ return result;
+ }
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_event_new_toc(IntPtr toc, bool updated);
+
+ public static Event NewToc(Gst.Toc toc, bool updated)
+ {
+ IntPtr native_toc = GLib.Marshaller.StructureToPtrAlloc (toc);
+ Event result = new Event (gst_event_new_toc(native_toc, updated));
+ Marshal.FreeHGlobal (native_toc);
+ return result;
+ }
+
+ [DllImport("gstreamer-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;
+ }
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_event_ref(IntPtr raw);
+
+ protected override void Ref (IntPtr raw)
+ {
+ if (!Owned) {
+ gst_event_ref (raw);
+ Owned = true;
+ }
+ }
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern void gst_event_unref(IntPtr raw);
+
+ protected override void Unref (IntPtr raw)
+ {
+ if (Owned) {
+ gst_event_unref (raw);
+ Owned = false;
+ }
+ }
+
+ protected override Action<IntPtr> DisposeUnmanagedFunc {
+ get {
+ return gst_event_unref;
+ }
+ }
+
+
+ // 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/subprojects/gstreamer-sharp/sources/generated/Gst/EventType.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/EventType.cs
new file mode 100644
index 0000000000..60b85351e3
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/EventType.cs
@@ -0,0 +1,58 @@
+// 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,
+ InstantRateChange = 46090,
+ Qos = 48641,
+ Seek = 51201,
+ Navigation = 53761,
+ Latency = 56321,
+ Step = 58881,
+ Reconfigure = 61441,
+ TocSelect = 64001,
+ SelectStreams = 66561,
+ InstantRateSyncTime = 66817,
+ CustomUpstream = 69121,
+ CustomDownstream = 71686,
+ CustomDownstreamOob = 74242,
+ CustomDownstreamSticky = 76830,
+ CustomBoth = 79367,
+ CustomBothOob = 81923,
+ }
+
+ internal class EventTypeGType {
+ [DllImport ("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/EventTypeFlags.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/EventTypeFlags.cs
new file mode 100644
index 0000000000..5e19c12ed0
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/EventTypeFlags.cs
@@ -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 : uint {
+
+ Upstream = 1,
+ Downstream = 2,
+ Serialized = 4,
+ Sticky = 8,
+ StickyMulti = 16,
+ }
+
+ internal class EventTypeFlagsGType {
+ [DllImport ("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/FeatureAddedHandler.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/FeatureAddedHandler.cs
new file mode 100644
index 0000000000..eec9d8c43c
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/FeatureAddedHandler.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/FlagSet.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/FlagSet.cs
new file mode 100644
index 0000000000..dd8704817f
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/FlagSet.cs
@@ -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("gstreamer-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("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/FlowReturn.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/FlowReturn.cs
new file mode 100644
index 0000000000..e929fe99e9
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/FlowReturn.cs
@@ -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 ("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/Format.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/Format.cs
new file mode 100644
index 0000000000..b369178373
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/Format.cs
@@ -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 ("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/FormatDefinition.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/FormatDefinition.cs
new file mode 100644
index 0000000000..41c776292a
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/FormatDefinition.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/GapFlags.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/GapFlags.cs
new file mode 100644
index 0000000000..4c4194a27a
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/GapFlags.cs
@@ -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.GapFlagsGType))]
+ public enum GapFlags : uint {
+
+ Data = 1,
+ }
+
+ internal class GapFlagsGType {
+ [DllImport ("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_gap_flags_get_type ();
+
+ public static GLib.GType GType {
+ get {
+ return new GLib.GType (gst_gap_flags_get_type ());
+ }
+ }
+ }
+#endregion
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst/GhostPad.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/GhostPad.cs
new file mode 100644
index 0000000000..ac73794c38
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/GhostPad.cs
@@ -0,0 +1,209 @@
+// 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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_ghost_pad_construct(IntPtr raw);
+
+ [Obsolete]
+ public bool Construct() {
+ bool raw_ret = gst_ghost_pad_construct(Handle);
+ bool ret = raw_ret;
+ return ret;
+ }
+
+ [DllImport("gstreamer-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("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/Global.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/Global.cs
new file mode 100644
index 0000000000..0d0442323f
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/Global.cs
@@ -0,0 +1,551 @@
+// 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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern void gst_deinit();
+
+ public static void Deinit() {
+ gst_deinit();
+ }
+
+ [DllImport("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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);
+ int cnt_tags = tags == null ? 0 : tags.Length;
+ IntPtr[] native_tags = new IntPtr [cnt_tags + 1];
+ for (int i = 0; i < cnt_tags; i++)
+ native_tags [i] = GLib.Marshaller.StringToPtrGStrdup(tags[i]);
+ native_tags [cnt_tags] = IntPtr.Zero;
+ 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);
+ return ret;
+ }
+
+ [DllImport("gstreamer-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("gstreamer-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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_meta_register_custom(IntPtr name, IntPtr[] tags, GstSharp.CustomMetaTransformFunctionNative transform_func, IntPtr user_data, GLib.DestroyNotify destroy_data);
+
+ public static Gst.MetaInfo MetaRegisterCustom(string name, string[] tags, Gst.CustomMetaTransformFunction transform_func) {
+ IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
+ int cnt_tags = tags == null ? 0 : tags.Length;
+ IntPtr[] native_tags = new IntPtr [cnt_tags + 1];
+ for (int i = 0; i < cnt_tags; i++)
+ native_tags [i] = GLib.Marshaller.StringToPtrGStrdup(tags[i]);
+ native_tags [cnt_tags] = IntPtr.Zero;
+ GstSharp.CustomMetaTransformFunctionWrapper transform_func_wrapper = new GstSharp.CustomMetaTransformFunctionWrapper (transform_func);
+ IntPtr user_data;
+ GLib.DestroyNotify destroy_data;
+ if (transform_func == null) {
+ user_data = IntPtr.Zero;
+ destroy_data = null;
+ } else {
+ user_data = (IntPtr) GCHandle.Alloc (transform_func_wrapper);
+ destroy_data = GLib.DestroyHelper.NotifyHandler;
+ }
+ IntPtr raw_ret = gst_meta_register_custom(native_name, native_tags, transform_func_wrapper.NativeDelegate, user_data, destroy_data);
+ Gst.MetaInfo ret = Gst.MetaInfo.New (raw_ret);
+ GLib.Marshaller.Free (native_name);
+ return ret;
+ }
+
+ public static Gst.MetaInfo MetaRegisterCustom(string name, string[] tags) {
+ return MetaRegisterCustom (name, tags, null);
+ }
+
+ [DllImport("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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.FilenamePtrToString (raw_ret);
+ return ret;
+ }
+
+ [DllImport("gstreamer-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.StringToFilenamePtr (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("gstreamer-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) {
+ 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_filter_systems_by_available_decryptors(native_system_identifiers);
+ string[] ret = GLib.Marshaller.NullTermPtrToStringArray (raw_ret, true);
+ return ret;
+ }
+
+ [DllImport("gstreamer-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("gstreamer-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("gstreamer-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);
+ return ret;
+ }
+
+ [DllImport("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_tracing_get_active_tracers();
+
+ public static Gst.Tracer[] TracingGetActiveTracers() {
+ IntPtr raw_ret = gst_tracing_get_active_tracers();
+ Gst.Tracer[] ret = (Gst.Tracer[]) GLib.Marshaller.ListPtrToArray (raw_ret, typeof(GLib.List), true, true, typeof(Gst.Tracer));
+ return ret;
+ }
+
+ [DllImport("gstreamer-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("gstreamer-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) {
+ return TypeFindRegister (null, name, rank, func, null, null);
+ }
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_type_is_plugin_api(IntPtr type, out int flags);
+
+ public static bool TypeIsPluginApi(GLib.GType type, out Gst.PluginAPIFlags flags) {
+ int native_flags;
+ bool raw_ret = gst_type_is_plugin_api(type.Val, out native_flags);
+ bool ret = raw_ret;
+ flags = (Gst.PluginAPIFlags) native_flags;
+ return ret;
+ }
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern void gst_type_mark_as_plugin_api(IntPtr type, int flags);
+
+ public static void TypeMarkAsPluginApi(GLib.GType type, Gst.PluginAPIFlags flags) {
+ gst_type_mark_as_plugin_api(type.Val, (int) flags);
+ }
+
+#endregion
+ }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.BufferForeachMetaFuncNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.BufferForeachMetaFuncNative.cs
new file mode 100644
index 0000000000..44cb57c54d
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.BufferForeachMetaFuncNative.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.BufferListFuncNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.BufferListFuncNative.cs
new file mode 100644
index 0000000000..388a6e2473
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.BufferListFuncNative.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.BusFuncNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.BusFuncNative.cs
new file mode 100644
index 0000000000..97ac1c2f2f
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.BusFuncNative.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.BusSyncHandlerNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.BusSyncHandlerNative.cs
new file mode 100644
index 0000000000..81d899d1bd
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.BusSyncHandlerNative.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.CapsFilterMapFuncNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.CapsFilterMapFuncNative.cs
new file mode 100644
index 0000000000..ebe0ebb81b
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.CapsFilterMapFuncNative.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.CapsForeachFuncNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.CapsForeachFuncNative.cs
new file mode 100644
index 0000000000..284767f1f9
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.CapsForeachFuncNative.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.CapsMapFuncNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.CapsMapFuncNative.cs
new file mode 100644
index 0000000000..6826a36a53
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.CapsMapFuncNative.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.ClockCallbackNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.ClockCallbackNative.cs
new file mode 100644
index 0000000000..3baac465c8
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.ClockCallbackNative.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.ControlBindingConvertNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.ControlBindingConvertNative.cs
new file mode 100644
index 0000000000..d219c535c7
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.ControlBindingConvertNative.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.ControlSourceGetValueArrayNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.ControlSourceGetValueArrayNative.cs
new file mode 100644
index 0000000000..642122f84e
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.ControlSourceGetValueArrayNative.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.ControlSourceGetValueNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.ControlSourceGetValueNative.cs
new file mode 100644
index 0000000000..ca2f199762
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.ControlSourceGetValueNative.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.CustomMetaTransformFunctionNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.CustomMetaTransformFunctionNative.cs
new file mode 100644
index 0000000000..cccad55a23
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.CustomMetaTransformFunctionNative.cs
@@ -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 CustomMetaTransformFunctionNative(IntPtr transbuf, IntPtr meta, IntPtr buffer, uint type, IntPtr data, IntPtr user_data);
+
+ internal class CustomMetaTransformFunctionInvoker {
+
+ CustomMetaTransformFunctionNative native_cb;
+ IntPtr __data;
+ GLib.DestroyNotify __notify;
+
+ ~CustomMetaTransformFunctionInvoker ()
+ {
+ if (__notify == null)
+ return;
+ __notify (__data);
+ }
+
+ internal CustomMetaTransformFunctionInvoker (CustomMetaTransformFunctionNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+ internal CustomMetaTransformFunctionInvoker (CustomMetaTransformFunctionNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+ internal CustomMetaTransformFunctionInvoker (CustomMetaTransformFunctionNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+ {
+ this.native_cb = native_cb;
+ __data = data;
+ __notify = notify;
+ }
+
+ internal Gst.CustomMetaTransformFunction Handler {
+ get {
+ return new Gst.CustomMetaTransformFunction(InvokeNative);
+ }
+ }
+
+ bool InvokeNative (Gst.Buffer transbuf, Gst.CustomMeta 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, __data);
+ Marshal.FreeHGlobal (native_meta);
+ return __result;
+ }
+ }
+
+ internal class CustomMetaTransformFunctionWrapper {
+
+ public bool NativeCallback (IntPtr transbuf, IntPtr meta, IntPtr buffer, uint type, IntPtr data, IntPtr user_data)
+ {
+ try {
+ bool __ret = managed (transbuf == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (transbuf, typeof (Gst.Buffer), false), Gst.CustomMeta.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 CustomMetaTransformFunctionNative NativeDelegate;
+ Gst.CustomMetaTransformFunction managed;
+
+ public CustomMetaTransformFunctionWrapper (Gst.CustomMetaTransformFunction managed)
+ {
+ this.managed = managed;
+ if (managed != null)
+ NativeDelegate = new CustomMetaTransformFunctionNative (NativeCallback);
+ }
+
+ public static Gst.CustomMetaTransformFunction GetManagedDelegate (CustomMetaTransformFunctionNative native)
+ {
+ if (native == null)
+ return null;
+ CustomMetaTransformFunctionWrapper wrapper = (CustomMetaTransformFunctionWrapper) native.Target;
+ if (wrapper == null)
+ return null;
+ return wrapper.managed;
+ }
+ }
+#endregion
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.DebugFuncPtrNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.DebugFuncPtrNative.cs
new file mode 100644
index 0000000000..8d2a15b633
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.DebugFuncPtrNative.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.ElementCallAsyncFuncNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.ElementCallAsyncFuncNative.cs
new file mode 100644
index 0000000000..8aecc63ad6
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.ElementCallAsyncFuncNative.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.ElementForeachPadFuncNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.ElementForeachPadFuncNative.cs
new file mode 100644
index 0000000000..f308e48359
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.ElementForeachPadFuncNative.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.IteratorCopyFunctionNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.IteratorCopyFunctionNative.cs
new file mode 100644
index 0000000000..ef4f0c502e
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.IteratorCopyFunctionNative.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.IteratorFoldFunctionNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.IteratorFoldFunctionNative.cs
new file mode 100644
index 0000000000..cb20b1d95d
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.IteratorFoldFunctionNative.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.IteratorForeachFunctionNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.IteratorForeachFunctionNative.cs
new file mode 100644
index 0000000000..c790d302ef
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.IteratorForeachFunctionNative.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.IteratorFreeFunctionNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.IteratorFreeFunctionNative.cs
new file mode 100644
index 0000000000..48950d629e
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.IteratorFreeFunctionNative.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.IteratorItemFunctionNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.IteratorItemFunctionNative.cs
new file mode 100644
index 0000000000..9e7fb7ebd3
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.IteratorItemFunctionNative.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.IteratorNextFunctionNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.IteratorNextFunctionNative.cs
new file mode 100644
index 0000000000..ef93a001ee
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.IteratorNextFunctionNative.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.IteratorResyncFunctionNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.IteratorResyncFunctionNative.cs
new file mode 100644
index 0000000000..c39b3d0614
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.IteratorResyncFunctionNative.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.LogFunctionNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.LogFunctionNative.cs
new file mode 100644
index 0000000000..b1e3b7dac6
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.LogFunctionNative.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.MemoryCopyFunctionNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.MemoryCopyFunctionNative.cs
new file mode 100644
index 0000000000..d514cd78d3
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.MemoryCopyFunctionNative.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.MemoryIsSpanFunctionNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.MemoryIsSpanFunctionNative.cs
new file mode 100644
index 0000000000..cf98fb9373
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.MemoryIsSpanFunctionNative.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.MemoryMapFullFunctionNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.MemoryMapFullFunctionNative.cs
new file mode 100644
index 0000000000..4926cffb30
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.MemoryMapFullFunctionNative.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.MemoryMapFunctionNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.MemoryMapFunctionNative.cs
new file mode 100644
index 0000000000..4240a663b7
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.MemoryMapFunctionNative.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.MemoryShareFunctionNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.MemoryShareFunctionNative.cs
new file mode 100644
index 0000000000..1057222c57
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.MemoryShareFunctionNative.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.MemoryUnmapFullFunctionNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.MemoryUnmapFullFunctionNative.cs
new file mode 100644
index 0000000000..98357df9c9
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.MemoryUnmapFullFunctionNative.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.MemoryUnmapFunctionNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.MemoryUnmapFunctionNative.cs
new file mode 100644
index 0000000000..26309b2db3
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.MemoryUnmapFunctionNative.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.MetaFreeFunctionNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.MetaFreeFunctionNative.cs
new file mode 100644
index 0000000000..ca5c378591
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.MetaFreeFunctionNative.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.MetaInitFunctionNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.MetaInitFunctionNative.cs
new file mode 100644
index 0000000000..ba2560ce2c
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.MetaInitFunctionNative.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.MetaTransformFunctionNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.MetaTransformFunctionNative.cs
new file mode 100644
index 0000000000..f4bbd19949
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.MetaTransformFunctionNative.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.MiniObjectCopyFunctionNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.MiniObjectCopyFunctionNative.cs
new file mode 100644
index 0000000000..d2271c7188
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.MiniObjectCopyFunctionNative.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.MiniObjectDisposeFunctionNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.MiniObjectDisposeFunctionNative.cs
new file mode 100644
index 0000000000..1ea976e898
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.MiniObjectDisposeFunctionNative.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.MiniObjectFreeFunctionNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.MiniObjectFreeFunctionNative.cs
new file mode 100644
index 0000000000..005b0b9386
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.MiniObjectFreeFunctionNative.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.MiniObjectNotifyNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.MiniObjectNotifyNative.cs
new file mode 100644
index 0000000000..6731580c23
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.MiniObjectNotifyNative.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.PadActivateFunctionNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.PadActivateFunctionNative.cs
new file mode 100644
index 0000000000..ba62915ab4
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.PadActivateFunctionNative.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.PadActivateModeFunctionNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.PadActivateModeFunctionNative.cs
new file mode 100644
index 0000000000..8b5e6e1c5a
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.PadActivateModeFunctionNative.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.PadChainFunctionNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.PadChainFunctionNative.cs
new file mode 100644
index 0000000000..3445788724
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.PadChainFunctionNative.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.PadChainListFunctionNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.PadChainListFunctionNative.cs
new file mode 100644
index 0000000000..678ac9c018
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.PadChainListFunctionNative.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.PadEventFullFunctionNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.PadEventFullFunctionNative.cs
new file mode 100644
index 0000000000..bcb831d28c
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.PadEventFullFunctionNative.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.PadEventFunctionNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.PadEventFunctionNative.cs
new file mode 100644
index 0000000000..23c7311a55
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.PadEventFunctionNative.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.PadForwardFunctionNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.PadForwardFunctionNative.cs
new file mode 100644
index 0000000000..551368c791
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.PadForwardFunctionNative.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.PadGetRangeFunctionNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.PadGetRangeFunctionNative.cs
new file mode 100644
index 0000000000..02947d1078
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.PadGetRangeFunctionNative.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.PadIterIntLinkFunctionNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.PadIterIntLinkFunctionNative.cs
new file mode 100644
index 0000000000..ab28bdde6a
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.PadIterIntLinkFunctionNative.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.PadLinkFunctionNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.PadLinkFunctionNative.cs
new file mode 100644
index 0000000000..e86443b639
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.PadLinkFunctionNative.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.PadProbeCallbackNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.PadProbeCallbackNative.cs
new file mode 100644
index 0000000000..a8216485a3
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.PadProbeCallbackNative.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.PadQueryFunctionNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.PadQueryFunctionNative.cs
new file mode 100644
index 0000000000..25662e35c8
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.PadQueryFunctionNative.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.PadStickyEventsForeachFunctionNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.PadStickyEventsForeachFunctionNative.cs
new file mode 100644
index 0000000000..58787feb6d
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.PadStickyEventsForeachFunctionNative.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.PadUnlinkFunctionNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.PadUnlinkFunctionNative.cs
new file mode 100644
index 0000000000..65cd0e692d
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.PadUnlinkFunctionNative.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.PluginFeatureFilterNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.PluginFeatureFilterNative.cs
new file mode 100644
index 0000000000..d1eade04f6
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.PluginFeatureFilterNative.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.PluginFilterNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.PluginFilterNative.cs
new file mode 100644
index 0000000000..6c24d2ae96
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.PluginFilterNative.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.PluginInitFullFuncNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.PluginInitFullFuncNative.cs
new file mode 100644
index 0000000000..82127ab712
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.PluginInitFullFuncNative.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.PluginInitFuncNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.PluginInitFuncNative.cs
new file mode 100644
index 0000000000..d0cf2d07c0
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.PluginInitFuncNative.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.PromiseChangeFuncNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.PromiseChangeFuncNative.cs
new file mode 100644
index 0000000000..c40cb9190f
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.PromiseChangeFuncNative.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.StructureFilterMapFuncNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.StructureFilterMapFuncNative.cs
new file mode 100644
index 0000000000..d830447328
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.StructureFilterMapFuncNative.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.StructureForeachFuncNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.StructureForeachFuncNative.cs
new file mode 100644
index 0000000000..174226ccac
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.StructureForeachFuncNative.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.StructureMapFuncNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.StructureMapFuncNative.cs
new file mode 100644
index 0000000000..d5fd871561
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.StructureMapFuncNative.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.TagForeachFuncNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.TagForeachFuncNative.cs
new file mode 100644
index 0000000000..779ff9b9a9
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.TagForeachFuncNative.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.TagMergeFuncNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.TagMergeFuncNative.cs
new file mode 100644
index 0000000000..354f2f320d
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.TagMergeFuncNative.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.TaskFunctionNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.TaskFunctionNative.cs
new file mode 100644
index 0000000000..cebda742f8
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.TaskFunctionNative.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.TaskPoolFunctionNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.TaskPoolFunctionNative.cs
new file mode 100644
index 0000000000..501ab6e669
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.TaskPoolFunctionNative.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.TaskThreadFuncNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.TaskThreadFuncNative.cs
new file mode 100644
index 0000000000..64da068428
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.TaskThreadFuncNative.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.TypeFindFunctionNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.TypeFindFunctionNative.cs
new file mode 100644
index 0000000000..c3551e58d4
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.TypeFindFunctionNative.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.ValueCompareFuncNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.ValueCompareFuncNative.cs
new file mode 100644
index 0000000000..4ec466adc5
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.ValueCompareFuncNative.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.ValueDeserializeFuncNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.ValueDeserializeFuncNative.cs
new file mode 100644
index 0000000000..323e5d35c0
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.ValueDeserializeFuncNative.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.ValueDeserializeWithPSpecFuncNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.ValueDeserializeWithPSpecFuncNative.cs
new file mode 100644
index 0000000000..d3c88dae9f
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.ValueDeserializeWithPSpecFuncNative.cs
@@ -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 ValueDeserializeWithPSpecFuncNative(IntPtr dest, IntPtr s, IntPtr pspec);
+
+ internal class ValueDeserializeWithPSpecFuncInvoker {
+
+ ValueDeserializeWithPSpecFuncNative native_cb;
+ IntPtr __data;
+ GLib.DestroyNotify __notify;
+
+ ~ValueDeserializeWithPSpecFuncInvoker ()
+ {
+ if (__notify == null)
+ return;
+ __notify (__data);
+ }
+
+ internal ValueDeserializeWithPSpecFuncInvoker (ValueDeserializeWithPSpecFuncNative native_cb) : this (native_cb, IntPtr.Zero, null) {}
+
+ internal ValueDeserializeWithPSpecFuncInvoker (ValueDeserializeWithPSpecFuncNative native_cb, IntPtr data) : this (native_cb, data, null) {}
+
+ internal ValueDeserializeWithPSpecFuncInvoker (ValueDeserializeWithPSpecFuncNative native_cb, IntPtr data, GLib.DestroyNotify notify)
+ {
+ this.native_cb = native_cb;
+ __data = data;
+ __notify = notify;
+ }
+
+ internal Gst.ValueDeserializeWithPSpecFunc Handler {
+ get {
+ return new Gst.ValueDeserializeWithPSpecFunc(InvokeNative);
+ }
+ }
+
+ bool InvokeNative (GLib.Value dest, string s, IntPtr pspec)
+ {
+ IntPtr native_dest = GLib.Marshaller.StructureToPtrAlloc (dest);
+ IntPtr native_s = GLib.Marshaller.StringToPtrGStrdup (s);
+ bool __result = native_cb (native_dest, native_s, pspec);
+ Marshal.FreeHGlobal (native_dest);
+ GLib.Marshaller.Free (native_s);
+ return __result;
+ }
+ }
+
+ internal class ValueDeserializeWithPSpecFuncWrapper {
+
+ public bool NativeCallback (IntPtr dest, IntPtr s, IntPtr pspec)
+ {
+ try {
+ bool __ret = managed ((GLib.Value) Marshal.PtrToStructure (dest, typeof (GLib.Value)), GLib.Marshaller.Utf8PtrToString (s), pspec);
+ 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 ValueDeserializeWithPSpecFuncNative NativeDelegate;
+ Gst.ValueDeserializeWithPSpecFunc managed;
+
+ public ValueDeserializeWithPSpecFuncWrapper (Gst.ValueDeserializeWithPSpecFunc managed)
+ {
+ this.managed = managed;
+ if (managed != null)
+ NativeDelegate = new ValueDeserializeWithPSpecFuncNative (NativeCallback);
+ }
+
+ public static Gst.ValueDeserializeWithPSpecFunc GetManagedDelegate (ValueDeserializeWithPSpecFuncNative native)
+ {
+ if (native == null)
+ return null;
+ ValueDeserializeWithPSpecFuncWrapper wrapper = (ValueDeserializeWithPSpecFuncWrapper) native.Target;
+ if (wrapper == null)
+ return null;
+ return wrapper.managed;
+ }
+ }
+#endregion
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.ValueSerializeFuncNative.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.ValueSerializeFuncNative.cs
new file mode 100644
index 0000000000..8972911c27
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/GstSharp.ValueSerializeFuncNative.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/IChildProxy.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/IChildProxy.cs
new file mode 100644
index 0000000000..8068b21e71
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/IChildProxy.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/IPreset.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/IPreset.cs
new file mode 100644
index 0000000000..07aed46cdb
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/IPreset.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/ITagSetter.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/ITagSetter.cs
new file mode 100644
index 0000000000..bfbbf99c9a
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/ITagSetter.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/ITocSetter.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/ITocSetter.cs
new file mode 100644
index 0000000000..d700b4fe14
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/ITocSetter.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/IURIHandler.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/IURIHandler.cs
new file mode 100644
index 0000000000..d1270ee4a9
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/IURIHandler.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/Int64Range.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/Int64Range.cs
new file mode 100644
index 0000000000..043bf23b6a
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/Int64Range.cs
@@ -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("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/Iterator.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/Iterator.cs
new file mode 100644
index 0000000000..2c264e21be
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/Iterator.cs
@@ -0,0 +1,406 @@
+// 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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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);
+ }
+
+ protected override Action<IntPtr> DisposeUnmanagedFunc {
+ get {
+ return gst_iterator_free;
+ }
+ }
+
+
+ // 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/subprojects/gstreamer-sharp/sources/generated/Gst/IteratorCopyFunction.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/IteratorCopyFunction.cs
new file mode 100644
index 0000000000..5176fbd9ad
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/IteratorCopyFunction.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/IteratorFoldFunction.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/IteratorFoldFunction.cs
new file mode 100644
index 0000000000..55208b9a52
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/IteratorFoldFunction.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/IteratorForeachFunction.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/IteratorForeachFunction.cs
new file mode 100644
index 0000000000..8aaeb9f7e7
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/IteratorForeachFunction.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/IteratorFreeFunction.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/IteratorFreeFunction.cs
new file mode 100644
index 0000000000..050e817ab2
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/IteratorFreeFunction.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/IteratorItem.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/IteratorItem.cs
new file mode 100644
index 0000000000..d8ad1477e6
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/IteratorItem.cs
@@ -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 ("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/IteratorItemFunction.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/IteratorItemFunction.cs
new file mode 100644
index 0000000000..18b34c6ea1
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/IteratorItemFunction.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/IteratorNextFunction.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/IteratorNextFunction.cs
new file mode 100644
index 0000000000..f308eaaab4
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/IteratorNextFunction.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/IteratorResult.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/IteratorResult.cs
new file mode 100644
index 0000000000..ecbc513b82
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/IteratorResult.cs
@@ -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 ("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/IteratorResyncFunction.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/IteratorResyncFunction.cs
new file mode 100644
index 0000000000..809a007eaf
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/IteratorResyncFunction.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/LibraryError.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/LibraryError.cs
new file mode 100644
index 0000000000..6fc30b232b
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/LibraryError.cs
@@ -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 ("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/LinkedHandler.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/LinkedHandler.cs
new file mode 100644
index 0000000000..798811f86f
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/LinkedHandler.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/LockFlags.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/LockFlags.cs
new file mode 100644
index 0000000000..3e1bc18f02
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/LockFlags.cs
@@ -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 : uint {
+
+ Read = 1,
+ Write = 2,
+ Exclusive = 4,
+ Last = 256,
+ }
+
+ internal class LockFlagsGType {
+ [DllImport ("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/LogFunction.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/LogFunction.cs
new file mode 100644
index 0000000000..972b418b7d
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/LogFunction.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/MapFlags.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/MapFlags.cs
new file mode 100644
index 0000000000..a0a4985055
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/MapFlags.cs
@@ -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 : uint {
+
+ Read = 1,
+ Write = 2,
+ FlagLast = 65536,
+ }
+
+ internal class MapFlagsGType {
+ [DllImport ("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/MapInfo.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/MapInfo.cs
new file mode 100644
index 0000000000..3a3816a8c6
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/MapInfo.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/Memory.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/Memory.cs
new file mode 100644
index 0000000000..713f76375b
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/Memory.cs
@@ -0,0 +1,340 @@
+// 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("gstreamer-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("gstreamer-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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern UIntPtr gst_memory_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_memory_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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_memory_is_span(IntPtr raw, IntPtr mem2, out UIntPtr offset);
+
+ public bool IsSpan(Gst.Memory mem2, out ulong offset) {
+ UIntPtr native_offset;
+ bool raw_ret = gst_memory_is_span(Handle, mem2 == null ? IntPtr.Zero : mem2.Handle, out native_offset);
+ bool ret = raw_ret;
+ offset = (ulong) native_offset;
+ return ret;
+ }
+
+ [DllImport("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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);
+ }
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_memory_ref(IntPtr raw);
+
+ protected override void Ref (IntPtr raw)
+ {
+ if (!Owned) {
+ gst_memory_ref (raw);
+ Owned = true;
+ }
+ }
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern void gst_memory_unref(IntPtr raw);
+
+ protected override void Unref (IntPtr raw)
+ {
+ if (Owned) {
+ gst_memory_unref (raw);
+ Owned = false;
+ }
+ }
+
+ protected override Action<IntPtr> DisposeUnmanagedFunc {
+ get {
+ return gst_memory_unref;
+ }
+ }
+
+
+ // 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/subprojects/gstreamer-sharp/sources/generated/Gst/MemoryCopyFunction.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/MemoryCopyFunction.cs
new file mode 100644
index 0000000000..40c9774dfe
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/MemoryCopyFunction.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/MemoryFlags.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/MemoryFlags.cs
new file mode 100644
index 0000000000..05c7f665fc
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/MemoryFlags.cs
@@ -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 : uint {
+
+ Readonly = 2,
+ NoShare = 16,
+ ZeroPrefixed = 32,
+ ZeroPadded = 64,
+ PhysicallyContiguous = 128,
+ NotMappable = 256,
+ Last = 1048576,
+ }
+
+ internal class MemoryFlagsGType {
+ [DllImport ("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/MemoryIsSpanFunction.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/MemoryIsSpanFunction.cs
new file mode 100644
index 0000000000..e295ef4ef2
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/MemoryIsSpanFunction.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/MemoryMapFullFunction.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/MemoryMapFullFunction.cs
new file mode 100644
index 0000000000..08b37b5c9e
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/MemoryMapFullFunction.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/MemoryMapFunction.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/MemoryMapFunction.cs
new file mode 100644
index 0000000000..28cf5cbad2
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/MemoryMapFunction.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/MemoryShareFunction.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/MemoryShareFunction.cs
new file mode 100644
index 0000000000..fea313a881
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/MemoryShareFunction.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/MemoryUnmapFullFunction.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/MemoryUnmapFullFunction.cs
new file mode 100644
index 0000000000..934644541d
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/MemoryUnmapFullFunction.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/MemoryUnmapFunction.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/MemoryUnmapFunction.cs
new file mode 100644
index 0000000000..44e8e68224
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/MemoryUnmapFunction.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/Message.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/Message.cs
new file mode 100644
index 0000000000..f338b24146
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/Message.cs
@@ -0,0 +1,1127 @@
+// 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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern uint gst_message_get_seqnum(IntPtr raw);
+
+ [DllImport("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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.Utf8PtrToString (native_context_type);
+ return ret;
+ }
+
+ [DllImport("gstreamer-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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern void gst_message_parse_device_changed(IntPtr raw, out IntPtr device, out IntPtr changed_device);
+
+ public void ParseDeviceChanged(out Gst.Device device, out Gst.Device changed_device) {
+ IntPtr native_device;
+ IntPtr native_changed_device;
+ gst_message_parse_device_changed(Handle, out native_device, out native_changed_device);
+ device = GLib.Object.GetObject(native_device, true) as Gst.Device;
+ changed_device = GLib.Object.GetObject(native_changed_device, true) as Gst.Device;
+ }
+
+ [DllImport("gstreamer-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("gstreamer-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), false);
+ return structure;
+ }
+
+ [DllImport("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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), false);
+ return structure;
+ }
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern void gst_message_parse_instant_rate_request(IntPtr raw, out double rate_multiplier);
+
+ public double ParseInstantRateRequest() {
+ double rate_multiplier;
+ gst_message_parse_instant_rate_request(Handle, out rate_multiplier);
+ return rate_multiplier;
+ }
+
+ [DllImport("gstreamer-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("gstreamer-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("gstreamer-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.Utf8PtrToString (native_property_name);
+ property_value = (GLib.Value) Marshal.PtrToStructure (native_property_value, typeof (GLib.Value));
+ Marshal.FreeHGlobal (native_property_value);
+ }
+
+ [DllImport("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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), false);
+ return structure;
+ }
+
+ [DllImport("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_message_new_application(IntPtr src, IntPtr structure);
+
+ public static Message NewApplication(Gst.Object src, Gst.Structure structure)
+ {
+ structure.Owned = false;
+ Message result = new Message (gst_message_new_application(src == null ? IntPtr.Zero : src.Handle, structure == null ? IntPtr.Zero : structure.Handle));
+ return result;
+ }
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_message_new_async_done(IntPtr src, ulong running_time);
+
+ public static Message NewAsyncDone(Gst.Object src, ulong running_time)
+ {
+ Message result = new Message (gst_message_new_async_done(src == null ? IntPtr.Zero : src.Handle, running_time));
+ return result;
+ }
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_message_new_async_start(IntPtr src);
+
+ public static Message NewAsyncStart(Gst.Object src)
+ {
+ Message result = new Message (gst_message_new_async_start(src == null ? IntPtr.Zero : src.Handle));
+ return result;
+ }
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_message_new_buffering(IntPtr src, int percent);
+
+ public static Message NewBuffering(Gst.Object src, int percent)
+ {
+ Message result = new Message (gst_message_new_buffering(src == null ? IntPtr.Zero : src.Handle, percent));
+ return result;
+ }
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_message_new_clock_lost(IntPtr src, IntPtr clock);
+
+ public static Message NewClockLost(Gst.Object src, Gst.Clock clock)
+ {
+ Message result = new Message (gst_message_new_clock_lost(src == null ? IntPtr.Zero : src.Handle, clock == null ? IntPtr.Zero : clock.Handle));
+ return result;
+ }
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_message_new_clock_provide(IntPtr src, IntPtr clock, bool ready);
+
+ public static Message NewClockProvide(Gst.Object src, Gst.Clock clock, bool ready)
+ {
+ Message result = new Message (gst_message_new_clock_provide(src == null ? IntPtr.Zero : src.Handle, clock == null ? IntPtr.Zero : clock.Handle, ready));
+ return result;
+ }
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_message_new_custom(int type, IntPtr src, IntPtr structure);
+
+ public static Message NewCustom(Gst.MessageType type, Gst.Object src, Gst.Structure structure)
+ {
+ structure.Owned = false;
+ Message result = new Message (gst_message_new_custom((int) type, src == null ? IntPtr.Zero : src.Handle, structure == null ? IntPtr.Zero : structure.Handle));
+ return result;
+ }
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_message_new_device_added(IntPtr src, IntPtr device);
+
+ public static Message NewDeviceAdded(Gst.Object src, Gst.Device device)
+ {
+ Message result = new Message (gst_message_new_device_added(src == null ? IntPtr.Zero : src.Handle, device == null ? IntPtr.Zero : device.Handle));
+ return result;
+ }
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_message_new_device_changed(IntPtr src, IntPtr device, IntPtr changed_device);
+
+ public static Message NewDeviceChanged(Gst.Object src, Gst.Device device, Gst.Device changed_device)
+ {
+ Message result = new Message (gst_message_new_device_changed(src == null ? IntPtr.Zero : src.Handle, device == null ? IntPtr.Zero : device.Handle, changed_device == null ? IntPtr.Zero : changed_device.Handle));
+ return result;
+ }
+
+ [DllImport("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_message_new_error(IntPtr src, IntPtr error, IntPtr debug);
+
+ public static Message NewError(Gst.Object src, IntPtr error, string debug)
+ {
+ IntPtr native_debug = GLib.Marshaller.StringToPtrGStrdup (debug);
+ Message result = new Message (gst_message_new_error(src == null ? IntPtr.Zero : src.Handle, error, native_debug));
+ GLib.Marshaller.Free (native_debug);
+ return result;
+ }
+
+ [DllImport("gstreamer-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 static Message NewErrorWithDetails(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_error_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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_message_new_have_context(IntPtr src, IntPtr context);
+
+ public static Message NewHaveContext(Gst.Object src, Gst.Context context)
+ {
+ IntPtr native_context = GLib.Marshaller.StructureToPtrAlloc (context);
+ Message result = new Message (gst_message_new_have_context(src == null ? IntPtr.Zero : src.Handle, native_context));
+ Marshal.FreeHGlobal (native_context);
+ return result;
+ }
+
+ [DllImport("gstreamer-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("gstreamer-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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_message_new_instant_rate_request(IntPtr src, double rate_multiplier);
+
+ public static Message NewInstantRateRequest(Gst.Object src, double rate_multiplier)
+ {
+ Message result = new Message (gst_message_new_instant_rate_request(src == null ? IntPtr.Zero : src.Handle, rate_multiplier));
+ return result;
+ }
+
+ [DllImport("gstreamer-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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_message_new_need_context(IntPtr src, IntPtr context_type);
+
+ public static Message NewNeedContext(Gst.Object src, string context_type)
+ {
+ IntPtr native_context_type = GLib.Marshaller.StringToPtrGStrdup (context_type);
+ Message result = new Message (gst_message_new_need_context(src == null ? IntPtr.Zero : src.Handle, native_context_type));
+ GLib.Marshaller.Free (native_context_type);
+ return result;
+ }
+
+ [DllImport("gstreamer-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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_message_new_progress(IntPtr src, int type, IntPtr code, IntPtr text);
+
+ public static Message NewProgress(Gst.Object src, Gst.ProgressType type, string code, string text)
+ {
+ IntPtr native_code = GLib.Marshaller.StringToPtrGStrdup (code);
+ IntPtr native_text = GLib.Marshaller.StringToPtrGStrdup (text);
+ Message result = new Message (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);
+ return result;
+ }
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_message_new_property_notify(IntPtr src, IntPtr property_name, IntPtr val);
+
+ public static Message NewPropertyNotify(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);
+ Message result = new Message (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);
+ return result;
+ }
+
+ [DllImport("gstreamer-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 static Message NewQos(Gst.Object src, bool live, ulong running_time, ulong stream_time, ulong timestamp, ulong duration)
+ {
+ Message result = new Message (gst_message_new_qos(src == null ? IntPtr.Zero : src.Handle, live, running_time, stream_time, timestamp, duration));
+ return result;
+ }
+
+ [DllImport("gstreamer-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 static Message NewRedirect(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;
+ Message result = new Message (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);
+ return result;
+ }
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_message_new_request_state(IntPtr src, int state);
+
+ public static Message NewRequestState(Gst.Object src, Gst.State state)
+ {
+ Message result = new Message (gst_message_new_request_state(src == null ? IntPtr.Zero : src.Handle, (int) state));
+ return result;
+ }
+
+ [DllImport("gstreamer-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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_message_new_segment_done(IntPtr src, int format, long position);
+
+ public static Message NewSegmentDone(Gst.Object src, Gst.Format format, long position)
+ {
+ Message result = new Message (gst_message_new_segment_done(src == null ? IntPtr.Zero : src.Handle, (int) format, position));
+ return result;
+ }
+
+ [DllImport("gstreamer-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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_message_new_state_changed(IntPtr src, int oldstate, int newstate, int pending);
+
+ public static Message NewStateChanged(Gst.Object src, Gst.State oldstate, Gst.State newstate, Gst.State pending)
+ {
+ Message result = new Message (gst_message_new_state_changed(src == null ? IntPtr.Zero : src.Handle, (int) oldstate, (int) newstate, (int) pending));
+ return result;
+ }
+
+ [DllImport("gstreamer-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("gstreamer-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 static Message NewStepDone(Gst.Object src, Gst.Format format, ulong amount, double rate, bool flush, bool intermediate, ulong duration, bool eos)
+ {
+ Message result = new Message (gst_message_new_step_done(src == null ? IntPtr.Zero : src.Handle, (int) format, amount, rate, flush, intermediate, duration, eos));
+ return result;
+ }
+
+ [DllImport("gstreamer-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 static Message NewStepStart(Gst.Object src, bool active, Gst.Format format, ulong amount, double rate, bool flush, bool intermediate)
+ {
+ Message result = new Message (gst_message_new_step_start(src == null ? IntPtr.Zero : src.Handle, active, (int) format, amount, rate, flush, intermediate));
+ return result;
+ }
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_message_new_stream_collection(IntPtr src, IntPtr collection);
+
+ public static Message NewStreamCollection(Gst.Object src, Gst.StreamCollection collection)
+ {
+ Message result = new Message (gst_message_new_stream_collection(src == null ? IntPtr.Zero : src.Handle, collection == null ? IntPtr.Zero : collection.Handle));
+ return result;
+ }
+
+ [DllImport("gstreamer-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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_message_new_stream_status(IntPtr src, int type, IntPtr owner);
+
+ public static Message NewStreamStatus(Gst.Object src, Gst.StreamStatusType type, Gst.Element owner)
+ {
+ Message result = new Message (gst_message_new_stream_status(src == null ? IntPtr.Zero : src.Handle, (int) type, owner == null ? IntPtr.Zero : owner.Handle));
+ return result;
+ }
+
+ [DllImport("gstreamer-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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_message_new_structure_change(IntPtr src, int type, IntPtr owner, bool busy);
+
+ public static Message NewStructureChange(Gst.Object src, Gst.StructureChangeType type, Gst.Element owner, bool busy)
+ {
+ Message result = new Message (gst_message_new_structure_change(src == null ? IntPtr.Zero : src.Handle, (int) type, owner == null ? IntPtr.Zero : owner.Handle, busy));
+ return result;
+ }
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_message_new_tag(IntPtr src, IntPtr tag_list);
+
+ public static Message NewTag(Gst.Object src, Gst.TagList tag_list)
+ {
+ tag_list.Owned = false;
+ Message result = new Message (gst_message_new_tag(src == null ? IntPtr.Zero : src.Handle, tag_list == null ? IntPtr.Zero : tag_list.Handle));
+ return result;
+ }
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_message_new_toc(IntPtr src, IntPtr toc, bool updated);
+
+ public static Message NewToc(Gst.Object src, Gst.Toc toc, bool updated)
+ {
+ IntPtr native_toc = GLib.Marshaller.StructureToPtrAlloc (toc);
+ Message result = new Message (gst_message_new_toc(src == null ? IntPtr.Zero : src.Handle, native_toc, updated));
+ Marshal.FreeHGlobal (native_toc);
+ return result;
+ }
+
+ [DllImport("gstreamer-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("gstreamer-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;
+ }
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_message_ref(IntPtr raw);
+
+ protected override void Ref (IntPtr raw)
+ {
+ if (!Owned) {
+ gst_message_ref (raw);
+ Owned = true;
+ }
+ }
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern void gst_message_unref(IntPtr raw);
+
+ protected override void Unref (IntPtr raw)
+ {
+ if (Owned) {
+ gst_message_unref (raw);
+ Owned = false;
+ }
+ }
+
+ protected override Action<IntPtr> DisposeUnmanagedFunc {
+ get {
+ return gst_message_unref;
+ }
+ }
+
+
+ // 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/subprojects/gstreamer-sharp/sources/generated/Gst/MessageHandler.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/MessageHandler.cs
new file mode 100644
index 0000000000..8a24b97ace
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/MessageHandler.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/MessageType.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/MessageType.cs
new file mode 100644
index 0000000000..51af3f1285
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/MessageType.cs
@@ -0,0 +1,69 @@
+// 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 = 0,
+ 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,
+ DeviceChanged = 2147483655,
+ InstantRateRequest = 2147483656,
+ Any = 4294967295,
+ }
+
+ internal class MessageTypeGType {
+ [DllImport ("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/Meta.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/Meta.cs
new file mode 100644
index 0000000000..ac19a72c08
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/Meta.cs
@@ -0,0 +1,168 @@
+// 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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern int gst_meta_compare_seqnum(IntPtr raw, IntPtr meta2);
+
+ public int CompareSeqnum(Gst.Meta meta2) {
+ IntPtr 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_meta2 = GLib.Marshaller.StructureToPtrAlloc (meta2);
+ int raw_ret = gst_meta_compare_seqnum(this_as_native, native_meta2);
+ int ret = raw_ret;
+ ReadNative (this_as_native, ref this);
+ System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+ Marshal.FreeHGlobal (native_meta2);
+ return ret;
+ }
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern ulong gst_meta_get_seqnum(IntPtr raw);
+
+ public ulong 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);
+ ulong raw_ret = gst_meta_get_seqnum(this_as_native);
+ ulong ret = raw_ret;
+ ReadNative (this_as_native, ref this);
+ System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native);
+ return ret;
+ }
+ }
+
+ [DllImport("gstreamer-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("gstreamer-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);
+ int cnt_tags = tags == null ? 0 : tags.Length;
+ IntPtr[] native_tags = new IntPtr [cnt_tags + 1];
+ for (int i = 0; i < cnt_tags; i++)
+ native_tags [i] = GLib.Marshaller.StringToPtrGStrdup(tags[i]);
+ native_tags [cnt_tags] = IntPtr.Zero;
+ 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);
+ return ret;
+ }
+
+ [DllImport("gstreamer-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("gstreamer-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;
+ }
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_meta_register_custom(IntPtr name, IntPtr[] tags, GstSharp.CustomMetaTransformFunctionNative transform_func, IntPtr user_data, GLib.DestroyNotify destroy_data);
+
+ public static Gst.MetaInfo RegisterCustom(string name, string[] tags, Gst.CustomMetaTransformFunction transform_func) {
+ IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
+ int cnt_tags = tags == null ? 0 : tags.Length;
+ IntPtr[] native_tags = new IntPtr [cnt_tags + 1];
+ for (int i = 0; i < cnt_tags; i++)
+ native_tags [i] = GLib.Marshaller.StringToPtrGStrdup(tags[i]);
+ native_tags [cnt_tags] = IntPtr.Zero;
+ GstSharp.CustomMetaTransformFunctionWrapper transform_func_wrapper = new GstSharp.CustomMetaTransformFunctionWrapper (transform_func);
+ IntPtr user_data;
+ GLib.DestroyNotify destroy_data;
+ if (transform_func == null) {
+ user_data = IntPtr.Zero;
+ destroy_data = null;
+ } else {
+ user_data = (IntPtr) GCHandle.Alloc (transform_func_wrapper);
+ destroy_data = GLib.DestroyHelper.NotifyHandler;
+ }
+ IntPtr raw_ret = gst_meta_register_custom(native_name, native_tags, transform_func_wrapper.NativeDelegate, user_data, destroy_data);
+ Gst.MetaInfo ret = Gst.MetaInfo.New (raw_ret);
+ GLib.Marshaller.Free (native_name);
+ return ret;
+ }
+
+ public static Gst.MetaInfo RegisterCustom(string name, string[] tags) {
+ return RegisterCustom (name, tags, null);
+ }
+
+ static void ReadNative (IntPtr native, ref Gst.Meta target)
+ {
+ target = New (native);
+ }
+
+ 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/subprojects/gstreamer-sharp/sources/generated/Gst/MetaFlags.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/MetaFlags.cs
new file mode 100644
index 0000000000..0bdd017563
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/MetaFlags.cs
@@ -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 : uint {
+
+ None = 0,
+ Readonly = 1,
+ Pooled = 2,
+ Locked = 4,
+ Last = 65536,
+ }
+
+ internal class MetaFlagsGType {
+ [DllImport ("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/MetaFreeFunction.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/MetaFreeFunction.cs
new file mode 100644
index 0000000000..0dba44ca0c
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/MetaFreeFunction.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/MetaInfo.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/MetaInfo.cs
new file mode 100644
index 0000000000..b55e79ac15
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/MetaInfo.cs
@@ -0,0 +1,93 @@
+// 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));
+ }
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_meta_info_is_custom(IntPtr raw);
+
+ public bool IsCustom {
+ 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_meta_info_is_custom(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.MetaInfo target)
+ {
+ target = New (native);
+ }
+
+ 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/subprojects/gstreamer-sharp/sources/generated/Gst/MetaInitFunction.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/MetaInitFunction.cs
new file mode 100644
index 0000000000..242799d460
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/MetaInitFunction.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/MetaTransformCopy.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/MetaTransformCopy.cs
new file mode 100644
index 0000000000..cc20e651fb
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/MetaTransformCopy.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/MetaTransformFunction.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/MetaTransformFunction.cs
new file mode 100644
index 0000000000..91290835e2
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/MetaTransformFunction.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/MiniObject.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/MiniObject.cs
new file mode 100644
index 0000000000..f890308c65
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/MiniObject.cs
@@ -0,0 +1,340 @@
+// 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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern void gst_mini_object_add_parent(IntPtr raw, IntPtr parent);
+
+ public void AddParent(Gst.MiniObject parent) {
+ gst_mini_object_add_parent(Handle, parent == null ? IntPtr.Zero : parent.Handle);
+ }
+
+ [DllImport("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern void gst_mini_object_remove_parent(IntPtr raw, IntPtr parent);
+
+ public void RemoveParent(Gst.MiniObject parent) {
+ gst_mini_object_remove_parent(Handle, parent == null ? IntPtr.Zero : parent.Handle);
+ }
+
+ [DllImport("gstreamer-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("gstreamer-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("gstreamer-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) {}
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_mini_object_ref(IntPtr raw);
+
+ protected override void Ref (IntPtr raw)
+ {
+ if (!Owned) {
+ gst_mini_object_ref (raw);
+ Owned = true;
+ }
+ }
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern void gst_mini_object_unref(IntPtr raw);
+
+ protected override void Unref (IntPtr raw)
+ {
+ if (Owned) {
+ gst_mini_object_unref (raw);
+ Owned = false;
+ }
+ }
+
+ protected override Action<IntPtr> DisposeUnmanagedFunc {
+ get {
+ return gst_mini_object_unref;
+ }
+ }
+
+
+ // 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"
+ , "priv_uint"
+ , (uint) Marshal.SizeOf(typeof(IntPtr))
+ , 0
+ ),
+ new GLib.AbiField("priv_uint"
+ , -1
+ , (uint) Marshal.SizeOf(typeof(uint)) // priv_uint
+ , "free"
+ , "priv_pointer"
+ , (long) Marshal.OffsetOf(typeof(GstMiniObject_priv_uintAlign), "priv_uint")
+ , 0
+ ),
+ new GLib.AbiField("priv_pointer"
+ , -1
+ , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv_pointer
+ , "priv_uint"
+ , 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_priv_uintAlign
+ {
+ sbyte f1;
+ private uint priv_uint;
+ }
+
+
+ // End of the ABI representation.
+
+#endregion
+ }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst/MiniObjectCopyFunction.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/MiniObjectCopyFunction.cs
new file mode 100644
index 0000000000..bbe4a15f66
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/MiniObjectCopyFunction.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/MiniObjectDisposeFunction.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/MiniObjectDisposeFunction.cs
new file mode 100644
index 0000000000..12d2e91e08
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/MiniObjectDisposeFunction.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/MiniObjectFlags.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/MiniObjectFlags.cs
new file mode 100644
index 0000000000..4d2c3976a7
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/MiniObjectFlags.cs
@@ -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 : uint {
+
+ Lockable = 1,
+ LockReadonly = 2,
+ MayBeLeaked = 4,
+ Last = 16,
+ }
+
+ internal class MiniObjectFlagsGType {
+ [DllImport ("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/MiniObjectFreeFunction.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/MiniObjectFreeFunction.cs
new file mode 100644
index 0000000000..c480a41378
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/MiniObjectFreeFunction.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/MiniObjectNotify.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/MiniObjectNotify.cs
new file mode 100644
index 0000000000..0370bd8aa7
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/MiniObjectNotify.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/Object.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/Object.cs
new file mode 100644
index 0000000000..076747a1c5
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/Object.cs
@@ -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("gstreamer-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("gstreamer-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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern ulong gst_object_get_control_rate(IntPtr raw);
+
+ [DllImport("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern void gst_object_unparent(IntPtr raw);
+
+ public void Unparent() {
+ gst_object_unparent(Handle);
+ }
+
+ [DllImport("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/ObjectFlags.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/ObjectFlags.cs
new file mode 100644
index 0000000000..e93718f3a1
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/ObjectFlags.cs
@@ -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 : uint {
+
+ MayBeLeaked = 1,
+ Last = 16,
+ }
+
+ internal class ObjectFlagsGType {
+ [DllImport ("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/Pad.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/Pad.cs
new file mode 100644
index 0000000000..64a2f22d41
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/Pad.cs
@@ -0,0 +1,1754 @@
+// 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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern long gst_pad_get_offset(IntPtr raw);
+
+ [DllImport("gstreamer-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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_pad_get_element_private(IntPtr raw);
+
+ [DllImport("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_pad_get_single_internal_link(IntPtr raw);
+
+ public Gst.Pad SingleInternalLink {
+ get {
+ IntPtr raw_ret = gst_pad_get_single_internal_link(Handle);
+ Gst.Pad ret = GLib.Object.GetObject(raw_ret, true) as Gst.Pad;
+ return ret;
+ }
+ }
+
+ [DllImport("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/PadActivateFunction.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/PadActivateFunction.cs
new file mode 100644
index 0000000000..17e6e00bbc
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/PadActivateFunction.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/PadActivateModeFunction.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/PadActivateModeFunction.cs
new file mode 100644
index 0000000000..d608ac2dde
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/PadActivateModeFunction.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/PadAddedHandler.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/PadAddedHandler.cs
new file mode 100644
index 0000000000..8ab31ee87f
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/PadAddedHandler.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/PadChainFunction.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/PadChainFunction.cs
new file mode 100644
index 0000000000..235c68a5d3
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/PadChainFunction.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/PadChainListFunction.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/PadChainListFunction.cs
new file mode 100644
index 0000000000..e61d9fcabb
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/PadChainListFunction.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/PadCreatedEventHandler.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/PadCreatedEventHandler.cs
new file mode 100644
index 0000000000..78a614c963
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/PadCreatedEventHandler.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/PadDirection.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/PadDirection.cs
new file mode 100644
index 0000000000..e656650135
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/PadDirection.cs
@@ -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 ("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/PadEventFullFunction.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/PadEventFullFunction.cs
new file mode 100644
index 0000000000..d654e29d17
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/PadEventFullFunction.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/PadEventFunction.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/PadEventFunction.cs
new file mode 100644
index 0000000000..8432f77065
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/PadEventFunction.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/PadFlags.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/PadFlags.cs
new file mode 100644
index 0000000000..d5335280f5
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/PadFlags.cs
@@ -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 : uint {
+
+ 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 ("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/PadForwardFunction.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/PadForwardFunction.cs
new file mode 100644
index 0000000000..44e26d17d5
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/PadForwardFunction.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/PadGetRangeFunction.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/PadGetRangeFunction.cs
new file mode 100644
index 0000000000..6d70db3000
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/PadGetRangeFunction.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/PadIterIntLinkFunction.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/PadIterIntLinkFunction.cs
new file mode 100644
index 0000000000..f8c37b9f53
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/PadIterIntLinkFunction.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/PadLinkCheck.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/PadLinkCheck.cs
new file mode 100644
index 0000000000..556b1fd2eb
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/PadLinkCheck.cs
@@ -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 : uint {
+
+ Nothing = 0,
+ Hierarchy = 1,
+ TemplateCaps = 2,
+ Caps = 4,
+ Default = 5,
+ NoReconfigure = 8,
+ }
+
+ internal class PadLinkCheckGType {
+ [DllImport ("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/PadLinkFunction.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/PadLinkFunction.cs
new file mode 100644
index 0000000000..231346ef1d
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/PadLinkFunction.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/PadLinkReturn.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/PadLinkReturn.cs
new file mode 100644
index 0000000000..a5b7e8a547
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/PadLinkReturn.cs
@@ -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 ("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/PadMode.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/PadMode.cs
new file mode 100644
index 0000000000..6c38557197
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/PadMode.cs
@@ -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 ("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/PadPresence.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/PadPresence.cs
new file mode 100644
index 0000000000..873a6fe39d
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/PadPresence.cs
@@ -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 ("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/PadProbeCallback.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/PadProbeCallback.cs
new file mode 100644
index 0000000000..6117a85b49
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/PadProbeCallback.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/PadProbeInfo.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/PadProbeInfo.cs
new file mode 100644
index 0000000000..78d4fbbed0
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/PadProbeInfo.cs
@@ -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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/PadProbeReturn.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/PadProbeReturn.cs
new file mode 100644
index 0000000000..877d07d4d2
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/PadProbeReturn.cs
@@ -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 ("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/PadProbeType.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/PadProbeType.cs
new file mode 100644
index 0000000000..d5c30cab97
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/PadProbeType.cs
@@ -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 : uint {
+
+ 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 ("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/PadQueryFunction.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/PadQueryFunction.cs
new file mode 100644
index 0000000000..9b25c2d310
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/PadQueryFunction.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/PadRemovedHandler.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/PadRemovedHandler.cs
new file mode 100644
index 0000000000..b49d36fdcf
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/PadRemovedHandler.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/PadStickyEventsForeachFunction.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/PadStickyEventsForeachFunction.cs
new file mode 100644
index 0000000000..850e1b7409
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/PadStickyEventsForeachFunction.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/PadTemplate.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/PadTemplate.cs
new file mode 100644
index 0000000000..b028cca77b
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/PadTemplate.cs
@@ -0,0 +1,414 @@
+// 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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_pad_template_get_documentation_caps(IntPtr raw);
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern void gst_pad_template_set_documentation_caps(IntPtr raw, IntPtr caps);
+
+ public Gst.Caps DocumentationCaps {
+ get {
+ IntPtr raw_ret = gst_pad_template_get_documentation_caps(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_pad_template_set_documentation_caps(Handle, value == null ? IntPtr.Zero : value.Handle);
+ }
+ }
+
+ [DllImport("gstreamer-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"
+ , "ABI.abi.documentation_caps"
+ , (long) Marshal.OffsetOf(typeof(GstPadTemplate_ABI_abi_gtypeAlign), "ABI_abi_gtype")
+ , 0
+ ),
+ new GLib.AbiField("ABI.abi.documentation_caps"
+ , -1
+ , (uint) Marshal.SizeOf(typeof(IntPtr)) // ABI.abi.documentation_caps
+ , "ABI.abi.gtype"
+ , 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.gtype","ABI.abi.documentation_caps"}
+ }
+ , "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/subprojects/gstreamer-sharp/sources/generated/Gst/PadTemplateFlags.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/PadTemplateFlags.cs
new file mode 100644
index 0000000000..5efdb0ec2c
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/PadTemplateFlags.cs
@@ -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 : uint {
+
+ Last = 256,
+ }
+
+ internal class PadTemplateFlagsGType {
+ [DllImport ("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/PadUnlinkFunction.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/PadUnlinkFunction.cs
new file mode 100644
index 0000000000..09f7ceccd9
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/PadUnlinkFunction.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/ParamArray.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/ParamArray.cs
new file mode 100644
index 0000000000..82b184c5bc
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/ParamArray.cs
@@ -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("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/ParamFraction.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/ParamFraction.cs
new file mode 100644
index 0000000000..4505dc4db7
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/ParamFraction.cs
@@ -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("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/ParentBufferMeta.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/ParentBufferMeta.cs
new file mode 100644
index 0000000000..7496e7b458
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/ParentBufferMeta.cs
@@ -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("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/Parse.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/Parse.cs
new file mode 100644
index 0000000000..775c60efcf
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/Parse.cs
@@ -0,0 +1,119 @@
+// 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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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;
+ if (error != IntPtr.Zero) throw new GLib.GException (error);
+ return ret;
+ }
+
+ [DllImport("gstreamer-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;
+ 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/subprojects/gstreamer-sharp/sources/generated/Gst/ParseContext.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/ParseContext.cs
new file mode 100644
index 0000000000..250adf98f6
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/ParseContext.cs
@@ -0,0 +1,87 @@
+// 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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_parse_context_new();
+
+ public ParseContext ()
+ {
+ Raw = gst_parse_context_new();
+ }
+
+ [DllImport("gstreamer-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);
+ }
+
+ protected override Action<IntPtr> DisposeUnmanagedFunc {
+ get {
+ return gst_parse_context_free;
+ }
+ }
+
+
+ // 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/subprojects/gstreamer-sharp/sources/generated/Gst/ParseError.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/ParseError.cs
new file mode 100644
index 0000000000..295d2d8700
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/ParseError.cs
@@ -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 ("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/ParseFlags.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/ParseFlags.cs
new file mode 100644
index 0000000000..3f03a1cf99
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/ParseFlags.cs
@@ -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 : uint {
+
+ None = 0,
+ FatalErrors = 1,
+ NoSingleElementBins = 2,
+ PlaceInBin = 4,
+ }
+
+ internal class ParseFlagsGType {
+ [DllImport ("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/Pipeline.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/Pipeline.cs
new file mode 100644
index 0000000000..8baf4496e3
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/Pipeline.cs
@@ -0,0 +1,251 @@
+// 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("gstreamer-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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_pipeline_get_auto_flush_bus(IntPtr raw);
+
+ [DllImport("gstreamer-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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern ulong gst_pipeline_get_delay(IntPtr raw);
+
+ [DllImport("gstreamer-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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern ulong gst_pipeline_get_latency(IntPtr raw);
+
+ [DllImport("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/PipelineFlags.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/PipelineFlags.cs
new file mode 100644
index 0000000000..8c7bd3b869
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/PipelineFlags.cs
@@ -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 : uint {
+
+ FixedClock = 524288,
+ Last = 8388608,
+ }
+
+ internal class PipelineFlagsGType {
+ [DllImport ("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/Plugin.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/Plugin.cs
new file mode 100644
index 0000000000..2488590d17
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/Plugin.cs
@@ -0,0 +1,312 @@
+// 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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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);
+ }
+
+ public void AddDependency(Gst.PluginDependencyFlags flags) {
+ AddDependency (null, null, null, flags);
+ }
+
+ [DllImport("gstreamer-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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_plugin_get_cache_data(IntPtr raw);
+
+ [DllImport("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/PluginAPIFlags.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/PluginAPIFlags.cs
new file mode 100644
index 0000000000..607c0dafdd
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/PluginAPIFlags.cs
@@ -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.PluginAPIFlagsGType))]
+ public enum PluginAPIFlags : uint {
+
+ Members = 1,
+ }
+
+ internal class PluginAPIFlagsGType {
+ [DllImport ("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_plugin_api_flags_get_type ();
+
+ public static GLib.GType GType {
+ get {
+ return new GLib.GType (gst_plugin_api_flags_get_type ());
+ }
+ }
+ }
+#endregion
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst/PluginAddedHandler.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/PluginAddedHandler.cs
new file mode 100644
index 0000000000..3db31d7621
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/PluginAddedHandler.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/PluginDependencyFlags.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/PluginDependencyFlags.cs
new file mode 100644
index 0000000000..b845e8d633
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/PluginDependencyFlags.cs
@@ -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 : uint {
+
+ None = 0,
+ Recurse = 1,
+ PathsAreDefaultOnly = 2,
+ FileNameIsSuffix = 4,
+ FileNameIsPrefix = 8,
+ PathsAreRelativeToExe = 16,
+ }
+
+ internal class PluginDependencyFlagsGType {
+ [DllImport ("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/PluginDesc.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/PluginDesc.cs
new file mode 100644
index 0000000000..7a2293857c
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/PluginDesc.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/PluginError.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/PluginError.cs
new file mode 100644
index 0000000000..1b20b7aa3d
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/PluginError.cs
@@ -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 ("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/PluginFeature.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/PluginFeature.cs
new file mode 100644
index 0000000000..2d36b8a5dd
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/PluginFeature.cs
@@ -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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern uint gst_plugin_feature_get_rank(IntPtr raw);
+
+ [DllImport("gstreamer-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("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/PluginFeatureFilter.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/PluginFeatureFilter.cs
new file mode 100644
index 0000000000..baa20f5906
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/PluginFeatureFilter.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/PluginFilter.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/PluginFilter.cs
new file mode 100644
index 0000000000..961bd602f4
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/PluginFilter.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/PluginFlags.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/PluginFlags.cs
new file mode 100644
index 0000000000..2d533c20fc
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/PluginFlags.cs
@@ -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 : uint {
+
+ Cached = 16,
+ Blacklisted = 32,
+ }
+
+ internal class PluginFlagsGType {
+ [DllImport ("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/PluginInitFullFunc.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/PluginInitFullFunc.cs
new file mode 100644
index 0000000000..3d9c9f5bd5
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/PluginInitFullFunc.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/PluginInitFunc.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/PluginInitFunc.cs
new file mode 100644
index 0000000000..d3d4c51184
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/PluginInitFunc.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/Poll.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/Poll.cs
new file mode 100644
index 0000000000..134605b018
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/Poll.cs
@@ -0,0 +1,230 @@
+// 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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_poll_fd_ctl_pri(IntPtr raw, IntPtr fd, bool active);
+
+ public bool FdCtlPri(Gst.PollFD fd, bool active) {
+ IntPtr native_fd = GLib.Marshaller.StructureToPtrAlloc (fd);
+ bool raw_ret = gst_poll_fd_ctl_pri(Handle, native_fd, active);
+ bool ret = raw_ret;
+ Marshal.FreeHGlobal (native_fd);
+ return ret;
+ }
+
+ [DllImport("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_poll_fd_has_pri(IntPtr raw, IntPtr fd);
+
+ public bool FdHasPri(Gst.PollFD fd) {
+ IntPtr native_fd = GLib.Marshaller.StructureToPtrAlloc (fd);
+ bool raw_ret = gst_poll_fd_has_pri(Handle, native_fd);
+ bool ret = raw_ret;
+ Marshal.FreeHGlobal (native_fd);
+ return ret;
+ }
+
+ [DllImport("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern void gst_poll_restart(IntPtr raw);
+
+ public void Restart() {
+ gst_poll_restart(Handle);
+ }
+
+ [DllImport("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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);
+ }
+
+ protected override Action<IntPtr> DisposeUnmanagedFunc {
+ get {
+ return gst_poll_free;
+ }
+ }
+
+
+ // 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/subprojects/gstreamer-sharp/sources/generated/Gst/PollFD.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/PollFD.cs
new file mode 100644
index 0000000000..fcb1f30fe9
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/PollFD.cs
@@ -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("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/PresetAdapter.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/PresetAdapter.cs
new file mode 100644
index 0000000000..40e2b020f1
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/PresetAdapter.cs
@@ -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("gstreamer-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("gstreamer-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.FilenamePtrToString (raw_ret);
+ return ret;
+ }
+ }
+
+ [DllImport("gstreamer-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.StringToFilenamePtr (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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/ProgressType.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/ProgressType.cs
new file mode 100644
index 0000000000..2a18bbf7ac
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/ProgressType.cs
@@ -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 ("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/Promise.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/Promise.cs
new file mode 100644
index 0000000000..f659dc3e0d
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/Promise.cs
@@ -0,0 +1,114 @@
+// 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("gstreamer-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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern void gst_promise_expire(IntPtr raw);
+
+ public void Expire() {
+ gst_promise_expire(Handle);
+ }
+
+ [DllImport("gstreamer-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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern void gst_promise_interrupt(IntPtr raw);
+
+ public void Interrupt() {
+ gst_promise_interrupt(Handle);
+ }
+
+ [DllImport("gstreamer-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);
+ }
+
+ public void Reply() {
+ Reply (null);
+ }
+
+ [DllImport("gstreamer-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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_promise_new();
+
+ public Promise ()
+ {
+ Raw = gst_promise_new();
+ }
+
+ [DllImport("gstreamer-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)
+ {
+ GstSharp.PromiseChangeFuncWrapper func_wrapper = new GstSharp.PromiseChangeFuncWrapper (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;
+ }
+ 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/subprojects/gstreamer-sharp/sources/generated/Gst/PromiseChangeFunc.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/PromiseChangeFunc.cs
new file mode 100644
index 0000000000..fcea5386e9
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/PromiseChangeFunc.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/PromiseResult.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/PromiseResult.cs
new file mode 100644
index 0000000000..c70b47fed7
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/PromiseResult.cs
@@ -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 ("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/ProtectionMeta.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/ProtectionMeta.cs
new file mode 100644
index 0000000000..0bfcfffa1b
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/ProtectionMeta.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/ProviderHiddenHandler.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/ProviderHiddenHandler.cs
new file mode 100644
index 0000000000..e3a4aaff4e
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/ProviderHiddenHandler.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/ProviderUnhiddenHandler.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/ProviderUnhiddenHandler.cs
new file mode 100644
index 0000000000..9a04f00e6d
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/ProviderUnhiddenHandler.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/ProxyPad.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/ProxyPad.cs
new file mode 100644
index 0000000000..17491f8a3d
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/ProxyPad.cs
@@ -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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/QOSType.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/QOSType.cs
new file mode 100644
index 0000000000..5d20800514
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/QOSType.cs
@@ -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 ("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/Query.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/Query.cs
new file mode 100644
index 0000000000..f3762718b3
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/Query.cs
@@ -0,0 +1,863 @@
+// 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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern void gst_query_parse_accept_caps_result(IntPtr raw, out bool _result);
+
+ public bool ParseAcceptCapsResult() {
+ bool _result;
+ gst_query_parse_accept_caps_result(Handle, out _result);
+ return _result;
+ }
+
+ [DllImport("gstreamer-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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern void gst_query_parse_bitrate(IntPtr raw, out uint nominal_bitrate);
+
+ public uint ParseBitrate() {
+ uint nominal_bitrate;
+ gst_query_parse_bitrate(Handle, out nominal_bitrate);
+ return nominal_bitrate;
+ }
+
+ [DllImport("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern void gst_query_parse_nth_format(IntPtr raw, uint nth, out int format);
+
+ public Gst.Format ParseNthFormat(uint nth) {
+ Gst.Format format;
+ int native_format;
+ gst_query_parse_nth_format(Handle, nth, out native_format);
+ format = (Gst.Format) native_format;
+ return format;
+ }
+
+ [DllImport("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern void gst_query_set_bitrate(IntPtr raw, uint nominal_bitrate);
+
+ public uint Bitrate {
+ set {
+ gst_query_set_bitrate(Handle, value);
+ }
+ }
+
+ [DllImport("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_query_new_bitrate();
+
+ public Query ()
+ {
+ Raw = gst_query_new_bitrate();
+ }
+
+ [DllImport("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_query_new_drain();
+
+ public static Query NewDrain()
+ {
+ Query result = new Query (gst_query_new_drain());
+ return result;
+ }
+
+ [DllImport("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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;
+ }
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern void gst_query_unref(IntPtr raw);
+
+ protected override void Unref (IntPtr raw)
+ {
+ if (Owned) {
+ gst_query_unref (raw);
+ Owned = false;
+ }
+ }
+
+ protected override Action<IntPtr> DisposeUnmanagedFunc {
+ get {
+ return gst_query_unref;
+ }
+ }
+
+
+ // 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/subprojects/gstreamer-sharp/sources/generated/Gst/QueryType.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/QueryType.cs
new file mode 100644
index 0000000000..fc4f82c0a9
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/QueryType.cs
@@ -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.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,
+ Bitrate = 51202,
+ }
+
+ internal class QueryTypeGType {
+ [DllImport ("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/QueryTypeFlags.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/QueryTypeFlags.cs
new file mode 100644
index 0000000000..f1be657932
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/QueryTypeFlags.cs
@@ -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 : uint {
+
+ Upstream = 1,
+ Downstream = 2,
+ Serialized = 4,
+ }
+
+ internal class QueryTypeFlagsGType {
+ [DllImport ("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/Rank.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/Rank.cs
new file mode 100644
index 0000000000..e2db4c1c9c
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/Rank.cs
@@ -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 ("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/ReferenceTimestampMeta.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/ReferenceTimestampMeta.cs
new file mode 100644
index 0000000000..49055862d9
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/ReferenceTimestampMeta.cs
@@ -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("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/Registry.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/Registry.cs
new file mode 100644
index 0000000000..b8101e08b3
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/Registry.cs
@@ -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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/ResourceError.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/ResourceError.cs
new file mode 100644
index 0000000000..bf19e03f8d
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/ResourceError.cs
@@ -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 ("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/Sample.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/Sample.cs
new file mode 100644
index 0000000000..c4dbc0b463
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/Sample.cs
@@ -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 Sample : Gst.MiniObject {
+
+ [DllImport("gstreamer-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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_sample_get_buffer(IntPtr raw);
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern void gst_sample_set_buffer(IntPtr raw, IntPtr buffer);
+
+ 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;
+ }
+ set {
+ gst_sample_set_buffer(Handle, value == null ? IntPtr.Zero : value.Handle);
+ }
+ }
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_sample_get_buffer_list(IntPtr raw);
+
+ [DllImport("gstreamer-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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_sample_get_caps(IntPtr raw);
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern void gst_sample_set_caps(IntPtr raw, IntPtr caps);
+
+ 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;
+ }
+ set {
+ gst_sample_set_caps(Handle, value == null ? IntPtr.Zero : value.Handle);
+ }
+ }
+
+ [DllImport("gstreamer-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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_sample_get_segment(IntPtr raw);
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern void gst_sample_set_segment(IntPtr raw, IntPtr value);
+
+ public Gst.Segment Segment {
+ get {
+ IntPtr raw_ret = gst_sample_get_segment(Handle);
+ Gst.Segment ret = Gst.Segment.New (raw_ret);
+ return ret;
+ }
+ set {
+ IntPtr native_value = GLib.Marshaller.StructureToPtrAlloc (value);
+ gst_sample_set_segment(Handle, native_value);
+ Marshal.FreeHGlobal (native_value);
+ }
+ }
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_sample_set_info(IntPtr raw, IntPtr info);
+
+ public bool SetInfo(Gst.Structure info) {
+ info.Owned = false;
+ bool raw_ret = gst_sample_set_info(Handle, info == null ? IntPtr.Zero : info.Handle);
+ bool ret = raw_ret;
+ return ret;
+ }
+
+ public Sample(IntPtr raw) : base(raw) {}
+
+ [DllImport("gstreamer-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);
+ }
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_sample_ref(IntPtr raw);
+
+ protected override void Ref (IntPtr raw)
+ {
+ if (!Owned) {
+ gst_sample_ref (raw);
+ Owned = true;
+ }
+ }
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern void gst_sample_unref(IntPtr raw);
+
+ protected override void Unref (IntPtr raw)
+ {
+ if (Owned) {
+ gst_sample_unref (raw);
+ Owned = false;
+ }
+ }
+
+ protected override Action<IntPtr> DisposeUnmanagedFunc {
+ get {
+ return gst_sample_unref;
+ }
+ }
+
+
+ // 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/subprojects/gstreamer-sharp/sources/generated/Gst/SchedulingFlags.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/SchedulingFlags.cs
new file mode 100644
index 0000000000..caec4e1deb
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/SchedulingFlags.cs
@@ -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 : uint {
+
+ Seekable = 1,
+ Sequential = 2,
+ BandwidthLimited = 4,
+ }
+
+ internal class SchedulingFlagsGType {
+ [DllImport ("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/SearchMode.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/SearchMode.cs
new file mode 100644
index 0000000000..e0c0a95e87
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/SearchMode.cs
@@ -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 ("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/SeekFlags.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/SeekFlags.cs
new file mode 100644
index 0000000000..b8757bd907
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/SeekFlags.cs
@@ -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.SeekFlagsGType))]
+ public enum SeekFlags : uint {
+
+ None = 0,
+ Flush = 1,
+ Accurate = 2,
+ KeyUnit = 4,
+ Segment = 8,
+ Trickmode = 16,
+ Skip = 16,
+ SnapBefore = 32,
+ SnapAfter = 64,
+ SnapNearest = 96,
+ TrickmodeKeyUnits = 128,
+ TrickmodeNoAudio = 256,
+ TrickmodeForwardPredicted = 512,
+ InstantRateChange = 1024,
+ }
+
+ internal class SeekFlagsGType {
+ [DllImport ("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/SeekType.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/SeekType.cs
new file mode 100644
index 0000000000..06c038ccd1
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/SeekType.cs
@@ -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 ("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/Segment.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/Segment.cs
new file mode 100644
index 0000000000..b7b9f94178
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/Segment.cs
@@ -0,0 +1,300 @@
+// 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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern ulong gst_segment_to_position(IntPtr raw, int format, ulong running_time);
+
+ [Obsolete]
+ 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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/SegmentFlags.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/SegmentFlags.cs
new file mode 100644
index 0000000000..37e27e0c64
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/SegmentFlags.cs
@@ -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.SegmentFlagsGType))]
+ public enum SegmentFlags : uint {
+
+ None = 0,
+ Reset = 1,
+ Segment = 8,
+ Trickmode = 16,
+ Skip = 16,
+ TrickmodeKeyUnits = 128,
+ TrickmodeNoAudio = 256,
+ TrickmodeForwardPredicted = 512,
+ }
+
+ internal class SegmentFlagsGType {
+ [DllImport ("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/SharedTaskPool.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/SharedTaskPool.cs
new file mode 100644
index 0000000000..ecd8e821ec
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/SharedTaskPool.cs
@@ -0,0 +1,114 @@
+// 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 SharedTaskPool : Gst.TaskPool {
+
+ public SharedTaskPool (IntPtr raw) : base(raw) {}
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_shared_task_pool_new();
+
+ public SharedTaskPool () : base (IntPtr.Zero)
+ {
+ if (GetType () != typeof (SharedTaskPool)) {
+ CreateNativeObject (new string [0], new GLib.Value[0]);
+ return;
+ }
+ Raw = gst_shared_task_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 (new List<GLib.AbiField>{
+ new GLib.AbiField("_gst_reserved"
+ , Gst.TaskPool.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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_shared_task_pool_get_type();
+
+ public static new GLib.GType GType {
+ get {
+ IntPtr raw_ret = gst_shared_task_pool_get_type();
+ GLib.GType ret = new GLib.GType(raw_ret);
+ return ret;
+ }
+ }
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern uint gst_shared_task_pool_get_max_threads(IntPtr raw);
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern void gst_shared_task_pool_set_max_threads(IntPtr raw, uint max_threads);
+
+ public uint MaxThreads {
+ get {
+ uint raw_ret = gst_shared_task_pool_get_max_threads(Handle);
+ uint ret = raw_ret;
+ return ret;
+ }
+ set {
+ gst_shared_task_pool_set_max_threads(Handle, value);
+ }
+ }
+
+
+ // 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.TaskPool.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/subprojects/gstreamer-sharp/sources/generated/Gst/StackTraceFlags.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/StackTraceFlags.cs
new file mode 100644
index 0000000000..134da404e4
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/StackTraceFlags.cs
@@ -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.StackTraceFlagsGType))]
+ public enum StackTraceFlags : uint {
+
+ None = 0,
+ Full = 1,
+ }
+
+ internal class StackTraceFlagsGType {
+ [DllImport ("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/State.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/State.cs
new file mode 100644
index 0000000000..feded944d8
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/State.cs
@@ -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 ("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/StateChange.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/StateChange.cs
new file mode 100644
index 0000000000..4728cf521c
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/StateChange.cs
@@ -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 ("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/StateChangeReturn.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/StateChangeReturn.cs
new file mode 100644
index 0000000000..137e3e31c1
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/StateChangeReturn.cs
@@ -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 ("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/StaticCaps.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/StaticCaps.cs
new file mode 100644
index 0000000000..4567e7e6fb
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/StaticCaps.cs
@@ -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("gstreamer-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("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/StaticPadTemplate.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/StaticPadTemplate.cs
new file mode 100644
index 0000000000..82d56686c4
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/StaticPadTemplate.cs
@@ -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("gstreamer-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("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/Stream.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/Stream.cs
new file mode 100644
index 0000000000..de20e81c0a
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/Stream.cs
@@ -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("gstreamer-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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_stream_get_caps(IntPtr raw);
+
+ [DllImport("gstreamer-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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern int gst_stream_get_stream_flags(IntPtr raw);
+
+ [DllImport("gstreamer-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("gstreamer-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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern int gst_stream_get_stream_type(IntPtr raw);
+
+ [DllImport("gstreamer-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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_stream_get_tags(IntPtr raw);
+
+ [DllImport("gstreamer-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("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/StreamCollection.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/StreamCollection.cs
new file mode 100644
index 0000000000..bc64bc6c3b
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/StreamCollection.cs
@@ -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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/StreamError.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/StreamError.cs
new file mode 100644
index 0000000000..139edafbe7
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/StreamError.cs
@@ -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 ("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/StreamFlags.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/StreamFlags.cs
new file mode 100644
index 0000000000..19da640900
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/StreamFlags.cs
@@ -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 : uint {
+
+ None = 0,
+ Sparse = 1,
+ Select = 2,
+ Unselect = 4,
+ }
+
+ internal class StreamFlagsGType {
+ [DllImport ("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/StreamNotifyHandler.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/StreamNotifyHandler.cs
new file mode 100644
index 0000000000..1aef38d105
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/StreamNotifyHandler.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/StreamStatusType.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/StreamStatusType.cs
new file mode 100644
index 0000000000..faba8fef38
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/StreamStatusType.cs
@@ -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 ("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/StreamType.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/StreamType.cs
new file mode 100644
index 0000000000..e3ee514a2a
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/StreamType.cs
@@ -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 : uint {
+
+ Unknown = 1,
+ Audio = 2,
+ Video = 4,
+ Container = 8,
+ Text = 16,
+ }
+
+ internal class StreamTypeGType {
+ [DllImport ("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/Structure.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/Structure.cs
new file mode 100644
index 0000000000..3b58198599
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/Structure.cs
@@ -0,0 +1,688 @@
+// 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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_structure_get_name(IntPtr raw);
+
+ [DllImport("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern void gst_structure_fixate(IntPtr raw);
+
+ public void Fixate() {
+ gst_structure_fixate(Handle);
+ }
+
+ [DllImport("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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;
+ }
+
+ public Structure(IntPtr raw) : base(raw) {}
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_structure_from_string(IntPtr str1ng, out IntPtr end);
+
+ public Structure (string str1ng, out string end)
+ {
+ IntPtr native_str1ng = GLib.Marshaller.StringToPtrGStrdup (str1ng);
+ IntPtr native_end;
+ Raw = gst_structure_from_string(native_str1ng, out native_end);
+ GLib.Marshaller.Free (native_str1ng);
+ end = GLib.Marshaller.Utf8PtrToString (native_end);
+ }
+
+ [DllImport("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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);
+ }
+
+ protected override Action<IntPtr> DisposeUnmanagedFunc {
+ get {
+ return gst_structure_free;
+ }
+ }
+
+
+ // 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/subprojects/gstreamer-sharp/sources/generated/Gst/StructureChangeType.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/StructureChangeType.cs
new file mode 100644
index 0000000000..eb25d5ffc6
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/StructureChangeType.cs
@@ -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 ("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/StructureFilterMapFunc.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/StructureFilterMapFunc.cs
new file mode 100644
index 0000000000..753acbfbf0
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/StructureFilterMapFunc.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/StructureForeachFunc.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/StructureForeachFunc.cs
new file mode 100644
index 0000000000..c90af81d09
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/StructureForeachFunc.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/StructureMapFunc.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/StructureMapFunc.cs
new file mode 100644
index 0000000000..412eb4783e
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/StructureMapFunc.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/SyncMessageHandler.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/SyncMessageHandler.cs
new file mode 100644
index 0000000000..f16365c4ac
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/SyncMessageHandler.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/SyncedHandler.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/SyncedHandler.cs
new file mode 100644
index 0000000000..59f5a4b9b5
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/SyncedHandler.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/SystemClock.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/SystemClock.cs
new file mode 100644
index 0000000000..909ac2cd44
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/SystemClock.cs
@@ -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("gstreamer-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("gstreamer-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("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/Tag.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/Tag.cs
new file mode 100644
index 0000000000..dd9d77e97e
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/Tag.cs
@@ -0,0 +1,540 @@
+// 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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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) {
+ int cnt_data = data == null ? 0 : data.Length;
+ IntPtr[] native_data = new IntPtr [cnt_data];
+ for (int i = 0; i < cnt_data; i++)
+ native_data [i] = GLib.Marshaller.StringToPtrGStrdup(data[i]);
+ 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;
+ IntPtr raw_ret = gst_tag_freeform_string_to_utf8(native_data, size, native_env_vars);
+ string ret = GLib.Marshaller.PtrToStringGFree(raw_ret);
+ return ret;
+ }
+
+ [DllImport("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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, out IntPtr vendor_string);
+
+ public static Gst.TagList ListFromVorbiscomment(byte[] data, ulong size, byte[] id_data, uint id_data_length, out string vendor_string) {
+ IntPtr native_vendor_string;
+ IntPtr raw_ret = gst_tag_list_from_vorbiscomment(data, new UIntPtr (size), id_data, id_data_length, out native_vendor_string);
+ Gst.TagList ret = raw_ret == IntPtr.Zero ? null : (Gst.TagList) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.TagList), true);
+ vendor_string = GLib.Marshaller.PtrToStringGFree(native_vendor_string);
+ return ret;
+ }
+
+ [DllImport("gstreamer-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, out IntPtr vendor_string);
+
+ public static Gst.TagList ListFromVorbiscommentBuffer(Gst.Buffer buffer, byte[] id_data, uint id_data_length, out string vendor_string) {
+ IntPtr native_vendor_string;
+ IntPtr raw_ret = gst_tag_list_from_vorbiscomment_buffer(buffer == null ? IntPtr.Zero : buffer.Handle, id_data, id_data_length, out native_vendor_string);
+ Gst.TagList ret = raw_ret == IntPtr.Zero ? null : (Gst.TagList) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.TagList), true);
+ vendor_string = GLib.Marshaller.PtrToStringGFree(native_vendor_string);
+ return ret;
+ }
+
+ [DllImport("gstreamer-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("gstreamer-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) {
+ data = new byte[128];
+ 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("gstreamer-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("gstreamer-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("gstreamer-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;
+ }
+
+ public static Gst.Buffer ListToVorbiscommentBuffer(Gst.TagList list, byte[] id_data, uint id_data_length) {
+ return ListToVorbiscommentBuffer (list, id_data, id_data_length, null);
+ }
+
+ [DllImport("gstreamer-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) {
+ int cnt_schemas = schemas == null ? 0 : schemas.Length;
+ IntPtr[] native_schemas = new IntPtr [cnt_schemas + 1];
+ for (int i = 0; i < cnt_schemas; i++)
+ native_schemas [i] = GLib.Marshaller.StringToPtrGStrdup(schemas[i]);
+ native_schemas [cnt_schemas] = IntPtr.Zero;
+ 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);
+ return ret;
+ }
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_tag_parse_extended_comment(IntPtr ext_comment, out IntPtr key, out IntPtr lang, out IntPtr value, bool fail_if_no_key);
+
+ public static bool ParseExtendedComment(string ext_comment, out string key, out string lang, out string value, bool fail_if_no_key) {
+ IntPtr native_ext_comment = GLib.Marshaller.StringToPtrGStrdup (ext_comment);
+ IntPtr native_key;
+ IntPtr native_lang;
+ IntPtr native_value;
+ bool raw_ret = gst_tag_parse_extended_comment(native_ext_comment, out native_key, out native_lang, out native_value, fail_if_no_key);
+ bool ret = raw_ret;
+ GLib.Marshaller.Free (native_ext_comment);
+ key = GLib.Marshaller.PtrToStringGFree(native_key);
+ lang = GLib.Marshaller.PtrToStringGFree(native_lang);
+ value = GLib.Marshaller.PtrToStringGFree(native_value);
+ return ret;
+ }
+
+ [DllImport("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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;
+ }
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_tag_xmp_list_schemas();
+
+ public static string[] XmpListSchemas() {
+ IntPtr raw_ret = gst_tag_xmp_list_schemas();
+ string[] ret = GLib.Marshaller.NullTermPtrToStringArray (raw_ret, false);
+ return ret;
+ }
+
+#endregion
+ }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst/TagFlag.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/TagFlag.cs
new file mode 100644
index 0000000000..c9575b0f9d
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/TagFlag.cs
@@ -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 ("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/TagForeachFunc.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/TagForeachFunc.cs
new file mode 100644
index 0000000000..914192f06d
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/TagForeachFunc.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/TagList.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/TagList.cs
new file mode 100644
index 0000000000..553b50a1dd
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/TagList.cs
@@ -0,0 +1,540 @@
+// 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("gstreamer-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("gstreamer-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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_tag_list_copy(IntPtr raw);
+
+ public Gst.TagList Copy() {
+ IntPtr raw_ret = gst_tag_list_copy(Handle);
+ Gst.TagList ret = raw_ret == IntPtr.Zero ? null : (Gst.TagList) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.TagList), true);
+ return ret;
+ }
+
+ [DllImport("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_tag_list_get_int64(IntPtr raw, IntPtr tag, out long value);
+
+ public bool GetInt64(string tag, out long value) {
+ IntPtr native_tag = GLib.Marshaller.StringToPtrGStrdup (tag);
+ bool raw_ret = gst_tag_list_get_int64(Handle, native_tag, out value);
+ bool ret = raw_ret;
+ GLib.Marshaller.Free (native_tag);
+ return ret;
+ }
+
+ [DllImport("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern int gst_tag_list_get_scope(IntPtr raw);
+
+ [DllImport("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_tag_list_new_empty();
+
+ public TagList ()
+ {
+ Raw = gst_tag_list_new_empty();
+ }
+
+ [DllImport("gstreamer-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);
+ }
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_tag_list_ref(IntPtr raw);
+
+ protected override void Ref (IntPtr raw)
+ {
+ if (!Owned) {
+ gst_tag_list_ref (raw);
+ Owned = true;
+ }
+ }
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern void gst_tag_list_unref(IntPtr raw);
+
+ protected override void Unref (IntPtr raw)
+ {
+ if (Owned) {
+ gst_tag_list_unref (raw);
+ Owned = false;
+ }
+ }
+
+ protected override Action<IntPtr> DisposeUnmanagedFunc {
+ get {
+ return gst_tag_list_unref;
+ }
+ }
+
+
+ // 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/subprojects/gstreamer-sharp/sources/generated/Gst/TagMergeFunc.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/TagMergeFunc.cs
new file mode 100644
index 0000000000..7d76c5a1cd
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/TagMergeFunc.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/TagMergeMode.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/TagMergeMode.cs
new file mode 100644
index 0000000000..f2f7baeb27
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/TagMergeMode.cs
@@ -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 ("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/TagScope.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/TagScope.cs
new file mode 100644
index 0000000000..e26f54f212
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/TagScope.cs
@@ -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 ("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/TagSetterAdapter.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/TagSetterAdapter.cs
new file mode 100644
index 0000000000..f1465b086e
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/TagSetterAdapter.cs
@@ -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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern int gst_tag_setter_get_tag_merge_mode(IntPtr raw);
+
+ [DllImport("gstreamer-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("gstreamer-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("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/Task.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/Task.cs
new file mode 100644
index 0000000000..f8cbed0c8c
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/Task.cs
@@ -0,0 +1,379 @@
+// 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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern void gst_task_cleanup_all();
+
+ public static void CleanupAll() {
+ gst_task_cleanup_all();
+ }
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_task_get_pool(IntPtr raw);
+
+ [DllImport("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_task_resume(IntPtr raw);
+
+ public bool Resume() {
+ bool raw_ret = gst_task_resume(Handle);
+ bool ret = raw_ret;
+ return ret;
+ }
+
+ [DllImport("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/TaskFunction.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/TaskFunction.cs
new file mode 100644
index 0000000000..25ead870db
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/TaskFunction.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/TaskPool.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/TaskPool.cs
new file mode 100644
index 0000000000..0af4a6347d
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/TaskPool.cs
@@ -0,0 +1,469 @@
+// 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("gstreamer-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);
+ }
+
+ static DisposeHandleNativeDelegate DisposeHandle_cb_delegate;
+ static DisposeHandleNativeDelegate DisposeHandleVMCallback {
+ get {
+ if (DisposeHandle_cb_delegate == null)
+ DisposeHandle_cb_delegate = new DisposeHandleNativeDelegate (DisposeHandle_cb);
+ return DisposeHandle_cb_delegate;
+ }
+ }
+
+ static void OverrideDisposeHandle (GLib.GType gtype)
+ {
+ OverrideDisposeHandle (gtype, DisposeHandleVMCallback);
+ }
+
+ static void OverrideDisposeHandle (GLib.GType gtype, DisposeHandleNativeDelegate callback)
+ {
+ unsafe {
+ IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("dispose_handle"));
+ *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
+ }
+ }
+
+ [UnmanagedFunctionPointer (CallingConvention.Cdecl)]
+ delegate void DisposeHandleNativeDelegate (IntPtr inst, IntPtr id);
+
+ static void DisposeHandle_cb (IntPtr inst, IntPtr id)
+ {
+ try {
+ TaskPool __obj = GLib.Object.GetObject (inst, false) as TaskPool;
+ __obj.OnDisposeHandle (id);
+ } catch (Exception e) {
+ GLib.ExceptionManager.RaiseUnhandledException (e, false);
+ }
+ }
+
+ [GLib.DefaultSignalHandler(Type=typeof(Gst.TaskPool), ConnectionMethod="OverrideDisposeHandle")]
+ protected virtual void OnDisposeHandle (IntPtr id)
+ {
+ InternalDisposeHandle (id);
+ }
+
+ private void InternalDisposeHandle (IntPtr id)
+ {
+ DisposeHandleNativeDelegate unmanaged = null;
+ unsafe {
+ IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("dispose_handle"));
+ unmanaged = (DisposeHandleNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(DisposeHandleNativeDelegate));
+ }
+ 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"
+ , "dispose_handle"
+ , (uint) Marshal.SizeOf(typeof(IntPtr))
+ , 0
+ ),
+ new GLib.AbiField("dispose_handle"
+ , -1
+ , (uint) Marshal.SizeOf(typeof(IntPtr)) // dispose_handle
+ , "join"
+ , "_gst_reserved"
+ , (uint) Marshal.SizeOf(typeof(IntPtr))
+ , 0
+ ),
+ new GLib.AbiField("_gst_reserved"
+ , -1
+ , (uint) Marshal.SizeOf(typeof(IntPtr)) * 3 // _gst_reserved
+ , "dispose_handle"
+ , null
+ , (uint) Marshal.SizeOf(typeof(IntPtr))
+ , 0
+ ),
+ });
+
+ return _class_abi;
+ }
+ }
+
+
+ // End of the ABI representation.
+
+ [DllImport("gstreamer-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("gstreamer-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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern void gst_task_pool_dispose_handle(IntPtr raw, IntPtr id);
+
+ public void DisposeHandle(IntPtr id) {
+ gst_task_pool_dispose_handle(Handle, id);
+ }
+
+ public void DisposeHandle() {
+ DisposeHandle (IntPtr.Zero);
+ }
+
+ [DllImport("gstreamer-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("gstreamer-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("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/TaskPoolFunction.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/TaskPoolFunction.cs
new file mode 100644
index 0000000000..6e497d56bf
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/TaskPoolFunction.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/TaskState.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/TaskState.cs
new file mode 100644
index 0000000000..8e3f11e803
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/TaskState.cs
@@ -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 ("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/TaskThreadFunc.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/TaskThreadFunc.cs
new file mode 100644
index 0000000000..658fda9866
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/TaskThreadFunc.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/TimedValue.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/TimedValue.cs
new file mode 100644
index 0000000000..2eae575815
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/TimedValue.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/Toc.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/Toc.cs
new file mode 100644
index 0000000000..4f6dcf5680
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/Toc.cs
@@ -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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_toc_get_tags(IntPtr raw);
+
+ [DllImport("gstreamer-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("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/TocEntry.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/TocEntry.cs
new file mode 100644
index 0000000000..71eb620482
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/TocEntry.cs
@@ -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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_toc_entry_get_tags(IntPtr raw);
+
+ [DllImport("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/TocEntryType.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/TocEntryType.cs
new file mode 100644
index 0000000000..ba6da81424
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/TocEntryType.cs
@@ -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 ("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/TocLoopType.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/TocLoopType.cs
new file mode 100644
index 0000000000..1187cb3589
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/TocLoopType.cs
@@ -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 ("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/TocScope.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/TocScope.cs
new file mode 100644
index 0000000000..5490deb1f7
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/TocScope.cs
@@ -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 ("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/TocSetterAdapter.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/TocSetterAdapter.cs
new file mode 100644
index 0000000000..8323c17d12
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/TocSetterAdapter.cs
@@ -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("gstreamer-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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_toc_setter_get_toc(IntPtr raw);
+
+ [DllImport("gstreamer-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("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/Tracer.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/Tracer.cs
new file mode 100644
index 0000000000..d36dd43f16
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/Tracer.cs
@@ -0,0 +1,120 @@
+// 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("gstreamer-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;
+ }
+ }
+
+ [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_tracer_register(IntPtr plugin, IntPtr name, IntPtr type);
+
+ public static bool Register(Gst.Plugin plugin, string name, GLib.GType type) {
+ IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name);
+ bool raw_ret = gst_tracer_register(plugin == null ? IntPtr.Zero : plugin.Handle, native_name, type.Val);
+ bool ret = raw_ret;
+ GLib.Marshaller.Free (native_name);
+ return ret;
+ }
+
+ public static bool Register(string name, GLib.GType type) {
+ return Register (null, name, 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("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/subprojects/gstreamer-sharp/sources/generated/Gst/TracerFactory.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/TracerFactory.cs
new file mode 100644
index 0000000000..bf59f4f605
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/TracerFactory.cs
@@ -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("gstreamer-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("gstreamer-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("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/TracerRecord.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/TracerRecord.cs
new file mode 100644
index 0000000000..4fb345db32
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/TracerRecord.cs
@@ -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("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/TracerValueFlags.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/TracerValueFlags.cs
new file mode 100644
index 0000000000..8392711801
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/TracerValueFlags.cs
@@ -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 : uint {
+
+ None = 0,
+ Optional = 1,
+ Aggregated = 2,
+ }
+
+ internal class TracerValueFlagsGType {
+ [DllImport ("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/TracerValueScope.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/TracerValueScope.cs
new file mode 100644
index 0000000000..9aef9a52be
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/TracerValueScope.cs
@@ -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 ("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/TypeFind.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/TypeFind.cs
new file mode 100644
index 0000000000..85f1402c16
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/TypeFind.cs
@@ -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("gstreamer-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("gstreamer-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("gstreamer-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) {
+ return Register (null, name, rank, func, null, null);
+ }
+
+ 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/subprojects/gstreamer-sharp/sources/generated/Gst/TypeFindFactory.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/TypeFindFactory.cs
new file mode 100644
index 0000000000..525266deb9
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/TypeFindFactory.cs
@@ -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 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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/TypeFindFunction.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/TypeFindFunction.cs
new file mode 100644
index 0000000000..1d09c502bf
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/TypeFindFunction.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/TypeFindProbability.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/TypeFindProbability.cs
new file mode 100644
index 0000000000..2ed325b963
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/TypeFindProbability.cs
@@ -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 ("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/URIError.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/URIError.cs
new file mode 100644
index 0000000000..3543430f60
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/URIError.cs
@@ -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 ("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/URIHandlerAdapter.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/URIHandlerAdapter.cs
new file mode 100644
index 0000000000..08a34d934c
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/URIHandlerAdapter.cs
@@ -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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/URIType.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/URIType.cs
new file mode 100644
index 0000000000..8dd8031f55
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/URIType.cs
@@ -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 ("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/UnlinkedHandler.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/UnlinkedHandler.cs
new file mode 100644
index 0000000000..df6a2e1098
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/UnlinkedHandler.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/Uri.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/Uri.cs
new file mode 100644
index 0000000000..1e935fff55
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/Uri.cs
@@ -0,0 +1,786 @@
+// 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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_uri_construct(IntPtr protocol, IntPtr location);
+
+ [Obsolete]
+ 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("gstreamer-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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_uri_from_string_escaped(IntPtr uri);
+
+ public static Gst.Uri FromStringEscaped(string uri) {
+ IntPtr native_uri = GLib.Marshaller.StringToPtrGStrdup (uri);
+ IntPtr raw_ret = gst_uri_from_string_escaped(native_uri);
+ Gst.Uri ret = Gst.Uri.New (raw_ret);
+ GLib.Marshaller.Free (native_uri);
+ return ret;
+ }
+
+ [DllImport("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/Util.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/Util.cs
new file mode 100644
index 0000000000..1d1b78099a
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/Util.cs
@@ -0,0 +1,445 @@
+// 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("gstreamer-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.StringToFilenamePtr (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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_uri_construct(IntPtr protocol, IntPtr location);
+
+ [Obsolete]
+ 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("gstreamer-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("gstreamer-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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_uri_from_string_escaped(IntPtr uri);
+
+ public static Gst.Uri UriFromStringEscaped(string uri) {
+ IntPtr native_uri = GLib.Marshaller.StringToPtrGStrdup (uri);
+ IntPtr raw_ret = gst_uri_from_string_escaped(native_uri);
+ Gst.Uri ret = Gst.Uri.New (raw_ret);
+ GLib.Marshaller.Free (native_uri);
+ return ret;
+ }
+
+ [DllImport("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/Value.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/Value.cs
new file mode 100644
index 0000000000..ca37e5c2f5
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/Value.cs
@@ -0,0 +1,581 @@
+// 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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern bool gst_value_deserialize_with_pspec(IntPtr dest, IntPtr src, IntPtr pspec);
+
+ public static bool DeserializeWithPspec(out GLib.Value dest, string src, IntPtr pspec) {
+ IntPtr native_dest = Marshal.AllocHGlobal (Marshal.SizeOf (typeof (GLib.Value)));
+ IntPtr native_src = GLib.Marshaller.StringToPtrGStrdup (src);
+ bool raw_ret = gst_value_deserialize_with_pspec(native_dest, native_src, pspec);
+ 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;
+ }
+
+ public static bool DeserializeWithPspec(out GLib.Value dest, string src) {
+ return DeserializeWithPspec (out dest, src, IntPtr.Zero);
+ }
+
+ [DllImport("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/ValueArray.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/ValueArray.cs
new file mode 100644
index 0000000000..f210e7673c
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/ValueArray.cs
@@ -0,0 +1,111 @@
+// 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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_value_array_init(IntPtr value, uint prealloc);
+
+ public static GLib.Value Init(GLib.Value value, uint prealloc) {
+ IntPtr native_value = GLib.Marshaller.StructureToPtrAlloc (value);
+ IntPtr raw_ret = gst_value_array_init(native_value, prealloc);
+ GLib.Value ret = (GLib.Value) Marshal.PtrToStructure (raw_ret, typeof (GLib.Value));
+ Marshal.FreeHGlobal (native_value);
+ return ret;
+ }
+
+ [DllImport("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/ValueCompareFunc.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/ValueCompareFunc.cs
new file mode 100644
index 0000000000..8d8cb21821
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/ValueCompareFunc.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/ValueDeserializeFunc.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/ValueDeserializeFunc.cs
new file mode 100644
index 0000000000..ce8b0e304f
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/ValueDeserializeFunc.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/ValueDeserializeWithPSpecFunc.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/ValueDeserializeWithPSpecFunc.cs
new file mode 100644
index 0000000000..328a472711
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/ValueDeserializeWithPSpecFunc.cs
@@ -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 ValueDeserializeWithPSpecFunc(GLib.Value dest, string s, IntPtr pspec);
+
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/Gst/ValueList.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/ValueList.cs
new file mode 100644
index 0000000000..d586e96597
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/ValueList.cs
@@ -0,0 +1,143 @@
+// 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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-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("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
+ static extern IntPtr gst_value_list_init(IntPtr value, uint prealloc);
+
+ public static GLib.Value Init(GLib.Value value, uint prealloc) {
+ IntPtr native_value = GLib.Marshaller.StructureToPtrAlloc (value);
+ IntPtr raw_ret = gst_value_list_init(native_value, prealloc);
+ GLib.Value ret = (GLib.Value) Marshal.PtrToStructure (raw_ret, typeof (GLib.Value));
+ Marshal.FreeHGlobal (native_value);
+ return ret;
+ }
+
+ [DllImport("gstreamer-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("gstreamer-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/subprojects/gstreamer-sharp/sources/generated/Gst/ValueSerializeFunc.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/ValueSerializeFunc.cs
new file mode 100644
index 0000000000..d167661b5e
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/ValueSerializeFunc.cs
@@ -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/subprojects/gstreamer-sharp/sources/generated/Gst/ValueTable.cs b/subprojects/gstreamer-sharp/sources/generated/Gst/ValueTable.cs
new file mode 100644
index 0000000000..e0325167c1
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/Gst/ValueTable.cs
@@ -0,0 +1,71 @@
+// 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);
+ }
+ }
+ private GstSharp.ValueDeserializeWithPSpecFuncNative _deserialize_with_pspec;
+ public Gst.ValueDeserializeWithPSpecFunc DeserializeWithPspec {
+ get {
+ return GstSharp.ValueDeserializeWithPSpecFuncWrapper.GetManagedDelegate (_deserialize_with_pspec);
+ }
+ }
+ [MarshalAs (UnmanagedType.ByValArray, SizeConst=3)]
+ 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) && DeserializeWithPspec.Equals (other.DeserializeWithPspec);
+ }
+
+ 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 () ^ DeserializeWithPspec.GetHashCode ();
+ }
+
+ private static GLib.GType GType {
+ get { return GLib.GType.Pointer; }
+ }
+#endregion
+ }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/GtkSharp/ObjectManager.cs b/subprojects/gstreamer-sharp/sources/generated/GtkSharp/ObjectManager.cs
new file mode 100644
index 0000000000..beada7d0cb
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/GtkSharp/ObjectManager.cs
@@ -0,0 +1,83 @@
+// 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.VideoAggregator.GType, typeof (Gst.Video.VideoAggregator));
+ GLib.GType.Register (Gst.Video.VideoAggregatorConvertPad.GType, typeof (Gst.Video.VideoAggregatorConvertPad));
+ GLib.GType.Register (Gst.Video.VideoAggregatorPad.GType, typeof (Gst.Video.VideoAggregatorPad));
+ 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));
+ GLib.GType.Register (Gst.WebRTC.WebRTCDTLSTransport.GType, typeof (Gst.WebRTC.WebRTCDTLSTransport));
+ GLib.GType.Register (Gst.WebRTC.WebRTCDataChannel.GType, typeof (Gst.WebRTC.WebRTCDataChannel));
+ GLib.GType.Register (Gst.WebRTC.WebRTCICETransport.GType, typeof (Gst.WebRTC.WebRTCICETransport));
+ GLib.GType.Register (Gst.WebRTC.WebRTCRTPReceiver.GType, typeof (Gst.WebRTC.WebRTCRTPReceiver));
+ GLib.GType.Register (Gst.WebRTC.WebRTCRTPSender.GType, typeof (Gst.WebRTC.WebRTCRTPSender));
+ GLib.GType.Register (Gst.WebRTC.WebRTCRTPTransceiver.GType, typeof (Gst.WebRTC.WebRTCRTPTransceiver));
+ }
+ }
+}
diff --git a/subprojects/gstreamer-sharp/sources/generated/gstreamer-sharp-abi.c b/subprojects/gstreamer-sharp/sources/generated/gstreamer-sharp-abi.c
new file mode 100644
index 0000000000..1124f91ea5
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/gstreamer-sharp-abi.c
@@ -0,0 +1,985 @@
+// 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>
+#include <gst/webrtc/webrtc.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(GstSharedTaskPoolClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstSharedTaskPoolClass));
+ g_print("\"sizeof(GstSharedTaskPool)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstSharedTaskPool));
+ g_print("\"GstSharedTaskPool.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstSharedTaskPool, 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("\"GstTaskPoolClass.dispose_handle\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstTaskPoolClass, dispose_handle));
+ 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.priv_uint\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstMiniObject, priv_uint));
+ g_print("\"GstMiniObject.priv_pointer\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstMiniObject, priv_pointer));
+ 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("\"GstAudioSinkClass.pause\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioSinkClass, pause));
+ g_print("\"GstAudioSinkClass.resume\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioSinkClass, resume));
+ g_print("\"GstAudioSinkClass.stop\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioSinkClass, stop));
+ g_print("\"GstAudioSinkClass.extension\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioSinkClass, extension));
+ 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("\"GstAggregatorClass.negotiate\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAggregatorClass, negotiate));
+ g_print("\"GstAggregatorClass.sink_event_pre_queue\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAggregatorClass, sink_event_pre_queue));
+ g_print("\"GstAggregatorClass.sink_query_pre_queue\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAggregatorClass, sink_query_pre_queue));
+ g_print("\"GstAggregatorClass.finish_buffer_list\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAggregatorClass, finish_buffer_list));
+ g_print("\"GstAggregatorClass.peek_next_sample\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAggregatorClass, peek_next_sample));
+ 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.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(GstProxyControlBindingClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstProxyControlBindingClass));
+ g_print("\"sizeof(GstProxyControlBinding)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstProxyControlBinding));
+ g_print("\"GstProxyControlBinding.ref_object\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstProxyControlBinding, ref_object));
+ g_print("\"GstProxyControlBinding.property_name\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstProxyControlBinding, property_name));
+ 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(GstSDPMessage)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstSDPMessage));
+ g_print("\"GstSDPMessage.version\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstSDPMessage, version));
+ g_print("\"GstSDPMessage.origin\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstSDPMessage, origin));
+ g_print("\"GstSDPMessage.session_name\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstSDPMessage, session_name));
+ g_print("\"GstSDPMessage.information\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstSDPMessage, information));
+ g_print("\"GstSDPMessage.uri\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstSDPMessage, uri));
+ g_print("\"GstSDPMessage.emails\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstSDPMessage, emails));
+ g_print("\"GstSDPMessage.phones\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstSDPMessage, phones));
+ g_print("\"GstSDPMessage.connection\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstSDPMessage, connection));
+ g_print("\"GstSDPMessage.bandwidths\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstSDPMessage, bandwidths));
+ g_print("\"GstSDPMessage.times\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstSDPMessage, times));
+ g_print("\"GstSDPMessage.zones\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstSDPMessage, zones));
+ g_print("\"GstSDPMessage.key\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstSDPMessage, key));
+ g_print("\"GstSDPMessage.attributes\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstSDPMessage, attributes));
+ g_print("\"GstSDPMessage.medias\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstSDPMessage, medias));
+ 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(GstVideoAggregatorClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstVideoAggregatorClass));
+ g_print("\"GstVideoAggregatorClass.update_caps\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstVideoAggregatorClass, update_caps));
+ g_print("\"GstVideoAggregatorClass.aggregate_frames\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstVideoAggregatorClass, aggregate_frames));
+ g_print("\"GstVideoAggregatorClass.create_output_buffer\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstVideoAggregatorClass, create_output_buffer));
+ g_print("\"GstVideoAggregatorClass.find_best_format\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstVideoAggregatorClass, find_best_format));
+ g_print("\"sizeof(GstVideoAggregator)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstVideoAggregator));
+ g_print("\"GstVideoAggregator.info\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstVideoAggregator, info));
+ g_print("\"GstVideoAggregator.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstVideoAggregator, priv));
+ g_print("\"sizeof(GstVideoAggregatorConvertPadClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstVideoAggregatorConvertPadClass));
+ g_print("\"GstVideoAggregatorConvertPadClass.create_conversion_info\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstVideoAggregatorConvertPadClass, create_conversion_info));
+ g_print("\"sizeof(GstVideoAggregatorConvertPad)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstVideoAggregatorConvertPad));
+ g_print("\"GstVideoAggregatorConvertPad.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstVideoAggregatorConvertPad, priv));
+ g_print("\"sizeof(GstVideoAggregatorPadClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstVideoAggregatorPadClass));
+ g_print("\"GstVideoAggregatorPadClass.update_conversion_info\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstVideoAggregatorPadClass, update_conversion_info));
+ g_print("\"GstVideoAggregatorPadClass.prepare_frame\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstVideoAggregatorPadClass, prepare_frame));
+ g_print("\"GstVideoAggregatorPadClass.clean_frame\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstVideoAggregatorPadClass, clean_frame));
+ g_print("\"sizeof(GstVideoAggregatorPad)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstVideoAggregatorPad));
+ g_print("\"GstVideoAggregatorPad.info\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstVideoAggregatorPad, info));
+ g_print("\"GstVideoAggregatorPad.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstVideoAggregatorPad, priv));
+ 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/subprojects/gstreamer-sharp/sources/generated/gstreamer-sharp-abi.cs b/subprojects/gstreamer-sharp/sources/generated/gstreamer-sharp-abi.cs
new file mode 100644
index 0000000000..7c8eff7630
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/gstreamer-sharp-abi.cs
@@ -0,0 +1,980 @@
+// 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(GstSharedTaskPoolClass)\": \"" + Gst.SharedTaskPool.class_abi.Size + "\"");
+ Console.WriteLine("\"sizeof(GstSharedTaskPool)\": \"" + Gst.SharedTaskPool.abi_info.Size + "\"");
+ Console.WriteLine("\"GstSharedTaskPool.priv\": \"" + Gst.SharedTaskPool.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("\"GstTaskPoolClass.dispose_handle\": \"" + Gst.TaskPool.class_abi.GetFieldOffset("dispose_handle") + "\"");
+ 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.priv_uint\": \"" + Gst.MiniObject.abi_info.GetFieldOffset("priv_uint") + "\"");
+ Console.WriteLine("\"GstMiniObject.priv_pointer\": \"" + Gst.MiniObject.abi_info.GetFieldOffset("priv_pointer") + "\"");
+ 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("\"GstAudioSinkClass.pause\": \"" + Gst.Audio.AudioSink.class_abi.GetFieldOffset("pause") + "\"");
+ Console.WriteLine("\"GstAudioSinkClass.resume\": \"" + Gst.Audio.AudioSink.class_abi.GetFieldOffset("resume") + "\"");
+ Console.WriteLine("\"GstAudioSinkClass.stop\": \"" + Gst.Audio.AudioSink.class_abi.GetFieldOffset("stop") + "\"");
+ Console.WriteLine("\"GstAudioSinkClass.extension\": \"" + Gst.Audio.AudioSink.class_abi.GetFieldOffset("extension") + "\"");
+ 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("\"GstAggregatorClass.negotiate\": \"" + Gst.Base.Aggregator.class_abi.GetFieldOffset("negotiate") + "\"");
+ Console.WriteLine("\"GstAggregatorClass.sink_event_pre_queue\": \"" + Gst.Base.Aggregator.class_abi.GetFieldOffset("sink_event_pre_queue") + "\"");
+ Console.WriteLine("\"GstAggregatorClass.sink_query_pre_queue\": \"" + Gst.Base.Aggregator.class_abi.GetFieldOffset("sink_query_pre_queue") + "\"");
+ Console.WriteLine("\"GstAggregatorClass.finish_buffer_list\": \"" + Gst.Base.Aggregator.class_abi.GetFieldOffset("finish_buffer_list") + "\"");
+ Console.WriteLine("\"GstAggregatorClass.peek_next_sample\": \"" + Gst.Base.Aggregator.class_abi.GetFieldOffset("peek_next_sample") + "\"");
+ Console.WriteLine("\"sizeof(GstAggregator)\": \"" + Gst.Base.Aggregator.abi_info.Size + "\"");
+ Console.WriteLine("\"GstAggregator.srcpad\": \"" + Gst.Base.Aggregator.abi_info.GetFieldOffset("srcpad") + "\"");
+ 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(GstProxyControlBindingClass)\": \"" + Gst.Controller.ProxyControlBinding.class_abi.Size + "\"");
+ Console.WriteLine("\"sizeof(GstProxyControlBinding)\": \"" + Gst.Controller.ProxyControlBinding.abi_info.Size + "\"");
+ Console.WriteLine("\"GstProxyControlBinding.ref_object\": \"" + Gst.Controller.ProxyControlBinding.abi_info.GetFieldOffset("ref_object") + "\"");
+ Console.WriteLine("\"GstProxyControlBinding.property_name\": \"" + Gst.Controller.ProxyControlBinding.abi_info.GetFieldOffset("property_name") + "\"");
+ 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(GstSDPMessage)\": \"" + Gst.Sdp.SDPMessage.abi_info.Size + "\"");
+ Console.WriteLine("\"GstSDPMessage.version\": \"" + Gst.Sdp.SDPMessage.abi_info.GetFieldOffset("version") + "\"");
+ Console.WriteLine("\"GstSDPMessage.origin\": \"" + Gst.Sdp.SDPMessage.abi_info.GetFieldOffset("origin") + "\"");
+ Console.WriteLine("\"GstSDPMessage.session_name\": \"" + Gst.Sdp.SDPMessage.abi_info.GetFieldOffset("session_name") + "\"");
+ Console.WriteLine("\"GstSDPMessage.information\": \"" + Gst.Sdp.SDPMessage.abi_info.GetFieldOffset("information") + "\"");
+ Console.WriteLine("\"GstSDPMessage.uri\": \"" + Gst.Sdp.SDPMessage.abi_info.GetFieldOffset("uri") + "\"");
+ Console.WriteLine("\"GstSDPMessage.emails\": \"" + Gst.Sdp.SDPMessage.abi_info.GetFieldOffset("emails") + "\"");
+ Console.WriteLine("\"GstSDPMessage.phones\": \"" + Gst.Sdp.SDPMessage.abi_info.GetFieldOffset("phones") + "\"");
+ Console.WriteLine("\"GstSDPMessage.connection\": \"" + Gst.Sdp.SDPMessage.abi_info.GetFieldOffset("connection") + "\"");
+ Console.WriteLine("\"GstSDPMessage.bandwidths\": \"" + Gst.Sdp.SDPMessage.abi_info.GetFieldOffset("bandwidths") + "\"");
+ Console.WriteLine("\"GstSDPMessage.times\": \"" + Gst.Sdp.SDPMessage.abi_info.GetFieldOffset("times") + "\"");
+ Console.WriteLine("\"GstSDPMessage.zones\": \"" + Gst.Sdp.SDPMessage.abi_info.GetFieldOffset("zones") + "\"");
+ Console.WriteLine("\"GstSDPMessage.key\": \"" + Gst.Sdp.SDPMessage.abi_info.GetFieldOffset("key") + "\"");
+ Console.WriteLine("\"GstSDPMessage.attributes\": \"" + Gst.Sdp.SDPMessage.abi_info.GetFieldOffset("attributes") + "\"");
+ Console.WriteLine("\"GstSDPMessage.medias\": \"" + Gst.Sdp.SDPMessage.abi_info.GetFieldOffset("medias") + "\"");
+ 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(GstVideoAggregatorClass)\": \"" + Gst.Video.VideoAggregator.class_abi.Size + "\"");
+ Console.WriteLine("\"GstVideoAggregatorClass.update_caps\": \"" + Gst.Video.VideoAggregator.class_abi.GetFieldOffset("update_caps") + "\"");
+ Console.WriteLine("\"GstVideoAggregatorClass.aggregate_frames\": \"" + Gst.Video.VideoAggregator.class_abi.GetFieldOffset("aggregate_frames") + "\"");
+ Console.WriteLine("\"GstVideoAggregatorClass.create_output_buffer\": \"" + Gst.Video.VideoAggregator.class_abi.GetFieldOffset("create_output_buffer") + "\"");
+ Console.WriteLine("\"GstVideoAggregatorClass.find_best_format\": \"" + Gst.Video.VideoAggregator.class_abi.GetFieldOffset("find_best_format") + "\"");
+ Console.WriteLine("\"sizeof(GstVideoAggregator)\": \"" + Gst.Video.VideoAggregator.abi_info.Size + "\"");
+ Console.WriteLine("\"GstVideoAggregator.info\": \"" + Gst.Video.VideoAggregator.abi_info.GetFieldOffset("info") + "\"");
+ Console.WriteLine("\"GstVideoAggregator.priv\": \"" + Gst.Video.VideoAggregator.abi_info.GetFieldOffset("priv") + "\"");
+ Console.WriteLine("\"sizeof(GstVideoAggregatorConvertPadClass)\": \"" + Gst.Video.VideoAggregatorConvertPad.class_abi.Size + "\"");
+ Console.WriteLine("\"GstVideoAggregatorConvertPadClass.create_conversion_info\": \"" + Gst.Video.VideoAggregatorConvertPad.class_abi.GetFieldOffset("create_conversion_info") + "\"");
+ Console.WriteLine("\"sizeof(GstVideoAggregatorConvertPad)\": \"" + Gst.Video.VideoAggregatorConvertPad.abi_info.Size + "\"");
+ Console.WriteLine("\"GstVideoAggregatorConvertPad.priv\": \"" + Gst.Video.VideoAggregatorConvertPad.abi_info.GetFieldOffset("priv") + "\"");
+ Console.WriteLine("\"sizeof(GstVideoAggregatorPadClass)\": \"" + Gst.Video.VideoAggregatorPad.class_abi.Size + "\"");
+ Console.WriteLine("\"GstVideoAggregatorPadClass.update_conversion_info\": \"" + Gst.Video.VideoAggregatorPad.class_abi.GetFieldOffset("update_conversion_info") + "\"");
+ Console.WriteLine("\"GstVideoAggregatorPadClass.prepare_frame\": \"" + Gst.Video.VideoAggregatorPad.class_abi.GetFieldOffset("prepare_frame") + "\"");
+ Console.WriteLine("\"GstVideoAggregatorPadClass.clean_frame\": \"" + Gst.Video.VideoAggregatorPad.class_abi.GetFieldOffset("clean_frame") + "\"");
+ Console.WriteLine("\"sizeof(GstVideoAggregatorPad)\": \"" + Gst.Video.VideoAggregatorPad.abi_info.Size + "\"");
+ Console.WriteLine("\"GstVideoAggregatorPad.info\": \"" + Gst.Video.VideoAggregatorPad.abi_info.GetFieldOffset("info") + "\"");
+ Console.WriteLine("\"GstVideoAggregatorPad.priv\": \"" + Gst.Video.VideoAggregatorPad.abi_info.GetFieldOffset("priv") + "\"");
+ 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/subprojects/gstreamer-sharp/sources/generated/gstreamer-sharp-api.xml b/subprojects/gstreamer-sharp/sources/generated/gstreamer-sharp-api.xml
new file mode 100644
index 0000000000..e1d046cb3a
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/gstreamer-sharp-api.xml
@@ -0,0 +1,31491 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<api parser_version="3">
+ <namespace name="Gst" library="gstreamer-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" />
+ <member cname="GST_CLOCK_TYPE_TAI" name="Tai" value="3" />
+ </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_INSTANT_RATE_CHANGE" name="InstantRateChange" value="46090" />
+ <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_INSTANT_RATE_SYNC_TIME" name="InstantRateSyncTime" value="66817" />
+ <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" version="1.14">
+ <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" />
+ <member cname="GST_QUERY_BITRATE" name="Bitrate" value="51202" />
+ </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_NON_DROPPABLE" name="NonDroppable" value="65536" />
+ <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_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" />
+ <member cname="GST_DEBUG_GRAPH_SHOW_VERBOSE" name="Verbose" value="4294967295" />
+ </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="GapFlags" cname="GstGapFlags" type="flags" gtype="gst_gap_flags_get_type" version="1.20">
+ <member cname="GST_GAP_FLAG_MISSING_DATA" name="Data" value="1" />
+ </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="0" />
+ <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_DEVICE_CHANGED" name="DeviceChanged" value="2147483655" />
+ <member cname="GST_MESSAGE_INSTANT_RATE_REQUEST" name="InstantRateRequest" value="2147483656" />
+ <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="PluginAPIFlags" cname="GstPluginAPIFlags" type="flags" gtype="gst_plugin_api_flags_get_type" version="1.18">
+ <member cname="GST_PLUGIN_API_FLAG_IGNORE_ENUM_MEMBERS" name="Members" value="1" />
+ </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" />
+ <member cname="GST_SEEK_FLAG_TRICKMODE_FORWARD_PREDICTED" name="TrickmodeForwardPredicted" value="512" />
+ <member cname="GST_SEEK_FLAG_INSTANT_RATE_CHANGE" name="InstantRateChange" value="1024" />
+ </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" />
+ <member cname="GST_SEGMENT_FLAG_TRICKMODE_FORWARD_PREDICTED" name="TrickmodeForwardPredicted" value="512" />
+ </enum>
+ <enum name="StackTraceFlags" cname="GstStackTraceFlags" type="flags" gtype="gst_stack_trace_flags_get_type" version="1.12">
+ <member cname="GST_STACK_TRACE_SHOW_NONE" name="None" value="0" />
+ <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="CustomMetaTransformFunction" cname="GstCustomMetaTransformFunction" version="1.20">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter name="transbuf" type="GstBuffer*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ <parameter name="meta" type="GstCustomMeta*">
+ <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" />
+ <parameter allow-none="1" closure="5" name="user_data" type="gpointer" />
+ </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" version="1.14">
+ <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="ValueDeserializeWithPSpecFunc" cname="GstValueDeserializeWithPSpecFunc" version="1.20">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter name="dest" type="GValue*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ <parameter name="s" type="const-gchar*" />
+ <parameter name="pspec" type="GParamSpec*" />
+ </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-gfilename*" />
+ </method>
+ <method name="SetAppDir" cname="gst_preset_set_app_dir" shared="true">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter name="app_dir" type="const-gfilename*" />
+ </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="IterateAllByElementFactoryName" cname="gst_bin_iterate_all_by_element_factory_name" version="1.18">
+ <return-type type="GstIterator*" owned="true">
+ <warning>missing glib:type-name</warning>
+ </return-type>
+ <parameters>
+ <parameter name="factory_name" type="const-gchar*" />
+ </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 allow-none="1" 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 allow-none="1" 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*" pass_as="out">
+ <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="IdGetClock" cname="gst_clock_id_get_clock" shared="true" version="1.16">
+ <return-type type="GstClock*" owned="true" />
+ <parameters>
+ <parameter name="id" 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="IdUsesClock" cname="gst_clock_id_uses_clock" shared="true" version="1.16">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter name="id" type="gpointer" />
+ <parameter name="clock" type="GstClock*" />
+ </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*" />
+ <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*" />
+ <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="DeviceChanged" cname="gst_device_provider_device_changed" version="1.16">
+ <return-type type="void" />
+ <parameters>
+ <parameter name="device" type="GstDevice*" />
+ <parameter name="changed_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="IsStarted" cname="gst_device_provider_is_started" version="1.20">
+ <return-type type="gboolean" />
+ <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" version="1.12">
+ <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="GetCurrentClockTime" cname="gst_element_get_current_clock_time" version="1.18">
+ <return-type type="guint64" />
+ <parameters />
+ </method>
+ <method name="GetCurrentRunningTime" cname="gst_element_get_current_running_time" version="1.18">
+ <return-type type="guint64" />
+ <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* const*" 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" deprecated="true">
+ <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="GetSingleInternalLink" cname="gst_pad_get_single_internal_link" version="1.18">
+ <return-type type="GstPad*" owned="true" />
+ <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="GetDocumentationCaps" cname="gst_pad_template_get_documentation_caps" version="1.18">
+ <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>
+ <method name="SetDocumentationCaps" cname="gst_pad_template_set_documentation_caps" version="1.18">
+ <return-type type="void" />
+ <parameters>
+ <parameter name="caps" type="GstCaps*" owned="true">
+ <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="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" />
+ <field cname="documentation_caps" access="public" writeable="true" readable="true" is_callback="false" name="DocumentationCaps" type="GstCaps*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ </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" version="1.12">
+ <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" hidden="true">
+ <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="SharedTaskPool" cname="GstSharedTaskPool" opaque="false" hidden="false" parent="GstTaskPool" version="1.20">
+ <class_struct cname="GstSharedTaskPoolClass" version="1.20">
+ <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GstTaskPoolClass">
+ <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_shared_task_pool_get_type" shared="true">
+ <return-type type="GType" />
+ </method>
+ <constructor cname="gst_shared_task_pool_new" disable_void_ctor="" version="1.20" />
+ <method name="GetMaxThreads" cname="gst_shared_task_pool_get_max_threads" version="1.20">
+ <return-type type="guint" />
+ <parameters />
+ </method>
+ <method name="SetMaxThreads" cname="gst_shared_task_pool_set_max_threads" version="1.20">
+ <return-type type="void" />
+ <parameters>
+ <parameter name="max_threads" type="guint" />
+ </parameters>
+ </method>
+ <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GstTaskPool*" hidden="true" />
+ <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GstSharedTaskPoolPrivate*">
+ <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="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="Resume" cname="gst_task_resume" version="1.18">
+ <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" />
+ <method vm="dispose_handle" />
+ <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_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="DisposeHandle" cname="dispose_handle" version="1.20">
+ <return-type type="void" />
+ <parameters>
+ <parameter allow-none="1" name="id" type="gpointer*" owned="true" />
+ </parameters>
+ </virtual_method>
+ <virtual_method name="Join" cname="join">
+ <return-type type="void" />
+ <parameters>
+ <parameter allow-none="1" name="id" type="gpointer*" owned="true" />
+ </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*" owned="true" />
+ <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="DisposeHandle" cname="gst_task_pool_dispose_handle" version="1.20">
+ <return-type type="void" />
+ <parameters>
+ <parameter allow-none="1" name="id" type="gpointer*" owned="true" />
+ </parameters>
+ </method>
+ <method name="Join" cname="gst_task_pool_join">
+ <return-type type="void" />
+ <parameters>
+ <parameter allow-none="1" name="id" type="gpointer*" owned="true" />
+ </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*" owned="true" />
+ <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" version="1.8">
+ <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>
+ <method name="Register" cname="gst_tracer_register" shared="true">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter allow-none="1" name="plugin" type="GstPlugin*" />
+ <parameter name="name" type="const-gchar*" />
+ <parameter name="type" type="GType" />
+ </parameters>
+ </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" version="1.14">
+ <return-type type="GType" />
+ <parameters />
+ </method>
+ </object>
+ <object name="TracerRecord" cname="GstTracerRecord" opaque="false" hidden="false" parent="GstObject" version="1.8">
+ <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* const*" 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="Init" cname="gst_value_array_init" shared="true" version="1.18">
+ <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="prealloc" 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="Init" cname="gst_value_list_init" shared="true" version="1.18">
+ <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="prealloc" 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" array_index="3" 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="1" />
+ <field cname="dts" access="public" writeable="true" readable="true" is_callback="false" name="Dts" type="guint64" />
+ <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" hidden="true">
+ <parameters>
+ <parameter name="data" type="gpointer*" owned="true" array="true" array_length_param_index="1" />
+ <parameter name="size" type="gsize" />
+ </parameters>
+ </constructor>
+ <constructor cname="gst_buffer_new_wrapped_bytes" version="1.16">
+ <parameters>
+ <parameter name="bytes" type="GBytes*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </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="AddCustomMeta" cname="gst_buffer_add_custom_meta" version="1.20">
+ <return-type type="GstCustomMeta*">
+ <warning>missing glib:type-name</warning>
+ </return-type>
+ <parameters>
+ <parameter name="name" type="const-gchar*" />
+ </parameters>
+ </method>
+ <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 name="dest" type="gpointer" pass_as="out" array="true" array_length_param_index="2" />
+ <parameter name="size" type="gsize*" owned="true" pass_as="out" array_index="1" />
+ </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="GetCustomMeta" cname="gst_buffer_get_custom_meta" version="1.20">
+ <return-type type="GstCustomMeta*">
+ <warning>missing glib:type-name</warning>
+ </return-type>
+ <parameters>
+ <parameter name="name" type="const-gchar*" />
+ </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" 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" version="1.10">
+ <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="Ref" cname="gst_buffer_ref">
+ <return-type type="GstBuffer*" owned="true">
+ <warning>missing glib:type-name</warning>
+ </return-type>
+ <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="Unref" cname="gst_buffer_unref">
+ <return-type type="void" />
+ <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="Ref" cname="gst_buffer_list_ref">
+ <return-type type="GstBufferList*" owned="true">
+ <warning>missing glib:type-name</warning>
+ </return-type>
+ <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>
+ <method name="Unref" cname="gst_buffer_list_unref">
+ <return-type type="void" />
+ <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_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="Copy" cname="gst_caps_copy">
+ <return-type type="GstCaps*" owned="true">
+ <warning>missing glib:type-name</warning>
+ </return-type>
+ <parameters />
+ </method>
+ <method name="CopyNth" cname="gst_caps_copy_nth" version="1.16">
+ <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="Ref" cname="gst_caps_ref">
+ <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="SetFeaturesSimple" cname="gst_caps_set_features_simple" version="1.16">
+ <return-type type="void" />
+ <parameters>
+ <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="Unref" cname="gst_caps_unref">
+ <return-type type="void" />
+ <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>
+ <constructor cname="gst_caps_new_any" disable_void_ctor="" />
+ </boxed>
+ <boxed name="CapsFeatures" cname="GstCapsFeatures" opaque="false" hidden="false" version="1.2">
+ <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" version="1.2">
+ <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" />
+ <struct name="CustomMeta" cname="GstCustomMeta" opaque="false" hidden="false" version="1.20">
+ <field cname="meta" access="public" writeable="true" readable="true" is_callback="false" name="Meta" type="GstMeta">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <method name="GetStructure" cname="gst_custom_meta_get_structure" version="1.20">
+ <return-type type="GstStructure*">
+ <warning>missing glib:type-name</warning>
+ </return-type>
+ <parameters />
+ </method>
+ <method name="HasName" cname="gst_custom_meta_has_name" version="1.20">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter name="name" type="const-gchar*" />
+ </parameters>
+ </method>
+ </struct>
+ <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_local_time_usecs" version="1.18">
+ <parameters>
+ <parameter name="usecs" 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_from_unix_epoch_utc_usecs" version="1.18">
+ <parameters>
+ <parameter name="usecs" 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" deprecated="true">
+ <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" name_constructors="true" 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_instant_rate_change" version="1.18">
+ <parameters>
+ <parameter name="rate_multiplier" type="gdouble" />
+ <parameter name="new_flags" type="GstSegmentFlags" />
+ </parameters>
+ </constructor>
+ <constructor cname="gst_event_new_instant_rate_sync_time" version="1.18">
+ <parameters>
+ <parameter name="rate_multiplier" type="gdouble" />
+ <parameter name="running_time" type="guint64" />
+ <parameter name="upstream_running_time" 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="HasNameId" cname="gst_event_has_name_id" version="1.18">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter name="name" type="guint32" />
+ </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="ParseGapFlags" cname="gst_event_parse_gap_flags" version="1.20">
+ <return-type type="void" />
+ <parameters>
+ <parameter name="flags" type="GstGapFlags" 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="ParseInstantRateChange" cname="gst_event_parse_instant_rate_change" version="1.18">
+ <return-type type="void" />
+ <parameters>
+ <parameter allow-none="1" name="rate_multiplier" type="gdouble*" owned="true" pass_as="out" />
+ <parameter allow-none="1" name="new_flags" type="GstSegmentFlags" owned="true" pass_as="out" />
+ </parameters>
+ </method>
+ <method name="ParseInstantRateSyncTime" cname="gst_event_parse_instant_rate_sync_time" version="1.18">
+ <return-type type="void" />
+ <parameters>
+ <parameter allow-none="1" name="rate_multiplier" type="gdouble*" owned="true" pass_as="out" />
+ <parameter allow-none="1" name="running_time" type="guint64" owned="true" pass_as="out" />
+ <parameter allow-none="1" name="upstream_running_time" type="guint64" 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*" pass_as="out" />
+ </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="ParseSeekTrickmodeInterval" cname="gst_event_parse_seek_trickmode_interval" version="1.16">
+ <return-type type="void" />
+ <parameters>
+ <parameter name="interval" type="guint64" 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="Ref" cname="gst_event_ref">
+ <return-type type="GstEvent*" owned="true">
+ <warning>missing glib:type-name</warning>
+ </return-type>
+ <parameters />
+ </method>
+ <method name="SetGapFlags" cname="gst_event_set_gap_flags" version="1.20">
+ <return-type type="void" />
+ <parameters>
+ <parameter name="flags" type="GstGapFlags" />
+ </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="SetSeekTrickmodeInterval" cname="gst_event_set_seek_trickmode_interval" version="1.16">
+ <return-type type="void" />
+ <parameters>
+ <parameter name="interval" type="guint64" />
+ </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="Unref" cname="gst_event_unref">
+ <return-type type="void" />
+ <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*" array_index="1">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="maxsize" access="public" writeable="true" readable="true" is_callback="false" name="Maxsize" type="gsize" />
+ <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 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="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*" owned="true" pass_as="out" />
+ </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="Ref" cname="gst_memory_ref">
+ <return-type type="GstMemory*" owned="true">
+ <warning>missing glib:type-name</warning>
+ </return-type>
+ <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>
+ <method name="Unref" cname="gst_memory_unref">
+ <return-type type="void" />
+ <parameters />
+ </method>
+ </boxed>
+ <boxed name="Message" cname="GstMessage" opaque="true" hidden="false" name_constructors="true" 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_changed" version="1.16">
+ <parameters>
+ <parameter name="src" type="GstObject*" />
+ <parameter name="device" type="GstDevice*" />
+ <parameter name="changed_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_instant_rate_request" version="1.18">
+ <parameters>
+ <parameter name="src" type="GstObject*" />
+ <parameter name="rate_multiplier" type="gdouble" />
+ </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="const-gchar*" 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="ParseDeviceChanged" cname="gst_message_parse_device_changed" version="1.16">
+ <return-type type="void" />
+ <parameters>
+ <parameter allow-none="1" name="device" type="GstDevice*" owned="true" pass_as="out" />
+ <parameter allow-none="1" name="changed_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**" 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**" pass_as="out">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="ParseInstantRateRequest" cname="gst_message_parse_instant_rate_request" version="1.18">
+ <return-type type="void" />
+ <parameters>
+ <parameter allow-none="1" name="rate_multiplier" type="gdouble*" owned="true" pass_as="out" />
+ </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="const-gchar*" pass_as="out" />
+ <parameter allow-none="1" name="property_value" type="GValue**" 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**" pass_as="out">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="Ref" cname="gst_message_ref">
+ <return-type type="GstMessage*" owned="true">
+ <warning>missing glib:type-name</warning>
+ </return-type>
+ <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="Unref" cname="gst_message_unref">
+ <return-type type="void" />
+ <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="CompareSeqnum" cname="gst_meta_compare_seqnum" version="1.16">
+ <return-type type="gint" />
+ <parameters>
+ <parameter name="meta2" type="GstMeta*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="GetSeqnum" cname="gst_meta_get_seqnum" version="1.16">
+ <return-type type="guint64" />
+ <parameters />
+ </method>
+ <method name="ApiTypeGetTags" cname="gst_meta_api_type_get_tags" shared="true" version="1.2">
+ <return-type type="const gchar* const*" 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**" array="true" null_term_array="true" />
+ </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>
+ <method name="RegisterCustom" cname="gst_meta_register_custom" shared="true" version="1.20">
+ <return-type type="GstMetaInfo*">
+ <warning>missing glib:type-name</warning>
+ </return-type>
+ <parameters>
+ <parameter name="name" type="const-gchar*" />
+ <parameter name="tags" type="const gchar**" array="true" null_term_array="true" />
+ <parameter closure="3" destroy="4" scope="notified" allow-none="1" name="transform_func" type="GstCustomMetaTransformFunction" />
+ <parameter allow-none="1" name="user_data" type="gpointer" />
+ <parameter scope="async" name="destroy_data" type="GDestroyNotify" />
+ </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" />
+ <method name="IsCustom" cname="gst_meta_info_is_custom" version="1.20">
+ <return-type type="gboolean" />
+ <parameters />
+ </method>
+ </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="priv_uint" access="private" writeable="false" readable="false" is_callback="false" name="PrivUint" type="guint" />
+ <field cname="priv_pointer" access="private" writeable="false" readable="false" is_callback="false" name="PrivPointer" type="gpointer" />
+ <method name="AddParent" cname="gst_mini_object_add_parent" version="1.16">
+ <return-type type="void" />
+ <parameters>
+ <parameter name="parent" type="GstMiniObject*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </parameters>
+ </method>
+ <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="Ref" cname="gst_mini_object_ref">
+ <return-type type="GstMiniObject*" owned="true">
+ <warning>missing glib:type-name</warning>
+ </return-type>
+ <parameters />
+ </method>
+ <method name="RemoveParent" cname="gst_mini_object_remove_parent" version="1.16">
+ <return-type type="void" />
+ <parameters>
+ <parameter name="parent" type="GstMiniObject*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </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="Unref" cname="gst_mini_object_unref">
+ <return-type type="void" />
+ <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" version="1.12.1">
+ <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="FdCtlPri" cname="gst_poll_fd_ctl_pri" version="1.16">
+ <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="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="FdHasPri" cname="gst_poll_fd_has_pri" version="1.16">
+ <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" version="1.14" 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="" version="1.14" />
+ <constructor cname="gst_promise_new_with_change_func" version="1.14">
+ <parameters>
+ <parameter name="func" type="GstPromiseChangeFunc" scope="notified" closure="1" destroy="2" />
+ <parameter name="user_data" type="gpointer" />
+ <parameter name="notify" type="GDestroyNotify" />
+ </parameters>
+ </constructor>
+ <method name="Expire" cname="gst_promise_expire" version="1.14">
+ <return-type type="void" />
+ <parameters />
+ </method>
+ <method name="RetrieveReply" cname="gst_promise_get_reply" version="1.14">
+ <return-type type="GstStructure*">
+ <warning>missing glib:type-name</warning>
+ </return-type>
+ <parameters />
+ </method>
+ <method name="Interrupt" cname="gst_promise_interrupt" version="1.14">
+ <return-type type="void" />
+ <parameters />
+ </method>
+ <method name="Reply" cname="gst_promise_reply" version="1.14">
+ <return-type type="void" />
+ <parameters>
+ <parameter allow-none="1" name="s" type="GstStructure*" owned="true">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="Wait" cname="gst_promise_wait" version="1.14">
+ <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_bitrate" disable_void_ctor="" version="1.16" />
+ <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 allow-none="1" name="_result" type="gboolean*" owned="true" pass_as="out" />
+ </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="ParseBitrate" cname="gst_query_parse_bitrate" version="1.16">
+ <return-type type="void" />
+ <parameters>
+ <parameter allow-none="1" name="nominal_bitrate" type="guint*" 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" />
+ <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="SetBitrate" cname="gst_query_set_bitrate" version="1.16">
+ <return-type type="void" />
+ <parameters>
+ <parameter name="nominal_bitrate" type="guint" />
+ </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="const 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="Unref" cname="gst_query_unref">
+ <return-type type="void" />
+ <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="Ref" cname="gst_sample_ref">
+ <return-type type="GstSample*" owned="true">
+ <warning>missing glib:type-name</warning>
+ </return-type>
+ <parameters />
+ </method>
+ <method name="SetBuffer" cname="gst_sample_set_buffer" version="1.16">
+ <return-type type="void" />
+ <parameters>
+ <parameter name="buffer" type="GstBuffer*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </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>
+ <method name="SetCaps" cname="gst_sample_set_caps" version="1.16">
+ <return-type type="void" />
+ <parameters>
+ <parameter name="caps" type="GstCaps*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="SetInfo" cname="gst_sample_set_info" version="1.16">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter name="info" type="GstStructure*" owned="true">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="SetSegment" cname="gst_sample_set_segment" version="1.16">
+ <return-type type="void" />
+ <parameters>
+ <parameter name="segment" type="GstSegment*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="Unref" cname="gst_sample_unref">
+ <return-type type="void" />
+ <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" deprecated="true">
+ <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="SharedTaskPoolPrivate" cname="GstSharedTaskPoolPrivate" opaque="true" hidden="true" />
+ <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_from_string">
+ <parameters>
+ <parameter name="string" type="const-gchar*" />
+ <parameter name="end" type="const-gchar*" pass_as="out" />
+ </parameters>
+ </constructor>
+ <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" version="1.12">
+ <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" version="1.12">
+ <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" version="1.12">
+ <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" version="1.12">
+ <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="Take" cname="gst_structure_take" shared="true" version="1.18" hidden="true">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter allow-none="1" name="oldstr_ptr" type="GstStructure**" owned="true" pass_as="ref">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ <parameter allow-none="1" name="newstr" type="GstStructure*" owned="true">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </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="Copy" cname="gst_tag_list_copy">
+ <return-type type="GstTagList*" owned="true">
+ <warning>missing glib:type-name</warning>
+ </return-type>
+ <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*" owned="true" pass_as="out" />
+ </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="Ref" cname="gst_tag_list_ref">
+ <return-type type="GstTagList*" owned="true">
+ <warning>missing glib:type-name</warning>
+ </return-type>
+ <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="Unref" cname="gst_tag_list_unref">
+ <return-type type="void" />
+ <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="const 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 allow-none="1" 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" deprecated="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="FromStringEscaped" cname="gst_uri_from_string_escaped" shared="true" version="1.18">
+ <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="deserialize_with_pspec" access="public" writeable="true" readable="true" is_callback="false" name="DeserializeWithPspec" type="GstValueDeserializeWithPSpecFunc" />
+ <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="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" version="1.12">
+ <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* const*" 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**" array="true" null_term_array="true" />
+ </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="MetaRegisterCustom" cname="gst_meta_register_custom" shared="true" version="1.20">
+ <return-type type="GstMetaInfo*">
+ <warning>missing glib:type-name</warning>
+ </return-type>
+ <parameters>
+ <parameter name="name" type="const-gchar*" />
+ <parameter name="tags" type="const gchar**" array="true" null_term_array="true" />
+ <parameter closure="3" destroy="4" scope="notified" allow-none="1" name="transform_func" type="GstCustomMetaTransformFunction" />
+ <parameter allow-none="1" name="user_data" type="gpointer" />
+ <parameter scope="async" name="destroy_data" type="GDestroyNotify" />
+ </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-gfilename*" />
+ </method>
+ <method name="PresetSetAppDir" cname="gst_preset_set_app_dir" shared="true">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter name="app_dir" type="const-gfilename*" />
+ </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**" array="true" null_term_array="true" />
+ </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="StructureTake" cname="gst_structure_take" shared="true" version="1.18" hidden="true">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter allow-none="1" name="oldstr_ptr" type="GstStructure**" owned="true" pass_as="ref">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ <parameter allow-none="1" name="newstr" type="GstStructure*" owned="true">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </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="TracingGetActiveTracers" cname="gst_tracing_get_active_tracers" shared="true" version="1.18">
+ <return-type type="GList*" element_type="GstTracer*" elements_owned="true" owned="true" />
+ </method>
+ <method name="TracingRegisterHook" cname="gst_tracing_register_hook" shared="true" version="1.8">
+ <return-type type="void" />
+ <parameters>
+ <parameter name="tracer" type="GstTracer*" />
+ <parameter name="detail" type="const-gchar*" />
+ <parameter scope="async" name="func" type="GCallback" />
+ </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 allow-none="1" 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>
+ <method name="TypeIsPluginApi" cname="gst_type_is_plugin_api" shared="true" version="1.18">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter name="type" type="GType" />
+ <parameter name="flags" type="GstPluginAPIFlags" owned="true" pass_as="out" />
+ </parameters>
+ </method>
+ <method name="TypeMarkAsPluginApi" cname="gst_type_mark_as_plugin_api" shared="true" version="1.18">
+ <return-type type="void" />
+ <parameters>
+ <parameter name="type" type="GType" />
+ <parameter name="flags" type="GstPluginAPIFlags" />
+ </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="Hardware" ctype="gchar*" gtype="gchar*" name="ELEMENT_FACTORY_KLASS_HARDWARE" version="1.16" />
+ <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="1377" 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="4096" ctype="GstElementFactoryListType" gtype="GstElementFactoryListType" name="ELEMENT_FACTORY_TYPE_HARDWARE" />
+ <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="16384" ctype="gint" gtype="gint" name="PARAM_CONDITIONALLY_AVAILABLE" version="1.18" />
+ <constant value="512" ctype="gint" gtype="gint" name="PARAM_CONTROLLABLE" />
+ <constant value="8192" ctype="gint" gtype="gint" name="PARAM_DOC_SHOW_DEFAULT" version="1.18" />
+ <constant value="2048" ctype="gint" gtype="gint" name="PARAM_MUTABLE_PAUSED" />
+ <constant value="4096" ctype="gint" gtype="gint" name="PARAM_MUTABLE_PLAYING" />
+ <constant value="1024" ctype="gint" gtype="gint" name="PARAM_MUTABLE_READY" />
+ <constant value="65536" 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="unspecified-system-id" ctype="gchar*" gtype="gchar*" name="PROTECTION_UNSPECIFIED_SYSTEM_ID" version="1.16" />
+ <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="912" ctype="gint" gtype="gint" name="SEGMENT_INSTANT_FLAGS" />
+ <constant value="0" ctype="gint" gtype="gint" name="SEQNUM_INVALID" version="1.14" />
+ <constant value="paS" ctype="gchar*" gtype="gchar*" name="STIMEP_FORMAT" version="1.18" />
+ <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="paT" ctype="gchar*" gtype="gchar*" name="TIMEP_FORMAT" version="1.18" />
+ <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="2" ctype="gint" gtype="gint" name="VERSION_MICRO" />
+ <constant value="19" ctype="gint" gtype="gint" name="VERSION_MINOR" />
+ <constant value="0" 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-gfilename*" />
+ </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-gfilename*" />
+ </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="DebugLogGetLine" cname="gst_debug_log_get_line" shared="true" version="1.18">
+ <return-type type="gchar*" owned="true" />
+ <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>
+ </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="ValueDeserializeWithPspec" cname="gst_value_deserialize_with_pspec" shared="true" version="1.20">
+ <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*" />
+ <parameter allow-none="1" name="pspec" type="GParamSpec*" />
+ </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="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*" array="true" array_length_param_index="1" />
+ <parameter name="size" type="gint" />
+ <parameter name="env_vars" type="const gchar**" array="true" null_term_array="true" />
+ </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="const guint8*" array="true" array_length_param_index="1" />
+ <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="const guint8*" array="true" array_length_param_index="2" />
+ <parameter name="image_data_len" type="guint" array_index="1" />
+ <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="const guint8*" array="true" array_length_param_index="1" />
+ <parameter name="size" type="gsize" />
+ <parameter name="id_data" type="const guint8*" array="true" array_length_param_index="3" />
+ <parameter name="id_data_length" type="guint" array_index="2" />
+ <parameter allow-none="1" name="vendor_string" type="gchar*" owned="true" pass_as="out" />
+ </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="const guint8*" array="true" array_length_param_index="2" />
+ <parameter name="id_data_length" type="guint" array_index="1" />
+ <parameter allow-none="1" name="vendor_string" type="gchar*" owned="true" pass_as="out" />
+ </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="const guint8*" array="true" array_len="128" />
+ </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="const guint8*" array="true" array_length_param_index="2" />
+ <parameter name="id_data_length" type="guint" array_index="1" />
+ <parameter allow-none="1" 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**" array="true" null_term_array="true" />
+ </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="gchar*" owned="true" pass_as="out" />
+ <parameter name="lang" type="gchar*" owned="true" pass_as="out" />
+ <parameter name="value" type="gchar*" owned="true" pass_as="out" />
+ <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-gfilename*" />
+ <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="const GstFormat*" array="true" null_term_array="true" />
+ <parameter name="format" type="GstFormat" />
+ </parameters>
+ </method>
+ <method name="UriConstruct" cname="gst_uri_construct" shared="true" deprecated="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="UriFromStringEscaped" cname="gst_uri_from_string_escaped" shared="true" version="1.18">
+ <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="const guchar*" array="true" array_length_param_index="1" />
+ <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="gstapp-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 allow-none="1" 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 allow-none="1" 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" version="1.2" />
+ <property name="Duration" cname="duration" type="guint64" readable="true" writeable="true" construct="false" construct-only="false" version="1.10" />
+ <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="HandleSegmentChange" cname="handle-segment-change" type="gboolean" readable="true" writeable="true" construct="false" construct-only="false" version="1.18" />
+ <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="_object" type="guint" />
+ </parameters>
+ </signal>
+ <signal name="PushBufferEvent" cname="push-buffer" when="last" field_name="push_buffer">
+ <return-type type="GstFlowReturn" />
+ <parameters>
+ <parameter name="_object" 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">
+ <return-type type="GstFlowReturn" />
+ <parameters>
+ <parameter name="_object" 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">
+ <return-type type="GstFlowReturn" />
+ <parameters>
+ <parameter name="_object" 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="_object" 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="gstaudio-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" version="1.10">
+ <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" version="1.10">
+ <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.10">
+ <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" version="1.10">
+ <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="AudioAggregator" cname="GstAudioAggregator" defaultconstructoraccess="protected" opaque="false" hidden="true" parent="GstAggregator" version="1.14">
+ <class_struct cname="GstAudioAggregatorClass" version="1.14">
+ <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GstAggregatorClass">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <method vm="create_output_buffer" />
+ <method vm="aggregate_one_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_audio_aggregator_get_type" shared="true">
+ <return-type type="GType" />
+ </method>
+ <virtual_method name="AggregateOneBuffer" cname="aggregate_one_buffer">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter name="pad" type="GstAudioAggregatorPad*" />
+ <parameter name="inbuf" type="GstBuffer*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ <parameter name="in_offset" type="guint" />
+ <parameter name="outbuf" type="GstBuffer*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ <parameter name="out_offset" type="guint" />
+ <parameter name="num_frames" type="guint" />
+ </parameters>
+ </virtual_method>
+ <virtual_method name="CreateOutputBuffer" cname="create_output_buffer">
+ <return-type type="GstBuffer*" owned="true">
+ <warning>missing glib:type-name</warning>
+ </return-type>
+ <parameters>
+ <parameter name="num_frames" type="guint" />
+ </parameters>
+ </virtual_method>
+ <method name="SetSinkCaps" cname="gst_audio_aggregator_set_sink_caps">
+ <return-type type="void" />
+ <parameters>
+ <parameter name="pad" type="GstAudioAggregatorPad*" />
+ <parameter name="caps" type="GstCaps*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="AlignmentThreshold" cname="alignment-threshold" type="guint64" 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="OutputBufferDuration" cname="output-buffer-duration" type="guint64" readable="true" writeable="true" construct="false" construct-only="false" />
+ <property name="OutputBufferDurationFraction" cname="output-buffer-duration-fraction" type="*" readable="true" writeable="true" construct="false" construct-only="false" version="1.18" />
+ <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GstAggregator*" hidden="true" />
+ <field cname="current_caps" access="public" writeable="false" readable="true" is_callback="false" name="CurrentCaps" type="GstCaps*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GstAudioAggregatorPrivate*">
+ <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="AudioAggregatorConvertPad" cname="GstAudioAggregatorConvertPad" opaque="false" hidden="true" parent="GstAudioAggregatorPad" version="1.14">
+ <class_struct cname="GstAudioAggregatorConvertPadClass" version="1.14">
+ <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GstAudioAggregatorPadClass">
+ <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_aggregator_convert_pad_get_type" shared="true">
+ <return-type type="GType" />
+ </method>
+ <property name="ConverterConfig" cname="converter-config" type="GstStructure*" readable="true" writeable="true" construct="false" construct-only="false" />
+ <field cname="parent" access="private" writeable="false" readable="false" is_callback="false" name="Parent" type="GstAudioAggregatorPad*" hidden="true" />
+ <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GstAudioAggregatorConvertPadPrivate*">
+ <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="AudioAggregatorPad" cname="GstAudioAggregatorPad" opaque="false" hidden="true" parent="GstAggregatorPad" version="1.14">
+ <class_struct cname="GstAudioAggregatorPadClass" version="1.14">
+ <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GstAggregatorPadClass">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <method vm="convert_buffer" />
+ <method vm="update_conversion_info" />
+ <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_aggregator_pad_get_type" shared="true">
+ <return-type type="GType" />
+ </method>
+ <virtual_method name="ConvertBuffer" cname="convert_buffer">
+ <return-type type="GstBuffer*" owned="true">
+ <warning>missing glib:type-name</warning>
+ </return-type>
+ <parameters>
+ <parameter name="in_info" type="GstAudioInfo*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ <parameter name="out_info" type="GstAudioInfo*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ <parameter name="buffer" type="GstBuffer*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </parameters>
+ </virtual_method>
+ <virtual_method name="UpdateConversionInfo" cname="update_conversion_info">
+ <return-type type="void" />
+ <parameters />
+ </virtual_method>
+ <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GstAggregatorPad*" hidden="true" />
+ <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="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GstAudioAggregatorPadPrivate*">
+ <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="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 allow-none="1" name="buf" type="GstBuffer*" owned="true">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ <parameter name="frames" type="gint" />
+ </parameters>
+ </method>
+ <method name="FinishSubframe" cname="gst_audio_decoder_finish_subframe" version="1.16">
+ <return-type type="GstFlowReturn" />
+ <parameters>
+ <parameter allow-none="1" name="buf" type="GstBuffer*" owned="true">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </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 allow-none="1" name="sync" type="gboolean*" owned="true" pass_as="out" />
+ <parameter allow-none="1" name="eos" type="gboolean*" owned="true" pass_as="out" />
+ </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="SetOutputCaps" cname="gst_audio_decoder_set_output_caps" version="1.16">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter name="caps" type="GstCaps*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </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="MaxErrors" cname="max-errors" type="gint" readable="true" writeable="true" construct="false" construct-only="false" version="1.18" />
+ <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 allow-none="1" name="buffer" type="GstBuffer*" owned="true">
+ <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*" array="true" array_length_param_index="2" />
+ <parameter name="in_samples" type="gint" array_index="1" />
+ <parameter name="out_samples" type="gint" />
+ <parameter name="accum" type="gint*" owned="true" pass_as="ref" />
+ </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*" array="true" array_length_param_index="2" />
+ <parameter name="in_samples" type="gint" array_index="1" />
+ <parameter name="out_samples" type="gint" />
+ <parameter name="accum" type="gint*" owned="true" pass_as="ref" />
+ </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*" owned="true" pass_as="out" />
+ </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" hidden="true">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter name="segment" type="gint*" owned="true" pass_as="out" />
+ <parameter name="readptr" type="guint8***" owned="true" pass_as="out" array="true" array_length_param_index="2" />
+ <parameter name="len" type="gint*" owned="true" pass_as="out" array_index="1" />
+ </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*" array="true" array_length_param_index="2" />
+ <parameter name="len" type="guint" array_index="1" />
+ <parameter name="timestamp" type="guint64" owned="true" pass_as="out" />
+ </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="const GstAudioChannelPosition*" array="true" />
+ </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="private" writeable="false" readable="false" 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" />
+ <method vm="pause" />
+ <method vm="resume" />
+ <method vm="stop" />
+ <field cname="extension" access="public" writeable="false" readable="true" is_callback="false" name="Extension" type="GstAudioSinkClassExtension*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ </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="Pause" cname="pause">
+ <return-type type="void" />
+ <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="Resume" cname="resume">
+ <return-type type="void" />
+ <parameters />
+ </virtual_method>
+ <virtual_method name="Stop" cname="stop">
+ <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="AudioAggregatorConvertPadPrivate" cname="GstAudioAggregatorConvertPadPrivate" opaque="true" hidden="true" />
+ <struct name="AudioAggregatorPadPrivate" cname="GstAudioAggregatorPadPrivate" opaque="true" hidden="true" />
+ <struct name="AudioAggregatorPrivate" cname="GstAudioAggregatorPrivate" opaque="true" hidden="true" />
+ <struct name="AudioBaseSinkPrivate" cname="GstAudioBaseSinkPrivate" opaque="true" hidden="true" />
+ <struct name="AudioBaseSrcPrivate" cname="GstAudioBaseSrcPrivate" opaque="true" hidden="true" />
+ <struct name="AudioBuffer" cname="GstAudioBuffer" opaque="false" hidden="false" version="1.16">
+ <field cname="info" access="public" writeable="true" readable="true" is_callback="false" name="Info" type="GstAudioInfo" array_index="4">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="n_samples" access="public" writeable="true" readable="true" is_callback="false" name="NSamples" type="gsize" />
+ <field cname="n_planes" access="public" writeable="true" readable="true" is_callback="false" name="NPlanes" type="gint" />
+ <field cname="planes" access="public" writeable="true" readable="true" is_callback="false" name="Planes" type="gpointer" />
+ <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_infos" access="private" writeable="false" readable="false" is_callback="false" name="MapInfos" type="GstMapInfo*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="priv_planes_arr" access="private" writeable="false" readable="false" is_callback="false" name="PrivPlanesArr" type="gpointer" array="true" array_len="8" hidden="true" />
+ <field cname="priv_map_infos_arr" access="private" writeable="false" readable="false" is_callback="false" name="PrivMapInfosArr" type="GstMapInfo" array="true" array_len="8" 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" />
+ <method name="Map" cname="gst_audio_buffer_map" version="1.16">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter name="info" type="GstAudioInfo*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ <parameter name="gstbuffer" type="GstBuffer*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ <parameter name="flags" type="GstMapFlags" />
+ </parameters>
+ </method>
+ <method name="Unmap" cname="gst_audio_buffer_unmap" version="1.16">
+ <return-type type="void" />
+ <parameters />
+ </method>
+ <method name="Clip" 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="ReorderChannels" 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" array_index="4" />
+ <parameter name="from" type="const GstAudioChannelPosition*" array="true" array_length_param_index="2" />
+ <parameter name="to" type="const GstAudioChannelPosition*" array="true" array_length_param_index="2" />
+ </parameters>
+ </method>
+ <method name="Truncate" cname="gst_audio_buffer_truncate" shared="true" version="1.16">
+ <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="bpf" type="gint" />
+ <parameter name="trim" type="gsize" />
+ <parameter name="samples" type="gsize" />
+ </parameters>
+ </method>
+ </struct>
+ <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>
+ <boxed name="AudioConverter" cname="GstAudioConverter" opaque="false" hidden="false" version="1.8">
+ <method name="GetType" cname="gst_audio_converter_get_type" shared="true">
+ <return-type type="GType" />
+ </method>
+ <constructor cname="gst_audio_converter_new">
+ <parameters>
+ <parameter name="flags" type="GstAudioConverterFlags" />
+ <parameter name="in_info" type="GstAudioInfo*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ <parameter name="out_info" type="GstAudioInfo*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ <parameter name="config" type="GstStructure*" owned="true">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </parameters>
+ </constructor>
+ <method name="Convert" cname="gst_audio_converter_convert" version="1.14" hidden="true">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter name="flags" type="GstAudioConverterFlags" />
+ <parameter name="in" type="gpointer" array="true" array_length_param_index="2" />
+ <parameter name="in_size" type="gsize" array_index="1" />
+ <parameter name="out" type="gpointer**" owned="true" pass_as="out" array="true" array_length_param_index="4" />
+ <parameter name="out_size" type="gsize*" owned="true" pass_as="out" array_index="3" />
+ </parameters>
+ </method>
+ <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 allow-none="1" name="in_rate" type="gint*" owned="true" pass_as="out" />
+ <parameter allow-none="1" name="out_rate" type="gint*" owned="true" pass_as="out" />
+ </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="IsPassthrough" cname="gst_audio_converter_is_passthrough" version="1.16">
+ <return-type type="gboolean" />
+ <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" version="1.12">
+ <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>
+ </boxed>
+ <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*" owned="true" pass_as="out" />
+ </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 allow-none="1" name="position" type="const GstAudioChannelPosition*" array="true" />
+ </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="AudioMeta" cname="GstAudioMeta" opaque="false" hidden="false" version="1.16">
+ <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="GstAudioInfo">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="samples" access="public" writeable="true" readable="true" is_callback="false" name="Samples" type="gsize" />
+ <field cname="offsets" access="public" writeable="true" readable="true" is_callback="false" name="Offsets" type="gsize" />
+ <field cname="priv_offsets_arr" access="private" writeable="false" readable="false" is_callback="false" name="PrivOffsetsArr" type="gsize" array="true" array_len="8" 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" />
+ <method name="GetInfo" cname="gst_audio_meta_get_info" shared="true">
+ <return-type type="GstMetaInfo*">
+ <warning>missing glib:type-name</warning>
+ </return-type>
+ </method>
+ </struct>
+ <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" version="1.10">
+ <method name="Free" cname="gst_audio_resampler_free">
+ <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>
+ <struct name="AudioSinkClassExtension" cname="GstAudioSinkClassExtension" opaque="false" hidden="false">
+ <field cname="clear_all" access="public" writeable="false" readable="true" is_callback="true" name="ClearAll" type="GstAudioClearAllFunc" />
+ </struct>
+ <boxed name="AudioStreamAlign" cname="GstAudioStreamAlign" opaque="false" hidden="false" version="1.14">
+ <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" version="1.14">
+ <return-type type="guint64" />
+ <parameters />
+ </method>
+ <method name="GetDiscontWait" cname="gst_audio_stream_align_get_discont_wait" version="1.14">
+ <return-type type="guint64" />
+ <parameters />
+ </method>
+ <method name="GetRate" cname="gst_audio_stream_align_get_rate" version="1.14">
+ <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" version="1.14">
+ <return-type type="void" />
+ <parameters>
+ <parameter name="alignment_threshold" type="guint64" />
+ </parameters>
+ </method>
+ <method name="SetDiscontWait" cname="gst_audio_stream_align_set_discont_wait" version="1.14">
+ <return-type type="void" />
+ <parameters>
+ <parameter name="discont_wait" type="guint64" />
+ </parameters>
+ </method>
+ <method name="SetRate" cname="gst_audio_stream_align_set_rate" version="1.14">
+ <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" array_index="4" />
+ <parameter name="from" type="const GstAudioChannelPosition*" array="true" array_length_param_index="2" />
+ <parameter name="to" type="const GstAudioChannelPosition*" array="true" array_length_param_index="2" />
+ </parameters>
+ </method>
+ <method name="AudioBufferTruncate" cname="gst_audio_buffer_truncate" shared="true" version="1.16">
+ <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="bpf" type="gint" />
+ <parameter name="trim" type="gsize" />
+ <parameter name="samples" type="gsize" />
+ </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="const 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" version="1.10">
+ <return-type type="gchar*" owned="true" />
+ <parameters>
+ <parameter name="position" type="const 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="const 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="AudioFormatsRaw" cname="gst_audio_formats_raw" shared="true" version="1.18">
+ <return-type type="const GstAudioFormat*" array="true" array_length_param_index="0" />
+ <parameters>
+ <parameter name="len" type="guint*" owned="true" pass_as="out" />
+ </parameters>
+ </method>
+ <method name="AudioGetChannelReorderMap" cname="gst_audio_get_channel_reorder_map" shared="true">
+ <return-type type="gboolean" array_index="3" />
+ <parameters>
+ <parameter name="channels" type="gint" array_index="3" />
+ <parameter name="from" type="const GstAudioChannelPosition*" array="true" array_length_param_index="0" />
+ <parameter name="to" type="const GstAudioChannelPosition*" array="true" array_length_param_index="0" />
+ <parameter name="reorder_map" type="gint*" array="true" array_length_param_index="0" />
+ </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="const 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="AudioMakeRawCaps" cname="gst_audio_make_raw_caps" shared="true" version="1.18">
+ <return-type type="GstCaps*" owned="true">
+ <warning>missing glib:type-name</warning>
+ </return-type>
+ <parameters>
+ <parameter allow-none="1" name="formats" type="const GstAudioFormat*" array="true" array_length_param_index="1" />
+ <parameter name="len" type="guint" />
+ <parameter name="layout" type="GstAudioLayout" />
+ </parameters>
+ </method>
+ <method name="AudioMetaApiGetType" cname="gst_audio_meta_api_get_type" shared="true">
+ <return-type type="GType" />
+ </method>
+ <method name="AudioMetaGetInfo" cname="gst_audio_meta_get_info" shared="true">
+ <return-type type="GstMetaInfo*">
+ <warning>missing glib:type-name</warning>
+ </return-type>
+ </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" array_index="5" />
+ <parameter name="from" type="const GstAudioChannelPosition*" array="true" array_length_param_index="3" />
+ <parameter name="to" type="const GstAudioChannelPosition*" array="true" array_length_param_index="3" />
+ </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="const GstAudioChannelPosition*" array="true" array_length_param_index="2" />
+ <parameter name="from_channels" type="gint" array_index="1" />
+ <parameter name="to_position" type="const 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="BufferAddAudioMeta" cname="gst_buffer_add_audio_meta" shared="true" version="1.16">
+ <return-type type="GstAudioMeta*">
+ <warning>missing glib:type-name</warning>
+ </return-type>
+ <parameters>
+ <parameter name="buffer" type="GstBuffer*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ <parameter name="info" type="GstAudioInfo*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ <parameter name="samples" type="gsize" />
+ <parameter allow-none="1" name="offsets" type="gsize" />
+ </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="const 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="{ F64BE, F64LE, F32BE, F32LE, S32BE, S32LE, U32BE, U32LE, S24_32BE, S24_32LE, U24_32BE, U24_32LE, S24BE, S24LE, U24BE, U24LE, S20BE, S20LE, U20BE, U20LE, S18BE, S18LE, U18BE, U18LE, S16BE, S16LE, U16BE, U16LE, S8, U8 }" 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="gstbase-1.0-0.dll">
+ <enum name="AggregatorStartTimeSelection" cname="GstAggregatorStartTimeSelection" type="enum" gtype="gst_aggregator_start_time_selection_get_type" version="1.18">
+ <member cname="GST_AGGREGATOR_START_TIME_SELECTION_ZERO" name="Zero" value="0" />
+ <member cname="GST_AGGREGATOR_START_TIME_SELECTION_FIRST" name="First" value="1" />
+ <member cname="GST_AGGREGATOR_START_TIME_SELECTION_SET" name="Set" value="2" />
+ </enum>
+ <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**" owned="true" pass_as="out">
+ <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**" owned="true" pass_as="out">
+ <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" version="1.10">
+ <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" version="1.14">
+ <class_struct cname="GstAggregatorClass" version="1.14">
+ <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" />
+ <method vm="negotiate" />
+ <method vm="sink_event_pre_queue" />
+ <method vm="sink_query_pre_queue" />
+ <method vm="finish_buffer_list" />
+ <method vm="peek_next_sample" />
+ <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="15" 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="FinishBufferList" cname="finish_buffer_list" version="1.18">
+ <return-type type="GstFlowReturn" />
+ <parameters>
+ <parameter name="bufferlist" type="GstBufferList*" 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="Negotiate" cname="negotiate" version="1.18">
+ <return-type type="gboolean" />
+ <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="PeekNextSample" cname="peek_next_sample" version="1.18">
+ <return-type type="GstSample*" owned="true">
+ <warning>missing glib:type-name</warning>
+ </return-type>
+ <parameters>
+ <parameter name="aggregator_pad" type="GstAggregatorPad*" />
+ </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="SinkEventPreQueue" cname="sink_event_pre_queue">
+ <return-type type="GstFlowReturn" />
+ <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="SinkQueryPreQueue" cname="sink_query_pre_queue">
+ <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 allow-none="1" name="_ret" type="GstCaps**" owned="true" pass_as="out">
+ <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="FinishBufferList" cname="gst_aggregator_finish_buffer_list" version="1.18">
+ <return-type type="GstFlowReturn" />
+ <parameters>
+ <parameter name="bufferlist" type="GstBufferList*" 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*" 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="Negotiate" cname="gst_aggregator_negotiate" version="1.18">
+ <return-type type="gboolean" />
+ <parameters />
+ </method>
+ <method name="PeekNextSample" cname="gst_aggregator_peek_next_sample" version="1.18">
+ <return-type type="GstSample*" owned="true">
+ <warning>missing glib:type-name</warning>
+ </return-type>
+ <parameters>
+ <parameter name="pad" type="GstAggregatorPad*" />
+ </parameters>
+ </method>
+ <method name="SelectedSamples" cname="gst_aggregator_selected_samples" version="1.18">
+ <return-type type="void" />
+ <parameters>
+ <parameter name="pts" type="guint64" />
+ <parameter name="dts" type="guint64" />
+ <parameter name="duration" type="guint64" />
+ <parameter allow-none="1" name="info" type="GstStructure*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </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>
+ <method name="SimpleGetNextTime" cname="gst_aggregator_simple_get_next_time" version="1.16">
+ <return-type type="guint64" />
+ <parameters />
+ </method>
+ <method name="UpdateSegment" cname="gst_aggregator_update_segment" version="1.18">
+ <return-type type="void" />
+ <parameters>
+ <parameter name="segment" type="GstSegment*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="EmitSignals" cname="emit-signals" type="gboolean" readable="true" writeable="true" construct="false" construct-only="false" version="1.18" />
+ <property name="Latency" cname="latency" type="guint64" readable="true" writeable="true" construct="false" construct-only="false" />
+ <property name="MinUpstreamLatency" cname="min-upstream-latency" type="guint64" readable="true" writeable="true" construct="false" construct-only="false" version="1.16" />
+ <property name="StartTime" cname="start-time" type="guint64" readable="true" writeable="true" construct="false" construct-only="false" />
+ <property name="StartTimeSelection" cname="start-time-selection" type="GstAggregatorStartTimeSelection" 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="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" />
+ <signal name="SamplesSelected" cname="samples-selected" when="first" version="1.18">
+ <return-type type="void" />
+ <parameters>
+ <parameter name="segment" type="GstSegment*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ <parameter name="pts" type="guint64" />
+ <parameter name="dts" type="guint64" />
+ <parameter name="duration" type="guint64" />
+ <parameter allow-none="1" name="info" type="GstStructure*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </parameters>
+ </signal>
+ </object>
+ <object name="AggregatorPad" cname="GstAggregatorPad" opaque="false" hidden="false" parent="GstPad" version="1.14">
+ <class_struct cname="GstAggregatorPadClass" version="1.14">
+ <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="HasBuffer" cname="gst_aggregator_pad_has_buffer" version="1.14.1">
+ <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>
+ <property name="EmitSignals" cname="emit-signals" type="gboolean" readable="true" writeable="true" construct="false" construct-only="false" version="1.16" />
+ <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="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GstAggregatorPadPrivate*">
+ <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="BufferConsumed" cname="buffer-consumed" when="first">
+ <return-type type="void" />
+ <parameters>
+ <parameter name="_object" type="GstBuffer*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </parameters>
+ </signal>
+ </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*" owned="true" pass_as="out" />
+ </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="GetProcessingDeadline" cname="gst_base_sink_get_processing_deadline" version="1.16">
+ <return-type type="guint64" />
+ <parameters />
+ </method>
+ <method name="GetRenderDelay" cname="gst_base_sink_get_render_delay">
+ <return-type type="guint64" />
+ <parameters />
+ </method>
+ <method name="GetStats" cname="gst_base_sink_get_stats" version="1.18">
+ <return-type type="GstStructure*" owned="true">
+ <warning>missing glib:type-name</warning>
+ </return-type>
+ <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="SetProcessingDeadline" cname="gst_base_sink_set_processing_deadline" version="1.16">
+ <return-type type="void" />
+ <parameters>
+ <parameter name="processing_deadline" type="guint64" />
+ </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="ProcessingDeadline" cname="processing-deadline" type="guint64" readable="true" writeable="true" construct="false" construct-only="false" version="1.16" />
+ <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="Stats" cname="stats" type="GstStructure*" readable="true" writeable="false" construct="false" construct-only="false" version="1.18" />
+ <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 allow-none="1" 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" version="1.18">
+ <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*" 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="Negotiate" cname="gst_base_src_negotiate" version="1.18">
+ <return-type type="gboolean" />
+ <parameters />
+ </method>
+ <method name="NewSeamlessSegment" cname="gst_base_src_new_seamless_segment" deprecated="true" deprecated-version="1.18">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter name="start" type="gint64" />
+ <parameter name="stop" type="gint64" />
+ <parameter name="time" type="gint64" />
+ </parameters>
+ </method>
+ <method name="NewSegment" cname="gst_base_src_new_segment" version="1.18">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter name="segment" type="GstSegment*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </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**" owned="true" pass_as="out">
+ <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*" owned="true" pass_as="out" />
+ </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**" owned="true" pass_as="out">
+ <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*" owned="true" pass_as="out" />
+ </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*" 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="Reconfigure" cname="gst_base_transform_reconfigure" version="1.18">
+ <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**" owned="true" pass_as="out">
+ <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" version="1.12.1">
+ <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="const 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="const 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="BitWriter" cname="GstBitWriter" opaque="false" hidden="false" version="1.16">
+ <field cname="data" access="public" writeable="true" readable="true" is_callback="false" name="Data" type="guint8" />
+ <field cname="bit_size" access="public" writeable="true" readable="true" is_callback="false" name="BitSize" type="guint" />
+ <field cname="bit_capacity" access="private" writeable="false" readable="false" is_callback="false" name="BitCapacity" type="guint" />
+ <field cname="auto_grow" access="private" writeable="false" readable="false" is_callback="false" name="AutoGrow" type="gboolean" />
+ <field cname="owned" access="private" writeable="false" readable="false" 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="AlignBytes" cname="gst_bit_writer_align_bytes">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter name="trailing_bit" type="guint8" />
+ </parameters>
+ </method>
+ <method name="Free" cname="gst_bit_writer_free">
+ <return-type type="void" />
+ <parameters />
+ </method>
+ <method name="FreeAndGetBuffer" cname="gst_bit_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_bit_writer_free_and_get_data">
+ <return-type type="guint8**" owned="true" array="true" />
+ <parameters />
+ </method>
+ <method name="GetData" cname="gst_bit_writer_get_data">
+ <return-type type="guint8" />
+ <parameters />
+ </method>
+ <method name="GetRemaining" cname="gst_bit_writer_get_remaining">
+ <return-type type="guint" />
+ <parameters />
+ </method>
+ <method name="GetSize" cname="gst_bit_writer_get_size">
+ <return-type type="guint" />
+ <parameters />
+ </method>
+ <method name="PutBitsUint16" cname="gst_bit_writer_put_bits_uint16">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter name="value" type="guint16" />
+ <parameter name="nbits" type="guint" />
+ </parameters>
+ </method>
+ <method name="PutBitsUint32" cname="gst_bit_writer_put_bits_uint32">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter name="value" type="guint32" />
+ <parameter name="nbits" type="guint" />
+ </parameters>
+ </method>
+ <method name="PutBitsUint64" cname="gst_bit_writer_put_bits_uint64">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter name="value" type="guint64" />
+ <parameter name="nbits" type="guint" />
+ </parameters>
+ </method>
+ <method name="PutBitsUint8" cname="gst_bit_writer_put_bits_uint8">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter name="value" type="guint8" />
+ <parameter name="nbits" type="guint" />
+ </parameters>
+ </method>
+ <method name="PutBytes" cname="gst_bit_writer_put_bytes">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter name="data" type="guint8" />
+ <parameter name="nbytes" type="guint" />
+ </parameters>
+ </method>
+ <method name="Reset" cname="gst_bit_writer_reset">
+ <return-type type="void" />
+ <parameters />
+ </method>
+ <method name="ResetAndGetBuffer" cname="gst_bit_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_bit_writer_reset_and_get_data">
+ <return-type type="guint8**" owned="true" array="true" />
+ <parameters />
+ </method>
+ <method name="SetPos" cname="gst_bit_writer_set_pos">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter name="pos" type="guint" />
+ </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="const 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="const 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="const 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="const 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*" />
+ </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="TypeFindHelperForBufferWithExtension" cname="gst_type_find_helper_for_buffer_with_extension" shared="true" version="1.16">
+ <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="extension" type="const-gchar*" />
+ <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="const guint8*" array="true" array_length_param_index="2" />
+ <parameter name="size" type="gsize" array_index="1" />
+ <parameter allow-none="1" name="prob" type="GstTypeFindProbability" owned="true" pass_as="out" />
+ </parameters>
+ </method>
+ <method name="TypeFindHelperForDataWithExtension" cname="gst_type_find_helper_for_data_with_extension" shared="true" version="1.16">
+ <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="const guint8*" array="true" array_length_param_index="2" />
+ <parameter name="size" type="gsize" array_index="1" />
+ <parameter allow-none="1" name="extension" type="const-gchar*" />
+ <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 allow-none="1" name="extension" type="const-gchar*" />
+ <parameter allow-none="1" name="prob" type="GstTypeFindProbability" owned="true" pass_as="out" />
+ </parameters>
+ </method>
+ <method name="TypeFindHelperGetRangeFull" cname="gst_type_find_helper_get_range_full" shared="true" version="1.14.3">
+ <return-type type="GstFlowReturn" />
+ <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 allow-none="1" name="extension" type="const-gchar*" />
+ <parameter name="caps" type="GstCaps**" owned="true" pass_as="out">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ <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="gstcontroller-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" padding="true" />
+ </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="gpointer">
+ <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" padding="true" />
+ </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.Net" library="gstnet-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" version="1.6">
+ <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="const 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="NetUtilsSetSocketTos" cname="gst_net_utils_set_socket_tos" shared="true" version="1.18">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter name="socket" type="GSocket*" />
+ <parameter name="qos_dscp" type="gint" />
+ </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="gstpbutils-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="private" writeable="false" readable="false" 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" />
+ <property name="UseCache" cname="use-cache" type="gboolean" 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 allow-none="1" 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 allow-none="1" 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" version="1.12">
+ <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="GetSingleSegment" cname="gst_encoding_profile_get_single_segment" version="1.18">
+ <return-type type="gboolean" />
+ <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 allow-none="1" name="description" type="const-gchar*" />
+ </parameters>
+ </method>
+ <method name="SetEnabled" cname="gst_encoding_profile_set_enabled" version="1.6">
+ <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 allow-none="1" 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 allow-none="1" name="preset_name" type="const-gchar*" />
+ </parameters>
+ </method>
+ <method name="SetRestriction" cname="gst_encoding_profile_set_restriction">
+ <return-type type="void" />
+ <parameters>
+ <parameter allow-none="1" name="restriction" type="GstCaps*" owned="true">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="SetSingleSegment" cname="gst_encoding_profile_set_single_segment" version="1.18">
+ <return-type type="void" />
+ <parameters>
+ <parameter name="single_segment" type="gboolean" />
+ </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-gfilename*" />
+ <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="GetPath" cname="gst_encoding_target_get_path" version="1.18">
+ <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-gfilename*" />
+ <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" version="1.12.1">
+ <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="const 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" version="1.10">
+ <return-type type="guint" />
+ <parameters>
+ <parameter name="audio_config" type="const 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="const 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="const 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" version="1.10">
+ <return-type type="guint" />
+ <parameters>
+ <parameter name="audio_config" type="const 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="const 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="const 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="const 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" version="1.4">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter name="caps" type="GstCaps*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ <parameter name="profile_tier_level" type="const 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" version="1.4">
+ <return-type type="const-gchar*" />
+ <parameters>
+ <parameter name="profile_tier_level" type="const 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" version="1.4">
+ <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" version="1.4">
+ <return-type type="const-gchar*" />
+ <parameters>
+ <parameter name="profile_tier_level" type="const 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" version="1.4">
+ <return-type type="const-gchar*" />
+ <parameters>
+ <parameter name="profile_tier_level" type="const 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="const 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="const 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="const 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="const 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="const 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" array_len="256" />
+ </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" array_len="256" />
+ <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* const*" 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* const*" 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="2" ctype="gint" gtype="gint" name="PLUGINS_BASE_VERSION_MICRO" />
+ <constant value="19" ctype="gint" gtype="gint" name="PLUGINS_BASE_VERSION_MINOR" />
+ <constant value="0" ctype="gint" gtype="gint" name="PLUGINS_BASE_VERSION_NANO" />
+ </object>
+ </namespace>
+ <namespace name="Gst.Rtp" library="gstrtp-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_RTPFB_TYPE_TWCC" name="RtpfbTypeTwcc" value="15" />
+ <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="RTCPXRType" cname="GstRTCPXRType" type="enum" gtype="gst_rtcpxr_type_get_type" version="1.16">
+ <member cname="GST_RTCP_XR_TYPE_INVALID" name="Invalid" value="-1" />
+ <member cname="GST_RTCP_XR_TYPE_LRLE" name="Lrle" value="1" />
+ <member cname="GST_RTCP_XR_TYPE_DRLE" name="Drle" value="2" />
+ <member cname="GST_RTCP_XR_TYPE_PRT" name="Prt" value="3" />
+ <member cname="GST_RTCP_XR_TYPE_RRT" name="Rrt" value="4" />
+ <member cname="GST_RTCP_XR_TYPE_DLRR" name="Dlrr" value="5" />
+ <member cname="GST_RTCP_XR_TYPE_SSUMM" name="Ssumm" value="6" />
+ <member cname="GST_RTCP_XR_TYPE_VOIP_METRICS" name="VoipMetrics" value="7" />
+ </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_REDUNDANT" name="Redundant" value="2097152" />
+ <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="const guint8*" array="true" array_length_param_index="1" />
+ <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="IsSourceInfoEnabled" cname="gst_rtp_base_depayload_is_source_info_enabled" version="1.16">
+ <return-type type="gboolean" />
+ <parameters />
+ </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>
+ <method name="SetSourceInfoEnabled" cname="gst_rtp_base_depayload_set_source_info_enabled" version="1.16">
+ <return-type type="void" />
+ <parameters>
+ <parameter name="enable" type="gboolean" />
+ </parameters>
+ </method>
+ <property name="MaxReorder" cname="max-reorder" type="gint" readable="true" writeable="true" construct="false" construct-only="false" version="1.18" />
+ <property name="SourceInfo" cname="source-info" type="gboolean" readable="true" writeable="true" construct="false" construct-only="false" version="1.16" />
+ <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="AllocateOutputBuffer" cname="gst_rtp_base_payload_allocate_output_buffer" version="1.16">
+ <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="GetSourceCount" cname="gst_rtp_base_payload_get_source_count" version="1.16">
+ <return-type type="guint" />
+ <parameters>
+ <parameter name="buffer" type="GstBuffer*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </parameters>
+ </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="IsSourceInfoEnabled" cname="gst_rtp_base_payload_is_source_info_enabled" version="1.16">
+ <return-type type="gboolean" />
+ <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>
+ <method name="SetSourceInfoEnabled" cname="gst_rtp_base_payload_set_source_info_enabled" version="1.16">
+ <return-type type="void" />
+ <parameters>
+ <parameter name="enable" type="gboolean" />
+ </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="OnvifNoRateControl" cname="onvif-no-rate-control" type="gboolean" readable="true" writeable="true" construct="false" construct-only="false" version="1.16" />
+ <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="ScaleRtptime" cname="scale-rtptime" type="gboolean" readable="true" writeable="true" construct="false" construct-only="false" version="1.18" />
+ <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="SourceInfo" cname="source-info" type="gboolean" readable="true" writeable="true" construct="false" construct-only="false" version="1.16" />
+ <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*">
+ <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" version="1.10">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter name="data" type="const guint8*" array="true" array_length_param_index="1" />
+ <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*" array="true" array_length_param_index="1" />
+ <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" version="1.10">
+ <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" version="1.10">
+ <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" version="1.10">
+ <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*" owned="true" pass_as="out" />
+ <parameter name="fractionlost" type="guint8*" owned="true" pass_as="out" />
+ <parameter name="packetslost" type="gint32*" owned="true" pass_as="out" />
+ <parameter name="exthighestseq" type="guint32*" owned="true" pass_as="out" />
+ <parameter name="jitter" type="guint32*" owned="true" pass_as="out" />
+ <parameter name="lsr" type="guint32*" owned="true" pass_as="out" />
+ <parameter name="dlsr" type="guint32*" owned="true" pass_as="out" />
+ </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="const 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*" owned="true" pass_as="out" />
+ <parameter name="ntptime" type="guint64*" owned="true" pass_as="out" />
+ <parameter name="rtptime" type="guint32*" owned="true" pass_as="out" />
+ <parameter name="packet_count" type="guint32*" owned="true" pass_as="out" />
+ <parameter name="octet_count" type="guint32*" owned="true" pass_as="out" />
+ </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>
+ <method name="XrFirstRb" cname="gst_rtcp_packet_xr_first_rb" version="1.16">
+ <return-type type="gboolean" />
+ <parameters />
+ </method>
+ <method name="XrGetBlockLength" cname="gst_rtcp_packet_xr_get_block_length" version="1.16">
+ <return-type type="guint16" />
+ <parameters />
+ </method>
+ <method name="XrGetBlockType" cname="gst_rtcp_packet_xr_get_block_type" version="1.16">
+ <return-type type="GstRTCPXRType" />
+ <parameters />
+ </method>
+ <method name="XrGetDlrrBlock" cname="gst_rtcp_packet_xr_get_dlrr_block" version="1.16">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter name="nth" type="guint" />
+ <parameter name="ssrc" type="guint32" />
+ <parameter name="last_rr" type="guint32" />
+ <parameter name="delay" type="guint32" />
+ </parameters>
+ </method>
+ <method name="XrGetPrtBySeq" cname="gst_rtcp_packet_xr_get_prt_by_seq" version="1.16">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter name="seq" type="guint16" />
+ <parameter name="receipt_time" type="guint32" />
+ </parameters>
+ </method>
+ <method name="XrGetPrtInfo" cname="gst_rtcp_packet_xr_get_prt_info" version="1.16">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter name="ssrc" type="guint32" />
+ <parameter name="thinning" type="guint8" />
+ <parameter name="begin_seq" type="guint16" />
+ <parameter name="end_seq" type="guint16" />
+ </parameters>
+ </method>
+ <method name="XrGetRleInfo" cname="gst_rtcp_packet_xr_get_rle_info" version="1.16">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter name="ssrc" type="guint32" />
+ <parameter name="thinning" type="guint8" />
+ <parameter name="begin_seq" type="guint16" />
+ <parameter name="end_seq" type="guint16" />
+ <parameter name="chunk_count" type="guint32" />
+ </parameters>
+ </method>
+ <method name="XrGetRleNthChunk" cname="gst_rtcp_packet_xr_get_rle_nth_chunk" version="1.16">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter name="nth" type="guint" />
+ <parameter name="chunk" type="guint16" />
+ </parameters>
+ </method>
+ <method name="XrGetRrt" cname="gst_rtcp_packet_xr_get_rrt" version="1.16">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter name="timestamp" type="guint64" />
+ </parameters>
+ </method>
+ <method name="XrGetSsrc" cname="gst_rtcp_packet_xr_get_ssrc" version="1.16">
+ <return-type type="guint32" />
+ <parameters />
+ </method>
+ <method name="XrGetSummaryInfo" cname="gst_rtcp_packet_xr_get_summary_info" version="1.16">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter name="ssrc" type="guint32" />
+ <parameter name="begin_seq" type="guint16" />
+ <parameter name="end_seq" type="guint16" />
+ </parameters>
+ </method>
+ <method name="XrGetSummaryJitter" cname="gst_rtcp_packet_xr_get_summary_jitter" version="1.16">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter name="min_jitter" type="guint32" />
+ <parameter name="max_jitter" type="guint32" />
+ <parameter name="mean_jitter" type="guint32" />
+ <parameter name="dev_jitter" type="guint32" />
+ </parameters>
+ </method>
+ <method name="XrGetSummaryPkt" cname="gst_rtcp_packet_xr_get_summary_pkt" version="1.16">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter name="lost_packets" type="guint32" />
+ <parameter name="dup_packets" type="guint32" />
+ </parameters>
+ </method>
+ <method name="XrGetSummaryTtl" cname="gst_rtcp_packet_xr_get_summary_ttl" version="1.16">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter name="is_ipv4" type="gboolean" />
+ <parameter name="min_ttl" type="guint8" />
+ <parameter name="max_ttl" type="guint8" />
+ <parameter name="mean_ttl" type="guint8" />
+ <parameter name="dev_ttl" type="guint8" />
+ </parameters>
+ </method>
+ <method name="XrGetVoipBurstMetrics" cname="gst_rtcp_packet_xr_get_voip_burst_metrics" version="1.16">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter name="burst_density" type="guint8" />
+ <parameter name="gap_density" type="guint8" />
+ <parameter name="burst_duration" type="guint16" />
+ <parameter name="gap_duration" type="guint16" />
+ </parameters>
+ </method>
+ <method name="XrGetVoipConfigurationParams" cname="gst_rtcp_packet_xr_get_voip_configuration_params" version="1.16">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter name="gmin" type="guint8" />
+ <parameter name="rx_config" type="guint8" />
+ </parameters>
+ </method>
+ <method name="XrGetVoipDelayMetrics" cname="gst_rtcp_packet_xr_get_voip_delay_metrics" version="1.16">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter name="roundtrip_delay" type="guint16" />
+ <parameter name="end_system_delay" type="guint16" />
+ </parameters>
+ </method>
+ <method name="XrGetVoipJitterBufferParams" cname="gst_rtcp_packet_xr_get_voip_jitter_buffer_params" version="1.16">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter name="jb_nominal" type="guint16" />
+ <parameter name="jb_maximum" type="guint16" />
+ <parameter name="jb_abs_max" type="guint16" />
+ </parameters>
+ </method>
+ <method name="XrGetVoipMetricsSsrc" cname="gst_rtcp_packet_xr_get_voip_metrics_ssrc" version="1.16">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter name="ssrc" type="guint32" />
+ </parameters>
+ </method>
+ <method name="XrGetVoipPacketMetrics" cname="gst_rtcp_packet_xr_get_voip_packet_metrics" version="1.16">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter name="loss_rate" type="guint8" />
+ <parameter name="discard_rate" type="guint8" />
+ </parameters>
+ </method>
+ <method name="XrGetVoipQualityMetrics" cname="gst_rtcp_packet_xr_get_voip_quality_metrics" version="1.16">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter name="r_factor" type="guint8" />
+ <parameter name="ext_r_factor" type="guint8" />
+ <parameter name="mos_lq" type="guint8" />
+ <parameter name="mos_cq" type="guint8" />
+ </parameters>
+ </method>
+ <method name="XrGetVoipSignalMetrics" cname="gst_rtcp_packet_xr_get_voip_signal_metrics" version="1.16">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter name="signal_level" type="guint8" />
+ <parameter name="noise_level" type="guint8" />
+ <parameter name="rerl" type="guint8" />
+ <parameter name="gmin" type="guint8" />
+ </parameters>
+ </method>
+ <method name="XrNextRb" cname="gst_rtcp_packet_xr_next_rb" version="1.16">
+ <return-type type="gboolean" />
+ <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*" array_index="1">
+ <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="4" />
+ <field cname="data" access="public" writeable="true" readable="true" is_callback="false" name="Data" type="gpointer" array_index="3" array="true" array_len="4" />
+ <field cname="size" access="public" writeable="true" readable="true" is_callback="false" name="Size" type="gsize" array_index="4" 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*" owned="true" pass_as="ref" />
+ <parameter name="timestamp" type="guint32" />
+ </parameters>
+ </method>
+ <method name="GetExtensionOnebyteHeaderFromBytes" cname="gst_rtp_buffer_get_extension_onebyte_header_from_bytes" shared="true" version="1.18" hidden="true">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter name="bytes" type="GBytes*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ <parameter name="bit_pattern" type="guint16" />
+ <parameter name="id" type="guint8" />
+ <parameter name="nth" type="guint" />
+ <parameter name="data" type="gpointer*" pass_as="out" array="true" array_length_param_index="5" />
+ <parameter name="size" type="guint*" owned="true" pass_as="out" array_index="4" />
+ </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>
+ <struct name="RTPSourceMeta" cname="GstRTPSourceMeta" opaque="false" hidden="false" version="1.16">
+ <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="ssrc" access="public" writeable="true" readable="true" is_callback="false" name="Ssrc" type="guint32" />
+ <field cname="ssrc_valid" access="public" writeable="true" readable="true" is_callback="false" name="SsrcValid" type="gboolean" />
+ <field cname="csrc" access="public" writeable="true" readable="true" is_callback="false" name="Csrc" type="guint32" array="true" array_len="15" />
+ <field cname="csrc_count" access="public" writeable="true" readable="true" is_callback="false" name="CsrcCount" type="guint" />
+ <method name="AppendCsrc" cname="gst_rtp_source_meta_append_csrc" version="1.16">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter name="csrc" type="guint32" />
+ <parameter name="csrc_count" type="guint" />
+ </parameters>
+ </method>
+ <method name="GetSourceCount" cname="gst_rtp_source_meta_get_source_count" version="1.16">
+ <return-type type="guint" />
+ <parameters />
+ </method>
+ <method name="SetSsrc" cname="gst_rtp_source_meta_set_ssrc" version="1.16">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter allow-none="1" name="ssrc" type="guint32" />
+ </parameters>
+ </method>
+ <method name="GetInfo" cname="gst_rtp_source_meta_get_info" shared="true">
+ <return-type type="GstMetaInfo*">
+ <warning>missing glib:type-name</warning>
+ </return-type>
+ </method>
+ </struct>
+ <object name="Global" cname="GstRtpGlobal" opaque="true">
+ <method name="BufferAddRtpSourceMeta" cname="gst_buffer_add_rtp_source_meta" shared="true" version="1.16">
+ <return-type type="GstRTPSourceMeta*">
+ <warning>missing glib:type-name</warning>
+ </return-type>
+ <parameters>
+ <parameter name="buffer" type="GstBuffer*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ <parameter allow-none="1" name="ssrc" type="guint32" />
+ <parameter allow-none="1" name="csrc" type="guint32" />
+ <parameter name="csrc_count" type="guint" />
+ </parameters>
+ </method>
+ <method name="BufferGetRtpSourceMeta" cname="gst_buffer_get_rtp_source_meta" shared="true" version="1.16">
+ <return-type type="GstRTPSourceMeta*">
+ <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="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*" owned="true" pass_as="ref" />
+ <parameter name="timestamp" type="guint32" />
+ </parameters>
+ </method>
+ <method name="RtpBufferGetExtensionOnebyteHeaderFromBytes" cname="gst_rtp_buffer_get_extension_onebyte_header_from_bytes" shared="true" version="1.18" hidden="true">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter name="bytes" type="GBytes*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ <parameter name="bit_pattern" type="guint16" />
+ <parameter name="id" type="guint8" />
+ <parameter name="nth" type="guint" />
+ <parameter name="data" type="gpointer*" pass_as="out" array="true" array_length_param_index="5" />
+ <parameter name="size" type="guint*" owned="true" pass_as="out" array_index="4" />
+ </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 name="data" type="gpointer" array="true" array_length_param_index="1" />
+ <parameter name="size" type="guint" />
+ <parameter name="ntptime" type="guint64*" owned="true" pass_as="out" />
+ </parameters>
+ </method>
+ <method name="RtpHdrextGetNtp64" cname="gst_rtp_hdrext_get_ntp_64" shared="true">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter name="data" type="gpointer" array="true" array_length_param_index="1" />
+ <parameter name="size" type="guint" />
+ <parameter name="ntptime" type="guint64*" owned="true" pass_as="out" />
+ </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>
+ <method name="RtpSourceMetaApiGetType" cname="gst_rtp_source_meta_api_get_type" shared="true">
+ <return-type type="GType" />
+ </method>
+ <method name="RtpSourceMetaGetInfo" cname="gst_rtp_source_meta_get_info" shared="true">
+ <return-type type="GstMetaInfo*">
+ <warning>missing glib:type-name</warning>
+ </return-type>
+ </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="200" 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="15" ctype="gint" gtype="gint" name="RTP_SOURCE_META_MAX_CSRC_COUNT" />
+ <constant value="2" ctype="gint" gtype="gint" name="RTP_VERSION" />
+ </object>
+ </namespace>
+ <namespace name="Gst.Rtsp" library="gstrtsp-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_FRAMES" name="Frames" value="87" />
+ <member cname="GST_RTSP_HDR_RATE_CONTROL" name="RateControl" value="88" />
+ <member cname="GST_RTSP_HDR_LAST" name="Last" value="89" />
+ </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" version="1.12">
+ <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" version="1.12">
+ <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" deprecated="true" deprecated-version="1.18">
+ <return-type type="GstRTSPResult" />
+ <parameters>
+ <parameter name="timeout" type="GTimeVal*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="ConnectUsec" cname="gst_rtsp_connection_connect_usec" version="1.18">
+ <return-type type="GstRTSPResult" />
+ <parameters>
+ <parameter name="timeout" type="gint64" />
+ </parameters>
+ </method>
+ <method name="ConnectWithResponse" cname="gst_rtsp_connection_connect_with_response" version="1.8" deprecated="true" deprecated-version="1.18">
+ <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="ConnectWithResponseUsec" cname="gst_rtsp_connection_connect_with_response_usec" version="1.18">
+ <return-type type="GstRTSPResult" />
+ <parameters>
+ <parameter name="timeout" type="gint64" />
+ <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" deprecated="true" deprecated-version="1.18">
+ <return-type type="GstRTSPResult" />
+ <parameters>
+ <parameter name="timeout" type="GTimeVal*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="NextTimeoutUsec" cname="gst_rtsp_connection_next_timeout_usec" version="1.18">
+ <return-type type="gint64" />
+ <parameters />
+ </method>
+ <method name="Poll" cname="gst_rtsp_connection_poll" deprecated="true" deprecated-version="1.18">
+ <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="PollUsec" cname="gst_rtsp_connection_poll_usec" version="1.18">
+ <return-type type="GstRTSPResult" />
+ <parameters>
+ <parameter name="events" type="GstRTSPEvent" />
+ <parameter name="revents" type="GstRTSPEvent" />
+ <parameter name="timeout" type="gint64" />
+ </parameters>
+ </method>
+ <method name="Read" cname="gst_rtsp_connection_read" deprecated="true" deprecated-version="1.18">
+ <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="ReadUsec" cname="gst_rtsp_connection_read_usec" version="1.18">
+ <return-type type="GstRTSPResult" />
+ <parameters>
+ <parameter name="data" type="guint8" />
+ <parameter name="size" type="guint" />
+ <parameter name="timeout" type="gint64" />
+ </parameters>
+ </method>
+ <method name="Receive" cname="gst_rtsp_connection_receive" deprecated="true" deprecated-version="1.18">
+ <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="ReceiveUsec" cname="gst_rtsp_connection_receive_usec" version="1.18">
+ <return-type type="GstRTSPResult" />
+ <parameters>
+ <parameter name="message" type="GstRTSPMessage*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ <parameter name="timeout" type="gint64" />
+ </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" deprecated="true" deprecated-version="1.18">
+ <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="SendMessages" cname="gst_rtsp_connection_send_messages" version="1.16" deprecated="true" deprecated-version="1.18">
+ <return-type type="GstRTSPResult" />
+ <parameters>
+ <parameter name="messages" type="GstRTSPMessage*" array="true" array_length_param_index="1" />
+ <parameter name="n_messages" type="guint" />
+ <parameter name="timeout" type="GTimeVal*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="SendMessagesUsec" cname="gst_rtsp_connection_send_messages_usec" version="1.18">
+ <return-type type="GstRTSPResult" />
+ <parameters>
+ <parameter name="messages" type="GstRTSPMessage*" array="true" array_length_param_index="1" />
+ <parameter name="n_messages" type="guint" />
+ <parameter name="timeout" type="gint64" />
+ </parameters>
+ </method>
+ <method name="SendUsec" cname="gst_rtsp_connection_send_usec" version="1.18">
+ <return-type type="GstRTSPResult" />
+ <parameters>
+ <parameter name="message" type="GstRTSPMessage*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ <parameter name="timeout" type="gint64" />
+ </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="SetContentLengthLimit" cname="gst_rtsp_connection_set_content_length_limit" version="1.18">
+ <return-type type="void" />
+ <parameters>
+ <parameter name="limit" type="guint" />
+ </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" deprecated="true" deprecated-version="1.18">
+ <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="WriteUsec" cname="gst_rtsp_connection_write_usec" version="1.18">
+ <return-type type="GstRTSPResult" />
+ <parameters>
+ <parameter name="data" type="guint8" />
+ <parameter name="size" type="guint" />
+ <parameter name="timeout" type="gint64" />
+ </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="body_buffer" access="private" writeable="false" readable="false" is_callback="false" name="BodyBuffer" type="GstBuffer*">
+ <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" />
+ <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="GetBodyBuffer" cname="gst_rtsp_message_get_body_buffer" version="1.16">
+ <return-type type="GstRTSPResult" />
+ <parameters>
+ <parameter name="buffer" type="GstBuffer**" pass_as="out">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </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="HasBodyBuffer" cname="gst_rtsp_message_has_body_buffer" version="1.16">
+ <return-type type="gboolean" />
+ <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" hidden="true">
+ <return-type type="GstRTSPAuthCredential***" owned="true" array="true" null_term_array="true" />
+ <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="const-gchar*" pass_as="out" />
+ <parameter allow-none="1" name="version" type="GstRTSPVersion" 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="const-gchar*" pass_as="out" />
+ <parameter allow-none="1" name="version" type="GstRTSPVersion" 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="const guint8*" array="true" array_length_param_index="1" />
+ <parameter name="size" type="guint" />
+ </parameters>
+ </method>
+ <method name="SetBodyBuffer" cname="gst_rtsp_message_set_body_buffer" version="1.16">
+ <return-type type="GstRTSPResult" />
+ <parameters>
+ <parameter name="buffer" type="GstBuffer*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </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="StealBodyBuffer" cname="gst_rtsp_message_steal_body_buffer" version="1.16">
+ <return-type type="GstRTSPResult" />
+ <parameters>
+ <parameter name="buffer" type="GstBuffer**" owned="true" pass_as="out">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </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="TakeBodyBuffer" cname="gst_rtsp_message_take_body_buffer" version="1.16">
+ <return-type type="GstRTSPResult" />
+ <parameters>
+ <parameter name="buffer" type="GstBuffer*" owned="true">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </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" owned="true" pass_as="out" />
+ <parameter name="max" type="guint64" owned="true" pass_as="out" />
+ </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**" owned="true" pass_as="out">
+ <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*" pass_as="out" />
+ <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*" owned="true" pass_as="out" />
+ </parameters>
+ </method>
+ <method name="GetRequestUri" cname="gst_rtsp_url_get_request_uri">
+ <return-type type="gchar*" owned="true" />
+ <parameters />
+ </method>
+ <method name="GetRequestUriWithControl" cname="gst_rtsp_url_get_request_uri_with_control" version="1.18">
+ <return-type type="gchar*" owned="true" />
+ <parameters>
+ <parameter name="control_path" type="const-gchar*" />
+ </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="SendMessages" cname="gst_rtsp_watch_send_messages" version="1.16">
+ <return-type type="GstRTSPResult" />
+ <parameters>
+ <parameter name="messages" type="GstRTSPMessage*" array="true" array_length_param_index="1" />
+ <parameter name="n_messages" type="guint" />
+ <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" deprecated="true" deprecated-version="1.18">
+ <return-type type="GstRTSPResult" />
+ <parameters>
+ <parameter name="timeout" type="GTimeVal*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="WaitBacklogUsec" cname="gst_rtsp_watch_wait_backlog_usec" version="1.18">
+ <return-type type="GstRTSPResult" />
+ <parameters>
+ <parameter name="timeout" type="gint64" />
+ </parameters>
+ </method>
+ <method name="WriteData" cname="gst_rtsp_watch_write_data">
+ <return-type type="GstRTSPResult" />
+ <parameters>
+ <parameter name="data" type="const 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="RtspGenerateDigestAuthResponseFromMd5" cname="gst_rtsp_generate_digest_auth_response_from_md5" shared="true" version="1.16">
+ <return-type type="gchar*" owned="true" />
+ <parameters>
+ <parameter allow-none="1" name="algorithm" type="const-gchar*" />
+ <parameter name="method" type="const-gchar*" />
+ <parameter name="md5" 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" owned="true" pass_as="out" />
+ <parameter name="max" type="guint64" owned="true" pass_as="out" />
+ </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**" owned="true" pass_as="out">
+ <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*" pass_as="out" />
+ <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="gstsdp-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" />
+ <member cname="GST_MIKEY_ENC_AES_GCM_128" name="AesGcm128" value="6" />
+ </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" />
+ <member cname="GST_MIKEY_SP_SRTP_AEAD_AUTH_TAG_LEN" name="AeadAuthTagLen" value="20" />
+ </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" 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="const 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="const 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="const 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="3" 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" />
+ <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="const 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="const 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="const 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="const 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="const 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="const 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="const 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="const 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="const 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="true" 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="NewFromText" cname="gst_sdp_message_new_from_text" shared="true" version="1.16">
+ <return-type type="GstSDPResult" />
+ <parameters>
+ <parameter name="text" type="const-gchar*" />
+ <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="const 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="SdpMessageNewFromText" cname="gst_sdp_message_new_from_text" shared="true" version="1.16">
+ <return-type type="GstSDPResult" />
+ <parameters>
+ <parameter name="text" type="const-gchar*" />
+ <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="const 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="gsttag-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="chromaprint-fingerprint" ctype="gchar*" gtype="gchar*" name="TAG_ACOUSTID_FINGERPRINT" version="1.18" />
+ <constant value="acoustid-id" ctype="gchar*" gtype="gchar*" name="TAG_ACOUSTID_ID" version="1.18" />
+ <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-releasegroupid" ctype="gchar*" gtype="gchar*" name="TAG_MUSICBRAINZ_RELEASEGROUPID" version="1.18" />
+ <constant value="musicbrainz-releasetrackid" ctype="gchar*" gtype="gchar*" name="TAG_MUSICBRAINZ_RELEASETRACKID" version="1.18" />
+ <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="gstvideo-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" />
+ <member cname="GST_NAVIGATION_EVENT_MOUSE_SCROLL" name="MouseScroll" value="7" />
+ </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="VideoAFDSpec" cname="GstVideoAFDSpec" type="enum" gtype="gst_video_afd_spec_get_type" version="1.18">
+ <member cname="GST_VIDEO_AFD_SPEC_DVB_ETSI" name="DvbEtsi" value="0" />
+ <member cname="GST_VIDEO_AFD_SPEC_ATSC_A53" name="AtscA53" value="1" />
+ <member cname="GST_VIDEO_AFD_SPEC_SMPTE_ST2016_1" name="SmpteSt20161" value="2" />
+ </enum>
+ <enum name="VideoAFDValue" cname="GstVideoAFDValue" type="enum" gtype="gst_video_afd_value_get_type" version="1.18">
+ <member cname="GST_VIDEO_AFD_UNAVAILABLE" name="Unavailable" value="0" />
+ <member cname="GST_VIDEO_AFD_16_9_TOP_ALIGNED" name="_16169TopAligned" value="2" />
+ <member cname="GST_VIDEO_AFD_14_9_TOP_ALIGNED" name="_14149TopAligned" value="3" />
+ <member cname="GST_VIDEO_AFD_GREATER_THAN_16_9" name="GreaterThan169" value="4" />
+ <member cname="GST_VIDEO_AFD_4_3_FULL_16_9_FULL" name="_443Full169Full" value="8" />
+ <member cname="GST_VIDEO_AFD_4_3_FULL_4_3_PILLAR" name="_443Full43Pillar" value="9" />
+ <member cname="GST_VIDEO_AFD_16_9_LETTER_16_9_FULL" name="_16169Letter169Full" value="10" />
+ <member cname="GST_VIDEO_AFD_14_9_LETTER_14_9_PILLAR" name="_14149Letter149Pillar" value="11" />
+ <member cname="GST_VIDEO_AFD_4_3_FULL_14_9_CENTER" name="_443Full149Center" value="13" />
+ <member cname="GST_VIDEO_AFD_16_9_LETTER_14_9_CENTER" name="_16169Letter149Center" value="14" />
+ <member cname="GST_VIDEO_AFD_16_9_LETTER_4_3_CENTER" name="_16169Letter43Center" value="15" />
+ </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="VideoAncillaryDID" cname="GstVideoAncillaryDID" type="enum" gtype="gst_video_ancillary_did_get_type" version="1.16">
+ <member cname="GST_VIDEO_ANCILLARY_DID_UNDEFINED" name="Undefined" value="0" />
+ <member cname="GST_VIDEO_ANCILLARY_DID_DELETION" name="Deletion" value="128" />
+ <member cname="GST_VIDEO_ANCILLARY_DID_HANC_3G_AUDIO_DATA_FIRST" name="Hanc3gAudioDataFirst" value="160" />
+ <member cname="GST_VIDEO_ANCILLARY_DID_HANC_3G_AUDIO_DATA_LAST" name="Hanc3gAudioDataLast" value="167" />
+ <member cname="GST_VIDEO_ANCILLARY_DID_HANC_HDTV_AUDIO_DATA_FIRST" name="HancHdtvAudioDataFirst" value="224" />
+ <member cname="GST_VIDEO_ANCILLARY_DID_HANC_HDTV_AUDIO_DATA_LAST" name="HancHdtvAudioDataLast" value="231" />
+ <member cname="GST_VIDEO_ANCILLARY_DID_HANC_SDTV_AUDIO_DATA_1_FIRST" name="HancSdtvAudioData1First" value="236" />
+ <member cname="GST_VIDEO_ANCILLARY_DID_HANC_SDTV_AUDIO_DATA_1_LAST" name="HancSdtvAudioData1Last" value="239" />
+ <member cname="GST_VIDEO_ANCILLARY_DID_CAMERA_POSITION" name="CameraPosition" value="240" />
+ <member cname="GST_VIDEO_ANCILLARY_DID_HANC_ERROR_DETECTION" name="HancErrorDetection" value="244" />
+ <member cname="GST_VIDEO_ANCILLARY_DID_HANC_SDTV_AUDIO_DATA_2_FIRST" name="HancSdtvAudioData2First" value="248" />
+ <member cname="GST_VIDEO_ANCILLARY_DID_HANC_SDTV_AUDIO_DATA_2_LAST" name="HancSdtvAudioData2Last" value="255" />
+ </enum>
+ <enum name="VideoAncillaryDID16" cname="GstVideoAncillaryDID16" type="enum" gtype="gst_video_ancillary_di_d16_get_type" version="1.16">
+ <member cname="GST_VIDEO_ANCILLARY_DID16_S2016_3_AFD_BAR" name="S20163AfdBar" value="16645" />
+ <member cname="GST_VIDEO_ANCILLARY_DID16_S334_EIA_708" name="S334Eia708" value="24833" />
+ <member cname="GST_VIDEO_ANCILLARY_DID16_S334_EIA_608" name="S334Eia608" value="24834" />
+ </enum>
+ <enum name="VideoCaptionType" cname="GstVideoCaptionType" type="enum" gtype="gst_video_caption_type_get_type" version="1.16">
+ <member cname="GST_VIDEO_CAPTION_TYPE_UNKNOWN" name="Unknown" value="0" />
+ <member cname="GST_VIDEO_CAPTION_TYPE_CEA608_RAW" name="Cea608Raw" value="1" />
+ <member cname="GST_VIDEO_CAPTION_TYPE_CEA608_S334_1A" name="Cea608S3341a" value="2" />
+ <member cname="GST_VIDEO_CAPTION_TYPE_CEA708_RAW" name="Cea708Raw" value="3" />
+ <member cname="GST_VIDEO_CAPTION_TYPE_CEA708_CDP" name="Cea708Cdp" value="4" />
+ </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" />
+ <member cname="GST_VIDEO_COLOR_PRIMARIES_SMPTEST428" name="Smptest428" value="9" />
+ <member cname="GST_VIDEO_COLOR_PRIMARIES_SMPTERP431" name="Smpterp431" value="10" />
+ <member cname="GST_VIDEO_COLOR_PRIMARIES_SMPTEEG432" name="Smpteeg432" value="11" />
+ <member cname="GST_VIDEO_COLOR_PRIMARIES_EBU3213" name="Ebu3213" value="12" />
+ </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" />
+ <member cname="GST_VIDEO_FORMAT_GRAY10_LE32" name="Gray10Le32" value="78" />
+ <member cname="GST_VIDEO_FORMAT_NV12_10LE32" name="Nv1210le32" value="79" />
+ <member cname="GST_VIDEO_FORMAT_NV16_10LE32" name="Nv1610le32" value="80" />
+ <member cname="GST_VIDEO_FORMAT_NV12_10LE40" name="Nv1210le40" value="81" />
+ <member cname="GST_VIDEO_FORMAT_Y210" name="Y210" value="82" />
+ <member cname="GST_VIDEO_FORMAT_Y410" name="Y410" value="83" />
+ <member cname="GST_VIDEO_FORMAT_VUYA" name="Vuya" value="84" />
+ <member cname="GST_VIDEO_FORMAT_BGR10A2_LE" name="Bgr10a2Le" value="85" />
+ <member cname="GST_VIDEO_FORMAT_RGB10A2_LE" name="Rgb10a2Le" value="86" />
+ <member cname="GST_VIDEO_FORMAT_Y444_16BE" name="Y44416be" value="87" />
+ <member cname="GST_VIDEO_FORMAT_Y444_16LE" name="Y44416le" value="88" />
+ <member cname="GST_VIDEO_FORMAT_P016_BE" name="P016Be" value="89" />
+ <member cname="GST_VIDEO_FORMAT_P016_LE" name="P016Le" value="90" />
+ <member cname="GST_VIDEO_FORMAT_P012_BE" name="P012Be" value="91" />
+ <member cname="GST_VIDEO_FORMAT_P012_LE" name="P012Le" value="92" />
+ <member cname="GST_VIDEO_FORMAT_Y212_BE" name="Y212Be" value="93" />
+ <member cname="GST_VIDEO_FORMAT_Y212_LE" name="Y212Le" value="94" />
+ <member cname="GST_VIDEO_FORMAT_Y412_BE" name="Y412Be" value="95" />
+ <member cname="GST_VIDEO_FORMAT_Y412_LE" name="Y412Le" value="96" />
+ <member cname="GST_VIDEO_FORMAT_NV12_4L4" name="Nv124l4" value="97" />
+ <member cname="GST_VIDEO_FORMAT_NV12_32L32" name="Nv1232l32" value="98" />
+ </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" />
+ <member cname="GST_VIDEO_INTERLACE_MODE_ALTERNATE" name="Alternate" value="4" />
+ </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="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" />
+ <member cname="GST_VIDEO_TILE_MODE_LINEAR" name="Linear" value="131072" />
+ </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" />
+ <member cname="GST_VIDEO_TRANSFER_BT2020_10" name="Bt202010" value="13" />
+ <member cname="GST_VIDEO_TRANSFER_SMPTE2084" name="Smpte2084" value="14" />
+ <member cname="GST_VIDEO_TRANSFER_ARIB_STD_B67" name="AribStdB67" value="15" />
+ <member cname="GST_VIDEO_TRANSFER_BT601" name="Bt601" value="16" />
+ </enum>
+ <enum name="VideoVBIParserResult" cname="GstVideoVBIParserResult" type="enum" gtype="gst_video_vbi_parser_result_get_type" version="1.16">
+ <member cname="GST_VIDEO_VBI_PARSER_RESULT_DONE" name="Done" value="0" />
+ <member cname="GST_VIDEO_VBI_PARSER_RESULT_OK" name="Ok" value="1" />
+ <member cname="GST_VIDEO_VBI_PARSER_RESULT_ERROR" name="Error" value="2" />
+ </enum>
+ <enum name="VideoBufferFlags" cname="GstVideoBufferFlags" type="flags" gtype="gst_video_buffer_flags_get_type">
+ <member cname="GST_VIDEO_BUFFER_FLAG_MARKER" name="Marker" value="512" />
+ <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_BOTTOM_FIELD" name="BottomField" value="8388608" />
+ <member cname="GST_VIDEO_BUFFER_FLAG_TOP_FIELD" name="TopField" value="10485760" />
+ <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" />
+ <member cname="GST_VIDEO_CODEC_FRAME_FLAG_CORRUPTED" name="Corrupted" value="16" />
+ </enum>
+ <enum name="VideoDecoderRequestSyncPointFlags" cname="GstVideoDecoderRequestSyncPointFlags" type="flags" version="1.20">
+ <member cname="GST_VIDEO_DECODER_REQUEST_SYNC_POINT_DISCARD_INPUT" name="DiscardInput" value="1" />
+ <member cname="GST_VIDEO_DECODER_REQUEST_SYNC_POINT_CORRUPT_OUTPUT" name="CorruptOutput" value="2" />
+ </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_BOTTOM_FIELD" name="BottomField" value="8" />
+ <member cname="GST_VIDEO_FRAME_FLAG_TOP_FIELD" name="TopField" value="10" />
+ <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="VideoOverlayFormatFlags" cname="GstVideoOverlayFormatFlags" type="flags" gtype="gst_video_overlay_format_flags_get_type">
+ <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="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" gtype="gst_video_time_code_flags_get_type" 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="EventParseMouseScrollEvent" cname="gst_navigation_event_parse_mouse_scroll_event" shared="true" version="1.18">
+ <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" />
+ <parameter allow-none="1" name="delta_x" type="gdouble*" owned="true" pass_as="out" />
+ <parameter allow-none="1" name="delta_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>
+ <method name="SendMouseScrollEvent" cname="gst_navigation_send_mouse_scroll_event" version="1.18">
+ <return-type type="void" />
+ <parameters>
+ <parameter name="x" type="gdouble" />
+ <parameter name="y" type="gdouble" />
+ <parameter name="delta_x" type="gdouble" />
+ <parameter name="delta_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*" owned="true" pass_as="out" />
+ </parameters>
+ </virtual_method>
+ <virtual_method name="GetHflip" cname="get_hflip">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter name="flip" type="gboolean*" owned="true" pass_as="out" />
+ </parameters>
+ </virtual_method>
+ <virtual_method name="GetVcenter" cname="get_vcenter">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter name="center" type="gint*" owned="true" pass_as="out" />
+ </parameters>
+ </virtual_method>
+ <virtual_method name="GetVflip" cname="get_vflip">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter name="flip" type="gboolean*" owned="true" pass_as="out" />
+ </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*" owned="true" pass_as="out" />
+ </parameters>
+ </method>
+ <method name="GetHflip" cname="gst_video_orientation_get_hflip">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter name="flip" type="gboolean*" owned="true" pass_as="out" />
+ </parameters>
+ </method>
+ <method name="GetVcenter" cname="gst_video_orientation_get_vcenter">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter name="center" type="gint*" owned="true" pass_as="out" />
+ </parameters>
+ </method>
+ <method name="GetVflip" cname="gst_video_orientation_get_vflip">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter name="flip" type="gboolean*" owned="true" pass_as="out" />
+ </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>
+ <method name="InstallProperties" cname="gst_video_overlay_install_properties" shared="true" version="1.14" hidden="true">
+ <return-type type="void" />
+ <parameters>
+ <parameter name="oclass" type="GObjectClass*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ <parameter name="last_prop_id" type="gint" />
+ </parameters>
+ </method>
+ <method name="SetProperty" cname="gst_video_overlay_set_property" shared="true" version="1.14">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter name="_object" type="GObject*" />
+ <parameter name="last_prop_id" type="gint" />
+ <parameter name="property_id" type="guint" />
+ <parameter name="value" type="GValue*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </parameters>
+ </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="VideoAggregator" cname="GstVideoAggregator" defaultconstructoraccess="protected" opaque="false" hidden="false" parent="GstAggregator" version="1.16">
+ <class_struct cname="GstVideoAggregatorClass" version="1.16">
+ <field cname="parent_class" access="private" writeable="false" readable="false" is_callback="false" name="ParentClass" type="GstAggregatorClass">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <method vm="update_caps" />
+ <method vm="aggregate_frames" />
+ <method vm="create_output_buffer" />
+ <method vm="find_best_format" />
+ <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_video_aggregator_get_type" shared="true">
+ <return-type type="GType" />
+ </method>
+ <virtual_method name="AggregateFrames" cname="aggregate_frames">
+ <return-type type="GstFlowReturn" />
+ <parameters>
+ <parameter name="outbuffer" type="GstBuffer*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </parameters>
+ </virtual_method>
+ <virtual_method name="CreateOutputBuffer" cname="create_output_buffer">
+ <return-type type="GstFlowReturn" />
+ <parameters>
+ <parameter name="outbuffer" type="GstBuffer**">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </parameters>
+ </virtual_method>
+ <virtual_method name="FindBestFormat" cname="find_best_format">
+ <return-type type="void" />
+ <parameters>
+ <parameter name="downstream_caps" type="GstCaps*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ <parameter name="best_info" type="GstVideoInfo*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ <parameter name="at_least_one_alpha" type="gboolean" />
+ </parameters>
+ </virtual_method>
+ <virtual_method name="UpdateCaps" cname="update_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>
+ <field cname="aggregator" access="public" writeable="false" readable="true" is_callback="false" name="Aggregator" type="GstAggregator*" />
+ <field cname="info" access="public" writeable="false" readable="true" is_callback="false" name="Info" type="GstVideoInfo">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GstVideoAggregatorPrivate*">
+ <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="VideoAggregatorConvertPad" cname="GstVideoAggregatorConvertPad" opaque="false" hidden="false" parent="GstVideoAggregatorPad" version="1.16">
+ <class_struct cname="GstVideoAggregatorConvertPadClass" version="1.16">
+ <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GstVideoAggregatorPadClass">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <method vm="create_conversion_info" />
+ <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_aggregator_convert_pad_get_type" shared="true">
+ <return-type type="GType" />
+ </method>
+ <virtual_method name="CreateConversionInfo" cname="create_conversion_info">
+ <return-type type="void" />
+ <parameters>
+ <parameter name="agg" type="GstVideoAggregator*" />
+ <parameter name="conversion_info" type="GstVideoInfo*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </parameters>
+ </virtual_method>
+ <method name="UpdateConversionInfo" cname="gst_video_aggregator_convert_pad_update_conversion_info">
+ <return-type type="void" />
+ <parameters />
+ </method>
+ <property name="ConverterConfig" cname="converter-config" type="GstStructure*" readable="true" writeable="true" construct="false" construct-only="false" />
+ <field cname="parent" access="private" writeable="false" readable="false" is_callback="false" name="Parent" type="GstVideoAggregatorPad*" hidden="true" />
+ <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GstVideoAggregatorConvertPadPrivate*">
+ <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="VideoAggregatorPad" cname="GstVideoAggregatorPad" opaque="false" hidden="false" parent="GstAggregatorPad" version="1.16">
+ <class_struct cname="GstVideoAggregatorPadClass" version="1.16">
+ <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GstAggregatorPadClass">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <method vm="update_conversion_info" />
+ <method vm="prepare_frame" />
+ <method vm="clean_frame" />
+ <field cname="_gst_reserved" access="public" writeable="false" readable="true" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="20" padding="true" />
+ </class_struct>
+ <method name="GetType" cname="gst_video_aggregator_pad_get_type" shared="true">
+ <return-type type="GType" />
+ </method>
+ <virtual_method name="CleanFrame" cname="clean_frame">
+ <return-type type="void" />
+ <parameters>
+ <parameter name="videoaggregator" type="GstVideoAggregator*" />
+ <parameter name="prepared_frame" type="GstVideoFrame*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </parameters>
+ </virtual_method>
+ <virtual_method name="PrepareFrame" cname="prepare_frame">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter name="videoaggregator" type="GstVideoAggregator*" />
+ <parameter name="buffer" type="GstBuffer*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ <parameter name="prepared_frame" type="GstVideoFrame*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </parameters>
+ </virtual_method>
+ <virtual_method name="UpdateConversionInfo" cname="update_conversion_info">
+ <return-type type="void" />
+ <parameters />
+ </virtual_method>
+ <method name="GetCurrentBuffer" cname="gst_video_aggregator_pad_get_current_buffer">
+ <return-type type="GstBuffer*">
+ <warning>missing glib:type-name</warning>
+ </return-type>
+ <parameters />
+ </method>
+ <method name="GetPreparedFrame" cname="gst_video_aggregator_pad_get_prepared_frame">
+ <return-type type="GstVideoFrame*">
+ <warning>missing glib:type-name</warning>
+ </return-type>
+ <parameters />
+ </method>
+ <method name="HasCurrentBuffer" cname="gst_video_aggregator_pad_has_current_buffer">
+ <return-type type="gboolean" />
+ <parameters />
+ </method>
+ <method name="SetNeedsAlpha" cname="gst_video_aggregator_pad_set_needs_alpha">
+ <return-type type="void" />
+ <parameters>
+ <parameter name="needs_alpha" type="gboolean" />
+ </parameters>
+ </method>
+ <property name="MaxLastBufferRepeat" cname="max-last-buffer-repeat" type="guint64" readable="true" writeable="true" construct="false" construct-only="false" />
+ <property name="RepeatAfterEos" cname="repeat-after-eos" type="gboolean" readable="true" writeable="true" construct="false" construct-only="false" />
+ <property name="Zorder" cname="zorder" type="guint" readable="true" writeable="true" construct="false" construct-only="false" />
+ <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GstAggregatorPad*" hidden="true" />
+ <field cname="info" access="public" writeable="false" readable="true" is_callback="false" name="Info" type="GstVideoInfo">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GstVideoAggregatorPadPrivate*">
+ <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="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="GetNeedsSyncPoint" cname="gst_video_decoder_get_needs_sync_point" version="1.20">
+ <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="RequestSyncPoint" cname="gst_video_decoder_request_sync_point" version="1.20">
+ <return-type type="void" />
+ <parameters>
+ <parameter name="frame" type="GstVideoCodecFrame*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ <parameter name="flags" type="GstVideoDecoderRequestSyncPointFlags" />
+ </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="SetInterlacedOutputState" cname="gst_video_decoder_set_interlaced_output_state" version="1.16.">
+ <return-type type="GstVideoCodecState*" owned="true">
+ <warning>missing glib:type-name</warning>
+ </return-type>
+ <parameters>
+ <parameter name="fmt" type="GstVideoFormat" />
+ <parameter name="interlace_mode" type="GstVideoInterlaceMode" />
+ <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="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="SetNeedsSyncPoint" cname="gst_video_decoder_set_needs_sync_point" version="1.20">
+ <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>
+ <property name="DiscardCorruptedFrames" cname="discard-corrupted-frames" type="gboolean" readable="true" writeable="true" construct="false" construct-only="false" version="1.20" />
+ <property name="MaxErrors" cname="max-errors" type="gint" readable="true" writeable="true" construct="false" construct-only="false" version="1.18" />
+ <property name="MinForceKeyUnitInterval" cname="min-force-key-unit-interval" type="guint64" readable="true" writeable="true" construct="false" construct-only="false" version="1.20" />
+ <property name="Qos" cname="qos" type="gboolean" readable="true" writeable="true" construct="false" construct-only="false" version="1.18" />
+ <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="FinishSubframe" cname="gst_video_encoder_finish_subframe" version="1.18">
+ <return-type type="GstFlowReturn" />
+ <parameters>
+ <parameter name="frame" type="GstVideoCodecFrame*">
+ <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="GetMinForceKeyUnitInterval" cname="gst_video_encoder_get_min_force_key_unit_interval" version="1.18">
+ <return-type type="guint64" />
+ <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="SetMinForceKeyUnitInterval" cname="gst_video_encoder_set_min_force_key_unit_interval" version="1.18">
+ <return-type type="void" />
+ <parameters>
+ <parameter name="interval" type="guint64" />
+ </parameters>
+ </method>
+ <method name="SetMinPts" cname="gst_video_encoder_set_min_pts" version="1.6">
+ <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="MinForceKeyUnitInterval" cname="min-force-key-unit-interval" type="guint64" readable="true" writeable="true" construct="false" construct-only="false" version="1.18" />
+ <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="VideoAFDMeta" cname="GstVideoAFDMeta" opaque="false" hidden="false" version="1.18">
+ <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="field" access="public" writeable="true" readable="true" is_callback="false" name="Field" type="guint8" />
+ <field cname="spec" access="public" writeable="true" readable="true" is_callback="false" name="Spec" type="GstVideoAFDSpec" />
+ <field cname="afd" access="public" writeable="true" readable="true" is_callback="false" name="Afd" type="GstVideoAFDValue" />
+ <method name="GetInfo" cname="gst_video_afd_meta_get_info" shared="true">
+ <return-type type="GstMetaInfo*">
+ <warning>missing glib:type-name</warning>
+ </return-type>
+ </method>
+ </struct>
+ <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="const gfloat*" array="true" array_len="16" />
+ </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="VideoAggregatorConvertPadPrivate" cname="GstVideoAggregatorConvertPadPrivate" opaque="true" hidden="true" />
+ <struct name="VideoAggregatorPadPrivate" cname="GstVideoAggregatorPadPrivate" opaque="true" hidden="true" />
+ <struct name="VideoAggregatorPrivate" cname="GstVideoAggregatorPrivate" opaque="true" hidden="true" />
+ <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="VideoAncillary" cname="GstVideoAncillary" opaque="false" hidden="false" version="1.16">
+ <field cname="DID" access="public" writeable="true" readable="true" is_callback="false" name="DID" type="guint8" />
+ <field cname="SDID_block_number" access="public" writeable="true" readable="true" is_callback="false" name="SDIDBlockNumber" type="guint8" />
+ <field cname="data_count" access="public" writeable="true" readable="true" is_callback="false" name="DataCount" type="guint8" />
+ <field cname="data" access="public" writeable="true" readable="true" is_callback="false" name="Data" type="guint8" array="true" array_length_param_index="2" />
+ <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="VideoBarMeta" cname="GstVideoBarMeta" opaque="false" hidden="false" version="1.18">
+ <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="field" access="public" writeable="true" readable="true" is_callback="false" name="Field" type="guint8" />
+ <field cname="is_letterbox" access="public" writeable="true" readable="true" is_callback="false" name="IsLetterbox" type="gboolean" />
+ <field cname="bar_data1" access="public" writeable="true" readable="true" is_callback="false" name="BarData1" type="guint" />
+ <field cname="bar_data2" access="public" writeable="true" readable="true" is_callback="false" name="BarData2" type="guint" />
+ <method name="GetInfo" cname="gst_video_bar_meta_get_info" shared="true">
+ <return-type type="GstMetaInfo*">
+ <warning>missing glib:type-name</warning>
+ </return-type>
+ </method>
+ </struct>
+ <struct name="VideoBufferPoolPrivate" cname="GstVideoBufferPoolPrivate" opaque="true" hidden="true" />
+ <struct name="VideoCaptionMeta" cname="GstVideoCaptionMeta" opaque="false" hidden="false" version="1.16">
+ <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="caption_type" access="public" writeable="true" readable="true" is_callback="false" name="CaptionType" type="GstVideoCaptionType" />
+ <field cname="data" access="public" writeable="true" readable="true" is_callback="false" name="Data" type="guint8*" array="true" array_length_param_index="3" />
+ <field cname="size" access="public" writeable="true" readable="true" is_callback="false" name="Size" type="gsize" />
+ <method name="GetInfo" cname="gst_video_caption_meta_get_info" shared="true">
+ <return-type type="GstMetaInfo*">
+ <warning>missing glib:type-name</warning>
+ </return-type>
+ </method>
+ </struct>
+ <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="private" writeable="false" readable="false" is_callback="false" name="DecodeFrameNumber" type="guint32" />
+ <field cname="presentation_frame_number" access="private" writeable="false" readable="false" 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" />
+ <field cname="num_subframes" access="public" writeable="true" readable="true" is_callback="false" name="NumSubframes" type="guint" />
+ </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="VideoContentLightLevel" cname="GstVideoContentLightLevel" opaque="false" hidden="false" version="1.18">
+ <field cname="max_content_light_level" access="public" writeable="true" readable="true" is_callback="false" name="MaxContentLightLevel" type="guint16" />
+ <field cname="max_frame_average_light_level" access="public" writeable="true" readable="true" is_callback="false" name="MaxFrameAverageLightLevel" type="guint16" />
+ <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="AddToCaps" cname="gst_video_content_light_level_add_to_caps" version="1.18">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter name="caps" type="GstCaps*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="FromCaps" cname="gst_video_content_light_level_from_caps" version="1.18">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter name="caps" type="GstCaps*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="FromString" cname="gst_video_content_light_level_from_string" version="1.18">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter name="level" type="const-gchar*" />
+ </parameters>
+ </method>
+ <method name="Init" cname="gst_video_content_light_level_init" version="1.18">
+ <return-type type="void" />
+ <parameters />
+ </method>
+ <method name="ToString" cname="gst_video_content_light_level_to_string" version="1.18">
+ <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" />
+ <method name="Component" cname="gst_video_format_info_component" version="1.18">
+ <return-type type="void" />
+ <parameters>
+ <parameter name="plane" type="guint" />
+ <parameter name="components" type="gint*" owned="true" pass_as="out" />
+ </parameters>
+ </method>
+ </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" 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="AlignFull" cname="gst_video_info_align_full" version="1.18">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter name="align" type="GstVideoAlignment*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ <parameter allow-none="1" name="plane_size" type="gsize*" owned="true" pass_as="out" />
+ </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*" owned="true" pass_as="out" />
+ </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="SetInterlacedFormat" cname="gst_video_info_set_interlaced_format" version="1.16">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter name="format" type="GstVideoFormat" />
+ <parameter name="mode" type="GstVideoInterlaceMode" />
+ <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="VideoMasteringDisplayInfo" cname="GstVideoMasteringDisplayInfo" opaque="false" hidden="false" version="1.18">
+ <field cname="display_primaries" access="public" writeable="true" readable="true" is_callback="false" name="DisplayPrimaries" type="GstVideoMasteringDisplayInfoCoordinates" array="true" array_len="3" />
+ <field cname="white_point" access="public" writeable="true" readable="true" is_callback="false" name="WhitePoint" type="GstVideoMasteringDisplayInfoCoordinates">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="max_display_mastering_luminance" access="public" writeable="true" readable="true" is_callback="false" name="MaxDisplayMasteringLuminance" type="guint32" />
+ <field cname="min_display_mastering_luminance" access="public" writeable="true" readable="true" is_callback="false" name="MinDisplayMasteringLuminance" 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" />
+ <method name="AddToCaps" cname="gst_video_mastering_display_info_add_to_caps" version="1.18">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter name="caps" type="GstCaps*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="FromCaps" cname="gst_video_mastering_display_info_from_caps" version="1.18">
+ <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_mastering_display_info_init" version="1.18">
+ <return-type type="void" />
+ <parameters />
+ </method>
+ <method name="IsEqual" cname="gst_video_mastering_display_info_is_equal" version="1.18">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter name="other" type="GstVideoMasteringDisplayInfo*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="ToString" cname="gst_video_mastering_display_info_to_string" version="1.18">
+ <return-type type="gchar*" owned="true" />
+ <parameters />
+ </method>
+ <method name="FromString" cname="gst_video_mastering_display_info_from_string" shared="true" version="1.18">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter name="minfo" type="GstVideoMasteringDisplayInfo*" pass_as="out">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ <parameter name="mastering" type="const-gchar*" />
+ </parameters>
+ </method>
+ </struct>
+ <struct name="VideoMasteringDisplayInfoCoordinates" cname="GstVideoMasteringDisplayInfoCoordinates" opaque="false" hidden="false" version="1.18">
+ <field cname="x" access="public" writeable="true" readable="true" is_callback="false" name="X" type="guint16" />
+ <field cname="y" access="public" writeable="true" readable="true" is_callback="false" name="Y" type="guint16" />
+ </struct>
+ <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" />
+ <field cname="alignment" access="public" writeable="true" readable="true" is_callback="false" name="Alignment" type="GstVideoAlignment">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <method name="GetPlaneHeight" cname="gst_video_meta_get_plane_height" version="1.18">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter name="plane_height" type="guint*" owned="true" pass_as="out" />
+ </parameters>
+ </method>
+ <method name="GetPlaneSize" cname="gst_video_meta_get_plane_size" version="1.18">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter name="plane_size" type="gsize*" owned="true" pass_as="out" />
+ </parameters>
+ </method>
+ <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 name="data" type="gpointer*" owned="true" pass_as="out" />
+ <parameter name="stride" type="gint*" owned="true" pass_as="out" />
+ <parameter name="flags" type="GstMapFlags" />
+ </parameters>
+ </method>
+ <method name="SetAlignment" cname="gst_video_meta_set_alignment" version="1.18">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter name="alignment" type="GstVideoAlignment">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </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="true" hidden="false" parent="GstMiniObject">
+ <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" parent="GstMiniObject">
+ <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" />
+ <field cname="params" access="public" writeable="true" readable="true" is_callback="false" name="Params" type="GList*" element_type="gpointer" />
+ <method name="AddParam" cname="gst_video_region_of_interest_meta_add_param" version="1.14">
+ <return-type type="void" />
+ <parameters>
+ <parameter name="s" type="GstStructure*" owned="true">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="GetParam" cname="gst_video_region_of_interest_meta_get_param" version="1.14">
+ <return-type type="GstStructure*">
+ <warning>missing glib:type-name</warning>
+ </return-type>
+ <parameters>
+ <parameter name="name" type="const-gchar*" />
+ </parameters>
+ </method>
+ <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_date_time_full" version="1.16">
+ <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 allow-none="1" 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="InitFromDateTimeFull" cname="gst_video_time_code_init_from_date_time_full" version="1.16">
+ <return-type type="gboolean" />
+ <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>
+ <boxed name="VideoVBIEncoder" cname="GstVideoVBIEncoder" opaque="false" hidden="false" version="1.16">
+ <method name="GetType" cname="gst_video_vbi_encoder_get_type" shared="true">
+ <return-type type="GType" />
+ </method>
+ <constructor cname="gst_video_vbi_encoder_new" version="1.16">
+ <parameters>
+ <parameter name="format" type="GstVideoFormat" />
+ <parameter name="pixel_width" type="guint32" />
+ </parameters>
+ </constructor>
+ <method name="AddAncillary" cname="gst_video_vbi_encoder_add_ancillary" version="1.16">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter name="composite" type="gboolean" />
+ <parameter name="DID" type="guint8" />
+ <parameter name="SDID_block_number" type="guint8" />
+ <parameter name="data" type="const guint8*" array="true" array_length_param_index="4" />
+ <parameter name="data_count" type="guint" array_index="3" />
+ </parameters>
+ </method>
+ <method name="Copy" cname="gst_video_vbi_encoder_copy">
+ <return-type type="GstVideoVBIEncoder*" owned="true">
+ <warning>missing glib:type-name</warning>
+ </return-type>
+ <parameters />
+ </method>
+ <method name="Free" cname="gst_video_vbi_encoder_free" version="1.16">
+ <return-type type="void" />
+ <parameters />
+ </method>
+ <method name="WriteLine" cname="gst_video_vbi_encoder_write_line">
+ <return-type type="void" />
+ <parameters>
+ <parameter name="data" type="guint8" />
+ </parameters>
+ </method>
+ </boxed>
+ <boxed name="VideoVBIParser" cname="GstVideoVBIParser" opaque="false" hidden="false" version="1.16">
+ <method name="GetType" cname="gst_video_vbi_parser_get_type" shared="true">
+ <return-type type="GType" />
+ </method>
+ <constructor cname="gst_video_vbi_parser_new" version="1.16">
+ <parameters>
+ <parameter name="format" type="GstVideoFormat" />
+ <parameter name="pixel_width" type="guint32" />
+ </parameters>
+ </constructor>
+ <method name="AddLine" cname="gst_video_vbi_parser_add_line" version="1.16">
+ <return-type type="void" />
+ <parameters>
+ <parameter name="data" type="const guint8*" array="true" />
+ </parameters>
+ </method>
+ <method name="Copy" cname="gst_video_vbi_parser_copy">
+ <return-type type="GstVideoVBIParser*" owned="true">
+ <warning>missing glib:type-name</warning>
+ </return-type>
+ <parameters />
+ </method>
+ <method name="Free" cname="gst_video_vbi_parser_free" version="1.16">
+ <return-type type="void" />
+ <parameters />
+ </method>
+ <method name="GetAncillary" cname="gst_video_vbi_parser_get_ancillary" version="1.16">
+ <return-type type="GstVideoVBIParserResult" />
+ <parameters>
+ <parameter name="anc" type="GstVideoAncillary*" pass_as="out">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </parameters>
+ </method>
+ </boxed>
+ <object name="Global" cname="GstVideoGlobal" opaque="true">
+ <method name="BufferAddVideoAfdMeta" cname="gst_buffer_add_video_afd_meta" shared="true" version="1.18">
+ <return-type type="GstVideoAFDMeta*">
+ <warning>missing glib:type-name</warning>
+ </return-type>
+ <parameters>
+ <parameter name="buffer" type="GstBuffer*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ <parameter name="field" type="guint8" />
+ <parameter name="spec" type="GstVideoAFDSpec" />
+ <parameter name="afd" type="GstVideoAFDValue" />
+ </parameters>
+ </method>
+ <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="BufferAddVideoBarMeta" cname="gst_buffer_add_video_bar_meta" shared="true" version="1.18">
+ <return-type type="GstVideoBarMeta*">
+ <warning>missing glib:type-name</warning>
+ </return-type>
+ <parameters>
+ <parameter name="buffer" type="GstBuffer*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ <parameter name="field" type="guint8" />
+ <parameter name="is_letterbox" type="gboolean" />
+ <parameter name="bar_data1" type="guint" />
+ <parameter name="bar_data2" type="guint" />
+ </parameters>
+ </method>
+ <method name="BufferAddVideoCaptionMeta" cname="gst_buffer_add_video_caption_meta" shared="true" version="1.16">
+ <return-type type="GstVideoCaptionMeta*">
+ <warning>missing glib:type-name</warning>
+ </return-type>
+ <parameters>
+ <parameter name="buffer" type="GstBuffer*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ <parameter name="caption_type" type="GstVideoCaptionType" />
+ <parameter name="data" type="const guint8*" array="true" array_length_param_index="3" />
+ <parameter name="size" type="gsize" array_index="2" />
+ </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="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="NavigationEventParseMouseScrollEvent" cname="gst_navigation_event_parse_mouse_scroll_event" shared="true" version="1.18">
+ <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" />
+ <parameter allow-none="1" name="delta_x" type="gdouble*" owned="true" pass_as="out" />
+ <parameter allow-none="1" name="delta_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="VideoAfdMetaApiGetType" cname="gst_video_afd_meta_api_get_type" shared="true">
+ <return-type type="GType" />
+ </method>
+ <method name="VideoAfdMetaGetInfo" cname="gst_video_afd_meta_get_info" shared="true">
+ <return-type type="GstMetaInfo*">
+ <warning>missing glib:type-name</warning>
+ </return-type>
+ </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="VideoBarMetaApiGetType" cname="gst_video_bar_meta_api_get_type" shared="true">
+ <return-type type="GType" />
+ </method>
+ <method name="VideoBarMetaGetInfo" cname="gst_video_bar_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="VideoCaptionMetaApiGetType" cname="gst_video_caption_meta_api_get_type" shared="true">
+ <return-type type="GType" />
+ </method>
+ <method name="VideoCaptionMetaGetInfo" cname="gst_video_caption_meta_get_info" shared="true">
+ <return-type type="GstMetaInfo*">
+ <warning>missing glib:type-name</warning>
+ </return-type>
+ </method>
+ <method name="VideoCaptionTypeFromCaps" cname="gst_video_caption_type_from_caps" shared="true" version="1.16">
+ <return-type type="GstVideoCaptionType" />
+ <parameters>
+ <parameter name="caps" type="GstCaps*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="VideoCaptionTypeToCaps" cname="gst_video_caption_type_to_caps" shared="true" version="1.16">
+ <return-type type="GstCaps*" owned="true">
+ <warning>missing glib:type-name</warning>
+ </return-type>
+ <parameters>
+ <parameter name="type" type="GstVideoCaptionType" />
+ </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="VideoColorMatrixFromIso" cname="gst_video_color_matrix_from_iso" shared="true" version="1.18">
+ <return-type type="GstVideoColorMatrix" />
+ <parameters>
+ <parameter name="value" type="guint" />
+ </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*" owned="true" pass_as="out" />
+ <parameter name="Kb" type="gdouble*" owned="true" pass_as="out" />
+ </parameters>
+ </method>
+ <method name="VideoColorMatrixToIso" cname="gst_video_color_matrix_to_iso" shared="true" version="1.18">
+ <return-type type="guint" />
+ <parameters>
+ <parameter name="matrix" type="GstVideoColorMatrix" />
+ </parameters>
+ </method>
+ <method name="VideoColorPrimariesFromIso" cname="gst_video_color_primaries_from_iso" shared="true" version="1.18">
+ <return-type type="GstVideoColorPrimaries" />
+ <parameters>
+ <parameter name="value" type="guint" />
+ </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="VideoColorPrimariesToIso" cname="gst_video_color_primaries_to_iso" shared="true" version="1.18">
+ <return-type type="guint" />
+ <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*" pass_as="out" array="true" array_len="4" />
+ <parameter name="scale" type="gint*" pass_as="out" array="true" array_len="4" />
+ </parameters>
+ </method>
+ <method name="VideoColorTransferDecode" cname="gst_video_color_transfer_decode" shared="true" version="1.6" deprecated="true">
+ <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" deprecated="true">
+ <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*" owned="true" pass_as="out" />
+ </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="VideoFormatsRaw" cname="gst_video_formats_raw" shared="true" version="1.18">
+ <return-type type="const GstVideoFormat*" array="true" array_length_param_index="0" />
+ <parameters>
+ <parameter name="len" type="guint*" owned="true" pass_as="out" />
+ </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="VideoMakeRawCaps" cname="gst_video_make_raw_caps" shared="true" version="1.18">
+ <return-type type="GstCaps*" owned="true">
+ <warning>missing glib:type-name</warning>
+ </return-type>
+ <parameters>
+ <parameter allow-none="1" name="formats" type="const GstVideoFormat*" array="true" array_length_param_index="1" />
+ <parameter name="len" type="guint" />
+ </parameters>
+ </method>
+ <method name="VideoMakeRawCapsWithFeatures" cname="gst_video_make_raw_caps_with_features" shared="true" version="1.18">
+ <return-type type="GstCaps*" owned="true">
+ <warning>missing glib:type-name</warning>
+ </return-type>
+ <parameters>
+ <parameter allow-none="1" name="formats" type="const GstVideoFormat*" array="true" array_length_param_index="1" />
+ <parameter name="len" type="guint" />
+ <parameter allow-none="1" name="features" type="GstCapsFeatures*" owned="true">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="VideoMasteringDisplayInfoFromString" cname="gst_video_mastering_display_info_from_string" shared="true" version="1.18">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter name="minfo" type="GstVideoMasteringDisplayInfo*" pass_as="out">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ <parameter name="mastering" type="const-gchar*" />
+ </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="VideoOverlayInstallProperties" cname="gst_video_overlay_install_properties" shared="true" version="1.14" hidden="true">
+ <return-type type="void" />
+ <parameters>
+ <parameter name="oclass" type="GObjectClass*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ <parameter name="last_prop_id" type="gint" />
+ </parameters>
+ </method>
+ <method name="VideoOverlaySetProperty" cname="gst_video_overlay_set_property" shared="true" version="1.14">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter name="_object" type="GObject*" />
+ <parameter name="last_prop_id" type="gint" />
+ <parameter name="property_id" type="guint" />
+ <parameter name="value" type="GValue*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </parameters>
+ </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>
+ <method name="VideoTransferFunctionDecode" cname="gst_video_transfer_function_decode" shared="true" version="1.20">
+ <return-type type="gdouble" />
+ <parameters>
+ <parameter name="func" type="GstVideoTransferFunction" />
+ <parameter name="val" type="gdouble" />
+ </parameters>
+ </method>
+ <method name="VideoTransferFunctionEncode" cname="gst_video_transfer_function_encode" shared="true" version="1.20">
+ <return-type type="gdouble" />
+ <parameters>
+ <parameter name="func" type="GstVideoTransferFunction" />
+ <parameter name="val" type="gdouble" />
+ </parameters>
+ </method>
+ <method name="VideoTransferFunctionFromIso" cname="gst_video_transfer_function_from_iso" shared="true" version="1.18">
+ <return-type type="GstVideoTransferFunction" />
+ <parameters>
+ <parameter name="value" type="guint" />
+ </parameters>
+ </method>
+ <method name="VideoTransferFunctionIsEquivalent" cname="gst_video_transfer_function_is_equivalent" shared="true" version="1.18">
+ <return-type type="gboolean" />
+ <parameters>
+ <parameter name="from_func" type="GstVideoTransferFunction" />
+ <parameter name="from_bpp" type="guint" />
+ <parameter name="to_func" type="GstVideoTransferFunction" />
+ <parameter name="to_bpp" type="guint" />
+ </parameters>
+ </method>
+ <method name="VideoTransferFunctionToIso" cname="gst_video_transfer_function_to_iso" shared="true" version="1.18">
+ <return-type type="guint" />
+ <parameters>
+ <parameter name="func" type="GstVideoTransferFunction" />
+ </parameters>
+ </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="format:Interlaced" ctype="gchar*" gtype="gchar*" name="CAPS_FEATURE_FORMAT_INTERLACED" version="1.16." />
+ <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="bt2020-10" ctype="gchar*" gtype="gchar*" name="VIDEO_COLORIMETRY_BT2020_10" />
+ <constant value="bt2100-hlg" ctype="gchar*" gtype="gchar*" name="VIDEO_COLORIMETRY_BT2100_HLG" />
+ <constant value="bt2100-pq" ctype="gchar*" gtype="gchar*" name="VIDEO_COLORIMETRY_BT2100_PQ" />
+ <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="{ AYUV64, ARGB64, GBRA_12BE, GBRA_12LE, Y412_BE, Y412_LE, A444_10BE, GBRA_10BE, A444_10LE, GBRA_10LE, A422_10BE, A422_10LE, A420_10BE, A420_10LE, Y410, RGB10A2_LE, BGR10A2_LE, GBRA, ABGR, VUYA, BGRA, AYUV, ARGB, RGBA, A420, Y444_16BE, Y444_16LE, v216, P016_BE, P016_LE, Y444_12BE, GBR_12BE, Y444_12LE, GBR_12LE, I422_12BE, I422_12LE, Y212_BE, Y212_LE, I420_12BE, I420_12LE, P012_BE, P012_LE, Y444_10BE, GBR_10BE, Y444_10LE, GBR_10LE, r210, I422_10BE, I422_10LE, NV16_10LE32, Y210, v210, UYVP, I420_10BE, I420_10LE, P010_10BE, P010_10LE, NV12_10LE32, NV12_10LE40, Y444, GBR, NV24, xBGR, BGRx, xRGB, RGBx, BGR, IYU2, v308, RGB, Y42B, NV61, NV16, VYUY, UYVY, YVYU, YUY2, I420, YV12, NV21, NV12, NV12_64Z32, NV12_4L4, NV12_32L32, Y41B, IYU1, YVU9, YUV9, RGB16, BGR16, RGB15, BGR15, RGB8P, GRAY16_BE, GRAY16_LE, GRAY10_LE32, GRAY8 }" 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="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="65535" ctype="gint" gtype="gint" name="VIDEO_TILE_TYPE_MASK" />
+ <constant value="16" ctype="gint" gtype="gint" name="VIDEO_TILE_TYPE_SHIFT" />
+ <constant value="65535" 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>
+ <namespace name="Gst.WebRTC" library="gstwebrtc-1.0-0.dll">
+ <enum name="WebRTCBundlePolicy" cname="GstWebRTCBundlePolicy" type="enum" gtype="gst_webrtc_bundle_policy_get_type" version="1.16">
+ <member cname="GST_WEBRTC_BUNDLE_POLICY_NONE" name="None" value="0" />
+ <member cname="GST_WEBRTC_BUNDLE_POLICY_BALANCED" name="Balanced" value="1" />
+ <member cname="GST_WEBRTC_BUNDLE_POLICY_MAX_COMPAT" name="MaxCompat" value="2" />
+ <member cname="GST_WEBRTC_BUNDLE_POLICY_MAX_BUNDLE" name="MaxBundle" value="3" />
+ </enum>
+ <enum name="WebRTCDTLSSetup" cname="GstWebRTCDTLSSetup" type="enum" gtype="gst_webrtc_dtls_setup_get_type">
+ <member cname="GST_WEBRTC_DTLS_SETUP_NONE" name="None" value="0" />
+ <member cname="GST_WEBRTC_DTLS_SETUP_ACTPASS" name="Actpass" value="1" />
+ <member cname="GST_WEBRTC_DTLS_SETUP_ACTIVE" name="Active" value="2" />
+ <member cname="GST_WEBRTC_DTLS_SETUP_PASSIVE" name="Passive" value="3" />
+ </enum>
+ <enum name="WebRTCDTLSTransportState" cname="GstWebRTCDTLSTransportState" type="enum" gtype="gst_webrtc_dtls_transport_state_get_type">
+ <member cname="GST_WEBRTC_DTLS_TRANSPORT_STATE_NEW" name="New" value="0" />
+ <member cname="GST_WEBRTC_DTLS_TRANSPORT_STATE_CLOSED" name="Closed" value="1" />
+ <member cname="GST_WEBRTC_DTLS_TRANSPORT_STATE_FAILED" name="Failed" value="2" />
+ <member cname="GST_WEBRTC_DTLS_TRANSPORT_STATE_CONNECTING" name="Connecting" value="3" />
+ <member cname="GST_WEBRTC_DTLS_TRANSPORT_STATE_CONNECTED" name="Connected" value="4" />
+ </enum>
+ <enum name="WebRTCDataChannelState" cname="GstWebRTCDataChannelState" type="enum" gtype="gst_webrtc_data_channel_state_get_type" version="1.16">
+ <member cname="GST_WEBRTC_DATA_CHANNEL_STATE_NEW" name="New" value="0" />
+ <member cname="GST_WEBRTC_DATA_CHANNEL_STATE_CONNECTING" name="Connecting" value="1" />
+ <member cname="GST_WEBRTC_DATA_CHANNEL_STATE_OPEN" name="Open" value="2" />
+ <member cname="GST_WEBRTC_DATA_CHANNEL_STATE_CLOSING" name="Closing" value="3" />
+ <member cname="GST_WEBRTC_DATA_CHANNEL_STATE_CLOSED" name="Closed" value="4" />
+ </enum>
+ <enum name="WebRTCFECType" cname="GstWebRTCFECType" type="enum" gtype="gst_webrtc_fec_type_get_type" version="1.14.1">
+ <member cname="GST_WEBRTC_FEC_TYPE_NONE" name="None" value="0" />
+ <member cname="GST_WEBRTC_FEC_TYPE_ULP_RED" name="UlpRed" value="1" />
+ </enum>
+ <enum name="WebRTCICEComponent" cname="GstWebRTCICEComponent" type="enum" gtype="gst_webrtc_ice_component_get_type">
+ <member cname="GST_WEBRTC_ICE_COMPONENT_RTP" name="Rtp" value="0" />
+ <member cname="GST_WEBRTC_ICE_COMPONENT_RTCP" name="Rtcp" value="1" />
+ </enum>
+ <enum name="WebRTCICEConnectionState" cname="GstWebRTCICEConnectionState" type="enum" gtype="gst_webrtc_ice_connection_state_get_type">
+ <member cname="GST_WEBRTC_ICE_CONNECTION_STATE_NEW" name="New" value="0" />
+ <member cname="GST_WEBRTC_ICE_CONNECTION_STATE_CHECKING" name="Checking" value="1" />
+ <member cname="GST_WEBRTC_ICE_CONNECTION_STATE_CONNECTED" name="Connected" value="2" />
+ <member cname="GST_WEBRTC_ICE_CONNECTION_STATE_COMPLETED" name="Completed" value="3" />
+ <member cname="GST_WEBRTC_ICE_CONNECTION_STATE_FAILED" name="Failed" value="4" />
+ <member cname="GST_WEBRTC_ICE_CONNECTION_STATE_DISCONNECTED" name="Disconnected" value="5" />
+ <member cname="GST_WEBRTC_ICE_CONNECTION_STATE_CLOSED" name="Closed" value="6" />
+ </enum>
+ <enum name="WebRTCICEGatheringState" cname="GstWebRTCICEGatheringState" type="enum" gtype="gst_webrtc_ice_gathering_state_get_type">
+ <member cname="GST_WEBRTC_ICE_GATHERING_STATE_NEW" name="New" value="0" />
+ <member cname="GST_WEBRTC_ICE_GATHERING_STATE_GATHERING" name="Gathering" value="1" />
+ <member cname="GST_WEBRTC_ICE_GATHERING_STATE_COMPLETE" name="Complete" value="2" />
+ </enum>
+ <enum name="WebRTCICERole" cname="GstWebRTCICERole" type="enum" gtype="gst_webrtc_ice_role_get_type">
+ <member cname="GST_WEBRTC_ICE_ROLE_CONTROLLED" name="Controlled" value="0" />
+ <member cname="GST_WEBRTC_ICE_ROLE_CONTROLLING" name="Controlling" value="1" />
+ </enum>
+ <enum name="WebRTCICETransportPolicy" cname="GstWebRTCICETransportPolicy" type="enum" gtype="gst_webrtc_ice_transport_policy_get_type" version="1.16">
+ <member cname="GST_WEBRTC_ICE_TRANSPORT_POLICY_ALL" name="All" value="0" />
+ <member cname="GST_WEBRTC_ICE_TRANSPORT_POLICY_RELAY" name="Relay" value="1" />
+ </enum>
+ <enum name="WebRTCKind" cname="GstWebRTCKind" type="enum" gtype="gst_webrtc_kind_get_type" version="1.20">
+ <member cname="GST_WEBRTC_KIND_UNKNOWN" name="Unknown" value="0" />
+ <member cname="GST_WEBRTC_KIND_AUDIO" name="Audio" value="1" />
+ <member cname="GST_WEBRTC_KIND_VIDEO" name="Video" value="2" />
+ </enum>
+ <enum name="WebRTCPeerConnectionState" cname="GstWebRTCPeerConnectionState" type="enum" gtype="gst_webrtc_peer_connection_state_get_type">
+ <member cname="GST_WEBRTC_PEER_CONNECTION_STATE_NEW" name="New" value="0" />
+ <member cname="GST_WEBRTC_PEER_CONNECTION_STATE_CONNECTING" name="Connecting" value="1" />
+ <member cname="GST_WEBRTC_PEER_CONNECTION_STATE_CONNECTED" name="Connected" value="2" />
+ <member cname="GST_WEBRTC_PEER_CONNECTION_STATE_DISCONNECTED" name="Disconnected" value="3" />
+ <member cname="GST_WEBRTC_PEER_CONNECTION_STATE_FAILED" name="Failed" value="4" />
+ <member cname="GST_WEBRTC_PEER_CONNECTION_STATE_CLOSED" name="Closed" value="5" />
+ </enum>
+ <enum name="WebRTCPriorityType" cname="GstWebRTCPriorityType" type="enum" gtype="gst_webrtc_priority_type_get_type" version="1.16">
+ <member cname="GST_WEBRTC_PRIORITY_TYPE_VERY_LOW" name="VeryLow" value="1" />
+ <member cname="GST_WEBRTC_PRIORITY_TYPE_LOW" name="Low" value="2" />
+ <member cname="GST_WEBRTC_PRIORITY_TYPE_MEDIUM" name="Medium" value="3" />
+ <member cname="GST_WEBRTC_PRIORITY_TYPE_HIGH" name="High" value="4" />
+ </enum>
+ <enum name="WebRTCRTPTransceiverDirection" cname="GstWebRTCRTPTransceiverDirection" type="enum" gtype="gst_webrtc_rtp_transceiver_direction_get_type">
+ <member cname="GST_WEBRTC_RTP_TRANSCEIVER_DIRECTION_NONE" name="None" value="0" />
+ <member cname="GST_WEBRTC_RTP_TRANSCEIVER_DIRECTION_INACTIVE" name="Inactive" value="1" />
+ <member cname="GST_WEBRTC_RTP_TRANSCEIVER_DIRECTION_SENDONLY" name="Sendonly" value="2" />
+ <member cname="GST_WEBRTC_RTP_TRANSCEIVER_DIRECTION_RECVONLY" name="Recvonly" value="3" />
+ <member cname="GST_WEBRTC_RTP_TRANSCEIVER_DIRECTION_SENDRECV" name="Sendrecv" value="4" />
+ </enum>
+ <enum name="WebRTCSCTPTransportState" cname="GstWebRTCSCTPTransportState" type="enum" gtype="gst_webrtc_sctp_transport_state_get_type" version="1.16">
+ <member cname="GST_WEBRTC_SCTP_TRANSPORT_STATE_NEW" name="New" value="0" />
+ <member cname="GST_WEBRTC_SCTP_TRANSPORT_STATE_CONNECTING" name="Connecting" value="1" />
+ <member cname="GST_WEBRTC_SCTP_TRANSPORT_STATE_CONNECTED" name="Connected" value="2" />
+ <member cname="GST_WEBRTC_SCTP_TRANSPORT_STATE_CLOSED" name="Closed" value="3" />
+ </enum>
+ <enum name="WebRTCSDPType" cname="GstWebRTCSDPType" type="enum" gtype="gst_webrtc_sdp_type_get_type">
+ <member cname="GST_WEBRTC_SDP_TYPE_OFFER" name="Offer" value="1" />
+ <member cname="GST_WEBRTC_SDP_TYPE_PRANSWER" name="Pranswer" value="2" />
+ <member cname="GST_WEBRTC_SDP_TYPE_ANSWER" name="Answer" value="3" />
+ <member cname="GST_WEBRTC_SDP_TYPE_ROLLBACK" name="Rollback" value="4" />
+ </enum>
+ <enum name="WebRTCSignalingState" cname="GstWebRTCSignalingState" type="enum" gtype="gst_webrtc_signaling_state_get_type">
+ <member cname="GST_WEBRTC_SIGNALING_STATE_STABLE" name="Stable" value="0" />
+ <member cname="GST_WEBRTC_SIGNALING_STATE_CLOSED" name="Closed" value="1" />
+ <member cname="GST_WEBRTC_SIGNALING_STATE_HAVE_LOCAL_OFFER" name="HaveLocalOffer" value="2" />
+ <member cname="GST_WEBRTC_SIGNALING_STATE_HAVE_REMOTE_OFFER" name="HaveRemoteOffer" value="3" />
+ <member cname="GST_WEBRTC_SIGNALING_STATE_HAVE_LOCAL_PRANSWER" name="HaveLocalPranswer" value="4" />
+ <member cname="GST_WEBRTC_SIGNALING_STATE_HAVE_REMOTE_PRANSWER" name="HaveRemotePranswer" value="5" />
+ </enum>
+ <enum name="WebRTCStatsType" cname="GstWebRTCStatsType" type="enum" gtype="gst_webrtc_stats_type_get_type">
+ <member cname="GST_WEBRTC_STATS_CODEC" name="Codec" value="1" />
+ <member cname="GST_WEBRTC_STATS_INBOUND_RTP" name="InboundRtp" value="2" />
+ <member cname="GST_WEBRTC_STATS_OUTBOUND_RTP" name="OutboundRtp" value="3" />
+ <member cname="GST_WEBRTC_STATS_REMOTE_INBOUND_RTP" name="RemoteInboundRtp" value="4" />
+ <member cname="GST_WEBRTC_STATS_REMOTE_OUTBOUND_RTP" name="RemoteOutboundRtp" value="5" />
+ <member cname="GST_WEBRTC_STATS_CSRC" name="Csrc" value="6" />
+ <member cname="GST_WEBRTC_STATS_PEER_CONNECTION" name="PeerConnection" value="7" />
+ <member cname="GST_WEBRTC_STATS_DATA_CHANNEL" name="DataChannel" value="8" />
+ <member cname="GST_WEBRTC_STATS_STREAM" name="Stream" value="9" />
+ <member cname="GST_WEBRTC_STATS_TRANSPORT" name="Transport" value="10" />
+ <member cname="GST_WEBRTC_STATS_CANDIDATE_PAIR" name="CandidatePair" value="11" />
+ <member cname="GST_WEBRTC_STATS_LOCAL_CANDIDATE" name="LocalCandidate" value="12" />
+ <member cname="GST_WEBRTC_STATS_REMOTE_CANDIDATE" name="RemoteCandidate" value="13" />
+ <member cname="GST_WEBRTC_STATS_CERTIFICATE" name="Certificate" value="14" />
+ </enum>
+ <object name="WebRTCDTLSTransport" cname="GstWebRTCDTLSTransport" opaque="false" hidden="false" parent="GstObject">
+ <class_struct cname="GstWebRTCDTLSTransportClass" />
+ <method name="GetType" cname="gst_webrtc_dtls_transport_get_type" shared="true">
+ <return-type type="GType" />
+ </method>
+ <property name="Certificate" cname="certificate" type="gchar*" readable="true" writeable="true" construct="false" construct-only="false" />
+ <property name="Client" cname="client" type="gboolean" readable="true" writeable="true" construct="false" construct-only="false" />
+ <property name="RemoteCertificate" cname="remote-certificate" type="gchar*" readable="true" writeable="false" construct="false" construct-only="false" />
+ <property name="SessionId" cname="session-id" type="guint" readable="true" writeable="true" construct="false" construct-only="true" />
+ <property name="State" cname="state" type="GstWebRTCDTLSTransportState" readable="true" writeable="false" construct="false" construct-only="false" />
+ <property name="Transport" cname="transport" type="GstWebRTCICETransport*" readable="true" writeable="false" construct="false" construct-only="false" />
+ </object>
+ <object name="WebRTCDataChannel" cname="GstWebRTCDataChannel" defaultconstructoraccess="protected" opaque="false" hidden="false" parent="GObject">
+ <class_struct cname="GstWebRTCDataChannelClass" />
+ <method name="GetType" cname="gst_webrtc_data_channel_get_type" shared="true">
+ <return-type type="GType" />
+ </method>
+ <method name="Close" cname="gst_webrtc_data_channel_close">
+ <return-type type="void" />
+ <parameters />
+ </method>
+ <method name="SendData" cname="gst_webrtc_data_channel_send_data">
+ <return-type type="void" />
+ <parameters>
+ <parameter allow-none="1" name="data" type="GBytes*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="SendString" cname="gst_webrtc_data_channel_send_string">
+ <return-type type="void" />
+ <parameters>
+ <parameter allow-none="1" name="str" type="const-gchar*" />
+ </parameters>
+ </method>
+ <property name="BufferedAmount" cname="buffered-amount" type="guint64" readable="true" writeable="false" construct="false" construct-only="false" />
+ <property name="BufferedAmountLowThreshold" cname="buffered-amount-low-threshold" type="guint64" readable="true" writeable="true" construct="false" construct-only="false" />
+ <property name="Id" cname="id" type="gint" readable="true" writeable="true" construct="false" construct-only="true" />
+ <property name="Label" cname="label" type="gchar*" readable="true" writeable="true" construct="false" construct-only="true" />
+ <property name="MaxPacketLifetime" cname="max-packet-lifetime" type="gint" readable="true" writeable="true" construct="false" construct-only="true" />
+ <property name="MaxRetransmits" cname="max-retransmits" type="gint" readable="true" writeable="true" construct="false" construct-only="true" />
+ <property name="Negotiated" cname="negotiated" type="gboolean" readable="true" writeable="true" construct="false" construct-only="true" />
+ <property name="Ordered" cname="ordered" type="gboolean" readable="true" writeable="true" construct="false" construct-only="true" />
+ <property name="Priority" cname="priority" type="GstWebRTCPriorityType" readable="true" writeable="true" construct="false" construct-only="true" />
+ <property name="Protocol" cname="protocol" type="gchar*" readable="true" writeable="true" construct="false" construct-only="true" />
+ <property name="ReadyState" cname="ready-state" type="GstWebRTCDataChannelState" readable="true" writeable="false" construct="false" construct-only="false" />
+ <signal name="CloseEvent" cname="close" when="last">
+ <return-type type="void" />
+ <parameters />
+ <warning>Signal renamed because of existing method with same name</warning>
+ </signal>
+ <signal name="OnBufferedAmountLow" cname="on-buffered-amount-low" when="last">
+ <return-type type="void" />
+ <parameters />
+ </signal>
+ <signal name="OnClose" cname="on-close" when="last" hidden="true">
+ <return-type type="void" />
+ <parameters />
+ </signal>
+ <signal name="OnError" cname="on-error" when="last">
+ <return-type type="void" />
+ <parameters>
+ <parameter name="error" type="GError*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </parameters>
+ </signal>
+ <signal name="OnMessageData" cname="on-message-data" when="last">
+ <return-type type="void" />
+ <parameters>
+ <parameter allow-none="1" name="data" type="GBytes*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </parameters>
+ </signal>
+ <signal name="OnMessageString" cname="on-message-string" when="last">
+ <return-type type="void" />
+ <parameters>
+ <parameter allow-none="1" name="data" type="const-gchar*" />
+ </parameters>
+ </signal>
+ <signal name="OnOpen" cname="on-open" when="last">
+ <return-type type="void" />
+ <parameters />
+ </signal>
+ <signal name="SendDataEvent" cname="send-data" when="last">
+ <return-type type="void" />
+ <parameters>
+ <parameter allow-none="1" name="data" type="GBytes*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </parameters>
+ <warning>Signal renamed because of existing method with same name</warning>
+ </signal>
+ <signal name="SendStringEvent" cname="send-string" when="last">
+ <return-type type="void" />
+ <parameters>
+ <parameter allow-none="1" name="data" type="const-gchar*" />
+ </parameters>
+ <warning>Signal renamed because of existing method with same name</warning>
+ </signal>
+ </object>
+ <object name="WebRTCICETransport" cname="GstWebRTCICETransport" defaultconstructoraccess="protected" opaque="false" hidden="false" parent="GstObject">
+ <class_struct cname="GstWebRTCICETransportClass" />
+ <method name="GetType" cname="gst_webrtc_ice_transport_get_type" shared="true">
+ <return-type type="GType" />
+ </method>
+ <property name="Component" cname="component" type="GstWebRTCICEComponent" readable="true" writeable="true" construct="false" construct-only="true" />
+ <property name="GatheringState" cname="gathering-state" type="GstWebRTCICEGatheringState" readable="true" writeable="false" construct="false" construct-only="false" />
+ <property name="State" cname="state" type="GstWebRTCICEConnectionState" readable="true" writeable="false" construct="false" construct-only="false" />
+ <signal name="OnNewCandidate" cname="on-new-candidate" when="last">
+ <return-type type="void" />
+ <parameters>
+ <parameter name="_object" type="const-gchar*" />
+ </parameters>
+ </signal>
+ <signal name="OnSelectedCandidatePairChange" cname="on-selected-candidate-pair-change" when="last">
+ <return-type type="void" />
+ <parameters />
+ </signal>
+ </object>
+ <object name="WebRTCRTPReceiver" cname="GstWebRTCRTPReceiver" opaque="false" hidden="false" parent="GstObject">
+ <class_struct cname="GstWebRTCRTPReceiverClass" />
+ <method name="GetType" cname="gst_webrtc_rtp_receiver_get_type" shared="true">
+ <return-type type="GType" />
+ </method>
+ <property name="Transport" cname="transport" type="GstWebRTCDTLSTransport*" readable="true" writeable="false" construct="false" construct-only="false" version="1.20" />
+ </object>
+ <object name="WebRTCRTPSender" cname="GstWebRTCRTPSender" opaque="false" hidden="false" parent="GstObject">
+ <class_struct cname="GstWebRTCRTPSenderClass" />
+ <method name="GetType" cname="gst_webrtc_rtp_sender_get_type" shared="true">
+ <return-type type="GType" />
+ </method>
+ <method name="SetPriority" cname="gst_webrtc_rtp_sender_set_priority" version="1.20">
+ <return-type type="void" />
+ <parameters>
+ <parameter name="priority" type="GstWebRTCPriorityType" />
+ </parameters>
+ </method>
+ <property name="Priority" cname="priority" type="GstWebRTCPriorityType" readable="true" writeable="true" construct="false" construct-only="false" version="1.20" />
+ <property name="Transport" cname="transport" type="GstWebRTCDTLSTransport*" readable="true" writeable="false" construct="false" construct-only="false" version="1.20" />
+ </object>
+ <object name="WebRTCRTPTransceiver" cname="GstWebRTCRTPTransceiver" defaultconstructoraccess="protected" opaque="false" hidden="false" parent="GstObject">
+ <class_struct cname="GstWebRTCRTPTransceiverClass" />
+ <method name="GetType" cname="gst_webrtc_rtp_transceiver_get_type" shared="true">
+ <return-type type="GType" />
+ </method>
+ <property name="CodecPreferences" cname="codec-preferences" type="GstCaps*" readable="true" writeable="true" construct="false" construct-only="false" version="1.20" />
+ <property name="CurrentDirection" cname="current-direction" type="GstWebRTCRTPTransceiverDirection" readable="true" writeable="false" construct="false" construct-only="false" version="1.20" />
+ <property name="Direction" cname="direction" type="GstWebRTCRTPTransceiverDirection" readable="true" writeable="true" construct="false" construct-only="false" version="1.18" />
+ <property name="Kind" cname="kind" type="GstWebRTCKind" readable="true" writeable="false" construct="false" construct-only="false" version="1.20" />
+ <property name="Mid" cname="mid" type="gchar*" readable="true" writeable="false" construct="false" construct-only="false" version="1.20" />
+ <property name="Mlineindex" cname="mlineindex" type="guint" readable="true" writeable="true" construct="false" construct-only="true" />
+ <property name="Receiver" cname="receiver" type="GstWebRTCRTPReceiver*" readable="true" writeable="true" construct="false" construct-only="true" />
+ <property name="Sender" cname="sender" type="GstWebRTCRTPSender*" readable="true" writeable="true" construct="false" construct-only="true" />
+ </object>
+ <boxed name="WebRTCSessionDescription" cname="GstWebRTCSessionDescription" opaque="false" hidden="false">
+ <method name="GetType" cname="gst_webrtc_session_description_get_type" shared="true">
+ <return-type type="GType" />
+ </method>
+ <field cname="type" access="public" writeable="true" readable="true" is_callback="false" name="Type" type="GstWebRTCSDPType" />
+ <field cname="sdp" access="public" writeable="true" readable="true" is_callback="false" name="Sdp" type="GstSDPMessage*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <constructor cname="gst_webrtc_session_description_new">
+ <parameters>
+ <parameter name="type" type="GstWebRTCSDPType" />
+ <parameter name="sdp" type="GstSDPMessage*" owned="true">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </parameters>
+ </constructor>
+ <method name="Copy" cname="gst_webrtc_session_description_copy">
+ <return-type type="GstWebRTCSessionDescription*" owned="true">
+ <warning>missing glib:type-name</warning>
+ </return-type>
+ <parameters />
+ </method>
+ <method name="Free" cname="gst_webrtc_session_description_free">
+ <return-type type="void" />
+ <parameters />
+ </method>
+ </boxed>
+ <object name="Global" cname="GstWebRTCGlobal" opaque="true">
+ <method name="WebrtcSdpTypeToString" cname="gst_webrtc_sdp_type_to_string" shared="true">
+ <return-type type="const-gchar*" />
+ <parameters>
+ <parameter name="type" type="GstWebRTCSDPType" />
+ </parameters>
+ </method>
+ </object>
+ <object name="Constants" cname="GstWebRTCConstants" opaque="true" />
+ </namespace>
+</api> \ No newline at end of file
diff --git a/subprojects/gstreamer-sharp/sources/generated/meson.build b/subprojects/gstreamer-sharp/sources/generated/meson.build
new file mode 100644
index 0000000000..a4e96d6dae
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/generated/meson.build
@@ -0,0 +1,823 @@
+generated_sources = [
+ 'Gst.App/AppSink.cs',
+ 'Gst.App/AppSinkCallbacks.cs',
+ 'Gst.App/AppSrc.cs',
+ 'Gst.App/AppSrcCallbacks.cs',
+ 'Gst.App/AppStreamType.cs',
+ 'Gst.App/Constants.cs',
+ 'Gst.App/EndOfStreamEventHandler.cs',
+ 'Gst.App/Global.cs',
+ 'Gst.App/NeedDataHandler.cs',
+ 'Gst.App/NewPrerollHandler.cs',
+ 'Gst.App/NewSampleHandler.cs',
+ 'Gst.App/PushBufferEventHandler.cs',
+ 'Gst.App/PushBufferListEventHandler.cs',
+ 'Gst.App/PushSampleEventHandler.cs',
+ 'Gst.App/SeekDataHandler.cs',
+ 'Gst.App/TryPullPrerollEventHandler.cs',
+ 'Gst.App/TryPullSampleEventHandler.cs',
+ 'Gst.Audio/AudioBaseSink.cs',
+ 'Gst.Audio/AudioBaseSinkCustomSlavingCallback.cs',
+ 'Gst.Audio/AudioBaseSinkDiscontReason.cs',
+ 'Gst.Audio/AudioBaseSinkSlaveMethod.cs',
+ 'Gst.Audio/AudioBaseSrc.cs',
+ 'Gst.Audio/AudioBaseSrcSlaveMethod.cs',
+ 'Gst.Audio/AudioBuffer.cs',
+ 'Gst.Audio/AudioCdSrc.cs',
+ 'Gst.Audio/AudioCdSrcMode.cs',
+ 'Gst.Audio/AudioCdSrcTrack.cs',
+ 'Gst.Audio/AudioChannelMixer.cs',
+ 'Gst.Audio/AudioChannelMixerFlags.cs',
+ 'Gst.Audio/AudioChannelPosition.cs',
+ 'Gst.Audio/AudioClippingMeta.cs',
+ 'Gst.Audio/AudioClock.cs',
+ 'Gst.Audio/AudioClockGetTimeFunc.cs',
+ 'Gst.Audio/AudioConverter.cs',
+ 'Gst.Audio/AudioConverterFlags.cs',
+ 'Gst.Audio/AudioDecoder.cs',
+ 'Gst.Audio/AudioDitherMethod.cs',
+ 'Gst.Audio/AudioDownmixMeta.cs',
+ 'Gst.Audio/AudioEncoder.cs',
+ 'Gst.Audio/AudioFilter.cs',
+ 'Gst.Audio/AudioFlags.cs',
+ 'Gst.Audio/AudioFormat.cs',
+ 'Gst.Audio/AudioFormatFlags.cs',
+ 'Gst.Audio/AudioFormatInfo.cs',
+ 'Gst.Audio/AudioFormatPack.cs',
+ 'Gst.Audio/AudioFormatUnpack.cs',
+ 'Gst.Audio/AudioInfo.cs',
+ 'Gst.Audio/AudioLayout.cs',
+ 'Gst.Audio/AudioMeta.cs',
+ 'Gst.Audio/AudioNoiseShapingMethod.cs',
+ 'Gst.Audio/AudioPackFlags.cs',
+ 'Gst.Audio/AudioQuantize.cs',
+ 'Gst.Audio/AudioQuantizeFlags.cs',
+ 'Gst.Audio/AudioResampler.cs',
+ 'Gst.Audio/AudioResamplerFilterInterpolation.cs',
+ 'Gst.Audio/AudioResamplerFilterMode.cs',
+ 'Gst.Audio/AudioResamplerFlags.cs',
+ 'Gst.Audio/AudioResamplerMethod.cs',
+ 'Gst.Audio/AudioRingBuffer.cs',
+ 'Gst.Audio/AudioRingBufferCallback.cs',
+ 'Gst.Audio/AudioRingBufferFormatType.cs',
+ 'Gst.Audio/AudioRingBufferSpec.cs',
+ 'Gst.Audio/AudioRingBufferState.cs',
+ 'Gst.Audio/AudioSink.cs',
+ 'Gst.Audio/AudioSinkClassExtension.cs',
+ 'Gst.Audio/AudioSrc.cs',
+ 'Gst.Audio/AudioStreamAlign.cs',
+ 'Gst.Audio/Constants.cs',
+ 'Gst.Audio/Global.cs',
+ 'Gst.Audio/Gst.AudioSharp.AudioBaseSinkCustomSlavingCallbackNative.cs',
+ 'Gst.Audio/Gst.AudioSharp.AudioClockGetTimeFuncNative.cs',
+ 'Gst.Audio/Gst.AudioSharp.AudioFormatPackNative.cs',
+ 'Gst.Audio/Gst.AudioSharp.AudioFormatUnpackNative.cs',
+ 'Gst.Audio/Gst.AudioSharp.AudioRingBufferCallbackNative.cs',
+ 'Gst.Audio/IStreamVolume.cs',
+ 'Gst.Audio/StreamVolumeAdapter.cs',
+ 'Gst.Audio/StreamVolumeFormat.cs',
+ 'Gst.Base/Adapter.cs',
+ 'Gst.Base/Aggregator.cs',
+ 'Gst.Base/AggregatorPad.cs',
+ 'Gst.Base/AggregatorStartTimeSelection.cs',
+ 'Gst.Base/BaseParse.cs',
+ 'Gst.Base/BaseParseFrame.cs',
+ 'Gst.Base/BaseParseFrameFlags.cs',
+ 'Gst.Base/BaseSink.cs',
+ 'Gst.Base/BaseSrc.cs',
+ 'Gst.Base/BaseSrcFlags.cs',
+ 'Gst.Base/BaseTransform.cs',
+ 'Gst.Base/BitReader.cs',
+ 'Gst.Base/BitWriter.cs',
+ 'Gst.Base/BufferConsumedHandler.cs',
+ 'Gst.Base/ByteReader.cs',
+ 'Gst.Base/ByteWriter.cs',
+ 'Gst.Base/CollectData.cs',
+ 'Gst.Base/CollectDataDestroyNotify.cs',
+ 'Gst.Base/CollectPads.cs',
+ 'Gst.Base/CollectPadsBufferFunction.cs',
+ 'Gst.Base/CollectPadsClipFunction.cs',
+ 'Gst.Base/CollectPadsCompareFunction.cs',
+ 'Gst.Base/CollectPadsEventFunction.cs',
+ 'Gst.Base/CollectPadsFlushFunction.cs',
+ 'Gst.Base/CollectPadsFunction.cs',
+ 'Gst.Base/CollectPadsQueryFunction.cs',
+ 'Gst.Base/CollectPadsStateFlags.cs',
+ 'Gst.Base/Constants.cs',
+ 'Gst.Base/DataQueue.cs',
+ 'Gst.Base/DataQueueCheckFullFunction.cs',
+ 'Gst.Base/DataQueueEmptyCallback.cs',
+ 'Gst.Base/DataQueueFullCallback.cs',
+ 'Gst.Base/DataQueueItem.cs',
+ 'Gst.Base/DataQueueSize.cs',
+ 'Gst.Base/FlowCombiner.cs',
+ 'Gst.Base/Global.cs',
+ 'Gst.Base/Gst.BaseSharp.CollectDataDestroyNotifyNative.cs',
+ 'Gst.Base/Gst.BaseSharp.CollectPadsBufferFunctionNative.cs',
+ 'Gst.Base/Gst.BaseSharp.CollectPadsClipFunctionNative.cs',
+ 'Gst.Base/Gst.BaseSharp.CollectPadsCompareFunctionNative.cs',
+ 'Gst.Base/Gst.BaseSharp.CollectPadsEventFunctionNative.cs',
+ 'Gst.Base/Gst.BaseSharp.CollectPadsFlushFunctionNative.cs',
+ 'Gst.Base/Gst.BaseSharp.CollectPadsFunctionNative.cs',
+ 'Gst.Base/Gst.BaseSharp.CollectPadsQueryFunctionNative.cs',
+ 'Gst.Base/Gst.BaseSharp.DataQueueCheckFullFunctionNative.cs',
+ 'Gst.Base/Gst.BaseSharp.DataQueueEmptyCallbackNative.cs',
+ 'Gst.Base/Gst.BaseSharp.DataQueueFullCallbackNative.cs',
+ 'Gst.Base/Gst.BaseSharp.TypeFindHelperGetRangeFunctionNative.cs',
+ 'Gst.Base/PushSrc.cs',
+ 'Gst.Base/QueueArray.cs',
+ 'Gst.Base/SamplesSelectedHandler.cs',
+ 'Gst.Base/TypeFindHelperGetRangeFunction.cs',
+ 'Gst.Controller/ARGBControlBinding.cs',
+ 'Gst.Controller/Constants.cs',
+ 'Gst.Controller/ControlPoint.cs',
+ 'Gst.Controller/DirectControlBinding.cs',
+ 'Gst.Controller/DirectControlBindingConvertGValue.cs',
+ 'Gst.Controller/DirectControlBindingConvertValue.cs',
+ 'Gst.Controller/Global.cs',
+ 'Gst.Controller/Gst.ControllerSharp.DirectControlBindingConvertGValueNative.cs',
+ 'Gst.Controller/Gst.ControllerSharp.DirectControlBindingConvertValueNative.cs',
+ 'Gst.Controller/InterpolationControlSource.cs',
+ 'Gst.Controller/InterpolationMode.cs',
+ 'Gst.Controller/LFOControlSource.cs',
+ 'Gst.Controller/LFOWaveform.cs',
+ 'Gst.Controller/ProxyControlBinding.cs',
+ 'Gst.Controller/TimedValueControlSource.cs',
+ 'Gst.Controller/TriggerControlSource.cs',
+ 'Gst.Controller/ValueAddedHandler.cs',
+ 'Gst.Controller/ValueChangedHandler.cs',
+ 'Gst.Controller/ValueRemovedHandler.cs',
+ 'Gst.FFT/Constants.cs',
+ 'Gst.FFT/FFTF32.cs',
+ 'Gst.FFT/FFTF32Complex.cs',
+ 'Gst.FFT/FFTF64.cs',
+ 'Gst.FFT/FFTF64Complex.cs',
+ 'Gst.FFT/FFTS16.cs',
+ 'Gst.FFT/FFTS16Complex.cs',
+ 'Gst.FFT/FFTS32.cs',
+ 'Gst.FFT/FFTS32Complex.cs',
+ 'Gst.FFT/FFTWindow.cs',
+ 'Gst.FFT/Global.cs',
+ 'Gst.Net/Constants.cs',
+ 'Gst.Net/Global.cs',
+ 'Gst.Net/Gst.NetSharp.PtpStatisticsCallbackNative.cs',
+ 'Gst.Net/NetAddressMeta.cs',
+ 'Gst.Net/NetClientClock.cs',
+ 'Gst.Net/NetControlMessageMeta.cs',
+ 'Gst.Net/NetTimePacket.cs',
+ 'Gst.Net/NetTimeProvider.cs',
+ 'Gst.Net/PtpClock.cs',
+ 'Gst.Net/PtpStatisticsCallback.cs',
+ 'Gst.PbUtils/AudioVisualizer.cs',
+ 'Gst.PbUtils/AudioVisualizerShader.cs',
+ 'Gst.PbUtils/AudioVisualizerShaderFunc.cs',
+ 'Gst.PbUtils/Constants.cs',
+ 'Gst.PbUtils/DiscoveredHandler.cs',
+ 'Gst.PbUtils/Discoverer.cs',
+ 'Gst.PbUtils/DiscovererAudioInfo.cs',
+ 'Gst.PbUtils/DiscovererContainerInfo.cs',
+ 'Gst.PbUtils/DiscovererInfo.cs',
+ 'Gst.PbUtils/DiscovererResult.cs',
+ 'Gst.PbUtils/DiscovererSerializeFlags.cs',
+ 'Gst.PbUtils/DiscovererStreamInfo.cs',
+ 'Gst.PbUtils/DiscovererSubtitleInfo.cs',
+ 'Gst.PbUtils/DiscovererVideoInfo.cs',
+ 'Gst.PbUtils/EncodingAudioProfile.cs',
+ 'Gst.PbUtils/EncodingContainerProfile.cs',
+ 'Gst.PbUtils/EncodingProfile.cs',
+ 'Gst.PbUtils/EncodingTarget.cs',
+ 'Gst.PbUtils/EncodingVideoProfile.cs',
+ 'Gst.PbUtils/Global.cs',
+ 'Gst.PbUtils/Gst.PbUtilsSharp.AudioVisualizerShaderFuncNative.cs',
+ 'Gst.PbUtils/Gst.PbUtilsSharp.InstallPluginsResultFuncNative.cs',
+ 'Gst.PbUtils/InstallPluginsContext.cs',
+ 'Gst.PbUtils/InstallPluginsResultFunc.cs',
+ 'Gst.PbUtils/InstallPluginsReturn.cs',
+ 'Gst.PbUtils/SourceSetupHandler.cs',
+ 'Gst.Rtp/Constants.cs',
+ 'Gst.Rtp/Global.cs',
+ 'Gst.Rtp/RTCPBuffer.cs',
+ 'Gst.Rtp/RTCPFBType.cs',
+ 'Gst.Rtp/RTCPPacket.cs',
+ 'Gst.Rtp/RTCPSDESType.cs',
+ 'Gst.Rtp/RTCPType.cs',
+ 'Gst.Rtp/RTCPXRType.cs',
+ 'Gst.Rtp/RTPBaseAudioPayload.cs',
+ 'Gst.Rtp/RTPBaseDepayload.cs',
+ 'Gst.Rtp/RTPBasePayload.cs',
+ 'Gst.Rtp/RTPBuffer.cs',
+ 'Gst.Rtp/RTPBufferFlags.cs',
+ 'Gst.Rtp/RTPBufferMapFlags.cs',
+ 'Gst.Rtp/RTPPayload.cs',
+ 'Gst.Rtp/RTPPayloadInfo.cs',
+ 'Gst.Rtp/RTPProfile.cs',
+ 'Gst.Rtp/RTPSourceMeta.cs',
+ 'Gst.Rtsp/Constants.cs',
+ 'Gst.Rtsp/Global.cs',
+ 'Gst.Rtsp/Gst.RtspSharp.RTSPConnectionAcceptCertificateFuncNative.cs',
+ 'Gst.Rtsp/IRTSPExtension.cs',
+ 'Gst.Rtsp/RTSPAuthCredential.cs',
+ 'Gst.Rtsp/RTSPAuthMethod.cs',
+ 'Gst.Rtsp/RTSPAuthParam.cs',
+ 'Gst.Rtsp/RTSPConnection.cs',
+ 'Gst.Rtsp/RTSPConnectionAcceptCertificateFunc.cs',
+ 'Gst.Rtsp/RTSPEvent.cs',
+ 'Gst.Rtsp/RTSPExtensionAdapter.cs',
+ 'Gst.Rtsp/RTSPFamily.cs',
+ 'Gst.Rtsp/RTSPHeaderField.cs',
+ 'Gst.Rtsp/RTSPLowerTrans.cs',
+ 'Gst.Rtsp/RTSPMessage.cs',
+ 'Gst.Rtsp/RTSPMethod.cs',
+ 'Gst.Rtsp/RTSPMsgType.cs',
+ 'Gst.Rtsp/RTSPProfile.cs',
+ 'Gst.Rtsp/RTSPRange.cs',
+ 'Gst.Rtsp/RTSPRangeUnit.cs',
+ 'Gst.Rtsp/RTSPResult.cs',
+ 'Gst.Rtsp/RTSPState.cs',
+ 'Gst.Rtsp/RTSPStatusCode.cs',
+ 'Gst.Rtsp/RTSPTime.cs',
+ 'Gst.Rtsp/RTSPTime2.cs',
+ 'Gst.Rtsp/RTSPTimeRange.cs',
+ 'Gst.Rtsp/RTSPTimeType.cs',
+ 'Gst.Rtsp/RTSPTransMode.cs',
+ 'Gst.Rtsp/RTSPTransport.cs',
+ 'Gst.Rtsp/RTSPUrl.cs',
+ 'Gst.Rtsp/RTSPVersion.cs',
+ 'Gst.Rtsp/RTSPWatch.cs',
+ 'Gst.Rtsp/RTSPWatchFuncs.cs',
+ 'Gst.Rtsp/SendEventHandler.cs',
+ 'Gst.Sdp/Constants.cs',
+ 'Gst.Sdp/Global.cs',
+ 'Gst.Sdp/MIKEYCacheType.cs',
+ 'Gst.Sdp/MIKEYDecryptInfo.cs',
+ 'Gst.Sdp/MIKEYEncAlg.cs',
+ 'Gst.Sdp/MIKEYEncryptInfo.cs',
+ 'Gst.Sdp/MIKEYKVType.cs',
+ 'Gst.Sdp/MIKEYKeyDataType.cs',
+ 'Gst.Sdp/MIKEYMacAlg.cs',
+ 'Gst.Sdp/MIKEYMapSRTP.cs',
+ 'Gst.Sdp/MIKEYMapType.cs',
+ 'Gst.Sdp/MIKEYMessage.cs',
+ 'Gst.Sdp/MIKEYPRFFunc.cs',
+ 'Gst.Sdp/MIKEYPayload.cs',
+ 'Gst.Sdp/MIKEYPayloadKEMAC.cs',
+ 'Gst.Sdp/MIKEYPayloadKeyData.cs',
+ 'Gst.Sdp/MIKEYPayloadPKE.cs',
+ 'Gst.Sdp/MIKEYPayloadRAND.cs',
+ 'Gst.Sdp/MIKEYPayloadSP.cs',
+ 'Gst.Sdp/MIKEYPayloadSPParam.cs',
+ 'Gst.Sdp/MIKEYPayloadT.cs',
+ 'Gst.Sdp/MIKEYPayloadType.cs',
+ 'Gst.Sdp/MIKEYSecProto.cs',
+ 'Gst.Sdp/MIKEYSecSRTP.cs',
+ 'Gst.Sdp/MIKEYTSType.cs',
+ 'Gst.Sdp/MIKEYType.cs',
+ 'Gst.Sdp/SDPAttribute.cs',
+ 'Gst.Sdp/SDPBandwidth.cs',
+ 'Gst.Sdp/SDPConnection.cs',
+ 'Gst.Sdp/SDPKey.cs',
+ 'Gst.Sdp/SDPMedia.cs',
+ 'Gst.Sdp/SDPMessage.cs',
+ 'Gst.Sdp/SDPOrigin.cs',
+ 'Gst.Sdp/SDPResult.cs',
+ 'Gst.Sdp/SDPTime.cs',
+ 'Gst.Sdp/SDPZone.cs',
+ 'Gst.Tags/Constants.cs',
+ 'Gst.Tags/Global.cs',
+ 'Gst.Tags/ITagXmpWriter.cs',
+ 'Gst.Tags/TagDemux.cs',
+ 'Gst.Tags/TagDemuxResult.cs',
+ 'Gst.Tags/TagImageType.cs',
+ 'Gst.Tags/TagLicenseFlags.cs',
+ 'Gst.Tags/TagMux.cs',
+ 'Gst.Tags/TagXmpWriterAdapter.cs',
+ 'Gst.Video/ColorBalanceAdapter.cs',
+ 'Gst.Video/ColorBalanceChannel.cs',
+ 'Gst.Video/ColorBalanceType.cs',
+ 'Gst.Video/Constants.cs',
+ 'Gst.Video/Global.cs',
+ 'Gst.Video/Gst.VideoSharp.VideoAffineTransformationGetMatrixNative.cs',
+ 'Gst.Video/Gst.VideoSharp.VideoConvertSampleCallbackNative.cs',
+ 'Gst.Video/Gst.VideoSharp.VideoFormatPackNative.cs',
+ 'Gst.Video/Gst.VideoSharp.VideoFormatUnpackNative.cs',
+ 'Gst.Video/Gst.VideoSharp.VideoGLTextureUploadNative.cs',
+ 'Gst.Video/IColorBalance.cs',
+ 'Gst.Video/INavigation.cs',
+ 'Gst.Video/IVideoDirection.cs',
+ 'Gst.Video/IVideoOrientation.cs',
+ 'Gst.Video/IVideoOverlay.cs',
+ 'Gst.Video/NavigationAdapter.cs',
+ 'Gst.Video/NavigationCommand.cs',
+ 'Gst.Video/NavigationEventType.cs',
+ 'Gst.Video/NavigationMessageType.cs',
+ 'Gst.Video/NavigationQueryType.cs',
+ 'Gst.Video/ValueChangedEventHandler.cs',
+ 'Gst.Video/ValueChangedHandler.cs',
+ 'Gst.Video/VideoAFDMeta.cs',
+ 'Gst.Video/VideoAFDSpec.cs',
+ 'Gst.Video/VideoAFDValue.cs',
+ 'Gst.Video/VideoAffineTransformationGetMatrix.cs',
+ 'Gst.Video/VideoAffineTransformationMeta.cs',
+ 'Gst.Video/VideoAggregator.cs',
+ 'Gst.Video/VideoAggregatorConvertPad.cs',
+ 'Gst.Video/VideoAggregatorPad.cs',
+ 'Gst.Video/VideoAlignment.cs',
+ 'Gst.Video/VideoAlphaMode.cs',
+ 'Gst.Video/VideoAncillary.cs',
+ 'Gst.Video/VideoAncillaryDID.cs',
+ 'Gst.Video/VideoAncillaryDID16.cs',
+ 'Gst.Video/VideoBarMeta.cs',
+ 'Gst.Video/VideoBufferFlags.cs',
+ 'Gst.Video/VideoBufferPool.cs',
+ 'Gst.Video/VideoCaptionMeta.cs',
+ 'Gst.Video/VideoCaptionType.cs',
+ 'Gst.Video/VideoChromaFlags.cs',
+ 'Gst.Video/VideoChromaMethod.cs',
+ 'Gst.Video/VideoChromaMode.cs',
+ 'Gst.Video/VideoChromaResample.cs',
+ 'Gst.Video/VideoChromaSite.cs',
+ 'Gst.Video/VideoCodecFrame.cs',
+ 'Gst.Video/VideoCodecFrameFlags.cs',
+ 'Gst.Video/VideoCodecState.cs',
+ 'Gst.Video/VideoColorMatrix.cs',
+ 'Gst.Video/VideoColorPrimaries.cs',
+ 'Gst.Video/VideoColorPrimariesInfo.cs',
+ 'Gst.Video/VideoColorRange.cs',
+ 'Gst.Video/VideoColorimetry.cs',
+ 'Gst.Video/VideoContentLightLevel.cs',
+ 'Gst.Video/VideoConvertSampleCallback.cs',
+ 'Gst.Video/VideoConverter.cs',
+ 'Gst.Video/VideoCropMeta.cs',
+ 'Gst.Video/VideoDecoder.cs',
+ 'Gst.Video/VideoDecoderRequestSyncPointFlags.cs',
+ 'Gst.Video/VideoDirectionAdapter.cs',
+ 'Gst.Video/VideoDither.cs',
+ 'Gst.Video/VideoDitherFlags.cs',
+ 'Gst.Video/VideoDitherMethod.cs',
+ 'Gst.Video/VideoEncoder.cs',
+ 'Gst.Video/VideoFieldOrder.cs',
+ 'Gst.Video/VideoFilter.cs',
+ 'Gst.Video/VideoFlags.cs',
+ 'Gst.Video/VideoFormat.cs',
+ 'Gst.Video/VideoFormatFlags.cs',
+ 'Gst.Video/VideoFormatInfo.cs',
+ 'Gst.Video/VideoFormatPack.cs',
+ 'Gst.Video/VideoFormatUnpack.cs',
+ 'Gst.Video/VideoFrame.cs',
+ 'Gst.Video/VideoFrameFlags.cs',
+ 'Gst.Video/VideoFrameMapFlags.cs',
+ 'Gst.Video/VideoGLTextureOrientation.cs',
+ 'Gst.Video/VideoGLTextureType.cs',
+ 'Gst.Video/VideoGLTextureUpload.cs',
+ 'Gst.Video/VideoGLTextureUploadMeta.cs',
+ 'Gst.Video/VideoGammaMode.cs',
+ 'Gst.Video/VideoInfo.cs',
+ 'Gst.Video/VideoInterlaceMode.cs',
+ 'Gst.Video/VideoMasteringDisplayInfo.cs',
+ 'Gst.Video/VideoMasteringDisplayInfoCoordinates.cs',
+ 'Gst.Video/VideoMatrixMode.cs',
+ 'Gst.Video/VideoMeta.cs',
+ 'Gst.Video/VideoMetaTransform.cs',
+ 'Gst.Video/VideoMultiviewFlags.cs',
+ 'Gst.Video/VideoMultiviewFlagsSet.cs',
+ 'Gst.Video/VideoMultiviewFramePacking.cs',
+ 'Gst.Video/VideoMultiviewMode.cs',
+ 'Gst.Video/VideoOrientationAdapter.cs',
+ 'Gst.Video/VideoOrientationMethod.cs',
+ 'Gst.Video/VideoOverlayAdapter.cs',
+ 'Gst.Video/VideoOverlayComposition.cs',
+ 'Gst.Video/VideoOverlayCompositionMeta.cs',
+ 'Gst.Video/VideoOverlayFormatFlags.cs',
+ 'Gst.Video/VideoOverlayProperties.cs',
+ 'Gst.Video/VideoOverlayRectangle.cs',
+ 'Gst.Video/VideoPackFlags.cs',
+ 'Gst.Video/VideoPrimariesMode.cs',
+ 'Gst.Video/VideoRectangle.cs',
+ 'Gst.Video/VideoRegionOfInterestMeta.cs',
+ 'Gst.Video/VideoResampler.cs',
+ 'Gst.Video/VideoResamplerFlags.cs',
+ 'Gst.Video/VideoResamplerMethod.cs',
+ 'Gst.Video/VideoScaler.cs',
+ 'Gst.Video/VideoScalerFlags.cs',
+ 'Gst.Video/VideoSink.cs',
+ 'Gst.Video/VideoTileMode.cs',
+ 'Gst.Video/VideoTileType.cs',
+ 'Gst.Video/VideoTimeCode.cs',
+ 'Gst.Video/VideoTimeCodeConfig.cs',
+ 'Gst.Video/VideoTimeCodeFlags.cs',
+ 'Gst.Video/VideoTimeCodeInterval.cs',
+ 'Gst.Video/VideoTimeCodeMeta.cs',
+ 'Gst.Video/VideoTransferFunction.cs',
+ 'Gst.Video/VideoVBIEncoder.cs',
+ 'Gst.Video/VideoVBIParser.cs',
+ 'Gst.Video/VideoVBIParserResult.cs',
+ 'Gst.WebRTC/Constants.cs',
+ 'Gst.WebRTC/Global.cs',
+ 'Gst.WebRTC/OnErrorEventHandler.cs',
+ 'Gst.WebRTC/OnErrorHandler.cs',
+ 'Gst.WebRTC/OnMessageDataEventHandler.cs',
+ 'Gst.WebRTC/OnMessageDataHandler.cs',
+ 'Gst.WebRTC/OnMessageStringEventHandler.cs',
+ 'Gst.WebRTC/OnMessageStringHandler.cs',
+ 'Gst.WebRTC/OnNewCandidateHandler.cs',
+ 'Gst.WebRTC/SendDataEventHandler.cs',
+ 'Gst.WebRTC/SendStringEventHandler.cs',
+ 'Gst.WebRTC/WebRTCBundlePolicy.cs',
+ 'Gst.WebRTC/WebRTCDTLSSetup.cs',
+ 'Gst.WebRTC/WebRTCDTLSTransport.cs',
+ 'Gst.WebRTC/WebRTCDTLSTransportState.cs',
+ 'Gst.WebRTC/WebRTCDataChannel.cs',
+ 'Gst.WebRTC/WebRTCDataChannelState.cs',
+ 'Gst.WebRTC/WebRTCFECType.cs',
+ 'Gst.WebRTC/WebRTCICEComponent.cs',
+ 'Gst.WebRTC/WebRTCICEConnectionState.cs',
+ 'Gst.WebRTC/WebRTCICEGatheringState.cs',
+ 'Gst.WebRTC/WebRTCICERole.cs',
+ 'Gst.WebRTC/WebRTCICETransport.cs',
+ 'Gst.WebRTC/WebRTCICETransportPolicy.cs',
+ 'Gst.WebRTC/WebRTCKind.cs',
+ 'Gst.WebRTC/WebRTCPeerConnectionState.cs',
+ 'Gst.WebRTC/WebRTCPriorityType.cs',
+ 'Gst.WebRTC/WebRTCRTPReceiver.cs',
+ 'Gst.WebRTC/WebRTCRTPSender.cs',
+ 'Gst.WebRTC/WebRTCRTPTransceiver.cs',
+ 'Gst.WebRTC/WebRTCRTPTransceiverDirection.cs',
+ 'Gst.WebRTC/WebRTCSCTPTransportState.cs',
+ 'Gst.WebRTC/WebRTCSDPType.cs',
+ 'Gst.WebRTC/WebRTCSessionDescription.cs',
+ 'Gst.WebRTC/WebRTCSignalingState.cs',
+ 'Gst.WebRTC/WebRTCStatsType.cs',
+ 'Gst/AllocationParams.cs',
+ 'Gst/Allocator.cs',
+ 'Gst/AllocatorFlags.cs',
+ 'Gst/Application.cs',
+ 'Gst/AtomicQueue.cs',
+ 'Gst/Bin.cs',
+ 'Gst/BinFlags.cs',
+ 'Gst/Bitmask.cs',
+ 'Gst/Buffer.cs',
+ 'Gst/BufferCopyFlags.cs',
+ 'Gst/BufferFlags.cs',
+ 'Gst/BufferForeachMetaFunc.cs',
+ 'Gst/BufferList.cs',
+ 'Gst/BufferListFunc.cs',
+ 'Gst/BufferPool.cs',
+ 'Gst/BufferPoolAcquireFlags.cs',
+ 'Gst/BufferPoolAcquireParams.cs',
+ 'Gst/BufferingMode.cs',
+ 'Gst/Bus.cs',
+ 'Gst/BusFlags.cs',
+ 'Gst/BusFunc.cs',
+ 'Gst/BusSyncHandler.cs',
+ 'Gst/BusSyncReply.cs',
+ 'Gst/Caps.cs',
+ 'Gst/CapsFeatures.cs',
+ 'Gst/CapsFilterMapFunc.cs',
+ 'Gst/CapsFlags.cs',
+ 'Gst/CapsForeachFunc.cs',
+ 'Gst/CapsIntersectMode.cs',
+ 'Gst/CapsMapFunc.cs',
+ 'Gst/ChildAddedEventHandler.cs',
+ 'Gst/ChildProxyAdapter.cs',
+ 'Gst/ChildRemovedEventHandler.cs',
+ 'Gst/Clock.cs',
+ 'Gst/ClockCallback.cs',
+ 'Gst/ClockEntry.cs',
+ 'Gst/ClockEntryType.cs',
+ 'Gst/ClockFlags.cs',
+ 'Gst/ClockReturn.cs',
+ 'Gst/ClockType.cs',
+ 'Gst/Constants.cs',
+ 'Gst/Context.cs',
+ 'Gst/ControlBinding.cs',
+ 'Gst/ControlBindingConvert.cs',
+ 'Gst/ControlSource.cs',
+ 'Gst/ControlSourceGetValue.cs',
+ 'Gst/ControlSourceGetValueArray.cs',
+ 'Gst/CoreError.cs',
+ 'Gst/CustomMeta.cs',
+ 'Gst/CustomMetaTransformFunction.cs',
+ 'Gst/DateTime.cs',
+ 'Gst/Debug.cs',
+ 'Gst/DebugCategory.cs',
+ 'Gst/DebugColorFlags.cs',
+ 'Gst/DebugColorMode.cs',
+ 'Gst/DebugFuncPtr.cs',
+ 'Gst/DebugGraphDetails.cs',
+ 'Gst/DebugLevel.cs',
+ 'Gst/DebugMessage.cs',
+ 'Gst/DeepElementAddedHandler.cs',
+ 'Gst/DeepElementRemovedHandler.cs',
+ 'Gst/DeepNotifyHandler.cs',
+ 'Gst/Device.cs',
+ 'Gst/DeviceMonitor.cs',
+ 'Gst/DeviceProvider.cs',
+ 'Gst/DeviceProviderFactory.cs',
+ 'Gst/DoLatencyHandler.cs',
+ 'Gst/DynamicTypeFactory.cs',
+ 'Gst/Element.cs',
+ 'Gst/ElementAddedHandler.cs',
+ 'Gst/ElementCallAsyncFunc.cs',
+ 'Gst/ElementFactory.cs',
+ 'Gst/ElementFlags.cs',
+ 'Gst/ElementForeachPadFunc.cs',
+ 'Gst/ElementRemovedHandler.cs',
+ 'Gst/Event.cs',
+ 'Gst/EventType.cs',
+ 'Gst/EventTypeFlags.cs',
+ 'Gst/FeatureAddedHandler.cs',
+ 'Gst/FlagSet.cs',
+ 'Gst/FlowReturn.cs',
+ 'Gst/Format.cs',
+ 'Gst/FormatDefinition.cs',
+ 'Gst/GapFlags.cs',
+ 'Gst/GhostPad.cs',
+ 'Gst/Global.cs',
+ 'Gst/GstSharp.BufferForeachMetaFuncNative.cs',
+ 'Gst/GstSharp.BufferListFuncNative.cs',
+ 'Gst/GstSharp.BusFuncNative.cs',
+ 'Gst/GstSharp.BusSyncHandlerNative.cs',
+ 'Gst/GstSharp.CapsFilterMapFuncNative.cs',
+ 'Gst/GstSharp.CapsForeachFuncNative.cs',
+ 'Gst/GstSharp.CapsMapFuncNative.cs',
+ 'Gst/GstSharp.ClockCallbackNative.cs',
+ 'Gst/GstSharp.ControlBindingConvertNative.cs',
+ 'Gst/GstSharp.ControlSourceGetValueArrayNative.cs',
+ 'Gst/GstSharp.ControlSourceGetValueNative.cs',
+ 'Gst/GstSharp.CustomMetaTransformFunctionNative.cs',
+ 'Gst/GstSharp.DebugFuncPtrNative.cs',
+ 'Gst/GstSharp.ElementCallAsyncFuncNative.cs',
+ 'Gst/GstSharp.ElementForeachPadFuncNative.cs',
+ 'Gst/GstSharp.IteratorCopyFunctionNative.cs',
+ 'Gst/GstSharp.IteratorFoldFunctionNative.cs',
+ 'Gst/GstSharp.IteratorForeachFunctionNative.cs',
+ 'Gst/GstSharp.IteratorFreeFunctionNative.cs',
+ 'Gst/GstSharp.IteratorItemFunctionNative.cs',
+ 'Gst/GstSharp.IteratorNextFunctionNative.cs',
+ 'Gst/GstSharp.IteratorResyncFunctionNative.cs',
+ 'Gst/GstSharp.LogFunctionNative.cs',
+ 'Gst/GstSharp.MemoryCopyFunctionNative.cs',
+ 'Gst/GstSharp.MemoryIsSpanFunctionNative.cs',
+ 'Gst/GstSharp.MemoryMapFullFunctionNative.cs',
+ 'Gst/GstSharp.MemoryMapFunctionNative.cs',
+ 'Gst/GstSharp.MemoryShareFunctionNative.cs',
+ 'Gst/GstSharp.MemoryUnmapFullFunctionNative.cs',
+ 'Gst/GstSharp.MemoryUnmapFunctionNative.cs',
+ 'Gst/GstSharp.MetaFreeFunctionNative.cs',
+ 'Gst/GstSharp.MetaInitFunctionNative.cs',
+ 'Gst/GstSharp.MetaTransformFunctionNative.cs',
+ 'Gst/GstSharp.MiniObjectCopyFunctionNative.cs',
+ 'Gst/GstSharp.MiniObjectDisposeFunctionNative.cs',
+ 'Gst/GstSharp.MiniObjectFreeFunctionNative.cs',
+ 'Gst/GstSharp.MiniObjectNotifyNative.cs',
+ 'Gst/GstSharp.PadActivateFunctionNative.cs',
+ 'Gst/GstSharp.PadActivateModeFunctionNative.cs',
+ 'Gst/GstSharp.PadChainFunctionNative.cs',
+ 'Gst/GstSharp.PadChainListFunctionNative.cs',
+ 'Gst/GstSharp.PadEventFullFunctionNative.cs',
+ 'Gst/GstSharp.PadEventFunctionNative.cs',
+ 'Gst/GstSharp.PadForwardFunctionNative.cs',
+ 'Gst/GstSharp.PadGetRangeFunctionNative.cs',
+ 'Gst/GstSharp.PadIterIntLinkFunctionNative.cs',
+ 'Gst/GstSharp.PadLinkFunctionNative.cs',
+ 'Gst/GstSharp.PadProbeCallbackNative.cs',
+ 'Gst/GstSharp.PadQueryFunctionNative.cs',
+ 'Gst/GstSharp.PadStickyEventsForeachFunctionNative.cs',
+ 'Gst/GstSharp.PadUnlinkFunctionNative.cs',
+ 'Gst/GstSharp.PluginFeatureFilterNative.cs',
+ 'Gst/GstSharp.PluginFilterNative.cs',
+ 'Gst/GstSharp.PluginInitFullFuncNative.cs',
+ 'Gst/GstSharp.PluginInitFuncNative.cs',
+ 'Gst/GstSharp.PromiseChangeFuncNative.cs',
+ 'Gst/GstSharp.StructureFilterMapFuncNative.cs',
+ 'Gst/GstSharp.StructureForeachFuncNative.cs',
+ 'Gst/GstSharp.StructureMapFuncNative.cs',
+ 'Gst/GstSharp.TagForeachFuncNative.cs',
+ 'Gst/GstSharp.TagMergeFuncNative.cs',
+ 'Gst/GstSharp.TaskFunctionNative.cs',
+ 'Gst/GstSharp.TaskPoolFunctionNative.cs',
+ 'Gst/GstSharp.TaskThreadFuncNative.cs',
+ 'Gst/GstSharp.TypeFindFunctionNative.cs',
+ 'Gst/GstSharp.ValueCompareFuncNative.cs',
+ 'Gst/GstSharp.ValueDeserializeFuncNative.cs',
+ 'Gst/GstSharp.ValueDeserializeWithPSpecFuncNative.cs',
+ 'Gst/GstSharp.ValueSerializeFuncNative.cs',
+ 'Gst/IChildProxy.cs',
+ 'Gst/IPreset.cs',
+ 'Gst/ITagSetter.cs',
+ 'Gst/ITocSetter.cs',
+ 'Gst/IURIHandler.cs',
+ 'Gst/Int64Range.cs',
+ 'Gst/Iterator.cs',
+ 'Gst/IteratorCopyFunction.cs',
+ 'Gst/IteratorFoldFunction.cs',
+ 'Gst/IteratorForeachFunction.cs',
+ 'Gst/IteratorFreeFunction.cs',
+ 'Gst/IteratorItem.cs',
+ 'Gst/IteratorItemFunction.cs',
+ 'Gst/IteratorNextFunction.cs',
+ 'Gst/IteratorResult.cs',
+ 'Gst/IteratorResyncFunction.cs',
+ 'Gst/LibraryError.cs',
+ 'Gst/LinkedHandler.cs',
+ 'Gst/LockFlags.cs',
+ 'Gst/LogFunction.cs',
+ 'Gst/MapFlags.cs',
+ 'Gst/MapInfo.cs',
+ 'Gst/Memory.cs',
+ 'Gst/MemoryCopyFunction.cs',
+ 'Gst/MemoryFlags.cs',
+ 'Gst/MemoryIsSpanFunction.cs',
+ 'Gst/MemoryMapFullFunction.cs',
+ 'Gst/MemoryMapFunction.cs',
+ 'Gst/MemoryShareFunction.cs',
+ 'Gst/MemoryUnmapFullFunction.cs',
+ 'Gst/MemoryUnmapFunction.cs',
+ 'Gst/Message.cs',
+ 'Gst/MessageHandler.cs',
+ 'Gst/MessageType.cs',
+ 'Gst/Meta.cs',
+ 'Gst/MetaFlags.cs',
+ 'Gst/MetaFreeFunction.cs',
+ 'Gst/MetaInfo.cs',
+ 'Gst/MetaInitFunction.cs',
+ 'Gst/MetaTransformCopy.cs',
+ 'Gst/MetaTransformFunction.cs',
+ 'Gst/MiniObject.cs',
+ 'Gst/MiniObjectCopyFunction.cs',
+ 'Gst/MiniObjectDisposeFunction.cs',
+ 'Gst/MiniObjectFlags.cs',
+ 'Gst/MiniObjectFreeFunction.cs',
+ 'Gst/MiniObjectNotify.cs',
+ 'Gst/Object.cs',
+ 'Gst/ObjectFlags.cs',
+ 'Gst/Pad.cs',
+ 'Gst/PadActivateFunction.cs',
+ 'Gst/PadActivateModeFunction.cs',
+ 'Gst/PadAddedHandler.cs',
+ 'Gst/PadChainFunction.cs',
+ 'Gst/PadChainListFunction.cs',
+ 'Gst/PadCreatedEventHandler.cs',
+ 'Gst/PadDirection.cs',
+ 'Gst/PadEventFullFunction.cs',
+ 'Gst/PadEventFunction.cs',
+ 'Gst/PadFlags.cs',
+ 'Gst/PadForwardFunction.cs',
+ 'Gst/PadGetRangeFunction.cs',
+ 'Gst/PadIterIntLinkFunction.cs',
+ 'Gst/PadLinkCheck.cs',
+ 'Gst/PadLinkFunction.cs',
+ 'Gst/PadLinkReturn.cs',
+ 'Gst/PadMode.cs',
+ 'Gst/PadPresence.cs',
+ 'Gst/PadProbeCallback.cs',
+ 'Gst/PadProbeInfo.cs',
+ 'Gst/PadProbeReturn.cs',
+ 'Gst/PadProbeType.cs',
+ 'Gst/PadQueryFunction.cs',
+ 'Gst/PadRemovedHandler.cs',
+ 'Gst/PadStickyEventsForeachFunction.cs',
+ 'Gst/PadTemplate.cs',
+ 'Gst/PadTemplateFlags.cs',
+ 'Gst/PadUnlinkFunction.cs',
+ 'Gst/ParamArray.cs',
+ 'Gst/ParamFraction.cs',
+ 'Gst/ParentBufferMeta.cs',
+ 'Gst/Parse.cs',
+ 'Gst/ParseContext.cs',
+ 'Gst/ParseError.cs',
+ 'Gst/ParseFlags.cs',
+ 'Gst/Pipeline.cs',
+ 'Gst/PipelineFlags.cs',
+ 'Gst/Plugin.cs',
+ 'Gst/PluginAPIFlags.cs',
+ 'Gst/PluginAddedHandler.cs',
+ 'Gst/PluginDependencyFlags.cs',
+ 'Gst/PluginDesc.cs',
+ 'Gst/PluginError.cs',
+ 'Gst/PluginFeature.cs',
+ 'Gst/PluginFeatureFilter.cs',
+ 'Gst/PluginFilter.cs',
+ 'Gst/PluginFlags.cs',
+ 'Gst/PluginInitFullFunc.cs',
+ 'Gst/PluginInitFunc.cs',
+ 'Gst/Poll.cs',
+ 'Gst/PollFD.cs',
+ 'Gst/PresetAdapter.cs',
+ 'Gst/ProgressType.cs',
+ 'Gst/Promise.cs',
+ 'Gst/PromiseChangeFunc.cs',
+ 'Gst/PromiseResult.cs',
+ 'Gst/ProtectionMeta.cs',
+ 'Gst/ProviderHiddenHandler.cs',
+ 'Gst/ProviderUnhiddenHandler.cs',
+ 'Gst/ProxyPad.cs',
+ 'Gst/QOSType.cs',
+ 'Gst/Query.cs',
+ 'Gst/QueryType.cs',
+ 'Gst/QueryTypeFlags.cs',
+ 'Gst/Rank.cs',
+ 'Gst/ReferenceTimestampMeta.cs',
+ 'Gst/Registry.cs',
+ 'Gst/ResourceError.cs',
+ 'Gst/Sample.cs',
+ 'Gst/SchedulingFlags.cs',
+ 'Gst/SearchMode.cs',
+ 'Gst/SeekFlags.cs',
+ 'Gst/SeekType.cs',
+ 'Gst/Segment.cs',
+ 'Gst/SegmentFlags.cs',
+ 'Gst/SharedTaskPool.cs',
+ 'Gst/StackTraceFlags.cs',
+ 'Gst/State.cs',
+ 'Gst/StateChange.cs',
+ 'Gst/StateChangeReturn.cs',
+ 'Gst/StaticCaps.cs',
+ 'Gst/StaticPadTemplate.cs',
+ 'Gst/Stream.cs',
+ 'Gst/StreamCollection.cs',
+ 'Gst/StreamError.cs',
+ 'Gst/StreamFlags.cs',
+ 'Gst/StreamNotifyHandler.cs',
+ 'Gst/StreamStatusType.cs',
+ 'Gst/StreamType.cs',
+ 'Gst/Structure.cs',
+ 'Gst/StructureChangeType.cs',
+ 'Gst/StructureFilterMapFunc.cs',
+ 'Gst/StructureForeachFunc.cs',
+ 'Gst/StructureMapFunc.cs',
+ 'Gst/SyncMessageHandler.cs',
+ 'Gst/SyncedHandler.cs',
+ 'Gst/SystemClock.cs',
+ 'Gst/Tag.cs',
+ 'Gst/TagFlag.cs',
+ 'Gst/TagForeachFunc.cs',
+ 'Gst/TagList.cs',
+ 'Gst/TagMergeFunc.cs',
+ 'Gst/TagMergeMode.cs',
+ 'Gst/TagScope.cs',
+ 'Gst/TagSetterAdapter.cs',
+ 'Gst/Task.cs',
+ 'Gst/TaskFunction.cs',
+ 'Gst/TaskPool.cs',
+ 'Gst/TaskPoolFunction.cs',
+ 'Gst/TaskState.cs',
+ 'Gst/TaskThreadFunc.cs',
+ 'Gst/TimedValue.cs',
+ 'Gst/Toc.cs',
+ 'Gst/TocEntry.cs',
+ 'Gst/TocEntryType.cs',
+ 'Gst/TocLoopType.cs',
+ 'Gst/TocScope.cs',
+ 'Gst/TocSetterAdapter.cs',
+ 'Gst/Tracer.cs',
+ 'Gst/TracerFactory.cs',
+ 'Gst/TracerRecord.cs',
+ 'Gst/TracerValueFlags.cs',
+ 'Gst/TracerValueScope.cs',
+ 'Gst/TypeFind.cs',
+ 'Gst/TypeFindFactory.cs',
+ 'Gst/TypeFindFunction.cs',
+ 'Gst/TypeFindProbability.cs',
+ 'Gst/URIError.cs',
+ 'Gst/URIHandlerAdapter.cs',
+ 'Gst/URIType.cs',
+ 'Gst/UnlinkedHandler.cs',
+ 'Gst/Uri.cs',
+ 'Gst/Util.cs',
+ 'Gst/Value.cs',
+ 'Gst/ValueArray.cs',
+ 'Gst/ValueCompareFunc.cs',
+ 'Gst/ValueDeserializeFunc.cs',
+ 'Gst/ValueDeserializeWithPSpecFunc.cs',
+ 'Gst/ValueList.cs',
+ 'Gst/ValueSerializeFunc.cs',
+ 'Gst/ValueTable.cs',
+ 'GtkSharp/ObjectManager.cs',
+]
+
+run_target('update_gstreamer_code',
+ command: [
+ 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',
+ ]
+)
+
+gst_generate_files = files(generated_sources)
+
+c_abi = files('gstreamer-sharp-abi.c')
+cs_abi = files('gstreamer-sharp-abi.cs')
+
+gst_api_includes = join_paths(meson.current_source_dir(), 'gstreamer-sharp-api.xml')
+gapis = [gst_api_includes]
+gapis_deps = []
diff --git a/subprojects/gstreamer-sharp/sources/gstreamer-sharp-api.raw b/subprojects/gstreamer-sharp/sources/gstreamer-sharp-api.raw
new file mode 100644
index 0000000000..efeba26565
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/gstreamer-sharp-api.raw
@@ -0,0 +1,31880 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<api parser_version="3">
+ <namespace name="Gst" library="gstreamer-1.0">
+ <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"/>
+ <member cname="GST_CLOCK_TYPE_TAI" name="Tai" value="3"/>
+ </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_INSTANT_RATE_CHANGE" name="InstantRateChange" value="46090"/>
+ <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_INSTANT_RATE_SYNC_TIME" name="InstantRateSyncTime" value="66817"/>
+ <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" version="1.14">
+ <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"/>
+ <member cname="GST_QUERY_BITRATE" name="Bitrate" value="51202"/>
+ </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_NON_DROPPABLE" name="NonDroppable" value="65536"/>
+ <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_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"/>
+ <member cname="GST_DEBUG_GRAPH_SHOW_VERBOSE" name="Verbose" value="4294967295"/>
+ </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="GapFlags" cname="GstGapFlags" type="flags" gtype="gst_gap_flags_get_type" version="1.20">
+ <member cname="GST_GAP_FLAG_MISSING_DATA" name="Data" value="1"/>
+ </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="0"/>
+ <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_DEVICE_CHANGED" name="DeviceChanged" value="2147483655"/>
+ <member cname="GST_MESSAGE_INSTANT_RATE_REQUEST" name="InstantRateRequest" value="2147483656"/>
+ <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="PluginAPIFlags" cname="GstPluginAPIFlags" type="flags" gtype="gst_plugin_api_flags_get_type" version="1.18">
+ <member cname="GST_PLUGIN_API_FLAG_IGNORE_ENUM_MEMBERS" name="Members" value="1"/>
+ </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"/>
+ <member cname="GST_SEEK_FLAG_TRICKMODE_FORWARD_PREDICTED" name="TrickmodeForwardPredicted" value="512"/>
+ <member cname="GST_SEEK_FLAG_INSTANT_RATE_CHANGE" name="InstantRateChange" value="1024"/>
+ </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"/>
+ <member cname="GST_SEGMENT_FLAG_TRICKMODE_FORWARD_PREDICTED" name="TrickmodeForwardPredicted" value="512"/>
+ </enum>
+ <enum name="StackTraceFlags" cname="GstStackTraceFlags" type="flags" gtype="gst_stack_trace_flags_get_type" version="1.12">
+ <member cname="GST_STACK_TRACE_SHOW_NONE" name="None" value="0"/>
+ <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="CustomMetaTransformFunction" cname="GstCustomMetaTransformFunction" version="1.20">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="transbuf" type="GstBuffer*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ <parameter name="meta" type="GstCustomMeta*">
+ <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"/>
+ <parameter allow-none="1" closure="5" name="user_data" type="gpointer"/>
+ </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" version="1.14">
+ <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="ValueDeserializeWithPSpecFunc" cname="GstValueDeserializeWithPSpecFunc" version="1.20">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="dest" type="GValue*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ <parameter name="s" type="const-gchar*"/>
+ <parameter name="pspec" type="GParamSpec*"/>
+ </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"/>
+ </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">
+ <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">
+ <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"/>
+ </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-gfilename*"/>
+ </method>
+ <method name="SetAppDir" cname="gst_preset_set_app_dir" shared="true">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="app_dir" type="const-gfilename*"/>
+ </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_type"/>
+ <method vm="get_protocols"/>
+ <method vm="get_uri"/>
+ <method vm="set_uri"/>
+ </class_struct>
+ <virtual_method name="GetType" cname="get_type" shared="true">
+ <return-type type="GstURIType"/>
+ <parameters>
+ <parameter name="type" type="GType"/>
+ </parameters>
+ </virtual_method>
+ <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"/>
+ </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*"/>
+ <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"/>
+ <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"/>
+ </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="IterateAllByElementFactoryName" cname="gst_bin_iterate_all_by_element_factory_name" version="1.18">
+ <return-type type="GstIterator*" owned="true">
+ <warning>missing glib:type-name</warning>
+ </return-type>
+ <parameters>
+ <parameter name="factory_name" type="const-gchar*"/>
+ </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*"/>
+ <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"/>
+ <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"/>
+ </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 allow-none="1" 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 allow-none="1" 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*"/>
+ <field cname="flushing" access="public" writeable="false" readable="true" is_callback="false" name="Flushing" type="gint"/>
+ <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"/>
+ </object>
+ <object name="Bus" cname="GstBus" opaque="false" 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"/>
+ </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*" pass_as="out">
+ <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"/>
+ </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*"/>
+ <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"/>
+ <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"/>
+ </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="IdGetClock" cname="gst_clock_id_get_clock" shared="true" version="1.16">
+ <return-type type="GstClock*" owned="true"/>
+ <parameters>
+ <parameter name="id" 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="IdUsesClock" cname="gst_clock_id_uses_clock" shared="true" version="1.16">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="id" type="gpointer"/>
+ <parameter name="clock" type="GstClock*"/>
+ </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="SetSynced" 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*"/>
+ <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"/>
+ <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"/>
+ </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">
+ <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*"/>
+ <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*"/>
+ <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"/>
+ </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"/>
+ </class_struct>
+ <method name="GetType" cname="gst_control_source_get_type" shared="true">
+ <return-type type="GType"/>
+ </method>
+ <method name="ControlSourceGetValue" 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="ControlSourceGetValueArray" 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*"/>
+ <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"/>
+ </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"/>
+ </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*"/>
+ <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*"/>
+ <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*"/>
+ <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"/>
+ <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"/>
+ </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*"/>
+ <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"/>
+ </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"/>
+ </class_struct>
+ <method name="AddMetadata" cname="gst_device_provider_class_add_metadata" shared="true" version="1.4">
+ <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">
+ <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">
+ <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">
+ <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">
+ <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="DeviceChanged" cname="gst_device_provider_device_changed" version="1.16">
+ <return-type type="void"/>
+ <parameters>
+ <parameter name="device" type="GstDevice*"/>
+ <parameter name="changed_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="IsStarted" cname="gst_device_provider_is_started" version="1.20">
+ <return-type type="gboolean"/>
+ <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*"/>
+ <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"/>
+ <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="false">
+ <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" version="1.12">
+ <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"/>
+ </class_struct>
+ <method name="AddMetadata" cname="gst_element_class_add_metadata" shared="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">
+ <return-type type="void"/>
+ <parameters>
+ <parameter name="templ" type="GstPadTemplate*"/>
+ </parameters>
+ </method>
+ <method name="AddStaticMetadata" cname="gst_element_class_add_static_metadata" shared="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">
+ <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">
+ <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">
+ <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">
+ <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">
+ <return-type type="GList*" element_type="GstPadTemplate*"/>
+ <parameters/>
+ </method>
+ <method name="SetMetadata" cname="gst_element_class_set_metadata" shared="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">
+ <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="GetCurrentClockTime" cname="gst_element_get_current_clock_time" version="1.18">
+ <return-type type="guint64"/>
+ <parameters/>
+ </method>
+ <method name="GetCurrentRunningTime" cname="gst_element_get_current_running_time" version="1.18">
+ <return-type type="guint64"/>
+ <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*"/>
+ <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"/>
+ <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="false" 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">
+ <return-type type="const GList*" element_type="GList*">
+ <warning>missing glib:type-name</warning>
+ </return-type>
+ <parameters/>
+ </method>
+ <method name="GetUriProtocols" cname="gst_element_factory_get_uri_protocols">
+ <return-type type="const gchar* const*" 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="false">
+ <method name="GetType" cname="gst_fraction_get_type" shared="true">
+ <return-type type="GType"/>
+ </method>
+ </struct>
+ <struct name="FractionRange" cname="GstFractionRange" opaque="true" hidden="false">
+ <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"/>
+ </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" deprecated="true">
+ <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="false">
+ <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"/>
+ </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" pass_as="ref"/>
+ <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*"/>
+ <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*"/>
+ <field cname="flags" access="public" writeable="false" 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"/>
+ <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>
+ </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"/>
+ </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="GetSingleInternalLink" cname="gst_pad_get_single_internal_link" version="1.18">
+ <return-type type="GstPad*" owned="true"/>
+ <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="Caps" cname="caps" type="GstCaps*" readable="true" writeable="false" construct="false" construct-only="false"/>
+ <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*"/>
+ <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">
+ <field cname="_gst_reserved" access="public" writeable="true" readable="true" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4"/>
+ <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>
+ </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"/>
+ </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="GetDocumentationCaps" cname="gst_pad_template_get_documentation_caps" version="1.18">
+ <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>
+ <method name="SetDocumentationCaps" cname="gst_pad_template_set_documentation_caps" version="1.18">
+ <return-type type="void"/>
+ <parameters>
+ <parameter name="caps" type="GstCaps*" owned="true">
+ <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="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*"/>
+ <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"/>
+ <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"/>
+ <field cname="documentation_caps" access="public" writeable="true" readable="true" is_callback="false" name="DocumentationCaps" type="GstCaps*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ </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" version="1.12">
+ <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"/>
+ </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*"/>
+ <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"/>
+ </object>
+ <object name="Plugin" cname="GstPlugin" opaque="false" 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="false" 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"/>
+ </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="false" 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*"/>
+ <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>
+ </object>
+ <object name="SharedTaskPool" cname="GstSharedTaskPool" opaque="false" hidden="false" parent="GstTaskPool" version="1.20">
+ <class_struct cname="GstSharedTaskPoolClass" version="1.20">
+ <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GstTaskPoolClass">
+ <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"/>
+ </class_struct>
+ <method name="GetType" cname="gst_shared_task_pool_get_type" shared="true">
+ <return-type type="GType"/>
+ </method>
+ <constructor cname="gst_shared_task_pool_new" disable_void_ctor="" version="1.20"/>
+ <method name="GetMaxThreads" cname="gst_shared_task_pool_get_max_threads" version="1.20">
+ <return-type type="guint"/>
+ <parameters/>
+ </method>
+ <method name="SetMaxThreads" cname="gst_shared_task_pool_set_max_threads" version="1.20">
+ <return-type type="void"/>
+ <parameters>
+ <parameter name="max_threads" type="guint"/>
+ </parameters>
+ </method>
+ <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GstTaskPool*"/>
+ <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GstSharedTaskPoolPrivate*">
+ <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"/>
+ </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"/>
+ </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*"/>
+ <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"/>
+ </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"/>
+ </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*"/>
+ <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"/>
+ <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"/>
+ </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"/>
+ </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"/>
+ </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="Resume" cname="gst_task_resume" version="1.18">
+ <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*"/>
+ <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"/>
+ <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"/>
+ </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"/>
+ <method vm="dispose_handle"/>
+ <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="3"/>
+ </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="DisposeHandle" cname="dispose_handle" version="1.20">
+ <return-type type="void"/>
+ <parameters>
+ <parameter allow-none="1" name="id" type="gpointer*" owned="true"/>
+ </parameters>
+ </virtual_method>
+ <virtual_method name="Join" cname="join">
+ <return-type type="void"/>
+ <parameters>
+ <parameter allow-none="1" name="id" type="gpointer*" owned="true"/>
+ </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*" owned="true"/>
+ <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="DisposeHandle" cname="gst_task_pool_dispose_handle" version="1.20">
+ <return-type type="void"/>
+ <parameters>
+ <parameter allow-none="1" name="id" type="gpointer*" owned="true"/>
+ </parameters>
+ </method>
+ <method name="Join" cname="gst_task_pool_join">
+ <return-type type="void"/>
+ <parameters>
+ <parameter allow-none="1" name="id" type="gpointer*" owned="true"/>
+ </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*" owned="true"/>
+ <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*"/>
+ <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"/>
+ </object>
+ <object name="Tracer" cname="GstTracer" defaultconstructoraccess="protected" opaque="false" hidden="false" parent="GstObject" version="1.8">
+ <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"/>
+ </class_struct>
+ <method name="GetType" cname="gst_tracer_get_type" shared="true">
+ <return-type type="GType"/>
+ </method>
+ <method name="Register" cname="gst_tracer_register" shared="true">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter allow-none="1" name="plugin" type="GstPlugin*"/>
+ <parameter name="name" type="const-gchar*"/>
+ <parameter name="type" type="GType"/>
+ </parameters>
+ </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*"/>
+ <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"/>
+ </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" version="1.14">
+ <return-type type="GType"/>
+ <parameters/>
+ </method>
+ </object>
+ <object name="TracerRecord" cname="GstTracerRecord" opaque="false" hidden="false" parent="GstObject" version="1.8">
+ <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="false" 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* const*" 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="Init" cname="gst_value_array_init" shared="true" version="1.18">
+ <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="prealloc" 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="Init" cname="gst_value_list_init" shared="true" version="1.18">
+ <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="prealloc" 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"/>
+ <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="false" 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="false" hidden="false">
+ <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" array_index="3">
+ <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="1"/>
+ <field cname="dts" access="public" writeable="true" readable="true" is_callback="false" name="Dts" type="guint64"/>
+ <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="gpointer*" owned="true" array="true" array_length_param_index="1"/>
+ <parameter name="size" type="gsize"/>
+ </parameters>
+ </constructor>
+ <constructor cname="gst_buffer_new_wrapped_bytes" version="1.16">
+ <parameters>
+ <parameter name="bytes" type="GBytes*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </parameters>
+ </constructor>
+ <constructor cname="gst_buffer_new_wrapped_full">
+ <parameters>
+ <parameter name="flags" type="GstMemoryFlags"/>
+ <parameter name="data" type="gpointer" 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="AddCustomMeta" cname="gst_buffer_add_custom_meta" version="1.20">
+ <return-type type="GstCustomMeta*">
+ <warning>missing glib:type-name</warning>
+ </return-type>
+ <parameters>
+ <parameter name="name" type="const-gchar*"/>
+ </parameters>
+ </method>
+ <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">
+ <return-type type="gsize"/>
+ <parameters>
+ <parameter name="offset" type="gsize"/>
+ <parameter name="dest" type="gpointer" pass_as="out" array="true" array_length_param_index="2"/>
+ <parameter name="size" type="gsize*" owned="true" pass_as="out" array_index="1"/>
+ </parameters>
+ </method>
+ <method name="ExtractDup" cname="gst_buffer_extract_dup" version="1.0.10">
+ <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="gconstpointer" array="true" array_length_param_index="2"/>
+ <parameter name="size" 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">
+ <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="GetCustomMeta" cname="gst_buffer_get_custom_meta" version="1.20">
+ <return-type type="GstCustomMeta*">
+ <warning>missing glib:type-name</warning>
+ </return-type>
+ <parameters>
+ <parameter name="name" type="const-gchar*"/>
+ </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" 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" version="1.10">
+ <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="gconstpointer" array="true" array_length_param_index="2"/>
+ <parameter name="size" 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="Ref" cname="gst_buffer_ref">
+ <return-type type="GstBuffer*" owned="true">
+ <warning>missing glib:type-name</warning>
+ </return-type>
+ <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="Unref" cname="gst_buffer_unref">
+ <return-type type="void"/>
+ <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="false" 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="Ref" cname="gst_buffer_list_ref">
+ <return-type type="GstBufferList*" owned="true">
+ <warning>missing glib:type-name</warning>
+ </return-type>
+ <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>
+ <method name="Unref" cname="gst_buffer_list_unref">
+ <return-type type="void"/>
+ <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"/>
+ </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="false" hidden="false">
+ <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">
+ <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="Copy" cname="gst_caps_copy">
+ <return-type type="GstCaps*" owned="true">
+ <warning>missing glib:type-name</warning>
+ </return-type>
+ <parameters/>
+ </method>
+ <method name="CopyNth" cname="gst_caps_copy_nth" version="1.16">
+ <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="Ref" cname="gst_caps_ref">
+ <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="SetFeaturesSimple" cname="gst_caps_set_features_simple" version="1.16">
+ <return-type type="void"/>
+ <parameters>
+ <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="Unref" cname="gst_caps_unref">
+ <return-type type="void"/>
+ <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" version="1.2">
+ <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"/>
+ <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"/>
+ <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"/>
+ </struct>
+ <struct name="ClockPrivate" cname="GstClockPrivate" opaque="true" hidden="true"/>
+ <boxed name="Context" cname="GstContext" opaque="false" hidden="false" version="1.2">
+ <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"/>
+ <struct name="CustomMeta" cname="GstCustomMeta" opaque="false" hidden="false" version="1.20">
+ <field cname="meta" access="public" writeable="true" readable="true" is_callback="false" name="Meta" type="GstMeta">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <method name="GetStructure" cname="gst_custom_meta_get_structure" version="1.20">
+ <return-type type="GstStructure*">
+ <warning>missing glib:type-name</warning>
+ </return-type>
+ <parameters/>
+ </method>
+ <method name="HasName" cname="gst_custom_meta_has_name" version="1.20">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="name" type="const-gchar*"/>
+ </parameters>
+ </method>
+ </struct>
+ <boxed name="DateTime" cname="GstDateTime" opaque="false" 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_local_time_usecs" version="1.18">
+ <parameters>
+ <parameter name="usecs" 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_from_unix_epoch_utc_usecs" version="1.18">
+ <parameters>
+ <parameter name="usecs" 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" deprecated="true">
+ <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="false" hidden="false">
+ <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">
+ <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_instant_rate_change" version="1.18">
+ <parameters>
+ <parameter name="rate_multiplier" type="gdouble"/>
+ <parameter name="new_flags" type="GstSegmentFlags"/>
+ </parameters>
+ </constructor>
+ <constructor cname="gst_event_new_instant_rate_sync_time" version="1.18">
+ <parameters>
+ <parameter name="rate_multiplier" type="gdouble"/>
+ <parameter name="running_time" type="guint64"/>
+ <parameter name="upstream_running_time" 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="HasNameId" cname="gst_event_has_name_id" version="1.18">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="name" type="guint32"/>
+ </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="ParseGapFlags" cname="gst_event_parse_gap_flags" version="1.20">
+ <return-type type="void"/>
+ <parameters>
+ <parameter name="flags" type="GstGapFlags" 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="ParseInstantRateChange" cname="gst_event_parse_instant_rate_change" version="1.18">
+ <return-type type="void"/>
+ <parameters>
+ <parameter allow-none="1" name="rate_multiplier" type="gdouble*" owned="true" pass_as="out"/>
+ <parameter allow-none="1" name="new_flags" type="GstSegmentFlags" owned="true" pass_as="out"/>
+ </parameters>
+ </method>
+ <method name="ParseInstantRateSyncTime" cname="gst_event_parse_instant_rate_sync_time" version="1.18">
+ <return-type type="void"/>
+ <parameters>
+ <parameter allow-none="1" name="rate_multiplier" type="gdouble*" owned="true" pass_as="out"/>
+ <parameter allow-none="1" name="running_time" type="guint64" owned="true" pass_as="out"/>
+ <parameter allow-none="1" name="upstream_running_time" type="guint64" 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*" pass_as="out"/>
+ </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="ParseSeekTrickmodeInterval" cname="gst_event_parse_seek_trickmode_interval" version="1.16">
+ <return-type type="void"/>
+ <parameters>
+ <parameter name="interval" type="guint64" 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="Ref" cname="gst_event_ref">
+ <return-type type="GstEvent*" owned="true">
+ <warning>missing glib:type-name</warning>
+ </return-type>
+ <parameters/>
+ </method>
+ <method name="SetGapFlags" cname="gst_event_set_gap_flags" version="1.20">
+ <return-type type="void"/>
+ <parameters>
+ <parameter name="flags" type="GstGapFlags"/>
+ </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="SetSeekTrickmodeInterval" cname="gst_event_set_seek_trickmode_interval" version="1.16">
+ <return-type type="void"/>
+ <parameters>
+ <parameter name="interval" type="guint64"/>
+ </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="Unref" cname="gst_event_unref">
+ <return-type type="void"/>
+ <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="false" 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"/>
+ <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">
+ <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>
+ </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="guint8*" array="true" 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"/>
+ </struct>
+ <boxed name="Memory" cname="GstMemory" opaque="false" hidden="false">
+ <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">
+ <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*" array_index="1">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="maxsize" access="public" writeable="true" readable="true" is_callback="false" name="Maxsize" type="gsize"/>
+ <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="gpointer" 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 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="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*" owned="true" pass_as="out"/>
+ </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="Ref" cname="gst_memory_ref">
+ <return-type type="GstMemory*" owned="true">
+ <warning>missing glib:type-name</warning>
+ </return-type>
+ <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>
+ <method name="Unref" cname="gst_memory_unref">
+ <return-type type="void"/>
+ <parameters/>
+ </method>
+ </boxed>
+ <boxed name="Message" cname="GstMessage" opaque="false" hidden="false">
+ <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">
+ <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_changed" version="1.16">
+ <parameters>
+ <parameter name="src" type="GstObject*"/>
+ <parameter name="device" type="GstDevice*"/>
+ <parameter name="changed_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_instant_rate_request" version="1.18">
+ <parameters>
+ <parameter name="src" type="GstObject*"/>
+ <parameter name="rate_multiplier" type="gdouble"/>
+ </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">
+ <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="const-gchar*" 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="ParseDeviceChanged" cname="gst_message_parse_device_changed" version="1.16">
+ <return-type type="void"/>
+ <parameters>
+ <parameter allow-none="1" name="device" type="GstDevice*" owned="true" pass_as="out"/>
+ <parameter allow-none="1" name="changed_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">
+ <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**" 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**" pass_as="out">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="ParseInstantRateRequest" cname="gst_message_parse_instant_rate_request" version="1.18">
+ <return-type type="void"/>
+ <parameters>
+ <parameter allow-none="1" name="rate_multiplier" type="gdouble*" owned="true" pass_as="out"/>
+ </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="const-gchar*" pass_as="out"/>
+ <parameter allow-none="1" name="property_value" type="GValue**" 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**" pass_as="out">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="Ref" cname="gst_message_ref">
+ <return-type type="GstMessage*" owned="true">
+ <warning>missing glib:type-name</warning>
+ </return-type>
+ <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">
+ <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="Unref" cname="gst_message_unref">
+ <return-type type="void"/>
+ <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="CompareSeqnum" cname="gst_meta_compare_seqnum" version="1.16">
+ <return-type type="gint"/>
+ <parameters>
+ <parameter name="meta2" type="GstMeta*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="GetSeqnum" cname="gst_meta_get_seqnum" version="1.16">
+ <return-type type="guint64"/>
+ <parameters/>
+ </method>
+ <method name="ApiTypeGetTags" cname="gst_meta_api_type_get_tags" shared="true" version="1.2">
+ <return-type type="const gchar* const*" 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**" array="true" null_term_array="true"/>
+ </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>
+ <method name="RegisterCustom" cname="gst_meta_register_custom" shared="true" version="1.20">
+ <return-type type="GstMetaInfo*">
+ <warning>missing glib:type-name</warning>
+ </return-type>
+ <parameters>
+ <parameter name="name" type="const-gchar*"/>
+ <parameter name="tags" type="const gchar**" array="true" null_term_array="true"/>
+ <parameter closure="3" destroy="4" scope="notified" allow-none="1" name="transform_func" type="GstCustomMetaTransformFunction"/>
+ <parameter allow-none="1" name="user_data" type="gpointer"/>
+ <parameter scope="async" name="destroy_data" type="GDestroyNotify"/>
+ </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"/>
+ <method name="IsCustom" cname="gst_meta_info_is_custom" version="1.20">
+ <return-type type="gboolean"/>
+ <parameters/>
+ </method>
+ </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="false" 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="GstMiniObjectCopyFunction"/>
+ <field cname="dispose" access="public" writeable="true" readable="true" is_callback="false" name="Dispose" type="GstMiniObjectDisposeFunction"/>
+ <field cname="free" access="public" writeable="true" readable="true" is_callback="false" name="Free" type="GstMiniObjectFreeFunction"/>
+ <field cname="priv_uint" access="private" writeable="false" readable="false" is_callback="false" name="PrivUint" type="guint"/>
+ <field cname="priv_pointer" access="private" writeable="false" readable="false" is_callback="false" name="PrivPointer" type="gpointer"/>
+ <method name="AddParent" cname="gst_mini_object_add_parent" version="1.16">
+ <return-type type="void"/>
+ <parameters>
+ <parameter name="parent" type="GstMiniObject*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </parameters>
+ </method>
+ <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="Ref" cname="gst_mini_object_ref">
+ <return-type type="GstMiniObject*" owned="true">
+ <warning>missing glib:type-name</warning>
+ </return-type>
+ <parameters/>
+ </method>
+ <method name="RemoveParent" cname="gst_mini_object_remove_parent" version="1.16">
+ <return-type type="void"/>
+ <parameters>
+ <parameter name="parent" type="GstMiniObject*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </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="Unref" cname="gst_mini_object_unref">
+ <return-type type="void"/>
+ <parameters/>
+ </method>
+ <method name="Replace" cname="gst_mini_object_replace" shared="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">
+ <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"/>
+ <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="false">
+ <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="false">
+ <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="false" 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" version="1.12.1">
+ <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"/>
+ </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="FdCtlPri" cname="gst_poll_fd_ctl_pri" version="1.16">
+ <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="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="FdHasPri" cname="gst_poll_fd_has_pri" version="1.16">
+ <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="false" hidden="false" version="1.14">
+ <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">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <constructor cname="gst_promise_new" disable_void_ctor="" version="1.14"/>
+ <constructor cname="gst_promise_new_with_change_func" version="1.14">
+ <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" version="1.14">
+ <return-type type="void"/>
+ <parameters/>
+ </method>
+ <method name="GetReply" cname="gst_promise_get_reply" version="1.14">
+ <return-type type="GstStructure*">
+ <warning>missing glib:type-name</warning>
+ </return-type>
+ <parameters/>
+ </method>
+ <method name="Interrupt" cname="gst_promise_interrupt" version="1.14">
+ <return-type type="void"/>
+ <parameters/>
+ </method>
+ <method name="Reply" cname="gst_promise_reply" version="1.14">
+ <return-type type="void"/>
+ <parameters>
+ <parameter allow-none="1" name="s" type="GstStructure*" owned="true">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="Wait" cname="gst_promise_wait" version="1.14">
+ <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="false" hidden="false">
+ <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">
+ <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_bitrate" disable_void_ctor="" version="1.16"/>
+ <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 allow-none="1" name="_result" type="gboolean*" owned="true" pass_as="out"/>
+ </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="ParseBitrate" cname="gst_query_parse_bitrate" version="1.16">
+ <return-type type="void"/>
+ <parameters>
+ <parameter allow-none="1" name="nominal_bitrate" type="guint*" 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"/>
+ <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="SetBitrate" cname="gst_query_set_bitrate" version="1.16">
+ <return-type type="void"/>
+ <parameters>
+ <parameter name="nominal_bitrate" type="guint"/>
+ </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="const 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="Unref" cname="gst_query_unref">
+ <return-type type="void"/>
+ <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="false" hidden="false">
+ <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="Ref" cname="gst_sample_ref">
+ <return-type type="GstSample*" owned="true">
+ <warning>missing glib:type-name</warning>
+ </return-type>
+ <parameters/>
+ </method>
+ <method name="SetBuffer" cname="gst_sample_set_buffer" version="1.16">
+ <return-type type="void"/>
+ <parameters>
+ <parameter name="buffer" type="GstBuffer*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </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>
+ <method name="SetCaps" cname="gst_sample_set_caps" version="1.16">
+ <return-type type="void"/>
+ <parameters>
+ <parameter name="caps" type="GstCaps*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="SetInfo" cname="gst_sample_set_info" version="1.16">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="info" type="GstStructure*" owned="true">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="SetSegment" cname="gst_sample_set_segment" version="1.16">
+ <return-type type="void"/>
+ <parameters>
+ <parameter name="segment" type="GstSegment*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="Unref" cname="gst_sample_unref">
+ <return-type type="void"/>
+ <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"/>
+ <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" deprecated="true">
+ <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="SharedTaskPoolPrivate" cname="GstSharedTaskPoolPrivate" opaque="true" hidden="true"/>
+ <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"/>
+ <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="false" 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_from_string">
+ <parameters>
+ <parameter name="string" type="const-gchar*"/>
+ <parameter name="end" type="const-gchar*" pass_as="out"/>
+ </parameters>
+ </constructor>
+ <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" version="1.12">
+ <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" version="1.12">
+ <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" version="1.12">
+ <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" version="1.12">
+ <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="Take" cname="gst_structure_take" shared="true" version="1.18">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter allow-none="1" name="oldstr_ptr" type="GstStructure**" owned="true" pass_as="ref">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ <parameter allow-none="1" name="newstr" type="GstStructure*" owned="true">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </parameters>
+ </method>
+ </boxed>
+ <struct name="SystemClockPrivate" cname="GstSystemClockPrivate" opaque="true" hidden="true"/>
+ <boxed name="TagList" cname="GstTagList" opaque="false" hidden="false">
+ <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">
+ <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="Copy" cname="gst_tag_list_copy">
+ <return-type type="GstTagList*" owned="true">
+ <warning>missing glib:type-name</warning>
+ </return-type>
+ <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*" owned="true" pass_as="out"/>
+ </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="Ref" cname="gst_tag_list_ref">
+ <return-type type="GstTagList*" owned="true">
+ <warning>missing glib:type-name</warning>
+ </return-type>
+ <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="Unref" cname="gst_tag_list_unref">
+ <return-type type="void"/>
+ <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="out">
+ <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="false" 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"/>
+ <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="const 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 allow-none="1" 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" deprecated="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="FromStringEscaped" cname="gst_uri_from_string_escaped" shared="true" version="1.18">
+ <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="deserialize_with_pspec" access="public" writeable="true" readable="true" is_callback="false" name="DeserializeWithPspec" type="GstValueDeserializeWithPSpecFunc"/>
+ <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="3"/>
+ </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="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-gfilename*"/>
+ </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-gfilename*"/>
+ </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="DebugLogGetLine" cname="gst_debug_log_get_line" shared="true" version="1.18">
+ <return-type type="gchar*" owned="true"/>
+ <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>
+ </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>
+ <method name="Deinit" cname="gst_deinit" shared="true">
+ <return-type type="void"/>
+ </method>
+ <method name="DynamicTypeRegister" cname="gst_dynamic_type_register" shared="true" version="1.12">
+ <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="FilenameToUri" cname="gst_filename_to_uri" shared="true">
+ <return-type type="gchar*" owned="true"/>
+ <parameters throws="1">
+ <parameter name="filename" type="const-gfilename*"/>
+ <parameter name="error" type="GError**"/>
+ </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="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">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="formats" type="const GstFormat*" array="true" null_term_array="true"/>
+ <parameter name="format" type="GstFormat"/>
+ </parameters>
+ </method>
+ <method name="GetMainExecutablePath" cname="gst_get_main_executable_path" shared="true" version="1.14">
+ <return-type type="const-gchar*"/>
+ </method>
+ <method name="Init" cname="gst_init" shared="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">
+ <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="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* const*" 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**" array="true" null_term_array="true"/>
+ </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="MetaRegisterCustom" cname="gst_meta_register_custom" shared="true" version="1.20">
+ <return-type type="GstMetaInfo*">
+ <warning>missing glib:type-name</warning>
+ </return-type>
+ <parameters>
+ <parameter name="name" type="const-gchar*"/>
+ <parameter name="tags" type="const gchar**" array="true" null_term_array="true"/>
+ <parameter closure="3" destroy="4" scope="notified" allow-none="1" name="transform_func" type="GstCustomMetaTransformFunction"/>
+ <parameter allow-none="1" name="user_data" type="gpointer"/>
+ <parameter scope="async" name="destroy_data" type="GDestroyNotify"/>
+ </parameters>
+ </method>
+ <method name="MiniObjectReplace" cname="gst_mini_object_replace" shared="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">
+ <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="PadModeGetName" cname="gst_pad_mode_get_name" shared="true">
+ <return-type type="const-gchar*"/>
+ <parameters>
+ <parameter name="mode" type="GstPadMode"/>
+ </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="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>
+ <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-gfilename*"/>
+ </method>
+ <method name="PresetSetAppDir" cname="gst_preset_set_app_dir" shared="true">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="app_dir" type="const-gfilename*"/>
+ </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**" array="true" null_term_array="true"/>
+ </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="StructureTake" cname="gst_structure_take" shared="true" version="1.18">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter allow-none="1" name="oldstr_ptr" type="GstStructure**" owned="true" pass_as="ref">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ <parameter allow-none="1" name="newstr" type="GstStructure*" owned="true">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </parameters>
+ </method>
+ <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="out">
+ <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="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="TracingGetActiveTracers" cname="gst_tracing_get_active_tracers" shared="true" version="1.18">
+ <return-type type="GList*" element_type="GstTracer*" elements_owned="true" owned="true"/>
+ </method>
+ <method name="TracingRegisterHook" cname="gst_tracing_register_hook" shared="true" version="1.8">
+ <return-type type="void"/>
+ <parameters>
+ <parameter name="tracer" type="GstTracer*"/>
+ <parameter name="detail" type="const-gchar*"/>
+ <parameter scope="async" name="func" type="GCallback"/>
+ </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 allow-none="1" 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>
+ <method name="TypeIsPluginApi" cname="gst_type_is_plugin_api" shared="true" version="1.18">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="type" type="GType"/>
+ <parameter name="flags" type="GstPluginAPIFlags" owned="true" pass_as="out"/>
+ </parameters>
+ </method>
+ <method name="TypeMarkAsPluginApi" cname="gst_type_mark_as_plugin_api" shared="true" version="1.18">
+ <return-type type="void"/>
+ <parameters>
+ <parameter name="type" type="GType"/>
+ <parameter name="flags" type="GstPluginAPIFlags"/>
+ </parameters>
+ </method>
+ <method name="UpdateRegistry" cname="gst_update_registry" shared="true">
+ <return-type type="gboolean"/>
+ </method>
+ <method name="UriConstruct" cname="gst_uri_construct" shared="true" deprecated="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="UriFromStringEscaped" cname="gst_uri_from_string_escaped" shared="true" version="1.18">
+ <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="const guchar*" array="true" array_length_param_index="1"/>
+ <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>
+ <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="ValueDeserializeWithPspec" cname="gst_value_deserialize_with_pspec" shared="true" version="1.20">
+ <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*"/>
+ <parameter allow-none="1" name="pspec" type="GParamSpec*"/>
+ </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>
+ <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>
+ </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="GstClockTime" 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="Hardware" ctype="gchar*" gtype="gchar*" name="ELEMENT_FACTORY_KLASS_HARDWARE" version="1.16"/>
+ <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="1377" 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="4096" ctype="GstElementFactoryListType" gtype="GstElementFactoryListType" name="ELEMENT_FACTORY_TYPE_HARDWARE"/>
+ <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="GstClockTimeDiff" gtype="GstClockTimeDiff" name="MSECOND"/>
+ <constant value="1" ctype="GstClockTimeDiff" gtype="GstClockTimeDiff" name="NSECOND"/>
+ <constant value="16384" ctype="gint" gtype="gint" name="PARAM_CONDITIONALLY_AVAILABLE" version="1.18"/>
+ <constant value="512" ctype="gint" gtype="gint" name="PARAM_CONTROLLABLE"/>
+ <constant value="8192" ctype="gint" gtype="gint" name="PARAM_DOC_SHOW_DEFAULT" version="1.18"/>
+ <constant value="2048" ctype="gint" gtype="gint" name="PARAM_MUTABLE_PAUSED"/>
+ <constant value="4096" ctype="gint" gtype="gint" name="PARAM_MUTABLE_PLAYING"/>
+ <constant value="1024" ctype="gint" gtype="gint" name="PARAM_MUTABLE_READY"/>
+ <constant value="65536" 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="unspecified-system-id" ctype="gchar*" gtype="gchar*" name="PROTECTION_UNSPECIFIED_SYSTEM_ID" version="1.16"/>
+ <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="GstClockTimeDiff" gtype="GstClockTimeDiff" name="SECOND"/>
+ <constant value="paB" ctype="gchar*" gtype="gchar*" name="SEGMENT_FORMAT"/>
+ <constant value="912" ctype="gint" gtype="gint" name="SEGMENT_INSTANT_FLAGS"/>
+ <constant value="0" ctype="gint" gtype="gint" name="SEQNUM_INVALID" version="1.14"/>
+ <constant value="paS" ctype="gchar*" gtype="gchar*" name="STIMEP_FORMAT" version="1.18"/>
+ <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="paT" ctype="gchar*" gtype="gchar*" name="TIMEP_FORMAT" version="1.18"/>
+ <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="19" ctype="gint" gtype="gint" name="VERSION_MINOR"/>
+ <constant value="1" ctype="gint" gtype="gint" name="VERSION_NANO"/>
+ </object>
+ </namespace>
+ <namespace name="GstApp" library="gstapp-1.0">
+ <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"/>
+ </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 allow-none="1" 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&#10;&#9;&#9;&#9;&#9;&#9;&#9;" 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"/>
+ <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">
+ <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">
+ <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"/>
+ </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 allow-none="1" 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" version="1.2"/>
+ <property name="Duration" cname="duration" type="guint64" readable="true" writeable="true" construct="false" construct-only="false" version="1.10"/>
+ <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="HandleSegmentChange" cname="handle-segment-change" type="gboolean" readable="true" writeable="true" construct="false" construct-only="false" version="1.18"/>
+ <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"/>
+ <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="_object" type="guint"/>
+ </parameters>
+ </signal>
+ <signal name="PushBufferEvent" cname="push-buffer" when="last" field_name="push_buffer">
+ <return-type type="GstFlowReturn"/>
+ <parameters>
+ <parameter name="_object" 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">
+ <return-type type="GstFlowReturn"/>
+ <parameters>
+ <parameter name="_object" 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">
+ <return-type type="GstFlowReturn"/>
+ <parameters>
+ <parameter name="_object" 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="_object" 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"/>
+ </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"/>
+ </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="GstAudio" library="gstaudio-1.0">
+ <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" version="1.10">
+ <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" version="1.10">
+ <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.10">
+ <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" version="1.10">
+ <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="gconstpointer" array="true"/>
+ <parameter name="data" type="gpointer" array="true"/>
+ <parameter name="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="gpointer" array="true"/>
+ <parameter name="data" type="gconstpointer" array="true"/>
+ <parameter name="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"/>
+ </interface>
+ <object name="AudioAggregator" cname="GstAudioAggregator" defaultconstructoraccess="protected" opaque="false" hidden="false" parent="GstAggregator" version="1.14">
+ <class_struct cname="GstAudioAggregatorClass" version="1.14">
+ <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GstAggregatorClass">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <method vm="create_output_buffer"/>
+ <method vm="aggregate_one_buffer"/>
+ <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="20"/>
+ </class_struct>
+ <method name="GetType" cname="gst_audio_aggregator_get_type" shared="true">
+ <return-type type="GType"/>
+ </method>
+ <virtual_method name="AggregateOneBuffer" cname="aggregate_one_buffer">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="pad" type="GstAudioAggregatorPad*"/>
+ <parameter name="inbuf" type="GstBuffer*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ <parameter name="in_offset" type="guint"/>
+ <parameter name="outbuf" type="GstBuffer*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ <parameter name="out_offset" type="guint"/>
+ <parameter name="num_frames" type="guint"/>
+ </parameters>
+ </virtual_method>
+ <virtual_method name="CreateOutputBuffer" cname="create_output_buffer">
+ <return-type type="GstBuffer*" owned="true">
+ <warning>missing glib:type-name</warning>
+ </return-type>
+ <parameters>
+ <parameter name="num_frames" type="guint"/>
+ </parameters>
+ </virtual_method>
+ <method name="SetSinkCaps" cname="gst_audio_aggregator_set_sink_caps">
+ <return-type type="void"/>
+ <parameters>
+ <parameter name="pad" type="GstAudioAggregatorPad*"/>
+ <parameter name="caps" type="GstCaps*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="AlignmentThreshold" cname="alignment-threshold" type="guint64" 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="OutputBufferDuration" cname="output-buffer-duration" type="guint64" readable="true" writeable="true" construct="false" construct-only="false"/>
+ <property name="OutputBufferDurationFraction" cname="output-buffer-duration-fraction" type="*" readable="true" writeable="true" construct="false" construct-only="false" version="1.18"/>
+ <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GstAggregator*"/>
+ <field cname="current_caps" access="public" writeable="false" readable="true" is_callback="false" name="CurrentCaps" type="GstCaps*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GstAudioAggregatorPrivate*">
+ <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"/>
+ </object>
+ <object name="AudioAggregatorConvertPad" cname="GstAudioAggregatorConvertPad" opaque="false" hidden="false" parent="GstAudioAggregatorPad" version="1.14">
+ <class_struct cname="GstAudioAggregatorConvertPadClass" version="1.14">
+ <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GstAudioAggregatorPadClass">
+ <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"/>
+ </class_struct>
+ <method name="GetType" cname="gst_audio_aggregator_convert_pad_get_type" shared="true">
+ <return-type type="GType"/>
+ </method>
+ <property name="ConverterConfig" cname="converter-config" type="GstStructure*" readable="true" writeable="true" construct="false" construct-only="false"/>
+ <field cname="parent" access="private" writeable="false" readable="false" is_callback="false" name="Parent" type="GstAudioAggregatorPad*"/>
+ <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GstAudioAggregatorConvertPadPrivate*">
+ <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"/>
+ </object>
+ <object name="AudioAggregatorPad" cname="GstAudioAggregatorPad" opaque="false" hidden="false" parent="GstAggregatorPad" version="1.14">
+ <class_struct cname="GstAudioAggregatorPadClass" version="1.14">
+ <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GstAggregatorPadClass">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <method vm="convert_buffer"/>
+ <method vm="update_conversion_info"/>
+ <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="20"/>
+ </class_struct>
+ <method name="GetType" cname="gst_audio_aggregator_pad_get_type" shared="true">
+ <return-type type="GType"/>
+ </method>
+ <virtual_method name="ConvertBuffer" cname="convert_buffer">
+ <return-type type="GstBuffer*" owned="true">
+ <warning>missing glib:type-name</warning>
+ </return-type>
+ <parameters>
+ <parameter name="in_info" type="GstAudioInfo*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ <parameter name="out_info" type="GstAudioInfo*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ <parameter name="buffer" type="GstBuffer*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </parameters>
+ </virtual_method>
+ <virtual_method name="UpdateConversionInfo" cname="update_conversion_info">
+ <return-type type="void"/>
+ <parameters/>
+ </virtual_method>
+ <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GstAggregatorPad*"/>
+ <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="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GstAudioAggregatorPadPrivate*">
+ <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"/>
+ </object>
+ <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"/>
+ </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"/>
+ </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"/>
+ </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"/>
+ </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"/>
+ </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"/>
+ <field cname="_gst_reserved2" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved2" type="gpointer" array="true" array_len="2"/>
+ </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"/>
+ </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"/>
+ <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"/>
+ </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"/>
+ </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 allow-none="1" name="buf" type="GstBuffer*" owned="true">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ <parameter name="frames" type="gint"/>
+ </parameters>
+ </method>
+ <method name="FinishSubframe" cname="gst_audio_decoder_finish_subframe" version="1.16">
+ <return-type type="GstFlowReturn"/>
+ <parameters>
+ <parameter allow-none="1" name="buf" type="GstBuffer*" owned="true">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </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 allow-none="1" name="sync" type="gboolean*" owned="true" pass_as="out"/>
+ <parameter allow-none="1" name="eos" type="gboolean*" owned="true" pass_as="out"/>
+ </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="SetOutputCaps" cname="gst_audio_decoder_set_output_caps" version="1.16">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="caps" type="GstCaps*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </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="MaxErrors" cname="max-errors" type="gint" readable="true" writeable="true" construct="false" construct-only="false" version="1.18"/>
+ <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"/>
+ </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"/>
+ </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 allow-none="1" name="buffer" type="GstBuffer*" owned="true">
+ <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"/>
+ </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"/>
+ </class_struct>
+ <method name="AddPadTemplates" 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"/>
+ </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"/>
+ </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*" array="true" array_length_param_index="2"/>
+ <parameter name="in_samples" type="gint" array_index="1"/>
+ <parameter name="out_samples" type="gint"/>
+ <parameter name="accum" type="gint*" owned="true" pass_as="ref"/>
+ </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*" array="true" array_length_param_index="2"/>
+ <parameter name="in_samples" type="gint" array_index="1"/>
+ <parameter name="out_samples" type="gint"/>
+ <parameter name="accum" type="gint*" owned="true" pass_as="ref"/>
+ </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*" owned="true" pass_as="out"/>
+ </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*" owned="true" pass_as="out"/>
+ <parameter name="readptr" type="guint8***" owned="true" pass_as="out" array="true" array_length_param_index="2"/>
+ <parameter name="len" type="gint*" owned="true" pass_as="out" array_index="1"/>
+ </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*" array="true" array_length_param_index="2"/>
+ <parameter name="len" type="guint" array_index="1"/>
+ <parameter name="timestamp" type="guint64" owned="true" pass_as="out"/>
+ </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="const GstAudioChannelPosition*" array="true"/>
+ </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*"/>
+ <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="private" writeable="false" readable="false" 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"/>
+ </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"/>
+ <method vm="pause"/>
+ <method vm="resume"/>
+ <method vm="stop"/>
+ <field cname="extension" access="public" writeable="false" readable="true" is_callback="false" name="Extension" type="GstAudioSinkClassExtension*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ </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="Pause" cname="pause">
+ <return-type type="void"/>
+ <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="Resume" cname="resume">
+ <return-type type="void"/>
+ <parameters/>
+ </virtual_method>
+ <virtual_method name="Stop" cname="stop">
+ <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"/>
+ </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"/>
+ </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"/>
+ </object>
+ <struct name="AudioAggregatorConvertPadPrivate" cname="GstAudioAggregatorConvertPadPrivate" opaque="true" hidden="true"/>
+ <struct name="AudioAggregatorPadPrivate" cname="GstAudioAggregatorPadPrivate" opaque="true" hidden="true"/>
+ <struct name="AudioAggregatorPrivate" cname="GstAudioAggregatorPrivate" opaque="true" hidden="true"/>
+ <struct name="AudioBaseSinkPrivate" cname="GstAudioBaseSinkPrivate" opaque="true" hidden="true"/>
+ <struct name="AudioBaseSrcPrivate" cname="GstAudioBaseSrcPrivate" opaque="true" hidden="true"/>
+ <struct name="AudioBuffer" cname="GstAudioBuffer" opaque="false" hidden="false" version="1.16">
+ <field cname="info" access="public" writeable="true" readable="true" is_callback="false" name="Info" type="GstAudioInfo" array_index="4">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="n_samples" access="public" writeable="true" readable="true" is_callback="false" name="NSamples" type="gsize"/>
+ <field cname="n_planes" access="public" writeable="true" readable="true" is_callback="false" name="NPlanes" type="gint"/>
+ <field cname="planes" access="public" writeable="true" readable="true" is_callback="false" name="Planes" type="gpointer"/>
+ <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_infos" access="private" writeable="false" readable="false" is_callback="false" name="MapInfos" type="GstMapInfo*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="priv_planes_arr" access="private" writeable="false" readable="false" is_callback="false" name="PrivPlanesArr" type="gpointer" array="true" array_len="8"/>
+ <field cname="priv_map_infos_arr" access="private" writeable="false" readable="false" is_callback="false" name="PrivMapInfosArr" type="GstMapInfo" array="true" array_len="8"/>
+ <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4"/>
+ <method name="Map" cname="gst_audio_buffer_map" version="1.16">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="info" type="GstAudioInfo*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ <parameter name="gstbuffer" type="GstBuffer*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ <parameter name="flags" type="GstMapFlags"/>
+ </parameters>
+ </method>
+ <method name="Unmap" cname="gst_audio_buffer_unmap" version="1.16">
+ <return-type type="void"/>
+ <parameters/>
+ </method>
+ <method name="Clip" 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="ReorderChannels" 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" array_index="4"/>
+ <parameter name="from" type="const GstAudioChannelPosition*" array="true" array_length_param_index="2"/>
+ <parameter name="to" type="const GstAudioChannelPosition*" array="true" array_length_param_index="2"/>
+ </parameters>
+ </method>
+ <method name="Truncate" cname="gst_audio_buffer_truncate" shared="true" version="1.16">
+ <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="bpf" type="gint"/>
+ <parameter name="trim" type="gsize"/>
+ <parameter name="samples" type="gsize"/>
+ </parameters>
+ </method>
+ </struct>
+ <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"/>
+ <field cname="_gst_reserved2" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved2" type="gpointer" array="true" array_len="2"/>
+ </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>
+ <boxed name="AudioConverter" cname="GstAudioConverter" opaque="false" hidden="false" version="1.8">
+ <method name="GetType" cname="gst_audio_converter_get_type" shared="true">
+ <return-type type="GType"/>
+ </method>
+ <constructor cname="gst_audio_converter_new">
+ <parameters>
+ <parameter name="flags" type="GstAudioConverterFlags"/>
+ <parameter name="in_info" type="GstAudioInfo*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ <parameter name="out_info" type="GstAudioInfo*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ <parameter name="config" type="GstStructure*" owned="true">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </parameters>
+ </constructor>
+ <method name="Convert" cname="gst_audio_converter_convert" version="1.14">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="flags" type="GstAudioConverterFlags"/>
+ <parameter name="in" type="gpointer" array="true" array_length_param_index="2"/>
+ <parameter name="in_size" type="gsize" array_index="1"/>
+ <parameter name="out" type="gpointer**" owned="true" pass_as="out" array="true" array_length_param_index="4"/>
+ <parameter name="out_size" type="gsize*" owned="true" pass_as="out" array_index="3"/>
+ </parameters>
+ </method>
+ <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 allow-none="1" name="in_rate" type="gint*" owned="true" pass_as="out"/>
+ <parameter allow-none="1" name="out_rate" type="gint*" owned="true" pass_as="out"/>
+ </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="IsPassthrough" cname="gst_audio_converter_is_passthrough" version="1.16">
+ <return-type type="gboolean"/>
+ <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" version="1.12">
+ <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>
+ </boxed>
+ <struct name="AudioDecoderPrivate" cname="GstAudioDecoderPrivate" opaque="true" hidden="true"/>
+ <struct name="AudioDownmixMeta" cname="GstAudioDownmixMeta" 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="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"/>
+ </struct>
+ <boxed name="AudioInfo" cname="GstAudioInfo" opaque="false" 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"/>
+ <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*" owned="true" pass_as="out"/>
+ </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 allow-none="1" name="position" type="const GstAudioChannelPosition*" array="true" array_len="64"/>
+ </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="AudioMeta" cname="GstAudioMeta" opaque="false" hidden="false" version="1.16">
+ <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="GstAudioInfo">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="samples" access="public" writeable="true" readable="true" is_callback="false" name="Samples" type="gsize"/>
+ <field cname="offsets" access="public" writeable="true" readable="true" is_callback="false" name="Offsets" type="gsize"/>
+ <field cname="priv_offsets_arr" access="private" writeable="false" readable="false" is_callback="false" name="PrivOffsetsArr" type="gsize" array="true" array_len="8"/>
+ <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4"/>
+ <method name="GetInfo" cname="gst_audio_meta_get_info" shared="true">
+ <return-type type="GstMetaInfo*">
+ <warning>missing glib:type-name</warning>
+ </return-type>
+ </method>
+ </struct>
+ <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" version="1.10">
+ <method name="Free" cname="gst_audio_resampler_free">
+ <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="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="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"/>
+ </struct>
+ <struct name="AudioSinkClassExtension" cname="GstAudioSinkClassExtension" opaque="false" hidden="false">
+ <field cname="clear_all" access="public" writeable="false" readable="true" is_callback="true" name="ClearAll" type="GstAudioClearAllFunc"/>
+ </struct>
+ <boxed name="AudioStreamAlign" cname="GstAudioStreamAlign" opaque="false" hidden="false" version="1.14">
+ <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" version="1.14">
+ <return-type type="guint64"/>
+ <parameters/>
+ </method>
+ <method name="GetDiscontWait" cname="gst_audio_stream_align_get_discont_wait" version="1.14">
+ <return-type type="guint64"/>
+ <parameters/>
+ </method>
+ <method name="GetRate" cname="gst_audio_stream_align_get_rate" version="1.14">
+ <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" version="1.14">
+ <return-type type="void"/>
+ <parameters>
+ <parameter name="alignment_threshold" type="guint64"/>
+ </parameters>
+ </method>
+ <method name="SetDiscontWait" cname="gst_audio_stream_align_set_discont_wait" version="1.14">
+ <return-type type="void"/>
+ <parameters>
+ <parameter name="discont_wait" type="guint64"/>
+ </parameters>
+ </method>
+ <method name="SetRate" cname="gst_audio_stream_align_set_rate" version="1.14">
+ <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" array_index="4"/>
+ <parameter name="from" type="const GstAudioChannelPosition*" array="true" array_length_param_index="2"/>
+ <parameter name="to" type="const GstAudioChannelPosition*" array="true" array_length_param_index="2"/>
+ </parameters>
+ </method>
+ <method name="AudioBufferTruncate" cname="gst_audio_buffer_truncate" shared="true" version="1.16">
+ <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="bpf" type="gint"/>
+ <parameter name="trim" type="gsize"/>
+ <parameter name="samples" type="gsize"/>
+ </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="const 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" version="1.10">
+ <return-type type="gchar*" owned="true"/>
+ <parameters>
+ <parameter name="position" type="const 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="const 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="gpointer" array="true" array_length_param_index="2"/>
+ <parameter name="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="AudioFormatsRaw" cname="gst_audio_formats_raw" shared="true" version="1.18">
+ <return-type type="const GstAudioFormat*" array="true" array_length_param_index="0"/>
+ <parameters>
+ <parameter name="len" type="guint*" owned="true" pass_as="out"/>
+ </parameters>
+ </method>
+ <method name="AudioGetChannelReorderMap" cname="gst_audio_get_channel_reorder_map" shared="true">
+ <return-type type="gboolean" array_index="3"/>
+ <parameters>
+ <parameter name="channels" type="gint" array_index="3"/>
+ <parameter name="from" type="const GstAudioChannelPosition*" array="true" array_length_param_index="0"/>
+ <parameter name="to" type="const GstAudioChannelPosition*" array="true" array_length_param_index="0"/>
+ <parameter name="reorder_map" type="gint*" array="true" array_length_param_index="0"/>
+ </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="const 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="AudioMakeRawCaps" cname="gst_audio_make_raw_caps" shared="true" version="1.18">
+ <return-type type="GstCaps*" owned="true">
+ <warning>missing glib:type-name</warning>
+ </return-type>
+ <parameters>
+ <parameter allow-none="1" name="formats" type="const GstAudioFormat*" array="true" array_length_param_index="1"/>
+ <parameter name="len" type="guint"/>
+ <parameter name="layout" type="GstAudioLayout"/>
+ </parameters>
+ </method>
+ <method name="AudioMetaApiGetType" cname="gst_audio_meta_api_get_type" shared="true">
+ <return-type type="GType"/>
+ </method>
+ <method name="AudioMetaGetInfo" cname="gst_audio_meta_get_info" shared="true">
+ <return-type type="GstMetaInfo*">
+ <warning>missing glib:type-name</warning>
+ </return-type>
+ </method>
+ <method name="AudioReorderChannels" cname="gst_audio_reorder_channels" shared="true">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="data" type="gpointer" array="true" array_length_param_index="1"/>
+ <parameter name="size" type="gsize"/>
+ <parameter name="format" type="GstAudioFormat"/>
+ <parameter name="channels" type="gint" array_index="5"/>
+ <parameter name="from" type="const GstAudioChannelPosition*" array="true" array_length_param_index="3"/>
+ <parameter name="to" type="const GstAudioChannelPosition*" array="true" array_length_param_index="3"/>
+ </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="const GstAudioChannelPosition*" array="true" array_length_param_index="2"/>
+ <parameter name="from_channels" type="gint" array_index="1"/>
+ <parameter name="to_position" type="const 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="BufferAddAudioMeta" cname="gst_buffer_add_audio_meta" shared="true" version="1.16">
+ <return-type type="GstAudioMeta*">
+ <warning>missing glib:type-name</warning>
+ </return-type>
+ <parameters>
+ <parameter name="buffer" type="GstBuffer*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ <parameter name="info" type="GstAudioInfo*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ <parameter name="samples" type="gsize"/>
+ <parameter allow-none="1" name="offsets" type="gsize"/>
+ </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="const 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="{ F64BE, F64LE, F32BE, F32LE, S32BE, S32LE, U32BE, U32LE, S24_32BE, S24_32LE, U24_32BE, U24_32LE, S24BE, S24LE, U24BE, U24LE, S20BE, S20LE, U20BE, U20LE, S18BE, S18LE, U18BE, U18LE, S16BE, S16LE, U16BE, U16LE, S8, U8 }" 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="GstBase" library="gstbase-1.0">
+ <enum name="AggregatorStartTimeSelection" cname="GstAggregatorStartTimeSelection" type="enum" gtype="gst_aggregator_start_time_selection_get_type" version="1.18">
+ <member cname="GST_AGGREGATOR_START_TIME_SELECTION_ZERO" name="Zero" value="0"/>
+ <member cname="GST_AGGREGATOR_START_TIME_SELECTION_FIRST" name="First" value="1"/>
+ <member cname="GST_AGGREGATOR_START_TIME_SELECTION_SET" name="Set" value="2"/>
+ </enum>
+ <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**" owned="true" pass_as="out">
+ <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**" owned="true" pass_as="out">
+ <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" version="1.10">
+ <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" version="1.14">
+ <class_struct cname="GstAggregatorClass" version="1.14">
+ <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"/>
+ <method vm="negotiate"/>
+ <method vm="sink_event_pre_queue"/>
+ <method vm="sink_query_pre_queue"/>
+ <method vm="finish_buffer_list"/>
+ <method vm="peek_next_sample"/>
+ <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="15"/>
+ </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="FinishBufferList" cname="finish_buffer_list" version="1.18">
+ <return-type type="GstFlowReturn"/>
+ <parameters>
+ <parameter name="bufferlist" type="GstBufferList*" 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="Negotiate" cname="negotiate" version="1.18">
+ <return-type type="gboolean"/>
+ <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="PeekNextSample" cname="peek_next_sample" version="1.18">
+ <return-type type="GstSample*" owned="true">
+ <warning>missing glib:type-name</warning>
+ </return-type>
+ <parameters>
+ <parameter name="aggregator_pad" type="GstAggregatorPad*"/>
+ </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="SinkEventPreQueue" cname="sink_event_pre_queue">
+ <return-type type="GstFlowReturn"/>
+ <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="SinkQueryPreQueue" cname="sink_query_pre_queue">
+ <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 allow-none="1" name="_ret" type="GstCaps**" owned="true" pass_as="out">
+ <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="FinishBufferList" cname="gst_aggregator_finish_buffer_list" version="1.18">
+ <return-type type="GstFlowReturn"/>
+ <parameters>
+ <parameter name="bufferlist" type="GstBufferList*" 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*" 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="Negotiate" cname="gst_aggregator_negotiate" version="1.18">
+ <return-type type="gboolean"/>
+ <parameters/>
+ </method>
+ <method name="PeekNextSample" cname="gst_aggregator_peek_next_sample" version="1.18">
+ <return-type type="GstSample*" owned="true">
+ <warning>missing glib:type-name</warning>
+ </return-type>
+ <parameters>
+ <parameter name="pad" type="GstAggregatorPad*"/>
+ </parameters>
+ </method>
+ <method name="SelectedSamples" cname="gst_aggregator_selected_samples" version="1.18">
+ <return-type type="void"/>
+ <parameters>
+ <parameter name="pts" type="guint64"/>
+ <parameter name="dts" type="guint64"/>
+ <parameter name="duration" type="guint64"/>
+ <parameter allow-none="1" name="info" type="GstStructure*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </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>
+ <method name="SimpleGetNextTime" cname="gst_aggregator_simple_get_next_time" version="1.16">
+ <return-type type="guint64"/>
+ <parameters/>
+ </method>
+ <method name="UpdateSegment" cname="gst_aggregator_update_segment" version="1.18">
+ <return-type type="void"/>
+ <parameters>
+ <parameter name="segment" type="GstSegment*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </parameters>
+ </method>
+ <property name="EmitSignals" cname="emit-signals" type="gboolean" readable="true" writeable="true" construct="false" construct-only="false" version="1.18"/>
+ <property name="Latency" cname="latency" type="guint64" readable="true" writeable="true" construct="false" construct-only="false"/>
+ <property name="MinUpstreamLatency" cname="min-upstream-latency" type="guint64" readable="true" writeable="true" construct="false" construct-only="false" version="1.16"/>
+ <property name="StartTime" cname="start-time" type="guint64" readable="true" writeable="true" construct="false" construct-only="false"/>
+ <property name="StartTimeSelection" cname="start-time-selection" type="GstAggregatorStartTimeSelection" 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*"/>
+ <field cname="srcpad" access="public" writeable="false" readable="true" is_callback="false" name="Srcpad" type="GstPad*"/>
+ <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"/>
+ <signal name="SamplesSelected" cname="samples-selected" when="first" version="1.18">
+ <return-type type="void"/>
+ <parameters>
+ <parameter name="segment" type="GstSegment*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ <parameter name="pts" type="guint64"/>
+ <parameter name="dts" type="guint64"/>
+ <parameter name="duration" type="guint64"/>
+ <parameter allow-none="1" name="info" type="GstStructure*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </parameters>
+ </signal>
+ </object>
+ <object name="AggregatorPad" cname="GstAggregatorPad" opaque="false" hidden="false" parent="GstPad" version="1.14">
+ <class_struct cname="GstAggregatorPadClass" version="1.14">
+ <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"/>
+ </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="HasBuffer" cname="gst_aggregator_pad_has_buffer" version="1.14.1">
+ <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>
+ <property name="EmitSignals" cname="emit-signals" type="gboolean" readable="true" writeable="true" construct="false" construct-only="false" version="1.16"/>
+ <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" 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="GstAggregatorPadPrivate*">
+ <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"/>
+ <signal name="BufferConsumed" cname="buffer-consumed" when="first">
+ <return-type type="void"/>
+ <parameters>
+ <parameter name="_object" type="GstBuffer*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </parameters>
+ </signal>
+ </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"/>
+ </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*" owned="true" pass_as="out"/>
+ </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"/>
+ <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"/>
+ </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="GetProcessingDeadline" cname="gst_base_sink_get_processing_deadline" version="1.16">
+ <return-type type="guint64"/>
+ <parameters/>
+ </method>
+ <method name="GetRenderDelay" cname="gst_base_sink_get_render_delay">
+ <return-type type="guint64"/>
+ <parameters/>
+ </method>
+ <method name="GetStats" cname="gst_base_sink_get_stats" version="1.18">
+ <return-type type="GstStructure*" owned="true">
+ <warning>missing glib:type-name</warning>
+ </return-type>
+ <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="SetProcessingDeadline" cname="gst_base_sink_set_processing_deadline" version="1.16">
+ <return-type type="void"/>
+ <parameters>
+ <parameter name="processing_deadline" type="guint64"/>
+ </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="ProcessingDeadline" cname="processing-deadline" type="guint64" readable="true" writeable="true" construct="false" construct-only="false" version="1.16"/>
+ <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="Stats" cname="stats" type="GstStructure*" readable="true" writeable="false" construct="false" construct-only="false" version="1.18"/>
+ <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"/>
+ </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"/>
+ </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 allow-none="1" 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" version="1.18">
+ <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*" 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="Negotiate" cname="gst_base_src_negotiate" version="1.18">
+ <return-type type="gboolean"/>
+ <parameters/>
+ </method>
+ <method name="NewSeamlessSegment" cname="gst_base_src_new_seamless_segment" deprecated="true" deprecated-version="1.18">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="start" type="gint64"/>
+ <parameter name="stop" type="gint64"/>
+ <parameter name="time" type="gint64"/>
+ </parameters>
+ </method>
+ <method name="NewSegment" cname="gst_base_src_new_segment" version="1.18">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="segment" type="GstSegment*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </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"/>
+ </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"/>
+ </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**" owned="true" pass_as="out">
+ <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*" owned="true" pass_as="out"/>
+ </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**" owned="true" pass_as="out">
+ <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*" owned="true" pass_as="out"/>
+ </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*" 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="Reconfigure" cname="gst_base_transform_reconfigure" version="1.18">
+ <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"/>
+ </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"/>
+ </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**" owned="true" pass_as="out">
+ <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*"/>
+ <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"/>
+ </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"/>
+ </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"/>
+ <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"/>
+ </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*"/>
+ <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4"/>
+ </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"/>
+ <field cname="_gst_reserved_p" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReservedP" type="gpointer" array="true" array_len="2"/>
+ <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" version="1.12.1">
+ <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="const 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"/>
+ <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="const 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="BitWriter" cname="GstBitWriter" opaque="false" hidden="false" version="1.16">
+ <field cname="data" access="public" writeable="true" readable="true" is_callback="false" name="Data" type="guint8"/>
+ <field cname="bit_size" access="public" writeable="true" readable="true" is_callback="false" name="BitSize" type="guint"/>
+ <field cname="bit_capacity" access="private" writeable="false" readable="false" is_callback="false" name="BitCapacity" type="guint"/>
+ <field cname="auto_grow" access="private" writeable="false" readable="false" is_callback="false" name="AutoGrow" type="gboolean"/>
+ <field cname="owned" access="private" writeable="false" readable="false" 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"/>
+ <method name="AlignBytes" cname="gst_bit_writer_align_bytes">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="trailing_bit" type="guint8"/>
+ </parameters>
+ </method>
+ <method name="Free" cname="gst_bit_writer_free">
+ <return-type type="void"/>
+ <parameters/>
+ </method>
+ <method name="FreeAndGetBuffer" cname="gst_bit_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_bit_writer_free_and_get_data">
+ <return-type type="guint8**" owned="true" array="true"/>
+ <parameters/>
+ </method>
+ <method name="GetData" cname="gst_bit_writer_get_data">
+ <return-type type="guint8"/>
+ <parameters/>
+ </method>
+ <method name="GetRemaining" cname="gst_bit_writer_get_remaining">
+ <return-type type="guint"/>
+ <parameters/>
+ </method>
+ <method name="GetSize" cname="gst_bit_writer_get_size">
+ <return-type type="guint"/>
+ <parameters/>
+ </method>
+ <method name="PutBitsUint16" cname="gst_bit_writer_put_bits_uint16">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="value" type="guint16"/>
+ <parameter name="nbits" type="guint"/>
+ </parameters>
+ </method>
+ <method name="PutBitsUint32" cname="gst_bit_writer_put_bits_uint32">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="value" type="guint32"/>
+ <parameter name="nbits" type="guint"/>
+ </parameters>
+ </method>
+ <method name="PutBitsUint64" cname="gst_bit_writer_put_bits_uint64">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="value" type="guint64"/>
+ <parameter name="nbits" type="guint"/>
+ </parameters>
+ </method>
+ <method name="PutBitsUint8" cname="gst_bit_writer_put_bits_uint8">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="value" type="guint8"/>
+ <parameter name="nbits" type="guint"/>
+ </parameters>
+ </method>
+ <method name="PutBytes" cname="gst_bit_writer_put_bytes">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="data" type="guint8"/>
+ <parameter name="nbytes" type="guint"/>
+ </parameters>
+ </method>
+ <method name="Reset" cname="gst_bit_writer_reset">
+ <return-type type="void"/>
+ <parameters/>
+ </method>
+ <method name="ResetAndGetBuffer" cname="gst_bit_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_bit_writer_reset_and_get_data">
+ <return-type type="guint8**" owned="true" array="true"/>
+ <parameters/>
+ </method>
+ <method name="SetPos" cname="gst_bit_writer_set_pos">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="pos" type="guint"/>
+ </parameters>
+ </method>
+ </struct>
+ <struct name="ByteReader" cname="GstByteReader" opaque="false" hidden="false">
+ <field cname="data" access="public" writeable="true" readable="true" is_callback="false" name="Data" type="const 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"/>
+ <method name="DupData" cname="gst_byte_reader_dup_data">
+ <return-type type="gboolean" array_index="1"/>
+ <parameters>
+ <parameter name="size" type="guint*" owned="true" pass_as="out" array_index="1"/>
+ <parameter name="val" type="guint8***" owned="true" pass_as="out" array="true" array_length_param_index="0"/>
+ </parameters>
+ </method>
+ <method name="DupStringUtf16" cname="gst_byte_reader_dup_string_utf16">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="str" type="guint16***" owned="true" pass_as="out" array="true" null_term_array="true"/>
+ </parameters>
+ </method>
+ <method name="DupStringUtf32" cname="gst_byte_reader_dup_string_utf32">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="str" type="guint32***" owned="true" pass_as="out" array="true" null_term_array="true"/>
+ </parameters>
+ </method>
+ <method name="DupStringUtf8" cname="gst_byte_reader_dup_string_utf8">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="str" type="gchar***" owned="true" pass_as="out" array="true" null_term_array="true"/>
+ </parameters>
+ </method>
+ <method name="Free" cname="gst_byte_reader_free">
+ <return-type type="void"/>
+ <parameters/>
+ </method>
+ <method name="GetData" cname="gst_byte_reader_get_data">
+ <return-type type="gboolean" array_index="1"/>
+ <parameters>
+ <parameter name="size" type="guint*" owned="true" pass_as="out" array_index="1"/>
+ <parameter name="val" type="const guint8**" pass_as="out" array="true" array_length_param_index="0"/>
+ </parameters>
+ </method>
+ <method name="GetFloat32Be" cname="gst_byte_reader_get_float32_be">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="val" type="gfloat*" owned="true" pass_as="out"/>
+ </parameters>
+ </method>
+ <method name="GetFloat32Le" cname="gst_byte_reader_get_float32_le">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="val" type="gfloat*" owned="true" pass_as="out"/>
+ </parameters>
+ </method>
+ <method name="GetFloat64Be" cname="gst_byte_reader_get_float64_be">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="val" type="gdouble*" owned="true" pass_as="out"/>
+ </parameters>
+ </method>
+ <method name="GetFloat64Le" cname="gst_byte_reader_get_float64_le">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="val" type="gdouble*" owned="true" pass_as="out"/>
+ </parameters>
+ </method>
+ <method name="GetInt16Be" cname="gst_byte_reader_get_int16_be">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="val" type="gint16*" owned="true" pass_as="out"/>
+ </parameters>
+ </method>
+ <method name="GetInt16Le" cname="gst_byte_reader_get_int16_le">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="val" type="gint16*" owned="true" pass_as="out"/>
+ </parameters>
+ </method>
+ <method name="GetInt24Be" cname="gst_byte_reader_get_int24_be">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="val" type="gint32*" owned="true" pass_as="out"/>
+ </parameters>
+ </method>
+ <method name="GetInt24Le" cname="gst_byte_reader_get_int24_le">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="val" type="gint32*" owned="true" pass_as="out"/>
+ </parameters>
+ </method>
+ <method name="GetInt32Be" cname="gst_byte_reader_get_int32_be">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="val" type="gint32*" owned="true" pass_as="out"/>
+ </parameters>
+ </method>
+ <method name="GetInt32Le" cname="gst_byte_reader_get_int32_le">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="val" type="gint32*" owned="true" pass_as="out"/>
+ </parameters>
+ </method>
+ <method name="GetInt64Be" cname="gst_byte_reader_get_int64_be">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="val" type="gint64*" owned="true" pass_as="out"/>
+ </parameters>
+ </method>
+ <method name="GetInt64Le" cname="gst_byte_reader_get_int64_le">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="val" type="gint64*" owned="true" pass_as="out"/>
+ </parameters>
+ </method>
+ <method name="GetInt8" cname="gst_byte_reader_get_int8">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="val" type="gint8*" owned="true" pass_as="out"/>
+ </parameters>
+ </method>
+ <method name="GetPos" cname="gst_byte_reader_get_pos">
+ <return-type type="guint"/>
+ <parameters/>
+ </method>
+ <method name="GetRemaining" cname="gst_byte_reader_get_remaining">
+ <return-type type="guint"/>
+ <parameters/>
+ </method>
+ <method name="GetSize" cname="gst_byte_reader_get_size">
+ <return-type type="guint"/>
+ <parameters/>
+ </method>
+ <method name="GetStringUtf8" cname="gst_byte_reader_get_string_utf8">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="str" type="const gchar**" pass_as="out" array="true" null_term_array="true"/>
+ </parameters>
+ </method>
+ <method name="GetUint16Be" cname="gst_byte_reader_get_uint16_be">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="val" type="guint16*" owned="true" pass_as="out"/>
+ </parameters>
+ </method>
+ <method name="GetUint16Le" cname="gst_byte_reader_get_uint16_le">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="val" type="guint16*" owned="true" pass_as="out"/>
+ </parameters>
+ </method>
+ <method name="GetUint24Be" cname="gst_byte_reader_get_uint24_be">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="val" type="guint32*" owned="true" pass_as="out"/>
+ </parameters>
+ </method>
+ <method name="GetUint24Le" cname="gst_byte_reader_get_uint24_le">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="val" type="guint32*" owned="true" pass_as="out"/>
+ </parameters>
+ </method>
+ <method name="GetUint32Be" cname="gst_byte_reader_get_uint32_be">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="val" type="guint32*" owned="true" pass_as="out"/>
+ </parameters>
+ </method>
+ <method name="GetUint32Le" cname="gst_byte_reader_get_uint32_le">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="val" type="guint32*" owned="true" pass_as="out"/>
+ </parameters>
+ </method>
+ <method name="GetUint64Be" cname="gst_byte_reader_get_uint64_be">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="val" type="guint64*" owned="true" pass_as="out"/>
+ </parameters>
+ </method>
+ <method name="GetUint64Le" cname="gst_byte_reader_get_uint64_le">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="val" type="guint64*" owned="true" pass_as="out"/>
+ </parameters>
+ </method>
+ <method name="GetUint8" cname="gst_byte_reader_get_uint8">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="val" type="guint8*" owned="true" pass_as="out"/>
+ </parameters>
+ </method>
+ <method name="Init" cname="gst_byte_reader_init">
+ <return-type type="void"/>
+ <parameters>
+ <parameter name="data" type="const guint8*" array="true" array_length_param_index="1"/>
+ <parameter name="size" type="guint"/>
+ </parameters>
+ </method>
+ <method name="MaskedScanUint32" cname="gst_byte_reader_masked_scan_uint32">
+ <return-type type="guint"/>
+ <parameters>
+ <parameter name="mask" type="guint32"/>
+ <parameter name="pattern" type="guint32"/>
+ <parameter name="offset" type="guint"/>
+ <parameter name="size" type="guint"/>
+ </parameters>
+ </method>
+ <method name="MaskedScanUint32Peek" cname="gst_byte_reader_masked_scan_uint32_peek" version="1.6">
+ <return-type type="guint"/>
+ <parameters>
+ <parameter name="mask" type="guint32"/>
+ <parameter name="pattern" type="guint32"/>
+ <parameter name="offset" type="guint"/>
+ <parameter name="size" type="guint"/>
+ <parameter name="value" type="guint32*" owned="true" pass_as="out"/>
+ </parameters>
+ </method>
+ <method name="PeekData" cname="gst_byte_reader_peek_data">
+ <return-type type="gboolean" array_index="1"/>
+ <parameters>
+ <parameter name="size" type="guint*" owned="true" pass_as="out" array_index="1"/>
+ <parameter name="val" type="const guint8**" pass_as="out" array="true" array_length_param_index="0"/>
+ </parameters>
+ </method>
+ <method name="PeekFloat32Be" cname="gst_byte_reader_peek_float32_be">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="val" type="gfloat*" owned="true" pass_as="out"/>
+ </parameters>
+ </method>
+ <method name="PeekFloat32Le" cname="gst_byte_reader_peek_float32_le">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="val" type="gfloat*" owned="true" pass_as="out"/>
+ </parameters>
+ </method>
+ <method name="PeekFloat64Be" cname="gst_byte_reader_peek_float64_be">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="val" type="gdouble*" owned="true" pass_as="out"/>
+ </parameters>
+ </method>
+ <method name="PeekFloat64Le" cname="gst_byte_reader_peek_float64_le">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="val" type="gdouble*" owned="true" pass_as="out"/>
+ </parameters>
+ </method>
+ <method name="PeekInt16Be" cname="gst_byte_reader_peek_int16_be">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="val" type="gint16*" owned="true" pass_as="out"/>
+ </parameters>
+ </method>
+ <method name="PeekInt16Le" cname="gst_byte_reader_peek_int16_le">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="val" type="gint16*" owned="true" pass_as="out"/>
+ </parameters>
+ </method>
+ <method name="PeekInt24Be" cname="gst_byte_reader_peek_int24_be">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="val" type="gint32*" owned="true" pass_as="out"/>
+ </parameters>
+ </method>
+ <method name="PeekInt24Le" cname="gst_byte_reader_peek_int24_le">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="val" type="gint32*" owned="true" pass_as="out"/>
+ </parameters>
+ </method>
+ <method name="PeekInt32Be" cname="gst_byte_reader_peek_int32_be">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="val" type="gint32*" owned="true" pass_as="out"/>
+ </parameters>
+ </method>
+ <method name="PeekInt32Le" cname="gst_byte_reader_peek_int32_le">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="val" type="gint32*" owned="true" pass_as="out"/>
+ </parameters>
+ </method>
+ <method name="PeekInt64Be" cname="gst_byte_reader_peek_int64_be">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="val" type="gint64*" owned="true" pass_as="out"/>
+ </parameters>
+ </method>
+ <method name="PeekInt64Le" cname="gst_byte_reader_peek_int64_le">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="val" type="gint64*" owned="true" pass_as="out"/>
+ </parameters>
+ </method>
+ <method name="PeekInt8" cname="gst_byte_reader_peek_int8">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="val" type="gint8*" owned="true" pass_as="out"/>
+ </parameters>
+ </method>
+ <method name="PeekStringUtf8" cname="gst_byte_reader_peek_string_utf8">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="str" type="const gchar**" pass_as="out" array="true" null_term_array="true"/>
+ </parameters>
+ </method>
+ <method name="PeekUint16Be" cname="gst_byte_reader_peek_uint16_be">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="val" type="guint16*" owned="true" pass_as="out"/>
+ </parameters>
+ </method>
+ <method name="PeekUint16Le" cname="gst_byte_reader_peek_uint16_le">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="val" type="guint16*" owned="true" pass_as="out"/>
+ </parameters>
+ </method>
+ <method name="PeekUint24Be" cname="gst_byte_reader_peek_uint24_be">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="val" type="guint32*" owned="true" pass_as="out"/>
+ </parameters>
+ </method>
+ <method name="PeekUint24Le" cname="gst_byte_reader_peek_uint24_le">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="val" type="guint32*" owned="true" pass_as="out"/>
+ </parameters>
+ </method>
+ <method name="PeekUint32Be" cname="gst_byte_reader_peek_uint32_be">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="val" type="guint32*" owned="true" pass_as="out"/>
+ </parameters>
+ </method>
+ <method name="PeekUint32Le" cname="gst_byte_reader_peek_uint32_le">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="val" type="guint32*" owned="true" pass_as="out"/>
+ </parameters>
+ </method>
+ <method name="PeekUint64Be" cname="gst_byte_reader_peek_uint64_be">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="val" type="guint64*" owned="true" pass_as="out"/>
+ </parameters>
+ </method>
+ <method name="PeekUint64Le" cname="gst_byte_reader_peek_uint64_le">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="val" type="guint64*" owned="true" pass_as="out"/>
+ </parameters>
+ </method>
+ <method name="PeekUint8" cname="gst_byte_reader_peek_uint8">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="val" type="guint8*" owned="true" pass_as="out"/>
+ </parameters>
+ </method>
+ <method name="SetPos" cname="gst_byte_reader_set_pos">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="pos" type="guint"/>
+ </parameters>
+ </method>
+ <method name="Skip" cname="gst_byte_reader_skip">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="nbytes" type="guint"/>
+ </parameters>
+ </method>
+ <method name="SkipStringUtf16" cname="gst_byte_reader_skip_string_utf16">
+ <return-type type="gboolean"/>
+ <parameters/>
+ </method>
+ <method name="SkipStringUtf32" cname="gst_byte_reader_skip_string_utf32">
+ <return-type type="gboolean"/>
+ <parameters/>
+ </method>
+ <method name="SkipStringUtf8" cname="gst_byte_reader_skip_string_utf8">
+ <return-type type="gboolean"/>
+ <parameters/>
+ </method>
+ </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"/>
+ <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="const 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="const 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="const 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*"/>
+ </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"/>
+ </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"/>
+ </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="TypeFindHelperForBufferWithExtension" cname="gst_type_find_helper_for_buffer_with_extension" shared="true" version="1.16">
+ <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="extension" type="const-gchar*"/>
+ <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="const guint8*" array="true" array_length_param_index="2"/>
+ <parameter name="size" type="gsize" array_index="1"/>
+ <parameter allow-none="1" name="prob" type="GstTypeFindProbability" owned="true" pass_as="out"/>
+ </parameters>
+ </method>
+ <method name="TypeFindHelperForDataWithExtension" cname="gst_type_find_helper_for_data_with_extension" shared="true" version="1.16">
+ <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="const guint8*" array="true" array_length_param_index="2"/>
+ <parameter name="size" type="gsize" array_index="1"/>
+ <parameter allow-none="1" name="extension" type="const-gchar*"/>
+ <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 allow-none="1" name="extension" type="const-gchar*"/>
+ <parameter allow-none="1" name="prob" type="GstTypeFindProbability" owned="true" pass_as="out"/>
+ </parameters>
+ </method>
+ <method name="TypeFindHelperGetRangeFull" cname="gst_type_find_helper_get_range_full" shared="true" version="1.14.3">
+ <return-type type="GstFlowReturn"/>
+ <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 allow-none="1" name="extension" type="const-gchar*"/>
+ <parameter name="caps" type="GstCaps**" owned="true" pass_as="out">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ <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="GstController" library="gstcontroller-1.0">
+ <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"/>
+ </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*"/>
+ <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"/>
+ </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"/>
+ </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*"/>
+ <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"/>
+ <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"/>
+ </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*"/>
+ <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"/>
+ </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"/>
+ </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*"/>
+ <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"/>
+ </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*"/>
+ <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"/>
+ </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="const 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*"/>
+ <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"/>
+ <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"/>
+ </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*"/>
+ <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"/>
+ </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"/>
+ </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="GstNet" library="gstnet-1.0">
+ <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"/>
+ </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"/>
+ </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"/>
+ </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*"/>
+ <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"/>
+ </object>
+ <object name="NtpClock" cname="GstNtpClock" opaque="false" hidden="false" 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"/>
+ </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"/>
+ </object>
+ <object name="PtpClock" cname="GstPtpClock" opaque="false" hidden="false" parent="GstSystemClock" version="1.6">
+ <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"/>
+ </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"/>
+ </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="const 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="NetUtilsSetSocketTos" cname="gst_net_utils_set_socket_tos" shared="true" version="1.18">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="socket" type="GSocket*"/>
+ <parameter name="qos_dscp" type="gint"/>
+ </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="GstPbutils" library="gstpbutils-1.0">
+ <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="private" writeable="false" readable="false" 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*"/>
+ <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"/>
+ <property name="UseCache" cname="use-cache" type="gboolean" 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*"/>
+ <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 allow-none="1" 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="const 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 allow-none="1" 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" version="1.12">
+ <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="GetSingleSegment" cname="gst_encoding_profile_get_single_segment" version="1.18">
+ <return-type type="gboolean"/>
+ <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 allow-none="1" name="description" type="const-gchar*"/>
+ </parameters>
+ </method>
+ <method name="SetEnabled" cname="gst_encoding_profile_set_enabled" version="1.6">
+ <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 allow-none="1" 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 allow-none="1" name="preset_name" type="const-gchar*"/>
+ </parameters>
+ </method>
+ <method name="SetRestriction" cname="gst_encoding_profile_set_restriction">
+ <return-type type="void"/>
+ <parameters>
+ <parameter allow-none="1" name="restriction" type="GstCaps*" owned="true">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="SetSingleSegment" cname="gst_encoding_profile_set_single_segment" version="1.18">
+ <return-type type="void"/>
+ <parameters>
+ <parameter name="single_segment" type="gboolean"/>
+ </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="const 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-gfilename*"/>
+ <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="GetPath" cname="gst_encoding_target_get_path" version="1.18">
+ <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="const 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-gfilename*"/>
+ <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" version="1.12.1">
+ <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="const 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" version="1.10">
+ <return-type type="guint"/>
+ <parameters>
+ <parameter name="audio_config" type="const 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="const 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="const 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" version="1.10">
+ <return-type type="guint"/>
+ <parameters>
+ <parameter name="audio_config" type="const 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="const 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="const 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="const 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" version="1.4">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="caps" type="GstCaps*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ <parameter name="profile_tier_level" type="const 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" version="1.4">
+ <return-type type="const-gchar*"/>
+ <parameters>
+ <parameter name="profile_tier_level" type="const 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" version="1.4">
+ <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" version="1.4">
+ <return-type type="const-gchar*"/>
+ <parameters>
+ <parameter name="profile_tier_level" type="const 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" version="1.4">
+ <return-type type="const-gchar*"/>
+ <parameters>
+ <parameter name="profile_tier_level" type="const 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="const 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="const 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="const 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="const 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="const 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">
+ <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" array_len="256"/>
+ </parameters>
+ </method>
+ <method name="CodecUtilsOpusParseHeader" cname="gst_codec_utils_opus_parse_header" shared="true" version="1.8">
+ <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" array_len="256"/>
+ <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* const*" 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* const*" 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="19" 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="GstRtp" library="gstrtp-1.0">
+ <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_RTPFB_TYPE_TWCC" name="RtpfbTypeTwcc" value="15"/>
+ <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="RTCPXRType" cname="GstRTCPXRType" type="enum" gtype="gst_rtcpxr_type_get_type" version="1.16">
+ <member cname="GST_RTCP_XR_TYPE_INVALID" name="Invalid" value="-1"/>
+ <member cname="GST_RTCP_XR_TYPE_LRLE" name="Lrle" value="1"/>
+ <member cname="GST_RTCP_XR_TYPE_DRLE" name="Drle" value="2"/>
+ <member cname="GST_RTCP_XR_TYPE_PRT" name="Prt" value="3"/>
+ <member cname="GST_RTCP_XR_TYPE_RRT" name="Rrt" value="4"/>
+ <member cname="GST_RTCP_XR_TYPE_DLRR" name="Dlrr" value="5"/>
+ <member cname="GST_RTCP_XR_TYPE_SSUMM" name="Ssumm" value="6"/>
+ <member cname="GST_RTCP_XR_TYPE_VOIP_METRICS" name="VoipMetrics" value="7"/>
+ </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_REDUNDANT" name="Redundant" value="2097152"/>
+ <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"/>
+ </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="const guint8*" array="true" array_length_param_index="1"/>
+ <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"/>
+ </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"/>
+ </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="IsSourceInfoEnabled" cname="gst_rtp_base_depayload_is_source_info_enabled" version="1.16">
+ <return-type type="gboolean"/>
+ <parameters/>
+ </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>
+ <method name="SetSourceInfoEnabled" cname="gst_rtp_base_depayload_set_source_info_enabled" version="1.16">
+ <return-type type="void"/>
+ <parameters>
+ <parameter name="enable" type="gboolean"/>
+ </parameters>
+ </method>
+ <property name="MaxReorder" cname="max-reorder" type="gint" readable="true" writeable="true" construct="false" construct-only="false" version="1.18"/>
+ <property name="SourceInfo" cname="source-info" type="gboolean" readable="true" writeable="true" construct="false" construct-only="false" version="1.16"/>
+ <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*"/>
+ <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"/>
+ </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"/>
+ </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="AllocateOutputBuffer" cname="gst_rtp_base_payload_allocate_output_buffer" version="1.16">
+ <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="GetSourceCount" cname="gst_rtp_base_payload_get_source_count" version="1.16">
+ <return-type type="guint"/>
+ <parameters>
+ <parameter name="buffer" type="GstBuffer*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </parameters>
+ </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="IsSourceInfoEnabled" cname="gst_rtp_base_payload_is_source_info_enabled" version="1.16">
+ <return-type type="gboolean"/>
+ <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>
+ <method name="SetSourceInfoEnabled" cname="gst_rtp_base_payload_set_source_info_enabled" version="1.16">
+ <return-type type="void"/>
+ <parameters>
+ <parameter name="enable" type="gboolean"/>
+ </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="OnvifNoRateControl" cname="onvif-no-rate-control" type="gboolean" readable="true" writeable="true" construct="false" construct-only="false" version="1.16"/>
+ <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="ScaleRtptime" cname="scale-rtptime" type="gboolean" readable="true" writeable="true" construct="false" construct-only="false" version="1.18"/>
+ <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="SourceInfo" cname="source-info" type="gboolean" readable="true" writeable="true" construct="false" construct-only="false" version="1.16"/>
+ <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"/>
+ </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="Map" 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="gconstpointer" array="true" array_length_param_index="1"/>
+ <parameter name="len" 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="gpointer" array="true" array_length_param_index="1"/>
+ <parameter name="len" 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*">
+ <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" version="1.10">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="data" type="const guint8*" array="true" array_length_param_index="1"/>
+ <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*" array="true" array_length_param_index="1"/>
+ <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" version="1.10">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="data" type="guint8***" owned="true" pass_as="out" array="true" 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" version="1.10">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="data" type="guint8**" pass_as="out" array="true" 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" version="1.10">
+ <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*" owned="true" pass_as="out"/>
+ <parameter name="fractionlost" type="guint8*" owned="true" pass_as="out"/>
+ <parameter name="packetslost" type="gint32*" owned="true" pass_as="out"/>
+ <parameter name="exthighestseq" type="guint32*" owned="true" pass_as="out"/>
+ <parameter name="jitter" type="guint32*" owned="true" pass_as="out"/>
+ <parameter name="lsr" type="guint32*" owned="true" pass_as="out"/>
+ <parameter name="dlsr" type="guint32*" owned="true" pass_as="out"/>
+ </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="const 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">
+ <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">
+ <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*" owned="true" pass_as="out"/>
+ <parameter name="ntptime" type="guint64*" owned="true" pass_as="out"/>
+ <parameter name="rtptime" type="guint32*" owned="true" pass_as="out"/>
+ <parameter name="packet_count" type="guint32*" owned="true" pass_as="out"/>
+ <parameter name="octet_count" type="guint32*" owned="true" pass_as="out"/>
+ </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>
+ <method name="XrFirstRb" cname="gst_rtcp_packet_xr_first_rb" version="1.16">
+ <return-type type="gboolean"/>
+ <parameters/>
+ </method>
+ <method name="XrGetBlockLength" cname="gst_rtcp_packet_xr_get_block_length" version="1.16">
+ <return-type type="guint16"/>
+ <parameters/>
+ </method>
+ <method name="XrGetBlockType" cname="gst_rtcp_packet_xr_get_block_type" version="1.16">
+ <return-type type="GstRTCPXRType"/>
+ <parameters/>
+ </method>
+ <method name="XrGetDlrrBlock" cname="gst_rtcp_packet_xr_get_dlrr_block" version="1.16">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="nth" type="guint"/>
+ <parameter name="ssrc" type="guint32"/>
+ <parameter name="last_rr" type="guint32"/>
+ <parameter name="delay" type="guint32"/>
+ </parameters>
+ </method>
+ <method name="XrGetPrtBySeq" cname="gst_rtcp_packet_xr_get_prt_by_seq" version="1.16">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="seq" type="guint16"/>
+ <parameter name="receipt_time" type="guint32"/>
+ </parameters>
+ </method>
+ <method name="XrGetPrtInfo" cname="gst_rtcp_packet_xr_get_prt_info" version="1.16">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="ssrc" type="guint32"/>
+ <parameter name="thinning" type="guint8"/>
+ <parameter name="begin_seq" type="guint16"/>
+ <parameter name="end_seq" type="guint16"/>
+ </parameters>
+ </method>
+ <method name="XrGetRleInfo" cname="gst_rtcp_packet_xr_get_rle_info" version="1.16">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="ssrc" type="guint32"/>
+ <parameter name="thinning" type="guint8"/>
+ <parameter name="begin_seq" type="guint16"/>
+ <parameter name="end_seq" type="guint16"/>
+ <parameter name="chunk_count" type="guint32"/>
+ </parameters>
+ </method>
+ <method name="XrGetRleNthChunk" cname="gst_rtcp_packet_xr_get_rle_nth_chunk" version="1.16">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="nth" type="guint"/>
+ <parameter name="chunk" type="guint16"/>
+ </parameters>
+ </method>
+ <method name="XrGetRrt" cname="gst_rtcp_packet_xr_get_rrt" version="1.16">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="timestamp" type="guint64"/>
+ </parameters>
+ </method>
+ <method name="XrGetSsrc" cname="gst_rtcp_packet_xr_get_ssrc" version="1.16">
+ <return-type type="guint32"/>
+ <parameters/>
+ </method>
+ <method name="XrGetSummaryInfo" cname="gst_rtcp_packet_xr_get_summary_info" version="1.16">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="ssrc" type="guint32"/>
+ <parameter name="begin_seq" type="guint16"/>
+ <parameter name="end_seq" type="guint16"/>
+ </parameters>
+ </method>
+ <method name="XrGetSummaryJitter" cname="gst_rtcp_packet_xr_get_summary_jitter" version="1.16">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="min_jitter" type="guint32"/>
+ <parameter name="max_jitter" type="guint32"/>
+ <parameter name="mean_jitter" type="guint32"/>
+ <parameter name="dev_jitter" type="guint32"/>
+ </parameters>
+ </method>
+ <method name="XrGetSummaryPkt" cname="gst_rtcp_packet_xr_get_summary_pkt" version="1.16">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="lost_packets" type="guint32"/>
+ <parameter name="dup_packets" type="guint32"/>
+ </parameters>
+ </method>
+ <method name="XrGetSummaryTtl" cname="gst_rtcp_packet_xr_get_summary_ttl" version="1.16">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="is_ipv4" type="gboolean"/>
+ <parameter name="min_ttl" type="guint8"/>
+ <parameter name="max_ttl" type="guint8"/>
+ <parameter name="mean_ttl" type="guint8"/>
+ <parameter name="dev_ttl" type="guint8"/>
+ </parameters>
+ </method>
+ <method name="XrGetVoipBurstMetrics" cname="gst_rtcp_packet_xr_get_voip_burst_metrics" version="1.16">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="burst_density" type="guint8"/>
+ <parameter name="gap_density" type="guint8"/>
+ <parameter name="burst_duration" type="guint16"/>
+ <parameter name="gap_duration" type="guint16"/>
+ </parameters>
+ </method>
+ <method name="XrGetVoipConfigurationParams" cname="gst_rtcp_packet_xr_get_voip_configuration_params" version="1.16">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="gmin" type="guint8"/>
+ <parameter name="rx_config" type="guint8"/>
+ </parameters>
+ </method>
+ <method name="XrGetVoipDelayMetrics" cname="gst_rtcp_packet_xr_get_voip_delay_metrics" version="1.16">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="roundtrip_delay" type="guint16"/>
+ <parameter name="end_system_delay" type="guint16"/>
+ </parameters>
+ </method>
+ <method name="XrGetVoipJitterBufferParams" cname="gst_rtcp_packet_xr_get_voip_jitter_buffer_params" version="1.16">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="jb_nominal" type="guint16"/>
+ <parameter name="jb_maximum" type="guint16"/>
+ <parameter name="jb_abs_max" type="guint16"/>
+ </parameters>
+ </method>
+ <method name="XrGetVoipMetricsSsrc" cname="gst_rtcp_packet_xr_get_voip_metrics_ssrc" version="1.16">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="ssrc" type="guint32"/>
+ </parameters>
+ </method>
+ <method name="XrGetVoipPacketMetrics" cname="gst_rtcp_packet_xr_get_voip_packet_metrics" version="1.16">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="loss_rate" type="guint8"/>
+ <parameter name="discard_rate" type="guint8"/>
+ </parameters>
+ </method>
+ <method name="XrGetVoipQualityMetrics" cname="gst_rtcp_packet_xr_get_voip_quality_metrics" version="1.16">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="r_factor" type="guint8"/>
+ <parameter name="ext_r_factor" type="guint8"/>
+ <parameter name="mos_lq" type="guint8"/>
+ <parameter name="mos_cq" type="guint8"/>
+ </parameters>
+ </method>
+ <method name="XrGetVoipSignalMetrics" cname="gst_rtcp_packet_xr_get_voip_signal_metrics" version="1.16">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="signal_level" type="guint8"/>
+ <parameter name="noise_level" type="guint8"/>
+ <parameter name="rerl" type="guint8"/>
+ <parameter name="gmin" type="guint8"/>
+ </parameters>
+ </method>
+ <method name="XrNextRb" cname="gst_rtcp_packet_xr_next_rb" version="1.16">
+ <return-type type="gboolean"/>
+ <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*" array_index="1">
+ <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="4"/>
+ <field cname="data" access="public" writeable="true" readable="true" is_callback="false" name="Data" type="gpointer" array_index="3" array="true" array_len="4"/>
+ <field cname="size" access="public" writeable="true" readable="true" is_callback="false" name="Size" type="gsize" array_index="4" array="true" array_len="4"/>
+ <field cname="map" access="public" writeable="true" readable="true" is_callback="false" name="Map" 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="gconstpointer" array="true" array_length_param_index="2"/>
+ <parameter name="size" 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="gconstpointer" array="true" array_length_param_index="3"/>
+ <parameter name="size" 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">
+ <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">
+ <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*" owned="true" pass_as="ref"/>
+ <parameter name="timestamp" type="guint32"/>
+ </parameters>
+ </method>
+ <method name="GetExtensionOnebyteHeaderFromBytes" cname="gst_rtp_buffer_get_extension_onebyte_header_from_bytes" shared="true" version="1.18">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="bytes" type="GBytes*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ <parameter name="bit_pattern" type="guint16"/>
+ <parameter name="id" type="guint8"/>
+ <parameter name="nth" type="guint"/>
+ <parameter name="data" type="gpointer*" pass_as="out" array="true" array_length_param_index="5"/>
+ <parameter name="size" type="guint*" owned="true" pass_as="out" array_index="4"/>
+ </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="gconstpointer" array="true" array_length_param_index="1"/>
+ <parameter name="len" 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="gpointer*" owned="true" array="true" array_length_param_index="1"/>
+ <parameter name="len" 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"/>
+ <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>
+ <struct name="RTPSourceMeta" cname="GstRTPSourceMeta" opaque="false" hidden="false" version="1.16">
+ <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="ssrc" access="public" writeable="true" readable="true" is_callback="false" name="Ssrc" type="guint32"/>
+ <field cname="ssrc_valid" access="public" writeable="true" readable="true" is_callback="false" name="SsrcValid" type="gboolean"/>
+ <field cname="csrc" access="public" writeable="true" readable="true" is_callback="false" name="Csrc" type="guint32" array="true" array_len="15"/>
+ <field cname="csrc_count" access="public" writeable="true" readable="true" is_callback="false" name="CsrcCount" type="guint"/>
+ <method name="AppendCsrc" cname="gst_rtp_source_meta_append_csrc" version="1.16">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="csrc" type="guint32"/>
+ <parameter name="csrc_count" type="guint"/>
+ </parameters>
+ </method>
+ <method name="GetSourceCount" cname="gst_rtp_source_meta_get_source_count" version="1.16">
+ <return-type type="guint"/>
+ <parameters/>
+ </method>
+ <method name="SetSsrc" cname="gst_rtp_source_meta_set_ssrc" version="1.16">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter allow-none="1" name="ssrc" type="guint32"/>
+ </parameters>
+ </method>
+ <method name="GetInfo" cname="gst_rtp_source_meta_get_info" shared="true">
+ <return-type type="GstMetaInfo*">
+ <warning>missing glib:type-name</warning>
+ </return-type>
+ </method>
+ </struct>
+ <object name="Global" cname="GstRtpGlobal" opaque="true">
+ <method name="BufferAddRtpSourceMeta" cname="gst_buffer_add_rtp_source_meta" shared="true" version="1.16">
+ <return-type type="GstRTPSourceMeta*">
+ <warning>missing glib:type-name</warning>
+ </return-type>
+ <parameters>
+ <parameter name="buffer" type="GstBuffer*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ <parameter allow-none="1" name="ssrc" type="guint32"/>
+ <parameter allow-none="1" name="csrc" type="guint32"/>
+ <parameter name="csrc_count" type="guint"/>
+ </parameters>
+ </method>
+ <method name="BufferGetRtpSourceMeta" cname="gst_buffer_get_rtp_source_meta" shared="true" version="1.16">
+ <return-type type="GstRTPSourceMeta*">
+ <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="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="gconstpointer" array="true" array_length_param_index="1"/>
+ <parameter name="len" 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="gpointer" array="true" array_length_param_index="1"/>
+ <parameter name="len" 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*" owned="true" pass_as="ref"/>
+ <parameter name="timestamp" type="guint32"/>
+ </parameters>
+ </method>
+ <method name="RtpBufferGetExtensionOnebyteHeaderFromBytes" cname="gst_rtp_buffer_get_extension_onebyte_header_from_bytes" shared="true" version="1.18">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="bytes" type="GBytes*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ <parameter name="bit_pattern" type="guint16"/>
+ <parameter name="id" type="guint8"/>
+ <parameter name="nth" type="guint"/>
+ <parameter name="data" type="gpointer*" pass_as="out" array="true" array_length_param_index="5"/>
+ <parameter name="size" type="guint*" owned="true" pass_as="out" array_index="4"/>
+ </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="gconstpointer" array="true" array_length_param_index="1"/>
+ <parameter name="len" 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="gpointer*" owned="true" array="true" array_length_param_index="1"/>
+ <parameter name="len" type="gsize"/>
+ </parameters>
+ </method>
+ <method name="RtpHdrextGetNtp56" cname="gst_rtp_hdrext_get_ntp_56" shared="true">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="data" type="gpointer" array="true" array_length_param_index="1"/>
+ <parameter name="size" type="guint"/>
+ <parameter name="ntptime" type="guint64*" owned="true" pass_as="out"/>
+ </parameters>
+ </method>
+ <method name="RtpHdrextGetNtp64" cname="gst_rtp_hdrext_get_ntp_64" shared="true">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="data" type="gpointer" array="true" array_length_param_index="1"/>
+ <parameter name="size" type="guint"/>
+ <parameter name="ntptime" type="guint64*" owned="true" pass_as="out"/>
+ </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>
+ <method name="RtpSourceMetaApiGetType" cname="gst_rtp_source_meta_api_get_type" shared="true">
+ <return-type type="GType"/>
+ </method>
+ <method name="RtpSourceMetaGetInfo" cname="gst_rtp_source_meta_get_info" shared="true">
+ <return-type type="GstMetaInfo*">
+ <warning>missing glib:type-name</warning>
+ </return-type>
+ </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="200" 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="15" ctype="gint" gtype="gint" name="RTP_SOURCE_META_MAX_CSRC_COUNT"/>
+ <constant value="2" ctype="gint" gtype="gint" name="RTP_VERSION"/>
+ </object>
+ </namespace>
+ <namespace name="GstRtsp" library="gstrtsp-1.0">
+ <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_FRAMES" name="Frames" value="87"/>
+ <member cname="GST_RTSP_HDR_RATE_CONTROL" name="RateControl" value="88"/>
+ <member cname="GST_RTSP_HDR_LAST" name="Last" value="89"/>
+ </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"/>
+ </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" version="1.12">
+ <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" version="1.12">
+ <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" deprecated="true" deprecated-version="1.18">
+ <return-type type="GstRTSPResult"/>
+ <parameters>
+ <parameter name="timeout" type="GTimeVal*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="ConnectUsec" cname="gst_rtsp_connection_connect_usec" version="1.18">
+ <return-type type="GstRTSPResult"/>
+ <parameters>
+ <parameter name="timeout" type="gint64"/>
+ </parameters>
+ </method>
+ <method name="ConnectWithResponse" cname="gst_rtsp_connection_connect_with_response" version="1.8" deprecated="true" deprecated-version="1.18">
+ <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="ConnectWithResponseUsec" cname="gst_rtsp_connection_connect_with_response_usec" version="1.18">
+ <return-type type="GstRTSPResult"/>
+ <parameters>
+ <parameter name="timeout" type="gint64"/>
+ <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" deprecated="true" deprecated-version="1.18">
+ <return-type type="GstRTSPResult"/>
+ <parameters>
+ <parameter name="timeout" type="GTimeVal*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="NextTimeoutUsec" cname="gst_rtsp_connection_next_timeout_usec" version="1.18">
+ <return-type type="gint64"/>
+ <parameters/>
+ </method>
+ <method name="Poll" cname="gst_rtsp_connection_poll" deprecated="true" deprecated-version="1.18">
+ <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="PollUsec" cname="gst_rtsp_connection_poll_usec" version="1.18">
+ <return-type type="GstRTSPResult"/>
+ <parameters>
+ <parameter name="events" type="GstRTSPEvent"/>
+ <parameter name="revents" type="GstRTSPEvent"/>
+ <parameter name="timeout" type="gint64"/>
+ </parameters>
+ </method>
+ <method name="Read" cname="gst_rtsp_connection_read" deprecated="true" deprecated-version="1.18">
+ <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="ReadUsec" cname="gst_rtsp_connection_read_usec" version="1.18">
+ <return-type type="GstRTSPResult"/>
+ <parameters>
+ <parameter name="data" type="guint8"/>
+ <parameter name="size" type="guint"/>
+ <parameter name="timeout" type="gint64"/>
+ </parameters>
+ </method>
+ <method name="Receive" cname="gst_rtsp_connection_receive" deprecated="true" deprecated-version="1.18">
+ <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="ReceiveUsec" cname="gst_rtsp_connection_receive_usec" version="1.18">
+ <return-type type="GstRTSPResult"/>
+ <parameters>
+ <parameter name="message" type="GstRTSPMessage*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ <parameter name="timeout" type="gint64"/>
+ </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" deprecated="true" deprecated-version="1.18">
+ <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="SendMessages" cname="gst_rtsp_connection_send_messages" version="1.16" deprecated="true" deprecated-version="1.18">
+ <return-type type="GstRTSPResult"/>
+ <parameters>
+ <parameter name="messages" type="GstRTSPMessage*" array="true" array_length_param_index="1"/>
+ <parameter name="n_messages" type="guint"/>
+ <parameter name="timeout" type="GTimeVal*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="SendMessagesUsec" cname="gst_rtsp_connection_send_messages_usec" version="1.18">
+ <return-type type="GstRTSPResult"/>
+ <parameters>
+ <parameter name="messages" type="GstRTSPMessage*" array="true" array_length_param_index="1"/>
+ <parameter name="n_messages" type="guint"/>
+ <parameter name="timeout" type="gint64"/>
+ </parameters>
+ </method>
+ <method name="SendUsec" cname="gst_rtsp_connection_send_usec" version="1.18">
+ <return-type type="GstRTSPResult"/>
+ <parameters>
+ <parameter name="message" type="GstRTSPMessage*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ <parameter name="timeout" type="gint64"/>
+ </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="SetContentLengthLimit" cname="gst_rtsp_connection_set_content_length_limit" version="1.18">
+ <return-type type="void"/>
+ <parameters>
+ <parameter name="limit" type="guint"/>
+ </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" deprecated="true" deprecated-version="1.18">
+ <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="WriteUsec" cname="gst_rtsp_connection_write_usec" version="1.18">
+ <return-type type="GstRTSPResult"/>
+ <parameters>
+ <parameter name="data" type="guint8"/>
+ <parameter name="size" type="guint"/>
+ <parameter name="timeout" type="gint64"/>
+ </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="body_buffer" access="private" writeable="false" readable="false" is_callback="false" name="BodyBuffer" type="GstBuffer*">
+ <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"/>
+ <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">
+ <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="GetBodyBuffer" cname="gst_rtsp_message_get_body_buffer" version="1.16">
+ <return-type type="GstRTSPResult"/>
+ <parameters>
+ <parameter name="buffer" type="GstBuffer**" pass_as="out">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </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="GetType" cname="gst_rtsp_message_get_type">
+ <return-type type="GstRTSPMsgType"/>
+ <parameters/>
+ </method>
+ <method name="HasBodyBuffer" cname="gst_rtsp_message_has_body_buffer" version="1.16">
+ <return-type type="gboolean"/>
+ <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" array="true" null_term_array="true"/>
+ <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="const-gchar*" pass_as="out"/>
+ <parameter allow-none="1" name="version" type="GstRTSPVersion" 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="const-gchar*" pass_as="out"/>
+ <parameter allow-none="1" name="version" type="GstRTSPVersion" 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="const guint8*" array="true" array_length_param_index="1"/>
+ <parameter name="size" type="guint"/>
+ </parameters>
+ </method>
+ <method name="SetBodyBuffer" cname="gst_rtsp_message_set_body_buffer" version="1.16">
+ <return-type type="GstRTSPResult"/>
+ <parameters>
+ <parameter name="buffer" type="GstBuffer*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="StealBody" cname="gst_rtsp_message_steal_body">
+ <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="StealBodyBuffer" cname="gst_rtsp_message_steal_body_buffer" version="1.16">
+ <return-type type="GstRTSPResult"/>
+ <parameters>
+ <parameter name="buffer" type="GstBuffer**" owned="true" pass_as="out">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </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="TakeBodyBuffer" cname="gst_rtsp_message_take_body_buffer" version="1.16">
+ <return-type type="GstRTSPResult"/>
+ <parameters>
+ <parameter name="buffer" type="GstBuffer*" owned="true">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </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" owned="true" pass_as="out"/>
+ <parameter name="max" type="guint64" owned="true" pass_as="out"/>
+ </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**" owned="true" pass_as="out">
+ <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"/>
+ <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*" pass_as="out"/>
+ <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*" owned="true" pass_as="out"/>
+ </parameters>
+ </method>
+ <method name="GetRequestUri" cname="gst_rtsp_url_get_request_uri">
+ <return-type type="gchar*" owned="true"/>
+ <parameters/>
+ </method>
+ <method name="GetRequestUriWithControl" cname="gst_rtsp_url_get_request_uri_with_control" version="1.18">
+ <return-type type="gchar*" owned="true"/>
+ <parameters>
+ <parameter name="control_path" type="const-gchar*"/>
+ </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="SendMessages" cname="gst_rtsp_watch_send_messages" version="1.16">
+ <return-type type="GstRTSPResult"/>
+ <parameters>
+ <parameter name="messages" type="GstRTSPMessage*" array="true" array_length_param_index="1"/>
+ <parameter name="n_messages" type="guint"/>
+ <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" deprecated="true" deprecated-version="1.18">
+ <return-type type="GstRTSPResult"/>
+ <parameters>
+ <parameter name="timeout" type="GTimeVal*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="WaitBacklogUsec" cname="gst_rtsp_watch_wait_backlog_usec" version="1.18">
+ <return-type type="GstRTSPResult"/>
+ <parameters>
+ <parameter name="timeout" type="gint64"/>
+ </parameters>
+ </method>
+ <method name="WriteData" cname="gst_rtsp_watch_write_data">
+ <return-type type="GstRTSPResult"/>
+ <parameters>
+ <parameter name="data" type="const 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"/>
+ </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="RtspGenerateDigestAuthResponseFromMd5" cname="gst_rtsp_generate_digest_auth_response_from_md5" shared="true" version="1.16">
+ <return-type type="gchar*" owned="true"/>
+ <parameters>
+ <parameter allow-none="1" name="algorithm" type="const-gchar*"/>
+ <parameter name="method" type="const-gchar*"/>
+ <parameter name="md5" 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" owned="true" pass_as="out"/>
+ <parameter name="max" type="guint64" owned="true" pass_as="out"/>
+ </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**" owned="true" pass_as="out">
+ <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*" pass_as="out"/>
+ <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="GstSdp" library="gstsdp-1.0">
+ <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"/>
+ <member cname="GST_MIKEY_ENC_AES_GCM_128" name="AesGcm128" value="6"/>
+ </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"/>
+ <member cname="GST_MIKEY_SP_SRTP_AEAD_AUTH_TAG_LEN" name="AeadAuthTagLen" value="20"/>
+ </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="false" hidden="false">
+ <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">
+ <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="gconstpointer" array="true" array_length_param_index="1"/>
+ <parameter name="size" 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="const 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="const 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="const 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="false" hidden="false">
+ <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="3">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="type" access="public" writeable="true" readable="true" is_callback="false" name="Type" type="GstMIKEYPayloadType"/>
+ <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="const 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="const 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="const 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="const 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="const 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="const 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="const 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="const 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="const 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="NewFromText" cname="gst_sdp_message_new_from_text" shared="true" version="1.16">
+ <return-type type="GstSDPResult"/>
+ <parameters>
+ <parameter name="text" type="const-gchar*"/>
+ <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="const 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="SdpMessageNewFromText" cname="gst_sdp_message_new_from_text" shared="true" version="1.16">
+ <return-type type="GstSDPResult"/>
+ <parameters>
+ <parameter name="text" type="const-gchar*"/>
+ <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="const 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="GstTag" library="gsttag-1.0">
+ <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"/>
+ </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"/>
+ </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="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*" array="true" array_length_param_index="1"/>
+ <parameter name="size" type="gint"/>
+ <parameter name="env_vars" type="const gchar**" array="true" null_term_array="true"/>
+ </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="const guint8*" array="true" array_length_param_index="1"/>
+ <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="const guint8*" array="true" array_length_param_index="2"/>
+ <parameter name="image_data_len" type="guint" array_index="1"/>
+ <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="const guint8*" array="true" array_length_param_index="1"/>
+ <parameter name="size" type="gsize"/>
+ <parameter name="id_data" type="const guint8*" array="true" array_length_param_index="3"/>
+ <parameter name="id_data_length" type="guint" array_index="2"/>
+ <parameter allow-none="1" name="vendor_string" type="gchar*" owned="true" pass_as="out"/>
+ </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="const guint8*" array="true" array_length_param_index="2"/>
+ <parameter name="id_data_length" type="guint" array_index="1"/>
+ <parameter allow-none="1" name="vendor_string" type="gchar*" owned="true" pass_as="out"/>
+ </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="const guint8*" array="true" array_len="128"/>
+ </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="const guint8*" array="true" array_length_param_index="2"/>
+ <parameter name="id_data_length" type="guint" array_index="1"/>
+ <parameter allow-none="1" 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**" array="true" null_term_array="true"/>
+ </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="gchar*" owned="true" pass_as="out"/>
+ <parameter name="lang" type="gchar*" owned="true" pass_as="out"/>
+ <parameter name="value" type="gchar*" owned="true" pass_as="out"/>
+ <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>
+ <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="chromaprint-fingerprint" ctype="gchar*" gtype="gchar*" name="TAG_ACOUSTID_FINGERPRINT" version="1.18"/>
+ <constant value="acoustid-id" ctype="gchar*" gtype="gchar*" name="TAG_ACOUSTID_ID" version="1.18"/>
+ <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-releasegroupid" ctype="gchar*" gtype="gchar*" name="TAG_MUSICBRAINZ_RELEASEGROUPID" version="1.18"/>
+ <constant value="musicbrainz-releasetrackid" ctype="gchar*" gtype="gchar*" name="TAG_MUSICBRAINZ_RELEASETRACKID" version="1.18"/>
+ <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="GstVideo" library="gstvideo-1.0">
+ <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"/>
+ <member cname="GST_NAVIGATION_EVENT_MOUSE_SCROLL" name="MouseScroll" value="7"/>
+ </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="VideoAFDSpec" cname="GstVideoAFDSpec" type="enum" gtype="gst_video_afd_spec_get_type" version="1.18">
+ <member cname="GST_VIDEO_AFD_SPEC_DVB_ETSI" name="DvbEtsi" value="0"/>
+ <member cname="GST_VIDEO_AFD_SPEC_ATSC_A53" name="AtscA53" value="1"/>
+ <member cname="GST_VIDEO_AFD_SPEC_SMPTE_ST2016_1" name="SmpteSt20161" value="2"/>
+ </enum>
+ <enum name="VideoAFDValue" cname="GstVideoAFDValue" type="enum" gtype="gst_video_afd_value_get_type" version="1.18">
+ <member cname="GST_VIDEO_AFD_UNAVAILABLE" name="Unavailable" value="0"/>
+ <member cname="GST_VIDEO_AFD_16_9_TOP_ALIGNED" name="_16169TopAligned" value="2"/>
+ <member cname="GST_VIDEO_AFD_14_9_TOP_ALIGNED" name="_14149TopAligned" value="3"/>
+ <member cname="GST_VIDEO_AFD_GREATER_THAN_16_9" name="GreaterThan169" value="4"/>
+ <member cname="GST_VIDEO_AFD_4_3_FULL_16_9_FULL" name="_443Full169Full" value="8"/>
+ <member cname="GST_VIDEO_AFD_4_3_FULL_4_3_PILLAR" name="_443Full43Pillar" value="9"/>
+ <member cname="GST_VIDEO_AFD_16_9_LETTER_16_9_FULL" name="_16169Letter169Full" value="10"/>
+ <member cname="GST_VIDEO_AFD_14_9_LETTER_14_9_PILLAR" name="_14149Letter149Pillar" value="11"/>
+ <member cname="GST_VIDEO_AFD_4_3_FULL_14_9_CENTER" name="_443Full149Center" value="13"/>
+ <member cname="GST_VIDEO_AFD_16_9_LETTER_14_9_CENTER" name="_16169Letter149Center" value="14"/>
+ <member cname="GST_VIDEO_AFD_16_9_LETTER_4_3_CENTER" name="_16169Letter43Center" value="15"/>
+ </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="VideoAncillaryDID" cname="GstVideoAncillaryDID" type="enum" gtype="gst_video_ancillary_did_get_type" version="1.16">
+ <member cname="GST_VIDEO_ANCILLARY_DID_UNDEFINED" name="Undefined" value="0"/>
+ <member cname="GST_VIDEO_ANCILLARY_DID_DELETION" name="Deletion" value="128"/>
+ <member cname="GST_VIDEO_ANCILLARY_DID_HANC_3G_AUDIO_DATA_FIRST" name="Hanc3gAudioDataFirst" value="160"/>
+ <member cname="GST_VIDEO_ANCILLARY_DID_HANC_3G_AUDIO_DATA_LAST" name="Hanc3gAudioDataLast" value="167"/>
+ <member cname="GST_VIDEO_ANCILLARY_DID_HANC_HDTV_AUDIO_DATA_FIRST" name="HancHdtvAudioDataFirst" value="224"/>
+ <member cname="GST_VIDEO_ANCILLARY_DID_HANC_HDTV_AUDIO_DATA_LAST" name="HancHdtvAudioDataLast" value="231"/>
+ <member cname="GST_VIDEO_ANCILLARY_DID_HANC_SDTV_AUDIO_DATA_1_FIRST" name="HancSdtvAudioData1First" value="236"/>
+ <member cname="GST_VIDEO_ANCILLARY_DID_HANC_SDTV_AUDIO_DATA_1_LAST" name="HancSdtvAudioData1Last" value="239"/>
+ <member cname="GST_VIDEO_ANCILLARY_DID_CAMERA_POSITION" name="CameraPosition" value="240"/>
+ <member cname="GST_VIDEO_ANCILLARY_DID_HANC_ERROR_DETECTION" name="HancErrorDetection" value="244"/>
+ <member cname="GST_VIDEO_ANCILLARY_DID_HANC_SDTV_AUDIO_DATA_2_FIRST" name="HancSdtvAudioData2First" value="248"/>
+ <member cname="GST_VIDEO_ANCILLARY_DID_HANC_SDTV_AUDIO_DATA_2_LAST" name="HancSdtvAudioData2Last" value="255"/>
+ </enum>
+ <enum name="VideoAncillaryDID16" cname="GstVideoAncillaryDID16" type="enum" gtype="gst_video_ancillary_di_d16_get_type" version="1.16">
+ <member cname="GST_VIDEO_ANCILLARY_DID16_S2016_3_AFD_BAR" name="S20163AfdBar" value="16645"/>
+ <member cname="GST_VIDEO_ANCILLARY_DID16_S334_EIA_708" name="S334Eia708" value="24833"/>
+ <member cname="GST_VIDEO_ANCILLARY_DID16_S334_EIA_608" name="S334Eia608" value="24834"/>
+ </enum>
+ <enum name="VideoCaptionType" cname="GstVideoCaptionType" type="enum" gtype="gst_video_caption_type_get_type" version="1.16">
+ <member cname="GST_VIDEO_CAPTION_TYPE_UNKNOWN" name="Unknown" value="0"/>
+ <member cname="GST_VIDEO_CAPTION_TYPE_CEA608_RAW" name="Cea608Raw" value="1"/>
+ <member cname="GST_VIDEO_CAPTION_TYPE_CEA608_S334_1A" name="Cea608S3341a" value="2"/>
+ <member cname="GST_VIDEO_CAPTION_TYPE_CEA708_RAW" name="Cea708Raw" value="3"/>
+ <member cname="GST_VIDEO_CAPTION_TYPE_CEA708_CDP" name="Cea708Cdp" value="4"/>
+ </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"/>
+ <member cname="GST_VIDEO_COLOR_PRIMARIES_SMPTEST428" name="Smptest428" value="9"/>
+ <member cname="GST_VIDEO_COLOR_PRIMARIES_SMPTERP431" name="Smpterp431" value="10"/>
+ <member cname="GST_VIDEO_COLOR_PRIMARIES_SMPTEEG432" name="Smpteeg432" value="11"/>
+ <member cname="GST_VIDEO_COLOR_PRIMARIES_EBU3213" name="Ebu3213" value="12"/>
+ </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"/>
+ <member cname="GST_VIDEO_FORMAT_GRAY10_LE32" name="Gray10Le32" value="78"/>
+ <member cname="GST_VIDEO_FORMAT_NV12_10LE32" name="Nv1210le32" value="79"/>
+ <member cname="GST_VIDEO_FORMAT_NV16_10LE32" name="Nv1610le32" value="80"/>
+ <member cname="GST_VIDEO_FORMAT_NV12_10LE40" name="Nv1210le40" value="81"/>
+ <member cname="GST_VIDEO_FORMAT_Y210" name="Y210" value="82"/>
+ <member cname="GST_VIDEO_FORMAT_Y410" name="Y410" value="83"/>
+ <member cname="GST_VIDEO_FORMAT_VUYA" name="Vuya" value="84"/>
+ <member cname="GST_VIDEO_FORMAT_BGR10A2_LE" name="Bgr10a2Le" value="85"/>
+ <member cname="GST_VIDEO_FORMAT_RGB10A2_LE" name="Rgb10a2Le" value="86"/>
+ <member cname="GST_VIDEO_FORMAT_Y444_16BE" name="Y44416be" value="87"/>
+ <member cname="GST_VIDEO_FORMAT_Y444_16LE" name="Y44416le" value="88"/>
+ <member cname="GST_VIDEO_FORMAT_P016_BE" name="P016Be" value="89"/>
+ <member cname="GST_VIDEO_FORMAT_P016_LE" name="P016Le" value="90"/>
+ <member cname="GST_VIDEO_FORMAT_P012_BE" name="P012Be" value="91"/>
+ <member cname="GST_VIDEO_FORMAT_P012_LE" name="P012Le" value="92"/>
+ <member cname="GST_VIDEO_FORMAT_Y212_BE" name="Y212Be" value="93"/>
+ <member cname="GST_VIDEO_FORMAT_Y212_LE" name="Y212Le" value="94"/>
+ <member cname="GST_VIDEO_FORMAT_Y412_BE" name="Y412Be" value="95"/>
+ <member cname="GST_VIDEO_FORMAT_Y412_LE" name="Y412Le" value="96"/>
+ <member cname="GST_VIDEO_FORMAT_NV12_4L4" name="Nv124l4" value="97"/>
+ <member cname="GST_VIDEO_FORMAT_NV12_32L32" name="Nv1232l32" value="98"/>
+ </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"/>
+ <member cname="GST_VIDEO_INTERLACE_MODE_ALTERNATE" name="Alternate" value="4"/>
+ </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="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"/>
+ <member cname="GST_VIDEO_TILE_MODE_LINEAR" name="Linear" value="131072"/>
+ </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"/>
+ <member cname="GST_VIDEO_TRANSFER_BT2020_10" name="Bt202010" value="13"/>
+ <member cname="GST_VIDEO_TRANSFER_SMPTE2084" name="Smpte2084" value="14"/>
+ <member cname="GST_VIDEO_TRANSFER_ARIB_STD_B67" name="AribStdB67" value="15"/>
+ <member cname="GST_VIDEO_TRANSFER_BT601" name="Bt601" value="16"/>
+ </enum>
+ <enum name="VideoVBIParserResult" cname="GstVideoVBIParserResult" type="enum" gtype="gst_video_vbi_parser_result_get_type" version="1.16">
+ <member cname="GST_VIDEO_VBI_PARSER_RESULT_DONE" name="Done" value="0"/>
+ <member cname="GST_VIDEO_VBI_PARSER_RESULT_OK" name="Ok" value="1"/>
+ <member cname="GST_VIDEO_VBI_PARSER_RESULT_ERROR" name="Error" value="2"/>
+ </enum>
+ <enum name="VideoBufferFlags" cname="GstVideoBufferFlags" type="flags" gtype="gst_video_buffer_flags_get_type">
+ <member cname="GST_VIDEO_BUFFER_FLAG_MARKER" name="Marker" value="512"/>
+ <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_ONEFIELD" name="Onefield" value="8388608"/>
+ <member cname="GST_VIDEO_BUFFER_FLAG_BOTTOM_FIELD" name="BottomField" value="8388608"/>
+ <member cname="GST_VIDEO_BUFFER_FLAG_TOP_FIELD" name="TopField" value="10485760"/>
+ <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"/>
+ <member cname="GST_VIDEO_CODEC_FRAME_FLAG_CORRUPTED" name="Corrupted" value="16"/>
+ </enum>
+ <enum name="VideoDecoderRequestSyncPointFlags" cname="GstVideoDecoderRequestSyncPointFlags" type="flags" version="1.20">
+ <member cname="GST_VIDEO_DECODER_REQUEST_SYNC_POINT_DISCARD_INPUT" name="DiscardInput" value="1"/>
+ <member cname="GST_VIDEO_DECODER_REQUEST_SYNC_POINT_CORRUPT_OUTPUT" name="CorruptOutput" value="2"/>
+ </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_ONEFIELD" name="Onefield" value="8"/>
+ <member cname="GST_VIDEO_FRAME_FLAG_BOTTOM_FIELD" name="BottomField" value="8"/>
+ <member cname="GST_VIDEO_FRAME_FLAG_TOP_FIELD" name="TopField" value="10"/>
+ <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="VideoOverlayFormatFlags" cname="GstVideoOverlayFormatFlags" type="flags" gtype="gst_video_overlay_format_flags_get_type">
+ <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="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" gtype="gst_video_time_code_flags_get_type" 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"/>
+ </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="const 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="const 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="EventParseMouseScrollEvent" cname="gst_navigation_event_parse_mouse_scroll_event" shared="true" version="1.18">
+ <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"/>
+ <parameter allow-none="1" name="delta_x" type="gdouble*" owned="true" pass_as="out"/>
+ <parameter allow-none="1" name="delta_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>
+ <method name="SendMouseScrollEvent" cname="gst_navigation_send_mouse_scroll_event" version="1.18">
+ <return-type type="void"/>
+ <parameters>
+ <parameter name="x" type="gdouble"/>
+ <parameter name="y" type="gdouble"/>
+ <parameter name="delta_x" type="gdouble"/>
+ <parameter name="delta_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*" owned="true" pass_as="out"/>
+ </parameters>
+ </virtual_method>
+ <virtual_method name="GetHflip" cname="get_hflip">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="flip" type="gboolean*" owned="true" pass_as="out"/>
+ </parameters>
+ </virtual_method>
+ <virtual_method name="GetVcenter" cname="get_vcenter">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="center" type="gint*" owned="true" pass_as="out"/>
+ </parameters>
+ </virtual_method>
+ <virtual_method name="GetVflip" cname="get_vflip">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="flip" type="gboolean*" owned="true" pass_as="out"/>
+ </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*" owned="true" pass_as="out"/>
+ </parameters>
+ </method>
+ <method name="GetHflip" cname="gst_video_orientation_get_hflip">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="flip" type="gboolean*" owned="true" pass_as="out"/>
+ </parameters>
+ </method>
+ <method name="GetVcenter" cname="gst_video_orientation_get_vcenter">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="center" type="gint*" owned="true" pass_as="out"/>
+ </parameters>
+ </method>
+ <method name="GetVflip" cname="gst_video_orientation_get_vflip">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="flip" type="gboolean*" owned="true" pass_as="out"/>
+ </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>
+ <method name="InstallProperties" cname="gst_video_overlay_install_properties" shared="true" version="1.14">
+ <return-type type="void"/>
+ <parameters>
+ <parameter name="oclass" type="GObjectClass*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ <parameter name="last_prop_id" type="gint"/>
+ </parameters>
+ </method>
+ <method name="SetProperty" cname="gst_video_overlay_set_property" shared="true" version="1.14">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="_object" type="GObject*"/>
+ <parameter name="last_prop_id" type="gint"/>
+ <parameter name="property_id" type="guint"/>
+ <parameter name="value" type="GValue*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </parameters>
+ </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="guintptr"/>
+ </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="guintptr"/>
+ </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="guintptr"/>
+ </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"/>
+ </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*"/>
+ <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"/>
+ <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="VideoAggregator" cname="GstVideoAggregator" defaultconstructoraccess="protected" opaque="false" hidden="false" parent="GstAggregator" version="1.16">
+ <class_struct cname="GstVideoAggregatorClass" version="1.16">
+ <field cname="parent_class" access="private" writeable="false" readable="false" is_callback="false" name="ParentClass" type="GstAggregatorClass">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <method vm="update_caps"/>
+ <method vm="aggregate_frames"/>
+ <method vm="create_output_buffer"/>
+ <method vm="find_best_format"/>
+ <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="20"/>
+ </class_struct>
+ <method name="GetType" cname="gst_video_aggregator_get_type" shared="true">
+ <return-type type="GType"/>
+ </method>
+ <virtual_method name="AggregateFrames" cname="aggregate_frames">
+ <return-type type="GstFlowReturn"/>
+ <parameters>
+ <parameter name="outbuffer" type="GstBuffer*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </parameters>
+ </virtual_method>
+ <virtual_method name="CreateOutputBuffer" cname="create_output_buffer">
+ <return-type type="GstFlowReturn"/>
+ <parameters>
+ <parameter name="outbuffer" type="GstBuffer**">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </parameters>
+ </virtual_method>
+ <virtual_method name="FindBestFormat" cname="find_best_format">
+ <return-type type="void"/>
+ <parameters>
+ <parameter name="downstream_caps" type="GstCaps*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ <parameter name="best_info" type="GstVideoInfo*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ <parameter name="at_least_one_alpha" type="gboolean"/>
+ </parameters>
+ </virtual_method>
+ <virtual_method name="UpdateCaps" cname="update_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>
+ <field cname="aggregator" access="public" writeable="false" readable="true" is_callback="false" name="Aggregator" type="GstAggregator*"/>
+ <field cname="info" access="public" writeable="false" readable="true" is_callback="false" name="Info" type="GstVideoInfo">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GstVideoAggregatorPrivate*">
+ <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"/>
+ </object>
+ <object name="VideoAggregatorConvertPad" cname="GstVideoAggregatorConvertPad" opaque="false" hidden="false" parent="GstVideoAggregatorPad" version="1.16">
+ <class_struct cname="GstVideoAggregatorConvertPadClass" version="1.16">
+ <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GstVideoAggregatorPadClass">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <method vm="create_conversion_info"/>
+ <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4"/>
+ </class_struct>
+ <method name="GetType" cname="gst_video_aggregator_convert_pad_get_type" shared="true">
+ <return-type type="GType"/>
+ </method>
+ <virtual_method name="CreateConversionInfo" cname="create_conversion_info">
+ <return-type type="void"/>
+ <parameters>
+ <parameter name="agg" type="GstVideoAggregator*"/>
+ <parameter name="conversion_info" type="GstVideoInfo*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </parameters>
+ </virtual_method>
+ <method name="UpdateConversionInfo" cname="gst_video_aggregator_convert_pad_update_conversion_info">
+ <return-type type="void"/>
+ <parameters/>
+ </method>
+ <property name="ConverterConfig" cname="converter-config" type="GstStructure*" readable="true" writeable="true" construct="false" construct-only="false"/>
+ <field cname="parent" access="private" writeable="false" readable="false" is_callback="false" name="Parent" type="GstVideoAggregatorPad*"/>
+ <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GstVideoAggregatorConvertPadPrivate*">
+ <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"/>
+ </object>
+ <object name="VideoAggregatorPad" cname="GstVideoAggregatorPad" opaque="false" hidden="false" parent="GstAggregatorPad" version="1.16">
+ <class_struct cname="GstVideoAggregatorPadClass" version="1.16">
+ <field cname="parent_class" access="public" writeable="false" readable="true" is_callback="false" name="ParentClass" type="GstAggregatorPadClass">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <method vm="update_conversion_info"/>
+ <method vm="prepare_frame"/>
+ <method vm="clean_frame"/>
+ <field cname="_gst_reserved" access="public" writeable="false" readable="true" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="20"/>
+ </class_struct>
+ <method name="GetType" cname="gst_video_aggregator_pad_get_type" shared="true">
+ <return-type type="GType"/>
+ </method>
+ <virtual_method name="CleanFrame" cname="clean_frame">
+ <return-type type="void"/>
+ <parameters>
+ <parameter name="videoaggregator" type="GstVideoAggregator*"/>
+ <parameter name="prepared_frame" type="GstVideoFrame*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </parameters>
+ </virtual_method>
+ <virtual_method name="PrepareFrame" cname="prepare_frame">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="videoaggregator" type="GstVideoAggregator*"/>
+ <parameter name="buffer" type="GstBuffer*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ <parameter name="prepared_frame" type="GstVideoFrame*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </parameters>
+ </virtual_method>
+ <virtual_method name="UpdateConversionInfo" cname="update_conversion_info">
+ <return-type type="void"/>
+ <parameters/>
+ </virtual_method>
+ <method name="GetCurrentBuffer" cname="gst_video_aggregator_pad_get_current_buffer">
+ <return-type type="GstBuffer*">
+ <warning>missing glib:type-name</warning>
+ </return-type>
+ <parameters/>
+ </method>
+ <method name="GetPreparedFrame" cname="gst_video_aggregator_pad_get_prepared_frame">
+ <return-type type="GstVideoFrame*">
+ <warning>missing glib:type-name</warning>
+ </return-type>
+ <parameters/>
+ </method>
+ <method name="HasCurrentBuffer" cname="gst_video_aggregator_pad_has_current_buffer">
+ <return-type type="gboolean"/>
+ <parameters/>
+ </method>
+ <method name="SetNeedsAlpha" cname="gst_video_aggregator_pad_set_needs_alpha">
+ <return-type type="void"/>
+ <parameters>
+ <parameter name="needs_alpha" type="gboolean"/>
+ </parameters>
+ </method>
+ <property name="MaxLastBufferRepeat" cname="max-last-buffer-repeat" type="guint64" readable="true" writeable="true" construct="false" construct-only="false"/>
+ <property name="RepeatAfterEos" cname="repeat-after-eos" type="gboolean" readable="true" writeable="true" construct="false" construct-only="false"/>
+ <property name="Zorder" cname="zorder" type="guint" readable="true" writeable="true" construct="false" construct-only="false"/>
+ <field cname="parent" access="public" writeable="false" readable="true" is_callback="false" name="Parent" type="GstAggregatorPad*"/>
+ <field cname="info" access="public" writeable="false" readable="true" is_callback="false" name="Info" type="GstVideoInfo">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="priv" access="private" writeable="false" readable="false" is_callback="false" name="Priv" type="GstVideoAggregatorPadPrivate*">
+ <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"/>
+ </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="GetNeedsSyncPoint" cname="gst_video_decoder_get_needs_sync_point" version="1.20">
+ <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="RequestSyncPoint" cname="gst_video_decoder_request_sync_point" version="1.20">
+ <return-type type="void"/>
+ <parameters>
+ <parameter name="frame" type="GstVideoCodecFrame*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ <parameter name="flags" type="GstVideoDecoderRequestSyncPointFlags"/>
+ </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="SetInterlacedOutputState" cname="gst_video_decoder_set_interlaced_output_state" version="1.16.">
+ <return-type type="GstVideoCodecState*" owned="true">
+ <warning>missing glib:type-name</warning>
+ </return-type>
+ <parameters>
+ <parameter name="fmt" type="GstVideoFormat"/>
+ <parameter name="interlace_mode" type="GstVideoInterlaceMode"/>
+ <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="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="SetNeedsSyncPoint" cname="gst_video_decoder_set_needs_sync_point" version="1.20">
+ <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>
+ <property name="DiscardCorruptedFrames" cname="discard-corrupted-frames" type="gboolean" readable="true" writeable="true" construct="false" construct-only="false" version="1.20"/>
+ <property name="MaxErrors" cname="max-errors" type="gint" readable="true" writeable="true" construct="false" construct-only="false" version="1.18"/>
+ <property name="MinForceKeyUnitInterval" cname="min-force-key-unit-interval" type="guint64" readable="true" writeable="true" construct="false" construct-only="false" version="1.20"/>
+ <property name="Qos" cname="qos" type="gboolean" readable="true" writeable="true" construct="false" construct-only="false" version="1.18"/>
+ <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"/>
+ </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="FinishSubframe" cname="gst_video_encoder_finish_subframe" version="1.18">
+ <return-type type="GstFlowReturn"/>
+ <parameters>
+ <parameter name="frame" type="GstVideoCodecFrame*">
+ <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="GetMinForceKeyUnitInterval" cname="gst_video_encoder_get_min_force_key_unit_interval" version="1.18">
+ <return-type type="guint64"/>
+ <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="SetMinForceKeyUnitInterval" cname="gst_video_encoder_set_min_force_key_unit_interval" version="1.18">
+ <return-type type="void"/>
+ <parameters>
+ <parameter name="interval" type="guint64"/>
+ </parameters>
+ </method>
+ <method name="SetMinPts" cname="gst_video_encoder_set_min_pts" version="1.6">
+ <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="MinForceKeyUnitInterval" cname="min-force-key-unit-interval" type="guint64" readable="true" writeable="true" construct="false" construct-only="false" version="1.18"/>
+ <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"/>
+ </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"/>
+ </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"/>
+ </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"/>
+ </object>
+ <struct name="VideoAFDMeta" cname="GstVideoAFDMeta" opaque="false" hidden="false" version="1.18">
+ <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="field" access="public" writeable="true" readable="true" is_callback="false" name="Field" type="guint8"/>
+ <field cname="spec" access="public" writeable="true" readable="true" is_callback="false" name="Spec" type="GstVideoAFDSpec"/>
+ <field cname="afd" access="public" writeable="true" readable="true" is_callback="false" name="Afd" type="GstVideoAFDValue"/>
+ <method name="GetInfo" cname="gst_video_afd_meta_get_info" shared="true">
+ <return-type type="GstMetaInfo*">
+ <warning>missing glib:type-name</warning>
+ </return-type>
+ </method>
+ </struct>
+ <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="const gfloat*" array="true" array_len="16"/>
+ </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="VideoAggregatorConvertPadPrivate" cname="GstVideoAggregatorConvertPadPrivate" opaque="true" hidden="true"/>
+ <struct name="VideoAggregatorPadPrivate" cname="GstVideoAggregatorPadPrivate" opaque="true" hidden="true"/>
+ <struct name="VideoAggregatorPrivate" cname="GstVideoAggregatorPrivate" opaque="true" hidden="true"/>
+ <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="VideoAncillary" cname="GstVideoAncillary" opaque="false" hidden="false" version="1.16">
+ <field cname="DID" access="public" writeable="true" readable="true" is_callback="false" name="DID" type="guint8"/>
+ <field cname="SDID_block_number" access="public" writeable="true" readable="true" is_callback="false" name="SDIDBlockNumber" type="guint8"/>
+ <field cname="data_count" access="public" writeable="true" readable="true" is_callback="false" name="DataCount" type="guint8"/>
+ <field cname="data" access="public" writeable="true" readable="true" is_callback="false" name="Data" type="guint8" array="true" array_length_param_index="2"/>
+ <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4"/>
+ </struct>
+ <struct name="VideoBarMeta" cname="GstVideoBarMeta" opaque="false" hidden="false" version="1.18">
+ <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="field" access="public" writeable="true" readable="true" is_callback="false" name="Field" type="guint8"/>
+ <field cname="is_letterbox" access="public" writeable="true" readable="true" is_callback="false" name="IsLetterbox" type="gboolean"/>
+ <field cname="bar_data1" access="public" writeable="true" readable="true" is_callback="false" name="BarData1" type="guint"/>
+ <field cname="bar_data2" access="public" writeable="true" readable="true" is_callback="false" name="BarData2" type="guint"/>
+ <method name="GetInfo" cname="gst_video_bar_meta_get_info" shared="true">
+ <return-type type="GstMetaInfo*">
+ <warning>missing glib:type-name</warning>
+ </return-type>
+ </method>
+ </struct>
+ <struct name="VideoBufferPoolPrivate" cname="GstVideoBufferPoolPrivate" opaque="true" hidden="true"/>
+ <struct name="VideoCaptionMeta" cname="GstVideoCaptionMeta" opaque="false" hidden="false" version="1.16">
+ <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="caption_type" access="public" writeable="true" readable="true" is_callback="false" name="CaptionType" type="GstVideoCaptionType"/>
+ <field cname="data" access="public" writeable="true" readable="true" is_callback="false" name="Data" type="guint8*" array="true" array_length_param_index="3"/>
+ <field cname="size" access="public" writeable="true" readable="true" is_callback="false" name="Size" type="gsize"/>
+ <method name="GetInfo" cname="gst_video_caption_meta_get_info" shared="true">
+ <return-type type="GstMetaInfo*">
+ <warning>missing glib:type-name</warning>
+ </return-type>
+ </method>
+ </struct>
+ <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="private" writeable="false" readable="false" is_callback="false" name="DecodeFrameNumber" type="guint32"/>
+ <field cname="presentation_frame_number" access="private" writeable="false" readable="false" 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">
+ <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"/>
+ <field cname="num_subframes" access="public" writeable="true" readable="true" is_callback="false" name="NumSubframes" type="guint"/>
+ </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="VideoContentLightLevel" cname="GstVideoContentLightLevel" opaque="false" hidden="false" version="1.18">
+ <field cname="max_content_light_level" access="public" writeable="true" readable="true" is_callback="false" name="MaxContentLightLevel" type="guint16"/>
+ <field cname="max_frame_average_light_level" access="public" writeable="true" readable="true" is_callback="false" name="MaxFrameAverageLightLevel" type="guint16"/>
+ <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4"/>
+ <method name="AddToCaps" cname="gst_video_content_light_level_add_to_caps" version="1.18">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="caps" type="GstCaps*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="FromCaps" cname="gst_video_content_light_level_from_caps" version="1.18">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="caps" type="GstCaps*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="FromString" cname="gst_video_content_light_level_from_string" version="1.18">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="level" type="const-gchar*"/>
+ </parameters>
+ </method>
+ <method name="Init" cname="gst_video_content_light_level_init" version="1.18">
+ <return-type type="void"/>
+ <parameters/>
+ </method>
+ <method name="ToString" cname="gst_video_content_light_level_to_string" version="1.18">
+ <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"/>
+ <method name="Component" cname="gst_video_format_info_component" version="1.18">
+ <return-type type="void"/>
+ <parameters>
+ <parameter name="plane" type="guint"/>
+ <parameter name="components" type="gint*" owned="true" pass_as="out"/>
+ </parameters>
+ </method>
+ </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"/>
+ <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">
+ <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"/>
+ <field cname="user_data_free" access="private" writeable="false" readable="false" is_callback="false" name="UserDataFree" type="GBoxedFreeFunc"/>
+ <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="false" 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"/>
+ </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="AlignFull" cname="gst_video_info_align_full" version="1.18">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="align" type="GstVideoAlignment*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ <parameter allow-none="1" name="plane_size" type="gsize*" owned="true" pass_as="out"/>
+ </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*" owned="true" pass_as="out"/>
+ </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="SetInterlacedFormat" cname="gst_video_info_set_interlaced_format" version="1.16">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="format" type="GstVideoFormat"/>
+ <parameter name="mode" type="GstVideoInterlaceMode"/>
+ <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="VideoMasteringDisplayInfo" cname="GstVideoMasteringDisplayInfo" opaque="false" hidden="false" version="1.18">
+ <field cname="display_primaries" access="public" writeable="true" readable="true" is_callback="false" name="DisplayPrimaries" type="GstVideoMasteringDisplayInfoCoordinates" array="true" array_len="3"/>
+ <field cname="white_point" access="public" writeable="true" readable="true" is_callback="false" name="WhitePoint" type="GstVideoMasteringDisplayInfoCoordinates">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <field cname="max_display_mastering_luminance" access="public" writeable="true" readable="true" is_callback="false" name="MaxDisplayMasteringLuminance" type="guint32"/>
+ <field cname="min_display_mastering_luminance" access="public" writeable="true" readable="true" is_callback="false" name="MinDisplayMasteringLuminance" type="guint32"/>
+ <field cname="_gst_reserved" access="private" writeable="false" readable="false" is_callback="false" name="_gstGstReserved" type="gpointer" array="true" array_len="4"/>
+ <method name="AddToCaps" cname="gst_video_mastering_display_info_add_to_caps" version="1.18">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="caps" type="GstCaps*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="FromCaps" cname="gst_video_mastering_display_info_from_caps" version="1.18">
+ <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_mastering_display_info_init" version="1.18">
+ <return-type type="void"/>
+ <parameters/>
+ </method>
+ <method name="IsEqual" cname="gst_video_mastering_display_info_is_equal" version="1.18">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="other" type="GstVideoMasteringDisplayInfo*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="ToString" cname="gst_video_mastering_display_info_to_string" version="1.18">
+ <return-type type="gchar*" owned="true"/>
+ <parameters/>
+ </method>
+ <method name="FromString" cname="gst_video_mastering_display_info_from_string" shared="true" version="1.18">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="minfo" type="GstVideoMasteringDisplayInfo*" pass_as="out">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ <parameter name="mastering" type="const-gchar*"/>
+ </parameters>
+ </method>
+ </struct>
+ <struct name="VideoMasteringDisplayInfoCoordinates" cname="GstVideoMasteringDisplayInfoCoordinates" opaque="false" hidden="false" version="1.18">
+ <field cname="x" access="public" writeable="true" readable="true" is_callback="false" name="X" type="guint16"/>
+ <field cname="y" access="public" writeable="true" readable="true" is_callback="false" name="Y" type="guint16"/>
+ </struct>
+ <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"/>
+ <field cname="alignment" access="public" writeable="true" readable="true" is_callback="false" name="Alignment" type="GstVideoAlignment">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <method name="GetPlaneHeight" cname="gst_video_meta_get_plane_height" version="1.18">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="plane_height" type="guint*" owned="true" pass_as="out"/>
+ </parameters>
+ </method>
+ <method name="GetPlaneSize" cname="gst_video_meta_get_plane_size" version="1.18">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="plane_size" type="gsize*" owned="true" pass_as="out"/>
+ </parameters>
+ </method>
+ <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 name="data" type="gpointer*" owned="true" pass_as="out"/>
+ <parameter name="stride" type="gint*" owned="true" pass_as="out"/>
+ <parameter name="flags" type="GstMapFlags"/>
+ </parameters>
+ </method>
+ <method name="SetAlignment" cname="gst_video_meta_set_alignment" version="1.18">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="alignment" type="GstVideoAlignment">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </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"/>
+ <field cname="params" access="public" writeable="true" readable="true" is_callback="false" name="Params" type="GList*" element_type="gpointer"/>
+ <method name="AddParam" cname="gst_video_region_of_interest_meta_add_param" version="1.14">
+ <return-type type="void"/>
+ <parameters>
+ <parameter name="s" type="GstStructure*" owned="true">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="GetParam" cname="gst_video_region_of_interest_meta_get_param" version="1.14">
+ <return-type type="GstStructure*">
+ <warning>missing glib:type-name</warning>
+ </return-type>
+ <parameters>
+ <parameter name="name" type="const-gchar*"/>
+ </parameters>
+ </method>
+ <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"/>
+ <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="2d" 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_date_time_full" version="1.16">
+ <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 allow-none="1" 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="InitFromDateTimeFull" cname="gst_video_time_code_init_from_date_time_full" version="1.16">
+ <return-type type="gboolean"/>
+ <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>
+ <boxed name="VideoVBIEncoder" cname="GstVideoVBIEncoder" opaque="false" hidden="false" version="1.16">
+ <method name="GetType" cname="gst_video_vbi_encoder_get_type" shared="true">
+ <return-type type="GType"/>
+ </method>
+ <constructor cname="gst_video_vbi_encoder_new" version="1.16">
+ <parameters>
+ <parameter name="format" type="GstVideoFormat"/>
+ <parameter name="pixel_width" type="guint32"/>
+ </parameters>
+ </constructor>
+ <method name="AddAncillary" cname="gst_video_vbi_encoder_add_ancillary" version="1.16">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="composite" type="gboolean"/>
+ <parameter name="DID" type="guint8"/>
+ <parameter name="SDID_block_number" type="guint8"/>
+ <parameter name="data" type="const guint8*" array="true" array_length_param_index="4"/>
+ <parameter name="data_count" type="guint" array_index="3"/>
+ </parameters>
+ </method>
+ <method name="Copy" cname="gst_video_vbi_encoder_copy">
+ <return-type type="GstVideoVBIEncoder*" owned="true">
+ <warning>missing glib:type-name</warning>
+ </return-type>
+ <parameters/>
+ </method>
+ <method name="Free" cname="gst_video_vbi_encoder_free" version="1.16">
+ <return-type type="void"/>
+ <parameters/>
+ </method>
+ <method name="WriteLine" cname="gst_video_vbi_encoder_write_line">
+ <return-type type="void"/>
+ <parameters>
+ <parameter name="data" type="guint8"/>
+ </parameters>
+ </method>
+ </boxed>
+ <boxed name="VideoVBIParser" cname="GstVideoVBIParser" opaque="false" hidden="false" version="1.16">
+ <method name="GetType" cname="gst_video_vbi_parser_get_type" shared="true">
+ <return-type type="GType"/>
+ </method>
+ <constructor cname="gst_video_vbi_parser_new" version="1.16">
+ <parameters>
+ <parameter name="format" type="GstVideoFormat"/>
+ <parameter name="pixel_width" type="guint32"/>
+ </parameters>
+ </constructor>
+ <method name="AddLine" cname="gst_video_vbi_parser_add_line" version="1.16">
+ <return-type type="void"/>
+ <parameters>
+ <parameter name="data" type="const guint8*" array="true"/>
+ </parameters>
+ </method>
+ <method name="Copy" cname="gst_video_vbi_parser_copy">
+ <return-type type="GstVideoVBIParser*" owned="true">
+ <warning>missing glib:type-name</warning>
+ </return-type>
+ <parameters/>
+ </method>
+ <method name="Free" cname="gst_video_vbi_parser_free" version="1.16">
+ <return-type type="void"/>
+ <parameters/>
+ </method>
+ <method name="GetAncillary" cname="gst_video_vbi_parser_get_ancillary" version="1.16">
+ <return-type type="GstVideoVBIParserResult"/>
+ <parameters>
+ <parameter name="anc" type="GstVideoAncillary*" pass_as="out">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </parameters>
+ </method>
+ </boxed>
+ <object name="Global" cname="GstVideoGlobal" opaque="true">
+ <method name="BufferAddVideoAfdMeta" cname="gst_buffer_add_video_afd_meta" shared="true" version="1.18">
+ <return-type type="GstVideoAFDMeta*">
+ <warning>missing glib:type-name</warning>
+ </return-type>
+ <parameters>
+ <parameter name="buffer" type="GstBuffer*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ <parameter name="field" type="guint8"/>
+ <parameter name="spec" type="GstVideoAFDSpec"/>
+ <parameter name="afd" type="GstVideoAFDValue"/>
+ </parameters>
+ </method>
+ <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="BufferAddVideoBarMeta" cname="gst_buffer_add_video_bar_meta" shared="true" version="1.18">
+ <return-type type="GstVideoBarMeta*">
+ <warning>missing glib:type-name</warning>
+ </return-type>
+ <parameters>
+ <parameter name="buffer" type="GstBuffer*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ <parameter name="field" type="guint8"/>
+ <parameter name="is_letterbox" type="gboolean"/>
+ <parameter name="bar_data1" type="guint"/>
+ <parameter name="bar_data2" type="guint"/>
+ </parameters>
+ </method>
+ <method name="BufferAddVideoCaptionMeta" cname="gst_buffer_add_video_caption_meta" shared="true" version="1.16">
+ <return-type type="GstVideoCaptionMeta*">
+ <warning>missing glib:type-name</warning>
+ </return-type>
+ <parameters>
+ <parameter name="buffer" type="GstBuffer*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ <parameter name="caption_type" type="GstVideoCaptionType"/>
+ <parameter name="data" type="const guint8*" array="true" array_length_param_index="3"/>
+ <parameter name="size" type="gsize" array_index="2"/>
+ </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*" array="true" array_len="4"/>
+ <parameter name="stride" type="gint*" array="true" array_len="4"/>
+ </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="NavigationEventParseMouseScrollEvent" cname="gst_navigation_event_parse_mouse_scroll_event" shared="true" version="1.18">
+ <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"/>
+ <parameter allow-none="1" name="delta_x" type="gdouble*" owned="true" pass_as="out"/>
+ <parameter allow-none="1" name="delta_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="VideoAfdMetaApiGetType" cname="gst_video_afd_meta_api_get_type" shared="true">
+ <return-type type="GType"/>
+ </method>
+ <method name="VideoAfdMetaGetInfo" cname="gst_video_afd_meta_get_info" shared="true">
+ <return-type type="GstMetaInfo*">
+ <warning>missing glib:type-name</warning>
+ </return-type>
+ </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="VideoBarMetaApiGetType" cname="gst_video_bar_meta_api_get_type" shared="true">
+ <return-type type="GType"/>
+ </method>
+ <method name="VideoBarMetaGetInfo" cname="gst_video_bar_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="VideoCaptionMetaApiGetType" cname="gst_video_caption_meta_api_get_type" shared="true">
+ <return-type type="GType"/>
+ </method>
+ <method name="VideoCaptionMetaGetInfo" cname="gst_video_caption_meta_get_info" shared="true">
+ <return-type type="GstMetaInfo*">
+ <warning>missing glib:type-name</warning>
+ </return-type>
+ </method>
+ <method name="VideoCaptionTypeFromCaps" cname="gst_video_caption_type_from_caps" shared="true" version="1.16">
+ <return-type type="GstVideoCaptionType"/>
+ <parameters>
+ <parameter name="caps" type="GstCaps*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="VideoCaptionTypeToCaps" cname="gst_video_caption_type_to_caps" shared="true" version="1.16">
+ <return-type type="GstCaps*" owned="true">
+ <warning>missing glib:type-name</warning>
+ </return-type>
+ <parameters>
+ <parameter name="type" type="GstVideoCaptionType"/>
+ </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="VideoColorMatrixFromIso" cname="gst_video_color_matrix_from_iso" shared="true" version="1.18">
+ <return-type type="GstVideoColorMatrix"/>
+ <parameters>
+ <parameter name="value" type="guint"/>
+ </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*" owned="true" pass_as="out"/>
+ <parameter name="Kb" type="gdouble*" owned="true" pass_as="out"/>
+ </parameters>
+ </method>
+ <method name="VideoColorMatrixToIso" cname="gst_video_color_matrix_to_iso" shared="true" version="1.18">
+ <return-type type="guint"/>
+ <parameters>
+ <parameter name="matrix" type="GstVideoColorMatrix"/>
+ </parameters>
+ </method>
+ <method name="VideoColorPrimariesFromIso" cname="gst_video_color_primaries_from_iso" shared="true" version="1.18">
+ <return-type type="GstVideoColorPrimaries"/>
+ <parameters>
+ <parameter name="value" type="guint"/>
+ </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="VideoColorPrimariesToIso" cname="gst_video_color_primaries_to_iso" shared="true" version="1.18">
+ <return-type type="guint"/>
+ <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*" pass_as="out" array="true" array_len="4"/>
+ <parameter name="scale" type="gint*" pass_as="out" array="true" array_len="4"/>
+ </parameters>
+ </method>
+ <method name="VideoColorTransferDecode" cname="gst_video_color_transfer_decode" shared="true" version="1.6" deprecated="true">
+ <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" deprecated="true">
+ <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*" owned="true" pass_as="out"/>
+ </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="VideoFormatsRaw" cname="gst_video_formats_raw" shared="true" version="1.18">
+ <return-type type="const GstVideoFormat*" array="true" array_length_param_index="0"/>
+ <parameters>
+ <parameter name="len" type="guint*" owned="true" pass_as="out"/>
+ </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="VideoMakeRawCaps" cname="gst_video_make_raw_caps" shared="true" version="1.18">
+ <return-type type="GstCaps*" owned="true">
+ <warning>missing glib:type-name</warning>
+ </return-type>
+ <parameters>
+ <parameter allow-none="1" name="formats" type="const GstVideoFormat*" array="true" array_length_param_index="1"/>
+ <parameter name="len" type="guint"/>
+ </parameters>
+ </method>
+ <method name="VideoMakeRawCapsWithFeatures" cname="gst_video_make_raw_caps_with_features" shared="true" version="1.18">
+ <return-type type="GstCaps*" owned="true">
+ <warning>missing glib:type-name</warning>
+ </return-type>
+ <parameters>
+ <parameter allow-none="1" name="formats" type="const GstVideoFormat*" array="true" array_length_param_index="1"/>
+ <parameter name="len" type="guint"/>
+ <parameter allow-none="1" name="features" type="GstCapsFeatures*" owned="true">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="VideoMasteringDisplayInfoFromString" cname="gst_video_mastering_display_info_from_string" shared="true" version="1.18">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="minfo" type="GstVideoMasteringDisplayInfo*" pass_as="out">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ <parameter name="mastering" type="const-gchar*"/>
+ </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="VideoOverlayInstallProperties" cname="gst_video_overlay_install_properties" shared="true" version="1.14">
+ <return-type type="void"/>
+ <parameters>
+ <parameter name="oclass" type="GObjectClass*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ <parameter name="last_prop_id" type="gint"/>
+ </parameters>
+ </method>
+ <method name="VideoOverlaySetProperty" cname="gst_video_overlay_set_property" shared="true" version="1.14">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="_object" type="GObject*"/>
+ <parameter name="last_prop_id" type="gint"/>
+ <parameter name="property_id" type="guint"/>
+ <parameter name="value" type="GValue*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </parameters>
+ </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>
+ <method name="VideoTransferFunctionDecode" cname="gst_video_transfer_function_decode" shared="true" version="1.20">
+ <return-type type="gdouble"/>
+ <parameters>
+ <parameter name="func" type="GstVideoTransferFunction"/>
+ <parameter name="val" type="gdouble"/>
+ </parameters>
+ </method>
+ <method name="VideoTransferFunctionEncode" cname="gst_video_transfer_function_encode" shared="true" version="1.20">
+ <return-type type="gdouble"/>
+ <parameters>
+ <parameter name="func" type="GstVideoTransferFunction"/>
+ <parameter name="val" type="gdouble"/>
+ </parameters>
+ </method>
+ <method name="VideoTransferFunctionFromIso" cname="gst_video_transfer_function_from_iso" shared="true" version="1.18">
+ <return-type type="GstVideoTransferFunction"/>
+ <parameters>
+ <parameter name="value" type="guint"/>
+ </parameters>
+ </method>
+ <method name="VideoTransferFunctionIsEquivalent" cname="gst_video_transfer_function_is_equivalent" shared="true" version="1.18">
+ <return-type type="gboolean"/>
+ <parameters>
+ <parameter name="from_func" type="GstVideoTransferFunction"/>
+ <parameter name="from_bpp" type="guint"/>
+ <parameter name="to_func" type="GstVideoTransferFunction"/>
+ <parameter name="to_bpp" type="guint"/>
+ </parameters>
+ </method>
+ <method name="VideoTransferFunctionToIso" cname="gst_video_transfer_function_to_iso" shared="true" version="1.18">
+ <return-type type="guint"/>
+ <parameters>
+ <parameter name="func" type="GstVideoTransferFunction"/>
+ </parameters>
+ </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="format:Interlaced" ctype="gchar*" gtype="gchar*" name="CAPS_FEATURE_FORMAT_INTERLACED" version="1.16."/>
+ <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="bt2020-10" ctype="gchar*" gtype="gchar*" name="VIDEO_COLORIMETRY_BT2020_10"/>
+ <constant value="bt2100-hlg" ctype="gchar*" gtype="gchar*" name="VIDEO_COLORIMETRY_BT2100_HLG"/>
+ <constant value="bt2100-pq" ctype="gchar*" gtype="gchar*" name="VIDEO_COLORIMETRY_BT2100_PQ"/>
+ <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="{ AYUV64, ARGB64, GBRA_12BE, GBRA_12LE, Y412_BE, Y412_LE, A444_10BE, GBRA_10BE, A444_10LE, GBRA_10LE, A422_10BE, A422_10LE, A420_10BE, A420_10LE, Y410, RGB10A2_LE, BGR10A2_LE, GBRA, ABGR, VUYA, BGRA, AYUV, ARGB, RGBA, A420, Y444_16BE, Y444_16LE, v216, P016_BE, P016_LE, Y444_12BE, GBR_12BE, Y444_12LE, GBR_12LE, I422_12BE, I422_12LE, Y212_BE, Y212_LE, I420_12BE, I420_12LE, P012_BE, P012_LE, Y444_10BE, GBR_10BE, Y444_10LE, GBR_10LE, r210, I422_10BE, I422_10LE, NV16_10LE32, Y210, v210, UYVP, I420_10BE, I420_10LE, P010_10BE, P010_10LE, NV12_10LE32, NV12_10LE40, Y444, GBR, NV24, xBGR, BGRx, xRGB, RGBx, BGR, IYU2, v308, RGB, Y42B, NV61, NV16, VYUY, UYVY, YVYU, YUY2, I420, YV12, NV21, NV12, NV12_64Z32, NV12_4L4, NV12_32L32, Y41B, IYU1, YVU9, YUV9, RGB16, BGR16, RGB15, BGR15, RGB8P, GRAY16_BE, GRAY16_LE, GRAY10_LE32, GRAY8 }" 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="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="65535" ctype="gint" gtype="gint" name="VIDEO_TILE_TYPE_MASK"/>
+ <constant value="16" ctype="gint" gtype="gint" name="VIDEO_TILE_TYPE_SHIFT"/>
+ <constant value="65535" 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>
+ <namespace name="GstWebRTC" library="gstwebrtc-1.0">
+ <enum name="WebRTCBundlePolicy" cname="GstWebRTCBundlePolicy" type="enum" gtype="gst_webrtc_bundle_policy_get_type" version="1.16">
+ <member cname="GST_WEBRTC_BUNDLE_POLICY_NONE" name="None" value="0"/>
+ <member cname="GST_WEBRTC_BUNDLE_POLICY_BALANCED" name="Balanced" value="1"/>
+ <member cname="GST_WEBRTC_BUNDLE_POLICY_MAX_COMPAT" name="MaxCompat" value="2"/>
+ <member cname="GST_WEBRTC_BUNDLE_POLICY_MAX_BUNDLE" name="MaxBundle" value="3"/>
+ </enum>
+ <enum name="WebRTCDTLSSetup" cname="GstWebRTCDTLSSetup" type="enum" gtype="gst_webrtc_dtls_setup_get_type">
+ <member cname="GST_WEBRTC_DTLS_SETUP_NONE" name="None" value="0"/>
+ <member cname="GST_WEBRTC_DTLS_SETUP_ACTPASS" name="Actpass" value="1"/>
+ <member cname="GST_WEBRTC_DTLS_SETUP_ACTIVE" name="Active" value="2"/>
+ <member cname="GST_WEBRTC_DTLS_SETUP_PASSIVE" name="Passive" value="3"/>
+ </enum>
+ <enum name="WebRTCDTLSTransportState" cname="GstWebRTCDTLSTransportState" type="enum" gtype="gst_webrtc_dtls_transport_state_get_type">
+ <member cname="GST_WEBRTC_DTLS_TRANSPORT_STATE_NEW" name="New" value="0"/>
+ <member cname="GST_WEBRTC_DTLS_TRANSPORT_STATE_CLOSED" name="Closed" value="1"/>
+ <member cname="GST_WEBRTC_DTLS_TRANSPORT_STATE_FAILED" name="Failed" value="2"/>
+ <member cname="GST_WEBRTC_DTLS_TRANSPORT_STATE_CONNECTING" name="Connecting" value="3"/>
+ <member cname="GST_WEBRTC_DTLS_TRANSPORT_STATE_CONNECTED" name="Connected" value="4"/>
+ </enum>
+ <enum name="WebRTCDataChannelState" cname="GstWebRTCDataChannelState" type="enum" gtype="gst_webrtc_data_channel_state_get_type" version="1.16">
+ <member cname="GST_WEBRTC_DATA_CHANNEL_STATE_NEW" name="New" value="0"/>
+ <member cname="GST_WEBRTC_DATA_CHANNEL_STATE_CONNECTING" name="Connecting" value="1"/>
+ <member cname="GST_WEBRTC_DATA_CHANNEL_STATE_OPEN" name="Open" value="2"/>
+ <member cname="GST_WEBRTC_DATA_CHANNEL_STATE_CLOSING" name="Closing" value="3"/>
+ <member cname="GST_WEBRTC_DATA_CHANNEL_STATE_CLOSED" name="Closed" value="4"/>
+ </enum>
+ <enum name="WebRTCFECType" cname="GstWebRTCFECType" type="enum" gtype="gst_webrtc_fec_type_get_type" version="1.14.1">
+ <member cname="GST_WEBRTC_FEC_TYPE_NONE" name="None" value="0"/>
+ <member cname="GST_WEBRTC_FEC_TYPE_ULP_RED" name="UlpRed" value="1"/>
+ </enum>
+ <enum name="WebRTCICEComponent" cname="GstWebRTCICEComponent" type="enum" gtype="gst_webrtc_ice_component_get_type">
+ <member cname="GST_WEBRTC_ICE_COMPONENT_RTP" name="Rtp" value="0"/>
+ <member cname="GST_WEBRTC_ICE_COMPONENT_RTCP" name="Rtcp" value="1"/>
+ </enum>
+ <enum name="WebRTCICEConnectionState" cname="GstWebRTCICEConnectionState" type="enum" gtype="gst_webrtc_ice_connection_state_get_type">
+ <member cname="GST_WEBRTC_ICE_CONNECTION_STATE_NEW" name="New" value="0"/>
+ <member cname="GST_WEBRTC_ICE_CONNECTION_STATE_CHECKING" name="Checking" value="1"/>
+ <member cname="GST_WEBRTC_ICE_CONNECTION_STATE_CONNECTED" name="Connected" value="2"/>
+ <member cname="GST_WEBRTC_ICE_CONNECTION_STATE_COMPLETED" name="Completed" value="3"/>
+ <member cname="GST_WEBRTC_ICE_CONNECTION_STATE_FAILED" name="Failed" value="4"/>
+ <member cname="GST_WEBRTC_ICE_CONNECTION_STATE_DISCONNECTED" name="Disconnected" value="5"/>
+ <member cname="GST_WEBRTC_ICE_CONNECTION_STATE_CLOSED" name="Closed" value="6"/>
+ </enum>
+ <enum name="WebRTCICEGatheringState" cname="GstWebRTCICEGatheringState" type="enum" gtype="gst_webrtc_ice_gathering_state_get_type">
+ <member cname="GST_WEBRTC_ICE_GATHERING_STATE_NEW" name="New" value="0"/>
+ <member cname="GST_WEBRTC_ICE_GATHERING_STATE_GATHERING" name="Gathering" value="1"/>
+ <member cname="GST_WEBRTC_ICE_GATHERING_STATE_COMPLETE" name="Complete" value="2"/>
+ </enum>
+ <enum name="WebRTCICERole" cname="GstWebRTCICERole" type="enum" gtype="gst_webrtc_ice_role_get_type">
+ <member cname="GST_WEBRTC_ICE_ROLE_CONTROLLED" name="Controlled" value="0"/>
+ <member cname="GST_WEBRTC_ICE_ROLE_CONTROLLING" name="Controlling" value="1"/>
+ </enum>
+ <enum name="WebRTCICETransportPolicy" cname="GstWebRTCICETransportPolicy" type="enum" gtype="gst_webrtc_ice_transport_policy_get_type" version="1.16">
+ <member cname="GST_WEBRTC_ICE_TRANSPORT_POLICY_ALL" name="All" value="0"/>
+ <member cname="GST_WEBRTC_ICE_TRANSPORT_POLICY_RELAY" name="Relay" value="1"/>
+ </enum>
+ <enum name="WebRTCKind" cname="GstWebRTCKind" type="enum" gtype="gst_webrtc_kind_get_type" version="1.20">
+ <member cname="GST_WEBRTC_KIND_UNKNOWN" name="Unknown" value="0"/>
+ <member cname="GST_WEBRTC_KIND_AUDIO" name="Audio" value="1"/>
+ <member cname="GST_WEBRTC_KIND_VIDEO" name="Video" value="2"/>
+ </enum>
+ <enum name="WebRTCPeerConnectionState" cname="GstWebRTCPeerConnectionState" type="enum" gtype="gst_webrtc_peer_connection_state_get_type">
+ <member cname="GST_WEBRTC_PEER_CONNECTION_STATE_NEW" name="New" value="0"/>
+ <member cname="GST_WEBRTC_PEER_CONNECTION_STATE_CONNECTING" name="Connecting" value="1"/>
+ <member cname="GST_WEBRTC_PEER_CONNECTION_STATE_CONNECTED" name="Connected" value="2"/>
+ <member cname="GST_WEBRTC_PEER_CONNECTION_STATE_DISCONNECTED" name="Disconnected" value="3"/>
+ <member cname="GST_WEBRTC_PEER_CONNECTION_STATE_FAILED" name="Failed" value="4"/>
+ <member cname="GST_WEBRTC_PEER_CONNECTION_STATE_CLOSED" name="Closed" value="5"/>
+ </enum>
+ <enum name="WebRTCPriorityType" cname="GstWebRTCPriorityType" type="enum" gtype="gst_webrtc_priority_type_get_type" version="1.16">
+ <member cname="GST_WEBRTC_PRIORITY_TYPE_VERY_LOW" name="VeryLow" value="1"/>
+ <member cname="GST_WEBRTC_PRIORITY_TYPE_LOW" name="Low" value="2"/>
+ <member cname="GST_WEBRTC_PRIORITY_TYPE_MEDIUM" name="Medium" value="3"/>
+ <member cname="GST_WEBRTC_PRIORITY_TYPE_HIGH" name="High" value="4"/>
+ </enum>
+ <enum name="WebRTCRTPTransceiverDirection" cname="GstWebRTCRTPTransceiverDirection" type="enum" gtype="gst_webrtc_rtp_transceiver_direction_get_type">
+ <member cname="GST_WEBRTC_RTP_TRANSCEIVER_DIRECTION_NONE" name="None" value="0"/>
+ <member cname="GST_WEBRTC_RTP_TRANSCEIVER_DIRECTION_INACTIVE" name="Inactive" value="1"/>
+ <member cname="GST_WEBRTC_RTP_TRANSCEIVER_DIRECTION_SENDONLY" name="Sendonly" value="2"/>
+ <member cname="GST_WEBRTC_RTP_TRANSCEIVER_DIRECTION_RECVONLY" name="Recvonly" value="3"/>
+ <member cname="GST_WEBRTC_RTP_TRANSCEIVER_DIRECTION_SENDRECV" name="Sendrecv" value="4"/>
+ </enum>
+ <enum name="WebRTCSCTPTransportState" cname="GstWebRTCSCTPTransportState" type="enum" gtype="gst_webrtc_sctp_transport_state_get_type" version="1.16">
+ <member cname="GST_WEBRTC_SCTP_TRANSPORT_STATE_NEW" name="New" value="0"/>
+ <member cname="GST_WEBRTC_SCTP_TRANSPORT_STATE_CONNECTING" name="Connecting" value="1"/>
+ <member cname="GST_WEBRTC_SCTP_TRANSPORT_STATE_CONNECTED" name="Connected" value="2"/>
+ <member cname="GST_WEBRTC_SCTP_TRANSPORT_STATE_CLOSED" name="Closed" value="3"/>
+ </enum>
+ <enum name="WebRTCSDPType" cname="GstWebRTCSDPType" type="enum" gtype="gst_webrtc_sdp_type_get_type">
+ <member cname="GST_WEBRTC_SDP_TYPE_OFFER" name="Offer" value="1"/>
+ <member cname="GST_WEBRTC_SDP_TYPE_PRANSWER" name="Pranswer" value="2"/>
+ <member cname="GST_WEBRTC_SDP_TYPE_ANSWER" name="Answer" value="3"/>
+ <member cname="GST_WEBRTC_SDP_TYPE_ROLLBACK" name="Rollback" value="4"/>
+ </enum>
+ <enum name="WebRTCSignalingState" cname="GstWebRTCSignalingState" type="enum" gtype="gst_webrtc_signaling_state_get_type">
+ <member cname="GST_WEBRTC_SIGNALING_STATE_STABLE" name="Stable" value="0"/>
+ <member cname="GST_WEBRTC_SIGNALING_STATE_CLOSED" name="Closed" value="1"/>
+ <member cname="GST_WEBRTC_SIGNALING_STATE_HAVE_LOCAL_OFFER" name="HaveLocalOffer" value="2"/>
+ <member cname="GST_WEBRTC_SIGNALING_STATE_HAVE_REMOTE_OFFER" name="HaveRemoteOffer" value="3"/>
+ <member cname="GST_WEBRTC_SIGNALING_STATE_HAVE_LOCAL_PRANSWER" name="HaveLocalPranswer" value="4"/>
+ <member cname="GST_WEBRTC_SIGNALING_STATE_HAVE_REMOTE_PRANSWER" name="HaveRemotePranswer" value="5"/>
+ </enum>
+ <enum name="WebRTCStatsType" cname="GstWebRTCStatsType" type="enum" gtype="gst_webrtc_stats_type_get_type">
+ <member cname="GST_WEBRTC_STATS_CODEC" name="Codec" value="1"/>
+ <member cname="GST_WEBRTC_STATS_INBOUND_RTP" name="InboundRtp" value="2"/>
+ <member cname="GST_WEBRTC_STATS_OUTBOUND_RTP" name="OutboundRtp" value="3"/>
+ <member cname="GST_WEBRTC_STATS_REMOTE_INBOUND_RTP" name="RemoteInboundRtp" value="4"/>
+ <member cname="GST_WEBRTC_STATS_REMOTE_OUTBOUND_RTP" name="RemoteOutboundRtp" value="5"/>
+ <member cname="GST_WEBRTC_STATS_CSRC" name="Csrc" value="6"/>
+ <member cname="GST_WEBRTC_STATS_PEER_CONNECTION" name="PeerConnection" value="7"/>
+ <member cname="GST_WEBRTC_STATS_DATA_CHANNEL" name="DataChannel" value="8"/>
+ <member cname="GST_WEBRTC_STATS_STREAM" name="Stream" value="9"/>
+ <member cname="GST_WEBRTC_STATS_TRANSPORT" name="Transport" value="10"/>
+ <member cname="GST_WEBRTC_STATS_CANDIDATE_PAIR" name="CandidatePair" value="11"/>
+ <member cname="GST_WEBRTC_STATS_LOCAL_CANDIDATE" name="LocalCandidate" value="12"/>
+ <member cname="GST_WEBRTC_STATS_REMOTE_CANDIDATE" name="RemoteCandidate" value="13"/>
+ <member cname="GST_WEBRTC_STATS_CERTIFICATE" name="Certificate" value="14"/>
+ </enum>
+ <object name="WebRTCDTLSTransport" cname="GstWebRTCDTLSTransport" opaque="false" hidden="false" parent="GstObject">
+ <class_struct cname="GstWebRTCDTLSTransportClass"/>
+ <method name="GetType" cname="gst_webrtc_dtls_transport_get_type" shared="true">
+ <return-type type="GType"/>
+ </method>
+ <property name="Certificate" cname="certificate" type="gchar*" readable="true" writeable="true" construct="false" construct-only="false"/>
+ <property name="Client" cname="client" type="gboolean" readable="true" writeable="true" construct="false" construct-only="false"/>
+ <property name="RemoteCertificate" cname="remote-certificate" type="gchar*" readable="true" writeable="false" construct="false" construct-only="false"/>
+ <property name="SessionId" cname="session-id" type="guint" readable="true" writeable="true" construct="false" construct-only="true"/>
+ <property name="State" cname="state" type="GstWebRTCDTLSTransportState" readable="true" writeable="false" construct="false" construct-only="false"/>
+ <property name="Transport" cname="transport" type="GstWebRTCICETransport*" readable="true" writeable="false" construct="false" construct-only="false"/>
+ </object>
+ <object name="WebRTCDataChannel" cname="GstWebRTCDataChannel" defaultconstructoraccess="protected" opaque="false" hidden="false" parent="GObject">
+ <class_struct cname="GstWebRTCDataChannelClass"/>
+ <method name="GetType" cname="gst_webrtc_data_channel_get_type" shared="true">
+ <return-type type="GType"/>
+ </method>
+ <method name="Close" cname="gst_webrtc_data_channel_close">
+ <return-type type="void"/>
+ <parameters/>
+ </method>
+ <method name="SendData" cname="gst_webrtc_data_channel_send_data">
+ <return-type type="void"/>
+ <parameters>
+ <parameter allow-none="1" name="data" type="GBytes*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </parameters>
+ </method>
+ <method name="SendString" cname="gst_webrtc_data_channel_send_string">
+ <return-type type="void"/>
+ <parameters>
+ <parameter allow-none="1" name="str" type="const-gchar*"/>
+ </parameters>
+ </method>
+ <property name="BufferedAmount" cname="buffered-amount" type="guint64" readable="true" writeable="false" construct="false" construct-only="false"/>
+ <property name="BufferedAmountLowThreshold" cname="buffered-amount-low-threshold" type="guint64" readable="true" writeable="true" construct="false" construct-only="false"/>
+ <property name="Id" cname="id" type="gint" readable="true" writeable="true" construct="false" construct-only="true"/>
+ <property name="Label" cname="label" type="gchar*" readable="true" writeable="true" construct="false" construct-only="true"/>
+ <property name="MaxPacketLifetime" cname="max-packet-lifetime" type="gint" readable="true" writeable="true" construct="false" construct-only="true"/>
+ <property name="MaxRetransmits" cname="max-retransmits" type="gint" readable="true" writeable="true" construct="false" construct-only="true"/>
+ <property name="Negotiated" cname="negotiated" type="gboolean" readable="true" writeable="true" construct="false" construct-only="true"/>
+ <property name="Ordered" cname="ordered" type="gboolean" readable="true" writeable="true" construct="false" construct-only="true"/>
+ <property name="Priority" cname="priority" type="GstWebRTCPriorityType" readable="true" writeable="true" construct="false" construct-only="true"/>
+ <property name="Protocol" cname="protocol" type="gchar*" readable="true" writeable="true" construct="false" construct-only="true"/>
+ <property name="ReadyState" cname="ready-state" type="GstWebRTCDataChannelState" readable="true" writeable="false" construct="false" construct-only="false"/>
+ <signal name="CloseEvent" cname="close" when="last">
+ <return-type type="void"/>
+ <parameters/>
+ <warning>Signal renamed because of existing method with same name</warning>
+ </signal>
+ <signal name="OnBufferedAmountLow" cname="on-buffered-amount-low" when="last">
+ <return-type type="void"/>
+ <parameters/>
+ </signal>
+ <signal name="OnClose" cname="on-close" when="last">
+ <return-type type="void"/>
+ <parameters/>
+ </signal>
+ <signal name="OnError" cname="on-error" when="last">
+ <return-type type="void"/>
+ <parameters>
+ <parameter name="error" type="GError*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </parameters>
+ </signal>
+ <signal name="OnMessageData" cname="on-message-data" when="last">
+ <return-type type="void"/>
+ <parameters>
+ <parameter allow-none="1" name="data" type="GBytes*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </parameters>
+ </signal>
+ <signal name="OnMessageString" cname="on-message-string" when="last">
+ <return-type type="void"/>
+ <parameters>
+ <parameter allow-none="1" name="data" type="const-gchar*"/>
+ </parameters>
+ </signal>
+ <signal name="OnOpen" cname="on-open" when="last">
+ <return-type type="void"/>
+ <parameters/>
+ </signal>
+ <signal name="SendDataEvent" cname="send-data" when="last">
+ <return-type type="void"/>
+ <parameters>
+ <parameter allow-none="1" name="data" type="GBytes*">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </parameters>
+ <warning>Signal renamed because of existing method with same name</warning>
+ </signal>
+ <signal name="SendStringEvent" cname="send-string" when="last">
+ <return-type type="void"/>
+ <parameters>
+ <parameter allow-none="1" name="data" type="const-gchar*"/>
+ </parameters>
+ <warning>Signal renamed because of existing method with same name</warning>
+ </signal>
+ </object>
+ <object name="WebRTCICETransport" cname="GstWebRTCICETransport" defaultconstructoraccess="protected" opaque="false" hidden="false" parent="GstObject">
+ <class_struct cname="GstWebRTCICETransportClass"/>
+ <method name="GetType" cname="gst_webrtc_ice_transport_get_type" shared="true">
+ <return-type type="GType"/>
+ </method>
+ <property name="Component" cname="component" type="GstWebRTCICEComponent" readable="true" writeable="true" construct="false" construct-only="true"/>
+ <property name="GatheringState" cname="gathering-state" type="GstWebRTCICEGatheringState" readable="true" writeable="false" construct="false" construct-only="false"/>
+ <property name="State" cname="state" type="GstWebRTCICEConnectionState" readable="true" writeable="false" construct="false" construct-only="false"/>
+ <signal name="OnNewCandidate" cname="on-new-candidate" when="last">
+ <return-type type="void"/>
+ <parameters>
+ <parameter name="_object" type="const-gchar*"/>
+ </parameters>
+ </signal>
+ <signal name="OnSelectedCandidatePairChange" cname="on-selected-candidate-pair-change" when="last">
+ <return-type type="void"/>
+ <parameters/>
+ </signal>
+ </object>
+ <object name="WebRTCRTPReceiver" cname="GstWebRTCRTPReceiver" opaque="false" hidden="false" parent="GstObject">
+ <class_struct cname="GstWebRTCRTPReceiverClass"/>
+ <method name="GetType" cname="gst_webrtc_rtp_receiver_get_type" shared="true">
+ <return-type type="GType"/>
+ </method>
+ <property name="Transport" cname="transport" type="GstWebRTCDTLSTransport*" readable="true" writeable="false" construct="false" construct-only="false" version="1.20"/>
+ </object>
+ <object name="WebRTCRTPSender" cname="GstWebRTCRTPSender" opaque="false" hidden="false" parent="GstObject">
+ <class_struct cname="GstWebRTCRTPSenderClass"/>
+ <method name="GetType" cname="gst_webrtc_rtp_sender_get_type" shared="true">
+ <return-type type="GType"/>
+ </method>
+ <method name="SetPriority" cname="gst_webrtc_rtp_sender_set_priority" version="1.20">
+ <return-type type="void"/>
+ <parameters>
+ <parameter name="priority" type="GstWebRTCPriorityType"/>
+ </parameters>
+ </method>
+ <property name="Priority" cname="priority" type="GstWebRTCPriorityType" readable="true" writeable="true" construct="false" construct-only="false" version="1.20"/>
+ <property name="Transport" cname="transport" type="GstWebRTCDTLSTransport*" readable="true" writeable="false" construct="false" construct-only="false" version="1.20"/>
+ </object>
+ <object name="WebRTCRTPTransceiver" cname="GstWebRTCRTPTransceiver" defaultconstructoraccess="protected" opaque="false" hidden="false" parent="GstObject">
+ <class_struct cname="GstWebRTCRTPTransceiverClass"/>
+ <method name="GetType" cname="gst_webrtc_rtp_transceiver_get_type" shared="true">
+ <return-type type="GType"/>
+ </method>
+ <property name="CodecPreferences" cname="codec-preferences" type="GstCaps*" readable="true" writeable="true" construct="false" construct-only="false" version="1.20"/>
+ <property name="CurrentDirection" cname="current-direction" type="GstWebRTCRTPTransceiverDirection" readable="true" writeable="false" construct="false" construct-only="false" version="1.20"/>
+ <property name="Direction" cname="direction" type="GstWebRTCRTPTransceiverDirection" readable="true" writeable="true" construct="false" construct-only="false" version="1.18"/>
+ <property name="Kind" cname="kind" type="GstWebRTCKind" readable="true" writeable="false" construct="false" construct-only="false" version="1.20"/>
+ <property name="Mid" cname="mid" type="gchar*" readable="true" writeable="false" construct="false" construct-only="false" version="1.20"/>
+ <property name="Mlineindex" cname="mlineindex" type="guint" readable="true" writeable="true" construct="false" construct-only="true"/>
+ <property name="Receiver" cname="receiver" type="GstWebRTCRTPReceiver*" readable="true" writeable="true" construct="false" construct-only="true"/>
+ <property name="Sender" cname="sender" type="GstWebRTCRTPSender*" readable="true" writeable="true" construct="false" construct-only="true"/>
+ </object>
+ <boxed name="WebRTCSessionDescription" cname="GstWebRTCSessionDescription" opaque="false" hidden="false">
+ <method name="GetType" cname="gst_webrtc_session_description_get_type" shared="true">
+ <return-type type="GType"/>
+ </method>
+ <field cname="type" access="public" writeable="true" readable="true" is_callback="false" name="Type" type="GstWebRTCSDPType"/>
+ <field cname="sdp" access="public" writeable="true" readable="true" is_callback="false" name="Sdp" type="GstSDPMessage*">
+ <warning>missing glib:type-name</warning>
+ </field>
+ <constructor cname="gst_webrtc_session_description_new">
+ <parameters>
+ <parameter name="type" type="GstWebRTCSDPType"/>
+ <parameter name="sdp" type="GstSDPMessage*" owned="true">
+ <warning>missing glib:type-name</warning>
+ </parameter>
+ </parameters>
+ </constructor>
+ <method name="Copy" cname="gst_webrtc_session_description_copy">
+ <return-type type="GstWebRTCSessionDescription*" owned="true">
+ <warning>missing glib:type-name</warning>
+ </return-type>
+ <parameters/>
+ </method>
+ <method name="Free" cname="gst_webrtc_session_description_free">
+ <return-type type="void"/>
+ <parameters/>
+ </method>
+ </boxed>
+ <object name="Global" cname="GstWebRTCGlobal" opaque="true">
+ <method name="WebrtcSdpTypeToString" cname="gst_webrtc_sdp_type_to_string" shared="true">
+ <return-type type="const-gchar*"/>
+ <parameters>
+ <parameter name="type" type="GstWebRTCSDPType"/>
+ </parameters>
+ </method>
+ </object>
+ <object name="Constants" cname="GstWebRTCConstants" opaque="true"/>
+ </namespace>
+</api>
diff --git a/subprojects/gstreamer-sharp/sources/gstreamer-sharp.dll.config b/subprojects/gstreamer-sharp/sources/gstreamer-sharp.dll.config
new file mode 100644
index 0000000000..d001380675
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/gstreamer-sharp.dll.config
@@ -0,0 +1,38 @@
+<configuration>
+ <!-- Linux -->
+ <dllmap dll="gstreamer-1.0-0.dll" target="libgstreamer-1.0.so.0" os="linux"/>
+ <dllmap dll="gstaudio-1.0-0.dll" target="libgstaudio-1.0.so.0" os="linux"/>
+ <dllmap dll="gstbase-1.0-0.dll" target="libgstbase-1.0.so.0" os="linux"/>
+ <dllmap dll="gstvideo-1.0-0.dll" target="libgstvideo-1.0.so.0" os="linux"/>
+ <dllmap dll="gstpbutils-1.0-0.dll" target="libgstpbutils-1.0.so.0" os="linux"/>
+ <dllmap dll="gsttag-1.0-0.dll" target="libgsttag-1.0.so.0" os="linux"/>
+ <dllmap dll="gstapp-1.0-0.dll" target="libgstapp-1.0.so.0" os="linux"/>
+ <dllmap dll="gstfft-1.0-0.dll" target="libgstfft-1.0.so.0" os="linux"/>
+ <dllmap dll="gstnet-1.0-0.dll" target="libgstnet-1.0.so.0" os="linux"/>
+ <dllmap dll="gstrtp-1.0-0.dll" target="libgstrtp-1.0.so.0" os="linux"/>
+ <dllmap dll="gstrtsp-1.0-0.dll" target="libgstrtsp-1.0.so.0" os="linux"/>
+ <dllmap dll="gstsdp-1.0-0.dll" target="libgstsdp-1.0.so.0" os="linux"/>
+ <dllmap dll="gstwebrtc-1.0-0.dll" target="libgstwebrtc-1.0.so.0" os="linux"/>
+ <dllmap dll="gstcontroller-1.0-0.dll" target="libgstcontroller-1.0.so.0" os="linux"/>
+ <dllmap dll="glib-2.0-0.dll" target="glib-2.0.so.0" os="linux"/>
+ <dllmap dll="gobject-2.0-0.dll" target="gobject-2.0.so.0" os="linux"/>
+ <dllmap dll="gthread-2.0-0.dll" target="libgthread-2.0.so.0" os="linux"/>
+ <!-- Mac OS X -->
+ <dllmap dll="gstreamer-1.0-0.dll" target="libgstreamer-1.0.dylib" os="osx"/>
+ <dllmap dll="gstaudio-1.0-0.dll" target="libgstaudio-1.0.dylib" os="osx"/>
+ <dllmap dll="gstbase-1.0-0.dll" target="libgstbase-1.0.dylib" os="osx"/>
+ <dllmap dll="gstvideo-1.0-0.dll" target="libgstvideo-1.0.dylib" os="osx"/>
+ <dllmap dll="gstpbutils-1.0-0.dll" target="libgstpbutils-1.0.dylib" os="osx"/>
+ <dllmap dll="gsttag-1.0-0.dll" target="libgsttag-1.0.dylib" os="osx"/>
+ <dllmap dll="gstapp-1.0-0.dll" target="libgstapp-1.0.dylib" os="osx"/>
+ <dllmap dll="gstfft-1.0-0.dll" target="libgstfft-1.0.dylib" os="osx"/>
+ <dllmap dll="gstnet-1.0-0.dll" target="libgstnet-1.0.dylib" os="osx"/>
+ <dllmap dll="gstrtp-1.0-0.dll" target="libgstrtp-1.0.dylib" os="osx"/>
+ <dllmap dll="gstrtsp-1.0-0.dll" target="libgstrtsp-1.0.dylib" os="osx"/>
+ <dllmap dll="gstsdp-1.0-0.dll" target="libgstsdp-1.0.dylib" os="osx"/>
+ <dllmap dll="gstwebrtc-1.0-0.dll" target="libgstwebrtc-1.0.dylib" os="osx"/>
+ <dllmap dll="gstcontroller-1.0-0.dll" target="libgstcontroller-1.0.dylib" os="osx"/>
+ <dllmap dll="glib-2.0-0.dll" target="glib-2.0.dylib" os="osx"/>
+ <dllmap dll="gobject-2.0-0.dll" target="gobject-2.0.dylib" os="osx"/>
+ <dllmap dll="gthread-2.0-0.dll" target="libgthread-2.0.dylib" os="osx"/>
+</configuration>
diff --git a/subprojects/gstreamer-sharp/sources/gstreamer-sharp.metadata b/subprojects/gstreamer-sharp/sources/gstreamer-sharp.metadata
new file mode 100644
index 0000000000..54a20e068a
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/gstreamer-sharp.metadata
@@ -0,0 +1,406 @@
+<?xml version="1.0"?>
+
+<!--
+Copyright (C) 2013 Stephan Sundermann <stephansundermann@gmail.com>
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version.
+
+This library is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this library; if not, write to the Free Software
+Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+02110-1301 USA
+-->
+<metadata>
+ <!-- No Conversion for GLib.Value -->
+ <remove-node path="/api/namespace/object[@cname='GstPad']/property[@name='Caps']"/>
+ <!-- Error with array -->
+ <attr path="/api/namespace/object[@cname='GstGlobal']/method[@cname='gst_formats_contains']" name="hidden">true</attr>
+
+ <!-- GParamSpec are not handled in the generator -->
+ <attr path="/api/namespace/struct[@cname='GstParamSpecArray']" name="hidden">true</attr>
+ <attr path="/api/namespace/struct[@cname='GstParamSpecFraction']" name="hidden">true</attr>
+
+ <!-- MiniObject issues -->
+ <attr path="/api/namespace/struct[@cname='GstMiniObject']" name="opaque">true</attr>
+ <attr path="/api/namespace/struct[@cname='GstMiniObject']/field[@cname='copy']" name="type">gpointer</attr>
+ <attr path="/api/namespace/struct[@cname='GstMiniObject']/field[@cname='free']" name="type">gpointer</attr>
+ <attr path="/api/namespace/struct[@cname='GstMiniObject']/field[@cname='dispose']" name="type">gpointer</attr>
+ <!-- structs and objects that should be opaque -->
+ <attr path="/api/namespace/boxed[@cname='GstDateTime']" name="opaque">true</attr>
+ <attr path="/api/namespace/boxed[@cname='GstBufferList']" name="opaque">true</attr>
+
+ <!-- GstPromise fixes -->
+ <attr path="/api/namespace/boxed[@cname='GstPromise']/method[@cname='gst_promise_get_reply']" name="name">RetrieveReply</attr>
+ <attr path="/api/namespace/boxed[@cname='GstPromise']/constructor[@cname='gst_promise_new_with_change_func']/*/*[@name='func']" name="scope">notified</attr>
+ <attr path="/api/namespace/boxed[@cname='GstPromise']/constructor[@cname='gst_promise_new_with_change_func']/*/*[@name='func']" name="closure">1</attr>
+ <attr path="/api/namespace/boxed[@cname='GstPromise']/constructor[@cname='gst_promise_new_with_change_func']/*/*[@name='func']" name="destroy">2</attr>
+
+
+ <!-- GstRTSPMessage fixes -->
+ <attr path="/api/namespace/boxed[@cname='GstRTSPMessage']/method[@cname='gst_rtsp_message_get_body']" name="hidden">true</attr>
+ <attr path="/api/namespace/boxed[@cname='GstRTSPMessage']/method[@cname='gst_rtsp_message_steal_body']" name="hidden">true</attr>
+ <attr path="/api/namespace/boxed[@cname='GstRTSPMessage']/method[@cname='gst_rtsp_message_get_type']" name="name">GetMessageType</attr>
+ <!-- <attr path="/api/namespace/boxed[@cname='GstRTSPMessage']" name="noequals">true</attr>
+ <attr path="/api/namespace/boxed[@cname='GstRTSPMessage']" name="nohash">true</attr> -->
+ <attr path="/api/namespace/boxed[@cname='GstRTSPMessage']/field[@cname='body']" name="type">guint8*</attr>
+ <attr path="/api/namespace//method[@cname='gst_rtsp_message_parse_auth_credentials']" name="hidden">true</attr>
+
+ <!-- GstCaps fixes -->
+ <remove-node path="/api/namespace/boxed[@cname='GstCaps']/constructor[@cname='gst_caps_new_any']"/>
+ <add-node path="/api/namespace/boxed[@cname='GstCaps']">
+ <constructor cname="gst_caps_new_any" disable_void_ctor="" />
+ </add-node>
+
+ <attr path="/api/namespace/boxed[@cname='GstEvent']" name="name_constructors">true</attr>
+ <attr path="/api/namespace/boxed[@cname='GstMessage']" name="name_constructors">true</attr>
+
+ <!-- Explicitly declare GstSample as a GstMiniObject (the opaque struct definition doesn't have GObject-Introspection
+ annotations) to get ref-counting to work.
+ -->
+ <attr path="/api/namespace/boxed[@cname='GstSample']" name="opaque">true</attr>
+ <attr path="/api/namespace/boxed[@cname='GstSample']" name="parent">GstMiniObject</attr>
+
+ <!-- GstVideoOverlayComposition fixes -->
+ <attr path="/api/namespace/boxed[@cname='GstVideoOverlayComposition']" name="opaque">true</attr>
+ <attr path="/api/namespace/boxed[@cname='GstVideoOverlayComposition']" name="parent">GstMiniObject</attr>
+ <attr path="/api/namespace/boxed[@cname='GstVideoOverlayRectangle']" name="opaque">true</attr>
+ <attr path="/api/namespace/boxed[@cname='GstVideoOverlayRectangle']" name="parent">GstMiniObject</attr>
+
+ <attr path="/api/namespace/boxed[@cname='GstAudioInfo']" name="opaque">true</attr>
+ <attr path="/api/namespace/boxed[@cname='GstVideoInfo']" name="opaque">true</attr>
+ <attr path="/api/namespace/boxed[@cname='GstAtomicQueue']" name="opaque">true</attr>
+ <attr path="/api/namespace/boxed[@cname='GstParseContext']" name="opaque">true</attr>
+ <attr path="/api/namespace/object[@cname='GstElementFactory']" name="opaque">true</attr>
+ <attr path="/api/namespace/object[@cname='GstTypeFindFactory']" name="opaque">true</attr>
+ <attr path="/api/namespace/object[@cname='GstPluginFeature']" name="opaque">true</attr>
+ <attr path="/api/namespace/object[@cname='GstPlugin']" name="opaque">true</attr>
+ <attr path="/api/namespace/object[@cname='GstBus']" name="opaque">true</attr>
+ <attr path="/api/namespace/object[@cname='GstRegistry']" name="opaque">true</attr>
+ <!-- hide some fields which do not exist -->
+ <attr path="/api/namespace/object[@cname='GstBus']/field[@cname='object']" name="hidden">true</attr>
+ <attr path="/api/namespace/object[@cname='GstElement']/field[@cname='object']" name="hidden">true</attr>
+ <attr path="/api/namespace/object[@cname='GstBin']/field[@cname='element']" name="hidden">true</attr>
+ <attr path="/api/namespace/object[@cname='GstPipeline']/field[@cname='bin']" name="hidden">true</attr>
+
+ <!-- hide some methods if the same name exisits in a parent class -->
+ <attr path="/api/namespace/object[@cname='GstPipeline']/method[@name='GetBus']" name="hidden">true</attr>
+
+ <!-- add opaque attribute to all structs which need special handling -->
+ <attr path="/api/namespace//boxed[field[@type='GstMiniObject']]" name="opaque">true</attr>
+ <attr path="/api/namespace//boxed[field[@type='GstMiniObject']]" name="parent">GstMiniObject</attr>
+ <attr path="/api/namespace//boxed/field[@type='GstMiniObject']" name="hidden">true</attr>
+ <attr path="/api/namespace/boxed[@cname='GstStructure']" name="opaque">true</attr>
+ <attr path="/api/namespace/boxed[@cname='GstStructure']/method[@cname='gst_structure_take']" name="hidden">true</attr>
+ <attr path="/api/namespace/object[@cname='GstGlobal']/method[@cname='gst_structure_take']" name="hidden">true</attr>
+
+ <attr path="/api/namespace/struct[@cname='GstTypeFind']" name="opaque">true</attr>
+ <attr path="/api/namespace/boxed[@cname='GstIterator']" name="opaque">true</attr>
+ <!-- acknowledge that we GstIterator implements the IEnumerator interface -->
+ <add-node path="/api/namespace/boxed[@cname='GstIterator']">
+ <implements>
+ <interface name="IEnumerable" doc="https://docs.microsoft.com/fr-fr/dotnet/api/system.collections.ienumerable"/>
+ </implements>
+ </add-node>
+ <attr path="/api/namespace/boxed[@cname='GstIterator']/method[@cname='gst_iterator_next']" name="hidden">true</attr>
+ <attr path="/api/namespace/boxed[@cname='GstIterator']/field[@cname='master_cookie']" name="type">guint32*</attr>
+ <!-- Fix for GstChildProxy -->
+ <attr path="/api/namespace/interface[@cname='GstChildProxy']/method[@cname='gst_child_proxy_get_property']" name="hidden">1</attr>
+ <attr path="/api/namespace/interface[@cname='GstChildProxy']/method[@cname='gst_child_proxy_set_property']" name="hidden">1</attr>
+ <!-- FIXME: array handling -->
+ <attr path="/api/namespace/struct[@cname='GstRTCPPacket']/method[@cname='gst_rtcp_packet_sdes_copy_entry']" name="hidden">true</attr>
+ <attr path="/api/namespace/struct[@cname='GstRTCPPacket']/method[@cname='gst_rtcp_packet_sdes_get_entry']" name="hidden">true</attr>
+ <attr path="/api/namespace/struct[@cname='GstRTPBuffer']/method[@cname='gst_rtp_buffer_get_extension_onebyte_header']" name="hidden">true</attr>
+ <attr path="/api/namespace/struct[@cname='GstRTPBuffer']/method[@cname='gst_rtp_buffer_get_extension_twobytes_header']" name="hidden">true</attr>
+
+ <attr path="/api/namespace/struct[@cname='GstFFTF32']/method[@cname='gst_fft_f32_fft']" name="hidden">true</attr>
+ <attr path="/api/namespace/struct[@cname='GstFFTF32']/method[@cname='gst_fft_f32_window']" name="hidden">true</attr>
+ <attr path="//virtual_method[@cname='get_g_value_array']" name="hidden">true</attr>
+
+ <!-- Maybe some problems with the name -->
+ <remove-node path="/api/namespace/interface[@cname='GstURIHandler']/class_struct/method[@vm='get_type']" name="vm"/>
+ <remove-node path="/api/namespace/interface[@cname='GstURIHandler']/virtual_method[@cname='get_type']" name="hidden"/>
+
+ <!-- calling oldobj.Handle should fix this -->
+ <remove-attr path="/api/namespace/object[@cname='GstObject']/method[@cname='gst_object_replace']/parameters/parameter[@name='oldobj']" name="pass_as"/>
+ <add-node path="/api/namespace/object[@cname='GstObject']">
+ <method name="Connect">
+ <parameters>
+ <parameter name="o" type="GObject" />
+ <parameter name="handler" type="Delegate" />
+ </parameters>
+ </method>
+ </add-node>
+ <!-- Some glue problems -->
+ <attr path="/api/namespace/object[@cname='GstObject']/field[@cname='object']" name="hidden">true</attr>
+ <attr path="/api/namespace/struct[@cname='GstClockEntry']/field[@cname='func']" name="hidden">true</attr>
+ <attr path="/api/namespace/struct[@cname='GstClockEntry']/field[@cname='destroy_data']" name="hidden">true</attr>
+ <attr path="/api/namespace/object[@cname='GstTask']/field[@cname='notify']" name="hidden">true</attr>
+
+ <!-- hide user data; FIXME: already removed in 1.2 GIR file, remove when we update to this version -->
+ <attr path="/api/namespace/object[@cname='GstBus']/method[@cname='gst_bus_sync_signal_handler']/parameters/parameter[@name='data']" name="hidden">1</attr>
+
+ <!-- FIXME Check why this is badly handled in bindinator -->
+ <remove-node path="/api/namespace/object[@cname='GstElementFactory']/method[@cname='gst_element_factory_get_static_pad_templates']/return-type"/>
+ <add-node path="/api/namespace/object[@cname='GstElementFactory']/method[@cname='gst_element_factory_get_static_pad_templates']">
+ <return-type type="const GList*" element_type="GstStaticPadTemplate"/>
+ </add-node>
+
+ <!-- API improvements -->
+ <add-node path="/api/namespace[@name='Gst']">
+ <class name="Parse" cname="GstParse" disable_void_ctor="1"/>
+ </add-node>
+ <move-node path="/api/namespace//object[@name='Global']//method[starts-with(@cname, 'gst_parse')]">/api/namespace/class[@name='Parse']</move-node>
+
+ <add-node path="/api/namespace[@name='Gst']">
+ <class name="Debug" cname="GstDebug" disable_void_ctor="1"/>
+ </add-node>
+ <move-node path="/api/namespace//object[@name='Global']//method[starts-with(@cname, 'gst_debug')]">/api/namespace/class[@cname='GstDebug']</move-node>
+
+ <add-node path="/api/namespace[@name='Gst']">
+ <class name="Application" cname="GstApplication" disable_void_ctor="1"/>
+ </add-node>
+ <move-node path="/api/namespace//object[@name='Global']//method[contains(@cname, 'gst_init') or starts-with(@cname, 'gst_version')]">/api/namespace/class[@cname='GstApplication']</move-node>
+
+ <add-node path="/api/namespace[@name='Gst']">
+ <class name="Value" cname="GstValue" disable_void_ctor="1"/>
+ </add-node>
+ <move-node path="/api/namespace//object[@name='Global']//method[starts-with(@cname, 'gst_value')]">/api/namespace/class[@cname='GstValue']</move-node>
+
+ <add-node path="/api/namespace[@name='Gst']">
+ <class name="Tag" cname="GstTag" disable_void_ctor="1"/>
+ </add-node>
+ <move-node path="/api/namespace//object[@name='Global']//method[starts-with(@cname, 'gst_tag')]">/api/namespace/class[@cname='GstTag']</move-node>
+
+ <add-node path="/api/namespace[@name='Gst']">
+ <class name="Util" cname="GstUtil" disable_void_ctor="1"/>
+ </add-node>
+ <move-node path="/api/namespace//object[@name='Global']//method[starts-with(@cname, 'gst_format') or starts-with(@cname, 'gst_uri') or starts-with(@cname, 'gst_util') or @cname='gst_filename_to_uri']">/api/namespace/class[@cname='GstUtil']</move-node>
+
+ <move-node path="/api/namespace//object[@name='Global']//method[contains(@cname, 'registry')]">/api/namespace/object[@cname='GstRegistry']</move-node>
+ <move-node path="/api/namespace//object[@name='Global']//method[starts-with(@cname, 'gst_poll')]">/api/namespace/struct[@cname='GstPoll']</move-node>
+ <move-node path="/api/namespace//object[@name='Global']//method[starts-with(@cname, 'gst_pad')]">/api/namespace/object[@cname='GstPad']</move-node>
+
+ <!-- Things implemented on our own -->
+ <attr path="/api/namespace/boxed[@cname='GstMessage']/method[@cname='gst_message_parse_error']" name="hidden">true</attr>
+ <attr path="/api/namespace/boxed[@cname='GstMessage']/method[@cname='gst_message_get_stream_status_object']" name="hidden">true</attr>
+ <attr path="/api/namespace/boxed[@cname='GstMessage']/method[@cname='gst_message_set_stream_status_object']" name="hidden">true</attr>
+ <attr path="/api/namespace/object[@cname='GstGlobal']/method[@cname='gst_init']" name="hidden">true</attr>
+ <attr path="/api/namespace/object[@cname='GstGlobal']/method[@cname='gst_init_check']" name="hidden">true</attr>
+ <attr path="//method[contains(@cname, 'gst_element_class_')]" name="hidden">true</attr>
+ <attr path="//method[@cname='gst_element_class_get_metadata']" name="hidden">true</attr>
+
+ <attr path="/api/namespace/object/method[starts-with(@cname, 'gst_element_class')]" name="hidden">true</attr>
+ <attr path="/api/namespace/object/method[starts-with(@cname, 'gst_device_provider_class')]" name="hidden">true</attr>
+
+
+ <!-- GstVideo -->
+ <attr path="/api/namespace/boxed[@cname='GstVideoCodecState']/field[@cname='padding']" name="type">gpointer</attr>
+ <attr path="/api/namespace/object[@cname='GstVideoDecoder']/field[@cname='padding']" name="type">gpointer</attr>
+ <attr path="/api/namespace/object[@cname='GstVideoDecoder']/class_struct/field[@cname='padding']" name="type">gpointer</attr>
+ <attr path="/api/namespace/object[@cname='GstVideoEncoder']/field[@cname='padding']" name="type">gpointer</attr>
+ <attr path="/api/namespace/struct[@cname='GstByteReader']" name="opaque">1</attr>
+ <attr path="/api/namespace/struct[@cname='GstAudioRingBufferSpec']" name="opaque">true</attr>
+ <remove-node path="/api/namespace/enum[@cname='GstVideoBufferFlags']/member[@cname='GST_VIDEO_BUFFER_FLAG_ONEFIELD']"/>
+ <remove-node path="/api/namespace/enum[@cname='GstVideoFrameFlags']/member[@cname='GST_VIDEO_FRAME_FLAG_ONEFIELD']"/>
+ <remove-node path="/api/namespace//struct[@cname='GstByteReader']//method"/>
+ <remove-node path="/api/namespace//method[@cname='gst_buffer_add_video_meta_full']"/>
+ <attr path="//struct[@name='VideoGLTextureUploadMeta']//field[@cname='user_data_copy' or @cname='user_data_free']" name="hidden">true</attr>
+ <attr path="//interface[@cname='GstVideoOverlay']//parameter[@type='guintptr']" name="type">gpointer</attr>
+ <attr path="//method[@cname='gst_video_scaler_2d']" name="name">TwoD</attr>
+
+ <!-- FIXME: remove when https://bugzilla.gnome.org/show_bug.cgi?id=709938 is fixed -->
+ <attr path="/api/namespace/interface[@cname='GstNavigation']/method[@cname='gst_navigation_query_parse_commands_length']/parameters/parameter[@name='n_cmds']" name="pass_as">out</attr>
+ <attr path="/api/namespace/interface[@cname='GstNavigation']/method[@cname='gst_navigation_query_parse_commands_nth']/parameters/parameter[@name='cmd']" name="pass_as">out</attr>
+
+ <!-- GstAudio -->
+ <attr path="/api/namespace/object[@cname='GstAudioClock']/field[@cname='destroy_notify']" name="hidden">1</attr>
+ <attr path="/api/namespace/interface[@cname='GstStreamVolume']/property[@cname='volume']" name="hidden">1</attr>
+ <attr path="//method[@cname='gst_audio_filter_class_add_pad_templates']" name="name">AddAudioPadTemplate</attr> <!-- FIXME This should probably be usable -->
+ <attr path="/api/namespace//struct[@cname='GstAudioDownmixMeta']" name="parent">GstMeta</attr>
+ <attr path="/api/namespace//struct[@cname='GstAudioDownmixMeta']/field[@cname='from_position']" name="type">GstAudioChannelPosition*</attr>
+ <attr path="/api/namespace//struct[@cname='GstAudioDownmixMeta']/field[@cname='to_position']" name="type">GstAudioChannelPosition*</attr>
+ <attr path="/api/namespace/boxed/method[@cname='gst_audio_converter_convert']" name="hidden">true</attr>
+ <attr path="/api/namespace/object/method[@cname='gst_audio_ring_buffer_prepare_read']" name="hidden">true</attr>
+ <attr path="/api/namespace/struct[@cname='GstAudioBuffer']/field[@cname='priv_planes_arr']" name="hidden">true</attr>
+ <attr path="/api/namespace/struct[@cname='GstAudioBuffer']/field[@cname='priv_map_infos_arr']" name="hidden">true</attr>
+ <attr path="/api/namespace/struct[@cname='GstAudioMeta']/field[@cname='priv_offsets_arr']" name="hidden">true</attr>
+ <remove-attr path="/api/namespace/boxed/method[@cname='gst_audio_info_set_format']/parameters/parameter[@name='position']" name="array_len"/>
+
+ <!-- FIXME Make GstAudioAggregator working -->
+ <attr path="/api/namespace/object[@cname='GstAudioAggregator']" name="hidden">true</attr>
+ <attr path="/api/namespace/object[@cname='GstAudioAggregatorPad']" name="hidden">true</attr>
+ <attr path="/api/namespace/object[@cname='GstAudioAggregatorConvertPad']" name="hidden">true</attr>
+
+ <!-- Name clashes -->
+ <attr path="//method[@cname='gst_buffer_foreach_meta']" name="hidden">true</attr> <!-- FIXME This should probably be usable -->
+ <attr path="//method[@cname='gst_clock_set_synced']" name="name">is_synced</attr>
+ <attr path="//method[@cname='gst_control_source_get_value']" name="name">GetValueAt</attr>
+ <attr path="//method[@cname='gst_control_source_get_value_array']" name="name">GetValues</attr>
+
+ <attr path="/api/namespace/struct[@cname='GstRTCPBuffer']/field[@cname='map']" name="name">MapInfo</attr>
+ <attr path="/api/namespace/struct[@cname='GstRTPBuffer']/field[@cname='map']" name="name">MapInfo</attr>
+ <!-- Namespace switches -->
+ <attr path="/api/namespace[@name='GstVideo']" name="name">Gst.Video</attr>
+ <attr path="/api/namespace[@name='GstAudio']" name="name">Gst.Audio</attr>
+ <attr path="/api/namespace[@name='GstBase']" name="name">Gst.Base</attr>
+ <attr path="/api/namespace[@name='GstPbutils']" name="name">Gst.PbUtils</attr>
+ <attr path="/api/namespace[@name='GstTag']" name="name">Gst.Tags</attr>
+ <attr path="/api/namespace[@name='GstApp']" name="name">Gst.App</attr>
+ <attr path="/api/namespace[@name='GstController']" name="name">Gst.Controller</attr>
+ <attr path="/api/namespace[@name='GstFft']" name="name">Gst.FFT</attr>
+ <attr path="/api/namespace[@name='GstNet']" name="name">Gst.Net</attr>
+ <attr path="/api/namespace[@name='GstRiff']" name="name">Gst.Riff</attr>
+ <attr path="/api/namespace[@name='GstRtp']" name="name">Gst.Rtp</attr>
+ <attr path="/api/namespace[@name='GstRtsp']" name="name">Gst.Rtsp</attr>
+ <attr path="/api/namespace[@name='GstSdp']" name="name">Gst.Sdp</attr>
+ <attr path="/api/namespace[@name='GstWebRTC']" name="name">Gst.WebRTC</attr>
+
+ <attr path="/api/namespace" name="library">gstreamer-1.0-0.dll</attr>
+ <attr path="/api/namespace[@name='Gst.Base']" name="library">gstbase-1.0-0.dll</attr>
+ <attr path="/api/namespace[@name='Gst.Audio']" name="library">gstaudio-1.0-0.dll</attr>
+ <attr path="/api/namespace[@name='Gst.Video']" name="library">gstvideo-1.0-0.dll</attr>
+ <attr path="/api/namespace[@name='Gst.PbUtils']" name="library">gstpbutils-1.0-0.dll</attr>
+ <attr path="/api/namespace[@name='Gst.Tags']" name="library">gsttag-1.0-0.dll</attr>
+ <attr path="/api/namespace[@name='Gst.App']" name="library">gstapp-1.0-0.dll</attr>
+ <attr path="/api/namespace[@name='Gst.Controller']" name="library">gstcontroller-1.0-0.dll</attr>
+ <attr path="/api/namespace[@name='Gst.FFT']" name="library">gstfft-1.0-0.dll</attr>
+ <attr path="/api/namespace[@name='Gst.Net']" name="library">gstnet-1.0-0.dll</attr>
+ <attr path="/api/namespace[@name='Gst.Riff']" name="library">gstriff-1.0-0.dll</attr>
+ <attr path="/api/namespace[@name='Gst.Rtp']" name="library">gstrtp-1.0-0.dll</attr>
+ <attr path="/api/namespace[@name='Gst.Rtsp']" name="library">gstrtsp-1.0-0.dll</attr>
+ <attr path="/api/namespace[@name='Gst.Sdp']" name="library">gstsdp-1.0-0.dll</attr>
+ <attr path="/api/namespace[@name='Gst.WebRTC']" name="library">gstwebrtc-1.0-0.dll</attr>
+
+ <!-- DoubleRange and Fraction are in Value.cs -->
+ <attr path="//struct[@name='DoubleRange' or @name='Fraction' or @name='IntRange' or @name='FractionRange']" name="hidden">true</attr>
+
+ <!-- AppSink fixes -->
+ <attr path="/api/namespace/object[@cname='GstAppSink']/signal[@cname='pull-sample']" name="hidden">true</attr>
+ <attr path="/api/namespace/object[@cname='GstAppSink']/signal[@cname='pull-preroll']" name="hidden">true</attr>
+
+ <!-- Extract is manually bound -->
+ <attr path="//method[@cname='gst_buffer_extract']" name="hidden">true</attr>
+ <attr path="//method[@cname='gst_buffer_extract_dup']" name="hidden">true</attr>
+
+ <!-- Introspection fails -->
+ <attr path="//object[@cname='GstBufferPool']/field[@cname='flushing']" name="type">gboolean</attr>
+
+ <!-- GWeakRef is unknown at this point.. we can make it a gpointer for now. -->
+ <attr path="//object[@cname='GstProxyControlBinding']/field[@cname='ref_object']" name="type">gpointer</attr>
+ <!-- FIXME Reactivate GstMpegTS when stablized
+ <remove-attr path="//boxed[@cname='GstMpegtsSection']//method//return-type[@type='GPtrArray']" name="array"/>
+ <remove-attr path="//boxed[@cname='GstMpegtsSection']//method//return-type[@type='GPtrArray']" name="null_term_array"/>
+ <remove-attr path="//object[@cname='GstMpegtsGlobal']//method//return-type[@type='GPtrArray']" name="array"/>
+ <remove-attr path="//object[@cname='GstMpegtsGlobal']//method//return-type[@type='GPtrArray']" name="null_term_array"/>
+ <remove-attr path="//boxed[@cname='GstMpegtsDescriptor']//method//parameter[@type='GPtrArray***']" name="array"/>
+ <remove-attr path="//boxed[@cname='GstMpegtsDescriptor']//method//parameter[@type='GPtrArray***']" name="null_term_array"/>
+ -->
+ <attr path="//method[@cname='gst_mini_object_replace']" name="hidden">true</attr>
+ <attr path="//method[@cname='gst_mini_object_take']" name="hidden">true</attr>
+ <attr path="//struct[@cname='GstVideoGLTextureUploadMeta']" name="noequals">true</attr>
+ <attr path="//object[@cname='GstPad']//union" name="hidden">true</attr>
+ <attr path="//struct[@cname='GstControlPoint']" name="hidden">true</attr>
+ <attr path="//boxed[@cname='GstVideoCodecFrame']/union" name="hidden">true</attr>
+ <attr path="//boxed[@cname='GstVideoCodecFrame']/union/field[@cname='padding']" name="type">gpointer</attr>
+ <attr path="//*[@type='const GList*']" name="type">GList*</attr>
+ <attr path="//*[@type='const GSList*']" name="type">GSList*</attr>
+ <attr path="//object/field[@cname='object' and @type='GstObject*']" name="hidden">true</attr>
+ <attr path="//constant[@name='CLOCK_TIME_NONE']" name="ctype">guint64</attr>
+ <attr path="//constant[@name='SECOND']" name="ctype">gint64</attr>
+ <attr path="//constant[@name='MSECOND']" name="ctype">gint64</attr>
+ <attr path="//method[parameters/parameter[contains(@type, 'Class*')]]" name="hidden">true</attr>
+ <attr path="//struct[@cname='GstMapInfo']/field[@name='Data']" name="type">gpointer</attr>
+ <attr path="//struct[@cname='GstMapInfo']/field[@name='Data']" name="array">false</attr>
+ <attr path="//method[@cname='gst_tag_list_copy_value']/parameters/parameter[@name='dest']" name="pass_as">ref</attr>
+ <attr path="//object/field[@cname='parent']" name="hidden">true</attr>
+ <!-- buffer fixes -->
+ <attr path="//constructor[@cname='gst_buffer_new_wrapped']" name="hidden">true</attr>
+ <attr path="//constructor[@cname='gst_buffer_new_wrapped_full']/parameters/parameter[@name='data']" name="type">guint8*</attr>
+ <attr path="//constructor[@cname='gst_memory_new_wrapped']/parameters/parameter[@name='data']" name="type">guint8*</attr>
+ <attr path="//method[@cname='gst_buffer_fill']/parameters/parameter[@name='src']" name="type">guint8*</attr>
+ <attr path="//method[@cname='gst_buffer_fill']/parameters/parameter[@name='size']" name="name">n_length</attr>
+ <attr path="//method[@cname='gst_buffer_memcmp']/parameters/parameter[@name='mem']" name="type">guint8*</attr>
+ <attr path="//method[@cname='gst_buffer_memcmp']/parameters/parameter[@name='size']" name="name">n_length</attr>
+ <!-- array fixes -->
+ <attr path="//method[@cname='gst_rtcp_packet_copy_profile_specific_ext']//parameter[@name='data']" name="type">guint8**</attr>
+ <attr path="//method[@cname='gst_rtcp_packet_copy_profile_specific_ext']//parameter[@name='data']" name="array">false</attr>
+ <attr path="//method[@cname='gst_rtcp_packet_get_profile_specific_ext']//parameter[@name='data']" name="array">false</attr>
+
+ <attr path="//method[@cname='gst_rtp_buffer_new_copy_data']/parameters/parameter[@name='data']" name="type">guint8*</attr>
+ <attr path="//method[@cname='gst_rtp_buffer_new_copy_data']/parameters/parameter[@name='len']" name="name">n_length</attr>
+ <attr path="//method[@cname='gst_rtp_buffer_new_take_data']/parameters/parameter[@name='data']" name="type">guint8*</attr>
+ <attr path="//method[@cname='gst_rtp_buffer_new_take_data']/parameters/parameter[@name='len']" name="name">n_length</attr>
+ <attr path="//method[@cname='gst_rtcp_buffer_new_copy_data']/parameters/parameter[@name='data']" name="type">guint8*</attr>
+ <attr path="//method[@cname='gst_rtcp_buffer_new_copy_data']/parameters/parameter[@name='len']" name="name">n_length</attr>
+ <attr path="//method[@cname='gst_rtcp_buffer_new_take_data']/parameters/parameter[@name='data']" name="type">guint8*</attr>
+ <attr path="//method[@cname='gst_rtcp_buffer_new_take_data']/parameters/parameter[@name='len']" name="name">n_length</attr>
+ <attr path="//method[@cname='gst_rtp_buffer_add_extension_onebyte_header']/parameters/parameter[@name='data']" name="type">guint8*</attr>
+ <attr path="//method[@cname='gst_rtp_buffer_add_extension_onebyte_header']/parameters/parameter[@name='size']" name="name">n_length</attr>
+ <attr path="//method[@cname='gst_rtp_buffer_add_extension_twobytes_header']/parameters/parameter[@name='data']" name="type">guint8*</attr>
+ <attr path="//method[@cname='gst_rtp_buffer_add_extension_twobytes_header']/parameters/parameter[@name='size']" name="name">n_length</attr>
+ <attr path="//constructor[@cname='gst_mikey_message_new_from_data']/parameters/parameter[@name='data']" name="type">guint8*</attr>
+ <attr path="//constructor[@cname='gst_mikey_message_new_from_data']/parameters/parameter[@name='size']" name="name">n_length</attr>
+ <attr path="//method[@cname='gst_audio_reorder_channels']/parameters/parameter[@name='data']" name="type">guint8*</attr>
+ <attr path="//method[@cname='gst_audio_reorder_channels']/parameters/parameter[@name='size']" name="name">n_length</attr>
+ <attr path="//method[@cname='gst_audio_format_fill_silence']/parameters/parameter[@name='dest']" name="type">guint8*</attr>
+ <attr path="//method[@cname='gst_audio_format_fill_silence']/parameters/parameter[@name='length']" name="name">n_length</attr>
+ <attr path="//callback[@cname='GstAudioFormatPack']/parameters/parameter[@name='src']" name="type">guint8*</attr>
+ <attr path="//callback[@cname='GstAudioFormatPack']/parameters/parameter[@name='data']" name="type">guint8*</attr>
+ <attr path="//callback[@cname='GstAudioFormatPack']/parameters/parameter[@name='length']" name="name">n_length</attr>
+ <attr path="//callback[@cname='GstAudioFormatUnpack']/parameters/parameter[@name='data']" name="type">guint8*</attr>
+ <attr path="//callback[@cname='GstAudioFormatUnpack']/parameters/parameter[@name='dest']" name="type">guint8*</attr>
+ <attr path="//callback[@cname='GstAudioFormatUnpack']/parameters/parameter[@name='length']" name="name">n_length</attr>
+ <attr path="/api/namespace/object[@cname='GstObject']/field[@cname='flags']" name="writeable">true</attr>
+ <attr path="/api/namespace/object[@cname='GstAudioRingBuffer']/field[@cname='empty_seg']" name="type">guint8*</attr>
+ <attr path="/api/namespace/struct[@cname='GstMIKEYPayloadKeyData']/field[@cname='key_data']" name="type">guint8*</attr>
+ <attr path="/api/namespace/struct[@cname='GstMIKEYPayloadKeyData']/field[@cname='salt_data']" name="type">guint8*</attr>
+ <attr path="/api/namespace/struct[@cname='GstMIKEYPayloadKeyData']/field[@cname='kv_data']" name="type">guint8*</attr>
+ <attr path="/api/namespace/struct[@cname='GstMIKEYPayloadSPParam']/field[@cname='val']" name="type">guint8*</attr>
+ <attr path="/api/namespace/struct[@cname='GstMIKEYPayloadPKE']/field[@cname='data']" name="type">guint8*</attr>
+ <attr path="/api/namespace/struct[@cname='GstMIKEYPayloadrand']/field[@cname='rand']" name="type">guint8*</attr>
+ <attr path="/api/namespace/struct[@cname='gstmikeypayloadT']/field[@cname='ts_value']" name="type">guint8*</attr>
+ <attr path="/api/namespace/struct[@cname='GstVideoResampler']/field[@cname='phase']" name="type">guint32*</attr>
+ <attr path="/api/namespace/struct[@cname='GstVideoResampler']/field[@cname='n_taps']" name="type">guint32*</attr>
+ <attr path="/api/namespace/struct[@cname='GstVideoResampler']/field[@cname='taps']" name="type">gdouble*</attr>
+
+ <!-- Webrtc fixes -->
+ <attr path="/api/namespace/object[@cname='GstWebRTCDataChannel']/signal[@cname='on-close']" name="hidden">true</attr>
+
+ <!-- No way to correctly generate these without the element type -->
+ <attr path="//boxed[@cname='GstMpegtsDescriptor']//method[parameters/parameter[@type='GArray***']]" name="hidden">true</attr>
+
+ <!-- Hide because it is basically an alias to NetClock -->
+ <attr path="/api/namespace/object[@cname='GstNtpClock']" name="hidden">true</attr>
+
+ <!-- Fixed in 1.4.1 -->
+ <attr path="//callback[@cname='GstPadEventFunction']/parameters/parameter[@name='event']" name="owned">true</attr>
+ <attr path="//callback[@cname='GstPadChainListFunction']/parameters/parameter[@name='list']" name="owned">true</attr>
+ <attr path="//callback[@cname='GstPadChainFunction']/parameters/parameter[@name='buffer']" name="owned">true</attr>
+
+ <!-- FIXME in codegen - gst_codec_utils_opus_parse_caps -->
+ <attr path="/api/namespace/object[@cname='GstPbutilsGlobal']/method[@cname='gst_codec_utils_opus_parse_caps']" name="hidden">true</attr>
+ <attr path="/api/namespace/object[@cname='GstPbutilsGlobal']/method[@cname='gst_codec_utils_opus_parse_header']" name="hidden">true</attr>
+
+ <!-- Mark reserved fields as padding -->
+ <attr path="//*[contains(@cname, 'gst_reserved')]" name="padding">true</attr>
+ <attr path="//*[contains(@cname, 'gst_reserved2')]" name="padding">true</attr>
+ <attr path="//*[contains(@cname, 'gst_reserved')]" name="padding">true</attr>
+ <attr path="//*[contains(@cname, 'gst_reserved_p')]" name="padding">true</attr>
+ <attr path="//*[contains(@cname, 'gst_reserved_i')]" name="padding">true</attr>
+ <attr path="//*[contains(@cname, 'gst_reserved')]" name="padding">true</attr>
+ <attr path="//*[@cname='_padding']" name="padding">true</attr>
+
+ <attr path="/api/namespace/boxed[@cname='GstSDPMessage']" name="opaque">true</attr>
+
+
+ <!-- New APIs in 1.18 that need need some fixing -->
+ <attr path="/api/namespace//method[@cname='gst_rtp_buffer_get_extension_onebyte_header_from_bytes']" name="hidden">true</attr>
+</metadata>
diff --git a/subprojects/gstreamer-sharp/sources/meson.build b/subprojects/gstreamer-sharp/sources/meson.build
new file mode 100644
index 0000000000..c327cedf74
--- /dev/null
+++ b/subprojects/gstreamer-sharp/sources/meson.build
@@ -0,0 +1,62 @@
+raw_api_fname = join_paths(meson.current_source_dir(), meson.project_name() + '-api.raw')
+metadata = files(meson.project_name() + '.metadata')
+
+abi_includes = 'glib.h,gst/gst.h,gst/video/video.h,gst/audio/audio.h,gst/rtsp/rtsp.h,gst/app/app.h,gst/audio/audio.h,gst/base/base.h,gst/controller/controller.h,gst/fft/fft.h,gst/net/net.h,gst/pbutils/gstaudiovisualizer.h,gst/pbutils/pbutils.h,gst/rtp/rtp.h,gst/rtsp/rtsp.h,gst/sdp/sdp.h,gst/tag/tag.h,gst/video/video.h,gst/video/gstvideoaffinetransformationmeta.h,gst/net/gstnetcontrolmessagemeta.h,gst/webrtc/webrtc.h'
+
+sources = [
+ 'custom/Adapter.cs',
+ 'custom/Application.cs',
+ 'custom/AppSink.cs',
+ 'custom/AppSrc.cs',
+ 'custom/AudioFilter.cs',
+ 'custom/Bin.cs',
+ 'custom/Buffer.cs',
+ 'custom/Bus.cs',
+ 'custom/Caps.cs',
+ 'custom/DeviceProvider.cs',
+ 'custom/DynamicSignal.cs',
+ 'custom/Element.cs',
+ 'custom/FFTF32.cs',
+ 'custom/Iterator.cs',
+ 'custom/MapInfo.cs',
+ 'custom/Message.cs',
+ 'custom/MiniObject.cs',
+ 'custom/NavigationAdapter.cs',
+ 'custom/Object.cs',
+ 'custom/Pad.cs',
+ 'custom/Pipeline.cs',
+ 'custom/TagList.cs',
+ 'custom/Value.cs',
+ 'custom/Version.cs',
+ 'custom/VideoGLUploadMeta.cs',
+ 'custom/Global.cs',
+]
+
+subdir('generated')
+
+gst_sharp = shared_library('gstreamer-sharp', gst_generate_files, sources,
+ cs_args: ['-nowarn:169', '-nowarn:108', '-nowarn:114', '-unsafe'],
+ dependencies: [glib_sharp_dep, gio_sharp_dep])
+
+gst_sharp_dep = declare_dependency(dependencies: [glib_sharp_dep, gio_sharp_dep],
+ link_with: gst_sharp)
+
+if add_languages('c', required: get_option('tests')) and csc.get_id() == 'mono'
+ c_abi_exe = executable('gst_sharp_c_abi', c_abi,
+ c_args: ['-DGST_USE_UNSTABLE_API'],
+ dependencies: [gst_deps])
+
+ cs_abi_exe = executable('gst_sharp_cs_abi', cs_abi,
+ cs_args: ['-nowarn:169', '-nowarn:108', '-nowarn:114', '-unsafe'],
+ dependencies: [gst_sharp_dep])
+
+ test('gstreamer_sharp_abi', diff, args: [c_abi_exe.full_path(), cs_abi_exe.full_path()],
+ env: testsenv)
+else
+ message('Not running tests ' + csc.get_id())
+endif
+
+configure_file(
+ input: 'gstreamer-sharp.dll.config',
+ output: 'gstreamer-sharp.dll.config',
+ copy: true)
diff --git a/subprojects/gstreamer-sharp/subprojects/bindinator.wrap b/subprojects/gstreamer-sharp/subprojects/bindinator.wrap
new file mode 100644
index 0000000000..c407526ba8
--- /dev/null
+++ b/subprojects/gstreamer-sharp/subprojects/bindinator.wrap
@@ -0,0 +1,4 @@
+[wrap-git]
+directory=bindinator
+url=https://github.com/GLibSharp/bindinator.git
+revision=master
diff --git a/subprojects/gstreamer-sharp/subprojects/gtk-sharp.wrap b/subprojects/gstreamer-sharp/subprojects/gtk-sharp.wrap
new file mode 100644
index 0000000000..0edce1cfbd
--- /dev/null
+++ b/subprojects/gstreamer-sharp/subprojects/gtk-sharp.wrap
@@ -0,0 +1,4 @@
+[wrap-git]
+directory=gtk-sharp
+url=https://github.com/GLibSharp/GtkSharp.git
+revision=4c85f1479cf2e0dc056c0d288785e5a1d7251cb1
diff --git a/subprojects/gstreamer-sharp/update_sources.py b/subprojects/gstreamer-sharp/update_sources.py
new file mode 100644
index 0000000000..f9fc6f21c3
--- /dev/null
+++ b/subprojects/gstreamer-sharp/update_sources.py
@@ -0,0 +1,47 @@
+#!/usr/bin/env python3
+
+import subprocess
+import os
+import sys
+import shutil
+
+def accept_command(commands):
+ """Search @commands and returns the first found absolute path."""
+ for command in commands:
+ command = shutil.which(command)
+ if command:
+ return command
+
+ return None
+
+if __name__ == "__main__":
+ ninja = accept_command(["ninja", "ninja-build"])
+ buildroot = os.environ["MESON_BUILD_ROOT"]
+
+ bindinate = False
+ if len(sys.argv) > 1 and sys.argv[1] == "bindinate":
+ bindinate = True
+
+ print("Building all code")
+ subprocess.check_call([ninja, "-C", buildroot])
+
+ if 'gstreamer-sharp' in os.environ['MESON_SUBDIR']:
+ subproject_prefix = 'gstreamer-sharp@@'
+ else:
+ subproject_prefix = ''
+
+ if bindinate:
+ print("Bindinate GStreamer")
+ subprocess.check_call([ninja, "-C", buildroot, subproject_prefix + "bindinate_gstreamer"])
+
+ print("Update GStreamer bindings")
+ subprocess.check_call([ninja, "-C", buildroot, subproject_prefix + "update_gstreamer_code"])
+
+ if bindinate:
+ print("Bindinate GES")
+ subprocess.check_call([ninja, "-C", buildroot, subproject_prefix + "bindinate_ges"])
+ print("Update GES bindings")
+ subprocess.check_call([ninja, "-C", buildroot, subproject_prefix + "update_ges_code"])
+
+ print("Building all code")
+ subprocess.check_call([ninja, "-C", buildroot]) \ No newline at end of file